Re2c рд▓реЗрдХреНрд╕рд░ рдЬрдирд░реЗрдЯрд░ 1.2 рдХрд╛ рд╡рд┐рдореЛрдЪрди

рд╣реБрдЖ ╤А╨╡╨╗╨╕╨╖ re2c, C рдФрд░ C++ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдГрд╢реБрд▓реНрдХ рд▓реЗрдХреНрд╕рд┐рдХрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЬрдирд░реЗрдЯрд░ред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ re2c рдХреЛ 1993 рдореЗрдВ рдкреАрдЯрд░ рдмрдореНрдмреБрд▓рд┐рд╕ рджреНрд╡рд╛рд░рд╛ рдмрд╣реБрдд рддреЗрдЬрд╝ рд▓реЗрдХреНрд╕рд┐рдХрд▓ рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХреЗ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреА рдЧрддрд┐ рдФрд░ рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд▓рдЪреАрд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЕрдиреНрдп рдЬрдирд░реЗрдЯрд░ рд╕реЗ рднрд┐рдиреНрди рдерд╛ рдЬреЛ рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд░ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдореМрдЬреВрджрд╛ рдХреЛрдб рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдзрд╛рд░ред рддрдм рд╕реЗ, рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЧрдИ рд╣реИ рдФрд░ рдФрдкрдЪрд╛рд░рд┐рдХ рд╡реНрдпрд╛рдХрд░рдг рдФрд░ рдкрд░рд┐рдорд┐рдд рд░рд╛рдЬреНрдп рдорд╢реАрдиреЛрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдордВрдЪ рдмрдиреА рд╣реБрдИ рд╣реИред

рд░рд┐рд▓реАрдЬрд╝ рдХреА рддреИрдпрд╛рд░реА рдореЗрдВ рд▓рдЧрднрдЧ рдкреВрд░рд╛ рдПрдХ рд╕рд╛рд▓ рд▓рдЧ рдЧрдпрд╛ред рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдкрд░реЗрдЦрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╡реНрдпрддреАрдд рд╣реБрдЖ
рд▓реЗрдЦ "рдПрдирдПрдлрдП рдкрд░ рдХреБрд╢рд▓ рдкреЙрдЬрд╝рд┐рдХреНрд╕ рд╕рдмрдореИрдЪ рдПрдХреНрд╕рдЯреНрд░реИрдХреНрд╢рди"ред
рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА libre2c рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рд╣реИрдВ
(рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд╣реИ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╡рд┐рдХрд▓реНрдк "-enable-libs" рджреНрд╡рд╛рд░рд╛ рд╕рдХреНрд╖рдо рд╣реИ)ред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп RE2 рдЬреИрд╕реА рдореМрдЬреВрджрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реЛрдз рдордВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ
рдПрд▓реНрдЧреЛрд░рд┐рджрдо (рдЬрд┐рд╕реЗ рдлрд┐рд░ re2c рдпрд╛ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рдпрд╣ рдкрд░реАрдХреНрд╖рдг, рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдиреЗ рдФрд░ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдмрдирд╛рдиреЗ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

рд╕рдВрд╕реНрдХрд░рдг re2c 1.2 рдореЗрдВ рдореБрдЦреНрдп рдирд╡рд╛рдЪрд╛рд░:

  • рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рдЕрдВрдд рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╕рд░рд▓реАрдХреГрдд рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реА рдЧрдИ ("рдИрдУрдПрдл рдирд┐рдпрдо")ред рдЗрд╕рдХреЗ рд▓рд┐рдП, "re2c:eof" рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ,
    рдЖрдкрдХреЛ рдЯрд░реНрдорд┐рдирд▓ рд╡рд░реНрдг рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ,
    рдФрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдирд┐рдпрдо "$", рдЬреЛ рд▓реЗрдХреНрд╕рд░ рд╣реЛрдиреЗ рдкрд░ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
    рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ред
    рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ, re2c рдХрдИ рд╕рддреНрдпрд╛рдкрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ
    рд╕реАрдорд╛, рджрдХреНрд╖рддрд╛ рдФрд░ рд╕рд░рд▓рддрд╛ рдореЗрдВ рднрд┐рдиреНрди-рднрд┐рдиреНрди рдЗрдирдкреБрдЯ рдХрд╛ рдЕрдВрдд
    рдЕрдиреБрдкреНрд░рдпреЛрдЧред рдирдИ рд╡рд┐рдзрд┐ рд▓реЗрдЦрди рдХреЛрдб рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рд╣реИ
    рдкреНрд░рднрд╛рд╡реА рдФрд░ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рд░рд╣рддреЗ рд╣реБрдПред рдкреБрд░рд╛рдиреЗ рддрд░реАрдХреЗ
    рдЕрднреА рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

  • рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рд╣рд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИ
    "/*!include:re2c "file.re" */", рдЬрд╣рд╛рдВ "file.re" рд╢рд╛рдорд┐рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╣реИред Re2c рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рд╣рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ,
    рд╕рд╛рде рд╣реА "-I" рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрдереЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рднреАред
    рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ.
    Re2c "include/" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ "рдорд╛рдирдХ" рдлрд╝рд╛рдЗрд▓реЗрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ
    рдкреНрд░реЛрдЬреЗрдХреНрдЯ - рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧреА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рд╡рд╣рд╛рдВ рдЬрдорд╛ рд╣реЛрдВрдЧреА
    рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди, рдорд╛рдирдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬреИрд╕рд╛ рдХреБрдЫред
    рдЕрдм рддрдХ, рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЗ рдЕрдиреБрд░реЛрдз рдкрд░, рдпреВрдирд┐рдХреЛрдб рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рд╡рд╛рд▓реА рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИред

  • рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИ
    "-t --type-header" рд╡рд┐рдХрд▓реНрдк (рдпрд╛ рдЙрдкрдпреБрдХреНрдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдордЧреНрд░реА
    рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди) рдФрд░ рдирдП рдирд┐рд░реНрджреЗрд╢ "/*!header:re2c:on*/" рдФрд░
    "/*!рд╣реЗрдбрд░:re2c:off*/"ред рдпрд╣ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ
    рдЬрдм re2c рдХреЛ рдЪрд░, рд╕рдВрд░рдЪрдирд╛рдУрдВ рдФрд░ рдореИрдХреНрд░реЛрдЬрд╝ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ,
    рдЕрдиреНрдп рдЕрдиреБрд╡рд╛рдж рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

  • Re2c рдЕрдм рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ UTF8 рд╢рд╛рдмреНрджрд┐рдХ рдФрд░ рд╡рд░реНрдг рд╡рд░реНрдЧреЛрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реИред
    рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, re2c "тИАx тИГy" рдЬреИрд╕реЗ рднрд╛рд╡реЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИ
    1-рдмрд┐рдЯ ASCII рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЕрдиреБрдХреНрд░рдо "e2 88 80 78 20 e2 88 83 79"
    (рд╣реЗрдХреНрд╕ рдХреЛрдб), рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдЪрдирд╛ рд╣реЛрдЧрд╛:
    тАЬ\\u2200x \\u2203yредтАЭ рдпрд╣ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реИ
    рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (рдЬреИрд╕рд╛ рдХрд┐ рд▓рдЧрд╛рддрд╛рд░ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ)ред рддреЛ рдЕрдм
    re2c "--рдЗрдирдкреБрдЯ-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ {ascii |" рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ utf8}",
    рдЬреЛ рдЖрдкрдХреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрджрд▓рдиреЗ рдФрд░ "тИАx тИГy" рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
    "2200 78 20 2203 79ред"

  • Re2c рдЕрдм рдирд┐рдпрдорд┐рдд re2c рдмреНрд▓реЙрдХ рдХреЛ "-r --reuse" рдореЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
    рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдпрджрд┐ рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдИ рдмреНрд▓реЙрдХ рд╣реЛрдВ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдХреБрдЫ рд╣реА рд╣реЛрдВ
    рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

  • рдЕрдм рдЖрдк рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдФрд░ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
    рдирдП рд╡рд┐рдХрд▓реНрдк "--рд╕реНрдерд╛рди-рдкреНрд░рд╛рд░реВрдк {gnu |" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдордПрд╕рд╡реАрд╕реА}"ред рдЬреАрдПрдирдпреВ рдкреНрд░рд╛рд░реВрдк рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ
    "рдлрд╝рд╛рдЗрд▓ рдирд╛рдо: рд▓рд╛рдЗрди: рдХреЙрд▓рдо:" рдХреЗ рд░реВрдк рдореЗрдВ, рдФрд░ MSVC рдкреНрд░рд╛рд░реВрдк "рдлрд╝рд╛рдЗрд▓ рдирд╛рдо (рд▓рд╛рдЗрди, рдХреЙрд▓рдо)" рдХреЗ рд░реВрдк рдореЗрдВред
    рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЖрдИрдбреАрдИ рдкреНрд░реЗрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИред
    рдПрдХ "--verbose" рд╡рд┐рдХрд▓реНрдк рднреА рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рдЬрдп рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

  • рдлреНрд▓реЗрдХреНрд╕ рдХреЗ рд╕рд╛рде "рд╕рдВрдЧрддрддрд╛" рдореЛрдб рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдХреБрдЫ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░
    рджреБрд░реНрд▓рдн рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЧрд▓рдд рдСрдкрд░реЗрдЯрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ред
    рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ, "-F --flex-suppor" рд╡рд┐рдХрд▓реНрдк рдЖрдкрдХреЛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
    рдлреНрд▓реЗрдХреНрд╕ рд╢реИрд▓реА рдФрд░ re2c рд╢реИрд▓реА рдореЗрдВ рдорд┐рд╢реНрд░рд┐рдд, рдЬрд┐рд╕рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
    рдирдП рдХреЛрдб рдореЗрдВ рдлреНрд▓реЗрдХреНрд╕ рд╕рдВрдЧрддрддрд╛ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
    рд▓реЗрдХрд┐рди re2c рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред

  • рд╡рд░реНрдг рд╡рд░реНрдЧ рдШрдЯрд╛рд╡ рдСрдкрд░реЗрдЯрд░ "/" рдЕрдм рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ
    рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЬреЛ рдЗрд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ,
    рдпрджрд┐ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╡рд░реНрдг рд▓рдВрдмрд╛рдИ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП UTF8)ред

  • рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдЕрдм рдкрд░рдорд╛рдгреБ рд░реВрдк рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╣реИ: re2c рдкрд╣рд▓реЗ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИ
    рдФрд░ рдЙрд╕рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд▓рд┐рдЦрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИ
    рдПрдХ рдСрдкрд░реЗрд╢рди.

  • рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдкреБрдирдГ рд▓рд┐рдЦрд╛ рдЧрдпрд╛; рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдирдП рдЬреЛрдбрд╝реЗ рдЧрдП
    рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзреНрдпрд╛рдп http://re2c.org/manual/manual.html#buffer-refilling ╨╖╨░╨┐╨╛╨╗╨╜╨╡╨╜╨╕╨╡ ╨▒╤Г╤Д╨╡╤А╨░
    ╨╕ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рдЕрдВрдд рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ.
    рдирдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рдкрддреНрд░ рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
    рдПрдХ рдкреЗрдЬ рдХреА рд╡рд┐рд╕реНрддреГрдд рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛
    рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде (рд╕рдорд╛рди рд╕реНрд░реЛрдд рдореИрдирдкреЗрдЬ рдФрд░ рдСрдирд▓рд╛рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП рд╣реИрдВ)ред
    рдлрд╝реЛрди рдкрд░ рд╕рд╛рдЗрдЯ рдХреА рдкрдардиреАрдпрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦрд╝рд░рд╛рдм рдкреНрд░рдпрд╛рд╕ рдХрд┐рдП рдЧрдП рд╣реИрдВред

  • рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, re2c рдиреЗ рдПрдХ рдЕрдзрд┐рдХ рд╕рдВрдкреВрд░реНрдг рд╕рдмрд╕рд┐рд╕реНрдЯрдо рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ
    рдбрд┐рдмрдЧрд┐рдВрдЧ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛрдб рдЕрдм рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рдореЗрдВ рдЕрдХреНрд╖рдо рд╣реИ
    рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╡рд┐рдХрд▓реНрдк "--рд╕рдХреНрд╖рдо-рдбреАрдмрдЧ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ