ืืืื ืฉืืฉื, 2 ืืืืืืกื, ืฉืืืจืจื ืืฉืืจืืจ ืฉื re2c, ืืืืื ืืื ืื ืฉื ืื ืชืืื ืืืืื ืืื ืืฉืคืืช C ื-C++. Re2c ื ืืชื ื-1993 ืขื ืืื Peter Bamboulis ืืืืืื ื ืืกืืื ื ืฉื ืื ืชืืื ืืืืื ืืื ืืืืจืื ืืืื, ืืืืืื ืืืืืืืื ืืืจืื ืขื ืืื ืืืืจืืช ืืงืื ืฉื ืืฆืจ ืืืืฉืง ืืฉืชืืฉ ืืืืฉ ืืฆืืจื ืืืฆืืช ืืืคื ืืืืคืฉืจ ืืืืืืข ืื ืชืืื ืืงืืืช ืืืืขืืืืช ืืืกืืก ืงืื ืงืืื. ืืื, ืืคืจืืืงื ืคืืชื ืขื ืืื ืืงืืืื ืืืืฉืื ืืืืืช ืคืืืคืืจืื ืื ืืกืืืื ืืืืงืจืื ืืชืืื ืืืงืืืงืื ืืคืืจืืืืื ืืืืื ืืช ืืืฆื ืืกืืคื.
ืืืืืฉืื ืขืืงืจืืื ืืืจืกื 1.2:
-
ื ืืกืคื ืืจื ืืืฉื (ืคืฉืืื) ืืืืืง ืืช ืกืืฃ ื ืชืื ื ืืงืื
(ืืื ืืืืช "ืืืง EOF").
ืืฉื ืื, ื ืืกืคื ืชืฆืืจืช re2c:eof,
ืืืคืฉืจ ืื ืืืืืจ ืืช ืชื ืืืจืืื ื,
ืืืื $ ืืืืื ืฉืืืจื ืื ืืืงืกืจ
ืืืืข ืืืฆืืื ืืกืืฃ ื ืชืื ื ืืงืื.
ืืืืื ื ืืืกืืืจืืช, re2c ืืกืคืงืช ืืืืจื ืฉื ืืกืคืจ ืฉืืืืช ืืืืืช ืขืืืจ
ืกืืฃ ืชืฉืืืืช ืืฉืชื ืืช ืืืืืื, ืืขืืืืช ืืคืฉืืืช
ืืืฉืืืื. ืืฉืืื ืืืืฉื ื ืืขืื ืืคืฉื ืืช ืืชืืืช ืืงืื, ืชืื ืืื
ืชืื ืฉืืืจื ืขื ืืคืงืืืืืืช ืืืฉืืื ื ืจืืืช. ืืจืืื ืืฉื ืืช
ืขืืืื ืขืืื ืืขืฉืื ืืืืืช ืืืขืืฃ ืืืงืจืื ืืกืืืืื. -
ื ืืกืคื ืืช ืืืืืืช ืืืืื ืงืืฆืื ืืืฆืื ืืื ืืืืฆืขืืช ืืืจืื
/*!include:re2c "file.re" */ ืฉืื file.re
ืื ืืฉื ืฉื ืงืืืฅ include. Re2c ืืืคืฉ ืงืืฆืื ืืกืคืจืืืช ืืงืืฆืื ืืืืืืื,
ืืื ืื ืืจืฉืืืช ืื ืชืืืื ืฉืฆืืื ื ืืืืฆืขืืช ืืืคืฉืจืืช -I.
ืืงืืฆืื ืืืืืืื ืขืฉืืืื ืืืืื ืงืืฆืื ืืืจืื.
Re2c ืืกืคืง ืงืืฆืื "ืกืื ืืจืืืื" ืืกืคืจืืืช include/
ืคืจืืืงื - ืฆืคืื ืฉืืฆืืืจื ืฉื ืืืืจืืช ืฉืืืืฉืืืช
ืืืืืืื ืจืืืืจืืื, ืืฉืื ืืื ืืกืคืจืืื ืืกืื ืืจืืืช.
ืขื ืื, ืืืงืฉืช ืืขืืืืื, ื ืืกืฃ ืงืืืฅ ืืื ืขื ืืืืจืืช ืฉื ืงืืืืจืืืช Unicode. -
ื ืืกืคื ืืช ืืืืืืช ืืืฆืืจ ืงืืฆื ืืืชืจืช ืขื ืฉืจืืจืืชืืช
ืชืืื ืืืืฆืขืืช ืืคืฉืจืืืืช -t --type-header (ืื ืืชืืื
ืชืฆืืจืืช) ืืื ืืืืช ืืืฉืืช /*!header:re2c:on*/ ื
/*!header:re2c:off*/. ืื ืขืฉืื ืืืืืช ืฉืืืืฉื ืืืงืจืื ืฉืืื
ืืืฉืจ re2c ืฆืจืื ืืืฆืืจ ืืืืจืืช ืฉื ืืฉืชื ืื, ืืื ืื ืืคืงืืืืช ืืืงืจื,
ืืฉืืืืฉ ืืืืืืืช ืชืจืืื ืืืจืืช. -
Re2c ืืืื ืืขืช UTF8 ืืืืืื ืืืืืงืืช ืชืืืื ืืืืืืืื ืจืืืืจืืื.
ืืืจืืจืช ืืืื, re2c ืื ืชื ืืืืืืื ืืื "โx โy" as.
ืจืฆืฃ ืฉื ืชืืื ASCII 1-bit e2 88 80 78 20 e2 88 83 79
(ืงืืื hex), ืืืืฉืชืืฉืื ืฆืจืืืื ืืืืืื ืืชืืื Unicode ืืืืคื ืืื ื:
"u2200x u2203y". ืื ืืืื ืื ื ืื ืืืืชื ืฆืคืื ืขืืืจ ืจืืื
ืืฉืชืืฉืื (ืืคื ืฉืืขืืืื ืืืืืื ืืืืื ืงืืืขืื). ืื ืขืืฉืื
re2c ืืกืคืง ืืคืฉืจืืช ืงืืืื --input ,
ืื ืฉืืืคืฉืจ ืื ืืฉื ืืช ืืช ืืืชื ืืืืช ืืื ืชื "โx โy" ื
2200 78 20 2203. -
Re2c ืืืคืฉืจ ืืขืช ืฉืืืืฉ ืืืืงืื ืจืืืืื ืฉื re2c ืืืฆื -r --reuse.
ืื ื ืื ืื ืงืืืฅ ืืงืื ืืืื ืืืืงืื ืจืืื ืืจืง ืืืง ืืื
ืฆืจืื ืืขืฉืืช ืฉืืืืฉ ืืืืจ. -
ืขืืฉืื ืืชื ืืืื ืืืืืืจ ืืช ืืคืืจืื ืฉื ืืืืจืืช ืืืืืขืืช ืฉืืืื
ืืืืฆืขืืช ืืืคืฉืจืืช ืืืืฉื --location-format . ืคืืจืื GNU ืืืฆื
ืืชืืจ ืฉื ืงืืืฅ:ืฉืืจื:ืขืืืื:, ืืคืืจืื MSVC ืืชืืจ ืฉื ืงืืืฅ(ืฉืืจื,ืขืืืื).
ืชืืื ื ืื ืขืฉืืื ืืืืืช ืฉืืืืฉืืช ืขืืืจ ืืืืื IDE.
ื ืืกืคื ืื ืืคืฉืจืืช --verbose, ืืฉืจ ืืืคืืกื ืืืืขืช ื ืืฆืืื ืงืฆืจื ืื ืืื ืืฆืืืื. -
ืืฆื ื"ืชืืืืืช" ืขื flex ืฉืืคืจ - ืืื ืฉืืืืืช ื ืืชืื ืชืืงื ื ื
ืขืืืคืืช ืืคืขืื ืฉืืืื ืืืงืจืื ื ืืืจืื.
ืืืืื ื ืืืกืืืจืืช, ืืืคืฉืจืืช -F --flex-support ืืคืฉืจื ืื ืืืชืื ืงืื
ืืขืืจืื ืืกืื ืื flex ืืกืื ืื re2c, ืื ืฉืืงืฉื ืืขื ืขื ืื ืืชืื.
ืืฆื ืชืืืืืช Flex ืืฉืืฉ ืืขืชืื ืจืืืงืืช ืืงืื ืืืฉ,
ืืื re2c ืืืฉืืื ืืชืืื ืื ืืชืืืืืช ืืืืืจ. -
ืืืคืจืืืจ ืืืกืืจ ืืืืงืช ืืชืืืื / ืื ืืขืช
ืืคื ื ืืจืืืช ืืงืืืื, ืื ืฉืืืคืฉืจ ืืืฉืชืืฉ ืื ืืืกืคืจ ืืืื ืืืชืจ ืฉื ืืงืจืื,
ืื ื ืขืฉื ืฉืืืืฉ ืืงืืืื ืืืจื ืชื ืืฉืชื ื (ืืืืืื UTF8). -
ืงืืืฅ ืืคืื ื ืืฆืจ ืืขืช ืืฆืืจื ืืืืืืช: re2c ืืืฆืจ ืชืืืื ืงืืืฅ ืืื ื
ืืืืชื ืืชืืื ืืช ืืชืืฆืื, ืืื ืืฉื ื ืืช ืฉื ืืงืืืฅ ืืืื ื ืืคืื
ืคืขืืื ืืืช. -
ืืชืืขืื ืืืฉืื ืื ืืชื ืืืืฉ; ืืืืืื ื ืืกืคื ืืืฉืื
ืคืจืงืื ืืืื ืืืืื ืืืืืจ
ะธ ืขื ืืจืืื ืืืืืง ืืช ืกืืฃ ื ืชืื ื ืืงืื.
ืืชืืขืื ืืืืฉ ื ืืกืฃ ืืืืคืก
ืืืจืื ืืงืืฃ ืื ืขืืื ืืื
ืขื ืืืืืืืช (ืืืชื ืืงืืจืืช ืืืฆืืื ื-manpage ืืืชืืขืื ืืืงืืื).
ื ืขืฉื ื ืืกืืื ืืช ืืจืืขืื ืืฉืคืจ ืืช ืงืจืืืืช ืืืชืจ ืืืืคืื ืื. -
ืื ืงืืืช ืืืื ืฉื ืืืคืชืืื, re2c ืจืืฉื ืชืช-ืืขืจืืช ืฉืืื ืืืชืจ
ืืืชืืจ ืืืืื ืงืื ืืืชืืจ ืืืืื ืืืฉืืช ืืขืช ื-builds ืืืืืจื ื
ื ืืชื ืืืคืขืื ืืืืฆืขืืช ืืคืฉืจืืช ืืชืฆืืจื --enable-debug.
ืืฉืืจืืจ ืืื ืืงื ืืจืื ืืื - ืืืขื ืฉื ื ืฉืืื.
ืจืื ืืืื, ืืื ืชืืื, ืืืฉืงืข ืืคืืชืื ืืกืืจืช ืชืืืืจืืืช ืืืืชืืื
ืืืืจืื "ืืืืืฅ POSIX Submatch ืืขืื ื-NFA".
ืืืืืืจืืชืืื ืืืชืืืจืื ืืืืืจ ืืืืฉืืื ืืกืคืจืืืช ืื ืืกืื libre2c
(ืื ืืืช ืืกืคืจืืื ืืืืืืช ืืืื ืืืฉืืชืช ืืืจืืจืช ืืืื ืืืืคืขืืช ืขื ืืื ืืคืฉืจืืช ืืชืฆืืจื
--enable-libs). ืืกืคืจืืื ืืื ื ื ืชืคืกืช ืืืชืืจื ืืงืืื
ืคืจืืืงืืื ืืื RE2, ืืื ืืคืืืคืืจืืช ืืืงืจ ืืคืืชืื ืืืฉ
ืืืืืจืืชืืื (ืฉืืคืฉืจ ืืืฉืชืืฉ ืืื ื-re2c ืื ืืคืจืืืงืืื ืืืจืื).
ืื ื ืื ืื ืื ืงืืืช ืืื ืฉื ืืืืงืืช, ืืืืช ืืืื ืืืฆืืจืช ืืจืืืืช ืืฉืคืืช ืืืจืืช.
ืชืืื ืืืคืชืื re2c ืืื ืื ืฉืขืืจ ืืืจืกื ืืื ืืงืจืืช,
ืืืงืืืื ืืืื ืืจืขืืื ืืช, ืืืืืื ืืืืื, ืชืืงืื ืื, ืืืจื ืืื'. ;]
ืืงืืจ: linux.org.ru