/*
 * $Id$
 */

Vltozsok
----------

Egy bejegyzsnek a kvetkezeket kell tartalmaznia: 
dtum, a programoz neve, verzi (ha van) a vltozs lersa.

Levente Csiszr <lcsiszar@index.hu>, 1998.01.13


1999.11.07, Csiszr Levente, CCCPPC v0.7.06

   - tnevezve CCCPPC-re.

   - Kibocsts teszt clokra.

   - Hozzvettem az OBJECT knyvtrat s az OBJCCC fordtt.

   - Elbukott a p06-os cteszt-en. (Ures zarojeles makrot nem tudott
     helyettesiteni.) Ezt kijavitottam.

   - Elbukik a p22-es cteszt-en. (Pontosvesszo, mint sorfolytato
     karakter.) Ezt egyenlore nem tudtam megtalalni, ugy maradt.

1999.09.30, Csiszr Levente

   - Elkszlt a C++ vltozat els btja. Ez a vltozat lezrva,
     tovbbi mdosts csak mkdst gtl (pl. elszlls) hiba
     esetn lehetsges.

1999.09.28, Csiszr Levente, v0.7.05

   - Az stdout-ot nem kell lezrni.

1999.09.25, Csiszr Levente, v0.7.04

   - Vgtelen ciklusba kerlt az ilyen esetekben: 

        #xtranslate a [[b]] => bb

        a

     Mivel az 'a' sor esetn a '[[b]]'-ben a b nem illeszkedik,
     ezrt a bels alternatvt mindig jra prblta.

1999.09.21, Csiszr Levente, v0.7.03

   - Az eqNextToken elszllt, ha valamelyik nextToken nil volt.

     Pl. #xtranslate a <a> => a

1999.06.16, Csiszr Levente, v0.7.02

   - Elemzsi hiba volt az xtranslate parancsokban. He egy norml
     token sor kt alternatva kz esett, akkor azt trlte.
     
   - A '#' parancsokra ugyangy a rvidtett nv egyezs rvnyes,
     mint az command-okra. (Teht #define helyett elfogadja a 
     '#defi'-t, etc.)
     
   - HPRERR_XTRUNDEFRM hibajelzsben a szveg javtva, a hinyolt
     match marker-t kirja.
     
   - CCC-ben 192 paramter vesz t.
     
1999.06.10, Csiszr Levente, v0.7.01

   - Optimalizcik: a define vagy az xtranslate elemzt csak akkor 
     hvja, ha tnylegesen van mit elemeznik.
     
   - A tbb elem alternatvk kezels rossz volt.
   
   - A hparser-ben az llapotok szmok, nem stringek.
   
   - A TKID_XXX-ek szmok s nem stringek.
   
1999.06.09, Csiszr Levente, v0.7.00

   - Az elemzst a translate/command fval vgzi.
     A -t kapcsolval szablyozhat, hogy melyik mdszert 
     hasznlja.
   
1999.06.07, Csiszr Levente, v0.6.05

   - A tokenekben trolja, hogy rvidtve (#translate vagy 
     #xtranslate) kell-e illeszteni egy  #translate/#command bal 
     oldaln.
     
   - j 'rvidtett illeszts' kd.
   
   - A stringeket case insensitven kell illeszteni, s rjuk is 
     rvnyes a rvdtett illesztsi szably.
     
   - Felpti a translate/command ft, de egyenlre nem hasznlja fel
     az elemzskor.
     
1999.06.03, Csiszr Levente, v0.6.04

   - Tbb user include filt is elfogad.
   
1999.05.31, Csiszr Levente, v0.6.03

   - A user include filbl '#include file' sort gyrt s 
     feldolgozza. gy a -I-kztt is keresi s makrk feldolgozsval
     is ssze van vonva.
     
1999.05.29, Csiszr Levente, v0.6.02

   - '-l' helyett '-p' volt az include mlysg kapcsol a 
     paramterek feldolgozsnl.
   
   - Help szveg javtsok.
   
   - A getopt() rossz volt, ha egy '-'-os opci paramteresnek volt
     definilva, de nem adtunk meg paramtert.
     
1999.05.28, Csiszr Levente, v0.6.01

   - Include mlysg maximalizlsa.

   - Hibra belltja az errorlevel()-t.
   
   - Ha az elfeldolgozs sorn hiba volt (-D,-u), akkor megll.
   
   - Mieltt megnyitn az output filt, ellenrzi, hogy az input
     ltezik-e.

   - A default hibakijelz megrti a $<szm>-ot a hibastringben.
   
   - Sztrak kirsa elemenknt trtnik.

   Kell mg:
      
      - A teszt krnyezetben minden rdekes esetre teszt program.
      - Tesztels.
      - Gyorsts.
      
1999.05.27, Csiszr Levente, v0.6.00

   - Parancssori makr megadsi lehetsg.
   
   - #command,#translate,#xcommand,#xtranslate
   
   - Az res sorokat gy kezeli, ahogy kell.
   
   - A #line ott van, ahol kell.
   
   - #error, #stdout.

   - Kell mg:
      
      - Include mlysg maximalizlsa.
      - Sztrak kirsa elemenknt trtnjen.
      - Hibra lltsa be az errorlevel()-t.
      - Nagyobb hibkra lljon meg.
      - A default hibakijelz rtse meg a $<szm>-ot a hiba
        stringben, s helyettestse be a megfelel paramterrel.
      - A teszt krnyezetben minden rdekes esetre teszt program.
      - Tesztels
      - Gyorsts.
      
      
1999.05.26, Csiszr Levente, v0.5.00

   - Hibakijelzs OK.
     Mj.: Ha nem tallja a filt, akkor tl sok hibajelzst ad.
     
   - Kompatibilis helyettestsi md.
   
   - #xcommand-ok kis hibval: Csak sor elejn kezdi el 
     helyettesteni, de azt nem nzi, hogy a teljes sort 
     helyettestette-e.
   
   - #define-nl a jobb oldal vgrl a space-kat levgja.
   
   - A kifejezs teszt program tkerlt a cccppalx-be.
   
   - Rendkvl lass (3m.157s a konyvel.prg lefordtsa).
   
   - Kell:
      - les adatokon tesztelni.
      - Gyorstani.
      - #line eltt/utn az res sorokat trlni.
      
1999.05.24, Csiszr Levente, v0.4.03

   - Helyettestsek.
   
   - #endif-re nem kell hibajelzs.
   
1999.05.24, Csiszr Levente, v0.4.02

   - errorStream-es hibakezels.
   
   - Srgsen kell:
   
      - Helyettestsek. (A string hatrolk is!)
      
      - Hiba kijelzs:
         - Hinyz #endif
         - Hibk az #xtranslate-ekben.
         
      - Parancssori makr defincik.
      
   - Kell mg:
   
      - Az include mlysg maximalizlsa.
      
      - Rszletesebb hibazenetek.
      
      - Kapcsol, hogy csak unixos filneveket fogadjon el.
      
      - Space-ek a /* */ eltt.
      
      - res sorok lenyelse.
      
1999.05.21, Csiszr Levente, v0.4.01

   - Minden match s minden result marker. (Nincs tesztelve.)
   
   - '\' kezelse.
   
   - Parancssorban meg lehet include filt adni.
     Mj.: Tesztelni kell, mi van, ha ez az include file kdot
          generl.
          
   - Az xcommand, translate, command ideiglenesen xtranslate-knt
     van kezelve.

1999.05.19, Csiszr Levente, v0.4.00

   - #line, #include, parancssori paramterezs.
   
   - Hinyzik:
              
      - '\' kezelse a xtranslate definicikban.
      
      - #line eltt utn az res sorok lenyelse.
      
      - #if ne nyljon tl a filn. (Ezt tesztelni kell!)
      
      - A '-' input fil a standard input legyen az FREADER-ben.

      - Parancssorban meg lehessen adni olyan include filt, amit 
        beolvas (std.ch).
      
      - Parancssorban meg lehessen #define makr defincit.
      
      - Az xtranslate algoritmusa jobban hasonltson a spec-hez.
      
        Mj.: A spec elrl megy htrafel, de nem tudni, hogyan lp 
             vissza. A jelenlegi algoritmusunk htulrl jn elre.
             
      - Helyettestsek kezelse (kapcsolval szablyozhat legyen),
        nagybetstsek, string hatrolk, lezratlan stringek
        helyes kezelse.
        
         Pl: '**' -> '^',  '.t.' ->'.T.', 'a' -> "a" etc.
         
      - Kapcsolval szablyozhat legyen, hogy a /* */ megjegyzs ell
        lenyelje-e a space-kat. Illetve, hagyjon-e egy space-t. 
        
        a /* huhu */b  -> ab
        
        A fenti pldban a fordt az ab azonostt fogja keresni, 
        holott a spec-ben ez lefordul.
        
      - Rossz xtranslate defincik kijelzse:
         - hinyz ']'
         - ktrtelm helyettests.
         - Hinyz vagy dupln definilt marker nevek.
         
      - Hibafolyam nincs kln.
      
      - xtranslate prjai. (xcommand, etc)
      
      - space-ek belvse.
      
      - A tbbi match marker.
      
   
1999.05.18, Csiszr Levente, v0.3.01

   - #ifdef,#ifndef,#else,#endif
   
1999.05.15, Csiszr Levente, v0.3.00

   - j regular match marker illeszt kd elemz fkkal.
   
   - Tokenizls.
   
   - '&&' megjegyzs.
   
   Hinyzik:
      
      - Tesztelni a klnbz spec eseteket:
        - A tokeneket case szenzitven illeszti-e az xtranslate.
        - A stringeket hogyan illeszti.
        - Ha az alternatvk nem egyeznek meg a jobb s a bal 
          oldalon (bal oldalon alternatva, a jobb oldalon nem),
          vagy nincs elegend szm alternatva:
          
          #xtranslate HUHU [<a>] => f(<a>)
          #xtranslate HUHU <a>   => f([<a>])
          
          #xtranslate HUHU [a <a>] [b <b>]   => f([<a>,<b>,])
             HUHU a 1
             HUHU b 2
             HUHU a 1 b 1
             HUHU a 1 a 1 b 1
             HUHU a 1 b 1 b 1
             HUHU a 1 a 1
             HUHU b 1 b 1
             
          Mj.: Ilyenkor ha egytaln volt illeszts, akkor az 
               utolst behelyettesti.
          
        
      - Helyettestsek kezelse (kapcsolval szablyozhat legyen),
        nagybetstsek, string hatrolk, lezratlan stringek
        helyes kezelse.
        
         Pl: '**' -> '^',  '.t.' ->'.T.', 'a' -> "a" etc.
         
      - Kapcsolval szablyozhat legyen, hogy a /* */ megjegyzs ell
        lenyelje-e a space-kat. Illetve, hagyjon-e egy space-t. 
        
        a /* huhu */b  -> ab
        
        A fenti pldban a fordt az ab azonostt fogja keresni, 
        holott a spec-ben ez lefordul.
        
      - Rossz xtranslate defincik kijelzse:
         - hinyz ']'
         - ktrtelm helyettests.
         - Hinyz vagy dupln definilt marker nevek.
         
      - Hibafolyam nincs kln.
      
      - xtranslate prjai.
      
      - space-ek belvse.
      
      - A tbbi match marker.
      
      - A #ifdef, s a #include, #line
      
      - Elemi gyorstsok: 
         - A kommenteket nem kell trolni.
         - A classify-oknak szmoknak kellene lennie, hogy az elemz
           fknl ne kelljen keresni, hanem a szmmal lehessen 
           indexelni.
         - A kifejezshatr elemzsnl minden tokenre tbbszr is
           indt elemz ft, ezt optimalizlni lehet, gy, hogy
           kiszmoljuk, honnan fog indulni.
           

1999.05.05, Csiszr Levente, v0.2.04

   - Alternatvkat illeszt.
   
   - List s regular match markereket illeszt, minden markert
     helyettest, de a space-k egyenlre mg nem helyesek.
     
   - A sorvgjeleket kezeli crlf s lf-es formban is.
   
   Hinyzik:
   
      - Rossz xtranslate defincik kijelzse:
         - hinyz ']'
         - ktrtelm helyettests.
         
      - Hibafolyam nincs kln.
      
      - Nincs tokenizls (pedig gy kell illeszteni)
      
      - xtranslate prjai.
      
      - space-ek belvse.
      
      - A tbbi match marker.
      
      - A #ifdef, s a #include, #line
      
      
1999.04.26, Csiszr Levente, v0.2.03

   - Az xtranslate parancsokban elvgzi a helyettestst, ha nincs 
     benne marker (egyik oldalon sem) s nincs benne alternatva
     (egyik oldalon sem).
     
   - Hinyzik: 
        - markerek illesztse, helyettestse.
 
        - Alternatvk illesztse, helyettestse.
   
        - xtranslate parancs elemzsnl jelezni kell, ha van
          hinyz ']'
          
        - xtranslate parancs elemzsnl jelezni kell, ha 
          tbbrtelm a parancs.
          
        - Hibakezels (a token stream-be betett hiba tokenek
          kln kezelse s kirsa).
          Mj.: Ezeknek a tokeneknek kln stream-et kellene
               rendszeresteni, hogy biztosan ne vesszenek
               el.
          
   
1999.04.24, Csiszr Levente, v0.2.02

   - Kd teljesen trva objektumosra.
   
   - A define teljesen ksz.
   
   - Az xtranslate parancsokat beolvassa, de a helyettestst nem 
     vgzi el.
     
   - include, ifdef, undef, hibakezels hinyzik.
   
1999.02.07, Csiszr Levente, v0.2.01

   - wmkgen 1.2.03

1998.09.08, Csiszr Levente, v0.2.00

   - Els kibocss: #ifdef,#ifndef,#define,#undef,#include
     makrparancsok.
     sszesen 4 nap alatt kszlt: 
     1998.09.01, 1998.09.04, 1998.09.07, 1998.09.08.

1998.09.01, Csiszr Levente, v0.1.00

   - Indul vltozat.

