āĻŽā§āĻā§āϤāĻŋ , C āĻāĻŦāĻ C++ āĻāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻŦāĻŋāύāĻžāĻŽā§āϞā§āϝā§āϰ āĻāĻāĻŋāϧāĻžāύāĻŋāĻ āĻŦāĻŋāĻļā§āϞā§āώāĻ āĻā§āύāĻžāϰā§āĻāϰāĨ¤ re2c āĻĒā§āϰāĻāϞā§āĻĒāĻāĻŋ āĻŽā§āϞāϤ 1993 āϏāĻžāϞ⧠āĻĒāĻŋāĻāĻžāϰ āĻŦā§āϝāĻžāĻŽā§āĻŦā§āϞāĻŋāϏ āĻĻā§āĻŦāĻžāϰāĻž āĻā§āĻŦ āĻĻā§āϰā§āϤ āϞā§āĻā§āϏāĻŋāĻā§āϝāĻžāϞ āĻŦāĻŋāĻļā§āϞā§āώāĻā§āϰ āĻāĻāĻāĻŋ āĻĒāϰā§āĻā§āώāĻžāĻŽā§āϞāĻ āĻā§āύāĻžāϰā§āĻāϰ āĻšāĻŋāϏāĻžāĻŦā§ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻāĻŋāϞ, āϝāĻž āĻā§āύāĻžāϰā§āĻā§āĻĄ āĻā§āĻĄā§āϰ āĻāϤāĻŋ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ āύāĻŽāύā§āϝāĻŧ āĻāĻāĻāĻžāϰ āĻāύā§āĻāĻžāϰāĻĢā§āϏā§āϰ āĻĻā§āĻŦāĻžāϰāĻž āĻ āύā§āϝāĻžāύā§āϝ āĻā§āύāĻžāϰā§āĻāϰ āĻĨā§āĻā§ āĻāϞāĻžāĻĻāĻž āϝāĻž āĻĒāĻžāϰā§āϏāĻžāϰāĻĻā§āϰ āϏāĻšāĻā§ āĻāĻŦāĻ āĻĻāĻā§āώāϤāĻžāϰ āϏāĻžāĻĨā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻā§āĻĄāĻŦā§āϏ⧠āĻāĻāϤā§āϰāĻŋāϤ āĻšāϤ⧠āĻĻā§āϝāĻŧāĨ¤ . āϤāĻžāϰāĻĒāϰ āĻĨā§āĻā§, āĻĒā§āϰāĻāϞā§āĻĒāĻāĻŋ āϏāĻŽā§āĻĒā§āϰāĻĻāĻžāϝāĻŧ āĻĻā§āĻŦāĻžāϰāĻž āĻŦāĻŋāĻāĻļāĻŋāϤ āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻāύā§āώā§āĻ āĻžāύāĻŋāĻ āĻŦā§āϝāĻžāĻāϰāĻŖ āĻāĻŦāĻ āϰāĻžāώā§āĻā§āϰā§āϝāĻŧ āĻŽā§āĻļāĻŋāύā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻĒāϰā§āĻā§āώāĻž-āύāĻŋāϰā§āĻā§āώāĻž āĻāĻŦāĻ āĻāĻŦā§āώāĻŖāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ āĻšāĻŋāϏāĻžāĻŦā§ āĻ āĻŦā§āϝāĻžāĻšāϤ āϰāϝāĻŧā§āĻā§āĨ¤
āĻ āĻŦā§āϝāĻŦāϏā§āĻĨāĻžāĻĒāύāĻž:
- Go āĻāĻžāώāĻžāϰ āĻāύā§āϝ āϏāĻŽāϰā§āĻĨāύ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ (re2c-āĻāϰ āĻāύā§āϝ "-lang go" āĻŦāĻŋāĻāϞā§āĻĒ āĻĻā§āĻŦāĻžāϰāĻž āϏāĻā§āϰāĻŋāϝāĻŧ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻ āĻĨāĻŦāĻž āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ re2go āĻĒā§āϰā§āĻā§āϰāĻžāĻŽ āĻšāĻŋāϏāĻžāĻŦā§)āĨ¤ C āĻāĻŦāĻ Go āĻāϰ āĻāύā§āϝ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāĻāĻ āĻā§āĻā§āϏāĻ āĻĨā§āĻā§ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻāĻŋāύā§āϤ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āĻā§āĻĄ āĻāĻĻāĻžāĻšāϰāĻŖ āϏāĻšāĨ¤ re2c-āĻ āĻā§āĻĄ āĻā§āύāĻžāϰā§āĻļāύ āϏāĻžāĻŦāϏāĻŋāϏā§āĻā§āĻŽ āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āύāϤā§āύāĻāĻžāĻŦā§ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϝāĻž āĻāĻŦāĻŋāώā§āϝāϤ⧠āύāϤā§āύ āĻāĻžāώāĻž āϏāĻŽāϰā§āĻĨāύ āĻāϰāĻž āϏāĻšāĻ āĻāϰ⧠āϤā§āϞāĻŦā§āĨ¤
- CMake āĻ āĻŦāĻŋāĻāϞā§āĻĒ āĻŦāĻŋāϞā§āĻĄ āϏāĻŋāϏā§āĻā§āĻŽ āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ (āϧāύā§āϝāĻŦāĻžāĻĻ !) re2c āĻā§ CMake-āĻ āĻ āύā§āĻŦāĻžāĻĻ āĻāϰāĻžāϰ āĻĒā§āϰāϝāĻŧāĻžāϏ āĻĻā§āϰā§āĻāĻĻāĻŋāύ āϧāϰ⧠āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻāĻŋāύā§āϤ⧠ligfx āĻāϰ āĻāĻā§ āĻā§āĻ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āϏāĻŽāĻžāϧāĻžāύ āĻĻā§āϝāĻŧāύāĻŋāĨ¤ āĻ āĻā§āĻā§āϞāĻā§āϞāĻŋāϤ⧠āĻĒā§āϰāĻžāύ⧠āĻŦāĻŋāϞā§āĻĄ āϏāĻŋāϏā§āĻā§āĻŽāĻāĻŋ āϏāĻŽāϰā§āĻĨāĻŋāϤ āĻāĻŦāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻ āĻŦā§āϝāĻžāĻšāϤ āϰāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻ āĻĻā§āϰ āĻāĻŦāĻŋāώā§āϝāϤā§āϰ āĻāύā§āϝ āĻāĻāĻŋ āĻĒāϰāĻŋāϤā§āϝāĻžāĻ āĻāϰāĻžāϰ āĻā§āύ āĻĒāϰāĻŋāĻāϞā§āĻĒāύāĻž āύā§āĻ (āĻāĻāĻļāĻŋāĻāĻāĻžāĻŦā§ āĻŦāĻŋāϤāϰāĻŖ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āĻĻā§āϰ āϏāĻŽāϏā§āϝāĻž āĻāĻĄāĻŧāĻžāύā§āϰ āĻāύā§āϝ, āĻāĻāĻļāĻŋāĻāĻāĻžāĻŦā§ āĻāĻžāϰāĻŖ āĻĒā§āϰāĻžāύ⧠āĻŦāĻŋāϞā§āĻĄ āϏāĻŋāϏā§āĻā§āĻŽāĻāĻŋ āύāϤā§āύā§āϰ āĻā§āϝāĻŧā§ āĻāϰāĻ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ āĻāĻŦāĻ āĻāϰāĻ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāĨ¤ ) āĻā§āϰā§āϝāĻžāĻāĻŋāϏ āϏāĻŋāĻāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāϝāĻŧ āϏāĻŋāϏā§āĻā§āĻŽāĻ āϏāĻŽāĻžāύāĻāĻžāĻŦā§ āĻā§āϰāĻŽāĻžāĻāϤ āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻž āĻšāϝāĻŧāĨ¤
- āĻā§āύā§āϰāĻŋāĻ API (āĻā§āύā§āϰāĻŋāĻ API) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ⧠āĻāύā§āĻāĻžāϰāĻĢā§āϏ āĻā§āĻĄ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰāĻžāϰ āĻā§āώāĻŽāϤāĻž āϝā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻ āϤā§āϤā§, āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ API-āĻā§ āĻĢāĻžāĻāĻļāύ āĻŦāĻž āĻĢāĻžāĻāĻļāύ āĻŽā§āϝāĻžāĻā§āϰ⧠āĻāĻāĻžāϰ⧠āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāϤ⧠āĻšāϤāĨ¤ āĻāĻāύ āϏā§āĻā§āϞāĻŋāĻā§ "@@{name}" āĻĢāϰā§āĻŽā§āϰ āύāĻžāĻŽāϝā§āĻā§āϤ āĻā§āĻŽāĻĒā§āϞā§āĻ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻŦāĻž āϏāĻšāĻāĻāĻžāĻŦā§ "@@" (āϝāĻĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻā§āύ āĻ āϏā§āĻĒāώā§āĻāϤāĻž āύāĻž āĻĨāĻžāĻā§) āϏāĻš āύāĻŋāϰā§āĻŦāĻŋāĻāĻžāϰ⧠āϏā§āĻā§āϰāĻŋāĻ āĻāĻāĻžāϰ⧠āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ API āĻļā§āϞ⧠re2c:api:style āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĻā§āĻŦāĻžāϰāĻž āϏā§āĻ āĻāϰāĻž āĻšāϝāĻŧ (āĻĢāĻžāĻāĻļāύ āĻŽāĻžāύ āĻāĻžāϰā§āϝāĻāϰ⧠āĻļā§āϞ⧠āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰā§, āϝāĻāύ āĻŽā§āĻā§āϤ-āĻĢāϰā§āĻŽ āĻŽāĻžāύ āύāĻŋāϰā§āĻŦāĻŋāĻāĻžāϰā§)āĨ¤
- "-c", "--start-conditions" āĻŦāĻŋāĻāϞā§āĻĒā§āϰ āĻāύā§āύāϤ āĻ āĻĒāĻžāϰā§āĻļāύ, āϝāĻž āĻāĻāĻāĻŋ re2c āĻŦā§āϞāĻā§ āĻāĻāĻžāϧāĻŋāĻ āĻāύā§āϤāĻāϏāĻāϝā§āĻā§āϤ āϞā§āĻā§āϏāĻžāϰāĻā§ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰāĻžāϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧāĨ¤ āĻāĻāύ āĻāĻĒāύāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻŦā§āϞāĻā§āϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻļāϰā§āϤāϏāĻžāĻĒā§āĻā§āώ āĻŦā§āϞāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĢāĻžāĻāϞ⧠āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āϏāĻŽā§āĻĒāϰā§āĻāĻšā§āύ āĻļāϰā§āϤāĻžāϧā§āύ āĻŦā§āϞāĻ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ "-c", "--start-conditions" āĻāĻŦāĻ "-f", "--storable- āĻāϰ āϏāĻžāĻĨā§ āϏāĻŽāύā§āĻŦāϝāĻŧā§ "-r", "--āĻĒā§āύāĻāĻŦā§āϝāĻŦāĻšāĻžāϰ" (āĻ āύā§āϝāĻžāύā§āϝ āĻŦā§āϞāĻā§ āĻāĻāĻāĻŋ āĻŦā§āϞāĻ āĻĨā§āĻā§ āĻā§āĻĄ āĻĒā§āύāĻāĻŦā§āϝāĻŦāĻšāĻžāϰ) āĻŦāĻŋāĻāϞā§āĻĒā§āϰ āĻāύā§āύāϤ āĻ āĻĒāĻžāϰā§āĻļāύ state" āĻŦāĻŋāĻāϞā§āĻĒāĻā§āϞāĻŋ (āĻāĻāĻāĻŋ āϰāĻžāώā§āĻā§āϰā§āϝāĻŧ āϞā§āĻā§āϏāĻžāϰ āϝāĻž āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻŦāĻŋāĻāĻžāϰ⧠āĻŦāĻŋāĻā§āύāĻŋāϤ āĻšāϤ⧠āĻĒāĻžāϰ⧠āĻāĻŦāĻ āĻĒāϰ⧠āĻāĻŦāĻžāϰ āĻļā§āϰ⧠āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§)āĨ¤
- āϏāĻŽā§āĻĒā§āϰāϤāĻŋ āϝā§āĻ āĻāϰāĻž āĻāύā§āĻĄ-āĻ āĻĢ-āĻāύāĻĒā§āĻ āĻĒā§āϰāϏā§āϏāĻŋāĻ āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ (EOF āύāĻŋāϝāĻŧāĻŽ) āĻ āĻāĻāĻāĻŋ āĻŦāĻžāĻ āϏāĻāĻļā§āϧāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āϝāĻž āĻŦāĻŋāϰāϞ āĻā§āώā§āϤā§āϰ⧠āĻāĻāĻžāϰāϞā§āϝāĻžāĻĒāĻŋāĻ āύāĻŋāϝāĻŧāĻŽā§āϰ āĻā§āϞ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāϰāĻŖā§āϰ āĻĻāĻŋāĻā§ āĻĒāϰāĻŋāĻāĻžāϞāĻŋāϤ āĻāϰā§āĨ¤
- āϏāϰāϞā§āĻā§āϤ āĻŦā§āĻāϏā§āĻā§āϰā§āϝāĻžāĻĒ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĨ¤ āĻĒā§āϰā§āĻŦā§, āĻŦāĻŋāϞā§āĻĄ āϏāĻŋāϏā§āĻā§āĻŽ āĻāϤāĻŋāĻļā§āϞāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝ⧠āύāĻŋāϰā§āĻŽāĻŋāϤ re2c āĻā§āĻāĻā§ āĻŦā§āϰ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āĻāĻŋāϞ āϝāĻž āύāĻŋāĻā§āĻā§ āĻĒā§āύāϰā§āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāϰ āĻĢāϞ⧠āĻā§āϞ āύāĻŋāϰā§āĻāϰāϤāĻž āĻšāϝāĻŧā§āĻā§ (āϝā§āĻšā§āϤ⧠āύāĻŋāϰā§āĻāϰāϤāĻž āĻā§āϰāĻžāĻĢāĻāĻŋ āĻāϤāĻŋāĻļā§āϞ āĻšāϤ⧠āĻĻā§āĻāĻž āĻā§āĻā§, āϝāĻž āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ āĻŦāĻŋāϞā§āĻĄ āϏāĻŋāϏā§āĻā§āĻŽ āĻĒāĻāύā§āĻĻ āĻāϰ⧠āύāĻž)āĨ¤ āĻāĻāύ, āϞā§āĻā§āϏāĻžāϰ āĻĒā§āύāϰā§āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻāϰāϤā§, āĻāĻĒāύāĻžāĻā§ āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ āĻŦāĻŋāϞā§āĻĄ āϏāĻŋāϏā§āĻā§āĻŽ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§ āĻāĻŦāĻ RE2C_FOR_BUILD āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āϏā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤
āĻāϤā§āϏ: opennet.ru
