αž“αŸ…αžαŸ’αž„αŸƒαžŸαž»αž€αŸ’αžš αž‘αžΈ 2 αžαŸ‚αžŸαžΈαž αžΆ αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸƒ re2c αžŠαŸ‚αž›αž‡αžΆαž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαžŠαŸ„αž™αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαž“αŸƒαž€αžΆαžšαžœαž·αž—αžΆαž‚ lexical αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαžŸαžΆ C αž“αž·αž„ C ++ αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αŸ” Re2c αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž€αŸ’αž“αž»αž„αž†αŸ’αž“αžΆαŸ† 1993 αžŠαŸ„αž™ Peter Bamboulis αž‡αžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž–αž·αžŸαŸ„αž’αž“αŸαž“αŸƒαž€αžΆαžšαžœαž·αž—αžΆαž‚ lexical αž›αžΏαž“αžαŸ’αž›αžΆαŸ†αž„ αžŠαŸ‚αž›αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž–αžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž—αŸ’αž›αžΎαž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ„αž™αž›αŸ’αž”αžΏαž“αž“αŸƒαž€αžΌαžŠαžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αž“αž·αž„αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαžŠαŸ‚αž›αž’αžΆαž…αž”αžαŸ‹αž”αŸ‚αž“αžαž»αžŸαž–αžΈαž’αž˜αŸ’αž˜αžαžΆ αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚αž„αžΆαž™αžŸαŸ’αžšαž½αž› αž“αž·αž„αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž”αž„αŸ’αž€αž”αŸ‹αž‘αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž€αžΌαžŠαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αŸ” αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž–αŸαž›αž“αŸ„αŸ‡αž˜αž€ αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αžŸαž αž‚αž˜αž“αŸ αž αžΎαž™αž”αž“αŸ’αžαž€αŸ’αž›αžΆαž™αž‡αžΆαžœαŸαž‘αž·αž€αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸ αž“αž·αž„αžŸαŸ’αžšαžΆαžœαž‡αŸ’αžšαžΆαžœαž€αŸ’αž“αž»αž„αžœαž·αžŸαŸαž™αžœαŸαž™αŸ’αž™αžΆαž€αžšαžŽαŸαž•αŸ’αž›αžΌαžœαž€αžΆαžš αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžšαžŠαŸ’αž‹αž€αŸ†αžŽαžαŸ‹αŸ”

αž€αžΆαžšαž…αŸ’αž“αŸƒαž”αŸ’αžšαžŒαž·αžαžŸαŸ†αžαžΆαž“αŸ‹αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚ 1.2αŸ–

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžœαž·αž’αžΈαžαŸ’αž˜αžΈ (αžŸαžΆαž˜αž‰αŸ’αž‰) αžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαž”αž‰αŸ’αž…αž”αŸ‹αž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αž‰αŸ’αž…αžΌαž›
    (EOF rule αž‡αžΆαž—αžΆαžŸαžΆαž’αž„αŸ‹αž‚αŸ’αž›αŸαžŸ)αŸ”
    αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž“αŸαŸ‡ αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ re2c:eof αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αŸ”
    αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžαž½αž’αž€αŸ’αžŸαžšαžŸαŸ’αžαžΆαž“αžΈαž™,
    αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹ $ αž–αž·αžŸαŸαžŸαžŠαŸ‚αž›αž”αžΆαž‰αŸ‹αž”αŸ’αžšαžŸαž·αž“αž”αžΎ lexer
    αž”αžΆαž“αžˆαžΆαž“αžŠαž›αŸ‹αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αž‰αŸ’αž…αžΌαž›αžŠαŸ„αž™αž‡αŸ„αž‚αž‡αŸαž™αŸ”
    αž‡αžΆαž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαžΆαžŸαŸ’αžαŸ’αžš 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" αž‡αžΆαŸ”
    αž›αŸ†αžŠαžΆαž”αŸ‹αž“αŸƒαžαž½αž’αž€αŸ’αžŸαžš ASCII 1 αž”αŸŠαžΈαž 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αŸ”
    αž‡αž˜αŸ’αžšαžΎαžŸ --verbose αž€αŸβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αž“αŸ’αžαŸ‚αž˜β€‹αž•αž„β€‹αžŠαŸ‚αžš αžŠαŸ‚αž›β€‹αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–β€‹αžŸαžΆαžšβ€‹αž‡αŸαž™αž‡αž˜αŸ’αž“αŸ‡β€‹αžαŸ’αž›αžΈαŸ—β€‹αž”αŸ’αžšαžŸαž·αž“β€‹αž”αžΎβ€‹αž‡αŸ„αž‚αž‡αŸαž™αŸ”

  • αžšαž”αŸ€αž” "αž—αžΆαž–αž†αž”αž‚αŸ’αž“αžΆ" αž‡αžΆαž˜αž½αž™ flex αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„ - αž€αŸ†αž αž»αžŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαžœαž·αž—αžΆαž‚αž˜αž½αž™αž…αŸ†αž“αž½αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αž½αžŸαž‡αž»αž› αž“αž·αž„
    αž’αžΆαž‘αž·αž—αžΆαž–αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžŠαŸαž€αž˜αŸ’αžšαŸ”
    αž‡αžΆαž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαžΆαžŸαŸ’αžαŸ’αžš αž‡αž˜αŸ’αžšαžΎαžŸ -F --flex-support αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž€αžΌαžŠ
    αž›αžΆαž™αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž€αŸ’αž“αž»αž„αžšαž…αž“αžΆαž”αŸαž‘αŸ’αž˜ flex αž“αž·αž„αžšαž…αž“αžΆαž”αŸαž‘αŸ’αž˜ re2c αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αž€αžΆαžšαžœαž·αž—αžΆαž‚αž–αž·αž”αžΆαž€αž”αž“αŸ’αžαž·αž…αŸ”
    αžšαž”αŸ€αž”αž—αžΆαž–αž†αž”αž‚αŸ’αž“αžΆ Flex αž€αž˜αŸ’αžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΌαžŠαžαŸ’αž˜αžΈ
    αž”αŸ‰αž»αž“αŸ’αžαŸ‚ re2c αž”αž“αŸ’αžαž‚αžΆαŸ†αž‘αŸ’αžšαžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž–αž†αž”αž‚αŸ’αž“αžΆαžαž™αž€αŸ’αžšαŸ„αž™αŸ”

  • αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαžŠαž€αžαŸ’αž“αžΆαž€αŸ‹αžαž½αž’αž€αŸ’αžŸαžš / αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αž“αž»αžœαžαŸ’αž
    αž˜αž»αž“β€‹αž–αŸαž›β€‹αž–αž„αŸ’αžšαžΈαž€β€‹αž€αžΆαžšβ€‹αž’αŸŠαž·αž“αž€αžΌαžŠ αžŠαŸ‚αž›β€‹αž’αž“αž»αž‰αŸ’αž‰αžΆαžβ€‹αž±αŸ’αž™β€‹αžœαžΆβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αž€αŸ’αž“αž»αž„β€‹αž€αžšαžŽαžΈβ€‹αž…αŸ’αžšαžΎαž“β€‹αž‡αžΆαž„β€‹αž˜αž»αž“
    αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαž’αŸŠαž·αž“αž€αžΌαžŠαž”αŸ’αžšαžœαŸ‚αž„αžαž½αž’αž€αŸ’αžŸαžšαž’αžαŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎ (αž§αž‘αžΆαž αžšαžŽαŸ UTF8)αŸ”

  • αž―αž€αžŸαžΆαžšαž›αž‘αŸ’αž’αž•αž›αž₯αž‘αžΌαžœαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžαžΆαž˜αž”αŸ‚αž”αž’αžΆαžαžΌαž˜αŸˆ re2c αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαž”αžŽαŸ’αžαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αž‡αžΆαž˜αž»αž“αžŸαž·αž“
    αž αžΎαž™αžŸαžšαžŸαŸαžšαž›αž‘αŸ’αž’αž•αž›αž‘αŸ…αž€αŸ’αž“αž»αž„αžœαžΆ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αŸ’αžαžΌαžšαžˆαŸ’αž˜αŸ„αŸ‡αž―αž€αžŸαžΆαžšαž”αžŽαŸ’αžαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αž‘αŸ…αž‡αžΆαž›αž‘αŸ’αž’αž•αž›
    αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž˜αž½αž™αŸ”

  • αž―αž€αžŸαžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹ αž“αž·αž„αžŸαžšαžŸαŸαžšαž‘αžΎαž„αžœαž·αž‰; αž‡αžΆαž–αž·αžŸαŸαžŸ αžαŸ’αž˜αžΈαŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜
    αž‡αŸ†αž–αžΌαž€ αž’αŸ†αž–αžΈαž€αžΆαžšαž”αŸ†αž–αŸαž‰αžŸαžαž·αž”αžŽαŸ’αžŠαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“
    ΠΈ αž’αŸ†αž–αžΈαžœαž·αž’αžΈαžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαž”αž‰αŸ’αž…αž”αŸ‹αž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αž‰αŸ’αž…αžΌαž›.
    αž―αž€αžŸαžΆαžšαžαŸ’αž˜αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž˜αžΌαž›αž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹
    αžŸαŸ€αžœαž—αŸ…αžŽαŸ‚αž“αžΆαŸ†αž˜αž½αž™αž‘αŸ†αž–αŸαžšαžŠαŸαž‘αžΌαž›αŸ†αž‘αžΌαž›αžΆαž™
    αž‡αžΆαž˜αž½αž™αž§αž‘αžΆαž αžšαžŽαŸ (αž”αŸ’αžšαž—αž–αžŠαžΌαž…αž‚αŸ’αž“αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αŸ†αž–αŸαžšαž˜αŸ αž“αž·αž„αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž’αž“αž‘αžΆαž‰)αŸ”
    αž€αžΆαžšαž”αŸ‰αž»αž“αž”αŸ‰αž„αž˜αž·αž“αž›αŸ’αž’αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž›αž‘αŸ’αž’αž—αžΆαž–αž’αžΆαž“αž‚αŸαž αž‘αŸ†αž–αŸαžšαž“αŸ…αž›αžΎαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αŸ”

  • αžαžΆαž˜αž‘αžŸαŸ’αžŸαž“αŸˆαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ re2c αž”αžΆαž“αž‘αž‘αž½αž›αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžšαž„αž–αŸαž‰αž›αŸαž‰αž‡αžΆαž„
    αž€αžΆαžšαž€αŸ‚αž€αŸ†αž αž»αžŸ αž€αžΌαžŠαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαž₯αž‘αžΌαžœαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ αž“αž·αž„
    αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‡αž˜αŸ’αžšαžΎαžŸαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ --enable-debug αŸ”

αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸαŸ‡αž…αŸ†αžŽαžΆαž™αž–αŸαž›αž™αžΌαžš - αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž–αŸαž‰αž˜αž½αž™αž†αŸ’αž“αžΆαŸ†αŸ”
αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž“αŸƒαž–αŸαž›αžœαŸαž›αžΆαžŠαžΌαž…αž‡αžΆαžαŸ‚αž„αžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ†αžŽαžΆαž™αž›αžΎαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αŸ’αžšαž”αžαŸαžŽαŸ’αžŒαž‘αŸ’αžšαžΉαžŸαŸ’αžαžΈ αž“αž·αž„αž€αžΆαžšαžŸαžšαžŸαŸαžš
αž’αžαŸ’αžαž”αž‘ "αž€αžΆαžšαžŸαŸ’αžšαž„αŸ‹αž…αŸαž‰αž–αžΈαž€αžΆαžšαž”αŸ’αžšαž€αž½αžαžšαž„ POSIX αž”αŸ’αžšαž€αž”αžŠαŸ„αž™αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž“αŸ…αž›αžΎ NFA".
αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž–αž·αžŸαŸ„αž’αž“αŸ libre2c
(αž€αžΆαžšαž€αžŸαžΆαž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ αž“αž·αž„αžαžΆαžšαžΆαž„αž–αž·αž“αŸ’αž‘αž»αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž αžΎαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αžŠαŸ„αž™αž‡αž˜αŸ’αžšαžΎαžŸαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’
--enable-libs) αŸ” αž”αžŽαŸ’αžŽαžΆαž›αŸαž™β€‹αž˜αž·αž“β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž‚αŸβ€‹αž…αžΆαžαŸ‹β€‹αž‘αž»αž€β€‹αžαžΆβ€‹αž‡αžΆβ€‹αž‚αžΌβ€‹αž”αŸ’αžšαž‡αŸ‚αž„β€‹αž“αžΉαž„β€‹αž˜αžΆαž“β€‹αžŸαŸ’αžšαžΆαž”αŸ‹β€‹αž“αŸ„αŸ‡β€‹αž‘αŸαŸ”
αž‚αž˜αŸ’αžšαŸ„αž„αžŠαžΌαž…αž‡αžΆ RE2 αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαžœαŸαž‘αž·αž€αžΆαžŸαŸ’αžšαžΆαžœαž‡αŸ’αžšαžΆαžœαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžαŸ’αž˜αžΈαŸ”
αž€αŸ’αž”αž½αž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ (αžŠαŸ‚αž›αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„ re2c αž¬αž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αž) αŸ”
αžœαžΆαž€αŸαž˜αžΆαž“αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž•αž„αžŠαŸ‚αžš αž–αžΈαž…αŸ†αžŽαž»αž…αž“αŸƒαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αž αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž·αž“αŸ’αž‘αž» αž“αž·αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαž…αž„αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž“αžΉαž„αž—αžΆαžŸαžΆαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ”

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαž–αžΈαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ re2c αžŠαž›αŸ‹αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆαžŠαŸ‚αž›αž”αžΆαž“αž‡αž½αž™αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸαŸ‡αž€αžΎαžαž‘αžΎαž„αŸ”
αž“αž·αž„αž…αŸ†αž–αŸ„αŸ‡αžŸαž αž‚αž˜αž“αŸαž‘αžΌαž‘αŸ…αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸ†αž“αž·αž αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž€αŸ†αž αž»αžŸ αž”αŸ†αžŽαŸ‡ αžŸαžΈαž›αž’αž˜αŸŒ αž‡αžΆαžŠαžΎαž˜αŸ” ;]

αž”αŸ’αžšαž—αž–: linux.org.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹