پیر، 20 جولائی کو، re2c، ایک تیز لغوی تجزیہ کار جنریٹر، جاری کیا گیا۔
اہم تبدیلیاں:

  • گو زبان کی حمایت شامل کی گئی۔
    (re2c کے لیے --lang go آپشن کے ذریعے فعال کیا گیا ہے، یا ایک علیحدہ re2go پروگرام کے طور پر)۔
    C اور Go کے لیے دستاویزات ایک ہی متن سے تیار کی گئی ہیں، لیکن مختلف کے ساتھ
    کوڈ کی مثالیں re2c میں کوڈ جنریشن سب سسٹم کو مکمل طور پر دوبارہ ڈیزائن کیا گیا ہے، جو
    مستقبل میں نئی ​​زبانوں کو سپورٹ کرنا آسان بنانا چاہیے۔

  • CMake کے لئے ایک متبادل تعمیراتی نظام شامل کیا گیا (شکریہ ligfx).
    re2c کا CMake میں ترجمہ کرنے کی کوششیں کافی عرصے سے کی جا رہی ہیں لیکن ligfx سے پہلے کوئی
    ایک مکمل حل پیش کیا.
    Autotools پر پرانے تعمیراتی نظام کی حمایت اور استعمال جاری ہے،
    اور مستقبل قریب میں اسے ترک کرنے کا کوئی منصوبہ نہیں ہے (جزوی طور پر تاکہ تخلیق نہ ہو۔
    تقسیم کے ڈویلپرز کے لیے مسائل، جزوی طور پر اس لیے کہ پرانے نظام کی تعمیر
    نئے سے زیادہ مستحکم اور زیادہ جامع)۔
    ٹریوس سی آئی کا استعمال کرتے ہوئے دونوں نظاموں کا مسلسل تجربہ کیا جاتا ہے۔

  • استعمال کرتے وقت کنفیگریشن میں انٹرفیس کوڈ سیٹ کرنے کی صلاحیت شامل کی گئی۔
    عام API پہلے، زیادہ تر APIs کو فارم میں بتانا پڑتا تھا۔
    فنکشنز یا فنکشن میکرو۔ اب ان کی صوابدیدی کی شکل میں وضاحت کی جا سکتی ہے۔
    نامی ٹیمپلیٹ پیرامیٹرز کے ساتھ لائنیں جیسے @@{name} یا صرف @@ (اگر
    صرف ایک پیرامیٹر ہے اور کوئی ابہام نہیں ہے)۔ API سٹائل کنفیگریشن کے ذریعے متعین کیا جاتا ہے۔
    re2c:api:style (فنکشن ویلیو ایک فنکشنل سٹائل کی وضاحت کرتی ہے، اور فری فارم ایک صوابدیدی انداز کی وضاحت کرتی ہے)۔

  • -c، --start-conditions آپشن کے آپریشن کو بہتر بنایا گیا ہے، جس سے آپ کو کئی
    ایک re2c بلاک میں باہم منسلک لیکسرز۔ اب آپ استعمال کر سکتے ہیں۔
    مشروط بلاکس کے ساتھ باقاعدہ بلاکس اور کئی غیر متعلقہ مشروط کی وضاحت کریں۔
    ایک فائل میں بلاکس۔
    -r، --reuse آپشن کا بہتر آپریشن (ایک بلاک سے کوڈ کا دوبارہ استعمال
    دوسرے بلاکس میں) -c، --start-conditions اور -f، --storable-state آپشنز کے ساتھ مل کر
    (ایک ریاستی لیکچر جس میں کسی بھی وقت مداخلت کی جاسکتی ہے۔
    اور بعد میں عملدرآمد جاری رکھیں)۔

  • حال ہی میں شامل کردہ اینڈ آف ان پٹ الگورتھم میں ایک بگ کو ٹھیک کیا گیا۔
    (EOF قاعدہ)، جس کی وجہ سے غیر معمولی معاملات میں غلط پروسیسنگ ہوتی ہے۔
    اوورلیپنگ قوانین.

  • بوٹسٹریپ کے عمل کو آسان بنا دیا گیا ہے۔ پہلے، تعمیراتی نظام نے پہلے سے ہی متحرک طور پر تلاش کرنے کی کوشش کی
    ایک re2c تعمیر جو خود کو دوبارہ بنانے کے لیے استعمال ہو سکتی ہے۔
    اس کے نتیجے میں غلط انحصار ہوا (چونکہ انحصار گراف تھا۔
    متحرک، جسے زیادہ تر تعمیراتی نظام پسند نہیں کرتے)۔
    اب، لیکسرز کو دوبارہ بنانے کے لیے، آپ کو واضح طور پر کرنے کی ضرورت ہے۔
    بلڈ سسٹم کو کنفیگر کریں اور RE2C_FOR_BUILD متغیر سیٹ کریں۔

اس ریلیز کی تیاری میں حصہ لینے والے ہر ایک کا شکریہ!

ماخذ: linux.org.ru

نیا تبصرہ شامل کریں