re2c 1.2 ليڪسيڪل اينالائيزر جنريٽر جو رليز

جڳه ورتي ڇڏڻ re2c, C ۽ C++ ٻولين لاءِ مفت ليڪسيڪل اينالائيزر جنريٽر. ياد رهي ته re2c 1993 ۾ پيٽر بامبوليس پاران تمام تيز ليڪسيڪل اينالائزرز جي تجرباتي جنريٽر جي طور تي لکيو ويو هو، جيڪو ٺاهيل ڪوڊ جي رفتار ۾ ٻين جنريٽرن کان مختلف آهي ۽ هڪ غير معمولي لچڪدار يوزر انٽرفيس جيڪو اينالائزرز کي آساني سان ۽ موثر طريقي سان موجوده ڪوڊ ۾ ضم ٿيڻ جي اجازت ڏئي ٿو. بنياد. ان وقت کان وٺي، منصوبي کي ڪميونٽي طرفان ترقي ڪئي وئي آهي ۽ رسمي گرامر ۽ محدود رياستي مشينن جي ميدان ۾ تجربن ۽ تحقيق لاء هڪ پليٽ فارم بڻجي رهيو آهي.

ڇڏڻ جي تياري لڳ ڀڳ هڪ سال گذري ويا. گهڻو وقت، هميشه وانگر، هڪ نظرياتي فريم ورڪ ۽ لکڻ جي ترقي تي خرچ ڪيو ويو
آرٽيڪل"NFA تي موثر POSIX Submatch Extraction".
مضمون ۾ بيان ڪيل الگورتھم تجرباتي لائبريري libre2c ۾ لاڳو ڪيا ويا آھن
(لائبريري جي تعمير ۽ ڪارڪردگي جا امتحان ڊفالٽ طور بند ٿيل آهن ۽ ڪنفيگر آپشن “—enable-libs” ذريعي فعال ٿيل آهن). لائبريري جو مقصد موجوده پروجيڪٽس جهڙوڪ RE2 جي مقابلي ۾ ناهي، پر نئين منصوبن جي ترقي لاءِ هڪ تحقيقي پليٽ فارم جي طور تي.
algorithms (جيڪو پوء re2c يا ٻين منصوبن ۾ استعمال ڪري سگهجي ٿو). اهو پڻ آسان آهي جانچ جي نقطي نظر کان، ڪارڪردگي کي ماپڻ ۽ ٻين ٻولين سان پابند بڻائڻ.

ورجن re2c 1.2 ۾ مکيه جدت:

  • ان پٽ ڊيٽا جي پڇاڙي کي جانچڻ لاءِ نئون آسان طريقو شامل ڪيو ويو (“EOF قاعدو”). ان لاءِ، ”re2c:eof“ ٺاھ جوڙ ڪئي وئي آھي،
    توهان کي ٽرمينل ڪردار چونڊڻ جي اجازت ڏئي ٿي،
    ۽ هڪ خاص قاعدو “$”، جيڪو شروع ٿئي ٿو جيڪڏهن ليڪسر
    ڪاميابيءَ سان ان پٽ ڊيٽا جي پڄاڻي تي پهتي.
    تاريخي طور تي، re2c ڪيترن ئي تصديق جي طريقن جو انتخاب مهيا ڪري ٿو
    حد، ڪارڪردگي ۽ سادگي ۾ مختلف معلومات جي پڇاڙي
    ايپليڪيشنون. نئون طريقو لکڻ جي ڪوڊ کي آسان ڪرڻ لاء ٺهيل آهي، جڏهن ته
    جڏهن ته اثرائتو ۽ وڏي پيماني تي لاڳو. پراڻا طريقا
    اڃا ڪم ڪري ٿو ۽ ڪجهه ڪيسن ۾ ترجيح ٿي سگھي ٿو.

  • هڪ هدايتون استعمال ڪندي خارجي فائلن کي شامل ڪرڻ جي صلاحيت شامل ڪئي وئي
    "/*!include:re2c "file.re" */", جتي "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 {ascii | utf8}",
    جيڪو توهان کي رويي کي تبديل ڪرڻ ۽ "∀x ∃y" جي طور تي پارس ڪرڻ جي اجازت ڏئي ٿو
    "2200 78 20 2203 79."

  • Re2c هاڻي باقاعده re2c بلاڪ کي "-r --reuse" موڊ ۾ استعمال ڪرڻ جي اجازت ڏئي ٿو.
    اهو آسان آهي جيڪڏهن ان پٽ فائل ۾ ڪيترائي بلاڪ آهن ۽ صرف انهن مان ڪجهه
    ٻيهر استعمال جي ضرورت آهي.

  • ھاڻي توھان سيٽ ڪري سگھوٿا ڊيڄاريندڙن ۽ نقص پيغامن جي شڪل
    نئين اختيار کي استعمال ڪندي "--location-format {gnu | msvc}". GNU فارميٽ ڏيکاريل آهي
    جيئن "filename:line:column:"، ۽ MSVC فارميٽ جي طور تي "فائل جو نالو (لائن، ڪالم)".
    ھي خصوصيت IDE عاشقن لاءِ ڪارآمد ٿي سگھي ٿي.
    هڪ "--verbose" اختيار پڻ شامل ڪيو ويو آهي، جيڪو ڪامياب ٿيڻ جي صورت ۾ هڪ مختصر فتح پيغام ڏيکاري ٿو.

  • فليڪس سان "مطابقت" موڊ کي بهتر ڪيو ويو آهي - ڪجهه تجزيي غلطيون مقرر ڪيون ويون آهن ۽
    نادر ڪيسن ۾ غلط آپريٽر جي ترجيح.
    تاريخي طور تي، "-F --flex-suppor" اختيار توهان کي ڪوڊ لکڻ جي اجازت ڏني
    flex انداز ۽ re2c انداز ۾ ملايو، جيڪو ٿورڙي مشڪل کي پارس ڪري ٿو.
    نئين ڪوڊ ۾ فليڪس مطابقت موڊ گهٽ ۾ گهٽ استعمال ٿيندو آهي،
    پر re2c ان کي پسمانده مطابقت لاءِ سپورٽ ڪرڻ جاري رکي ٿو.

  • ڪردار ڪلاس ذيلي آپريٽر "/" هاڻي لاڳو ٿئي ٿو
    انڪوڊنگ کي وڌائڻ کان اڳ، جيڪو ان کي وڏي تعداد ۾ ڪيسن ۾ استعمال ڪرڻ جي اجازت ڏئي ٿو،
    جيڪڏهن هڪ متغير ڪردار جي ڊگھائي انڪوڊنگ استعمال ٿئي ٿي (مثال طور UTF8).

  • ٻاھرين فائل ھاڻي ٺاھي وئي آھي ايٽمي طور تي: re2c ھڪڙي عارضي فائل ٺاھي ٿو
    ۽ ان ۾ نتيجو لکي ٿو، ۽ پوءِ عارضي فائل جو نالو تبديل ڪري ٿو
    هڪ آپريشن.

  • دستاويز مڪمل ڪيو ويو ۽ ٻيهر لکيو ويو؛ خاص طور تي، نوان شامل ڪيا ويا
    باب بابت http://re2c.org/manual/manual.html#buffer-refilling заполнение буфера
    и ان پٽ ڊيٽا جي پڇاڙي جي جانچ ڪرڻ جي طريقن بابت.
    نئين دستاويز فارم ۾ گڏ ڪئي وئي آهي
    هڪ جامع هڪ ​​صفحي جي گائيڊ
    مثالن سان گڏ (ساڳيا ذريعا مين پيج ۽ آن لائن دستاويزن ۾ مهيا ڪيا ويا آهن).
    فون تي سائيٽ جي پڙهڻ جي قابليت کي بهتر بڻائڻ لاءِ ڪمزور ڪوششون ڪيون ويون آهن.

  • ڊولپرز جي نقطي نظر کان، re2c هڪ وڌيڪ مڪمل سب سسٽم حاصل ڪيو آهي
    ڊيبگنگ ڊيبگنگ ڪوڊ هاڻي رليز بلڊز ۾ بند ڪيو ويو آهي ۽
    "--enable-debug" ترتيب ڏيڻ جي اختيار کي استعمال ڪندي فعال ڪري سگھجي ٿو.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو