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

نسخو 1.2 ۾ مکيه جدت:

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

  • هڪ هدايتون استعمال ڪندي خارجي فائلن کي شامل ڪرڻ جي صلاحيت شامل ڪئي وئي
    /*!شامل:re2c "file.re" */ where file.re
    هي شامل فائل جو نالو آهي. Re2c فائلن جي ڊاريڪٽري ۾ فائلن کي ڳولي ٿو، بشمول فائل،
    انهي سان گڏ -I اختيار استعمال ڪندي بيان ڪيل رستن جي فهرست ۾.
    شامل فائلون شايد ٻيون فائلون شامل ڪري سگھن ٿيون.
    Re2c مهيا ڪري ٿو "معياري" فائلون شامل / ڊاريڪٽري ۾
    پروجيڪٽ - اها اميد آهي ته مفيد معنائون اتي گڏ ٿينديون
    باقاعده اظهار، ڪجهه معياري لائبريري وانگر.
    هينئر تائين، ڪارڪنن جي درخواست تي، يونيڪوڊ ڪيٽيگريز جي وصفن سان گڏ هڪ فائيل شامل ڪيو ويو آهي.

  • هيڊر فائلن کي خودمختياري سان پيدا ڪرڻ جي صلاحيت شامل ڪئي وئي
    مواد استعمال ڪندي -t --type-header options (يا مناسب
    ترتيبون) ۽ نئين هدايتون /*!header:re2c:on*/ and
    /*!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 هاڻي اجازت ڏئي ٿو باقاعده re2c بلاڪ جي استعمال ۾ -r --reuse موڊ.
    اهو آسان آهي جيڪڏهن ان پٽ فائل ۾ ڪيترائي بلاڪ آهن ۽ صرف انهن مان ڪجهه
    ٻيهر استعمال جي ضرورت آهي.

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

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

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

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

  • دستاويز مڪمل ڪيو ويو ۽ ٻيهر لکيو ويو؛ خاص طور تي، نوان شامل ڪيا ويا
    باب بفر ڀرڻ بابت
    и ان پٽ ڊيٽا جي پڇاڙي جي جانچ ڪرڻ جي طريقن بابت.
    نئين دستاويز فارم ۾ گڏ ڪئي وئي آهي
    هڪ جامع هڪ ​​صفحي جي دستياب
    مثالن سان گڏ (ساڳيا ذريعا مين پيج ۽ آن لائن دستاويزن ۾ مهيا ڪيا ويا آهن).
    فون تي سائيٽ جي پڙهڻ جي قابليت کي بهتر بڻائڻ لاءِ ڪمزور ڪوششون ڪيون ويون آهن.

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

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

مهرباني re2c ڊولپرز کان هر ڪنهن جي جنهن هن رليز ٿيڻ ۾ مدد ڪئي،
۽ ڪميونٽي ڏانهن عام طور تي خيالن، بگ رپورٽون، پيچ، مورال، وغيره. ؛]

جو ذريعو: linux.org.ru

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