рд╣рд╛рдп, рд╣реИрдмреНрд░ред рдпрджрд┐ рдЖрдкрдХреЛ рд╢реАрд░реНрд╖рдХ рдореЗрдВ рдмрдзрд╛рдИ рдХрд╛ рд╕рд╡рд╛рд▓ рдкрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рд▓реЗрдЦ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдореЗрд░реА рддрд░рд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╣рдореЗрд╢рд╛ рд╕реА ++ рдФрд░ рдЕрдиреНрдп рдЯрд╛рдЗрдк рдХреА рднрд╛рд╖рд╛рдУрдВ рдХреА рд╕рднреА рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╡реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╡реИрд╕реЗ рднреА рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреА рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рд╕реАрдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рд╕рд┐рд░реНрдл рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреВрдВрдЧрд╛ "
рд╣рдореЗрдВ C ++ рдореЗрдВ рдЖрднрд╛рд╕реА рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ ", рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдкрдиреЗ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЦреЛрдЬ рдЗрдВрдЬрди рдХреЛ рдЪрд╛рд▓реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИ: "
рдмрд╣реБрд░реВрдкрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрднрд╛рд╕реА рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рддреАрди рдУрдУрдкреА рд╡реНрд╣реЗрд▓ рдореЗрдВ рд╕реЗ рдПрдХред рдЙрдирдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдорд╢реАрди рд╕реНрд╡рдпрдВ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдкреЙрдЗрдВрдЯрд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░ рд╕рдХрддреА рд╣реИред " рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╡рд╛рд▓ "рдХреНрдпреЛрдВ" рдмрдирд╛ рд╣реБрдЖ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдм рдЗрд╕рдХрд╛ рдорддрд▓рдм рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИ: "
рдорд╢реАрди рдкрд░ рднрд░реЛрд╕рд╛ рдХреНрдпреЛрдВ рдХрд░реЗрдВ, рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордп рдФрд░ рдореЗрдореЛрд░реА рдЦрд░реНрдЪ рдХрд░реЗрдВ, рдпрджрд┐ рдЖрдк рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдЦреБрдж рдкреЙрдбрдХрд╛рд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд┐рд╕ рд╡рд╕реНрддреБ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЙрд╕рдХрд╛ рдкреНрд░рдХрд╛рд░ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдЬреНрдЮрд╛рдд рд╣реЛрддрд╛ рд╣реИ? " рджрд░рдЕрд╕рд▓, рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдмрд┐рдирд╛ рдХрд╛рдо рдХреЗ рдЫреЛрдбрд╝ рджреЗрддреА рд╣реИ, рдФрд░ рдпрд╣ рдЧрд▓рдд рдзрд╛рд░рдгрд╛рдУрдВ рдФрд░ рдмреБрд░реЗ рдХреЛрдб рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, рдиреБрдХрд╕рд╛рди рдЕрджреГрд╢реНрдп рд╣реИ, рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд▓реНрдж рд╣реА рджреЗрдЦреЗрдВрдЧреЗ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде, рдЬрд╛рддрд┐рдпрд╛рдВ рд▓рдЧрднрдЧ рдПрдХ рдЬреНрдпрд╛рдорд┐рддреАрдп рдкреНрд░рдЧрддрд┐ рдореЗрдВ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХреЛ рдмрдврд╝рд╛рддреА рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдпрд╛рдж рдХрд░реЗрдВ рдХрд┐ рдЬрд╛рддрд┐рдпреЛрдВ рдФрд░ рдЖрднрд╛рд╕реА рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╣рд╛рдБ рд╣реЛ рд╕рдХрддреА рд╣реИред рдПрдХ рдкреНрд░рдХрд╛рд░ рддрдм рдЦреЛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдкреНрд░рдХрд╛рд░ рдП рдХреЗ рд╕рд╛рде рдШреЛрд╖рд┐рдд рдПрдХ рд╡рд╕реНрддреБ рдХреЛ рдЯрд╛рдЗрдк рдП рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдмреА рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдСрдкрд░реЗрд╢рди рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рдП рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ред рдЬреНрдпрд╛рджрд╛рддрд░ рдЕрдХреНрд╕рд░ рд╡рд╕реНрддреБ рдПрдХ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рдкреВрд░реА рд╕рд░рдгреА рд╣реЛрддреА рд╣реИред рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╣рдо рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
рдореИрдВрдиреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЗрд╕реЗ рдирд╣реАрдВ рдЦреАрдВрдЪрд╛, рдпрд╣ рдХрд╛рд░реНрдп рдерд╛: рдорд╛рд░реНрдХреЗрдбрд┐рдЯ рд╣рд╛рдЗрдкрд░рдЯреЗрдХреНрд╕реНрдЯ рдорд╛рд░реНрдХрдЕрдк рд▓реИрдВрдЧреНрд╡реЗрдЬ (рдЖрдк
рдпрд╣рд╛рдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ) рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдХ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдЯреНрд░реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ рдФрд░ HTML рдорд╛рд░реНрдХрдЕрдк рдореЗрдВ рдЙрд╕реА рджрд╕реНрддрд╛рд╡реЗрдЬ рд╡рд╛рд▓реА рдПрдХ рдлрд╛рдЗрд▓ рдмрдирд╛рдПрдВред рдореЗрд░реЗ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рддреАрди рдЕрдиреБрдХреНрд░рдорд┐рдХ рджрд┐рдирдЪрд░реНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рд╕реНрд░реЛрдд рдкрд╛рда рдХреЛ рдЯреЛрдХрди рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛, рдЯреЛрдХрди рд╕реЗ рдПрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЯреНрд░реА рдмрдирд╛рдирд╛ рдФрд░ рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ HTML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ред рд╣рдо рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЧрдВрддрд╡реНрдп рдХреЗ рдкреЗрдбрд╝ рдХреЗ рдиреЛрдбреНрд╕ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ (рдЕрдиреБрднрд╛рдЧ, рдкреИрд░рд╛рдЧреНрд░рд╛рдл, рдкрд╛рда рдиреЛрдб, рд▓рд┐рдВрдХ, рдлрд╝реБрдЯрдиреЛрдЯ, рдЖрджрд┐) рд╣реИрдВ, рд▓реЗрдХрд┐рди рдорд╛рддрд╛-рдкрд┐рддрд╛ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП, рдкреЙрдЗрдВрдЯрд░реНрд╕ рдЯреВ рдЪрд╛рдЗрд▓реНрдб рдиреЛрдбреНрд╕ рд╕рд░рдгреА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдПрдХ рдкреНрд░рдХрд╛рд░ рд╣реИ - рдиреЛрдбред
рд╕реНрд╡рдпрдВ рдкрд╛рд░реНрд╕рд░, рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд░реВрдк рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдпрд╣
рд░реВрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдкреЗрдбрд╝ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕
рдкреЗрдбрд╝ рдХрд╛ "рд░реВрдЯ" рдмрдирд╛рддрд╛ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХ
рдУрдкрди_рдиреЛрдб рдкреЙрдЗрдВрдЯрд░ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рддреБрд░рдВрдд
рдкреЗрдбрд╝ рдХрд╛ рдкрддрд╛ рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдПрдиреНрдпреВрдорд░реЗрдЯреЗрдб рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ
рдиреЛрдб_ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛
рдЬрд╛рддрд╛ рд╣реИ , рдФрд░ рдлрд┐рд░ рд▓реВрдк рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдУрд╡рд░ рдЯреЛрдХрди рдХреЛ
рдирд╖реНрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИ ред рдкрд┐рдЫрд▓реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрд░,
рдУрдкрди_рдиреЛрдб рдУрдкрди рдиреЛрдб рдХрд╛ рдкреНрд░рдХрд╛рд░
рдкрд╣рд▓реЗ рдЪрд░ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (
рдиреЛрдбреНрдпреВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдПрдХ рдПрдиреНрдпреВрдорд░реЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдЗрд╕рдХреЗ рдмрд╛рдж
рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд╣реЛрддрд╛ рд╣реИ , рдЬреЛ рдЕрдЧрд▓реЗ рдЯреЛрдХрди рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ (рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреЛрдХрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓реЗрдХреНрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╣реИрдВ)ред рд╕реНрд╡рд┐рдЪ рдХреА рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рдЦрд╛ рдореЗрдВ, рдПрдХ рдЕрдиреНрдп рд╢рд╛рдЦрд╛ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЬрд╛рддреА рд╣реИ рдЬреЛ
рдкреНрд░рдХрд╛рд░ рдЪрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИ, рдЬрд╣рд╛рдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдЦреБрд▓реЗ рдиреЛрдб рдХрд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рд╣рд┐рдд рд╣реИред рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╡рд┐рднрд┐рдиреНрди рдХреНрд░рд┐рдпрд╛рдПрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рдиреЛрдб-рд╕реВрдЪреА рдХреЛ рдПрдХ рдЦреБрд▓реЗ рдиреЛрдб рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ, рдПрдХ рдЦреБрд▓реЗ рдиреЛрдб рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдФрд░ рдиреЛрдб рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдкрддреЗ рдХреЛ
рдУрдкрди_рдиреЛрдб рдкрд╛рд╕ рдХрд░реЗрдВ, рдУрдкрди рдиреЛрдб рдХреЛ рдмрдВрдж рдХрд░реЗрдВ, рдПрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХреЗрдВред рд▓реЗрдЦ рдХреЗ рд╡рд┐рд╖рдп рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ, рд╣рдо рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЦреБрд▓реЗ рдиреЛрдб (рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЛ рдЦреЛрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдиреЛрдб рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рдгреА рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬрдм рд╣рдо рдПрдХ рдЦреБрд▓реЗ рдиреЛрдб рдореЗрдВ рдПрдХ рдирдпрд╛ рдиреЛрдб рдЦреЛрд▓рддреЗ рд╣реИрдВ (рд╣рдо рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓реЗ рд╕рд░рдгреА рдкреЙрдЗрдВрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ), рддреЛ C ++ рд╕рд┐рдореЗрдВрдЯрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд▓рд┐рдП рдпрд╣ рдирдП рдХреНрд╖реЗрддреНрд░реЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдмрд┐рдирд╛
рдиреЛрдб рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛ рд╣реБрдЖ рд╣реИред рдЗрд╕рдХрд╛ рдПрдХ рд╕реВрдЪрдХ рдЕрдм
рдиреЛрдб рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЦреЛрдП рдмрд┐рдирд╛, рдЪрд░
open_node рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╛рдорд╛рдиреНрдп
рдиреЛрдб рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреЙрдЗрдВрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреИрд╕реЗ рдХрд░реЗрдВ рдЬрдм рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреИрд░рд╛рдЧреНрд░рд╛рдл? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
open_bold () , рдЬреЛ рдЗрд╕рдореЗрдВ рдПрдХ рдмреЛрд▓реНрдб рдлрд╝реЙрдиреНрдЯ рдиреЛрдб рдЦреЛрд▓рддрд╛ рд╣реИ? рдЖрдЦрд┐рд░рдХрд╛рд░,
рдУрдкрди_рдмреЙрд▓реНрдб () рдХреЛ рдкреИрд░рд╛ рд╡рд░реНрдЧ рдХреА рдПрдХ рд╡рд┐рдзрд┐ рдХреЗ рд░реВрдк
рдореЗрдВ рдШреЛрд╖рд┐рдд рдФрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░
рдиреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирдЬрд╛рди рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛,
Open_node рдХреЛ
Node рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рднреА рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдУрдкрдирд┐рдВрдЧ рдиреЛрдбреНрд╕ рд╕реЗ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣рд╛рдВ рджреЛ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ: рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рд╣реАред рдПрдХ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ
static_cast рд╣реИ , рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╝рдВрдХреНрд╢рди рд╕рд╣реА рд╣реИрдВред рдЪрд▓реЛ рдкрд╣рд▓реЗ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦреЗ рдЧрдП рд╕реНрд╡рд┐рдЪ рдкрд╛рд░реНрд╕рд░ рдХреА рдПрдХ рд╢рд╛рдЦрд╛ рдХреЛ рджреЗрдЦреЗрдВ:
case Lexer::BOLD_START: { if (type == Node::ROOT) { open_node = tree->open_section(); open_node = static_cast<Section*>(open_node)->open_paragraph(); open_node = static_cast<Paragraph*>(open_node)->open_bold(); } else if (type == Node::SECTION) { open_node = static_cast<Section*>(open_node)->open_paragraph(); open_node = static_cast<Paragraph*>(open_node)->open_bold(); } else if (type == Node::PARAGRAPH) open_node = static_cast<Paragraph*>(open_node)->open_bold(); else if (type == Node::TITLE) open_node = static_cast<Title*>(open_node)->open_bold(); else if (type == Node::QUOTE) open_node = static_cast<Quote*>(open_node)->open_bold(); else if (type == Node::UNORDERED_LIST) { open_node = static_cast<Unordered_list*>(open_node)->close(); while (open_node->get_type() != Node::SECTION) { if (open_node->get_type() == Node::UNORDERED_LIST) open_node = static_cast<Unordered_list*>(open_node)->close(); else if (open_node->get_type() == Node::UNORDERED_LIST) open_node = static_cast<Unordered_list*>(open_node)->close(); else if (open_node->get_type() == Node::PARAGRAPH) open_node = static_cast<Paragraph*>(open_node)->close(); } open_node = static_cast<Section*>(open_node)->open_paragraph(); open_node = static_cast<Paragraph*>(open_node)->open_bold(); } else if (type == Node::ORDERED_LIST) { open_node = static_cast<Ordered_list*>(open_node)->close(); while (open_node->get_type() != Node::SECTION) { if (open_node->get_type() == Node::UNORDERED_LIST) open_node = static_cast<Unordered_list*>(open_node)->close(); else if (open_node->get_type() == Node::UNORDERED_LIST) open_node = static_cast<Unordered_list*>(open_node)->close(); else if (open_node->get_type() == Node::PARAGRAPH) open_node = static_cast<Paragraph*>(open_node)->close(); } open_node = static_cast<Section*>(open_node)->open_paragraph(); open_node = static_cast<Paragraph*>(open_node)->open_bold(); } else if (type == Node::LINK) open_node = static_cast<Link*>(open_node)->open_bold(); else
рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред рдФрд░ рдЕрдм, рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд╣реАрдВ рдЦреАрдВрдЪрд╛, рдореИрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд▓рд┐рдЦреЗ рдЧрдП рдХреЛрдб рдХрд╛ рд╕рдорд╛рди рднрд╛рдЧ рджрд┐рдЦрд╛рдКрдВрдЧрд╛:
case Lexer::BOLD_START: { if (type == Node::ROOT) { open_node = tree->open_section(); open_node = open_node->open_paragraph(); open_node = open_node->open_bold(); } else if (type == Node::SECTION) { open_node = open_node->open_paragraph(); open_node = open_node->open_bold(); } else if (type == Node::UNORDERED_LIST) { open_node = open_node->close(); while (open_node->get_type() != Node::SECTION) open_node = open_node->close(); open_node = open_node->open_paragraph(); open_node = open_node->open_bold(); } else
рд▓рд╛рдн рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЖрдЦрд┐рд░рдХрд╛рд░, рдЖрдкрдХреЛ
рдиреЛрдб рд╡рд░реНрдЧ рдореЗрдВ рд╕рднреА рд╡реНрдпреБрддреНрдкрдиреНрди рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рднреА рддрд░реАрдХреЛрдВ рдХреЛ рдЖрднрд╛рд╕реА рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рд╡рд░реНрдЧ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХрд╛ рдЬрд╡рд╛рдм рд╣рд╛рдВ рдореЗрдВ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВред рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо (29) рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рддрд░реАрдХреЗ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рд╡реНрдпреБрддреНрдкрдиреНрди рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛ рдЙрдирд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдЙрдирдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИ:
рдереНрд░реЗрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ ("рддреНрд░реБрдЯрд┐!"); ред рдЖрдк рд░рдЪрдирд╛рддреНрдордХ рдореЛрдб рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреВрдареА рд░реЗрдЦрд╛ рдХреЗ рд╕рд╛рде рдЖ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд - рдХреЛрдб рдореЗрдВ рдХрдореА рдХреЗ рдХрд╛рд░рдг, рдЗрд╕рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╣реЛ рдЧрдИ рд╣реИред рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдХреНрдпреЛрдВрдХрд┐
static_cast рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж
, рдХрдВрдкрд╛рдЗрд▓рд░ рд╢рдкрде рд▓реЗрдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рджрд┐рдП рдЧрдП рд╡рд░реНрдЧ рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рд╡рд░реНрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕ рдмреАрдЪ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, 6 рдХреЛрдб рдореЗрдВ рдЫрд┐рдкрд╛ рд╣реБрдЖ рдерд╛ !!! рддреНрд░реБрдЯрд┐рдпреЛрдВ, рдЬрдмрдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдХрдИ рд╕реНрд╡рд┐рдЪ рд╢рд╛рдЦрд╛рдУрдВ рдореЗрдВ рджреЛрд╣рд░рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ:
else if (type == Node:: open_node = static_cast<Title*>(open_node)->open_italic();
рдЕрдЧрд▓рд╛, рд╕реНрдкреЙрдЗрд▓рд░ рдХреЗ рддрд╣рдд, рдореИрдВ рдкрд╛рд░реНрд╕рд░ рдХреЗ рдкрд╣рд▓реЗ рдФрд░ рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рд▓рд╛рддрд╛ рд╣реВрдВред
рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдкрд╛рд░реНрд╕рд░ Root * Parser::parse (const Lexer &lexer) { Node * open_node(tree); Node::Node_type type; for (unsigned long i(0), len(lexer.count()); i < len; i++) { type = open_node->get_type(); if (type == Node::CITE || type == Node::TEXT || type == Node::NEWLINE || type == Node::NOTIFICATION || type == Node::IMAGE) throw string("error!"); switch (lexer[i].type) { case Lexer::NEWLINE: { if (type == Node::ROOT || type == Node::SECTION) ; else if (type == Node::PARAGRAPH) open_node = static_cast<Paragraph*>(open_node)->add_text("\n"); else if (type == Node::TITLE) open_node = static_cast<Title*>(open_node)->add_text("\n"); else if (type == Node::QUOTE) open_node = static_cast<Quote*>(open_node)->add_text("\n"); else if (type == Node::UNORDERED_LIST) { open_node = static_cast<Unordered_list*>(open_node)->close(); while (open_node->get_type() != Node::SECTION) { if (open_node->get_type() == Node::UNORDERED_LIST) open_node = static_cast<Unordered_list*>(open_node)->close(); else if (open_node->get_type() == Node::UNORDERED_LIST) open_node = static_cast<Unordered_list*>(open_node)->close(); else if (open_node->get_type() == Node::PARAGRAPH) open_node = static_cast<Paragraph*>(open_node)->close(); } } else if (type == Node::ORDERED_LIST) { open_node = static_cast<Ordered_list*>(open_node)->close(); while (open_node->get_type() != Node::SECTION) { if (open_node->get_type() == Node::UNORDERED_LIST) open_node = static_cast<Unordered_list*>(open_node)->close(); else if (open_node->get_type() == Node::UNORDERED_LIST) open_node = static_cast<Unordered_list*>(open_node)->close(); else if (open_node->get_type() == Node::PARAGRAPH) open_node = static_cast<Paragraph*>(open_node)->close(); } } else if (type == Node::LINK) { open_node = static_cast<Link*>(open_node)->add_text(lexer[i].lexeme); } else
Root * Parser::parse (const Lexer &lexer) { Node * open_node(tree); Node::Node_type type; for (unsigned long i(0), len(lexer.count()); i < len; i++) { type = open_node->get_type(); if (type == Node::CITE || type == Node::TEXT || type == Node::NEWLINE || type == Node::NOTIFICATION || type == Node::IMAGE) throw string("error!"); switch (lexer[i].type) { case Lexer::NEWLINE: { if (type == Node::ROOT || type == Node::SECTION) ; else if (type == Node::PARAGRAPH || type == Node::TITLE || type == Node::QUOTE || type == Node::TITLE || type == Node::QUOTE) open_node = open_node->add_text("\n"); else if (type == Node::UNORDERED_LIST || type == Node::ORDERED_LIST) { open_node = open_node->close(); while (open_node->get_type() != Node::SECTION) open_node = open_node->close(); } else
1357 487 тАУ , !
: ? , ? тАУ . :
тАУ 538 .
тАУ 1174 .
, 636 тАУ . ? . , , , . тАУ ,
static_cast dynamic_cast , . ?