Hnub Monday, Lub Xya Hli 20, re2c, lub tshuab hluav taws xob ceev lexical analyzer tau tso tawm.
Cov kev hloov loj:

  • Ntxiv Go lus txhawb nqa
    (enabled los ntawm --lang mus xaiv rau re2c, lossis raws li ib qho kev cais re2go).
    Cov ntaub ntawv rau C thiab Mus yog tsim los ntawm tib cov ntawv nyeem, tab sis nrog txawv
    code piv txwv. Tus lej cim subsystem hauv re2c tau raug kho dua tshiab, uas
    yuav tsum ua kom yooj yim los txhawb cov lus tshiab yav tom ntej.

  • Ntxiv lwm qhov kev tsim kho rau CMake (ua tsaug ligfx!).
    Kev sim txhais re2c rau CMake tau ua ntev, tab sis ua ntej ligfx tsis muaj leej twg
    muab kev daws teeb meem tiav.
    Lub qub tsim system ntawm Autotools tseem tau txais kev txhawb nqa thiab siv,
    thiab nyob rau hauv lub neej yav tom ntej yuav tsis muaj kev npaj yuav tso tseg (ib feem thiaj li tsis tsim
    teeb meem rau cov neeg tsim khoom faib khoom, ib feem yog vim qhov qub tsim
    ruaj khov thiab ntau dua qhov tseeb dua qhov tshiab).
    Ob lub tshuab tau sim txuas ntxiv siv Travis CI.

  • Ntxiv lub peev xwm los teeb tsa interface code hauv configurations thaum siv
    API generic. Yav dhau los, feem ntau APIs yuav tsum tau teev nyob rau hauv daim ntawv
    ua haujlwm lossis ua haujlwm macro. Tam sim no lawv tuaj yeem teev nyob rau hauv daim ntawv ntawm arbitrary
    kab nrog lub npe template tsis xws li @@{name} lossis @@ (yog
    muaj tsuas yog ib qho parameter thiab tsis muaj qhov tsis meej). API style yog teev los ntawm kev teeb tsa
    re2c:api:style (tus nqi ua haujlwm qhia txog kev ua haujlwm zoo, thiab daim ntawv pub dawb qhia txog qhov tsis txaus ntseeg).

  • Kev ua haujlwm ntawm -c, --start-conditions xaiv tau raug txhim kho, tso cai rau koj los ua ke ob peb
    interconnected lexers nyob rau hauv ib tug re2c thaiv. Tam sim no koj tuaj yeem siv
    cov blocks tsis tu ncua nrog rau cov xwm txheej thiab qhia ntau yam tsis cuam tshuam nrog cov xwm txheej
    blocks hauv ib cov ntaub ntawv.
    Txhim kho kev ua haujlwm ntawm -r, --reuse kev xaiv (rov siv cov lej los ntawm ib qho thaiv
    hauv lwm cov blocks) ua ke nrog -c, --start-conditions thiab -f, --storable-state xaiv
    (ib lub xeev lexer uas tuaj yeem cuam tshuam rau txhua lub sijhawm
    thiab txuas ntxiv ua tiav tom qab).

  • Txhim kho kab laum nyob rau hauv qhov tsis ntev los no ntxiv qhov kawg ntawm cov tswv yim algorithm
    (EOF txoj cai), uas muaj tsawg zaus ua rau kev ua tsis raug
    kev cai sib tshooj.

  • Cov txheej txheem bootstrap tau yooj yim. Yav dhau los, lub kaw lus tsim sim dynamically nrhiav tau
    ib tug re2c tsim uas yuav siv tau los kho nws tus kheej.
    Qhov no ua rau muaj kev cuam tshuam tsis raug (vim qhov kev vam khom tau yog
    dynamic, uas feem ntau tsim tshuab tsis nyiam).
    Tam sim no, txhawm rau txhim kho lexers, koj yuav tsum tau qhia meej
    teeb tsa lub kaw lus tsim thiab teeb tsa RE2C_FOR_BUILD sib txawv.

Ua tsaug rau txhua tus neeg uas tau koom nrog kev npaj ntawm qhov kev tso tawm no!

Tau qhov twg los: linux.org.ru ua

Ntxiv ib saib