re2c 2.0 рд▓реЗрдХреНрд╕рд┐рдХрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЬрдирд░реЗрдЯрд░ рдХреЛ рд░рд┐рд▓реАрдЬ

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

рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ:

  • Go рднрд╛рд╖рд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ (рдпрд╛ рдд re2c рдХреЛ рд▓рд╛рдЧрд┐ "--lang go" рд╡рд┐рдХрд▓реНрдкрджреНрд╡рд╛рд░рд╛ рд╕рдХреНрд╖рдо рдЧрд░рд┐рдПрдХреЛ, рд╡рд╛ рдЫреБрдЯреНрдЯреИ re2go рдХрд╛рд░реНрдпрдХреНрд░рдордХреЛ рд░реВрдкрдорд╛)ред C рд░ Go рдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рдЧрдЬрд╛рдд рдПрдЙрдЯреИ рдкрд╛рдардмрд╛рдЯ рдЙрддреНрдкрдиреНрди рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрд░ рдлрд░рдХ рдХреЛрдб рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдХреЛ рд╕рд╛рдеред re2c рдорд╛ рдХреЛрдб рдЬреЗрдирд░реЗрд╢рди рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдкреБрди: рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рднрд╡рд┐рд╖реНрдпрдорд╛ рдирдпрд╛рдБ рднрд╛рд╖рд╛рд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдиреБрдкрд░реНрджрдЫред
  • CMake рдХреЛ рд▓рд╛рдЧрд┐ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА рдердкрд┐рдпреЛ (рдзрдиреНрдпрд╡рд╛рдж ligfx!) re2c рд▓рд╛рдИ CMake рдорд╛ рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕рд╣рд░реВ рд▓рд╛рдореЛ рд╕рдордпрджреЗрдЦрд┐ рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрд░ ligfx рд╕рдореНрдо рдХрд╕реИрд▓реЗ рдкрдирд┐ рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реЗрдиред рдкреБрд░рд╛рдиреЛ Autotools рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реАрд▓рд╛рдИ рд╕рдорд░реНрдерди рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЬрд╛рд░реА рдЫ, рд░ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдпрдорд╛ рдпрд╕рд▓рд╛рдИ рдЫреЛрдбреНрдиреЗ рдХреБрдиреИ рдпреЛрдЬрдирд╛ рдЫреИрди (рдЖрдВрд╢рд┐рдХ рд░реВрдкрдорд╛ рд╡рд┐рддрд░рдг рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдирдмрд╛рдЯ рдмрдЪреНрди, рдЖрдВрд╢рд┐рдХ рд░реВрдкрдорд╛ рдХрд┐рдирднрдиреЗ рдкреБрд░рд╛рдиреЛ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА рдирдпрд╛рдБ рднрдиреНрджрд╛ рдмрдвреА рд╕реНрдерд┐рд░ рд░ рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЫред )ред рджреБрдмреИ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рдЯреНрд░реНрдпрд╛рднрд┐рд╕ CI рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧрд╛рддрд╛рд░ рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдиреНрдЫред
  • рдЬреЗрдиреЗрд░рд┐рдХ API рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВрдорд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдХреЛрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкрд┐рдпреЛред рдкрд╣рд┐рд▓реЗ, рдзреЗрд░реИрдЬрд╕реЛ рдПрдкреАрдЖрдИрд╣рд░реВ рдкреНрд░рдХрд╛рд░реНрдп рд╡рд╛ рдкреНрд░рдХрд╛рд░реНрдп рдореНрдпрд╛рдХреНрд░реЛрдХреЛ рд░реВрдкрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреБрдкрд░реНрдереНрдпреЛред рдЕрдм рддрд┐рдиреАрд╣рд░реВ "@@{name}" рд╡рд╛ рд╕рд╛рдзрд╛рд░рдгрддрдпрд╛ "@@" (рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рдПрдХ рдорд╛рддреНрд░ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдЫ рд░ рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдЫреИрди) рдХреЛ рдирд╛рдорд┐рдд рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВрд╕рдБрдЧ рдордирдорд╛рдиреА рд╕реНрдЯреНрд░рд┐рдЩрдХреЛ рд░реВрдкрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред API рд╢реИрд▓реА re2c:api:рд╢реИрд▓реА рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ (рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдорд╛рдирд▓реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╢реИрд▓реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрджрдЫ, рд░ рдлреНрд░реА-рдлрд╛рд░реНрдорд▓реЗ рдордирдорд╛рдиреА рд╢реИрд▓реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрджрдЫ)ред
  • "-c", "-рд╕реБрд░реБрд╡рд╛рдд-рд╕рд░реНрддрд╣рд░реВ" рд╡рд┐рдХрд▓реНрдкрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рди рд╕реБрдзрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдПрдХ re2c рдмреНрд▓рдХрдорд╛ рдзреЗрд░реИ рдЕрдиреНрддрд░рд╕рдореНрдмрдиреНрдзрд┐рдд рд▓реЗрдХреНрд╕рд░рд╣рд░реВ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЕрдм рддрдкрд╛рдЗрдБ рд╕рд╢рд░реНрдд рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрд╕рдБрдЧ рдирд┐рдпрдорд┐рдд рдмреНрд▓рдХрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдПрдХ рдлрд╛рдЗрд▓рдорд╛ рдзреЗрд░реИ рдЕрд╕рдВрдмрджреНрдз рд╕рд╢рд░реНрдд рдмреНрд▓рдХрд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред "-r", "--рдкреБрди: рдкреНрд░рдпреЛрдЧ" рд╡рд┐рдХрд▓реНрдк (рдЕрдиреНрдп рдмреНрд▓рдХрдорд╛ рдПрдЙрдЯрд╛ рдмреНрд▓рдХрдмрд╛рдЯ рдХреЛрдб рдкреБрди: рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ) рдХреЛ "-c", "--start-conditions" рд░ "-f", "-- рдХреЛ рд╕рдВрдпреЛрдЬрдирдорд╛ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдиред storable-state" рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ (рдПрдХ рд╕реНрдЯреЗрдЯрдлреБрд▓ рд▓реЗрдХреНрд╕рд░ рдЬреБрди рдХреБрдиреИ рдкрдирд┐ рдмрд┐рдиреНрджреБрдорд╛ рдЕрд╡рд░реЛрдз рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд░ рдкрдЫрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрд╛рд░реА рд░рд╛рдЦреНрди рд╕рдХрд┐рдиреНрдЫ)ред
  • рднрд░реНрдЦрд░реИ рдердкрд┐рдПрдХреЛ рдЗрдиреНрдб-рдЕрдл-рдЗрдирдкреБрдЯ (EOF рдирд┐рдпрдо) рдПрд▓реНрдЧреЛрд░рд┐рдереНрдордорд╛ рдмрдЧ рдлрд┐рдХреНрд╕ рдЧрд░рд┐рдпреЛ, рдЬреБрди рджреБрд░реНрд▓рдн рдЕрд╡рд╕реНрдерд╛рдорд╛ рдУрднрд░рд▓реНрдпрд╛рдкрд┐рдЩ рдирд┐рдпрдорд╣рд░реВрдХреЛ рдЧрд▓рдд рдкреНрд░рд╢реЛрдзрдирдорд╛ рдкрд░рд┐рдгрд╛рдо рднрдпреЛред
  • рдмреБрдЯрд╕реНрдЯреНрд░реНрдпрд╛рдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рд░рд▓реАрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫред рдкрд╣рд┐рд▓реЗ, рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рдирд┐рд░реНрдорд┐рдд re2c рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдпреЛ рдЬреБрди рдЖрдлреИрд▓рд╛рдИ рдкреБрди: рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдпрд╕рд▓реЗ рдЧрд▓рдд рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВрдХреЛ рдиреЗрддреГрддреНрд╡ рдЧрд░реНтАНрдпреЛ (рдХрд┐рдирднрдиреЗ рдирд┐рд░реНрднрд░рддрд╛ рдЧреНрд░рд╛рдл рдЧрддрд┐рд╢реАрд▓ рдерд┐рдпреЛ, рдЬреБрди рдзреЗрд░реИ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд▓реЗ рдорди рдкрд░рд╛рдЙрдБрджреИрди)ред рдЕрдм, рд▓реЗрдХреНрд╕рд░рд╣рд░реВ рдкреБрди: рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд░ RE2C_FOR_BUILD рдЪрд░ рд╕реЗрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди