рд░реВрдмреА рдЕрдВрджрд░ред YARV рдмрд╛рдЗрдЯреЗрдХреЛрдб (I)



рдЗрд╕ рдФрд░ рдмрд╛рдж рдХреЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ, рдореИрдВ рд░реВрдмреА MRI 1 1.9 рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЧрдИ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди YARV рдХреЗ рдмрд╛рдпреЛрдЯреЗрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред



рдкрд╣рд▓рд╛, рдереЛрдбрд╝рд╛ рдЗрддрд┐рд╣рд╛рд╕ред рд░реВрдмреА рдХрд╛ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рдЬреЛ рдЕрдВрддрддрдГ рд░реВрдмреА 1.8 рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛, рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрдпреЛрдЧреНрдп рджреБрднрд╛рд╖рд┐рдпрд╛ рдерд╛: рдЬрдм рдХреЛрдб рд▓реЛрдб рдХрд░рдирд╛ рдПрдХ рд╕рд╛рд░ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдкреЗрдбрд╝ рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛, рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдЗрд╕ рдкреЗрдбрд╝ рдХрд╛ рдПрдХ рддреБрдЪреНрдЫ рдЯреНрд░рд┐рдХрд▓ рдерд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рдЗрд╕ рддрдереНрдп рд╕реЗ рдЕрдкрдиреА рдЖрдБрдЦреЗрдВ рдмрдВрдж рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдкреЗрдбрд╝ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░реЗрдВ (рд░реЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ, рдЬрд┐рдирдХреЗ рдПрдПрд╕рдЯреА рдиреЗ рд▓рдЧрднрдЧ рджрд╕ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ 2 рд▓рд┐рдпрд╛), рдореЗрдореЛрд░реА рдореЗрдВ рд▓рд┐рдВрдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╣реЛрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрдб рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдХреИрд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдереАред рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдЕрдиреБрдХреВрд▓рдиред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рднреА рдХрд┐ рдЕрддреНрдпрдВрдд рд▓рдЪреАрд▓реА рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдХрд╛рд░рдг рдЬрд┐рд╕рдореЗрдВ рдХрд┐рд╕реА рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛, рдмрд┐рд▓реНрдЯ-рдЗрди рдлрд┐рдХреНрд╕рдирдо рд╡рд░реНрдЧ рд╕рд╣рд┐рдд, рд╡рд╕реНрддреБрдУрдВ рдкрд░ рдХреЙрд▓рд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдЧрдгрдирд╛ рдХреА рдЧрдИ рдереА (рд╣рд╛рдБ, 5 + рдЬрд┐рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ "+" рддрд░реАрдХрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред 5 рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде), рд░реВрдмреА 1.8 рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЧрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдзреАрдореА рдореЗрдВ рд╕реЗ рдПрдХ рдирд┐рдХрд▓рд╛ред



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



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



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



рдореИрдВ рдПрдХ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЗрд╕ рдФрд░ рдмрд╛рдж рдХреЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рд╡рд╣реА рдмрддрд╛рдКрдВрдЧрд╛ рдЬреЛ рдореИрдВрдиреЗ рд░реВрдмреА рдмрд╛рдИрдЯреЗрдХреЛрдб рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рд╕рдордЭрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рдХрд┐рдпрд╛ рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рд▓рд╛рдпрд╛ред рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рдлрд▓ рд░рд╣рд╛; рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореИрдВ рдЗрд╕реЗ рдЕрд▓рдЧ рд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реВрдВрдЧрд╛ред рдпрджрд┐ рдРрд╕рд╛ рдХреЛрдИ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореИрдВ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред



рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдмрд╛рдпрдЯреЗрдХреЛрдб рддрдХред рд░реВрдмреА 4 рдореЗрдВ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдХреНрд▓рд╛рд╕ рд╣реИ RubyVM :: InstructionSequence, рдЬреЛ рдЖрдкрдХреЛ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдмрд╛рдпрдЯреЗрдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдПрдХ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдмрд╛рдпрдЯреЗрдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ)ред рд╕рд░рд▓рддрдо рд╕реНрдерд┐рддрд┐ рдореЗрдВ, InstructionSequence.compile рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЬреЛ рдЗрд╕ рд╡рд░реНрдЧ рдХреА рдПрдХ рд╡рд╕реНрддреБ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдФрд░ InstructionSequence # to_a рд╡рд┐рдзрд┐, рдЬреЛ рдПрдХ рдмрд╛рдЗрдЯрдХреЛрдб рдбрдВрдк рджреЗрддрд╛ рд╣реИред



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



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



рддреЛ, рд╣рдо рдХреБрдЫ рд╕рд░рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдПрдХ рдбрдВрдк рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

ruby-1.9.2-p136 :001 > seq = RubyVM::InstructionSequence.compile(%{puts "Hello, YARV!"})

=> <RubyVM::InstructionSequence:<compiled>@<compiled>>

ruby-1.9.2-p136 :002 > seq.to_a

=> ["YARVInstructionSequence/SimpleDataFormat", 1, 2, 1, {:arg_size=>0, :local_size=>1, :stack_max=>2}, "<compiled>", "<compiled>", nil, 1, :top, [], 0, [], [1, [:trace, 1], [:putnil], [:putstring, "Hello, YARV!"], [:send, :puts, 1, nil, 8, 0], [:leave]]]









рдбрдВрдк рдореЗрдВ рджреЛ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ: рд╣реЗрдбрд░ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдбред рд╣реЗрдбрд░ рдлрд╝реАрд▓реНрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред



"YARVInstructionSequence/SimpleDataFormat", 1, 2, 1 , {:arg_size=>0, :local_size=>1, :stack_max=>2}, "<compiled>", "<compiled>", nil, 1, :top, [], 0, []







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



"YARVInstructionSequence/SimpleDataFormat", 1, 2, 1, {:arg_size=>0, :local_size=>1, :stack_max=>2} , "<compiled>", "<compiled>", nil, 1, :top, [], 0, []







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



рдкреИрд░рд╛рдореАрдЯрд░: рд╕реНрдерд╛рдиреАрдп_рд╕рд╛рдЗрдЬрд╝, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╣рдореЗрд╢рд╛ 1 рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЗрдХрд╛рдИ рдХрд╕рдХрд░ рдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рд╣реЛрддреА рд╣реИ (compile.c, 342); рдкрд╣рд▓реЗ рддреЛ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рд╕реНрд╡рдпрдВ рдХреЗ рдореВрд▓реНрдп рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ (рдЬреЛ, рдЕрдЧрд░ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ) рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо рдореЗрдВ рд╣реИред



"YARVInstructionSequence/SimpleDataFormat", 1, 2, 1, {:arg_size=>0, :local_size=>1, :stack_max=>2}, "<compiled>", "<compiled>", nil, 1 , :top, [], 0, []







рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд╛рд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо (рдпрд╛ рдПрдХ рдЫрджреНрдо рдирд╛рдо, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдореБрдЦреНрдп рдореЗрдВ рдмреНрд▓реЙрдХ") рд╢рд╛рдорд┐рд▓ рд╣реИ; рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдЬрд┐рд╕рдореЗрдВ рдЗрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, '../something' рдЙрд╕ рдмреНрд▓реЙрдХ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рдлрд╝реАрд▓реНрдб рдореЗрдВ '../something' рд╣реЛрддрд╛ рд╣реИ); рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдкрде (рд╕рдВрднрд╡рддрдГ рдбреАрдмрдЧрд░ рдХреЗ рд▓рд┐рдП) рдФрд░ рд╡рд╣ рдкрдВрдХреНрддрд┐ рдЬрд┐рд╕ рдкрд░ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдмреНрд▓реЙрдХ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред



"YARVInstructionSequence/SimpleDataFormat", 1, 2, 1, {:arg_size=>0, :local_size=>1, :stack_max=>2}, "<compiled>", "<compiled>", nil, 1, :top , [], 0, []







рдЕрдЧрд▓реЗ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдХреЛрдб рдмреНрд▓реЙрдХ рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣реЛрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдореВрд▓реНрдпреЛрдВ рд╕реЗ рдореБрд▓рд╛рдХрд╛рдд рдХреА: рд╢реАрд░реНрд╖ (рдЯреЙрдкрд╡реЗрд▓; "рдмрд╕" рдХреЛрдб рдЬреЛ рдХрд┐рд╕реА рд╡рд┐рдзрд┐ рдпрд╛ рд╡рд░реНрдЧ рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдирд╣реАрдВ рд╣реИ),: рдмреНрд▓реЙрдХ ,: рд╡рд┐рдзрд┐ рдФрд░: рд╡рд░реНрдЧред



рд░реВрдмреА рд╕реНрд░реЛрдд рдХреЛрдб (vm_core.h, 552) рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдиреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд╢реАрд░реНрд╖, рд╡рд┐рдзрд┐, рд╡рд░реНрдЧ, рдмреНрд▓реЙрдХ, рдлрд┐рдирд┐рд╢, cfunc, proc, lambda, ifunc рдФрд░ evalред рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрд╛рдЗрдЯрдХреЛрдб рдореЗрдВ рдирд╣реАрдВ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрднрд╡рддрдГ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рдХрд╛рд░ ifunc рдХреЗ рд╕рд╛рде рдПрдХ рдмреНрд▓реЙрдХ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдЬ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдкрд╛рд░рд┐рдд рдмреНрд▓реЙрдХ рдПрдХ рд╕реА рдлрд╝рдВрдХреНрд╢рди (vm_insnhelper.c, 721) рд╣реИред рджреВрд╕рд░реЛрдВ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп (рд╕реАрдлрд╝реНрдирдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдлрд┐рд▓рд╣рд╛рд▓ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдЬрдЬ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓рдВрдмреЛрджрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреНрд▓реЙрдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдПрд╕рдЯреА рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрд╕реА рд╕рдордп рдореИрдВ рдЙрдирд╕реЗ рдХрднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ред рд╕рдВрднрд╡рддрдГ, рдпрд╣ рдЕрдиреБрдХреВрд▓рди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ)ред



"YARVInstructionSequence/SimpleDataFormat", 1, 2, 1, {:arg_size=>0, :local_size=>1, :stack_max=>2}, "<compiled>", "<compiled>", nil, 1, :top, [], 0 , []







рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдЪрд░ (рд╡рд░реНрдгреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА, рдХреБрдЫ рдХреА рд╕реВрдЪреА рд╣реЛрддреА рд╣реИ рдЬреИрд╕реЗ [:local1, :local2]



рдФрд░ рддрд░реНрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрдЬрд╛рдп (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЗ рд╕рд╛рде рддрд░реНрдХ рд╣реИрдВ, рдпрд╛ рдкреНрд░рдкрддреНрд░ рдХреЗ рддрд░реНрдХ / рдмреНрдпрд╛рд╣ рдпрд╛ рдЦрдВрдб) ) рдПрдХ рд╕рд░рдгреА рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдкреНрд░рд╛рд░реВрдк рдЕрдВрдд рддрдХ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ; рдЬрдм рдореИрдВ рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ рддреЛ рдореИрдВ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ред



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



"YARVInstructionSequence/SimpleDataFormat", 1, 2, 1, {:arg_size=>0, :local_size=>1, :stack_max=>2}, "<compiled>", "<compiled>", nil, 1, :top, [], 0, []







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



[

1,

[:trace, 1],

[:putnil],

[:putstring, "Hello, YARV!"],

[:send, :puts, 1, nil, 8, 0],

[:leave]

]







рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЕрдВрддрд┐рдо рдлрд╝реАрд▓реНрдб рдХреЛрдб рд╣реА рд╣реИред



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



[:putstring, "Hello, YARV!"]





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



рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╣реЛрдЧрд╛ред






1 рдордЯрдЬрд╝ рд╕рдВрджрд░реНрдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

2 рдпрд╣ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ ред

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

4 рдЗрд╕рдХреЗ рдмрд╛рдж, рд░реВрдмреА рдХрд╛ рдорддрд▓рдм рд░реВрдмреА рдПрдордЖрд░рдЖрдИ 1.9.x рд╣реИред



рдкреБрдирд╢реНрдЪ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдореГрддреНрдпреБ рдХреЗ рджрд░реНрдж рдХреЗ рддрд╣рдд, рдореИрдВ рдмреНрд░рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╢рдмреНрдж рдирд╣реАрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ ... рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред



All Articles