Kaniadtong Lunes, Hulyo 20, ang re2c, usa ka paspas nga lexical analyzer generator, gipagawas.
Panguna nga mga pagbag-o:

  • Gidugang ang suporta sa Go language
    (gi-enable sa --lang go nga opsyon para sa re2c, o isip usa ka bulag nga re2go nga programa).
    Ang dokumentasyon para sa C ug Go gihimo gikan sa parehas nga teksto, apan adunay lahi
    mga pananglitan sa code. Ang code generation subsystem sa re2c bug-os nga gidesinyo pag-usab, nga
    kinahanglan nga mas dali ang pagsuporta sa bag-ong mga pinulongan sa umaabot.

  • Gidugang ang alternatibong sistema sa pagtukod sa CMake (salamat ligfx!
    Ang mga pagsulay sa paghubad sa re2c sa CMake dugay na nga gihimo, apan sa wala pa ligfx walay usa
    naghatag ug kompletong solusyon.
    Ang daan nga sistema sa pagtukod sa Autotools padayon nga gisuportahan ug gigamit,
    ug sa umaabot nga umaabot wala'y plano nga biyaan kini (sa usa ka bahin aron dili makamugna
    mga problema alang sa mga developers sa pag-apod-apod, bahin tungod kay ang daan nga sistema sa pagtukod
    mas lig-on ug mas mubo kaysa sa bag-o).
    Ang duha nga mga sistema padayon nga gisulayan gamit ang Travis CI.

  • Gidugang ang abilidad sa pagtakda sa interface code sa mga pag-configure kung gamiton
    generic nga API. Kaniadto, kadaghanan sa mga API kinahanglan nga itakda sa porma
    mga function o function macros. Karon sila mahimong espesipiko sa porma sa arbitraryo
    mga linya nga adunay gihinganlan nga mga parameter sa template sama sa @@{ngalan} o @@ lang (kung
    adunay usa lamang ka parameter ug walay kalabuan). Ang estilo sa API gipiho sa configuration
    re2c:api:style (ang bili sa mga function nagtino sa usa ka functional nga estilo, ug ang libre nga porma nagtino sa usa ka arbitraryong estilo).

  • Ang operasyon sa -c, --start-conditions nga kapilian gipauswag, nga nagtugot kanimo sa paghiusa sa daghang
    interconnected lexers sa usa ka re2c block. Karon mahimo nimong gamiton
    regular nga mga bloke kauban ang mga kondisyonal ug gipiho ang daghang mga wala’y kalabutan nga mga kondisyon
    mga bloke sa usa ka file.
    Gipauswag nga operasyon sa -r, --reuse nga kapilian (paggamit pag-usab sa code gikan sa usa ka block
    sa ubang mga bloke) inubanan sa -c, --start-conditions ug -f, --storable-state nga mga kapilian
    (usa ka stateful lexer nga mahimong mabalda sa bisan unsang punto
    ug ipadayon ang pagpatay sa ulahi).

  • Giayo ang usa ka bug sa bag-o lang gidugang nga end-of-input algorithm
    (EOF rule), nga sa talagsaong mga kaso mitultol sa sayop nga pagproseso
    nagsapaw-sapaw nga mga lagda.

  • Ang proseso sa bootstrap gipasayon. Kaniadto, ang sistema sa pagtukod misulay sa dinamikong pagpangita na
    usa ka re2c nga pagtukod nga mahimong magamit sa pagtukod pag-usab sa iyang kaugalingon.
    Miresulta kini sa dili husto nga mga dependency (tungod kay ang dependency graph kay
    dinamiko, nga dili gusto sa kadaghanan sa mga sistema sa pagtukod).
    Karon, aron matukod pag-usab ang mga lexer, kinahanglan nimo nga klaro
    i-configure ang sistema sa pagtukod ug itakda ang RE2C_FOR_BUILD variable.

Salamat sa tanan nga miapil sa pag-andam niini nga pagpagawas!

Source: linux.org.ru

Idugang sa usa ka comment