рдЕрдВрдЧреНрд░реЗрдЬрд╝реАрдлреНрд░реЗрдВрдЪрд╕реНрдкреЗрдирд┐рд╢

Ad


рдСрдирд╡рд░реНрдХреНрд╕ рдлрд╝реЗрд╡рд┐рдХреЙрди

рдЬреАрд╡реАрдкреАрдЖрд░ - рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдСрдирд▓рд╛рдЗрди

рдЙрдмрдВрдЯреВ рдСрдирд▓рд╛рдЗрди, рдлреЗрдбреЛрд░рд╛ рдСрдирд▓рд╛рдЗрди, рд╡рд┐рдВрдбреЛрдЬ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдпрд╛ рдореИрдХ рдУрдПрд╕ рдСрдирд▓рд╛рдЗрди рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдСрдирд╡рд░реНрдХреНрд╕ рдореБрдлреНрдд рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ рдЬреАрд╡реАрдкреАрдЖрд░ рдЪрд▓рд╛рдПрдВ

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

рдХрд╛рд░реНрдпрдХреНрд░рдо:

рдирд╛рдо


рдЬреАрд╡реАрдкреАрдЖрд░ - рдЧреНрд░рд╛рдлрд╝ рдкреИрдЯрд░реНрди рд╕реНрдХреИрдирд┐рдВрдЧ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рднрд╛рд╖рд╛

SYNOPSIS


рдЬреАрд╡реАрдкреАрдЖрд░ [-рдЖрдИрд╕реАрдПрдирдХреНрдпреВрд╡реА?] [ -o рдЖрдЙрдЯрдлрд╛рдЗрд▓ ] [ -a рдЖрд░реНрдЧ ] [ 'рдкреНрд░реЛрдЧ' | -f progfile ] [ рдлрд╝рд╛рдЗрд▓реЛрдВ ]

рд╡рд░реНрдгрди


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

рдореВрд▓ рд░реВрдк рд╕реЗ, рдЬреАрд╡реАрдкреАрдЖрд░ рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯ рдЧреНрд░рд╛рдлрд╝ рдХреЛ рдкрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ $G, рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдФрд░ рдХрд┐рдирд╛рд░реЗ рдкрд░ рдЬрд╛рдХрд░,
рдЗрдирдкреБрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рджрд┐рдП рдЧрдП рд╡рд┐рдзреЗрдп-рдХреНрд░рд┐рдпрд╛ рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдорд┐рд▓рд╛рди рдХрд░рдирд╛ред рдирд┐рдпрдо рд╣реИрдВ
рдХреНрд░рдо рд╕реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╕рддреНрдп рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзреЗрдп рдХреЗ рд▓рд┐рдП, рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд░рд┐рдпрд╛ рд╣реИ
рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреЗ рджреМрд░рд╛рди, рджреЗрдЦреЗ рдЬрд╛ рд░рд╣реЗ рд╡рд░реНрддрдорд╛рди рдиреЛрдб рдпрд╛ рдХрд┐рдирд╛рд░реЗ рдХреЛ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ $.

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

рд╡рд┐рдХрд▓реНрдк


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдк рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ:

-a рдЖрд░реНрдЧ
рдбреЛрд░ рдЖрд░реНрдЧ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рд░рд┐рдХреНрдд рд╕реНрдерд╛рди-рдкреГрдердХ рдЯреЛрдХрди рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдЯреЛрдХрди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ рдЬреАрд╡реАрдкреАрдЖрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рдПрдЖрд░рдЬреАрд╡реА[0],...,ARGV[ARGC-1].
рд╕рд┐рдВрдЧрд▓ рдпрд╛ рдбрдмрд▓ рдЙрджреНрдзреГрдд рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рднреАрддрд░ рд╡реНрд╣рд╛рдЗрдЯрд╕реНрдкреЗрд╕ рд╡рд░реНрдг, рдпрд╛ рдЗрд╕рдХреЗ рдкрд╣рд▓реЗ
рдмреИрдХрд╕реНрд▓реИрд╢ рдХреЛ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдмреИрдХрд╕реНрд▓реИрд╢ рдЪрд░рд┐рддреНрд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд░реНрдг рдХрд╛ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЕрд░реНрде. рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рд╣реБрдП рд╣реИрдВ
рд╡рд┐рднрд┐рдиреНрди -a рдЭрдВрдбреЗ рд╕рдВрдпреЛрдЬрд┐рдд рд╣реИрдВ.

-c рдЖрдЙрдЯрдкреБрдЯ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд░реЛрдд рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

-i рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдиреЛрдб-рдкреНрд░реЗрд░рд┐рдд рд╕рдмрдЧреНрд░рд╛рдл рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдЗрд╕рдХрд╛ рдореВрд▓ рдЧреНрд░рд╛рдл.

-o рдЖрдЙрдЯрдлрд╛рдЗрд▓
рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ; рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЖрдЙрдЯрдкреБрдЯ рд╣реИ
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ stdout.

-f progfile
рдЗрдирдкреБрдЯ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЕрдЧрд░
progfile рдЗрд╕рдореЗрдВ рдПрдХ рд╕реНрд▓реИрд╢ рд╡рд░реНрдг рд╣реЛрддрд╛ рд╣реИ, рдирд╛рдо рдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкрдердирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдиреНрдпрдерд╛, рдЬреАрд╡реАрдкреАрдЖрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛
GVPRPATH рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП. рдЕрдЧрд░ -f рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреАрд╡реАрдкреАрдЖрд░ рдкрд╣рд▓реЗ рдЧреИрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ-
рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд▓реНрдк рддрд░реНрдХред

-q рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджреЗрд╢ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ.

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

-V рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рдирдХрд╛рд░реА рдореБрджреНрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред

-? рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред

рдСрдкрд░реЗрдВрдб


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдСрдкрд░реЗрдВрдб рд╕рдорд░реНрдерд┐рдд рд╣реИ:

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

рдХрд╛рд░реНрдпрдХреНрд░рдо


A рдЬреАрд╡реАрдкреАрдЖрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╡рд┐рдзреЗрдп-рдХреНрд░рд┐рдпрд╛ рдЦрдВрдбреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рд░реВрдк рд╣реИ:

рд╢реБрд░реВ { рдХрд╛рд░реНрдп }

BEG_G { рдХрд╛рд░реНрдп }

N [ рд╡рд┐рдзреЗрдп ] { рдХрд╛рд░реНрдп }

E [ рд╡рд┐рдзреЗрдп ] { рдХрд╛рд░реНрдп }

END_рдЬреА { рдХрд╛рд░реНрдп }

рдЕрдВрдд { рдХрд╛рд░реНрдп }

рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЗрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрддрдо рдПрдХ рд╣реА рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд╢реБрд░реВ, END_рдЬреА рдФрд░ рдЕрдВрдд рдЦрдВрдбред рд╕рдХрддрд╛ рд╣реИ
рдХреЛрдИ рднреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛ BEG_G, N рдФрд░ E рдХрдерди, рдкрд╣рд▓рд╛ рдЧреНрд░рд╛рдлрд╝ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рджреВрд╕рд░рд╛
рдиреЛрдбреНрд╕, рдХрд┐рдирд╛рд░реЛрдВ рд╕реЗ рддреАрд╕рд░рд╛ред рдЗрдиреНрд╣реЗрдВ рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдХ рдмреНрд▓реЙрдХ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╣реЛрддрд╛ рд╣реИ
рд╡реИрдХрд▓реНрдкрд┐рдХ BEG_G рдмрдпрд╛рди рдФрд░ рд╕рдм рдХреБрдЫ N рдФрд░ E рдЕрдЧрд▓реЗ рддрдХ рдХреЗ рдмрдпрд╛рди BEG_G рдХрдерди, рдпрджрд┐
рдХреЛрдИ рднреАред рдП рдХрд╛ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рд╢рдмреНрджрд╛рд░реНрде рдЬреАрд╡реАрдкреАрдЖрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИрдВ:

рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВ рд╢реБрд░реВ рдЦрдВрдб, рдпрджрд┐ рдХреЛрдИ рд╣реЛ.
рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд▓рд┐рдП G {
рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП {
рд╕реЗрдЯ G рд╡рд░реНрддрдорд╛рди рдЧреНрд░рд╛рдл рдФрд░ рд╡рд░реНрддрдорд╛рди рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВред
рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВ BEG_G рдЦрдВрдб, рдпрджрд┐ рдХреЛрдИ рд╣реЛ.
рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдФрд░ рдХрд┐рдирд╛рд░реЗ рдХреЗ рд▓рд┐рдП G {
рдиреЛрдб рдпрд╛ рдХрд┐рдирд╛рд░реЗ рдХреЛ рд╡рд░реНрддрдорд╛рди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВред
рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВ N or E рдЦрдВрдб, рдЬреИрд╕рд╛ рдЙрдЪрд┐рдд рд╣реЛред
}
}
рд╕реЗрдЯ G рд╡рд░реНрддрдорд╛рди рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ.
рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВ END_рдЬреА рдЦрдВрдб, рдпрджрд┐ рдХреЛрдИ рд╣реЛ.
}
рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВ рдЕрдВрдд рдЦрдВрдб, рдпрджрд┐ рдХреЛрдИ рд╣реЛ.

рдХреА рд╣рд░рдХрддреЗрдВ рд╢реБрд░реВ, BEG_G, END_рдЬреА рдФрд░ рдЕрдВрдд рдЙрдкрд╡рд╛рдХреНрдп рддрдм рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдЙрдкрд╡рд╛рдХреНрдп рд╣реЛрддреЗ рд╣реИрдВ
рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдХреЗ рд▓рд┐рдП N or E рдЦрдВрдб, рдпрд╛ рддреЛ рд╡рд┐рдзреЗрдп рдпрд╛ рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд░ рд╡рд╣рд╛рдБ
рдХрд┐рд╕реА рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╡рд┐рдзреЗрдп рдирд╣реАрдВ рд╣реИ, рдХреНрд░рд┐рдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдпрд╛ рдХрд┐рдирд╛рд░реЗ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИ
рдЙрдЪрд┐рддред рдпрджрд┐ рдХреЛрдИ рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╡рд┐рдзреЗрдп рд╕рддреНрдп рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рдВрдмрджреНрдз
рд▓рдХреНрд╖реНрдп рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдиреЛрдб рдпрд╛ рдХрд┐рдирд╛рд░рд╛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред

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

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

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

рд╕реНрдерд┐рд░рд╛рдВрдХ C рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рдЙрджреНрдзреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ "..." or '...'. рдЬреАрд╡реАрдкреАрдЖрд░
C++ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде cpp-рдкреНрд░рдХрд╛рд░ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рднреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХреЛрдИ рдкрдВрдХреНрддрд┐ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ
рдПрдХ '#' рд╡рд░реНрдг, рд╢реЗрд╖ рдкрдВрдХреНрддрд┐ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдПрдХ рдлрд╝рдВрдХреНрд╢рди, рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдпрд╛ рдПрдХ рдРрд░реЗ, рдпрд╛ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреА рдШреЛрд╖рдгрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдХрдердиред рдШреЛрд╖рдгрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реА рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣реИ. рд╕рд░рдгреА рдШреЛрд╖рдгрд╛рдУрдВ рдХрд╛ рд░реВрдк рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдЯрд╛рдЗрдк рд╕рд░рдгреА [ type0 ]

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

рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХрдерди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:

{ [ рдХрдерди ... ] }
рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ // рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдерд╛ = рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐
рдЕрдЧрд░ ( рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ ) рдХрдерди [ рдЕрдиреНрдп рдХрдерди ]
рдХреЗ рд▓рд┐рдпреЗ( рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ ; рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ ; рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ ) рдХрдерди
рдХреЗ рд▓рд┐рдпреЗ( рд╕рд░рдгреА [ рдерд╛ ]) рдХрдерди
forr( рд╕рд░рдгреА [ рдерд╛ ]) рдХрдерди
рдЬрдмрдХрд┐ ( рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ ) рдХрдерди
рд╕реНрд╡рд┐рдЪ ( рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ ) рдорд╛рдорд▓рд╛ рдмрдпрд╛рди
рддреЛрдбрд╝рдирд╛ [ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ ]
рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ [ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ ]
рд╡рд╛рдкрд╕реА [ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ ]
рдХреЛрд╖реНрдардХ рдореЗрдВ рдЖрдЗрдЯрдо рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВ.

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

рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдХреЗрд╡рд▓ рдЗрд╕рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреА рд╣реИрдВ рд╢реБрд░реВ рдЦрдВрдбред

рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп C рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╕реНрдЯреНрд░рд┐рдВрдЧ рддреБрд▓рдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ == рдФрд░ != рдЗрд▓рд╛рдЬ рдХрд░реЗрдВ
рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдорд┐рд▓рд╛рди рдХреЗ рдкреНрд░рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЯрд░реНрди рдХреЗ рд░реВрдк рдореЗрдВ рджрд╛рд╣рд┐рдиреЗ рд╣рд╛рде рдХрд╛ рдСрдкрд░реЗрдВрдбред рдкреИрдЯрд░реНрдиреНрд╕
рдЙрдкрдпреЛрдЧ рдХреНрд╖(1) рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓рд╛рди рдкреИрдЯрд░реНрди рд╕рд┐рдВрдЯреИрдХреНрд╕ред (рд╕рд░рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдорд╛рдирддрд╛ рдХреЗ рд▓рд┐рдП, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рд╕реНрдЯреНрд░реИрдореНрдк
рд╕рдорд╛рд░реЛрд╣.

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

рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рдкреНрд░рдХрд╛рд░ рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ (рдЕрд░реНрдерд╛рддреН, рдЧреНрд░рд╛рдл_рдЯреА, рдиреЛрдб_рдЯреА, рдХрд┐рдирд╛рд░рд╛_рдЯреА, obj_t) рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдлрд╝реАрд▓реНрдб рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ .рдирд╛рдо. рдкрд░рд┐рдгрд╛рдореА рдорд╛рди рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдорд╛рди рд╣реИ
рдирд╛рдорд┐рдд рдирд╛рдо рджреА рдЧрдИ рд╡рд╕реНрддреБ рдХрд╛. рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдХреБрдЫ рд╕рдиреНрджрд░реНрднреЛрдВ рдореЗрдВ рдЕрдШреЛрд╖рд┐рдд,
рдЕрд╕рдВрд╢реЛрдзрд┐рдд рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдо рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдРрд╕реЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛
рдХреНрд░рдорд╢рдГ, рд╡рд░реНрддрдорд╛рди рдиреЛрдб рдпрд╛ рдХрд┐рдирд╛рд░реЗ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдирд┐рд░реВрдкрд┐рдд рдХрд░реЗрдВ N рдФрд░ E рдЦрдВрдб, рдФрд░
рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдЧреНрд░рд╛рдл BEG_G рдФрд░ END_рдЬреА рдЦрдВрдбред

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

рд╕рд┐рд░ : рдиреЛрдб_рдЯреА
рдПрдХ рдХрд┐рдирд╛рд░реЗ рдХрд╛ рд╕рд┐рд░.

рдкреВрдВрдЫ : рдиреЛрдб_рдЯреА
рдПрдХ рдХрд┐рдирд╛рд░реЗ рдХреА рдкреВрдБрдЫ.

рдирд╛рдо : рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдХрд┐рд╕реА рдХрд┐рдирд╛рд░реЗ, рдиреЛрдб рдпрд╛ рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдирд╛рдоред рдПрдХ рдХрд┐рдирд╛рд░реЗ рдХреЗ рдирд╛рдо рдХрд╛ рд░реВрдк рд╣реИ "<tailтАР
рдирд╛рдо>[]", рдХрд╣рд╛рдБ рдкреЗ рд╣реИ "->"рдпрд╛"--" рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реБрдП
рдЧреНрд░рд╛рдлрд╝ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реИ рдпрд╛ рдирд╣реАрдВ. рдХреЛрд╖реНрдардХ рднрд╛рдЧ [] рдХреЗрд╡рд▓ рддрднреА рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬрдм
рдПрдЬ рдореЗрдВ рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рдХреБрдВрдЬреА рд╣реИред

рдбрд┐рдЧреНрд░реА : int
рдПрдХ рдиреЛрдб рдХреА рдбрд┐рдЧреНрд░реА.

рдЖрдЙрдЯрдбрд┐рдЧреНрд░реА : int
рдПрдХ рдиреЛрдб рдХреА рдЖрдЙрдЯрдбрд┐рдЧреНрд░реА.

рд╣рдж : int
рдПрдХ рдиреЛрдб рдХреА рдбрд┐рдЧреНрд░реА.

рдЬрдбрд╝ : рдЧреНрд░рд╛рдл_рдЯреА
рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХрд╛ рдореВрд▓ рдЧреНрд░рд╛рдлрд╝ред рдореВрд▓ рдЧреНрд░рд╛рдл рдХрд╛ рдореВрд▓ рд╕реНрд╡рдпрдВ рд╣реЛрддрд╛ рд╣реИред

рдорд╛рддрд╛ - рдкрд┐рддрд╛ : рдЧреНрд░рд╛рдл_рдЯреА
рдПрдХ рд╕рдмрдЧреНрд░рд╛рдл рдХрд╛ рдореВрд▓ рдЧреНрд░рд╛рдлрд╝ред рд░реВрдЯ рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдЬрдирдХ рд╣реИ рдирд▓

n_рдХрд┐рдирд╛рд░реЗ : int
рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдХрд┐рдирд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛

n_nodes : int
рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдиреЛрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛

рдирд┐рд░реНрджреЗрд╢рд┐рдд : int
рдпрджрд┐ рдЧреНрд░рд╛рдлрд╝ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реИ рддреЛ рд╕рддреНрдп (рдЧреИрд░-рд╢реВрдиреНрдп)ред

рдХрдареЛрд░ : int
рдпрджрд┐ рдЧреНрд░рд╛рдлрд╝ рд╕рдЦреНрдд рд╣реИ рддреЛ рд╕рддреНрдп (рдЧреИрд░-рд╢реВрдиреНрдп)ред

рдирд┐рд░реНрдорд┐рдд рдХрд╛рд░реНрдп


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рдВрдХреНрд╢рди рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╣реИрдВ рдЬреАрд╡реАрдкреАрдЖрд░. рд╡реЗ рдлрд╝рдВрдХреНрд╢рди рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд╕рдВрджрд░реНрдн рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ
рд╡рд╕реНрддреБрдПрдБ рд▓реМрдЯ рдЖрддреА рд╣реИрдВ рдирд▓ рдЕрд╕рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ.

рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рдФрд░ subgraph
рдЧреНрд░рд╛рдл(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ, t : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рдЧреНрд░рд╛рдл_рдЯреА
рдПрдХ рдЧреНрд░рд╛рдлрд╝ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ s рдФрд░ рдЬрд┐рд╕рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ t.
рдХреЗрд╕, рдХрд┐рд░рджрд╛рд░реЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рдирд╛ U, D, S, N рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╣реИ,
рдХреНрд░рдорд╢рдГ рдирд┐рд░реНрджреЗрд╢рд┐рдд, рд╕рдЦреНрдд рдФрд░ рдЧреИрд░-рд╕рдЦреНрддред рдЕрдЧрд░ t рдЦрд╛рд▓реА рд╣реИ, рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдд, рдЧреИрд░-
рд╕рдЦреНрдд рдЧреНрд░рд╛рдл рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред

рдЙрдкрдЬреА(g : рдЧреНрд░рд╛рдл_рдЯреА, s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рдЧреНрд░рд╛рдл_рдЯреА
рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдПрдХ рд╕рдмрдЧреНрд░рд╛рдлрд╝ рдмрдирд╛рддрд╛ рд╣реИ g рдирд╛рдо рдХреЗ рд╕рд╛рде s. рдпрджрд┐ рд╕рдмрдЧреНрд░рд╛рдлрд╝ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдпрд╣ рдореМрдЬреВрдж рд╣реИ
рд▓реМрдЯрд╛ рд╣реБрдЖред

isSubg(g : рдЧреНрд░рд╛рдл_рдЯреА, s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рдЧреНрд░рд╛рдл_рдЯреА
рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рд╕рдмрдЧреНрд░рд╛рдл рд▓реМрдЯрд╛рддрд╛ рд╣реИ g рдирд╛рдо рдХреЗ рд╕рд╛рде s, рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реИ, рдпрд╛ рдирд▓ рдЕрдиреНрдпрдерд╛ред

fstsubg(g : рдЧреНрд░рд╛рдл_рдЯреА): рдЧреНрд░рд╛рдл_рдЯреА
рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдкрд╣рд▓рд╛ рд╕рдмрдЧреНрд░рд╛рдл рд▓реМрдЯрд╛рддрд╛ рд╣реИ gрдпрд╛, рдирд▓ рдпрджрд┐ рдХреЛрдИ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ.

nxtsubg(sg : рдЧреНрд░рд╛рдл_рдЯреА): рдЧреНрд░рд╛рдл_рдЯреА
рдЗрд╕рдХреЗ рдмрд╛рдж рдЕрдЧрд▓рд╛ рд╕рдмрдЧреНрд░рд╛рдл рд▓реМрдЯрд╛рддрд╛ рд╣реИ sgрдпрд╛, рдирд▓.

рдкреНрд░рддреНрдпрдХреНрд╖ рд╣реИ(g : рдЧреНрд░рд╛рдл_рдЯреА): int
рд╕рддреНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдФрд░ рдХреЗрд╡рд▓ рдпрджрд┐ g рдирд┐рд░реНрджреЗрд╢ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рдЦреНрдд рд╣реИ(g : рдЧреНрд░рд╛рдл_рдЯреА): int
рд╕рддреНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдФрд░ рдХреЗрд╡рд▓ рдпрджрд┐ g рд╕рдЦреНрдд рд╣реИ.

nNodes(g : рдЧреНрд░рд╛рдл_рдЯреА): int
рдореЗрдВ рдиреЛрдбреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ g.

nEdges(g : рдЧреНрд░рд╛рдл_рдЯреА): int
рдХрд┐рдирд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ g.

рдиреЛрдбреНрд╕
рдиреЛрдб(sg : рдЧреНрд░рд╛рдл_рдЯреА, s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рдиреЛрдб_рдЯреА
рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдПрдХ рдиреЛрдб рдмрдирд╛рддрд╛ рд╣реИ g рдирд╛рдо рдХрд╛ s. рдпрджрд┐ рдРрд╕рд╛ рдХреЛрдИ рдиреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрдкрдиреЛрдб(sg : рдЧреНрд░рд╛рдл_рдЯреА, n : рдиреЛрдб_рдЯреА): рдиреЛрдб_рдЯреА
рдиреЛрдб рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ n рд╕рдмрдЧреНрд░рд╛рдл рдореЗрдВ g. рдиреЛрдб рд▓реМрдЯрд╛рддрд╛ рд╣реИ.

fstnode(g : рдЧреНрд░рд╛рдл_рдЯреА): рдиреЛрдб_рдЯреА
рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдкрд╣рд▓рд╛ рдиреЛрдб рд▓реМрдЯрд╛рддрд╛ рд╣реИ gрдпрд╛, рдирд▓ рдпрджрд┐ рдХреЛрдИ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ.

nxtnode(n : рдиреЛрдб_рдЯреА): рдиреЛрдб_рдЯреА
рдХреЗ рдмрд╛рдж рдЕрдЧрд▓рд╛ рдиреЛрдб рд▓реМрдЯрд╛рддрд╛ рд╣реИ n рдореВрд▓ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ, рдпрд╛ рдирд▓.

nxtnode_sg(sg : рдЧреНрд░рд╛рдл_рдЯреА, n : рдиреЛрдб_рдЯреА): рдиреЛрдб_рдЯреА
рдХреЗ рдмрд╛рдж рдЕрдЧрд▓рд╛ рдиреЛрдб рд▓реМрдЯрд╛рддрд╛ рд╣реИ n in sgрдпрд╛, рдирд▓.

isNode(sg : рдЧреНрд░рд╛рдл_рдЯреА, s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рдиреЛрдб_рдЯреА
(рдЙрдк) рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдПрдХ рдиреЛрдб рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ sg рдирд╛рдо рдХрд╛ s. рдпрджрд┐ рдРрд╕рд╛ рдХреЛрдИ рдиреЛрдб рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдиреНрдпрдерд╛, рдирд▓ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИ

рд╕рдмрдиреЛрдб рд╣реИ(sg : рдЧреНрд░рд╛рдл_рдЯреА, n : рдиреЛрдб_рдЯреА): int
рдпрджрд┐ рдиреЛрдб рдЧреИрд░-рд╢реВрдиреНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИ n (рдЙрдк)рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рд╣реИ sg, рдпрд╛ рдЕрдиреНрдпрдерд╛ рд╢реВрдиреНрдп.

inрдбрд┐рдЧреНрд░реАрдСрдлрд╝(sg : рдЧреНрд░рд╛рдл_рдЯреА, n : рдиреЛрдб_рдЯреА): int
рдиреЛрдб рдХреА рдбрд┐рдЧреНрд░реА рд▓реМрдЯрд╛рддрд╛ рд╣реИ n (рдЙрдк) рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ sg.

рдЖрдЙрдЯрдбрд┐рдЧреНрд░реАрдСрдлрд╝(sg : рдЧреНрд░рд╛рдл_рдЯреА, n : рдиреЛрдб_рдЯреА): int
рдиреЛрдб рдХреА рдЖрдЙрдЯрдбрд┐рдЧреНрд░реА рд▓реМрдЯрд╛рддрд╛ рд╣реИ n (рдЙрдк) рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ sg.

рдХреА рдбрд┐рдЧреНрд░реА(sg : рдЧреНрд░рд╛рдл_рдЯреА, n : рдиреЛрдб_рдЯреА): int
рдиреЛрдб рдХреА рдбрд┐рдЧреНрд░реА рд▓реМрдЯрд╛рддрд╛ рд╣реИ n (рдЙрдк) рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ sg.

рдХрд┐рдирд╛рд░реЛрдВ
рдзрд╛рд░(t : рдиреЛрдб_рдЯреА, h : рдиреЛрдб_рдЯреА, s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдЯреЗрд▓ рдиреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдХрд┐рдирд╛рд░рд╛ рдмрдирд╛рддрд╛ рд╣реИ t, рд╣реЗрдб рдиреЛрдб h рдФрд░ рдирд╛рдо s рдореВрд▓ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ. рдпрджрд┐
рдЧреНрд░рд╛рдл рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╣реИ, рд╣реЗрдб рдФрд░ рдЯреЗрд▓ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдорд╣рддреНрд╡рд╣реАрди рд╣реИред
рдпрджрд┐ рдРрд╕реА рдХреЛрдИ рдмрдврд╝рдд рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХрд┐рдирд╛рд░рд╛_рдПрд╕рдЬреА(sg : рдЧреНрд░рд╛рдл_рдЯреА, t : рдиреЛрдб_рдЯреА, h : рдиреЛрдб_рдЯреА, s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдЯреЗрд▓ рдиреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдХрд┐рдирд╛рд░рд╛ рдмрдирд╛рддрд╛ рд╣реИ t, рд╣реЗрдб рдиреЛрдб h рдФрд░ рдирд╛рдо s (рдЙрдк) рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ sg (рдФрд░ рд╕рднреА
рдореВрд▓ рдЧреНрд░рд╛рдлрд╝)ред рдпрджрд┐ рдЧреНрд░рд╛рдл рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╣реИ, рддреЛ рд╣реЗрдб рдФрд░ рдЯреЗрд▓ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░
рдиреЛрдбреНрд╕ рдорд╣рддреНрд╡рд╣реАрди рд╣реИ. рдпрджрд┐ рдРрд╕реА рдХреЛрдИ рдмрдврд╝рдд рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрдкрдзрд╛рд░(g : рдЧреНрд░рд╛рдл_рдЯреА, e : рдХрд┐рдирд╛рд░рд╛_рдЯреА): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдХрд┐рдирд╛рд░рд╛ рдбрд╛рд▓рддрд╛ рд╣реИ e рд╕рдмрдЧреНрд░рд╛рдл рдореЗрдВ g. рдХрд┐рдирд╛рд░рд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ.

рдПрдЬ рд╣реИ(t : рдиреЛрдб_рдЯреА, h : рдиреЛрдб_рдЯреА, s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдЯреЗрд▓ рдиреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдХрд┐рдирд╛рд░реЗ рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ t, рд╣реЗрдб рдиреЛрдб h рдФрд░ рдирд╛рдо s. рдпрджрд┐ рдЧреНрд░рд╛рдл рд╣реИ
рдЕрдкреНрд░рддреНрдпрдХреНрд╖, рд╕рд┐рд░ рдФрд░ рдкреВрдВрдЫ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдорд╣рддреНрд╡рд╣реАрди рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рдХреЛрдИ
рдХрд┐рдирд╛рд░рд╛ рдореМрдЬреВрдж рд╣реИ, рдпрд╣ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рдирд▓ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИ

isEdge_sg(sg : рдЧреНрд░рд╛рдл_рдЯреА, t : рдиреЛрдб_рдЯреА, h : рдиреЛрдб_рдЯреА, s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдЯреЗрд▓ рдиреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдХрд┐рдирд╛рд░реЗ рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ t, рд╣реЗрдб рдиреЛрдб h рдФрд░ рдирд╛рдо s (рдЙрдк) рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ sgред рдЕрдЧрд░
рдЧреНрд░рд╛рдл рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╣реИ, рд╣реЗрдб рдФрд░ рдЯреЗрд▓ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдорд╣рддреНрд╡рд╣реАрди рд╣реИред
рдпрджрд┐ рдРрд╕рд╛ рдХреЛрдИ рдХрд┐рдирд╛рд░рд╛ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рдирд▓ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИ

рд╕рдмрдмреЗрдЬ рд╣реИ(g : рдЧреНрд░рд╛рдл_рдЯреА, e : рдХрд┐рдирд╛рд░рд╛_рдЯреА): int
рдпрджрд┐ рдХрд┐рдирд╛рд░рд╛ рд╣реИ рддреЛ рдЧреИрд░-рд╢реВрдиреНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИ e (рдЙрдк)рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рд╣реИ sg, рдпрд╛ рдЕрдиреНрдпрдерд╛ рд╢реВрдиреНрдп.

fstout(n : рдиреЛрдб_рдЯреА): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдиреЛрдб рдХрд╛ рдкрд╣рд▓рд╛ рдЖрдЙрдЯреЗрдЬ рд▓реМрдЯрд╛рддрд╛ рд╣реИ n рдореВрд▓ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ.

fstout_sg(sg : рдЧреНрд░рд╛рдл_рдЯреА, n : рдиреЛрдб_рдЯреА): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдиреЛрдб рдХрд╛ рдкрд╣рд▓рд╛ рдЖрдЙрдЯреЗрдЬ рд▓реМрдЯрд╛рддрд╛ рд╣реИ n (рдЙрдк) рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ sg.

рдЕрдЧрд▓рд╛(e : рдХрд┐рдирд╛рд░рд╛_рдЯреА): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдЗрд╕рдХреЗ рдмрд╛рдж рдЕрдЧрд▓рд╛ рдЖрдЙрдЯреЗрдЬ рд▓реМрдЯрд╛рддрд╛ рд╣реИ e рдореВрд▓ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ.

nxtout_sg(sg : рдЧреНрд░рд╛рдл_рдЯреА, e : рдХрд┐рдирд╛рд░рд╛_рдЯреА): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдЗрд╕рдХреЗ рдмрд╛рдж рдЕрдЧрд▓рд╛ рдЖрдЙрдЯреЗрдЬ рд▓реМрдЯрд╛рддрд╛ рд╣реИ e рдЧреНрд░рд╛рдл рдореЗрдВ sg.

fstin(n : рдиреЛрдб_рдЯреА): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдиреЛрдб рдХрд╛ рдкрд╣рд▓рд╛ рдХрд┐рдирд╛рд░рд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ n рдореВрд▓ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ.

fstin_sg(sg : рдЧреНрд░рд╛рдл_рдЯреА, n : рдиреЛрдб_рдЯреА): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдиреЛрдб рдХрд╛ рдкрд╣рд▓рд╛ рдХрд┐рдирд╛рд░рд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ n рдЧреНрд░рд╛рдл рдореЗрдВ sg.

рдЕрдЧрд▓рд╛(e : рдХрд┐рдирд╛рд░рд╛_рдЯреА): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдХреЗ рдмрд╛рдж рдЕрдЧрд▓рд╛ рдЗрдирдПрдЬ рд▓реМрдЯрд╛рддрд╛ рд╣реИ e рдореВрд▓ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ.

nxtin_sg(sg : рдЧреНрд░рд╛рдл_рдЯреА, e : рдХрд┐рдирд╛рд░рд╛_рдЯреА): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдХреЗ рдмрд╛рдж рдЕрдЧрд▓рд╛ рдЗрдирдПрдЬ рд▓реМрдЯрд╛рддрд╛ рд╣реИ e рдЧреНрд░рд╛рдл рдореЗрдВ sg.

fstedge(n : рдиреЛрдб_рдЯреА): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдиреЛрдб рдХрд╛ рдкрд╣рд▓рд╛ рдХрд┐рдирд╛рд░рд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ n рдореВрд▓ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ.

fstedge_sg(sg : рдЧреНрд░рд╛рдл_рдЯреА, n : рдиреЛрдб_рдЯреА): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдиреЛрдб рдХрд╛ рдкрд╣рд▓рд╛ рдХрд┐рдирд╛рд░рд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ n рдЧреНрд░рд╛рдл рдореЗрдВ sg.

nxtedge(e : рдХрд┐рдирд╛рд░рд╛_рдЯреА, рдиреЛрдб_рдЯреА): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдХреЗ рдмрд╛рдж рдЕрдЧрд▓рд╛ рдХрд┐рдирд╛рд░рд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ e рдореВрд▓ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ.

nxtedge_sg(sg : рдЧреНрд░рд╛рдл_рдЯреА, e : рдХрд┐рдирд╛рд░рд╛_рдЯреА, рдиреЛрдб_рдЯреА): рдХрд┐рдирд╛рд░рд╛_рдЯреА
рдХреЗ рдмрд╛рдж рдЕрдЧрд▓рд╛ рдХрд┐рдирд╛рд░рд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ e рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ sg.

рдСрдк(e : рдХрд┐рдирд╛рд░рд╛_рдЯреА, рдиреЛрдб_рдЯреА): рдиреЛрдб_рдЯреА
рдХрд┐рдирд╛рд░реЗ рдкрд░ рдиреЛрдб рд▓реМрдЯрд╛рддрд╛ рд╣реИ e рдмрд░рд╛рдмрд░ рдирд╣реА рд╣реИ n. рдпрджрд┐ рд╢реВрдиреНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИ n рдХрд╛ рдиреЛрдб рдирд╣реАрдВ рд╣реИ
e. рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ fstedge рдФрд░ nxtedge рдХреЗ рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛
n.

рдЧреНрд░рд╛рдл рдореИрдВ / рд╣реЗ
рд▓рд┐рдЦрдирд╛(g : рдЧреНрд░рд╛рдл_рдЯреА): рд╢реВрдиреНрдп
рдкреНрд░рд┐рдВрдЯ g рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдкрд░ рдбреЙрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВред

рд▓рд┐рдЦреЛрдЬреА(g : рдЧреНрд░рд╛рдл_рдЯреА, fname : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╢реВрдиреНрдп
рдкреНрд░рд┐рдВрдЯ g рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбреЙрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ fname.

fwriteG(g : рдЧреНрд░рд╛рдл_рдЯреА, fd : int): рд╢реВрдиреНрдп
рдкреНрд░рд┐рдВрдЯ g рдкреВрд░реНрдгрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реВрдкрд┐рдд рдЦреБрд▓реА рд╕реНрдЯреНрд░реАрдо рдкрд░ рдбреЙрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ fd.

рдкрдврд╝реЗрдВрдЬреА(fname : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рдЧреНрд░рд╛рдл_рдЯреА
рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрдврд╝рд╛ рдЧрдпрд╛ рдЧреНрд░рд╛рдлрд╝ рд▓реМрдЯрд╛рддрд╛ рд╣реИ fname. рдЧреНрд░рд╛рдлрд╝ рдбреЙрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП. рдЕрдЧрд░ рдХреЛрдИ рдирд╣реАрдВ
рдЧреНрд░рд╛рдл рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдирд▓ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИ

рдлрд╝реНрд░реЗрдбрдЬреА(fd : int): рдЧреНрд░рд╛рдл_рдЯреА
рдЦреБрд▓реА рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдкрдврд╝рд╛ рдЧрдпрд╛ рдЕрдЧрд▓рд╛ рдЧреНрд░рд╛рдлрд╝ рд▓реМрдЯрд╛рддрд╛ рд╣реИ fd. рд░рд┐рдЯрд░реНрди рдирд▓ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ.

рдЧреНрд░рд╛рдл рдорд┐рд╢реНрд░рдг
рд╣рдЯрд╛рдирд╛(g : рдЧреНрд░рд╛рдл_рдЯреА, x : obj_t): рд╢реВрдиреНрдп
рдСрдмреНрдЬреЗрдХреНрдЯ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ x рдЧреНрд░рд╛рдл рд╕реЗ g. рдЕрдЧрд░ g is рдирд▓, рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдЯ рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
x. рдЕрдЧрд░ x рдПрдХ рдЧреНрд░рд╛рдлрд╝ рдпрд╛ рд╕рдмрдЧреНрд░рд╛рдлрд╝ рд╣реИ, рдпрд╣ рддрдм рддрдХ рдмрдВрдж рд░рд╣рддрд╛ рд╣реИ рдЬрдм рддрдХ x рд▓реЙрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореЗрдВ рд╣реИ(g : рдЧреНрд░рд╛рдл_рдЯреА, x : obj_t): int
рдпрджрд┐ рд╕рддреНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИ x рд╕рдмрдЧреНрд░рд╛рдл рдореЗрдВ рд╣реИ g.

рдХреНрд▓реЛрдирдЬреА(g : рдЧреНрд░рд╛рдл_рдЯреА, s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рдЧреНрд░рд╛рдл_рдЯреА
рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдХреНрд▓реЛрди рдмрдирд╛рддрд╛ рд╣реИ g рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде s. рдЕрдЧрд░ s "" рд╣реИ, рдмрдирд╛рдП рдЧрдП рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рд╣реИ
рдЬреИрд╕рд╛ рд╣реА рдирд╛рдо g.

рдХреНрд▓реЛрди(g : рдЧреНрд░рд╛рдл_рдЯреА, x : obj_t): obj_t
рд╡рд╕реНрддреБ рдХрд╛ рдХреНрд▓реЛрди рдмрдирд╛рддрд╛ рд╣реИ x рдЧреНрд░рд╛рдл рдореЗрдВ g. рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдирдИ рд╡рд╕реНрддреБ рдореЗрдВ рд╡рд╣реА рд╣реИ
рдореВрд▓ рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╛рдо/рдореВрд▓реНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдФрд░ рд╕рдВрд░рдЪрдирд╛ред рдпрджрд┐ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде
рдЬреИрд╕реА рд╣реА рдХреБрдВрдЬреА x рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЗрдирдХреЗ рдЧреБрдгреЛрдВ рд╕реЗ рдЖрдЪреНрдЫрд╛рджрд┐рдд рд╣реИрдВ x рдФрд░
рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИ. рдпрджрд┐ рдПрдХ рдХрд┐рдирд╛рд░реЗ рдХреЛ рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рджреЛрдиреЛрдВ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдкрд░реЛрдХреНрд╖ рд░реВрдк рд╕реЗ рдХреНрд▓реЛрди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдпрджрд┐ рдХреЛрдИ рдЧреНрд░рд╛рдл рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рднреА рдиреЛрдбреНрд╕, рдХрд┐рдирд╛рд░реЛрдВ рдФрд░ рд╕рдмрдЧреНрд░рд╛рдл рдХреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдк рд╕реЗ рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд░ x
рдПрдХ рдЧреНрд░рд╛рдлрд╝ рд╣реИ, g рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдирд▓, рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдирдпрд╛ рд░реВрдЯ рд╣реЛрдЧрд╛
рдЧреНрд░рд╛рдл. рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЙрд▓ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ рдХреНрд▓реЛрдирдЬреА(x,"").

рдкреНрд░рддрд┐рд▓рд┐рдкрд┐(g : рдЧреНрд░рд╛рдл_рдЯреА, x : obj_t): obj_t
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рддрд╛ рд╣реИ x рдЧреНрд░рд╛рдл рдореЗрдВ g, рдЬрд╣рд╛рдВ рдирдИ рд╡рд╕реНрддреБ рдХрд╛ рдирд╛рдо/рдорд╛рди рд╕рдорд╛рди рд╣реИ
рдореВрд▓ рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБред рдпрджрд┐ рдХреЛрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдорд╛рди рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рд╣реИ x рдкрд╣рд▓реЗ рд╣реА
рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реИ, рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЗрдирдХреЗ рдЧреБрдгреЛрдВ рд╕реЗ рдЖрдЪреНрдЫрд╛рджрд┐рдд рд╣реИрдВ x рдФрд░ рд╡рд╕реНрддреБ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддреА рд╣реИред рдЯрд┐рдкреНрдкрдгреА
рдХрд┐ рдпрд╣ рдПрдХ рдЙрдерд▓реА рдкреНрд░рддрд┐ рд╣реИ. рдЕрдЧрд░ x рдПрдХ рдЧреНрд░рд╛рдл рд╣реИ, рдЗрд╕рдХрд╛ рдХреЛрдИ рдиреЛрдб, рдХрд┐рдирд╛рд░рд╛ рдпрд╛ рд╕рдмрдЧреНрд░рд╛рдл рдирд╣реАрдВ рд╣реИ
рдирдП рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдХреЙрдкреА рдХрд░ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ. рдЕрдЧрд░ x рдПрдХ рдХрд┐рдирд╛рд░рд╛ рд╣реИ, рд╕рдорд╛рдкрдирдмрд┐рдВрджреБ рдпрджрд┐ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ
рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдирдХрд╛ рдХреНрд▓реЛрди рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЧрд░ x рдПрдХ рдЧреНрд░рд╛рдлрд╝ рд╣реИ, g рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдирд▓, рдХреМрдирд╕реЗ рдорд╛рдорд▓реЗрдореЗрдВ
рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдирдпрд╛ рд░реВрдЯ рдЧреНрд░рд╛рдлрд╝ рд╣реЛрдЧрд╛ред

рдХреЙрдкреАрдП(" : obj_t, TGT : obj_t): int
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИ " рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП TGT, рдХрд┐рд╕реА рднреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдирд╛
TGT рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ.

рдкреНрд░реЗрд░рд┐рдд рдХрд░рдирд╛(g : рдЧреНрд░рд╛рдл_рдЯреА): рд╢реВрдиреНрдп
рдлреИрд▓реА g рдЗрд╕рдХреЗ рд░реВрдЯ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдЗрд╕рдХреЗ рдиреЛрдб-рдкреНрд░реЗрд░рд┐рдд рд╕рдмрдЧреНрд░рд╛рдлрд╝ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдПред

hasAttr(" : obj_t, рдирд╛рдо : рд╕реНрдЯреНрд░рд┐рдВрдЧ): int
рдпрджрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдЧреИрд░-рд╢реВрдиреНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИ " рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ рдирд╛рдо. рдпрд╣ 0 рд▓реМрдЯрд╛рддрд╛ рд╣реИ
рдЕрдиреНрдпрдерд╛ред

isAttr(g : рдЧреНрд░рд╛рдл_рдЯреА, рддрд░рд╣ : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдирд╛рдо : рд╕реНрдЯреНрд░рд┐рдВрдЧ): int
рдпрджрд┐ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рддреЛ рдЧреИрд░-рд╢реВрдиреНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдирд╛рдо рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ g рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП
рджреА рддрд░рд╣. рдиреЛрдбреНрд╕, рдХрд┐рдирд╛рд░реЛрдВ рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд▓рд┐рдП, рддрд░рд╣ "рдПрди", "рдИ", рдФрд░ "рдЬреА" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП,
рдХреНрд░рдорд╢ред рдЕрдиреНрдпрдерд╛ рдпрд╣ 0 рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдПрдЧреЗрдЯ(" : obj_t, рдирд╛рдо : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдирд╛рдо рд╡рд╕реНрддреБ рдореЗрдВ ". рдпрд╣ рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ
рдХрдм рдирд╛рдо "рд╣реЗрдб" рдпрд╛ "рд░реВрдЯ" рдЬреИрд╕реЗ рдХреАрд╡рд░реНрдб рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЗ рд╕рд╛рде рд╡рд┐рд░реЛрдзред рдпрджрд┐
рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛ рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдЗрд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдЧрд╛
"" рдХрд╛ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиред рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП hasAttr or isAttr рд╕рдорд╛рд░реЛрд╣
рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореМрдЬреВрдж рд╣реИред

рдПрдХ рд╕реЗрдЯ(" : obj_t, рдирд╛рдо : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдореВрд▓реНрдп : рд╕реНрдЯреНрд░рд┐рдВрдЧ): int
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдорд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдирд╛рдо рд╡рд╕реНрддреБ рдореЗрдВ " рд╕реЗрд╡рд╛ рдореЗрд░реЗ рдореВрд▓реНрдп. рд╕рдлрд▓рддрд╛ рдкрд░ 0 рд▓реМрдЯрд╛рддрд╛ рд╣реИ,
рд╡рд┐рдлрд▓рддрд╛ рдкрд░ рдЧреИрд░-рд╢реВрдиреНрдп. рджреЗрдЦрдирд╛ рдПрдЧреЗрдЯ рдКрдкрд░ред

getDflt(g : рдЧреНрд░рд╛рдл_рдЯреА, рддрд░рд╣ : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдирд╛рдо : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдирд╛рдо рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ g рджрд┐рдП рдЧрдП рдХрд╛ рддрд░рд╣. рдХреЗ рд▓рд┐рдП
рдиреЛрдбреНрд╕, рдХрд┐рдирд╛рд░реЗ рдФрд░ рдЧреНрд░рд╛рдлрд╝, рддрд░рд╣ рдХреНрд░рдорд╢рдГ "рдПрди", "рдИ", рдФрд░ "рдЬреА" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐
рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛ рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдЗрд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдЧрд╛
"" рдХрд╛ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиред рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП isAttr рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рдХрд╛рд░реНрдп
рд╡рд╣ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореМрдЬреВрдж рд╣реИ.

setDflt(g : рдЧреНрд░рд╛рдл_рдЯреА, рддрд░рд╣ : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдирд╛рдо : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдореВрд▓реНрдп : рд╕реНрдЯреНрд░рд┐рдВрдЧ): int
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдирд╛рдо рд╕реЗрд╡рд╛ рдореЗрд░реЗ рдореВрд▓реНрдп рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ g рджрд┐рдП рдЧрдП рдХрд╛
рддрд░рд╣. рдиреЛрдбреНрд╕, рдХрд┐рдирд╛рд░реЛрдВ рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд▓рд┐рдП, рддрд░рд╣ рдХреНрд░рдорд╢рдГ "рдПрди", "рдИ", рдФрд░ "рдЬреА" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдлрд▓рддрд╛ рдкрд░ 0, рд╡рд┐рдлрд▓рддрд╛ рдкрд░ рдЧреИрд░-рд╢реВрдиреНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИред рджреЗрдЦрдирд╛ getDflt рдКрдкрд░ред

fstAttr(g : рдЧреНрд░рд╛рдл_рдЯреА, рддрд░рд╣ : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд╡рд╕реНрддреБрдУрдВ рдХреА рдкрд╣рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдирд╛рдо рд▓реМрдЯрд╛рддрд╛ рд╣реИ g рджрд┐рдП рдЧрдП рдХрд╛ рддрд░рд╣. рдХреЗ рд▓рд┐рдП
рдиреЛрдбреНрд╕, рдХрд┐рдирд╛рд░реЗ рдФрд░ рдЧреНрд░рд╛рдлрд╝, рддрд░рд╣ рдХреНрд░рдорд╢рдГ "рдПрди", "рдИ", рдФрд░ "рдЬреА" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рд╡рд╣рд╛рдБ
рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдирд╣реАрдВ рд╣реИрдВ, рд╕реНрдЯреНрд░рд┐рдВрдЧ "" рд▓реМрдЯрд╛ рджреА рдЧрдИ рд╣реИред

nxtAttr(g : рдЧреНрд░рд╛рдл_рдЯреА, рддрд░рд╣ : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдирд╛рдо : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд╡рд╕реНрддреБрдУрдВ рдХреА рдЕрдЧрд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдирд╛рдо рд▓реМрдЯрд╛рддрд╛ рд╣реИ g рджрд┐рдП рдЧрдП рдХрд╛ рддрд░рд╣ рдХреЗ рдмрд╛рдж
рдЧреБрдг рдирд╛рдо. рддрд░реНрдХ рдирд╛рдо рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдирд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП; рдпрд╣
рдЖрдо рддреМрд░ рдкрд░ рдкрд┐рдЫрд▓реА рдХреЙрд▓ рдХрд╛ рд░рд┐рдЯрд░реНрди рдорд╛рди рд╣реЛрдЧрд╛ fstAttr or nxtAttr. рдХреЗ рд▓рд┐рдП
рдиреЛрдбреНрд╕, рдХрд┐рдирд╛рд░реЗ рдФрд░ рдЧреНрд░рд╛рдлрд╝, рддрд░рд╣ рдХреНрд░рдорд╢рдГ "рдПрди", "рдИ", рдФрд░ "рдЬреА" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рд╡рд╣рд╛рдБ
рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рдмрдЪреА рд╣реИ, рд╕реНрдЯреНрд░рд┐рдВрдЧ "" рд▓реМрдЯрд╛ рджреА рдЧрдИ рд╣реИред

compOf(g : рдЧреНрд░рд╛рдл_рдЯреА, n : рдиреЛрдб_рдЯреА): рдЧреНрд░рд╛рдл_рдЯреА
рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдХрдиреЗрдХреНрдЯреЗрдб рдШрдЯрдХ рд▓реМрдЯрд╛рддрд╛ рд╣реИ g рдиреЛрдб рдпреБрдХреНрдд n, рдХреЗ рдЙрдкрд╕рдореВрд╣ рдХреЗ рд░реВрдк рдореЗрдВ
g. рд╕рдмрдЧреНрд░рд╛рдл рдореЗрдВ рдХреЗрд╡рд▓ рдиреЛрдбреНрд╕ рд╣реЛрддреЗ рд╣реИрдВред рдХреЛрдИ рднреА рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдкреНрд░реЗрд░рд┐рдд рдХрд░рдирд╛ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП.
рдлрд╝рдВрдХреНрд╢рди рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ рдирд▓ if n рдЗрд╕рдореЗрдВ рдирд╣реАрдВ рд╣реИ g. рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ
рдХрд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдЧреНрд░рд╛рдлрд╝ g.

рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛(obj : obj_t): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ obj. рдиреЛрдбреНрд╕, рдХрд┐рдирд╛рд░реЛрдВ рдФрд░ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╡рд╛рдкрд╕ рдЖрддрд╛ рд╣реИ
рдХреНрд░рдорд╢рдГ "рдПрди", "рдИ", рдФрд░ "рдЬреА"ред

рддрд╛рд▓рд╛(g : рдЧреНрд░рд╛рдл_рдЯреА, v : int): int
рд░реВрдЯ рдЧреНрд░рд╛рдлрд╝ рдкрд░ рдЧреНрд░рд╛рдлрд╝ рд▓реЙрдХрд┐рдВрдЧ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдкреВрд░реНрдгрд╛рдВрдХ v рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИ, рдЧреНрд░рд╛рдл рд╣реИ
рд╕реЗрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреЙрд▓ рдЖрдП рд╣рдЯрд╛рдирд╛ рдХреЛрдИ рддрддреНрдХрд╛рд▓ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рддрд╛. рдЕрдЧрд░ v рд╢реВрдиреНрдп рд╣реИ,
рдЧреНрд░рд╛рдлрд╝ рдЕрдирд▓реЙрдХ рд╣реИ. рдпрджрд┐ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд░рд╣рддреЗ рд╣реБрдП рдЙрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХреЙрд▓ рдЖрдпрд╛ рд╣реЛ
рд▓реЙрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЧреНрд░рд╛рдлрд╝ рдмрдВрдж рд╣реИ. рдЕрдЧрд░ v рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реИ, рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ,
рдкрд┐рдЫрд▓рд╛ рд▓реЙрдХ рдорд╛рди рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕
sprintf(fmt : рд╕реНрдЯреНрд░рд┐рдВрдЧ, ...): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рдлрд╝реЙрд░реНрдореЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИ
рдХреЗ рдмрд╛рдж рдШрдЯрд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ fmt рдХреЗ рдЕрдиреБрд╕рд╛рд░ printf(3) рдкреНрд░рд╛рд░реВрдк fmt

gsub(str : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдердкрдердкрд╛рдирд╛ : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ

gsub(str : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдердкрдердкрд╛рдирд╛ : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЖрд░рдИрдкреАрдПрд▓ : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд░рд┐рдЯрд░реНрди str рд╕рднреА рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд┐рд▓рд╛рди рдХреЗ рд╕рд╛рде рдердкрдердкрд╛рдирд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдпрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЖрд░рдИрдкреАрдПрд▓,
рдХреНрд░рдорд╢рдГ.

рдиреАрдЪреЗ(str : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдердкрдердкрд╛рдирд╛ : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ

рдиреАрдЪреЗ(str : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдердкрдердкрд╛рдирд╛ : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЖрд░рдИрдкреАрдПрд▓ : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд░рд┐рдЯрд░реНрди str рд╕рдмрд╕реЗ рдмрд╛рдИрдВ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдорд┐рд▓рд╛рди рдХреЗ рд╕рд╛рде рдердкрдердкрд╛рдирд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдпрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЖрд░рдИрдкреАрдПрд▓,
рдХреНрд░рдорд╢ред рдЖрд░рдВрдн рдФрд░ рдЕрдВрдд рдореЗрдВ '^' рдФрд░ '$' рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ,
рдХреНрд░рдорд╢рдГ, рдХрд╛ рдердкрдердкрд╛рдирд╛ рдкреИрдЯрд░реНрди рдХреЛ рдЖрд░рдВрдн рдпрд╛ рдЕрдВрдд рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ str.

substr(str : рд╕реНрдЯреНрд░рд┐рдВрдЧ, IDX : int): рд╕реНрдЯреНрд░рд┐рдВрдЧ

substr(str : рд╕реНрдЯреНрд░рд┐рдВрдЧ, IDX : int, рд▓реЗрди : int): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдХрд╛ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИ str рд╕реНрдерд┐рддрд┐ рд╕реЗ рд╢реБрд░реВ IDX рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЕрдВрдд рддрдХ рдпрд╛
рд▓рдВрдмрд╛рдИ рдХреА рд▓реЗрди, рдХреНрд░рдорд╢ред рдЕрдиреБрдХреНрд░рдордг 0 рд╕реЗ рдкреНрд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ IDX рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реИ рдпрд╛ IDX is
рдХреА рд▓рдореНрдмрд╛рдИ рд╕реЗ рдЕрдзрд┐рдХ str, рдПрдХ рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдЗрд╕реА рддрд░рд╣, рджреВрд╕рд░реЗ рдореЗрдВ
рдорд╛рдорд▓рд╛, рдпрджрд┐ рд▓реЗрди рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реИ рдпрд╛ IDX + рд▓реЗрди рдХреА рд▓рдВрдмрд╛рдИ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ str, рдПрдХ рдШрд╛рддрдХ
рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИред

рд╕реНрдЯреНрд░реИрдореНрдк(s1 : рд╕реНрдЯреНрд░рд┐рдВрдЧ, s2 : рд╕реНрдЯреНрд░рд┐рдВрдЧ): int
рдорд╛рдирдХ C рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рд╕реНрдЯреНрд░реИрдореНрдк(3).

рд▓рдВрдмрд╛рдИ(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): int
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ рд▓реМрдЯрд╛рддрд╛ рд╣реИ s.

рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ, t : рд╕реНрдЯреНрд░рд┐рдВрдЧ): int

рд░рд┐рдирдбреЗрдХреНрд╕(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ, t : рд╕реНрдЯреНрд░рд┐рдВрдЧ): int
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╡рд░реНрдг рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рд▓реМрдЯрд╛рддрд╛ рд╣реИ s рдЬрд╣рд╛рдВ рд╕рдмрд╕реЗ рдмрд╛рдИрдВ (рд╕рдмрд╕реЗ рджрд╛рд╣рд┐рдиреА) рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд╣реИ
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ t рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ -1 рдпрджрд┐ t рдХрд╛ рдЙрдкрд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ s.

рдореИрдЪ(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ, p : рд╕реНрдЯреНрд░рд┐рдВрдЧ): int
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╡рд░реНрдг рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рд▓реМрдЯрд╛рддрд╛ рд╣реИ s рдЬрд╣рд╛рдВ рдкреИрдЯрд░реНрди рдХрд╛ рд╕рдмрд╕реЗ рдмрд╛рдпрд╛рдВ рдорд┐рд▓рд╛рди рд╣реИ
p рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ -1 рдпрджрд┐ рдХреЛрдИ рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ s рдореИрдЪ p.

рдЯреЙрдкрд░(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд▓реМрдЯрд╛рддрд╛ рд╣реИ s рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╡рд░реНрдгреЛрдВ рдХреЛ рдЕрдкрд░рдХреЗрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдХрдо рдХрд░рдирд╛(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд▓реМрдЯрд╛рддрд╛ рд╣реИ s рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╡рд░реНрдгреЛрдВ рдХреЛ рд▓реЛрдЕрд░-рдХреЗрд╕ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдХреИрдирди(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд▓реМрдЯрд╛рддрд╛ рд╣реИ s рдбреЙрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрддред

HTML(g : рдЧреНрд░рд╛рдл_рдЯреА, s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдХрд╛ ``рдЬрд╛рджреБрдИ'' рд╕рдВрд╕реНрдХрд░рдг рд▓реМрдЯрд╛рддрд╛ рд╣реИ s рдПрдХ HTML рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВред рдЗрд╕рдХрд╛ рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
рдЧреНрд░рд╛рдлрд╝ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ HTML рдЬреИрд╕рд╛ рд▓реЗрдмрд▓ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд▓реМрдЯреА рд╣реБрдИ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрдВрджрд░ рд░рд╣рддреА рд╣реИ
g. рдЦрд╛рд╕ рддреМрд░ рдкрд░ рдпрд╣ рдХрдм рдореБрдХреНрдд рд╣реЛрдЧрд╛ g рдмрдВрдж рд╣реИ, рдФрд░ HTML рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде рдХрд░рдирд╛ рд╣реЛрдЧрд╛ g. рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреЛрдг рдмреНрд░реИрдХреЗрдЯ
рдЙрджреНрдзрд░рдг рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП s. рдЗрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ g рдареЛрд╕ рдбреЙрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ
рдкреНрд░рд╛рд░реВрдк.

ishtml(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): int
рдпрджрд┐ рдФрд░ рдХреЗрд╡рд▓ рдпрджрд┐, рддреЛ рдЧреИрд░-рд╢реВрдиреНрдп рд▓реМрдЯрд╛рддрд╛ рд╣реИ s рдПрдХ HTML рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ.

xOf(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИ"x" рдЕрдЧрд░ s рд░реВрдк рд╣реИ"x,y", рджреЛрдиреЛрдВ рдХрд╣рд╛рдБ x рдФрд░ y рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╣реИрдВ.

рдЖрдк рдХрд╛(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИ"y" рдЕрдЧрд░ s рд░реВрдк рд╣реИ"x,y", рджреЛрдиреЛрдВ рдХрд╣рд╛рдБ x рдФрд░ y рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╣реИрдВ.

llрдХрд╛(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИ"LLX,lly" рдЕрдЧрд░ s рд░реВрдк рд╣реИ"LLX,lly,рдЙрд░рдХреНрд╕,URY", рдЬрд╣рд╛рдВ рд╕рднреА LLX,
lly, рдЙрд░рдХреНрд╕, рддрдерд╛ URY рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╣реИрдВ.

urOf(s)
рдЖрдкрдХрд╛(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИ"рдЙрд░рдХреНрд╕,URY" рдЕрдЧрд░ s рдХрд╛ рд░реВрдк рд╣реИ
"LLX,lly,рдЙрд░рдХреНрд╕,URY", рдЬрд╣рд╛рдВ рд╕рднреА LLX, lly, рдЙрд░рдХреНрд╕, рддрдерд╛ URY рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╣реИрдВ.

sscanf(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ, fmt : рд╕реНрдЯреНрд░рд┐рдВрдЧ, ...): int
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИ s, рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдорд╛рди рдирд┐рдХрд╛рд▓рдирд╛ sscanf(3) рдкреНрд░рд╛рд░реВрдк fmtред
рдорд╛рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрддреЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ fmt, рдкреНрд░рдкрддреНрд░ рд╡рд╛рд▓реЗ рдкрддреЗ &v,
рдЬрд╣рд╛рдВ v рд╕рд╣реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХреБрдЫ рдШреЛрд╖рд┐рдд рдЪрд░ рд╣реИред рдЖрдЗрдЯрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ
рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдХреИрди рдХрд┐рдпрд╛ рдЧрдпрд╛.

рд╡рд┐рднрд╛рдЬрд┐рдд(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЖрдЧрдорди : рд╕рд░рдгреА, рд╕рд┐рддрдореНрдмрд░ : рд╕реНрдЯреНрд░рд┐рдВрдЧ): int

рд╡рд┐рднрд╛рдЬрд┐рдд(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЖрдЧрдорди : рд╕рд░рдгреА): int

рдЯреЛрдХрди(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЖрдЧрдорди : рд╕рд░рдгреА, рд╕рд┐рддрдореНрдмрд░ : рд╕реНрдЯреНрд░рд┐рдВрдЧ): int

рдЯреЛрдХрди(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЖрдЧрдорди : рд╕рд░рдгреА): int
RSI рд╡рд┐рднрд╛рдЬрд┐рдд рдлрд╝рдВрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ s рдЦреЗрддреЛрдВ рдореЗрдВ, рдЬрдмрдХрд┐ рдЯреЛрдХрди рд╕рдорд╛рд░реЛрд╣
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЯреЛрдХрди рдореЗрдВ рддреЛрдбрд╝рддрд╛ рд╣реИред рдПрдХ рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╕рднреА рдЧреИрд░-рд╡рд┐рднрд╛рдЬрдХ рд╡рд░реНрдг рд╣реЛрддреЗ рд╣реИрдВ
рджреЛ рд╡рд┐рднрд╛рдЬрдХ рд╡рд░реНрдгреЛрдВ рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╢реБрд░реБрдЖрдд рдпрд╛ рдЕрдВрдд рдХреЗ рдмреАрдЪред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдП
рдлрд╝реАрд▓реНрдб рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЛ рд╕рдХрддреА рд╣реИ. рдЯреЛрдХрди рдПрдХ рдЕрдзрд┐рдХрддрдо, рдЧреИрд░-рд░рд┐рдХреНрдд рд╕рдмрд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ
рдПрдХ рд╡рд┐рднрд╛рдЬрдХ рдЪрд░рд┐рддреНрд░ рдпреБрдХреНрдд. рд╡рд┐рднрд╛рдЬрдХ рд╡рд░реНрдг рд╡реЗ рд╣реИрдВ рдЬреЛ рдЗрд╕рдореЗрдВ рджрд┐рдП рдЧрдП рд╣реИрдВ
рд╕рд┐рддрдореНрдмрд░ рддрд░реНрдХред рдЕрдЧрд░ рд╕рд┐рддрдореНрдмрд░ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди "\t\n" рд╣реИред
рдлрд╝рдВрдХреНрд╢рдВрд╕ рдлрд╝реАрд▓реНрдб рдпрд╛ рдЯреЛрдХрди рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред

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

рдореИрдВ / рд╣реЗ
рдЫрд╛рдк(...): рд╢реВрдиреНрдп
рдкреНрд░рд┐рдВрдЯ ( expr, ... ) рдмрд╛рд░реА-рдмрд╛рд░реА рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рддрд░реНрдХ рдХрд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ
stdout, рдЙрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ред

printf(fmt : рд╕реНрдЯреНрд░рд┐рдВрдЧ, ...): int

printf(fd : int, fmt : рд╕реНрдЯреНрд░рд┐рдВрдЧ, ...): int
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднрд╛рд╡реЛрдВ рдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рдлрд╝реЙрд░реНрдореЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ
fmt рдХреЗ рдЕрдиреБрд╕рд╛рд░ printf(3) рдкреНрд░рд╛рд░реВрдк fmt. рд╕рдлрд▓рддрд╛ рдкрд░ 0 рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣
рдкрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ stdout. рдпрджрд┐ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреВрд░реНрдгрд╛рдВрдХ fd рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ
рдУрдкрди рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ fd.

scanf(fmt : рд╕реНрдЯреНрд░рд┐рдВрдЧ, ...): int

scanf(fd : int, fmt : рд╕реНрдЯреНрд░рд┐рдВрдЧ, ...): int
рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдорд╛рдиреЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИ scanf(3) рдкреНрд░рд╛рд░реВрдк fmtред
рдорд╛рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрддреЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ fmt, рдкреНрд░рдкрддреНрд░ рд╡рд╛рд▓реЗ рдкрддреЗ &v,
рдЬрд╣рд╛рдВ v рд╕рд╣реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХреБрдЫ рдШреЛрд╖рд┐рдд рдЪрд░ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рд╕реЗ рдкрдврд╝рддрд╛ рд╣реИ
stdin. рдпрджрд┐ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреВрд░реНрдгрд╛рдВрдХ fd рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрдирдкреБрдЯ рдЦреБрд▓реА рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ
рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ fd. рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдХреИрди рдХрд┐рдП рдЧрдП рдЖрдЗрдЯрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдЦреБрд▓рд╛рдПрдл(s : рд╕реНрдЯреНрд░рд┐рдВрдЧ, t : рд╕реНрдЯреНрд░рд┐рдВрдЧ): int
рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рддрд╛ рд╣реИ s I/O рд╕реНрдЯреНрд░реАрдо рдХреЗ рд░реВрдк рдореЗрдВред рд╕реНрдЯреНрд░рд┐рдВрдЧ рддрд░реНрдХ t рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреИрд╕реА рд╣реИ
рдЦреБрд▓ рдЧрдпрд╛ред рддрд░реНрдХ C рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИрдВ рдлреЛрдкреЗрди(3). рдпрд╣ рдПрдХ рд▓реМрдЯрд╛рддрд╛ рд╣реИ
рд╕реНрдЯреНрд░реАрдо рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкреВрд░реНрдгрд╛рдВрдХ, рдпрд╛ рддреНрд░реБрдЯрд┐ рдкрд░ -1ред

рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╕реНрдЯреНрд░реАрдо 0, 1 рдФрд░ 2 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЦреБрд▓реЗ рд╣реИрдВ stdin, stdout, рддрдерд╛ stderr,
рдХреНрд░рдорд╢ред рддрдм рд╕реЗ рдЬреАрд╡реАрдкреАрдЖрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ stdin рдЗрдирдкреБрдЯ рдЧреНрд░рд╛рдлрд╝ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЪрд╛рд╣рд┐рдП
рдЗрд╕ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВ.

рдмрдВрдж рдХрд░реЗрдВF(fd : int): int
рдкреВрд░реНрдгрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реВрдкрд┐рдд рдЦреБрд▓реА рдзрд╛рд░рд╛ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ fd. рдзрд╛рд░рд╛рдПрдБ 0, 1 рдФрд░ 2 рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреАрдВ
рдмрдВрдж рдХрд┐рдпрд╛ рд╣реБрдЖред рд╕рдлрд▓рддрд╛ рдкрд░ 0 рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдкрдврд╝реЗрдВрдПрд▓(fd : int): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдкрдврд╝реА рдЧрдИ рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рд▓реМрдЯрд╛рддрд╛ рд╣реИ fd. рдпрд╣ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИ ""
рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ. рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдиреНрдпреВрд▓рд╛рдЗрди рдХреИрд░реЗрдХреНрдЯрд░ рд▓реМрдЯрд╛рдИ рдЧрдИ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрдЪрд╛ рд╣реБрдЖ рд╣реИред

рдорда
exp(d : рдбрдмрд▓): рдбрдмрд▓
рдИ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ dрд╡реЗрдВ рд╢рдХреНрддрд┐.

рд▓реЙрдЧ рдЗрди(d : рдбрдмрд▓): рдбрдмрд▓
рдХрд╛ рдкреНрд░рд╛рдХреГрддрд┐рдХ рд▓реЙрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИ d.

sqrt(d : рдбрдмрд▓): рдбрдмрд▓
рджреЛрд╣рд░реЗ рдХрд╛ рд╡рд░реНрдЧрдореВрд▓ рд▓реМрдЯрд╛рддрд╛ рд╣реИ d.

рдкреЙрд╡(d : рдбрдмрд▓, x : рдбрдмрд▓): рдбрдмрд▓
рд░рд┐рдЯрд░реНрди d рдХреЛ рдЙрдард╛рдпрд╛ xрд╡реЗрдВ рд╢рдХреНрддрд┐.

рдЧрд╛рдбрд╝реА(d : рдбрдмрд▓): рдбрдмрд▓
рдХреА рдХреЛрдЬреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ d.

рдкрд╛рдк(d : рдбрдмрд▓): рдбрдмрд▓
рдХреА рд╕рд╛рдЗрди рд▓реМрдЯрд╛рддрд╛ рд╣реИ d.

atan2(y : рдбрдмрд▓, x : рдбрдмрд▓): рдбрдмрд▓
рдХрд╛ рдЖрд░реНрдХрдЯреЗрдиреНрдЬреЗрдВрдЯ рд▓реМрдЯрд╛рддрд╛ рд╣реИ y / x рд░реЗрдВрдЬ рдореЗрдВ -pi рд╕реЗ pi рддрдХред

рдиреНрдпреВрдирддрдо(y : рдбрдмрд▓, x : рдбрдмрд▓): рдбрдмрд▓
рдХрд╛ рдиреНрдпреВрдирддрдо рд▓реМрдЯрд╛рддрд╛ рд╣реИ y рдФрд░ x.

рдореИрдХреНрд╕(y : рдбрдмрд▓, x : рдбрдмрд▓): рдбрдмрд▓
рдХрд╛ рдЕрдзрд┐рдХрддрдо рд▓реМрдЯрд╛рддрд╛ рд╣реИ y рдФрд░ x.

рдЬреЛрдбрд╝рдиреЗрд╡рд╛рд▓рд╛ Arrays
# рдЖрдЧрдорди : int
рд╕рд░рдгреА рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЖрдЧрдорди.

IDX in рдЖрдЧрдорди : int
рдпрджрд┐ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ 1 рд▓реМрдЯрд╛рддрд╛ рд╣реИ IDX рд╕рд░рдгреА рдореЗрдВ рдЖрдЧрдорди. рдпрд╣ 0 рд▓реМрдЯрд╛рддрд╛ рд╣реИ
рдЕрдиреНрдпрдерд╛ред

рд╕реЗрдЯ рдирд╣реАрдВ(v : рд╕рд░рдгреА, IDX): int
рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдХреНрд░рдорд┐рдд рдЖрдЗрдЯрдо рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ IDX. рдпрджрд┐ рдЖрдЗрдЯрдо рдореМрдЬреВрдж рд╣реИ рддреЛ рдпрд╣ 1 рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ 0 рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рд╕реЗрдЯ рдирд╣реАрдВ(v : рд╕рд░рдгреА): рд╢реВрдиреНрдп
рд╕рд░рдгреА рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИред

рдХрдИ рддрд░рд╣ рдХрд╛
рдирд┐рдХрд╛рд╕(v : int): рд╢реВрдиреНрдп
рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдЬреАрд╡реАрдкреАрдЖрд░ рдирд┐рдХрд╛рд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП v.

рдкреНрд░рдгрд╛рд▓реА(рд╕реАрдПрдордбреА : рд╕реНрдЯреНрд░рд┐рдВрдЧ): int
рдорд╛рдирдХ C рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдкреНрд░рдгрд╛рд▓реА(3). рдпрд╣ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИ рд╕реАрдПрдордбреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╢реЗрд▓ рдореЗрдВ
рд╡рд╛рддрд╛рд╡рд░рдг, рдФрд░ рд╢реЗрд▓ рдХреА рдирд┐рдХрд╛рд╕ рд╕реНрдерд┐рддрд┐ рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рдкрдВрдХреНрддрд┐() : рдбрдмрд▓
0 рдФрд░ 1 рдХреЗ рдмреАрдЪ рдПрдХ рдЫрджреНрдо-рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рджреЛрд╣рд░рд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред

рд╕рд░рдВрдб() : int

рд╕рд░рдВрдб(v : int): int
рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреАрдЬ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реНрдХ рдмреАрдЬ рджреЗрддрд╛ рд╣реИ;
рдпрджрд┐ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдП рддреЛ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд┐рдЫрд▓рд╛ рдмреАрдЬ рдореВрд▓реНрдп рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рд░рдВрдб рдХрд┐рд╕реА рднреА рдХреЙрд▓ рд╕реЗ рдкрд╣рд▓реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдкрдВрдХреНрддрд┐.

colorx(рд░рдВрдЧ : рд╕реНрдЯреНрд░рд┐рдВрдЧ, fmt : рд╕реНрдЯреНрд░рд┐рдВрдЧ): рд╕реНрдЯреНрд░рд┐рдВрдЧ
рдПрдХ рд░рдВрдЧ рдХреЛ рдПрдХ рдкреНрд░рд╛рд░реВрдк рд╕реЗ рджреВрд╕рд░реЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рд░рдВрдЧ рддрд░реНрдХ рдПрдХ рд░рдВрдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрднреНрдпрд╛рд╡реЗрджрди рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВред fmt рдорд╛рди рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
"рдЖрд░рдЬреАрдмреА", "рдЖрд░рдЬреАрдмреАрдП", "рдПрдЪрдПрд╕рд╡реА", рдпрд╛ "рдПрдЪрдПрд╕рд╡реАрдП"ред рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИред

рдирд┐рд░реНрдорд┐рдд рдЪрд░


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

$ : obj_t
рд╕рдВрджрд░реНрдн рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд░реНрддрдорд╛рди рд╡рд╕реНрддреБ (рдиреЛрдб, рдХрд┐рдирд╛рд░рд╛, рдЧреНрд░рд╛рдлрд╝) рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдпрд╣ рдирд╣реАрдВ рд╣реИ
рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╢реБрд░реВ or рдЕрдВрдд рдЦрдВрдбред

$F : рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд╡рд░реНрддрдорд╛рди рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╣реИ.

$G : рдЧреНрд░рд╛рдл_рдЯреА
рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╡рд░реНрддрдорд╛рди рдЧреНрд░рд╛рдлрд╝ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдпрд╣ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ рд╢реБрд░реВ or рдЕрдВрдд
рдЦрдВрдбред

$рдПрдирдЬреА : рдЧреНрд░рд╛рдл_рдЯреА
рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЕрдЧрд▓реЗ рдЧреНрд░рд╛рдлрд╝ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЕрдЧрд░ $рдПрдирдЬреА рд╢реВрдиреНрдп рд╣реИ, рд╡рд░реНрддрдорд╛рди рдЧреНрд░рд╛рдлрд╝ $G рд╡рд┐рд╢реНрд╡ рдХрд╛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдПрдВрд╡
рдЕрдВрддрд┐рдо рдЧреНрд░рд╛рдл. рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЗрдирдкреБрдЯ stdin рд╕реЗ рдЖрддрд╛ рд╣реИ, рддреЛ рдЕрдВрддрд┐рдо рдЧреНрд░рд╛рдлрд╝ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛
рдЗрдирдкреБрдЯ рдкрд╛рдЗрдк рдмрдВрдж рд╣реЛрдиреЗ рддрдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ рд╢реБрд░реВ or рдЕрдВрдд
рдЦрдВрдб, рдпрд╛ рдпрджрд┐ -n рдзреНрд╡рдЬ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ.

$O : рдЧреНрд░рд╛рдл_рдЯреА
рдЖрдЙрдЯрдкреБрдЯ рдЧреНрд░рд╛рдлрд╝ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЧреНрд░рд╛рдлрд╝ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕реЗ рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЧреНрд░рд╛рдл. рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреЗ рдмрд╛рдж рдФрд░ рдХреЛрдИ рднреА END_рдЬреА рдХреНрд░рд┐рдпрд╛рдПрдБ, рдпрджрд┐ рдпрд╣ рдПрдХ рдЧреИрд░-рд░рд┐рдХреНрдд рдЧреНрд░рд╛рдлрд╝ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреА рд╣реИ,
рд╡рд╣ рдЧреНрд░рд╛рдлрд╝ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдкрд░ рдореБрджреНрд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдореЗрдВ рдорд╛рдиреНрдп рд╣реИ N, E рдФрд░ END_рдЬреА
рдЦрдВрдбред рдЖрдЙрдЯрдкреБрдЯ рдЧреНрд░рд╛рдлрд╝ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

$T : рдЧреНрд░рд╛рдл_рдЯреА
рд╡рд░реНрддрдорд╛рди рд▓рдХреНрд╖реНрдп рдЧреНрд░рд╛рдлрд╝ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдпрд╣ рдХрд╛ рдПрдХ рдЙрдкрд╕рдореВрд╣ рд╣реИ $G рдФрд░ рдХреЗрд╡рд▓ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ
N, E рдФрд░ END_рдЬреА рдЦрдВрдбред

$tgtрдирд╛рдо : рд╕реНрдЯреНрд░рд┐рдВрдЧ
рд▓рдХреНрд╖реНрдп рдЧреНрд░рд╛рдлрд╝ рдХреЗ рдирд╛рдо рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рдкрд░ рд╕реЗрдЯ рд╣реИ "gvpr_result". рдЕрдЧрд░
рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдХрдИ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЬреАрд╡реАрдкреАрдЖрд░, рдирд╛рдо рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛
рдкреВрд░реНрдгрд╛рдВрдХ. рдпрд╣ рд╡реЗрд░рд┐рдПрдмрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ.

$tvroot : рдиреЛрдб_рдЯреА
(рдирд┐рд░реНрджреЗрд╢рд┐рдд рдпрд╛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖) рдЧрд╣рд░рд╛рдИ-рдкрд╣рд▓реЗ рдпрд╛ рдЪреМрдбрд╝рд╛рдИ- рдХреЗ рд▓рд┐рдП рд╢реБрд░реБрдЖрддреА рдиреЛрдб рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ
рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдкрд╣рд▓рд╛ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ (cf. $tvtype рдиреАрдЪреЗ)ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╣реИ рдирд▓ рдПрд╕рдЯреА
рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯ рдЧреНрд░рд╛рдлрд╝. рджрд┐рдП рдЧрдП рд░реВрдЯ рдкрд░ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреЗ рдмрд╛рдж, рдпрджрд┐ рдХрд╛ рдорд╛рди $tvroot
рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдПрдХ рдирдпрд╛ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдирдП рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдЧрд╛ $tvroot. рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реЗрдЯ рдХрд░реЗрдВ
$tvnext рдиреАрдЪреЗ.

$tvnext : рдиреЛрдб_рдЯреА
(рдирд┐рд░реНрджреЗрд╢рд┐рдд рдпрд╛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖) рдЧрд╣рд░рд╛рдИ рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓реЗ рд╢реБрд░реБрдЖрддреА рдиреЛрдб рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ-рдкрд╣рд▓реЗ рдпрд╛
рдЪреМрдбрд╝рд╛рдИ- рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдкрд╣рд▓рд╛ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ (рд╕реАрдПрдл)ред $tvtype рдиреАрдЪреЗ)ред рдпрджрд┐ рдХреЛрдИ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
рдФрд░ $tvroot рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди $tvnext рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣
рдиреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдЧрд▓реА рдкрд╕рдВрдж рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ $tvroot. рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╣реИ рдирд▓ рдПрд╕рдЯреА
рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯ рдЧреНрд░рд╛рдлрд╝.

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

$tvtype : tvtype_t
рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдЬреАрд╡реАрдкреАрдЖрд░ рдПрдХ рдЧреНрд░рд╛рдлрд╝ рдкрд╛рд░ рдХрд░рддрд╛ рд╣реИ. рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╕реНрдерд┐рд░ рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИ
рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рдЙрдкрд╕рд░реНрдЧ "TV_" рдХреЗ рд╕рд╛рдеред рдЯреАрд╡реА_рдлреНрд▓реИрдЯ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИред

рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЧреНрд░рд╛рдлрд╝ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╕реАрдЧреНрд░рд╛рдл(3), рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдЧреНрд░рд╛рдлрд╝ рдореЗрдВ рдХрд┐рдирд╛рд░реЗ рджрд┐рдП рдЧрдП рд╣реИрдВ
рдордирдорд╛рдиреА рджрд┐рд╢рд╛. рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ TV_fwd, рдЖрд╡рд╢реНрдпрдХрддрд╛
рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдирд╛рд░реЗ.

рдПрдЖрд░рдЬреАрд╕реА : int
рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрд░реНрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ -a рдЖрд░реНрдЧ рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рддрд░реНрдХ.

рдПрдЖрд░рдЬреАрд╡реА : рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рд░рдгреА
рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрд░реНрдХреЛрдВ рдХреА рд╕рд╛рд░рдгреА рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ -a рдЖрд░реНрдЧ рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рддрд░реНрдХред
iрд╡рд╛рдВ рддрд░реНрдХ рдХрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдПрдЖрд░рдЬреАрд╡реА[i].

рдирд┐рд░реНрдорд┐рдд рд╕реНрдерд┐рд░рд╛рдВрдХ


рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрдИ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╣реИрдВ рдЬреАрд╡реАрдкреАрдЖрд░.

рдирд▓ : obj_t
рдПрдХ рд╢реВрдиреНрдп рд╡рд╕реНрддреБ рд╕рдВрджрд░реНрдн, 0 рдХреЗ рдмрд░рд╛рдмрд░ред

рдЯреАрд╡реА_рдлреНрд▓реИрдЯ : tvtype_t
рдПрдХ рд╕рд░рд▓, рд╕рдкрд╛рдЯ рдЯреНрд░реИрд╡рд░реНрд╕рд▓, рдЬрд┐рд╕рдореЗрдВ рдЧреНрд░рд╛рдлрд╝ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдХреНрд░рдо рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЯреАрд╡реА_рдиреЗ : tvtype_t
рдПрдХ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдЬреЛ рдкрд╣рд▓реЗ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рд╕рднреА рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ред

рдЯреАрд╡реА_рдПрди : tvtype_t
рдПрдХ рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдЬреЛ рдкрд╣рд▓реЗ рд╕рднреА рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ред

TV_dfs : tvtype_t
TV_postdfs : tvtype_t
TV_prepostdfs : tvtype_t
рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рдкрд░ рдЧрд╣рд░рд╛рдИ-рдкрд╣рд▓реА рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдЯреНрд░реИрд╡рд░реНрд╕рд▓
рдЧреНрд░рд╛рдл. рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреАрд╡реАрдкреАрдЖрд░ рдХреЗ рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ $tvroot. рдпрджрд┐ рдпрд╣ рд╣реИ
рд╡рд╣реА рдорд╛рди рдЬреЛ рдкрд╣рд▓реЗ рдерд╛ (рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдкрд┐рдЫрд▓рд╛ рдорд╛рди рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╕реЗрд╡рд╛ рдореЗрд░реЗ рдирд▓.) рдЬреАрд╡реАрдкреАрдЖрд░ рдмрд╕ рдХреБрдЫ рдЕрдирд╡рд┐рдЬрд╝рд┐рдЯ рдиреЛрдб рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрд╕рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реБрдП рдиреЛрдб рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛
рдЕрд╡рдпрд╡ред рджреВрд╕рд░реА рдУрд░, рдпрджрд┐ $tvroot рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдЬреБрдбрд╝рд╛ рдШрдЯрдХ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛
рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдкрд╣рд▓реЗ рдХрднреА рдЗрд╕рдХрд╛ рджреМрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдпрджрд┐ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рджреМрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП $tvroot is рдирд▓,
рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рд░реБрдХ рдЬрд╛рдПрдЧрд╛. рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ TV_dfs рдФрд░ $tvroot, рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ
рдПрдХ рдЕрдирдВрдд рд▓реВрдк.

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдкреНрд░реА-рдСрд░реНрдбрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛рдиреА рдПрдХ рдиреЛрдб рдкрд╣рд▓реЗ рд╡рд┐рдЬрд┐рдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЗрд╕рдХреЗ рд╕рднреА рдЕрдирджреЗрдЦреЗ рдХрд┐рдирд╛рд░реЗред рдХреЗ рд▓рд┐рдП TV_postdfs, рдПрдХ рдиреЛрдб рдХреЗ рд╕рднреА рдЕрдирджреЗрдЦреЗ рдХрд┐рдирд╛рд░реЗ рд╣реИрдВ
рдиреЛрдб рд╕реЗ рдкрд╣рд▓реЗ рджреМрд░рд╛ рдХрд┐рдпрд╛ред рдХреЗ рд▓рд┐рдП TV_prepostdfs, рдПрдХ рдиреЛрдб рдкрд░ рдФрд░ рд╕реЗ рдкрд╣рд▓реЗ рджреЛ рдмрд╛рд░ рджреМрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЗрд╕рдХреЗ рд╕рднреА рдЕрдирджреЗрдЦреЗ рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рдмрд╛рджред

TV_fwd : tvtype_t
TV_postfwd : tvtype_t
TV_prepostfwd : tvtype_t
рдХреЗрд╡рд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреНрд░рд╛рдлрд╝ рдкрд░ рдЧрд╣рд░рд╛рдИ-рдкрд╣рд▓реА рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдЯреНрд░реИрд╡рд░реНрд╕рд▓
рдЖрдЧреЗ рдХреА рдУрд░ рдЪрд╛рдк. рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреЗ рд▓рд┐рдП рдЬрдбрд╝реЛрдВ рдХрд╛ рдЪреБрдирд╛рд╡ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╡рд░реНрдгрд┐рдд рд╣реИ
TV_dfs рдКрдкрд░ред рдореБрд▓рд╛рдХрд╝рд╛рдд рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд░рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ TV_fwd, TV_postfwd
рдФрд░ TV_prepostfwd рдЕрдиреБрд░реВрдк рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИрдВ
TV_dfs, TV_postdfs рдФрд░ TV_prepostdfs.

рдЯреАрд╡реА_рд░реЗрд╡ : tvtype_t
TV_postrev : tvtype_t
TV_prepostrev : tvtype_t
рдХреЗрд╡рд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреНрд░рд╛рдлрд╝ рдкрд░ рдЧрд╣рд░рд╛рдИ-рдкрд╣рд▓реА рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдЯреНрд░реИрд╡рд░реНрд╕рд▓
рдЙрд▓рдЯрд╛ рдЪрд╛рдк. рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреЗ рд▓рд┐рдП рдЬрдбрд╝реЛрдВ рдХрд╛ рдЪреБрдирд╛рд╡ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╡рд░реНрдгрд┐рдд рд╣реИ
TV_dfs рдКрдкрд░ред рдореБрд▓рд╛рдХрд╝рд╛рдд рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрд░рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЯреАрд╡реА_рд░реЗрд╡, TV_postrev
рдФрд░ TV_prepostrev рдЕрдиреБрд░реВрдк рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИрдВ
TV_dfs, TV_postdfs рдФрд░ TV_prepostdfs.

рдЯреАрд╡реА_рдмреАрдПрдлрдПрд╕ : tvtype_t
рдХрд┐рдирд╛рд░реЗ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реБрдП рдЧреНрд░рд╛рдлрд╝ рдкрд░ рдЪреМрдбрд╝рд╛рдИ-рдкрд╣рд▓реА рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдЯреНрд░реИрд╡рд░реНрд╕рд▓
рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢. рдЖрдЗрдЯрдо рдХреЛ рджреЗрдЦреЗрдВ TV_dfs рдХреА рднреВрдорд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдКрдкрд░ $tvroot.

рдЙрджрд╛рд╣рд░рдг


рдЬреАрд╡реАрдкреАрдЖрд░ -i 'рдПрди[рд░рдВрдЧ==рдиреАрд▓рд╛']' рдлрд╝рд╛рдЗрд▓.gv

рдиреАрд▓реЗ рд░рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рднреА рдиреЛрдбреНрд╕ рдХреЗ рдиреЛрдб-рдкреНрд░реЗрд░рд┐рдд рд╕рдмрдЧреНрд░рд╛рдл рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВред

рдЬреАрд╡реАрдкреАрдЖрд░ -c 'рдПрди[рд░рдВрдЧ==рдиреАрд▓рд╛']{рд░рдВрдЧ = "рд▓рд╛рд▓"}' рдлрд╝рд╛рдЗрд▓.gv

рд╕рднреА рдиреАрд▓реЗ рдиреЛрдбреНрд╕ рдХреЛ рд▓рд╛рд▓ рдмрдирд╛рдПрдВред

рд╢реБрд░реВ { int n, e; int tot_n = 0; int рдЯреЛрдЯ_рдИ = 0; }
BEG_G {
n = nNodes($G);
e = nEdges ($ рдЬреА);
printf ("%рдбреА рдиреЛрдбреНрд╕ %d рдХрд┐рдирд╛рд░реЛрдВ %s\n", n, e, $рдЬреА.рдирд╛рдо);
tot_n += n;
рдЯреЛрдЯ_рдИ += e;
}
рдЕрдВрдд { printf ("%рдбреА рдиреЛрдбреНрд╕ %d рдХрд┐рдирд╛рд░реЛрдВ рдХреБрд▓\n", tot_n, рдЯреЛрдЯ_рдИ) }

рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг gc.

рдЬреАрд╡реАрдкреАрдЖрд░ -c ""

рдХреЗ рдмрд░рд╛рдмрд░ nop.

BEG_G { рдЧреНрд░рд╛рдл_рдЯреА g = рдЧреНрд░рд╛рдл ("рд╡рд┐рд▓рдп", "рдПрд╕"); }
E {
рдиреЛрдб_рдЯреА h = рдХреНрд▓реЛрди(рдЬреА,$.рд╣реЗрдб);
рдиреЛрдб_рдЯреА t = рдХреНрд▓реЛрди(рдЬреА,$.рдкреВрдВрдЫ);
рдХрд┐рдирд╛рд░рд╛_рдЯреА e = рдХрд┐рдирд╛рд░рд╛(рдЯреА,рдПрдЪ,"");
рдИ.рд╡рдЬрди = рдИ.рд╡рдЬрди + 1;
}
END_рдЬреА { $O = g; }

рдЗрдирдкреБрдЯ рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдПрдХ рд╕рдЦреНрдд рд╕рдВрд╕реНрдХрд░рдг рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХ рдХрд┐рдирд╛рд░реЗ рдХрд╛ рд╡рдЬрди рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрддреА рд╣реИ
рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрдирдкреБрдЯ рдЧреНрд░рд╛рдлрд╝ рд╕реЗ рдХрд┐рдирд╛рд░рд╛ рдХрд┐рддрдиреЗ рдХрд┐рдирд╛рд░реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред

рд╢реБрд░реВ {рдиреЛрдб_рдЯреА n; int рдбрд┐рдЧреНрд░реА[]}
рдИ{рдбрд┐рдЧреНрд░реА[рд╕рд┐рд░]++; рдбрд┐рдЧреНрд░реА[рдкреВрдВрдЫ]++; }
END_рдЬреА {
рдПрд╕рдЯреА (рдбрд┐рдЧреНрд░реА[рдПрди]) {
printf ("рдбрд┐рдЧреНрд░реА[%s] = %d\n", n.рдирд╛рдо, рдбрд┐рдЧреНрд░реА[рдПрди]);
}
}

рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдиреЛрдбреНрд╕ рдХреА рдбрд┐рдЧреНрд░реА рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред

рд╢реБрд░реВ {
int i, рдорд╛рдВрдЧрдкрддреНрд░;
int рджреЗрдЦрд╛[рд╕реНрдЯреНрд░рд┐рдВрдЧ];
рд╢реВрдиреНрдп prind (рдЗрдВрдЯ рд╕реАрдПрдирдЯреА) {
рдПрд╕рдЯреА (i = 0; i < рд╕реАрдПрдирдЯреА; рдореИрдВ++) printf (" ");
}
}
BEG_G {

$tvtype = TV_prepostfwd;
$tvroot = рдиреЛрдб($,ARGV[0]);
}
N {
if (рджреЗрдЦрд╛ рдЧрдпрд╛[$.рдирд╛рдо]) рдЗрдВрдбреЗрдВрдЯ--;
рдЕрдиреНрдп {
prInd(рдЗрдВрдбреЗрдВрдЯ);
рдЫрд╛рдк ($.рдирд╛рдо);
рджреЗрдЦрд╛[$.рдирд╛рдо] = 1;
рдЗрдВрдбреЗрдВрдЯ++;
}
}

рдЧреНрд░рд╛рдлрд╝ рдХреЗ рдЧрд╣рд░рд╛рдИ-рдкреНрд░рдердо рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреЛ рдЙрд╕ рдиреЛрдб рд╕реЗ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ
рдПрдЖрд░рдЬреАрд╡реА [0], рдПрдХ рдЗрдВрдбреЗрдВрдЯреЗрдб рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВред

рд╡рд╛рддрд╛рд╡рд░рдг


GVPRPATH
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рдХреЛрд▓рди-рдЕрд▓рдЧ рд╕реВрдЪреА
-f рд╡рд┐рдХрд▓реНрдк. рдЬреАрд╡реАрдкреАрдЖрд░ рдЗрд╕рдореЗрдВ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реВрдЪреА рдмрдирд╛рдИ рдЧрдИ рд╣реИред рдпрджрд┐ GVPRPATH рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ,
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ. рдЕрдЧрд░ GVPRPATH рдХреЛрд▓рди рд╕реЗ рдкреНрд░рд╛рд░рдВрдн рд╣реЛрдХрд░ рд╕реВрдЪреА рдмрдирддреА рд╣реИ
рдЬреЛрдбрд╝рдХрд░ GVPRPATH рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реВрдЪреА рдореЗрдВ. рдЕрдЧрд░ GVPRPATH рдХреЛрд▓рди рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рд╕реВрдЪреА рд╣реИ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реВрдЪреА рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ GVPRPATHред рдЕрдиреНрдпрдерд╛, GVPRPATH рдХреЗ рд▓рд┐рдпреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╕реВрдЪрд┐ред

рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рд┐рд╕реНрдЯрдо рдкрд░, рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ ``рдХреЛрд▓рди'' рдХреЛ ``рд╕реЗрдореАрдХреЛрд▓рди'' рд╕реЗ рдмрджрд▓реЗрдВред

onworks.net рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдирд▓рд╛рдЗрди рдЬреАрд╡реАрдкреАрдЖрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдлреНрд░реА рд╕рд░реНрд╡рд░ рдФрд░ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди

рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рд▓рд╛рдЗрдиреЗрдХреНрд╕ рдПрдк рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ

рд▓рд┐рдирдХреНрд╕ рдХрдорд╛рдВрдб

Ad