рд╣рдо рдЕрдкрдиреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рднрд╛рдЧ 3: рдЕрдиреБрд╡рд╛рджрдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ред рднрд╛рд╖рд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдФрд░ рдЧрдгрд┐рддреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг

рдЫрд╡рд┐

рдкрд░рд┐рдЪрдп


рдореИрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░рддрд╛ рд╣реВрдВ, рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдореИрдВ рдХрд┐рди рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЗрди рд▓реЗрдЦреЛрдВ рдХреЛ рдЙрдиреНрдореБрдЦ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЬрд┐рдирдХреЗ рд╕рдорд░реНрдерди рдФрд░ рд░рд╛рдп рдХреЛ рдореИрдВ рдорд╣рддреНрд╡ рджреЗрддрд╛ рд╣реВрдВред

рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рд╕реНрдерд╛рдкрд┐рдд рдкрд░рдВрдкрд░рд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореИрдВ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдкреНрд░рджрд╛рди рдХрд░реВрдВрдЧрд╛:

рднрд╛рдЧ 1: рдПрдХ рднрд╛рд╖рд╛ VM рд▓рд┐рдЦрдирд╛
рднрд╛рдЧ 2: рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рд╕реНрддреБрддрд┐

рдЕрдкрдиреЗ рд╕рд┐рд░ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдЗрди рд▓реЗрдЦреЛрдВ рдореЗрдВ рдЬреЛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЙрд╕рдХреА рдкреВрд░реА рд╕рдордЭ рд░рдЦрддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдкрд┐рдЫрд▓реЗ рднрд╛рдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рддреБрд░рдВрдд рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдерд╛ рдФрд░ рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдпрд╣ рдкреВрд░реА рдбреАрдмреНрд░реАрдлрд┐рдВрдЧ рдЬрд╛рддреА рд╣реИ: рдХреНрд▓реИрдХ рд╕реНрдпреВрдбреА ред рд╢рд╛рдпрдж рдпрд╣ рдкрд╣рд▓реА рдмрд╛рдд рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред

рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛:

тЖТ рд▓рдШреБ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрдерд▓
тЖТ рдЧрд┐рдЯрд╣рдм рднрдВрдбрд╛рд░

рдареАрдХ рд╣реИ, рдореИрдВ рдпрд╣ рднреА рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдСрдмреНрдЬреЗрдХреНрдЯ Pascal рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН FPC рдореЗрдВред

рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрд╡рд╛рджрдХреЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдореИрдВ рдкрд╣рд▓реЗ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдПрдХ рд╕рдореВрд╣ рдФрд░ рдХрдИ рдкреНрд░рддрд┐рдорд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдХреБрдЫ рднреА рд╕рд╛рд░реНрдердХ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ рдерд╛ред рдореИрдВ рдПрдХ рджреЛ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдореБрдЦреНрдп рдмрд╛рдд рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред

рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдХрд╛рд░реНрдп рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдХреЛрдб рддреИрдпрд╛рд░ рдХрд░рдирд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрд╕ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП) рдФрд░ рдХреЛрдб рдХреЛ рдЯреЛрдХрди рдореЗрдВ рддреЛрдбрд╝рдирд╛ (рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЯреЛрдХрди рдиреНрдпреВрдирддрдо рд╡рд░реНрдг рд╕реЗрдЯ рд╣реИ)ред

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рдХреЗ, рдЖрдкрдХреЛ рдХреЛрдб рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдЖрд╡реЗрджрди рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВ рдпрд╛ ... рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпрд╛ рд╣реИред

рд╣рд╛рдВ, рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╛рда рдХреЗ рдЗрд╕ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд╣рд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ - рдЕрдм рдХрд╛рд░реНрдп рдХрдИ рдЙрдк-рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИред

рдЪрд▓реЛ рдЫреЛрдбрд╝реЗрдВ рдХрд┐ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдмрд╣реБрдд рдЙрдмрд╛рдК рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдЯреЛрдХрди рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред

рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг


рдЖрдкрдиреЗ рдХреЛрдб рдХреЗ рдПрдХ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЙрд╕рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рдЕрдкрдорд╛рдирдЬрдирдХ рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реЛрдЧрд╛ред рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ - рдпрд╣ рд╕рд░рд▓ рднрдпрд╛рдирдХ рд╢рдмреНрджреЛрдВ рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ, рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╕рд░рд▓ рд╕реЗрдЯред рдХрд╛рд░реНрдп рдЯреЛрдХрди рдХреА рд╕реВрдЪреА рдкрд░ рдЬрд╛рдирд╛ рд╣реИ рдФрд░ рдХреЛрдб рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрдорд╛рдг рдХреЛред

рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрдирд┐рд╡рд╛рд░реНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ, рдХреЛрдб рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрд░рдЪрдирд╛рдУрдВ рд╕реЗ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреЗрдбрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдкрдХреЛ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЪрдХреНрд░ "рдП" рдХреЛ рдЪрдХреНрд░ "рдмреА" рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рд╢реБрд░реВ рдХрд░рдирд╛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдЪрдХреНрд░ "рдмреА" рдХреЗ рд╢рд░реАрд░ рдХреЗ рдмрд╛рд╣рд░ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред рдПрдХ рдХреЛрдб рдПрдХ рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реЗрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИред
рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдбрд┐рдЬрд╛рдЗрди рдореЗрдВ рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рд╕рд╣реА рд╣реИ - рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд (рдФрд░ рд╢рд╛рдпрдж рдмреАрдЪ рдореЗрдВ рдХреБрдЫ рдФрд░, рд▓реЗрдХрд┐рди рдмрд╛рдд рдирд╣реАрдВ)ред

рддрджрдиреБрд╕рд╛рд░, рдХреЛрдб рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЛ рдПрдХрд▓-рдкрд╛рд╕ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдкреЗрдбрд╝ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд┐рдирд╛ред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд▓реВрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓реЗрдЧрд╛ рдФрд░ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╕реНрд╡рд┐рдЪ-рдХреЗрд╕ рдЬреЛ рдореБрдЦреНрдп рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдЧрд╛ред

рдпрд╛рдиреА рд╣рдо рдЯреЛрдХрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднрд╛рдЧрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЯреЛрдХрди рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рд░рд╣рдиреЗ рджреЗрдВ ...) "рдЕрдЧрд░" - рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЯреЛрдХрди рдХреЛрдб рдореЗрдВ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ -> рдпрд╣ рд╢реБрд░реБрдЖрдд рдХреА рд╣реИ рдЕрдЧрд░..рддреЛ [..] .. рдЕрдВрдд рдирд┐рд░реНрдорд╛рдг!

рд╣рдо рдЕрдкрдиреА рднрд╛рд╖рд╛ рдореЗрдВ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХреНрд░рдорд╢рдГ рдмрд╛рдж рдХреЗ рд╕рднреА рдЯреЛрдХрди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВред

рдХреЛрдб рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛


рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЪрд░рдг рдореЗрдВ рдФрд░ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЪрд▓рдирд╛, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдХреЛрд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдпрд╣ рдЙрдкрдпреЛрдЧреА рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рджреМрд░рд╛рди рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ - рд╕рдВрд░рдЪрдирд╛ рдареАрдХ рд╕реЗ рдирд╣реАрдВ рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрдм рдореИрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рднрд╛рд╖рд╛ рдХреА рднрд╛рд╖рд╛ рдХреЛ рдХреИрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?


рдКрдкрд░, рдореИрдВрдиреЗ рдПрдХ рдЕрдиреБрд╡рд╛рджрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ред рдЕрдм рдореЗрд░реЗ рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЕрдиреБрд╡рд╛рджрдХ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХреЗ рд╕рдорд╛рди рд╣реА рдирд┐рдХрд▓рд╛ред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдЖрдЧреЗ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЯреЛрдХрди рдХреЗ рдПрдХ рд╕рдореВрд╣ рдореЗрдВ рдХреЛрдб рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝рддрд╛ рд╣реИред

рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдХреЛрдб рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рд╕рднреА рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЛ рд▓рдВрдмреА рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рдЕрд▓рдЧ рд╕реЗ рд▓реА рдЧрдИ рд░реЗрдЦрд╛ рдореЗрдВ рдПрдХ рднрд╛рд╖рд╛ рдирд┐рд░реНрдорд╛рдг рдпрд╛ рдЙрд╕рдХрд╛ рднрд╛рдЧ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╢рд╛рдВрдд рд╣реИ, рдЕрдм рд╣рдо рдЯреЛрдХрди рд╕реЗрдЯ рдореЗрдВ рдЗрди рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХреЗ рдмрдЬрд╛рдп, рд╣рдорд╛рд░реЗ рдмрдбрд╝реЗ рд╕реНрд╡рд┐рдЪ-рдХреЗрд╕ рдореЗрдВ рд╣рд░ рдкрдВрдХреНрддрд┐ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рде рд╣реА, рдпрд╣рд╛рдВ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рд▓рд╛рдЗрди рдХрд╛ рдЕрдВрдд рд╣реИ рдФрд░ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред

рддрджрдиреБрд╕рд╛рд░, рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдпрд╛ рдЗрд╕рдХреЗ рднрд╛рдЧреЛрдВ рдХреЗ рдХреЛрдб рдХрд╛ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдкреА.рдПрд╕. рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдПрдХ рд╡реАрдПрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рднрд╛рд╖рд╛ рд╕реЗ рдмрд╛рдИрдЯреЗрдХреЛрдб рддрдХ рдПрдХ рдЕрдиреБрд╡рд╛рджрдХ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ред рджрд░рдЕрд╕рд▓ - рдпрд╣ рдордзреНрдпрд╡рд░реНрддреА рднрд╛рд╖рд╛ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реИред

рдпрд╣ рд╕рдордЭрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рдХрдИ рд╕рд░рд▓ рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рдЪреВрдВрдХрд┐ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╕рдордп рдЙрдиреНрд╣реЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рдХреЛрдб рдкрд░ рд╡рд╛рд░реНрдо-рдЕрдк рдЪрд▓рд╛рддреЗ рд╣реИрдВ


рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдиреБрд╡рд╛рджрдХ рдХреЛ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрд╕ рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХреБрдЫ рдбрд┐рдЬрд╛рдЗрдиреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдЖрдк рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗ рд╕рд╛рде рд╕реМрджрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЖрдпрд╛рдд, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдХрд╛рд░реНрдп, рдФрд░ OOP рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рджреГрд╢реНрдп рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рддрд╛рдХрд┐
рдкреНрд░рд╛рд░рдВрдн рдХреЗ рдмрд╛рдж рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореБрдЦреНрдп () рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдкрд╣рд▓реЗред

рдУрдУрдкреА рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЕрдВрдд рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкрд░рд┐рд╖реНрдХреГрдд рдбрд┐рдЬрд╛рдЗрди


рдареАрдХ рд╣реИ, рд╣рдордиреЗ рд╕рд░рд▓ рдбрд┐рдЬрд╛рдЗрдиреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ред рдЕрдм рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛ рд╕рдордп рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдк рджреЛ рдЪрдХреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЙрджрд╛рд╣рд░рдг рдХреЛ рднреВрд▓ рдЧрдПред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╕рдВрд░рдЪрдирд╛рдПрдВ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреЗрдбрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрддреА рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рд╕реНрдЯреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрдЯрд┐рд▓ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реНрдЯреИрдХ рдХрд╛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ? рд╣рд╛рд▓рд╛рдВрдХрд┐ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЙрд╕ рд╡рд░реНрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдо рд╕реНрдЯреИрдХ рдкрд░ рдзрдХреЗрд▓реЗрдВрдЧреЗред рдЬрдЯрд┐рд▓ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдЗрд╕ рдмреНрд▓реЙрдХ рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдХреЗ рд▓рд┐рдП рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рд▓реВрдк рддрдХ, рдЬрдмрдХрд┐ рдирд┐рд░реНрдорд╛рдг, рддрд░реАрдХреЗ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрд╢ рднрд╛рд╖рд╛ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡, рдореЗрдЯрд╛ рдЬрд╛рдирдХрд╛рд░реА (рдХреБрдЫ рдЪрд░ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЗ рд▓рд┐рдП) рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмреНрд▓реЙрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЦреЗрддреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдореИрдВ рдЕрднреА рдкреВрд░рд╛ рдХреЛрдб рдирд╣реАрдВ рджреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд╣реИ:

unit u_prep_codeblock; {$mode objfpc}{$H+} interface uses Classes, SysUtils; type TBlockEntryType = (btProc, btFunc, btIf, btFor, btWhile, btUntil, btTry, btClass, btSwitch, btCase); TCodeBlock = class(TObject) public bType: TBlockEntryType; mName, bMeta, bMCode, bEndCode: string; constructor Create(bt: TBlockEntryType; MT, MC, EC: string); end; implementation constructor TCodeBlock.Create(bt: TBlockEntryType; MT, MC, EC: string); begin inherited Create; bType := bt; bMeta := MT; bMCode := MC; bEndCode := EC; end; end. 

рдЦреИрд░, рд╕реНрдЯреИрдХ рдПрдХ рд╕рд╛рдзрд╛рд░рдг TList рд╣реИ, рдпрд╣рд╛рдВ рдкрд╣рд┐рдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдордЬрдмреВрдд рдХрд░рдирд╛ рд╕рд┐рд░реНрдл рд╕рд╛рджреЗ рдмреЗрд╡рдХреВрдл рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдирд┐рд░реНрдорд╛рдг рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реБрдП, рдорд╛рди рд▓реЗрдВ рдХрд┐ рд▓реВрдк рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 function ParseWhile(s: string; varmgr: TVarManager): string; var WhileNum, ExprCode: string; begin Delete(s, 1, 5); //"while" Delete(s, Length(s), 1); //":" s := Trim(s); //   ,       ... //        :) WhileNum := '__gen_while_' + IntToStr(WhileBlCounter); Inc(WhileBlCounter); //   while   // ,        if IsExpr(s) then ExprCode := PreprocessExpression(s, varmgr) else ExprCode := PushIt(s, varmgr); //  ExprCode     //        //    //(      ) Result := WhileNum + ':' + sLineBreak + 'pushcp ' + WhileNum + '_end' + sLineBreak + ExprCode + sLineBreak + 'jz' + sLineBreak + 'pop'; //        //  -        //   break BlockStack.Add(TCodeBlock.Create(btWhile, '', 'pushcp ' + WhileNum + sLineBreak + 'jp' + sLineBreak + WhileNum + '_end:', WhileNum + '_end')); end; 

рдЧрдгрд┐рдд рдХреЗ рднрд╛рд╡реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдЖрдкрдиреЗ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЧрдгрд┐рддреАрдп / рддрд╛рд░реНрдХрд┐рдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рднреА рд╕рдВрд░рдЪрд┐рдд рдХреЛрдб рд╣реИрдВред

рдореИрдВрдиреЗ рдЙрдирдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рд╕реНрдЯреИрдХреНрдб рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рднреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рддрддреНрд╡реЛрдВ рдХреЛ рд╕реНрдЯреИрдХ рдкрд░ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдХрдИ рдЪрд░рдгреЛрдВ рдореЗрдВ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред

рдХрдИ рдмрд╛рд░ - рдХреНрдпреЛрдВрдХрд┐ рдЧреБрдгрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдЧрдгрд┐рддреАрдп рдХрд╛рд░реНрдп рд╣реИрдВред
рдореИрдВ рдпрд╣рд╛рдВ рдмрд┐рдВрджреБ рдирд╣реАрдВ рджреЗрдЦрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдФрд░ рдЙрдмрд╛рдК рд╣реИрдВред

рдкреА.рдПрд╕. /lang/u_prep_expressions.pas - рдпрд╣рд╛рдВ рдпрд╣ рдЖрдкрдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдЬрд╛рдЧрд░ рд╣реИред

рдкрд░рд┐рдгрд╛рдо


рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рдЕрдиреБрд╡рд╛рджрдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ ... рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреЛрдб рд╣реИ:

 proc PrintArr(arr): for(i ?= 0; i < len(arr); i++): PrintLn("arr[", i, "] = ", arr[i]) end end proc main(): var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] PrintArr(arr) InputLn() end 

рд╣рдорд╛рд░реА рднрд╛рд╖рд╛ рдореЗрдВ рдХреНрдпрд╛ рдХрдореА рд╣реИ? рдареАрдХ рд╣реИ, OOP рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВред рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреЗ рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

рдпрджрд┐ рдЖрдкрдиреЗ рдХрд┐рдпрд╛ рддреЛ рдЕрдВрдд рддрдХ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдпрджрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рд╣реИред рдпрд╛ рдордВрдЪ рдкрд░ рдкреНрд░рд╢реНрди, рд╣рд╛рдВ ... рд╣рд╛рдВ, рдореИрдВ рдЗрд╕реЗ рдХрднреА-рдХрднреА рдЬрд╛рдВрдЪрддрд╛ рд╣реВрдВред

рдФрд░ рдЕрдм рдПрдХ рдЫреЛрдЯрд╛ рдорддрджрд╛рди (рддрд╛рдХрд┐ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦреВрдВ рдФрд░ рдЕрдкрдиреЗ рд▓реЗрдЦреЛрдВ рдХреЗ рдорд╣рддреНрд╡ рдХрд╛ рдЖрдирдВрдж рд▓реВрдВ):

Source: https://habr.com/ru/post/hi435520/


All Articles