เจธเจผเฉเฉฑเจ•เจฐเจตเจพเจฐ, 2 เจ…เจ—เจธเจค เจจเฉ‚เฉฐ, C เจ…เจคเฉ‡ C++ เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฒเจˆ เจฒเฉ‡เจ•เจธเฉ€เจ•เจฒ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ•เจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจฎเฉเจซเจค เจœเจจเจฐเฉ‡เจŸเจฐ, re2c เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€เฅค Re2c เจจเฉ‚เฉฐ 1993 เจตเจฟเฉฑเจš เจชเฉ€เจŸเจฐ เจฌเฉˆเจ‚เจฌเฉ‹เจฒเจฟเจธ เจฆเฉเจ†เจฐเจพ เจฌเจนเฉเจค เจคเฉ‡เจœเจผ เจธเจผเจฌเจฆเจพเจตเจฒเฉ€ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ•เจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจœเจจเจฐเฉ‡เจŸเจฐ เจตเจœเฉ‹เจ‚ เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจธเฉ€, เจœเฉ‹ เจ•เจฟ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจ•เฉ‹เจก เจฆเฉ€ เจ—เจคเฉ€ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ…เจธเจงเจพเจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจฒเจšเจ•เจฆเจพเจฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฆเฉเจ†เจฐเจพ เจฆเฉ‚เจœเฉ‡ เจœเจจเจฐเฉ‡เจŸเจฐเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจ–เจฐเจพ เจนเฉˆ เจœเฉ‹ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฎเฉŒเจœเฉ‚เจฆเจพ เจ•เฉ‹เจก เจ…เจงเจพเจฐ เจตเจฟเฉฑเจš เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจ…เจคเฉ‡ เจ•เฉเจธเจผเจฒเจคเจพ เจจเจพเจฒ เจเจฎเจฌเฉ‡เจก เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‰เจฆเฉ‹เจ‚ เจคเฉ‹เจ‚, เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจฆเฉเจ†เจฐเจพ เจตเจฟเจ•เจธเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจฐเจธเจฎเฉ€ เจตเจฟเจ†เจ•เจฐเจฃ เจ…เจคเฉ‡ เจธเฉ€เจฎเจค เจฐเจพเจœ เจฎเจธเจผเฉ€เจจเจพเจ‚ เจฆเฉ‡ เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจชเฉเจฐเจฏเฉ‹เจ—เจพเจ‚ เจ…เจคเฉ‡ เจ–เฉ‹เจœเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจฌเจฃเจฟเจ† เจนเฉ‹เจ‡เจ† เจนเฉˆเฅค

เจธเฉฐเจธเจ•เจฐเจฃ 1.2 เจตเจฟเฉฑเจš เจฎเฉเฉฑเจ– เจจเจตเฉ€เจจเจคเจพเจตเจพเจ‚:

  • เจ‡เจจเจชเฉเจŸ เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจ…เฉฐเจค เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ (เจธเจฐเจฒ) เจคเจฐเฉ€เจ•เจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ
    (เจ…เฉฐเจ—เจฐเฉ‡เจœเจผเฉ€ "EOF เจจเจฟเจฏเจฎ")เฅค
    เจ‡เจธเจฆเฉ‡ เจฒเจˆ, re2c:eof เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ,
    เจคเฉเจนเจพเจจเฉ‚เฉฐ เจŸเจฐเจฎเฉ€เจจเจฒ เจ…เฉฑเจ–เจฐ เจšเฉเจฃเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ,
    เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ $ เจจเจฟเจฏเจฎ เจœเฉ‹ เจ•เจฟ เจซเจพเจ‡เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจฒเฉˆเจ•เจธเจฐ
    เจ‡เจจเจชเฉเจŸ เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจ…เฉฐเจค เจคเฉฑเจ• เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจชเจนเฉเฉฐเจš เจ—เจฟเจ†เฅค
    เจ‡เจคเจฟเจนเจพเจธเจ• เจคเฉŒเจฐ 'เจคเฉ‡, re2c เจ•เจˆ เจคเจธเจฆเฉ€เจ• เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจฆเฉ€ เจšเฉ‹เจฃ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ
    เจธเฉ€เจฎเจพเจตเจพเจ‚, เจ•เฉเจธเจผเจฒเจคเจพ เจ…เจคเฉ‡ เจธเจพเจฆเจ—เฉ€ เจตเจฟเฉฑเจš เจตเฉฑเจ–เฉ‹-เจตเฉฑเจ–เจฐเฉ‡ เจ‡เจจเจชเฉเจŸเจธ เจฆเจพ เจ…เฉฐเจค
    เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ. เจจเจตเฉ€เจ‚ เจตเจฟเจงเฉ€ เจ•เฉ‹เจก เจฒเจฟเจ–เจฃ เจจเฉ‚เฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ, เจœเจฆเจ•เจฟ
    เจ…เจธเจฐเจฆเจพเจฐ เจ…เจคเฉ‡ เจตเจฟเจ†เจชเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจนเฉ‹เจฃ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจเฅค เจชเฉเจฐเจพเจฃเฉ‡ เจคเจฐเฉ€เจ•เฉ‡
    เจ…เจœเฉ‡ เจตเฉ€ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจ•เฉเจ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจคเจฐเจœเฉ€เจน เจฆเจฟเฉฑเจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

  • เจ‡เฉฑเจ• เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฟเจต เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฌเจพเจนเจฐเฉ€ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ
    /*!include:re2c "file.re" */ where file.re
    เจ‡เจน เจธเจผเจพเจฎเจฟเจฒ เจซเจพเจˆเจฒ เจฆเจพ เจจเจพเจฎ เจนเฉˆเฅค Re2c เจซเจพเจˆเจฒ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจธเจฎเฉ‡เจค เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจ–เฉ‹เจœ เจ•เจฐเจฆเจพ เจนเฉˆ,
    เจจเจพเจฒ เจนเฉ€ -I เจตเจฟเจ•เจฒเจช เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฆเจฐเจธเจพเจ เจฎเจพเจฐเจ—เจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจšเฅค
    เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจซเจผเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจซเจผเจพเจˆเจฒเจพเจ‚ เจธเจผเจพเจฎเจฒ เจนเฉ‹ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจเฅค
    Re2c เจธเจผเจพเจฎเจฟเจฒ/ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจตเจฟเฉฑเจš "เจธเจŸเฉˆเจ‚เจกเจฐเจก" เจซเจพเจˆเจฒเจพเจ‚ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ
    เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ - เจ‡เจน เจ‰เจฎเฉ€เจฆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ‰เฉฑเจฅเฉ‡ เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ‚ เจ‡เจ•เฉฑเจ เฉ€เจ†เจ‚ เจนเฉ‹เจฃเจ—เฉ€เจ†เจ‚
    เจจเจฟเจฏเจฎเจค เจธเจฎเฉ€เจ•เจฐเจจ, เจฎเจฟเจ†เจฐเฉ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจตเจฐเจ—เจพ เจ•เฉเจ.
    เจนเฉเจฃ เจคเฉฑเจ•, เจตเจฐเจ•เจฐเจพเจ‚ เจฆเฉ€ เจฌเฉ‡เจจเจคเฉ€ 'เจคเฉ‡, เจฏเฉ‚เจจเฉ€เจ•เฉ‹เจก เจธเจผเฉเจฐเฉ‡เจฃเฉ€เจ†เจ‚ เจฆเฉ€เจ†เจ‚ เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ‚ เจตเจพเจฒเฉ€ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค

  • เจ†เจฐเจฌเจฟเจŸเจฐเฉ‡เจฐเฉ€ เจจเจพเจฒ เจธเจฟเจฐเจฒเฉ‡เจ– เจซเจพเจˆเจฒเจพเจ‚ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฏเฉ‹เจ—เจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ
    -t --type-เจธเจฟเจฐเจฒเฉ‡เจ– เจšเฉ‹เจฃเจพเจ‚ (เจœเจพเจ‚ เจ‰เจšเจฟเจค
    เจธเฉฐเจฐเจšเจจเจพ) เจ…เจคเฉ‡ เจจเจตเฉ‡เจ‚ เจจเจฟเจฐเจฆเฉ‡เจธเจผ /*!header:re2c:on*/ เจ…เจคเฉ‡
    /*!header:re2c:off*/. เจ‡เจน เจ‰เจนเจจเจพเจ‚ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจฒเจพเจญเจฆเจพเจ‡เจ• เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡
    เจœเจฆเฉ‹เจ‚ re2c เจจเฉ‚เฉฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ, เจฌเจฃเจคเจฐ เจ…เจคเฉ‡ เจฎเฉˆเจ•เจฐเฉ‹ เจฆเฉ€ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ,
    เจนเฉ‹เจฐ เจ…เจจเฉเจตเจพเจฆ เจ‡เจ•เจพเจˆเจ†เจ‚ เจตเจฟเฉฑเจš เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

  • Re2c เจนเฉเจฃ เจจเจฟเจฏเจฎเจค เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ เจตเจฟเฉฑเจš UTF8 เจฒเจฟเจŸเจฐเจฒ เจ…เจคเฉ‡ เจ…เฉฑเจ–เจฐ เจ•เจฒเจพเจธเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจเจฆเจพ เจนเฉˆเฅค
    เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, re2c "โˆ€x โˆƒy" เจตเจฐเจ—เฉ‡ เจธเจฎเฉ€เจ•เจฐเจจเจพเจ‚ เจจเฉ‚เฉฐ เจชเจพเจฐเจธ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
    1-เจฌเจฟเฉฑเจŸ ASCII เจ…เฉฑเจ–เจฐเจพเจ‚ เจฆเจพ เจ•เฉเจฐเจฎ e2 88 80 78 20 e2 88 83 79
    (เจนเฉˆเจ•เจธ เจ•เฉ‹เจก), เจ…เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจฏเฉ‚เจจเฉ€เจ•เฉ‹เจก เจ…เฉฑเจ–เจฐเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจšเจฃเจพ เจชเฉˆเจ‚เจฆเจพ เจนเฉˆ:
    "u2200x u2203y"เฅค เจ‡เจน เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฒเฉ‹เจ•เจพเจ‚ เจฒเจˆ เจฌเจนเฉเจค เจ…เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจ…เจคเฉ‡ เจ…เจšเจพเจจเจ• เจนเฉˆ
    เจ‰เจชเจญเฉ‹เจ—เจคเจพ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฒเจ—เจพเจคเจพเจฐ เจฌเฉฑเจ— เจฐเจฟเจชเฉ‹เจฐเจŸเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฎเจพเจฃเจฟเจค)เฅค เจ‡เจธ เจฒเจˆ เจนเฉเจฃ
    re2c --input-encoding ,
    เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจตเจฟเจนเจพเจฐ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจ…เจคเฉ‡ "โˆ€x โˆƒy" เจจเฉ‚เฉฐ เจชเจพเจฐเจธ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ
    22007820220379.

  • Re2c เจนเฉเจฃ เจฐเฉˆเจ—เฉ‚เจฒเจฐ re2c เจฌเจฒเฉŒเจ•เจธ เจจเฉ‚เฉฐ -r --reuse เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจตเจฐเจคเจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค
    เจ‡เจน เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ‡เฉฐเจชเฉเฉฑเจŸ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฌเจฒเจพเจ• เจนเจจ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉเจ เจนเฉ€ เจนเจจ
    เจฎเฉเฉœ เจตเจฐเจคเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

  • เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจ—เจฒเจคเฉ€ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฆเจพ เจซเจพเจฐเจฎเฉˆเจŸ เจธเฉˆเฉฑเจŸ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹
    เจจเจตเฉ€เจ‚ เจšเฉ‹เจฃ --location-format . GNU เจซเจพเจฐเจฎเฉˆเจŸ เจฆเจฟเจ–เจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ
    เจซเจพเจˆเจฒ เจจเจพเจฎ: เจฒเจพเจˆเจจ: เจ•เจพเจฒเจฎ:, เจ…เจคเฉ‡ MSVC เจซเจพเจฐเจฎเฉˆเจŸ เจจเฉ‚เฉฐ เจซเจพเจˆเจฒ เจจเจพเจฎ (เจฒเจพเจˆเจจ, เจ•เจพเจฒเจฎ) เจตเจœเฉ‹เจ‚เฅค
    เจ‡เจน เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ IDE เจชเฉเจฐเฉ‡เจฎเฉ€เจ†เจ‚ เจฒเจˆ เจฒเจพเจญเจฆเจพเจ‡เจ• เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค
    เจ‡เฉฑเจ• --เจตเจฐเจฌเฉ‹เจœเจผ เจตเจฟเจ•เจฒเจช เจตเฉ€ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจธเจซเจฒ เจนเฉ‹เจฃ 'เจคเฉ‡ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจœเจฟเฉฑเจค เจธเฉเจจเฉ‡เจนเจพ เจชเฉเจฐเจฟเฉฐเจŸ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

  • เจซเจฒเฉˆเจ•เจธ เจฆเฉ‡ เจจเจพเจฒ "เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ" เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจธเฉเจงเจพเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ - เจ•เฉเจ เจชเจพเจฐเจธเจฟเฉฐเจ— เจ—เจฒเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡
    เจฆเฉเจฐเจฒเฉฑเจญ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ—เจฒเจค เจ†เจชเจฐเฉ‡เจŸเจฐ เจคเจฐเจœเฉ€เจนเฅค
    เจ‡เจคเจฟเจนเจพเจธเจ• เจคเฉŒเจฐ 'เจคเฉ‡, -F --flex-support เจตเจฟเจ•เจฒเจช เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉ‹เจก เจฒเจฟเจ–เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ
    เจซเจฒเฉˆเจ•เจธ เจธเจผเฉˆเจฒเฉ€ เจ…เจคเฉ‡ re2c เจธเจผเฉˆเจฒเฉ€ เจตเจฟเฉฑเจš เจฎเจฟเจฒเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจชเจพเจฐเจธเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจฅเฉ‹เฉœเจพ เจฎเฉเจธเจผเจ•เจฒ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค
    เจจเจตเฉ‡เจ‚ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจซเจฒเฉˆเจ•เจธ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจฎเฉ‹เจก เจ˜เฉฑเจŸ เจนเฉ€ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ,
    เจชเจฐ re2c เจฌเฉˆเจ•เจตเจฐเจก เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจฒเจˆ เจ‡เจธเจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค

  • เจ…เฉฑเจ–เจฐ เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจ˜เจŸเจพเจ“ เจ†เจชเจฐเฉ‡เจŸเจฐ / เจนเฉเจฃ เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ
    เจเจจเจ•เฉ‹เจกเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจซเฉˆเจฒเจพเจ‰เจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจœเฉ‹ เจ‡เจธเจจเฉ‚เฉฐ เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจ•เฉ‡เจธเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจคเจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ,
    เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ…เฉฑเจ–เจฐ เจฒเฉฐเจฌเจพเจˆ เจ‡เฉฐเจ•เฉ‹เจกเจฟเฉฐเจ— เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ UTF8)เฅค

  • เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจซเจพเจˆเจฒ เจนเฉเจฃ เจเจŸเฉ‹เจฎเจฟเจ• เจคเฉŒเจฐ เจคเฉ‡ เจฌเจฃเจพเจˆ เจ—เจˆ เจนเฉˆ: re2c เจชเจนเจฟเจฒเจพเจ‚ เจ‡เฉฑเจ• เจ…เจธเจฅเจพเจˆ เจซเจพเจˆเจฒ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ
    เจ…เจคเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš เจจเจคเฉ€เจœเจพ เจฒเจฟเจ–เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจตเจฟเฉฑเจš เจ…เจธเจฅเจพเจˆ เจซเจพเจˆเจฒ เจฆเจพ เจจเจพเจฎ เจฌเจฆเจฒเจฆเจพ เจนเฉˆ
    เจ‡เฉฑเจ• เจ“เจชเจฐเฉ‡เจธเจผเจจ.

  • เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ เจ…เจคเฉ‡ เจฆเฉเจฌเจพเจฐเจพ เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจธเฉ€; เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡, เจจเจตเฉ‡เจ‚ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจ
    เจ…เจงเจฟเจ†เจ เจฌเจซเจฐ เจจเฉ‚เฉฐ เจญเจฐเจจ เจฌเจพเจฐเฉ‡
    ะธ เจ‡เจจเจชเฉเจŸ เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจ…เฉฐเจค เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฆเฉ‡ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจฌเจพเจฐเฉ‡.
    เจจเจตเฉ‡เจ‚ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจซเจพเจฐเจฎ เจตเจฟเฉฑเจš เจ‡เจ•เฉฑเจ เฉ‡ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ
    เจ‡เฉฑเจ• เจตเจฟเจ†เจชเจ• เจ‡เฉฑเจ• เจชเฉฐเจจเฉ‡ เจฆเจพ เจฎเฉˆเจจเฉ‚เจ…เจฒ
    เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ (เจ‰เจนเฉ€ เจธเจฐเฉ‹เจค เจฎเฉˆเจจเจชเฉ‡เจœ เจ…เจคเฉ‡ เจ”เจจเจฒเจพเจˆเจจ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ)เฅค
    เจซเฉ‹เจจเจพเจ‚ 'เจคเฉ‡ เจธเจพเจˆเจŸ เจฆเฉ€ เจชเฉœเฉเจนเจจเจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจฎเจพเฉœเฉ€เจ†เจ‚ เจ•เฉ‹เจธเจผเจฟเจธเจผเจพเจ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจนเจจเฅค

  • เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจฆเฉ‡ เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚, re2c เจจเฉ‡ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจธเฉฐเจชเฉ‚เจฐเจจ เจ‰เจช-เจธเจฟเจธเจŸเจฎ เจนเจพเจธเจฒ เจ•เจฐ เจฒเจฟเจ† เจนเฉˆ
    เจกเฉ€เจฌเฉฑเจ—เจฟเฉฐเจ— เจกเฉ€เจฌเจ—เจฟเฉฐเจ— เจ•เฉ‹เจก เจนเฉเจฃ เจฐเฉ€เจฒเฉ€เจœเจผ เจฌเจฟเจฒเจก เจ…เจคเฉ‡ เจตเจฟเฉฑเจš เจ…เจธเจฎเจฐเฉฑเจฅ เจนเฉˆ
    เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเจ•เจฒเจช --enable-debug เจตเจฐเจค เจ•เฉ‡ เจฏเฉ‹เจ— เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจ‡เจธ เจฐเฉ€เจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฒเฉฐเจฎเจพ เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เจฟเจ† - เจฒเจ—เจญเจ— เจ‡เฉฑเจ• เจชเฉ‚เจฐเจพ เจธเจพเจฒเฅค
เจฌเจนเฉเจคเจพ เจธเจฎเจพเจ‚, เจนเจฎเฉ‡เจธเจผเจพ เจตเจพเจ‚เจ—, เจ‡เฉฑเจ• เจธเจฟเจงเจพเจ‚เจคเจ• เจขเจพเจ‚เจšเฉ‡ เจ…เจคเฉ‡ เจฒเจฟเจ–เจค เจจเฉ‚เฉฐ เจตเจฟเจ•เจธเจค เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ–เจฐเจšเจฟเจ† เจ—เจฟเจ† เจธเฉ€
เจฒเฉ‡เจ– "NFA 'เจคเฉ‡ เจ•เฉเจธเจผเจฒ POSIX เจธเจฌเจฎเฉˆเจš เจเจ•เจธเจŸเจฐเฉˆเจ•เจธเจผเจจ".
เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจตเจฐเจฃเจฟเจค เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจชเฉเจฐเจฏเฉ‹เจ—เจพเจคเจฎเจ• เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ libre2c เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ
(เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจ…เจคเฉ‡ เจฌเฉˆเจ‚เจšเจฎเจพเจฐเจ• เจฌเจฃเจพเจ‰เจฃเจพ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ…เจฏเฉ‹เจ— เจนเฉˆ เจ…เจคเฉ‡ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเจ•เจฒเจช เจฆเฉเจ†เจฐเจพ เจฏเฉ‹เจ— เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ
--enable-libs)เฅค เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจฎเฉŒเจœเฉ‚เจฆเจพ เจฆเฉ‡ เจชเฉเจฐเจคเฉ€เจฏเฉ‹เจ—เฉ€ เจตเจœเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ
RE2 เจตเจฐเจ—เฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ, เจชเจฐ เจจเจตเฉ‡เจ‚ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจฒเจˆ เจ‡เฉฑเจ• เจ–เฉ‹เจœ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎ เจตเจœเฉ‹เจ‚
เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ (เจœเจฟเจธ เจจเฉ‚เฉฐ เจซเจฟเจฐ re2c เจœเจพเจ‚ เจนเฉ‹เจฐ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ)เฅค
เจ‡เจน เจŸเฉˆเจธเจŸเจฟเฉฐเจ—, เจฌเฉˆเจ‚เจšเจฎเจพเจฐเจ• เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฒเจˆ เจฌเจพเจˆเจกเจฟเฉฐเจ— เจฌเจฃเจพเจ‰เจฃ เจฆเฉ‡ เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚ เจตเฉ€ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉˆเฅค

re2c เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจตเฉฑเจฒเฉ‹เจ‚ เจ‡เจธ เจฐเฉ€เจฒเฉ€เจœเจผ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจนเจฐ เจตเจฟเจ…เจ•เจคเฉ€ เจฆเจพ เจงเฉฐเจจเจตเจพเจฆ,
เจ…เจคเฉ‡ เจตเจฟเจšเจพเจฐเจพเจ‚, เจฌเฉฑเจ— เจฐเจฟเจชเฉ‹เจฐเจŸเจพเจ‚, เจชเฉˆเจš, เจฎเจจเฉ‹เจฌเจฒ, เจ†เจฆเจฟ เจฒเจˆ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจญเจพเจˆเจšเจพเจฐเฉ‡ เจจเฉ‚เฉฐเฅค ;]

เจธเจฐเฉ‹เจค: linux.org.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹