re2c 2.0

Lendi 20 jiyè a, re2c, yon jeneratè analizeur leksikal rapid, te lage.
Chanjman prensipal yo:

  • Te ajoute sipò lang Go
    (pèmèt swa pa opsyon --lang go pou re2c, oswa kòm yon pwogram re2go separe).
    Dokimantasyon pou C and Go pwodwi apati tèks la menm, men ak diferan
    egzanp kòd. Sou-sistèm jenerasyon kòd nan re2c te konplètman reamenaje, ki
    ta dwe fè li pi fasil sipòte nouvo lang nan lavni.

  • Te ajoute yon sistèm konstriksyon altènatif pou CMake (mèsi ligfx!).
    Eseye pou tradui re2c nan CMake yo te fè pou yon tan long, men anvan ligfx pa gen moun.
    ofri yon solisyon konplè.
    Ansyen sistèm bati sou Autotools ap kontinye sipòte ak itilize,
    ak nan fiti prévisible pa gen okenn plan yo abandone li (an pati pou yo pa kreye
    pwoblèm pou devlopè distribisyon, an pati paske ansyen sistèm nan bati
    pi estab ak pi kout pase nouvo a).
    Tou de sistèm yo kontinyèlman teste lè l sèvi avèk Travis CI.

  • Te ajoute kapasite nan mete kòd koòdone nan konfigirasyon lè w ap itilize
    jenerik API. Anvan sa, pifò API yo te dwe espesifye nan fòm lan
    fonksyon oswa makro fonksyon. Koulye a, yo ka espesifye nan fòm lan nan abitrè
    liy ak paramèt modèl yo rele tankou @@{non} oswa jis @@ (si
    gen yon sèl paramèt epi pa gen okenn anbigwite). Style API a espesifye pa konfigirasyon an
    re2c:api:style (valè fonksyon yo espesifye yon style fonksyonèl, ak fòm gratis espesifye yon style abitrè).

  • Operasyon an nan opsyon -c, --start-conditions yo te amelyore, ki pèmèt ou konbine plizyè
    leksè entèkonekte nan yon sèl blòk re2c. Koulye a, ou ka itilize
    blòk regilye ansanm ak kondisyonèl yo epi presize plizyè kondisyonèl ki pa gen rapò
    blòk nan yon sèl dosye.
    Amelyore operasyon opsyon -r, --reuse (reitilizasyon kòd ki soti nan yon blòk
    nan lòt blòk) an konbinezon ak -c, --start-conditions ak -f, --storable-state opsyon
    (yon lexer eta ki ka entèwonp nan nenpòt ki pwen
    epi kontinye egzekisyon pita).

  • Fikse yon ensèk nan algorithm nan fen-of-input ki fèk ajoute
    (règ EOF), ki nan ka ki ra mennen nan pwosesis kòrèk
    règ sipèpoze.

  • Pwosesis bootstrap la te senplifye. Précédemment, sistèm nan bati te eseye dinamik jwenn deja
    yon re2c bati ki ta ka itilize pou rebati tèt li.
    Sa a te lakòz depandans kòrèk (depi graf depandans la te
    dinamik, ki pi fò sistèm bati pa renmen).
    Koulye a, pou rebati lexers, ou bezwen klèman
    konfigirasyon sistèm konstriksyon an epi mete varyab RE2C_FOR_BUILD la.

Mèsi ak tout moun ki te patisipe nan preparasyon pou lage sa a!

Sous: linux.org.ru

Add nouvo kòmantè