เบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเป€เบ„เบทเปˆเบญเบ‡เบเปเบฒเป€เบ™เบตเบ” re2c lexer 1.2

เป„เบ”เป‰เบˆเบฑเบ”เบ‚เบถเป‰เบ™ เบ›เปˆเบญเบเบ•เบปเบง re2c, เป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เบชเป‰เบฒเบ‡เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐ lexical เบŸเบฃเบตเบชเปเบฒเบฅเบฑเบšเบžเบฒเบชเบฒ C เปเบฅเบฐ C ++. เบˆเบทเปˆเป„เบงเป‰เบงเปˆเบฒ re2c เป„เบ”เป‰เบ–เบทเบเบ‚เบฝเบ™เปƒเบ™เบ›เบต 1993 เป‚เบ”เบ Peter Bambulis เป€เบ›เบฑเบ™เบœเบนเป‰เบœเบฐเบฅเบดเบ”เบ—เบปเบ”เบฅเบญเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐ lexical เป„เบงเบซเบผเบฒเบ, เปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เบเปเบฒเป€เบ™เบตเบ”เบญเบทเปˆเบ™เป†เปƒเบ™เบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปเบฅเบฐเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™เบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบดเบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ™เบฑเบเบงเบดเป€เบ„เบฒเบฐเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เป„เบ”เป‰เบ‡เปˆเบฒเบเปเบฅเบฐเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบกเบตเบขเบนเปˆ. เบžเบทเป‰เบ™เบ–เบฒเบ™. เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ™เบฑเป‰เบ™เบกเบฒ, เป‚เบ„เบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเบŠเบธเบกเบŠเบปเบ™เปเบฅเบฐเบชเบทเบšเบ•เปเปˆเป€เบ›เบฑเบ™เป€เบงเบ—เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เปเบฅเบฐเบเบฒเบ™เบ„เบปเป‰เบ™เบ„เบงเป‰เบฒเปƒเบ™เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบ‚เบญเบ‡เป„เบงเบเบฒเบเบญเบ™เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบ‚เบญเบ‡เบฅเบฑเบ” finite.

เบเบฒเบ™เบเบฐเบเบฝเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบญเบเป„เบ”เป‰เปƒเบŠเป‰เป€เบงเบฅเบฒเป€เบเบทเบญเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เบ›เบต. เป€เบงเบฅเบฒเบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบ•เบฒเบกเป€เบ„เบตเบ, เปเบกเปˆเบ™เปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบญเบšเบ—เบดเบ”เบชเบฐเบ”เบตเปเบฅเบฐเบเบฒเบ™เบ‚เบฝเบ™
เบšเบปเบ”เบ„เบงเบฒเบก "เบเบฒเบ™เบชเบฐเบเบฑเบ”เป€เบญเบปเบฒเบเบฒเบ™เบˆเบฑเบšเบ„เบนเปˆ POSIX เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปƒเบ™ NFA"
เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบปเบ”เบฅเบญเบ‡ libre2c
(เบเบฒเบ™เบชเป‰เบฒเบ‡เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” เปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ–เบทเบเบ›เบดเบ”เปƒเบŠเป‰เบ‡เบฒเบ™เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ เปเบฅเบฐเบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ โ€œโ€”enable-libsโ€). เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบšเปเปˆเป„เบ”เป‰เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เป€เบ›เบฑเบ™เบ„เบนเปˆเปเบ‚เปˆเบ‡เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเป€เบŠเบฑเปˆเบ™ RE2, เปเบ•เปˆเป€เบ›เบฑเบ™เป€เบงเบ—เบตเบเบฒเบ™เบ„เบปเป‰เบ™เบ„เบงเป‰เบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบซเบกเปˆ.
algorithms (เบŠเบถเปˆเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™ re2c เบซเบผเบทเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบญเบทเปˆเบ™เป†). เบกเบฑเบ™เบเบฑเบ‡เบชเบฐเบ”เบงเบเบˆเบฒเบเบˆเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš, เบเบฒเบ™เบงเบฑเบ”เปเบ—เบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบเบฑเบšเบžเบฒเบชเบฒเบญเบทเปˆเบ™เป†.

เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบซเบผเบฑเบเปƒเบ™เบฎเบธเปˆเบ™ re2c 1.2:

  • เป€เบžเบตเปˆเบกเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบชเบดเป‰เบ™เบชเบธเบ”เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ›เป‰เบญเบ™เป€เบ‚เบปเป‰เบฒ ("เบเบปเบ”เบฅเบฐเบšเบฝเบš EOF"). เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ "re2c:eof" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก,
    เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบฅเบทเบญเบเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ terminal,
    เปเบฅเบฐเบเบปเบ”เบฅเบฐเบšเบฝเบšเบžเบดเป€เบชเบ” "$", เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบเบฐเบ•เบธเป‰เบ™เบ–เป‰เบฒ lexer
    เบกเบฒเบฎเบญเบ”เบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบณเป€เบฅเบฑเบ”เปเบฅเป‰เบง.
    เปƒเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”, re2c เบชเบฐเบซเบ™เบญเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบขเบฑเป‰เบ‡เบขเบทเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบชเปเบฒเบฅเบฑเบš
    เบชเบดเป‰เบ™โ€‹เบชเบธเบ”โ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ—เบตเปˆโ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบเบฑเบ™โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบˆเปเบฒโ€‹เบเบฑเบ”โ€‹, เบ›เบฐโ€‹เบชเบดเบ”โ€‹เบ—เบดโ€‹เบžเบฒเบšโ€‹เปเบฅเบฐโ€‹เบ„เบงเบฒเบกโ€‹เบ‡เปˆเบฒเบโ€‹เบ”เบฒเบโ€‹
    เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ. เบงเบดเบ—เบตเบเบฒเบ™เปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเบญเบญเบเปเบšเบšเป€เบžเบทเปˆเบญเบ‡เปˆเบฒเบเบเบฒเบ™เบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ
    เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบเบฑเบ‡เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบ™เบณเปƒเบŠเป‰เป„เบ”เป‰เบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡. เบงเบดเบ—เบตเบเบฒเบ™เป€เบเบปเปˆเบฒ
    เบเบฑเบ‡เป€เบฎเบฑเบ”เบงเบฝเบ เปเบฅเบฐเบญเบฒเบ”เบˆเบฐเบ–เบทเบเปƒเบˆเปƒเบ™เบšเบฒเบ‡เบเปเบฅเบฐเบ™เบต.

  • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบฅเบงเบกเป„เบŸเบฅเปŒเบžเบฒเบเบ™เบญเบเป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡
    "/*!include:re2c "file.re" */", เป€เบŠเบดเปˆเบ‡ "file.re" เปเบกเปˆเบ™เบŠเบทเปˆเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบˆเบฐเบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒ. Re2c เบŠเบญเบเบซเบฒเป„เบŸเบฅเปŒเปƒเบ™เปเบŸเป‰เบกเบฅเบงเบกเบ—เบฑเบ‡เปเบŸเป‰เบกเป€เบญเบเบฐเบชเบฒเบ™,
    เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบขเบนเปˆเปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบ "-I".
    เป„เบŸเบฅเปŒเบ—เบตเปˆเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบญเบฒเบ”เบˆเบฐเบ›เบฐเบเบญเบšเบกเบตเป„เบŸเบฅเปŒเบญเบทเปˆเบ™เป†.
    Re2c เบชเบฐเปœเบญเบ‡เป„เบŸเบฅเปŒ "เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™" เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต "include/".
    เป‚เบ„เบ‡เบเบฒเบ™ - เบ„เบฒเบ”เบงเปˆเบฒเบ„เปเบฒเบ™เบดเบเบฒเบกเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบˆเบฐเบชเบฐเบชเบปเบกเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™
    เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเป€เบ›เบฑเบ™เบ›เบปเบเบเบฐเบ•เบด, เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™: เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™.
    เบกเบฒเบฎเบญเบ”เบ›เบฐเบˆเบธ, เบ•เบฒเบกเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ‚เบญเบ‡เบœเบนเป‰เบญเบญเบเปเบฎเบ‡เบ‡เบฒเบ™, เป„เบŸเบฅเปŒเบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบกเบตเบ„เปเบฒเบ™เบดเบเบฒเบกเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ” Unicode เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก.

  • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒ header เบ”เป‰เบงเบ arbitrary
    เป€เบ™เบทเป‰เบญเบซเบฒเป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบ "-t --type-header" (เบซเบผเบทเป€เบซเบกเบฒเบฐเบชเบปเบก
    เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ) เปเบฅเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบซเบกเปˆ "/*!header:re2c:on*/" เปเบฅเบฐ
    "/*!header:re2c:off*/". เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆ
    เป€เบกเบทเปˆเบญ re2c เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบ„เปเบฒเบ™เบดเบเบฒเบกเบ‚เบญเบ‡เบ•เบปเบงเปเบ›, เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เปเบฅเบฐเบกเบฐเบซเบฒเบžเบฒเบ,
    เปƒเบŠเป‰เปƒเบ™เบซเบปเบงเบซเบ™เปˆเบงเบเบเบฒเบ™เปเบ›เบญเบทเปˆเบ™เป†.

  • เบ”เบฝเบงเบ™เบตเป‰ Re2c เป€เบ‚เบปเป‰เบฒเปƒเบˆเบ•เบปเบงเปœเบฑเบ‡เบชเบท UTF8 เปเบฅเบฐเบซเป‰เบญเบ‡เบฎเบฝเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปƒเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ›เบปเบเบเบฐเบ•เบด.
    เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, re2c parses เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเป€เบŠเบฑเปˆเบ™ "โˆ€x โˆƒy" เป€เบ›เบฑเบ™
    เบฅเบณเบ”เบฑเบšเบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ ASCII 1-เบšเบดเบ” โ€œe2 88 80 78 20 e2 88 83 79โ€
    (เบฅเบฐเบซเบฑเบ” hex), เปเบฅเบฐเบœเบนเป‰เปƒเบŠเป‰เบ•เป‰เบญเบ‡เบซเบ™เบตเบ•เบปเบงเบญเบฑเบเบชเบญเบ™ Unicode เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡:
    "\\u2200x\\u2203y". เบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบšเปเปˆเบชเบฐเบ”เบงเบเบซเบผเบฒเบเปเบฅเบฐเบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”เบชเปเบฒเบฅเบฑเบšเบซเบผเบฒเบเป†เบ„เบปเบ™
    เบœเบนเป‰เปƒเบŠเป‰ (เป€เบ›เบฑเบ™เบซเบผเบฑเบเบ–เบฒเบ™เป‚เบ”เบเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™ bug เบ„เบปเบ‡เบ—เบตเปˆ). เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™
    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 เป€เบ›เบฑเบ™ "filename(line,column)".
    เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบš IDE lovers.
    เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--verbose" เบเบฑเบ‡เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เป€เบŠเบดเปˆเบ‡เบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเป„เบŠเบŠเบฐเบ™เบฐเบชเบฑเป‰เบ™เบ–เป‰เบฒเบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”.

  • เบฎเบนเบšเปเบšเบš "เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰" เบเบฑเบš flex เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡ - เบšเบฒเบ‡เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เบ‚เบญเบ‡เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปเบฅเบฐ
    เบญเบฑเบ™เบ”เบฑเบšเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบซเบฒเบเบฒเบ.
    เปƒเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”, เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "-F --flex-suppor" เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”
    เบ›เบฐเบชเบปเบกเปƒเบ™เบฎเบนเบšเปเบšเบš flex เปเบฅเบฐเปเบšเบš re2c, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เปเบเบเบงเบดเป€เบ„เบฒเบฐเบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเป€เบฅเบฑเบเบ™เป‰เบญเบ.
    เบฎเบนเบšเปเบšเบšเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบ‚เบญเบ‡ Flex เบšเปเปˆเบ„เปˆเบญเบเบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบฅเบฐเบซเบฑเบ”เปƒเบซเบกเปˆ,
    เปเบ•เปˆ re2c เบเบฑเบ‡เบชเบทเบšเบ•เปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบกเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เปƒเบ™เบ”เป‰เบฒเบ™เบซเบฅเบฑเบ‡.

  • เบ›เบฐเบˆเบธเบšเบฑเบ™เบ™เบตเป‰เปƒเบŠเป‰เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบซเบฑเบเบฅเบปเบšเบ‚เบญเบ‡เบซเป‰เบญเบ‡เบฎเบฝเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™ "/"
    เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบเปเบฅเบฐเบ™เบตเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ,
    เบ–เป‰เบฒเปƒเบŠเป‰เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ„เบงเบฒเบกเบเบฒเบงเบ‚เบญเบ‡เบ•เบปเบงเปเบ› (เบ•เบปเบงเบขเปˆเบฒเบ‡ UTF8).

  • เป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™: re2c เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเบŠเบปเปˆเบงเบ„เบฒเบงเบเปˆเบญเบ™
    เปเบฅเบฐเบ‚เบฝเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปƒเบชเปˆเบกเบฑเบ™, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ›เปˆเบฝเบ™เบŠเบทเปˆเป„เบŸเบฅเปŒเบŠเบปเปˆเบงเบ„เบฒเบงเป„เบ›เบซเบฒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš
    เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบซเบ™เบถเปˆเบ‡.

  • เป€เบญเบเบฐเบชเบฒเบ™เป„เบ”เป‰เบ–เบทเบเบชเปเบฒเป€เบฅเบฑเบ”เปเบฅเบฐเบ‚เบฝเบ™เบ„เบทเบ™เปƒเบซเบกเปˆ; เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เปƒเบซเบกเปˆเป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก
    เบšเบปเบ”เบเปˆเบฝเบงเบเบฑเบš http://re2c.org/manual/manual.html#buffer-refilling ะทะฐะฟะพะปะฝะตะฝะธะต ะฑัƒั„ะตั€ะฐ
    ะธ เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบงเบ”เบชเบญเบšเบเบฒเบ™เบชเบดเป‰เบ™เบชเบธเบ”เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™.
    เป€เบญเบเบฐเบชเบฒเบ™เปƒเบซเบกเปˆเปเบกเปˆเบ™เป€เบเบฑเบšเบเปเบฒเบขเบนเปˆเปƒเบ™เปเบšเบšเบŸเบญเบก
    เบ„เบนเปˆเบกเบทเบซเบ™เบถเปˆเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เปเบšเบš
    เบเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡ (เปเบซเบผเปˆเบ‡เบ”เบฝเบงเบเบฑเบ™เปเบกเปˆเบ™เบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™ manpage เปเบฅเบฐเปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™เบญเบญเบ™เป„เบฅเบ™เปŒ).
    เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบšเปเปˆเบ”เบตเป„เบ”เป‰เบ–เบทเบเป€เบฎเบฑเบ”เป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบญเปˆเบฒเบ™เบ‚เบญเบ‡เป€เบงเบฑเบšเป„เบŠเบ—เปŒเปƒเบ™เป‚เบ—เบฅเบฐเบชเบฑเบš.

  • เบˆเบฒเบเบ—เบฑเบ”เบชเบฐเบ™เบฐเบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ, re2c เป„เบ”เป‰เบกเบฒเบฅเบฐเบšเบปเบšเบเปˆเบญเบเบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เบเบงเปˆเบฒ
    เบเบฒเบ™เบ”เบตเบšเบฑเบ เบฅเบฐเบซเบฑเบ”เบ”เบตเบšเบฑเบเบ•เบญเบ™เบ™เบตเป‰เบ–เบทเบเบ›เบดเบ”เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เปƒเบ™เบฅเบธเป‰เบ™เบชเป‰เบฒเบ‡ เปเบฅเบฐ
    เบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เปƒเบŠเป‰เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ "--enable-debug".

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™