Llst рдЖрдВрддрд░рд┐рдХ рдЙрдкрдХрд░рдг, рднрд╛рдЧ 3. JIT рдХрд╛ рдЬрд╛рджреВ, рдпрд╛ рдХрд┐рд╕реА рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЛ 50 рдмрд╛рд░ рдХреИрд╕реЗ рдЧрддрд┐ рджреЗрдВ

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

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

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


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


TRIZ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рд╣рдореЗрдВ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐:


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

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

рдПрдХ рдЖрднрд╛рд╕реА рдорд╢реАрди рдФрд░ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░


рд╕реНрдорд╛рд▓рдЯрд╛рдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╕реНрдЯреИрдХ-рдУрд░рд┐рдПрдВрдЯреЗрдб рд╣реИ:

  1. рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╕рдордп, рдСрдкрд░реЗрдВрдб рдХреЛ рд╕реНрдЯреИрдХ рдкрд░ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
  2. рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдСрдкрд░реЗрд╢рди рд╕реНрдЯреИрдХ рд╕реЗ рдСрдкрд░реЗрдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ;
  3. рдкрд░рд┐рдгрд╛рдо рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╡рд╛рдкрд╕ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдЧрд▓реЗ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдСрдкрд░реЗрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

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

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

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

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

рдХрдВрдкрд╛рдЗрд▓рд░ рдЬреЗрдЖрдИрдЯреА рд╡реИрд▓реНрдпреВ рд╕реНрдЯреИрдХ


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

рдЪрд▓реЛ рдкрд╣рд▓реЗ рджрд┐рдП рдЧрдП рдЫрдБрдЯрд╛рдИ рд╡рд┐рдзрд┐ рд╕реЗ left рдЪрд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реНрдорд╛рд▓рдЯрд╛рдХ рдмрд╛рдЗрдЯрдХреЛрдб рдкрд░ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдЕрдкрдирд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
 "left <- List new" 0023 PushLiteral 4 0024 MarkArguments 1 0025 SendMessage new 0026 AssignTemporary 0 0027 DoSpecial popTop 

рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг, рдПрдХ рд╣реА рд╡рд┐рдзрд┐ рд╕реЗ рдПрдХ рдмреНрд▓реЙрдХ рдХреА рд╢реБрд░реБрдЖрдд:
 0037 PushArgument 1 "criteria" 0038 PushTemporary 3 "x" 0039 PushTemporary 2 "mediane" 0040 MarkArguments 3 0041 SendMessage value:value: "  " 0042 DoSpecial branchIfFalse 52 

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

рдЖрдИрдЖрд░ рдХреЛрдб рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди "рд╣реЗрдб-рдСрди" рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
 define void @pushValueToStack(%TContext* %context, i32 %index, %TObject* %value) { %stackPointer = getelementptr inbounds %TContext* %context, i32 0, i32 4 %stack = load %TObjectArray** %stackPointer %stackObject = bitcast %TObjectArray* %stack to %TObject* call %TObject** @setObjectField(%TObject* %stackObject, i32 %index, %TObject* %value) ret void } define %TObject** @setObjectField(%TObject* %object, i32 %index, %TObject* %value) { %fieldPointer = call %TObject** @getObjectFieldPtr(%TObject* %object, i32 %index) store %TObject* %value, %TObject** %fieldPointer ret %TObject** %fieldPointer } define %TObject** @getObjectFieldPtr(%TObject* %object, i32 %index) { %fields = getelementptr inbounds %TObject* %object, i32 0, i32 2 %fieldPointer = getelementptr inbounds [0 x %TObject*]* %fields, i32 0, i32 %index ret %TObject** %fieldPointer } 

рд╣рд╛рдВ, рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдФрд░, рджреЗрд╢реА рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛, рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рддреЗрдЬ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдРрд╕реЗ JIT VM рдХрд╛ рд╕рдордЧреНрд░ рдкреНрд░рджрд░реНрд╢рди рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдХрдо рд╣реЛрдЧрд╛ред рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореЗрдореЛрд░реА рдСрдкрд░реЗрд╢рди рд╕реНрд╡рдпрдВ рджреВрд░ рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВред рд╣рдордиреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡реАрдПрдо рдХреЗ "рд░реИрдкрд░" рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдХрд░, рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдХреЛрдб рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ред

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

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

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

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

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
  1. рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрдЯреИрдХ рдХреЗ рд╕рдВрджрд░реНрдн ( рдкреБрд╢ ) рдкрд░ рдзрдХреЗрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдореЗрдореЛрд░реА рд╕реЗ рд╡реИрд▓реНрдпреВ рдХреЛ рд╡реЗрд░рд┐рдПрдмрд▓ ( рд▓реЛрдб ) рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рд╡реИрд▓реНрдпреВ рд╕реНрдЯреИрдХ рдкрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ;
  2. MarkArguments рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реБрдП , рд╣рдо рддрд░реНрдХреЛрдВ рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╡реИрд▓реНрдпреВ рд╕реНрдЯреИрдХ рд╕реЗ рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рддрд░реНрдХреЛрдВ рдХреЗ рдмрдирд╛рдП рд╣реБрдП рдРрд░реЛ рдХреЗ рд╕реНрд▓реЙрдЯ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ;
  3. рд╣рдо SendMessage рд╣реИрдВрдбрд▓рд░ рд╕реНрдЯрдм рдХрд╣рддреЗ рд╣реИрдВ ред

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

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

рддрд░реАрдХреЗ рдФрд░ рдХрд╛рд░реНрдп


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

рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛


рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рд╕реЗ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рдЖрднрд╛рд╕реА рдорд╢реАрди рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  1. рд╕реНрдЯреИрдХ рд╕реЗ рдорд╛рди рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ рддрд░реНрдХреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдПрдВ ( markArguments рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЪрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛);
  2. рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рд╡рд┐рдзрд┐ рдЦреЛрдЬреЗрдВ;
  3. рдПрдХ рд╕рдВрджрд░реНрдн рд╡рд╕реНрддреБ рддреИрдпрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдЦреЗрддреЛрдВ рдореЗрдВ рднрд░реЗрдВ;
  4. рдирдП рд╕рдВрджрд░реНрдн рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВред

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

рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ VM рдХреЗрд╡рд▓ рдвреЗрд░ рдкрд░ рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдмрдирд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдЕрдиреНрдп рдореЗрдореЛрд░реА рдирд╣реАрдВ рд╣реИред JIT VM рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдХреБрдЫ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕реНрдЯреИрдХ рдкрд░ рд░рдЦрдХрд░ рдореЗрдореЛрд░реА рдУрд╡рд░рд╣реЗрдб рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕реА рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ:


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

рдЖрдВрдХрдбрд╝реЗ


JIT рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдЖрджрд░реНрд╢ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


RBI рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдХреЙрд▓ рд╕реЗ рдХреЙрд▓ рдкрд░ рд╡рд╕реНрддреБ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕рдВрдЧреНрд░рд╣ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ >> рдХреНрд░рдордмрджреНрдз рд╡рд┐рдзрд┐ рдЬрд┐рд╕реЗ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ:

 sort: criteria | left right mediane | (self size < 32) ifTrue: [ ^ self insertSort: criteria ]. mediane <- self popFirst. left <- List new. right <- List new. self do: [ :x | (criteria value: x value: mediane) ifTrue: [ left add: x ] ifFalse: [ right add: x ] ]. left <- left sort: criteria. right <- right sort: criteria. right add: mediane. ^ left appendList: right 


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

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

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

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

рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдиреБрдорд╛рди


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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Collection>>sort: рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдПрдХ рдЪреМрдХрд╕ рдкрд╛рдардХ рдпрд╣ рдиреЛрдЯрд┐рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ List рд╡рд░реНрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ left рдФрд░ right рд╣рдореЗрд╢рд╛ рдЖрд░рдВрднреАрдХреГрдд right ред рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рдЗрд╕реЗ рд╕рдордЭ рд╕рдХрддреА рд╣реИ:

  1. left рдЪрд░ рдХреЛ List new рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  2. рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ List new рдХреЛрдИ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рдСрдмреНрдЬреЗрдХреНрдЯ ( List ) рд╣реИ
  3. List рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП #new рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ List>>new рджреНрд╡рд╛рд░рд╛ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ
  4. List>>new рд╡рд┐рдзрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ super new рд▓реМрдЯрд╛рддреА рд╣реИ
  5. рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн рдореЗрдВ, рдпрд╣ List super рдпрд╛рдиреА Collection
  6. рдПрдХ Collection рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП #new рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ Object>>new рджреНрд╡рд╛рд░рд╛ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ
  7. Object>>new рд╡рд┐рдзрд┐ рдореЗрдВ рдЖрджрд┐рдо 7 рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рд╣рдореЗрд╢рд╛ рдПрдХ рдЬреНрдЮрд╛рдд рд╡рд░реНрдЧ (рд╕реНрд╡рдпрдВрд╕рд┐рджреНрдз) рдХреА рд╡рд╕реНрддреБ рджреЗрддрд╛ рд╣реИ

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдВ рдЙрд▓реНрдЯреЗ рдХреНрд░рдо рдореЗрдВ рдврд╣ рдЬрд╛рддреА рд╣реИрдВ, рдЬреЛ рдмрдпрд╛рди рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИрдВ: " left рдЪрд░ List рд╡рд░реНрдЧ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рджреНрд╡рд╛рд░рд╛ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ"ред

left рдФрд░ right рдЪрд░ рдХреЗ рд╡рд░реНрдЧ рдХреЛ рдЬрд╛рдирдХрд░, рд╢реЗрд╖ рд╡рд┐рдзрд┐ рдХреЛ рднреА рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдСрдкрд░реЗрд╢рди #add: #sort: рдФрд░ #appendList: рдЕрддрд┐рд░рд┐рдХреНрдд рд╢рд░реНрддреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

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

рд╕рдВрдХрд▓рди


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

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

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

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

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╛рдЗрдЯрдХреЛрдб рдореЗрдВ рдерд╛:
 "left <- List new" 0023 PushLiteral 4 0024 MarkArguments 1 0025 SendMessage new 0026 AssignTemporary 0 0027 DoSpecial popTop 

... рддреЛ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдХреНрд░рдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧрд╛:

  1. рдПрдХ рд╕реНрдердЧрд┐рдд рдСрдкрд░реЗрд╢рди рдмрдирд╛рдПрдВ "рд╕реНрдЯреИрдХ рдкрд░ рдЪреМрдерд╛ рд╢рд╛рдмреНрджрд┐рдХ рдбрд╛рд▓реЗрдВред"
  2. MarkArguments рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЛ рд╕реНрдЯреИрдХ рд╕реЗ рдорд╛рди рдЦреАрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рд▓рдВрдмрд┐рдд рдСрдкрд░реЗрд╢рди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ: lit0 рдирд╛рдо рдХрд╛ lit0 , рдЬрд┐рд╕рдореЗрдВ рд╣рдо lit0 рдХреЗ рд╕рд░рдгреА рд╕реЗ рдЪреМрдереЗ рддрддреНрд╡ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд░рддреЗ рд╣реИрдВред рд╣рдордиреЗ рдпрд╣ рдирд╛рдо рдореМрдЬреВрджрд╛ рдЖрдзрд╛рд░ рдЗрдХрд╛рдИ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдвреЗрд░ рдкрд░ рд░рдЦрд╛ рд╣реИред
  3. рд╣рдо рдПрдХ рддрддреНрд╡ рдХреА рдПрдХ рд╕рд░рдгреА рдмрдирд╛рддреЗ рд╣реИрдВ, рдЗрд╕реЗ args0 рдирд╛рдо рд╕реЗ args0 ред . , , ( lit0 ). , : args0[0] = lit0 .
  4. sendMessage, args0 . ( , ).
  5. temp0, . temp0 .
  6. ( popTop ).


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

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

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╣реА рдЕрд╕реНрдерд╛рдпреА рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрдВрдХреНрддрд┐ рдореЗрдВ рджреЛ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдлрд┐рд░, рдорд╛рди рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдПрд▓рдПрд▓рд╡реАрдПрдо рдкрд┐рдЫрд▓реЗ рдирд╛рдо (рдпрджрд┐ рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ trifles рдХрд╛ рдПрдХ рдкреВрд░рд╛ рдЧреБрдЪреНрдЫрд╛ рд╣реИрдВред

... рд╣рдордиреЗ рдЙрд╕ рд╡рд┐рдХрд▓реНрдк рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдВрдкрд╛рдЗрд▓рд░ рдореВрд▓реНрдп рд╕реНрдЯреИрдХ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рд╕рдВрдХреНрд░рдордг рдСрдкрд░реЗрд╢рди рдЪрд▓рди рдореЗрдВ рдЖрддрд╛ рд╣реИ рддреЛ рдЪреАрдЬреЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред

рд╕рднреА рдкреБрд╢ рдСрдкрд░реЗрд╢рдирд╡рд░реНрддрдорд╛рди рдмреЗрд╕ рдпреВрдирд┐рдЯ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕реНрдерд╛рдиреАрдп рдвреЗрд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред рд╕реНрдЯреИрдХ рд╕рдВрдЪрд╛рд▓рди рдЧреИрд░-рд╕реНрдерд╛рдиреАрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдорд╛рди рдмреНрд▓реЙрдХ рд╕реЗ рдЙрдЪреНрдЪрддрд░ рд╕рдВрдХреНрд░рдордг рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рджреЛ рдмреБрдирд┐рдпрд╛рджреА рдмреНрд▓реЙрдХ рд╣реИрдВ рдПрдХреНрд╕ рдФрд░ рд╡рд╛рдИред рдмреНрд▓реЙрдХ рдПрдХреНрд╕ рдореЗрдВ рдСрдкрд░реЗрд╢рди рд╣реЛрддреЗ рд╣реИрдВ pushTemporary 0рдФрд░branch , Y. , Y markArguments 1 , . , Y . , Y X, . .

Y X 1 ..X n , ╧Ж- , SSA. X i , , . , .

, MethodCompiler::TJitContext::popValue() JITCompilation.txt .


, , ┬л ┬╗. , , . Collection>>sort: , . , , .

, . , , . , .

, . , 10% , , тАФ . , :

branch , Y. , Y markArguments 1 , . , Y . , Y X, . .

Y X 1 ..X n , ╧Ж- , SSA. X i , , . , .

, MethodCompiler::TJitContext::popValue() JITCompilation.txt .


, , ┬л ┬╗. , , . Collection>>sort: , . , , .

, . , , . , .

, . , 10% , , тАФ . , :

branch , Y. , Y markArguments 1 , . , Y . , Y X, . .

Y X 1 ..X n , ╧Ж- , SSA. X i , , . , .

, MethodCompiler::TJitContext::popValue() JITCompilation.txt .


, , ┬л ┬╗. , , . Collection>>sort: , . , , .

, . , , . , .

, . , 10% , , тАФ . , :

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


All Articles