20-р сарын 2-ны даваа гарагт хурдан лексик анализатор үүсгэгч reXNUMXc худалдаанд гарлаа.
Үндсэн өөрчлөлтүүд:

  • Go хэлний дэмжлэг нэмсэн
    (re2c-д зориулсан --lang go сонголтоор эсвэл тусдаа re2go програмаар идэвхжүүлсэн).
    C болон Go-д зориулсан баримт бичгийг ижил текстээс үүсгэсэн боловч өөр
    кодын жишээнүүд. re2c дахь код үүсгэх дэд системийг бүрэн шинэчилсэн бөгөөд энэ нь
    ирээдүйд шинэ хэлийг дэмжихэд хялбар болгох хэрэгтэй.

  • CMake-д зориулсан өөр бүтээх системийг нэмсэн (баярлалаа ligfx!).
    Re2c-г CMake руу орчуулах оролдлого удаан хугацаанд хийгдсэн боловч ligfx-ээс өмнө хэн ч байгаагүй.
    иж бүрэн шийдлийг санал болгосон.
    Хуучин Autotools бүтээх системийг үргэлжлүүлэн дэмжиж, ашигласаар байна.
    мөн ойрын ирээдүйд үүнийг орхих төлөвлөгөө байхгүй (хэсэгчлэн бий болгохгүйн тулд
    түгээлтийн хөгжүүлэгчдэд тулгамдсан асуудал, зарим талаараа хуучин бүтээх системтэй холбоотой
    шинэээс илүү тогтвортой, илүү товч).
    Хоёр системийг Travis CI ашиглан тасралтгүй туршдаг.

  • Ашиглах үед тохиргоонд интерфэйсийн кодыг тохируулах боломжийг нэмсэн
    ерөнхий API. Өмнө нь ихэнх API-г маягт дээр зааж өгөх ёстой байсан
    функц эсвэл функцийн макро. Одоо тэдгээрийг дурын хэлбэрээр зааж өгч болно
    @@{name} эсвэл зүгээр л @@ гэх мэт нэртэй загвар параметр бүхий мөрүүд (хэрэв
    зөвхөн нэг параметр байдаг бөгөөд тодорхой бус байдал байхгүй). API загвар нь тохиргоогоор тодорхойлогддог
    re2c:api:style (функцийн утга нь функциональ хэв маягийг, чөлөөт хэлбэр нь дурын хэв маягийг зааж өгдөг).

  • -c, --start-conditions сонголтын ажиллагааг сайжруулснаар хэд хэдэн зүйлийг нэгтгэх боломжтой болсон.
    нэг re2c блок дахь харилцан уялдаатай lexers. Одоо та ашиглаж болно
    ердийн блокуудыг нөхцөлт блокуудын хамт, хэд хэдэн хамааралгүй нөхцөлүүдийг зааж өгнө
    нэг файл дахь блокууд.
    -r, --reuse сонголтын ажиллагааг сайжруулсан (нэг блокийн кодыг дахин ашиглах
    бусад блокуудад) -c, --эхлэх-нөхцөл ба -f, --хадгалах боломжтой-төрийн сонголтуудтай хослуулан.
    (ямар ч үед тасалдаж болох төлөвтэй лексер
    дараа нь үргэлжлүүлэн гүйцэтгэх).

  • Саяхан нэмсэн оролтын төгсгөлийн алгоритмын алдааг зассан
    (EOF дүрэм) нь ховор тохиолдолд буруу боловсруулалт хийхэд хүргэдэг
    давхцах дүрэм.

  • Ачаалах процессыг хялбаршуулсан. Өмнө нь бүтээх систем нь аль хэдийн динамикаар олох гэж оролдсон
    Өөрийгөө дахин бүтээхэд ашиглаж болох re2c бүтээх.
    Энэ нь буруу хамаарлыг бий болгосон (учир нь хамаарлын график нь
    ихэнх бүтээх системд дургүй байдаг динамик).
    Одоо, lexers-ийг дахин бүтээхийн тулд та тодорхой болгох хэрэгтэй
    бүтээх системийг тохируулж, RE2C_FOR_BUILD хувьсагчийг тохируулна уу.

Энэ хувилбарыг бэлтгэхэд оролцсон бүх хүмүүст баярлалаа!

Эх сурвалж: linux.org.ru

сэтгэгдэл нэмэх