рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЖрдкрдХреЛ GNU рдорд┐рдбрдирд╛рдЗрдЯ рдХрдорд╛рдВрдбрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдмрдЧ рдвреВрдВрдврдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпреЛрдВ? рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░рдг рдХреЗред рд╕рд┐рд░реНрдл рдордиреЛрд░рдВрдЬрди рдХреЗ рд▓рд┐рдПред рдЕрдЪреНрдЫрд╛, рдареАрдХ рд╣реИ, рдЭреВрда рд╣реИред рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЛ рдЕрднреА рддрдХ рдПрдХ рдФрд░ рдмрдЧ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ рдХрд┐ рдПрдХ рдорд╛рдирд╡ рд╕рдореАрдХреНрд╖рдХ рдХреЗ рдкрд╛рд╕ рдПрдХ рдХрдард┐рди рд╕рдордп рд╣реИ рдФрд░ рд╕реНрдерд┐рд░ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдкреНрд░рдпрд╛рд╕ рдХреЗ рдмрд┐рдирд╛ рдкрдХрдбрд╝ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╣рдореЗрдВ рджреВрд╕рд░реЗ рджрд┐рди рдПрдХ рдИрдореЗрд▓ рднреЗрдЬрд╛, рдЬрд┐рд╕рдореЗрдВ рдкреВрдЫрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рд╡рд╣ рдлрд╝рдВрдХреНрд╢рди
EatWhitespace (рдиреАрдЪреЗ рдХреЛрдб рджреЗрдЦреЗрдВ) рдкрд░ рдЪреЗрддрд╛рд╡рдиреА рдХреНрдпреЛрдВ рджреЗ рд░рд╣рд╛ рдерд╛ред рдпрд╣ рд╕рд╡рд╛рд▓ рдЙрддрдирд╛ рддреБрдЪреНрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдпрд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдХреЛрдб рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ, рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред
static int EatWhitespace (FILE * InFile) { int c; for (c = getc (InFile); isspace (c) && ('\n' != c); c = getc (InFile)) ; return (c); }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ,
EatWhitespace рдПрдХ рдЫреЛрдЯрд╛ рдХрд╛рд░реНрдп рд╣реИ; рдЗрд╕рдХрд╛ рд╢рд░реАрд░ рдЗрд╕ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рднреА рдЫреЛрдЯрд╛ рд╣реИ :)ред рдЕрдм, рдЖрдЗрдП рдХреБрдЫ рд╡рд┐рд╡рд░рдг рджреЗрдЦреЗрдВред
рдпрд╣рд╛рдБ рдлрд╝рдВрдХреНрд╢рди
getc рдХрд╛ рд╡рд░реНрдгрди рд╣реИ:
int getc ( FILE * stream );
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдЯреНрд░реАрдо рдХреА рдЖрдВрддрд░рд┐рдХ рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд┐рддрд┐ рд╕рдВрдХреЗрддрдХ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд░реНрдг рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЖрдВрддрд░рд┐рдХ рдлрд╝рд╛рдЗрд▓ рдкреЛрдЬрд┐рд╢рди рдЗрдВрдбрд┐рдХреЗрдЯрд░ рддрдм рдЕрдЧрд▓реЗ рд╡рд░реНрдг рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдд рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рд╕реНрдЯреНрд░реАрдо рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рдЕрдВрддрд┐рдо рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИ, рддреЛ рдлрд╝рдВрдХреНрд╢рди
EOF рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП рдПрдВрдб-рдСрдл-рдлрд╝рд╛рдЗрд▓ рд╕рдВрдХреЗрддрдХ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдкрдарди рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдИрдУрдПрдл рд▓реМрдЯрддрд╛ рд╣реИ рдФрд░ рд╕реНрдЯреНрд░реАрдо (рдлреЗрд░рд░) рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рд╕рдВрдХреЗрддрдХ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
рдФрд░ рдпрд╣рд╛рдБ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд┐рд╡рд░рдг рд╣реИ:
int isspace( int ch );
рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдкрд╛рддреНрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╕реА рд▓реЛрдХреЗрд▓ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдЧреАрдХреГрдд рдПрдХ рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдЪрд░рд┐рддреНрд░ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓реЛрдХреЗрд▓ рдореЗрдВ, рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рд╡рд░реНрдг рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:
- рдЕрдВрддрд░рд┐рдХреНрд╖ (0x20, '');
- рдлрд╛рд░реНрдо рдлрд╝реАрдб (0x0c, '\ f');
- рд▓рд╛рдЗрди рдлреАрдб LF (0x0a, '\ n');
- рдЧрд╛рдбрд╝реА рд╡рд╛рдкрд╕реА CR (0x0d, '\ r');
- рдХреНрд╖реИрддрд┐рдЬ рдЯреИрдм (0x09, '\ t');
- рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдЯреИрдм (0x0b, '\ v')ред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдпрджрд┐ рдЪрд░рд┐рддреНрд░ рдПрдХ рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдЪрд░рд┐рддреНрд░ рд╣реИ рддреЛ рдЧреИрд░-рд╢реВрдиреНрдп рдорд╛рди; рд╢реВрдиреНрдп рдЕрдиреНрдпрдерд╛ред
EatWhitespace рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЗрди рдлрд╝реАрдб '\ n' рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА
рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рд╡рд░реНрдгреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред рдЬрдм рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд (EOF) рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрдврд╝рдирд╛ рднреА рдмрдВрдж рдХрд░ рджреЗрдЧрд╛ред
рдЕрдм рдЬрдм рдХрд┐ рддреБрдо рд╕рдм рдЬрд╛рдирддреЗ рд╣реЛ, рддреЛ рдмрдЧ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЛ!
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рджреЛ рдпреВрдирд┐рдХреЙрд░реНрди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЖрдк рдЧрд▓рддреА рд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдирдЬрд╝рд░ рди рдбрд╛рд▓реЗрдВред

рдЪрд┐рддреНрд░рд╛ 1. рдмрдЧ рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рд╕рдордпред рдпреВрдирд┐рдХреЙрд░реНрди рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВредрдлрд┐рд░ рднреА рдирд╕реАрдм рдирд╣реАрдВ?
рдареАрдХ рд╣реИ, рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ, рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдЖрдкрд╕реЗ
рдЖрдЗрд╕реНрдкреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЭреВрда рдмреЛрд▓рд╛ рд╣реИред Bwa-рд╣рд╛-рд╣рд╛! рдпрд╣ рдПрдХ рдорд╛рдирдХ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдПрдХ рдХрд╕реНрдЯрдо рдореИрдХреНрд░реЛ рд╣реИред рд╣рд╛рдБ, рд╣рдо рдмрджрдорд╛рд╢ рд╣реИрдВ рдФрд░ рд╣рдо рдЖрдкрдХреЛ рднреНрд░рдорд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЪрд┐рддреНрд░ 2. рдЖрдЗрдХреЙрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпреВрдирд┐рдХреЙрд░реНрди рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд╛рдардХредрдпрд╣ рд╣рдо рдпрд╛ рд╣рдорд╛рд░реЗ рдЧреЗрдВрдбрд╛ рдХреЛ рджреЛрд╖ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИред рд╕рднреА рднреНрд░рдо рдХреЗ рд▓рд┐рдП рджреЛрд╖ GNU рдорд┐рдбрдирд╛рдЗрдЯ рдХрдорд╛рдВрдбрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╣реИ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдлрд╝рд╛рдЗрд▓ charset.h рдореЗрдВ
рдЖрдЗрд╕рд╕реНрдкреЗрд╕ рдХреЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдмрдирд╛рдпрд╛:
#ifdef isspace #undef isspace #endif .... #define isspace(c) ((c)==' ' || (c) == '\t')
рдЗрд╕ рдореИрдХреНрд░реЛ рдХреЗ рд╕рд╛рде, рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рднреНрд░рдорд┐рдд рдХрд┐рдпрд╛ред рдХреЛрдб рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЗ рддрд╣рдд рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐
рдЖрдЗрд╕рд╕реНрдкреЗрд╕ рдПрдХ рдорд╛рдирдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдЬреЛ рдХрд┐ рдЧрд╛рдбрд╝реА рд╡рд╛рдкрд╕реА (0x0d, '\ r') рдХреЛ рдПрдХ рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдЪрд░рд┐рддреНрд░ рдорд╛рдирддрд╛ рд╣реИред
рдХрд╕реНрдЯрдо рдореИрдХреНрд░реЛ, рдЕрдкрдиреА рдмрд╛рд░реА рдореЗрдВ, рдХреЗрд╡рд▓ рд╕реНрдерд╛рди рдФрд░ рдЯреИрдм рд╡рд░реНрдгреЛрдВ рдХреЛ рд╡реНрд╣реЙрдЯреНрд╕рдПрдк рд╡рд░реНрдг рдорд╛рдирддрд╛ рд╣реИред рдЖрдЗрдП рдЙрд╕ рдореИрдХреНрд░реЛ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред
for (c = getc (InFile); ((c)==' ' || (c) == '\t') && ('\n' != c); c = getc (InFile))
('\ N'! = C) рдЙрдкрдкреНрд░рдХрд╛рд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ (рдирд┐рд░рд░реНрдердХ) рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рддреНрдп рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдЧрд╛ред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ рдЖрдкрдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдХрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИ:
V560 рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдореЗрд╢рд╛ рд╕рдЪ рд╣реЛрддрд╛ рд╣реИ: ('\ n'! = C)ред params.c 136ред
рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП 3 рд╕рдВрднрд╛рд╡рд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
- рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдБрдЪ рдЧрдпрд╛ред EOF рдПрдХ рд╕реНрдерд╛рди рдпрд╛ рдЯреИрдм рд╡рд░реНрдг рдирд╣реАрдВ рд╣реИред рд╢реЙрд░реНрдЯ рд╕рд░реНрдХрд┐рдЯ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рдХрд╛рд░рдг ('\ n'! = C) рд╕рдм-рдбреЗрдкреНрд░рд┐рд╕рд┐рдПрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдкрд╛рд╢ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
- рдлрд╝рдВрдХреНрд╢рди рдиреЗ рдХреБрдЫ рдРрд╕реЗ рдЪрд░рд┐рддреНрд░ рдкрдврд╝реЗ рд╣реИрдВ рдЬреЛ рдХреЛрдИ рд╕реНрдерд╛рди рдпрд╛ рдЯреИрдм рд╡рд░реНрдг рдирд╣реАрдВ рд╣реИред рд╢реЙрд░реНрдЯ рд╕рд░реНрдХрд┐рдЯ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рдХрд╛рд░рдг ('\ n'! = C) рд╕рдм-рдбреЗрдкреНрд░рд┐рд╕рд┐рдПрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╛рд╢ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
- рдлрд╝рдВрдХреНрд╢рди рдиреЗ рдПрдХ рдЕрдВрддрд░рд┐рдХреНрд╖ рдпрд╛ рдХреНрд╖реИрддрд┐рдЬ рдЯреИрдм рд╡рд░реНрдг рдкрдврд╝рд╛ рд╣реИред '' \ N '! = C) рд╕рдмрдкреНрд░реЗрдкреНрд░реЗрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд╣реЛрддрд╛ рд╣реИред
рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдирд┐рдореНрди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ:
for (c = getc (InFile); c==' ' || c == '\t'; c = getc (InFile))
рд╣рдордиреЗ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рдВрдЫрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рд╣рд┐рддрд╛рд░реНрде рдХреНрдпрд╛ рд╣реИрдВред
рдПрдХ рдбреЗрд╡рд▓рдкрд░, рдЬрд┐рд╕рдиреЗ
рдИрдЯрд╡реНрд╣реАрдЯреНрд╕рд╕реНрдкреЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдореЗрдВ
рдЖрдЗрд╕рд╕реНрдкреЗрд╕ рдХрд╛ рдХреЙрд▓ рд▓рд┐рдЦрд╛ рдерд╛, рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдорд╛рдирдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрд▓рдПрдл рдЪрд░рд┐рддреНрд░ ('\ n') рдХреЛ рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдЪрд░рд┐рддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд░реНрдд рдХреЛ рдЬреЛрдбрд╝рд╛ред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐, рдЕрдВрддрд░рд┐рдХреНрд╖ рдФрд░ рдХреНрд╖реИрддрд┐рдЬ рдЯреИрдм рд╡рд░реНрдгреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рдлреЙрд░реНрдо рдлрд╝реАрдб рдФрд░ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдЯреИрдм рд╡рд░реНрдгреЛрдВ рдХреЛ рднреА рдЫреЛрдбрд╝рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рдереЗред
рдХреНрдпрд╛ рдЕрдзрд┐рдХ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ рдХрд┐ рд╡реЗ рдЪрд╛рд╣рддреЗ рдереЗ рдХрд┐ рдЧрд╛рдбрд╝реА рд╡рд╛рдкрд╕реА рдЪрд░рд┐рддреНрд░ (0x0d, '\ r') рдХреЛ рднреА рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ - рдЗрд╕ рдЪрд░рд┐рддреНрд░ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╕рдордп рд▓реВрдк рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╕реАрдЖрд░ + рдПрд▓рдПрдл рдЕрдиреБрдХреНрд░рдо рджреНрд╡рд╛рд░рд╛ рдирдИрд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рдмрд░реНрддрд╛рд╡ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдХрд┐ рдХреБрдЫ рдЧреИрд░-рдпреВрдирд┐рдХреНрд╕ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдЬреИрд╕реЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкреНрд░рдХрд╛рд░ рд╣реИред
рдПрд▓рдПрдл рдпрд╛ рд╕реАрдЖрд░ + рдПрд▓рдПрдл рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдирдП рдХрд╛рд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдХрд╛рд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкреГрд╖реНрда "
рдиреНрдпреВрд▓рд╛рдЗрди " рджреЗрдЦреЗрдВред
EatWhitespace рдлрд╝рдВрдХреНрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛, рдЪрд╛рд╣реЗ рд╡реЗ рдПрд▓рдПрдл рдпрд╛ рд╕реАрдЖрд░ + рдПрд▓рдПрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдирдП рд╡рд░реНрдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдпрд╣ CR + LF рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрджрд┐ рдЖрдкрдХреА рдлрд╝рд╛рдЗрд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреА рджреБрдирд┐рдпрд╛ рд╕реЗ рд╣реИ, рддреЛ рдЖрдк рдореБрд╢реНрдХрд┐рд▓ рдореЗрдВ рд╣реИрдВ :)ред
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рдЧрдВрднреАрд░ рдмрдЧ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ GNU рдорд┐рдбрдирд╛рдЗрдЯ рдХрдорд╛рдВрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ UNIX- рдЬреИрд╕реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ LF (0x0a, '\ n') рдХреЛ рдПрдХ рдирдИ рд▓рд╛рдЗрди рд╡рд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЕрднреА рднреА рдХрд╖реНрдЯрдкреНрд░рдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд▓рд┐рдирдХреНрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреА рд╕рдВрдЧрддрддрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВред
рдЗрд╕ рдмрдЧ рдХреЛ рдЬреЛ рд░реЛрдЪрдХ рдмрдирд╛рддрд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдорд╛рдирдХ рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╕рдордп рдЖрдк рдЗрд╕реЗ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдореИрдХреНрд░реЛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рднреВрд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдФрд░ рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓реЗрдЦрдХ рдЙрдиреНрд╣реЗрдВ рд╢рд╛рдпрдж рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдЬреНрд╡рд▓рдВрдд рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдХреИрд╕реЗ рд╕реНрдерд┐рд░ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдФрд░ рдЕрдиреНрдп рдмрдЧ рдкрд╣рдЪрд╛рди рддрдХрдиреАрдХреЛрдВ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрддрд╛ рд╣реИред
рдорд╛рдирдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рдПрдХ рдмреБрд░рд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИред рд╡реИрд╕реЗ, рд╣рдордиреЗ рд╣рд╛рд▓ рдХреЗ рд▓реЗрдЦ "
рд╕рд░рд╛рд╣рдирд╛ рд╕реНрдЯреЗрдЯрд┐рдХ рдХреЛрдб рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ " рдореЗрдВ
#define sprintf std :: printf рдореИрдХреНрд░реЛ рдХреЗ рдПрдХ рд╕рдорд╛рди рдорд╛рдорд▓реЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреАред
рдПрдХ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рдореИрдХреНрд░реЛ рдХреЛ рдПрдХ рдЕрдиреВрдард╛ рдирд╛рдо рджреЗрдирд╛ рд╣реЛрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
is_space_or_tab ред рдЗрд╕рд╕реЗ рд╕рднреА рднреНрд░рдо рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреАред
рд╢рд╛рдпрдж рдорд╛рдирдХ
рдЖрдЗрд╕рд╕реНрдкреЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдмрд╣реБрдд рдзреАрдорд╛ рдерд╛ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдПрдХ рддреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдпрд╛, рдЬреЛ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛ред рд▓реЗрдХрд┐рди рд╡реЗ рдЕрднреА рднреА рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдорд╛рдзрд╛рди
рдЖрдЗрд╕рд╕реНрдкреЗрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдЧреИрд░-рд╕рдВрдХрд▓рди рдпреЛрдЧреНрдп рдХреЛрдб рдорд┐рд▓ рдЬрд╛рдП, рдЬрдмрдХрд┐ рд╡рд╛рдВрдЫрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдирд╛рдо рдХреЗ рд╕рд╛рде рдореИрдХреНрд░реЛ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдкреАрд╡реАрдПрд╕-рд╕реНрдЯреВрдбрд┐рдпреЛ
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВред рдПрдХ рдЕрдиреБрд╕реНрдорд╛рд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрдм рд╣рдо рдЬрд╛рд╡рд╛ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред