Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ lex Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΡ Π»Π΅ΠΊΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ ΠΏΡΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ² Π²ΠΎ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΏΠΎΡΠΎΠΊΠ°Ρ , ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΡΠΈΠ»ΠΈΡΠ΅ lex ΡΠ·ΡΠΊ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΠ»ΠΎΡ ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡ. ΠΠ»Ρ ΠΈΡ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°ΡΡ. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ yacc-Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΡ Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠ±ΠΎΡΠΎΠΌ Π»Π΅ΠΊΡΠ΅ΠΌ, ΡΠ°ΠΊΠ°Ρ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ° Π±ΡΠ»Π° Π±Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π° ΠΊΠΎΠ΄ΠΎΠΌ, Π° Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π±ΡΠ» Π±Ρ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ. ΠΠ»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π²Ρ ΠΎΠ΄Π½ΡΡ Π»Π΅ΠΊΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ lex. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΠΌΠ±ΠΈΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ.
ΠΡΠ»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΡΠ΅ΠΌ Π‘ (ΡΡΠΎ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ; ΡΠΌ. Π³Π»Π°Π²Ρ 14), ΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΊΠ°ΠΊ PLY Π² Python (ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ lex ΠΈ ΡΠ°ΡΡ)95ΠΈΠ»ΠΈ Perl-ΠΌΠΎΠ΄ΡΠ»ΠΈ PY ΠΈ Parse::Yapp, Π»ΠΈΠ±ΠΎ Java-ΠΏΠ°ΠΊΠ΅ΡΡ CUP96, Jack97 ΠΈΠ»ΠΈ Yacc/M98.
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΌΠ°ΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ, ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ), Π° Π½Π΅ Π½ΠΎΠΌΠ΅ΡΠ° ΡΡΡΠΎΠΊ Π²ΠΎ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° (Ρ.Π΅. ΡΠ°ΠΌ, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ). Π ΡΡΠΈΠ»ΠΈΡΠ°Ρ ΡΠ°ΡΡ ΠΈ lex Π΄Π°Π½Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ #line, ΡΡΠΎ ΠΈ Π² ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅ Π‘. ΠΠ½ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΎΡΡΠ΅ΡΠ° ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ . ΠΡΠ±Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΠ°Ρ ΠΊΠΎΠ΄ Π½Π° Π‘ ΠΈΠ»ΠΈ Π‘++, Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
Π Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎΠΌ ΡΠΌΡΡΠ»Π΅ Ρ ΠΎΡΠΎΡΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ Π²ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°.
15.3.1.1. Π£ΡΠ΅Π±Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ° fetchmailrc
ΠΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ, Π²ΠΈΠ΄ΠΈΠΌΠΎ, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΠ΅Π±Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠ±ΠΈΠΈ ΠΏΠΎ lex ΠΈ ΡΠ°ΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ³ΡΡΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Π½Π΅Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠ·Π±ΠΈΡΠΎΠ³ΠΎ ΠΊΠ»ΠΈΡΠ΅. ΠΠ°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ bΡ( 1) ΠΈ dc( 1) ΠΏΡΠΎΠ΅ΠΊΡΠ° GNU ΠΈΠ»ΠΈ ΠΊ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ "hoc"99 ΡΠΌ. [39].
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π³ΡΠ°ΠΌΠΌΠ°ΡΠΈΠΊΠ° Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² fetchmail ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΡΠ΅Π±Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ lex ΠΈ ΡΠ°ΡΡ. ΠΠ΄Π΅ΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ².
/Π΅Π³-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ rcfile_l.lβ Π²Π΅ΡΡΠΌΠ° ΡΠΈΠΏΠΈΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ shell-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ Π΄Π²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΡΡΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ Π»ΠΈΠ±ΠΎ Ρ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΌΠΈ, Π»ΠΈΠ±ΠΎ Ρ Π΄Π²ΠΎΠΉΠ½ΡΠΌΠΈ ΠΊΠ°Π²ΡΡΠΊΠ°ΠΌΠΈ; Π΄Π°Π½Π½Π°Ρ ΠΈΠ΄Π΅Ρ Ρ ΠΎΡΠΎΡΠ° Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅. ΠΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ) ΡΠ΅Π»ΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ² ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ.
ΡΠ°ΡΡ-ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ rcfile_y.y Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π½Π°Ρ, Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½Π°Ρ. ΠΠ½Π° Π½Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ fetchmail-Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π±ΠΈΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ Π±Π»ΠΎΠΊΠΎΠ². ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° fetchmail Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠΏΠΈΡΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π°Π½ΡΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·Π»Π°.
15.3.2. Π£ΡΠ΅Π±Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: Glade
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Glade ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»Π°ΡΡ Π² Π³Π»Π°Π²Π΅ 8 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΈΠ½ΠΈ-ΡΠ·ΡΠΊΠ°. Π’Π°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠ°Π»ΠΎΡΡ, ΡΡΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ Glade Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ·ΡΠΊΠΎΠ².
Glade ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ GUI-ΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»Π΅ΠΉ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ GUI-ΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»Π΅ΠΉ), Π΄Π΅Π»Π°ΡΡ Glade. Unix-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ "ΠΏΠΎ Π΄ΡΡ Ρ". (
β’ Glade GUI ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ΄Π° Glade Π½Π΅ ΡΠ²ΡΠ·Π°Π½Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π½ΠΎΠΌ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ΅, Π° ΠΏΠΎΠ΄ΡΠΈΠ½ΡΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ (ΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ "ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΄ΡΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°").
β’ GUI ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ΄Π° ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° (ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° XML), ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΡΠ°ΡΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
β’ ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅Π²ΡΡ ΡΠ·ΡΠΊΠΎΠ² (Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π‘ ΠΈΠ»ΠΈ Π‘++). Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ.
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ GUI-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² Glade.
15.4. Π£ΡΠΈΠ»ΠΈΡΠ° make: Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ
Π‘Π°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π΅ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ΅Π½ ΡΠΏΠΎΡΠΎΠ± ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Unix ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² β make(1). Π£ΡΠΈΠ»ΠΈΡΠ° make ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ Π²Π²ΠΎΠ΄Π½ΡΡ ΠΊΠ½ΠΈΠ³ ΠΏΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Unix. ΠΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΡΡΠ»ΠΊΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅ "Managing Projects tenth Make" [57]. Π ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ GNU make (Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°Π·Π²ΠΈΡΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° make, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠΎΡΡΠ°Π²Π΅ Unix-ΡΠΈΡΡΠ΅ΠΌ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ) ΡΠ΅ΡΠ΅ΠΏΡΡ ΠΊΠ½ΠΈΠ³ΠΈ "Programming with GNU Software" [50] ΠΌΠΎΠ³ΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π»ΡΡΡΠΈΠΌΠΈ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Unix-ΡΠΈΡΡΠ΅ΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ GNU make, ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ GNU Emacs. Π ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ make ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π² Ρ/ΠΎ-ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Emacs.
ΠΠ° ΡΠ°ΠΉΡΠ΅ FSF Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²Π΅ΡΡΠΈΠΈ GNU make Π΄Π»Ρ DOS ΠΈ Windows.
15.4.1. ΠΠ°Π·ΠΎΠ²Π°Ρ ΡΠ΅ΠΎΡΠΈΡ make
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΡΠ·ΡΠΊΠ°Ρ Π‘ ΠΈΠ»ΠΈ Π‘++ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ β Π΄Π»ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈ ΠΊΡΠΎΠΏΠΎΡΠ»ΠΈΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ°, ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Unix-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° make(1), ΡΠΎΠ΄ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΈΠΊ Π²ΡΠ΅Ρ -ΡΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ², Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π‘-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΠΈΡΠ°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ "make-ΡΠ°ΠΉΠ»Π°Ρ ". ΠΠ°ΠΆΠ΄ΡΠΉ make-ΡΠ°ΠΉΠ» ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ», ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΈΠ»ΠΈΡΠ΅ make, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠ°ΠΉΠ» Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠΌ, ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠ°ΠΉΠ». Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° make ΡΠΏΠΎΡΠΎΠ±Π½Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Π² make-ΡΠ°ΠΉΠ»Π΅, ΡΡΠΎ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» myprog Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² myprog. ΠΎ, helper. ΠΎ ΠΈ stuff . ΠΎ. ΠΡΠ»ΠΈ ΠΈΠΌΠ΅ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° myprog. Ρ, helper. Ρ ΠΈ stuff. Ρ, ΡΠΎ ΡΡΠΈΠ»ΠΈΡΠ° make Π±Π΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ . ΠΎ-ΡΠ°ΠΉΠ» Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ . Ρ-ΡΠ°ΠΉΠ»Π°, ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ .ΠΎ-ΡΠ°ΠΉΠ»Π°ΠΈΠ· .Ρ-ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ make ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ Π²ΠΈΠ·ΠΈΡΠΎΠΌ ΠΊΠΎ ΠΌΠ½Π΅ Π‘ΡΠΈΠ²Π° ΠΠΆΠΎΠ½ΡΠΎΠ½Π° (Steve Johnson β Π°Π²ΡΠΎΡ ΡΠ°ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ). ΠΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΡΠΈΡΠ΅Π», ΠΎΠ½ Π±ΡΠ» ΠΎΡΠ΅Π½Ρ Π½Π΅Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ ΡΠ΅ΠΌ, ΡΡΠΎ Π΅ΠΌΡ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π²ΠΏΡΡΡΡΡ ΡΡΡΠΎ, Π·Π°Π½ΠΈΠΌΠ°ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΎΠΉ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ΠΎΡΠΈΠ±ΠΊΠ° Π±ΡΠ»Π° ΡΡΡΡΠ°Π½Π΅Π½Π°, ΡΠ°ΠΉΠ» Π½Π΅ Π±ΡΠ» ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½, ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅Π΅ *. ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»Π°). Π ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ ΠΏΠΎΡΡΠ°ΡΠΈΠ» ΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π²Π΅ΡΠ΅ΡΠ°, ΡΠΏΡΠ°Π²Π»ΡΡΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π² ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠΌ ΠΌΠ½ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Ρ Π½Π°Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΈΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΡΠ΅ Π½Π°ΡΠ°Π»ΠΎΡΡ Ρ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½Π½ΠΎΠΉ ΠΈΠ΄Π΅ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΏΠΎΡΠΎΠΌ ΡΠ²Π΅Π»ΠΎΡΡ ΠΊ Π½Π΅ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΌΡ ΠΈ Π² ΡΠ΅ ΠΆΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΠΎΡΡ Π² make. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΡΡΠ°Π²Π°Π»ΠΈΡΡ ΡΡΡΡΠΌΠΈ, Π±ΡΠ»ΠΎ ΡΠ°ΡΡΡΡ ΠΊΡΠ»ΡΡΡΡΡ. ΠΠ°ΠΊΠ΅-ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌΠΈ, Π° Π½Π΅ "Π²ΠΎΠ»ΡΠ΅Π±Π½ΠΎ" Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π±ΠΈΠ½Π°ΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ Π±ΡΠ»ΠΎ Π² Π΄ΡΡ Π΅ Unix: ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ, ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ, ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π».