re2c 2.0

MĂ« 20 korrik, nĂ« tĂ« hĂ«nĂ«, doli versioni re2c – gjeneratori i analizatorĂ«ve leksik shumĂ« tĂ« shpejtĂ«.
Ndryshimet kryesore:

  • Shtohet mbĂ«shtetje pĂ«r gjuhĂ«n Go
    (ndĂ«rrohet me opsionin —lang go pĂ«r re2c, ose si njĂ« program tĂ« veçantĂ« re2go).
    Dokumentacioni për C dhe Go gjenerohet nga i njëjti tekst, por me shembuj të ndryshëm
    tĂ« kodit. ËshtĂ« rishikuar plotĂ«sisht nĂ«n-sistemi i gjenerimit tĂ« kodit nĂ« re2c, e cila
    duhet të lehtësojë mbështetje për gjuhë të re në të ardhmen.

  • Shtohet njĂ« sistem alternativ ndĂ«rtimi nĂ« CMake (faleminderit ligfx!).


    Përpjekje për të përkthyer re2c në CMake janë bërë prej kohësh, por deri te ligfx askush nuk ka
    propozuar një zgjidhje të plotë.
    Sistemi i vjetër i ndërtimit në Autotools vazhdon të mbështetet dhe të përdoret,
    dhe në të ardhmen e afërt nuk ka plane për t'u tërhequr (pjesërisht për të mos krijuar
    probleme për zhvilluesit e shpërndarjeve, pjesërisht sepse sistemi i vjetër i ndërtimit
    është më stabil dhe më konciz se i ri).
    Të dy sistemet testohen vazhdimisht me ndihmën e Travis CI.
  • Shtohet mundĂ«sia pĂ«r tĂ« specifikuar kodin ndĂ«rfaqĂ«sor nĂ« konfigurime kur pĂ«rdoren
    API të përgjithshme (generic API). Më parë shumica e API-ve duhej të definoheshin në formë
    funksione ose makro funksionesh. Tani ato mund të vendosen në formën e vargjeve të rastit me parametrat e emëruar të shablonit të tipit @@{name} ose thjesht @@ (nëse
    parametri është një dhe nuk ka dykuptimësi). Stili i API-së përcaktohet nga konfigurimi
    re2c:api:style (vlera funksione pĂ«rcakton stilin funksional, ndĂ«rsa free-form – formĂ«n e rastit).
    Punimi i opsionit -c, —start-conditions Ă«shtĂ« pĂ«rmirĂ«suar, duke lejuar bashkimin e disa

  • lexerĂ«ve tĂ« lidhur nĂ« njĂ« bllok re2c. Tani Ă«shtĂ« e mundur tĂ« pĂ«rdoren
    blloqet e zakonshme përveç atyre kushtore dhe të përcaktohen disa blloqe kushtore të pa lidhura
    në një skedar.
    Funksionaliteti i opsionit -r, —reuse (ripĂ«rdorimi i kodit nga njĂ« bllok
    nĂ« blloqe tĂ« tjera) Ă«shtĂ« pĂ«rmirĂ«suar nĂ« kombinim me opsionet -c, —start-conditions dhe -f, —storable-state
    (lexer me gjendje të ruajtur, i cili mund të ndërpritet në çdo vend
    dhe të vazhdojë më vonë).
    ËshtĂ« korrigjuar njĂ« gabim nĂ« algoritmin e ri tĂ« pĂ«rpunimit tĂ« fundit tĂ« tĂ« dhĂ«nave

  • (EOF rule), i cili nĂ« raste tĂ« rralla çonte nĂ« pĂ«rpunimin e gabuar
    të rregullave që përputhen.
    Procesi i bootstrapping është thjeshtuar. Më parë, sistemi i ndërtimit përpiqej të gjente dinamikisht

  • Procesi i bootstrap-it Ă«shtĂ« simplifikuar. MĂ« parĂ«, sistemi i ndĂ«rtimit pĂ«rpiqej tĂ« gjente dinamikisht atĂ« qĂ« ishte tashmĂ«
    re2c e ndërtuar, i cili mund të përdoret për të riëndërtuar veten.
    Kjo çonte në varësi të gabuar (pasi grafiku i varësive rezultonte
    dinamik, që shumica e sistemeve të ndërtimit nuk e pëlqejnë).
    Tani, për të riparuar leksierët, kërkohet qartazi
    konfigurimi i sistemit të ndërtimit dhe caktimi i variables RE2C_FOR_BUILD.

Faleminderit të gjithëve që morën pjesë në përgatitjen e këtij lançimi!

Burimi: linux.org.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster