re2c 2.0

Op Maandag 20 Julie is re2c, 'n vinnige leksikale ontledergenerator, vrygestel.
Belangrikste veranderinge:

  • Bygevoeg Go-taalondersteuning
    (geaktiveer óf deur die --lang go opsie vir re2c, óf as 'n aparte re2go program).
    Dokumentasie vir C en Go word uit dieselfde teks gegenereer, maar met verskillende
    kode voorbeelde. Die kodegenerering-substelsel in re2c is heeltemal herontwerp, wat
    behoort dit makliker te maak om nuwe tale in die toekoms te ondersteun.

  • Bygevoeg alternatiewe boustelsel op CMake (dankie ligfx).
    Pogings om re2c na CMake te vertaal word al lank gedoen, maar voor ligfx is niemand
    'n volledige oplossing gebied.
    Die ou boustelsel op Autotools word steeds ondersteun en gebruik,
    en in die afsienbare toekoms is daar geen planne om dit te laat vaar nie (deels om nie te skep nie
    probleme vir verspreidingsontwikkelaars, deels omdat die ou boustelsel
    meer stabiel en bondiger as die nuwe een).
    Beide stelsels word deurlopend getoets met Travis CI.

  • Die vermoë bygevoeg om koppelvlakkode in konfigurasies in te stel wanneer dit gebruik word
    generiese API. Voorheen moes die meeste API's in die vorm gespesifiseer word
    funksies of funksiemakro's. Nou kan hulle gespesifiseer word in die vorm van arbitrêre
    lyne met benoemde sjabloonparameters soos @@{name} of net @@ (indien
    daar is net een parameter en daar is geen onduidelikheid nie). Die API-styl word deur die konfigurasie gespesifiseer
    re2c:api:styl (die funksieswaarde spesifiseer 'n funksionele styl, en vrye vorm spesifiseer 'n arbitrêre styl).

  • Die werking van die -c, --start-conditions opsie is verbeter, sodat jy verskeie kan kombineer
    onderling gekoppelde lexers in een re2c-blok. Nou kan jy gebruik
    gereelde blokke saam met voorwaardelike blokke en spesifiseer verskeie onverwante voorwaardelikes
    blokke in een lêer.
    Verbeterde werking van die -r, --reuse opsie (hergebruik van kode uit een blok
    in ander blokke) in kombinasie met die -c, --begin-voorwaardes en -f, --stoorbare toestand opsies
    ('n statige lexer wat op enige stadium onderbreek kan word
    en gaan later voort met uitvoering).

  • Het 'n fout reggestel in die einde-van-invoer-algoritme wat onlangs bygevoeg is
    (EOF-reël), wat in seldsame gevalle tot verkeerde verwerking gelei het
    oorvleuelende reëls.

  • Die selflaaiproses is vereenvoudig. Voorheen het die boustelsel probeer om reeds dinamies te vind
    'n re2c-gebou wat gebruik kan word om homself te herbou.
    Dit het gelei tot verkeerde afhanklikhede (aangesien die afhanklikheidsgrafiek was
    dinamiese, waarvan die meeste boustelsels nie hou nie).
    Nou, om lexers te herbou, moet jy uitdruklik
    konfigureer die boustelsel en stel die RE2C_FOR_BUILD veranderlike.

Dankie aan almal wat deelgeneem het aan die voorbereiding van hierdie vrystelling!

Bron: linux.org.ru

Voeg 'n opmerking