د جمعې په ورځ، د اګست په 2، د re2c خوشې کول، د C او C++ ژبو لپاره د لیکسي تحلیل کونکو وړیا جنراتور، خپور شو. Re2c په 1993 کې د پیټر بامبولیس لخوا د خورا ګړندي لیکسي تحلیل کونکو تجربوي جنراتور په توګه لیکل شوی و ، د تولید شوي کوډ سرعت او د غیر معمولي انعطاف وړ کارونکي انٹرفیس له مخې له نورو جنراتورونو څخه توپیر شوی چې تحلیل کونکو ته اجازه ورکوي په اسانۍ او مؤثره توګه په موجوده کوډ بیس کې ځای په ځای شي. له هغه وخت راهیسې، پروژه د ټولنې لخوا رامینځته شوې او د رسمي ګرامرونو او محدودو دولتي ماشینونو په برخه کې د تجربو او څیړنو لپاره د پلیټ فارم په توګه دوام لري.

په 1.2 نسخه کې اصلي نوښتونه:

  • د ان پټ ډیټا پای ته رسیدو لپاره یوه نوې (ساده) لاره اضافه کړه
    (انګلیسي "EOF قاعده").
    د دې لپاره، د re2c:eof ترتیب اضافه شوی،
    تاسو ته اجازه درکوي ترمینل کرکټر غوره کړئ،
    او یو ځانګړی $ قاعده چې د لیکونکي په صورت کې ډزې کوي
    په بریالیتوب سره د ان پټ ډاټا پای ته ورسید.
    په تاریخي توګه، re2c د تصدیق کولو ډیری میتودونو انتخاب وړاندې کوي
    د معلوماتو پای په محدودیت، موثریت او سادگي کې توپیر لري
    غوښتنلیکونه نوی میتود د لیکلو کوډ ساده کولو لپاره ډیزاین شوی، پداسې حال کې چې
    پداسې حال کې چې پاتې اغیزمن او په پراخه کچه د تطبیق وړ وي. زړې لارې
    اوس هم کار کوي او ممکن په ځینو مواردو کې غوره شي.

  • د لارښود په کارولو سره د بهرني فایلونو شاملولو وړتیا اضافه کړه
    /*!شامل:re2c "file.re" */ where file.re
    دا د شامل فایل نوم دی. Re2c د فایل لارښود په شمول د فایلونو لټون کوي،
    همدارنګه د -I اختیار په کارولو سره مشخص شوي لارو لیست کې.
    شامل شوي فایلونه ممکن نور فایلونه شامل کړي.
    Re2c په شامل / لارښود کې "معیاري" فایلونه چمتو کوي
    پروژه - تمه کیږي چې ګټور تعریفونه به هلته راټول شي
    منظم څرګندونې، د معیاري کتابتون په څیر یو څه.
    تر دې دمه ، د کارمندانو په غوښتنه ، د یونیکوډ کټګوریو تعریفونو سره یو فایل اضافه شوی.

  • په خپل سري سره د سرلیک فایلونو رامینځته کولو وړتیا اضافه کړه
    منځپانګه د -t --type-header انتخابونو په کارولو سره (یا مناسب
    تشکیلات) او نوي لارښوونې /*!header:re2c:on*/ او
    /*!header:re2c:off*/. دا ممکن په هغو قضیو کې ګټور وي چیرې چې
    کله چې re2c د متغیرونو، جوړښتونو او میکرو تعریفونو تولید ته اړتیا لري،
    د ژباړې په نورو واحدونو کې کارول کیږي.

  • Re2c اوس په منظم بیانونو کې د UTF8 لغوي او کرکټر ټولګي پوهیږي.
    د ډیفالټ په توګه، re2c د "∀x ∃y" په څیر څرګندونې پارس کوي.
    د 1-bit ASCII حروفونو ترتیب e2 88 80 78 20 e2 88 83 79
    (هیکس کوډونه)، او کاروونکي باید په لاسي ډول د یونیکوډ کرکټرونو څخه وتښتي:
    "u2200x u2203y". دا د ډیری لپاره خورا ناشونی او غیر متوقع دی
    کارونکي (لکه څنګه چې د دوامداره بګ راپورونو لخوا ثبوت شوي). نو اوس
    re2c د --input-encoding اختیار چمتو کوي ,
    کوم چې تاسو ته اجازه درکوي چلند بدل کړئ او د "∀x ∃y" په توګه تحلیل کړئ
    2200 78 20 2203 79.

  • Re2c اوس په -r --reuse حالت کې د منظم re2c بلاکونو کارولو ته اجازه ورکوي.
    دا مناسب دی که چیرې د ننوتلو فایل ډیری بلاکونه ولري او یوازې ځینې یې
    بیا کارولو ته اړتیا لري.

  • اوس تاسو کولی شئ د اخطارونو او خطا پیغامونو بڼه ترتیب کړئ
    د نوي --location-format اختیار په کارولو سره . د GNU بڼه ښودل کیږي
    د فایل نوم په توګه: کرښه: کالم:، او د MSVC بڼه د فایل نوم (لین، کالم).
    دا فیچر ممکن د IDE مینه والو لپاره ګټور وي.
    A --verbose اختیار هم اضافه شوی، کوم چې د بریالیتوب په صورت کې د بریالیتوب لنډ پیغام چاپوي.

  • د انعطاف سره د "مطابقت" حالت ښه شوی - ځینې تحلیلي غلطۍ سمې شوې او
    په نادره قضیو کې د غلط چلونکي لومړیتوب.
    په تاریخي توګه، د -F --flex-support اختیار تاسو ته اجازه درکوي کوډ ولیکئ
    په فلیکس سټایل او re2c سټایل کې مخلوط شوی ، کوم چې پارس کول یو څه ستونزمن کوي.
    د فلیکس مطابقت حالت په ندرت سره په نوي کوډ کې کارول کیږي ،
    مګر re2c د شاته مطابقت لپاره د دې ملاتړ ته دوام ورکوي.

  • د کرکټر ټولګي فرعي آپریټر / اوس پلي کیږي
    د کوډ کولو پراخولو دمخه، کوم چې دا اجازه ورکوي چې په لوی شمیر قضیو کې وکارول شي،
    که د متغیر کرکټر اوږدوالی کوډ کول کارول کیږي (د مثال په توګه UTF8).

  • د محصول فایل اوس په اټومي ډول رامینځته شوی: re2c لومړی لنډمهاله فایل رامینځته کوي
    او پایله یې په هغې کې لیکي، او بیا د موقتي فایل نوم بدلوي
    یو عملیات.

  • اسناد بشپړ شوي او بیا لیکل شوي؛ په ځانګړې توګه، نوي اضافه شوي
    فصلونه د بفر ډکولو په اړه
    и د ان پټ ډیټا پای ته رسیدو لپاره د چک کولو لارو په اړه.
    نوي اسناد په فورمه کې راټول شوي
    یو هراړخیز یو مخ لارښود
    د مثالونو سره ( ورته سرچینې په مینپاج او آنلاین اسنادو کې وړاندې شوي).
    په تلیفونونو کې د سایټ د لوستلو وړتیا ښه کولو لپاره کمزورې هڅې شوي.

  • د پراختیا کونکو له نظره، re2c یو ډیر بشپړ فرعي سیسټم ترلاسه کړی
    ډیبګ کول د ډیبګ کولو کوډ اوس په ریلیز جوړونو کې غیر فعال شوی او
    د تنظیم کولو اختیار --enable-debug په کارولو سره فعال کیدی شي.

دې خوشې کولو ډیر وخت واخیست - نږدې یو کال.
ډیری وخت، د تل په څیر، د نظري چوکاټ په جوړولو او لیکلو کې مصرف شوی
مقالې "په NFA کې د POSIX Submatch اغیزمن استخراج".
په مقاله کې تشریح شوي الګوریتمونه په تجربوي کتابتون libre2c کې پلي کیږي
(د کتابتون او بنچمارک جوړول د ډیفالټ لخوا غیر فعال شوي او د ترتیب کولو اختیار لخوا فعال شوي
--enable-libs). کتابتون د موجوده سره د سیالي په توګه نه تصور کیږي
پروژې لکه RE2، مګر د نوي پراختیا لپاره د څیړنې پلیټ فارم په توګه
الګوریتمونه (کوم چې بیا په re2c یا نورو پروژو کې کارول کیدی شي).
دا د ازموینې ، بنچمارکونو او نورو ژبو ته د پابندۍ رامینځته کولو له نظره هم اسانه ده.

د re2c پراختیا کونکو څخه د هرچا څخه مننه چې د دې خوشې کیدو کې یې مرسته کړې ،
او په عمومي توګه ټولنې ته د نظرونو، بګ راپورونو، پیچونو، مورال او نورو لپاره. ؛]

سرچینه: linux.org.ru

Add a comment