ජූලි 20 සඳුදා, වේගවත් ශබ්දකෝෂ විශ්ලේෂක උත්පාදකයක් වන re2c නිකුතුව නිකුත් කරන ලදී.
ප්රධාන වෙනස්කම්:

  • Go භාෂාව සඳහා සහය එක් කරන ලදී
    (re2c සඳහා --lang go විකල්පය සමඟ හෝ ස්වාධීන re2go වැඩසටහනක් ලෙස සක්‍රීය කර ඇත).
    C සහ Go සඳහා ප්‍රලේඛනය එකම පෙළකින් ජනනය කර ඇත, නමුත් වෙනස් වේ
    කේත උදාහරණ. re2c හි කේත උත්පාදන උප පද්ධතිය සම්පූර්ණයෙන්ම ප්‍රතිනිර්මාණය කර ඇත
    අනාගතයේදී නව භාෂා සඳහා සහාය වීම පහසු කළ යුතුය.

  • CMake මත විකල්ප ගොඩනැගීමේ පද්ධතිය එකතු කරන ලදි (ස්තුතියි ligfx!).
    Re2c CMake වෙත පරිවර්තනය කිරීමට බොහෝ කාලයක් තිස්සේ උත්සාහ කර ඇත, නමුත් ligfx ට පෙර කිසිවෙක් නැත
    සම්පූර්ණ විසඳුමක් ඉදිරිපත් කළේය.
    Autotools හි පැරණි ගොඩනැගීමේ පද්ධතිය දිගටම සහය දක්වන අතර භාවිතා කරයි,
    සහ අපේක්ෂා කළ හැකි අනාගතයේ දී එය අත්හැරීමට සැලසුම් නොමැත (අර්ධ වශයෙන් නිර්මාණය නොකිරීමට
    බෙදාහැරීමේ සංවර්ධකයින් සඳහා ගැටළු, අර්ධ වශයෙන් පැරණි ගොඩනැගීමේ පද්ධතිය නිසා
    නව එකට වඩා ස්ථායී සහ සංක්ෂිප්ත).
    මෙම පද්ධති දෙකම Travis CI භාවිතයෙන් එක හා සමානව අඛණ්ඩව පරීක්ෂා කරනු ලැබේ.

  • භාවිතා කරන විට වින්‍යාසය තුළ අතුරුමුහුණත් කේතය සැකසීමේ හැකියාව එක් කරන ලදී
    Generic API (generic API). මීට පෙර, බොහෝ APIs පෝරමයේ සඳහන් කළ යුතු විය
    ශ්රිත හෝ ශ්රිත මැක්රෝ. දැන් ඒවා අත්තනෝමතික ආකාරයෙන් සකස් කළ හැකිය
    @@{name} පෝරමයේ නම් කරන ලද අච්චු පරාමිති සහිත නූල් හෝ @@ (නම්
    ඇත්තේ එක් පරාමිතියක් පමණක් වන අතර අපැහැදිලි බවක් නොමැත). API විලාසය වින්‍යාසගත කළ හැකිය
    re2c:api:style (Functions value මගින් ක්‍රියාකාරී විලාසය නියම කරන අතර, free-form අගය අත්තනෝමතික වේ).

  • -c, --start-conditions විකල්පයේ ක්‍රියාකාරිත්වය වැඩිදියුණු කිරීම, ඔබට කිහිපයක් ඒකාබද්ධ කිරීමට ඉඩ සලසයි.
    එක් re2c බ්ලොක් එකක අන්තර් සම්බන්ධිත ලෙක්සර්. දැන් ඔබට භාවිතා කළ හැකිය
    සාමාන්‍ය කුට්ටි කොන්දේසි සහිත ඒවාට සමාන වන අතර අසම්බන්ධිත කොන්දේසි කිහිපයක් සකසන්න
    එක් ගොනුවක අවහිර කරයි.
    වැඩිදියුණු කළ -r, --reuse විකල්ප (එක් කොටසකින් කේතය නැවත භාවිතා කිරීම
    අනෙකුත් කොටස් වල) -c, --start-conditions සහ -f, --storable-state විකල්ප සමඟ ඒකාබද්ධව
    (අත්තනෝමතික ස්ථානයක දී බාධා කළ හැකි රාජ්ය ලෙක්සර්
    පසුව ක්‍රියාත්මක කිරීම දිගටම කරගෙන යන්න).

  • ආදාන දත්තවල අවසානය හැසිරවීම සඳහා අලුතින් එකතු කරන ලද ඇල්ගොරිතමයේ දෝෂයක් විසඳා ඇත
    (EOF රීතිය), දුර්ලභ අවස්ථාවන්හිදී වැරදි සැකසීමට හේතු විය
    අතිච්ඡාදනය වන නීති.

  • සරල කළ බූට්ස්ට්‍රැප් ක්‍රියාවලිය. මීට පෙර, ගොඩනැගීමේ පද්ධතිය දැනටමත් ගතිකව සොයා ගැනීමට උත්සාහ කළේය
    ගොඩනඟන ලද re2c එය නැවත ගොඩනඟා ගැනීමට භාවිතා කළ හැකිය.
    මෙය වැරදි පරායත්තතා වලට තුඩු දුන්නේය (පරාධීතා ප්‍රස්ථාරය හැරී ගිය නිසා
    ගතික, බොහෝ ගොඩනැගීමේ පද්ධති කැමති නැත).
    දැන්, lexers නැවත ගොඩනැගීම සඳහා, එය පැහැදිලිවම අවශ්ය වේ
    ගොඩනැගීමේ පද්ධතිය වින්‍යාස කර RE2C_FOR_BUILD විචල්‍යය සකසන්න.

මෙම නිකුතුව සඳහා දායක වූ සැමට ස්තුතියි!

මූලාශ්රය: linux.org.ru

අදහස් එක් කරන්න