рд╕реЛрдордмрд╛рд░, рдЬреБрд▓рд╛рдИ реиреж, re20c, рджреНрд░реБрдд рд▓реЗрдХреНрд╕рд┐рдХрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЬреЗрдиреЗрд░реЗрдЯрд░, рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред
рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ:

  • Go рднрд╛рд╖рд╛ рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ
    (re2c рдХреЛ рд▓рд╛рдЧрд┐ --lang go рд╡рд┐рдХрд▓реНрдк рджреНрд╡рд╛рд░рд╛ рд╡рд╛ рдЫреБрдЯреНрдЯреИ re2go рдХрд╛рд░реНрдпрдХреНрд░рдордХреЛ рд░реВрдкрдорд╛ рд╕рдХреНрд╖рдо рдкрд╛рд░рд┐рдПрдХреЛ рдЫ)ред
    C рд░ Go рдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рдЧрдЬрд╛рдд рдПрдЙрдЯреИ рдкрд╛рдардмрд╛рдЯ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫ, рддрд░ рдлрд░рдХрд╕рдБрдЧ
    рдХреЛрдб рдЙрджрд╛рд╣рд░рдгрд╣рд░реВред re2c рдорд╛ рдХреЛрдб рдЬреЗрдирд░реЗрд╢рди рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдкреБрди: рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬреБрди
    рднрд╡рд┐рд╖реНрдпрдорд╛ рдирдпрд╛рдБ рднрд╛рд╖рд╛рд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдиреБ рдкрд░реНрдЫред

  • CMake рдХреЛ рд▓рд╛рдЧрд┐ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА рдердкрд┐рдпреЛ (рдзрдиреНрдпрд╡рд╛рдж ligfx!)ред
    re2c рд▓рд╛рдИ CMake рдорд╛ рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рд▓рд╛рдореЛ рд╕рдордпрджреЗрдЦрд┐ рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрд░ ligfx рдЕрдШрд┐ рдХрд╕реИрд▓реЗ
    рдПрдХ рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╕реНрддрд╛рд╡ред
    Autotools рдорд╛ рдкреБрд░рд╛рдиреЛ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА рд╕рдорд░реНрдерд┐рдд рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЬрд╛рд░реА рдЫ,
    рд░ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдпрдорд╛ рдпрд╕рд▓рд╛рдИ рдЫреЛрдбреНрдиреЗ рдХреБрдиреИ рдпреЛрдЬрдирд╛ рдЫреИрди (рдЖрдВрд╢рд┐рдХ рд░реВрдкрдорд╛ рддрд╛рдХрд┐ рд╕рд┐рд░реНрдЬрдирд╛ рдирдЧрд░реНрдиреБрд╣реЛрд╕реН
    рд╡рд┐рддрд░рдг рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд╕реНрдпрд╛, рдЖрдВрд╢рд┐рдХ рд░реВрдкрдорд╛ рдкреБрд░рд╛рдиреЛ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдХрд╛рд░рдгрд▓реЗ
    рдирдпрд╛рдБ рднрдиреНрджрд╛ рдмрдвреА рд╕реНрдерд┐рд░ рд░ рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд)ред
    рджреБрдмреИ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рдЯреНрд░реНрдпрд╛рднрд┐рд╕ CI рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧрд╛рддрд╛рд░ рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдиреНрдЫред

  • рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд╣рд░реВрдорд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдХреЛрдб рд╕реЗрдЯ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдердкрд┐рдпреЛ
    рдЬреЗрдиреЗрд░рд┐рдХ APIред рдкрд╣рд┐рд▓реЗ, рдзреЗрд░реИ API рд╣рд░реВ рдлрд╛рд░рдордорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреБрдкрд░реНрдереНрдпреЛ
    рдкреНрд░рдХрд╛рд░реНрдп рд╡рд╛ рдкреНрд░рдХрд╛рд░реНрдп рдореНрдпрд╛рдХреНрд░реЛред рдЕрдм рддрд┐рдиреАрд╣рд░реВ рдордирдорд╛рдиреА рд░реВрдкрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ
    рдирд╛рдорд┐рдд рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдЬрд╕реНрддреИ @@{name} рд╡рд╛ рдХреЗрд╡рд▓ @@ (рдпрджрд┐
    рддреНрдпрд╣рд╛рдБ рдПрдЙрдЯрд╛ рдорд╛рддреНрд░ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдЫ рд░ рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдЫреИрди)ред API рд╢реИрд▓реА рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ
    re2c:api:style (рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдорд╛рдирд▓реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╢реИрд▓реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрджрдЫ, рд░ рдлреНрд░реА-рдлрд╛рд░реНрдорд▓реЗ рдордирдорд╛рдиреА рд╢реИрд▓реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрджрдЫ)ред

  • -c, --start-conditions рд╡рд┐рдХрд▓реНрдкрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рди рд╕реБрдзрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдзреЗрд░реИ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
    рдПрдХ re2c рдмреНрд▓рдХрдорд╛ рдЕрдиреНрддрд░рд╕рдореНрдмрдиреНрдзрд┐рдд рд▓реЗрдХреНрд╕рд░рд╣рд░реВред рдЕрдм рддрдкрд╛рдИрдВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ
    рд╕рд╢рд░реНрдд рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрд╕рдБрдЧ рдирд┐рдпрдорд┐рдд рдмреНрд▓рдХрд╣рд░реВ рд░ рдзреЗрд░реИ рдЕрд╕рдВрдмрджреНрдз рд╕рд╢рд░реНрддрд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН
    рдПрдХ рдлрд╛рдЗрд▓рдорд╛ рдмреНрд▓рдХрд╣рд░реВред
    -r, --reuse рд╡рд┐рдХрд▓реНрдкрдХреЛ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рди (рдПрдЙрдЯрд╛ рдмреНрд▓рдХрдмрд╛рдЯ рдХреЛрдбрдХреЛ рдкреБрди: рдкреНрд░рдпреЛрдЧ
    рдЕрдиреНрдп рдмреНрд▓рдХрд╣рд░реВрдорд╛) -c, --start-conditions рд░ -f, --storable-state рд╡рд┐рдХрд▓реНрдкрд╣рд░реВрдХреЛ рд╕рдВрдпреЛрдЬрдирдорд╛
    (рдПрдХ рд╕реНрдЯреЗрдЯрдлреБрд▓ рд▓реЗрдХреНрд╕рд░ рдЬреБрди рдХреБрдиреИ рдкрдирд┐ рдмрд┐рдиреНрджреБрдорд╛ рдЕрд╡рд░реЛрдз рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ
    рд░ рдкрдЫрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдиреБрд╣реЛрд╕реН)ред

  • рднрд░реНрдЦрд░реИ рдердкрд┐рдПрдХреЛ рдЗрдиреНрдкреБрдЯ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдордорд╛ рдмрдЧ рдлрд┐рдХреНрд╕ рдЧрд░рд┐рдпреЛ
    (EOF рдирд┐рдпрдо), рдЬрд╕рд▓реЗ рджреБрд░реНрд▓рдн рдЕрд╡рд╕реНрдерд╛рдорд╛ рдЧрд▓рдд рдкреНрд░рд╢реЛрдзрдирдХреЛ рдиреЗрддреГрддреНрд╡ рдЧрд░реНтАНрдпреЛ
    рдЕрддрд┐рд╡реНрдпрд╛рдкреА рдирд┐рдпрдорд╣рд░реВред

  • рдмреБрдЯрд╕реНрдЯреНрд░реНрдпрд╛рдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рд░рд▓реАрдХреГрдд рдЧрд░рд┐рдПрдХреЛ рдЫред рдкрд╣рд┐рд▓реЗ, рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдЧрддрд┐рд╢реАрд▓ рд░реВрдкрдорд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдпреЛ
    рдПрдХ re2c рдирд┐рд░реНрдорд╛рдг рдЬреБрди рдЖрдлреИрд▓рд╛рдИ рдкреБрди: рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
    рдпрд╕рд▓реЗ рдЧрд▓рдд рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВрдХреЛ рдкрд░рд┐рдгрд╛рдо рджрд┐рдпреЛ (рдирд┐рд░реНрднрд░рддрд╛ рдЧреНрд░рд╛рдл рдерд┐рдпреЛ
    рдЧрддрд┐рд╢реАрд▓, рдЬреБрди рдзреЗрд░реИ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рдордирдкрд░реНрджреИрди)ред
    рдЕрдм, рд▓реЗрдХреНрд╕рд░рд╣рд░реВ рдкреБрди: рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдЖрд╡рд╢реНрдпрдХ рдЫ
    рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ RE2C_FOR_BUILD рдЪрд░ рд╕реЗрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдпрд╕ рд░рд┐рд▓реАрдЬрдХреЛ рддрдпрд╛рд░реАрдорд╛ рднрд╛рдЧ рд▓рд┐рдиреЗ рд╕рдмреИрд▓рд╛рдИ рдзрдиреНрдпрд╡рд╛рдж!

рд╕реНрд░реЛрдд: linux.org.ru

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