procedure Factor;
begin
LoadConstant(GetNumber);
end;
end.
{β}
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ LoadConstant, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠΎΠ΄ΡΠ»Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ CodeGen. ΠΡΠΎΡ ΡΠ°Π³ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Π½Π°ΡΠ΅ΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π³Π»Π°Π²: ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΠΈΠ½ΠΎ-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΡΠ»ΠΈ Ρ Π΄ΠΎΠΉΠ΄Ρ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°, Π²Π½Π΅ CodeGen Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΡΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π»Π° Π±Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΡ Π½Π°ΡΠ΅Π»Π΅Π½Ρ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ 68000. Π ΡΡΠΎ ΡΠΎ ΠΌΠ΅ΡΡΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΌΠΎΡ ΡΠ΅Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠ°.
ΠΠ»Ρ ΡΠ΅Ρ ΠΈΠ· Π²Π°Ρ, ΠΊΡΠΎ ΠΆΠ΅Π»Π°Π΅Ρ, ΡΡΠΎΠ±Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ 80x86 (ΠΈΠ»ΠΈ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ) Π²ΠΌΠ΅ΡΡΠΎ 68000, Π²ΠΎΡ ΠΌΠΎΠΉ ΠΎΡΠ²Π΅Ρ: ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ CodeGen Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ Π¦ΠΠ£.
ΠΠΎΠΊΠ° Π½Π°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ΄Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ. ΠΠΎΡ ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ:
{β}
unit CodeGen;
{β}
interface
uses Output;
procedure LoadConstant(n: string);
{β}
implementation
{β}
{ Load the Primary Register with a Constant }
procedure LoadConstant(n: string);
begin
EmitLn('MOVE #' + n + ',D0' );
end;
end.
{β}
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
{β}
program Main;
uses WinCRT, Input, Output, Errors, Scanner, Parser;
begin
Factor;
end.
{β}
ΠΠΎΡ ΠΎΠ½, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΠΌΡ ΠΈ Π½Π°Π΄Π΅ΡΠ»ΠΈΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ, Ρ Π½Π°Π΄Π΅ΡΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ Π²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π°ΡΠ΅Π³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»ΠΈΠ½ΠΎΠΉ Π²ΡΠ΅Π³ΠΎ ΠΏΡΡΡ ΡΡΡΠΎΠΊ. ΠΡΠΎ Π²ΡΠ΅, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΌΡ Π½Π΅ Π·Π°Ρ ΠΎΡΠΈΠΌ Π²ΠΈΠ΄Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅. Π ΠΏΠΎΠΊΠ° Π²ΡΠ΅ ΡΡΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠΈΠ΄ΡΡ Π·Π΄Π΅ΡΡ ΡΠ΅ΡΠΏΠ΅Π»ΠΈΠ²ΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ ΠΊΠΎΠ³Π΄Π° ΡΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ»ΡΠΆΠΈΡΡ Π½Π°ΠΌ. ΠΠ°ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΊΠΎΠ΄, Π½ΠΎ ΠΌΠΎΡΠ½ΡΡ ΡΠΎΡΠ·Π½ΠΈΠΊΠΎΠ². Π§ΡΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄ΠΎ ΡΡΠΎΠ²Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π³Π»Π°Π². ΠΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅, Π½ΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅, ΡΠ΅ΠΌ Ρ Π·Π°ΠΊΠΎΠ½ΡΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡ ΡΠ΅Π±Ρ, ΡΡΠΎ ΠΌΡ Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ. ΠΠΎΠ½Π΅ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ CodeGen Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ LoadVariable:
{β}
unit CodeGen;
{β}
interface
uses Output;
procedure LoadConstant(n: string);
procedure LoadVariable(Name: string);
{β}
implementation
{β}
{ Load the Primary Register with a Constant }
procedure LoadConstant(n: string);
begin
EmitLn('MOVE #' + n + ',D0' );
end;
{β}
{ Load a Variable to the Primary Register }
procedure LoadVariable(Name: string);
begin
EmitLn('MOVE ' + Name + '(PC),D0');
end;
end.
{β}
Π‘Π°ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ Parser Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π½ΠΎ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Factor:
{β}
{ Parse and Translate a Factor }
procedure Factor;
begin
if IsDigit(Look) then
LoadConstant(GetNumber)
else if IsAlpha(Look)then
LoadVariable(GetName)
else
Error('Unrecognized character ' + Look);
end;
{β}
Π’Π΅ΠΏΠ΅ΡΡ, Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. Π ΡΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΠΎΡΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°; Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠ΅ Π²ΡΡ Π³ΡΡΠ·Π½ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΊΠΎΠ΄Π° Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ΅ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ΅ ΠΊΠΎΠ΄Π° ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡΡΠ°Π΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ, Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ΄Π°, Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΡΠ·ΡΠΊ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· ΠΏΡΠ΅ΠΆΠ΄Π΅ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π³Π»Π°Π²Π°Ρ , Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°Π½ΡΡΡ Ρ Π½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π°Π·Π°Π΄ ΠΊ ΡΠΎΠΌΡ ΠΌΠ΅ΡΡΡ, Π³Π΄Π΅ ΠΌΡ Π±ΡΠ»ΠΈ Π΄ΠΎ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ²Π°. ΠΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π² ΠΠ»Π°Π²Π΅ 16, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠΎΡΠΎ ΠΏΠΎΡΠ²ΠΈΡΡΡ. Π£Π²ΠΈΠ΄ΠΈΠΌΡΡ.
Π‘ΡΡΠ»ΠΊΠΈ
Crenshaw, J.W., Β«Object-Oriented Design of Assemblers and Compilers,Β» Proc. Software Development '91 Conference, Miller Freeman, San Francisco, CA, February 1991, pp. 143-155.
Crenshaw, J.W., Β«A Perfect Marriage,Β» Computer Language, Volume 8, #6, June 1991, pp. 44-55.
Crenshaw, J.W., Β«Syntax-Driven Object-Oriented Design,Β» Proc. 1991 Embedded Systems Conference, Miller Freeman, San Francisco, CA, September 1991, pp. 45-60.
ΠΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠ° ΠΎΠ±ΡΡΠ°ΡΡΠ°Ρ ΡΠ΅ΡΠΈΡ ΠΎΠ±Π΅ΡΠ°Π΅Ρ ΡΡΠ°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ Π΄ΠΎΠ»Π³ΠΎΠΈΠ³ΡΠ°ΡΡΠΈΡ ΠΌΠΈΠ½ΠΈ-ΡΠ΅ΡΠΈΠΉ Π² ΠΈΡΡΠΎΡΠΈΠΈ, ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡΠ΅ΠΉ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π½Π° Π’ΠΎΠΌΠ΅ IV ΠΠ½ΡΡΠ°. ΠΠ°ΡΠ°ΡΠ°Ρ Π² 1988, ΡΡΠ° ΡΠ΅ΡΠΈΡ Π²ΠΎΡΠ»Π° Π² ΡΠ΅ΡΡΡΠ΅Ρ Π»Π΅ΡΠ½ΡΡ ΠΏΠ°ΡΠ·Ρ Π² 1990, ΠΊΠΎΠ³Π΄Π° Β«Π·Π°Π±ΠΎΡΡ ΠΌΠΈΡΠ° ΡΠ΅Π³ΠΎΒ», ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°Ρ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ°Ρ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π·Π°ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π° ΠΆΠΈΠ·Π½Ρ ΠΊΠ°Π·Π°Π»ΠΎΡΡ Π·Π°Π±ΡΠΎΡΠΈΠ»ΠΈ Π΅Π΅ ΠΏΠΎΡΠ»Π΅ ΠΠ»Π°Π²Ρ 14. ΠΠΎΠ»Π³ΠΎΡΠ΅ΡΠΏΠ΅Π²ΡΠΈΠ΅ ΠΈΠ· Π²Π°Ρ Π±ΡΠ»ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ Π²ΠΎΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½Ρ Π²Π΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° Π΄ΠΎΠ»Π³ΠΎΠΆΠ΄Π°Π½Π½ΠΎΠΉ ΠΠ»Π°Π²ΠΎΠΉ 15. Π Π½Π΅ΠΉ Ρ Π½Π°ΡΠ°Π» ΠΏΠΎΠΏΡΡΠΊΡ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ΅ΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° ΡΠ΅Π»ΡΡΡ ΠΈ ΠΏΠΎ Ρ ΠΎΠ΄Ρ Π΄Π΅Π»Π° ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π΅ ΠΏΡΠΎΡΠ΅ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²Π°Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΡΡΡΠ΄Π½ΡΡ ΡΠ΅ΠΌ ΡΠ΅ΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ, ΡΠ°ΠΊ ΡΡΠΎΠ±Ρ Π²Ρ Π±ΡΠ»ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈ ΡΡΠ°Π»ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΡΠ½ΡΠΌΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΡ ΠΈ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡΡ. ΠΠ·-Π·Π° ΡΡΠΎΠΉ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΠΏΠ°ΡΠ·Ρ Ρ ΠΏΠΎΠ΄ΡΠΌΠ°Π» ΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π°Π·Π°Π΄ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΡ Π²Π°ΡΠΈΠ»ΠΈ Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π½ΠΎΠ²ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΠΏΡΠΎΡΠ»ΠΎΠΌ ΠΌΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° ΡΠΈΠ»ΡΠ½ΠΎ Π½Π΅ ΠΊΠ°ΡΠ°Π»ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°... Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² Ρ ΠΏΡΡΠ°Π»ΡΡ ΠΎΠ±ΡΡΠ°ΡΡ (ΠΈ ΠΎΠ±ΡΡΠ°ΡΡΡΡ) ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌ, Π° Π½Π΅ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΡΡΠ°ΡΠ°Π»ΡΡ Π΄Π°Π²Π°ΡΡ Π²Π°ΠΌ Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΡ, Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΎΡΡΡΠ²ΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ°ΡΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
Π― Π²ΡΠ΅ Π΅ΡΠ΅ Π²Π΅ΡΡ, ΡΡΠΎ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠ°; Π½ΠΈΠΊΡΠΎ Π½Π΅ Π·Π°Ρ ΠΎΡΠ΅Ρ Π²Π½ΠΎΡΠΈΡΡ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² 100,000 ΡΡΡΠΎΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΈΠ΄Π΅Ρ. ΠΠΎ ΠΈΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΡΡΠ²ΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π° Π° Π½Π΅ ΠΏΠΎΠ»Π½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΏΠΈΡΠ°Π»ΠΈ ΡΠ΅ ΠΆΠ΅ ΡΠ°ΠΌΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·. Π₯ΠΎΡΡ Π±ΡΠ»ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π΄ΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΡΠΌ ΠΈΠ΄Π΅ΡΠΌ, ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ°Π²Π΄Π° ΠΈ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ Ρ ΠΎΡΠΎΡΠ΅ΠΉ Π²Π΅ΡΡΡ. ΠΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° Ρ Π·Π°Π²Π΅ΡΡΠΈΠ» ΠΠ»Π°Π²Ρ 14, Ρ ΠΊΠ°Π·Π°Π»ΠΎΡΡ Π΄ΠΎΡΡΠΈΠ³ ΠΏΡΠ΅Π΄Π΅Π»ΠΎΠ² ΡΠ²ΠΎΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΠ΅Ρ ΠΆΠ΅ ΡΠ°ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΡΠΎ Π·Π½Π°Π΅Ρ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Ρ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π²ΡΠ΄ΠΎΡ ΡΡ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ.
Π ΡΡΠ°ΡΡΡΡ, Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Borland Turbo Pascal ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ ΡΡΠ΅ΡΡΡ ΡΠ²ΠΎΠΉ ΠΊΡΡΠΎΠΊ ΠΏΠΈΡΠΎΠ³Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΌΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π½Π°ΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌΠΈ ΠΈ ΠΏΡΠΎΡΡΡΠΌΠΈ. ΠΠΎ, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ, ΠΊΠΎΠ΄ Π² ΠΌΠΎΠ΄ΡΠ»ΡΡ ΠΠ°ΡΠΊΠ°Π»Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅Π³Π΄Π° ΡΠ°ΠΌ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΅Π³ΠΎ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊ Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π²Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡΡ Π½Π° C ΠΈΠ»ΠΈ C++, Ρ Π·Π½Π°Ρ, ΡΡΠΎ Π²Ρ ΠΏΠΎΠ΄ΡΠΌΠ°Π΅ΡΠ΅: Borland Ρ ΠΈΡ Turbo Pascal ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π½Π΅ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°Π»ΠΈ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. Π, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π²Ρ ΠΏΡΠ°Π²Ρ. ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ TP Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° Π»ΠΈΠ±ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ½ΡΡΡ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΡΠΉ Π²Π΅ΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΠ°ΠΆΠ΅ Π² C ΠΈΠ»ΠΈ C++ Π²Ρ Π²ΡΠ΅ Π΅ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ make ΡΠ°ΠΉΠ», ΠΈΠ»ΠΈ Π²ΡΡΡΠ½ΡΡ, ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Β«externΒ» ΠΈΠ»ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ. Π TP Π²Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄Π°ΠΆΠ΅ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎΠ³ΠΎ. ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΆΠ΅Π»Π°Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΈ Π²ΡΠ΅ ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ.
Π£ ΠΌΠ΅Π½Ρ Π½Π΅Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π·Π΄Π΅ΡΡ Π΄Π΅Π±Π°ΡΠ°ΠΌΠΈ Π½Π° ΡΠ΅ΠΌΡ Π²ΠΎΠΉΠ½ ΡΠ·ΡΠΊΠΎΠ², ΡΠ°ΠΊ ΡΡΠΎ Ρ Π½Π΅ Π±ΡΠ΄Ρ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡ ΡΡΡ ΡΠ΅ΠΌΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ. ΠΠ°ΠΆΠ΅ Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Pascal Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅... Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ C Π½Π° ΡΠ°Π±ΠΎΡΠ΅ ΠΈ Π‘++ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ Π² Embedded Systems Programming ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΆΡΡΠ½Π°Π»Π°Ρ . ΠΠΎΠ²Π΅ΡΡΡΠ΅ ΠΌΠ½Π΅, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π²Π°Π»ΡΡ Π²ΠΎΠ·ΡΠΎΠ΄ΠΈΡΡ ΡΡΡ ΡΠ΅ΡΠΈΡ, Ρ Π΄ΡΠΌΠ°Π» Π΄ΠΎΠ»Π³ΠΎ ΠΈ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎ ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΈ ΡΠ·ΡΠΊΠ° ΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π² ΡΡΠΈ Π΄Π½ΠΈ, C/C++ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ PC ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² Ρ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΊΠ°, ΡΠ΅ΠΌ ΡΠ°ΠΌ ΠΏΠ΅ΡΠ΅ΡΡΠ². Π Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², Pascal Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π»ΡΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ ΠΎ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, TP Π²ΡΠ΅ Π΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ Π½Π° ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ²Π΅ΡΠ°, Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΡΡΡΡΠ΅Π΅ ΡΠ΅ΠΌ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡΠΈΠ΅ C/C++ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ. Π ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊ Borland, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π² TP Π½ΠΎ Π½Π΅ Π² ΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°Ρ C++ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Microsoft-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠΈ, Borland-ΠΎΠ²ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊ ΠΎΡΠ±Π΅ΡΠ΅Ρ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π°ΠΆΠ΅ Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ Π²ΡΡΠ΅Π·Π°Π½ΠΈΡ ΠΈΡ ΠΈΠ· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ Π½ΡΠΆΠ½Ρ. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ΅Π΄ΠΊΠΈΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ² Π½Π°ΡΠ΅ΠΉ ΠΆΠΈΠ·Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ΄ΡΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ»Π½ΠΎΡΠΎΠΉ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ. ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ TP ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π½ΡΠΌ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Π»ΡΠ±ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΡΠΎΡΡΠ΅, ΠΊΠ°ΠΊ ΠΌΡ Π΄ΡΠΌΠ°Π΅ΠΌ, ΠΌΠΎΠ³ΡΡ Π½Π°ΠΌ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ, ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅, ΡΡΠΎ ΡΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π΅Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄ΡΡΠΈΡ ΠΊΠΎΠ΄Π° Π² ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
ΠΠ»Π°Π²Π½ΠΎΠ΅ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ TP ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠ΅ΡΡ Π²ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΡ , Π½Π° Π²ΠΈΠ΄ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ. ΠΠ΄Π½Π°ΠΆΠ΄Ρ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅, ΠΌΠΎΠ΄ΡΠ»ΠΈ TP ΡΠΈΠ΄ΡΡ ΡΠ°ΠΌ, ΡΠΈΡ ΠΎΠ½ΡΠΊΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ²ΠΎΠΉ Π΄ΠΎΠ»Π³ ΠΈ Π΄Π°ΡΡ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.