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

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

pmccabe - рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдСрдирд▓рд╛рдЗрди

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

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

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

рдирд╛рдо


pmccabe - рд╕реА рдФрд░ . рдХреЗ рд▓рд┐рдП рдореИрдХрдХреЗрдмреЗ рдЪрдХреНрд░реАрдп рдЬрдЯрд┐рд▓рддрд╛ рдпрд╛ рдЧреИрд░-рдЯрд┐рдкреНрдкрдгреА рд╡рд╛рд▓реА рд░реЗрдЦрд╛ рдЧрдгрдирд╛ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ
рд╕реА++ рдкреНрд░реЛрдЧреНрд░рд╛рдо

SYNOPSIS


PMccabe [-рдмреАрд╕реАрдбреАрдПрдлрдПрдлрдПрдирдЯреАрдЯреАрд╡реАрд╡реА?] [рдлрд╝рд╛рдЗрд▓реЗрдВ]

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


PMccabe рдирд╛рдорд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ, рдпрд╛ рдорд╛рдирдХ рдЗрдирдкреБрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдХреЛрдИ рдирд╛рдо рдирд╣реАрдВ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореЛрдб рдореЗрдВ
рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдореИрдХрдХреЗрдмреЗ рдЪрдХреНрд░реАрдп рдЬрдЯрд┐рд▓рддрд╛ рд╕рд╣рд┐рдд рдЖрдВрдХрдбрд╝реЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред NS
рдлрд╝рд╛рдЗрд▓реЗрдВ рдпрд╛ рддреЛ C (ANSI рдпрд╛ K&R) рдпрд╛ C++ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред

-? рдПрдХ рд╕реВрдЪрдирд╛рддреНрдордХ рдЙрдкрдпреЛрдЧ рд╕рдВрджреЗрд╢ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВред

-v рдХреЙрд▓рдо рд╣реЗрдбрд░ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ

-V рдкреНрд░рд┐рдВрдЯ PMccabe рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛

рдбреА-рдЯрд┐рдкреНрдкрдгреА рдореЛрдб
-d рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЧреИрд░-рдЯрд┐рдкреНрдкрдгреА рд╡рд╛рд▓реА рд╕реНрд░реЛрдд рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЧрд┐рдирдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ:

pmccabe -d *.c | рдЧреНрд░реЗрдк-рд╡реА '^[ ]*$' | рдбрдмреНрд▓реНрдпреВрд╕реА-рдПрд▓

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

рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╕рдордЭрджрд╛рд░реА рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ -d.

рд▓рд╛рдЗрди рдХреА рдЧрд┐рдирддреА рдореЛрдб
-n рдЧреИрд░-рдЯрд┐рдкреНрдкрдгреА рд╡рд╛рд▓реА рд╕реНрд░реЛрдд рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк рдХреЗ рд╕рдорд╛рди рд╣реИ
рдЕрдирд╛рдХрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реЛ рддреЛ рдХреЙрд▓рдо рд╣реЗрдбрд░ рдФрд░ рдпреЛрдЧ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрджрд┐ рдЖрдк рдХреЙрд▓рдо рд╣реЗрдбрд░ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ -v. рдпрджрд┐ рдЖрдк рдпреЛрдЧ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ -t. рдпрджрд┐ рдЖрдк рд╕рднреА рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рдпреЛрдЧ рдЬреЛрдбрд╝ -T.

рдЬрдЯрд┐рд▓рддрд╛ рдореЛрдб (рдбрд┐рдлрд╝реЙрд▓реНрдЯ)
-C рдХрд╕реНрдЯрдо рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк - рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред

-c рд░реЙ рдХреЗ рдмрдЬрд╛рдп рдЧреИрд░-рдЯрд┐рдкреНрдкрдгреА рд╡рд╛рд▓реА, рдЧреИрд░-рд░рд┐рдХреНрдд рд▓рд╛рдЗрдиреЛрдВ рдкреНрд░рддрд┐ рдлрд╝рдВрдХреНрд╢рди (рдФрд░ рдлрд╝рд╛рдЗрд▓) рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ
рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред рдиреЛрдЯ рдХрд┐ рдкреВрд░реНрд╡ рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рд░рд╣реЗ рдирд╣реАрдВ рдЧрд┐рдирд╛ рд╣реБрдЖред

-b рд╕рдВрдХрд▓рдХ рддреНрд░реБрдЯрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд┐рдВрдЧ рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк рдЬреЛ рд╕рдордЭрддреЗ рд╣реИрдВ
"рдХреНрд▓рд╛рд╕рд┐рдХ" рдХрдВрдкрд╛рдЗрд▓рд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВред рдЗрд╕ рдкреНрд░рд╛рд░реВрдк рдкрд░ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЫрдБрдЯрд╛рдИ рд╕рдВрднрд╡ рд╣реИ:

рд╕реЙрд░реНрдЯ -рдПрди +1 -рдЯреА%

-t рдХреБрд▓ рдХреЙрд▓рдо рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд▓рд╛рдЗрдиреЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ *рдирд╣реАрдВ* рдЧреИрд░- рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ
рд╕реНрд░реЛрдд рд▓рд╛рдЗрдиреЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХреА - рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреИрд╕рд╛ "wc -l" рджреНрд╡рд╛рд░рд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

-T рдкреНрд░рд┐рдВрдЯ рдХреЙрд▓рдо рдпреЛрдЧ *рдХреЗрд╡рд▓*ред

-f рдкреНрд░рддрд┐-рдлрд╝рдВрдХреНрд╢рди рдпреЛрдЧ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐-рдлрд╝рд╛рдЗрд▓ рдпреЛрдЧ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред

-F рдкреНрд░рддрд┐-рдлрд╝рд╛рдЗрд▓ рдпреЛрдЧ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐-рдлрд╝рдВрдХреНрд╢рди рдпреЛрдЧ рдирд╣реАрдВред

рдкрджрдЪреНрдЫреЗрдж
PMccabe рд╕рднреА рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рд╕реАрдкреАрдкреА рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢ - рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреА рдЧрдгрдирд╛
рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрдб рдХреЛ рдореИрдиреЗрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдмрдЬрд╛рдп рдХреЛрдб рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ред
рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рд╛рдзрд╛рд░рдг рдЪреАрдЬреЗрдВ рдЬреИрд╕реЗ рдЧреЗрдЯрдЪрд╛рд░(3) рдореИрдХреНрд░реЛрдЬрд╝ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ рдЬреЛ
рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ред

рдЙрддреНрдкрд╛рджрди рдкреНрд░рд╛рд░реВрдк
рдкреНрд░рдкрддреНрд░ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрдВрдХреНрддрд┐ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИ:

рд╕рдВрд╢реЛрдзрд┐рдд рдореИрдХрдХреЗрдмреЗ рд╕рд╛рдЗрдХреНрд▓реЛрдореИрдЯрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛
| рдкрд╛рд░рдВрдкрд░рд┐рдХ рдореИрдХрдХреЗрдмреЗ рд╕рд╛рдЗрдХреНрд▓реЛрдореИрдЯрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛
| | # рд╕рдорд╛рд░реЛрд╣ рдореЗрдВ рдмрдпрд╛рди
| | | рд╕рдорд╛рд░реЛрд╣ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐
| | | | рдлрдВрдХреНрд╢рди рдореЗрдВ # рд▓рд╛рдЗрдиреНрд╕
| | | | | рдлрд╝рд╛рдЗрд▓ рдирд╛рдо (рдкрд░рд┐рднрд╛рд╖рд╛ рдкрдВрдХреНрддрд┐ рд╕рдВрдЦреНрдпрд╛): рдлрд╝рдВрдХреНрд╢рди
| | | | | |
5 6 11 34 27 gettoken.c(35): рдорд╛рдЪрд┐рд╕

рдХреЙрд▓рдо 1 рдореЗрдВ рдЪрдХреНрд░реАрдп рдЬрдЯрд┐рд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рдЧрдгрдирд╛ 1 (рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП) рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдХреА рдЬрд╛рддреА рд╣реИ
рдХреА рдШрдЯрдирд╛рдПрдВ рдПрд╕рдЯреА , if, рдЬрдм, рд╕реНрд╡рд┐рдЪ, &&, ||, рддрдерд╛ ?. "рд╕рд╛рдорд╛рдиреНрдп" рдореИрдХрдХреЗрдмреЗ рд╕рд╛рдЗрдХреНрд▓реЛрдореИрдЯрд┐рдХ рдХреЗ рд╡рд┐рдкрд░реАрдд
рдЬрдЯрд┐рд▓рддрд╛, рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕
рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдФрд░ рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдЙрдкрдЪрд╛рд░ "рд╕рд╛рдорд╛рдиреНрдп" рдЙрдкрд╛рдп рд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдФрд░ рдХреЛрдб рдХрдард┐рдирд╛рдИ рдХреЛ рдЖрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдПред

рдХреЙрд▓рдо 2 рдЪрдХреНрд░реАрдп рдЬрдЯрд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ "рд╕рд╛рдорд╛рдиреНрдп" рддрд░реАрдХреЗ рд╕реЗ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ
рдмрдпрд╛рдиред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕рдХреА рдЧрдгрдирд╛ рдХреЙрд▓рдо 1 рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИ рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдорд╛рдорд▓рд╛ рдмрд▓реНрдХрд┐
рд╕реЗ рд╕реНрд╡рд┐рдЪ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдпрд╛рд╕ рдХреЛ рдЖрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдо 1 рд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдХреЙрд▓рдо 3 рдореЗрдВ рдПрдХ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрд╛рдЙрдВрдЯ рд╣реИред рдЗрд╕рдХреА рдЧрдгрдирд╛ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдирд╛ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдХреА рдЬрд╛рддреА рд╣реИ рдПрд╕рдЯреА ,
if, рдЬрдм, рд╕реНрд╡рд┐рдЪ, ?, рдФрд░ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рднреАрддрд░ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдоред рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдЖрд╢реНрдЪрд░реНрдп рдпрд╣ рд╣реИ рдХрд┐
рдПрд╕рдЯреА рдХрдердиреЛрдВ рдХреА рдиреНрдпреВрдирддрдо рд╡рд┐рд╡рд░рдг рд╕рдВрдЦреНрдпрд╛ 3 рд╣реИред рдпрд╣ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдХреЗ рд▓рд┐рдП; B;
рд╕реА){...} рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢реБрд▓рд┐рдкрд┐ рд╣реИ A; рдЬрдм (рдмреА) { ... рд╕реА;}. рдХреЗ рднреАрддрд░ рдмрдпрд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛
рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЙрд╕рдХреЗ рднреАрддрд░ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХрдердиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдпреЛрдЧ рд╣реИ
рдлрд╝рд╛рдЗрд▓, рдкреНрд▓рд╕ рдПрдХ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП (рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдп рднреА рдмрдпрд╛рди рд╣реИрдВ), рдкреНрд▓рд╕
рдПрдХ рджреВрд╕рд░реЗ рдлрд╝рд╛рдЗрд▓-рд╕реНрдХреЛрдкреНрдб рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ (рдЖрдорддреМрд░ рдкрд░ рдШреЛрд╖рдгрд╛рдПрдВ) рдХреЗ рд▓рд┐рдПред

рдХреЙрд▓рдо 4 рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рдпрд╣ рд╡рд╣реА рд╣реЛ
рд▓рд╛рдЗрди рдЬрд┐рд╕ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред

рдХреЙрд▓рдо 5, рдХреЙрд▓рдо 4 рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдлрд╝рдВрдХреНрд╢рди рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ
рдХреНрд▓реЛрдЬрд┐рдВрдЧ рдХрд░реНрд▓реА рдмреНрд░реЗрд╕ рд╡рд╛рд▓реА рд▓рд╛рдЗрдиред

рдЕрдВрддрд┐рдо рдХреЙрд▓рдо рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо, рд▓рд╛рдЗрди рдирдВрдмрд░ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рд╣реЛрддрд╛ рд╣реИ,
рдФрд░ рд╕рдорд╛рд░реЛрд╣ рдХрд╛ рдирд╛рдоред

рдЖрд╡реЗрджрди


рдХрд╛ рд╕реНрдкрд╖реНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧ PMccabe рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреНрд╡рд╛рд░рд╛ рд╕рдЪрд┐рддреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ
"рд╢реАрд░реНрд╖ рджрд╕" рд╕рдмрд╕реЗ рдЬрдЯрд┐рд▓ рдХрд╛рд░реНрдп:

pmccabe *.c | рд╕реЙрд░реНрдЯ -рдПрдирдЖрд░ | рд╕рд┐рд░ -10

рдХрдИ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реА рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдХрднреА-рдХрднреА рдЗрд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ
рдкреНрд░рддреНрдпреЗрдХ рд╕рдорд╛рд░реЛрд╣ рдЕрд▓рдЧ рд╕реЗред рджрд┐рдпрд╛рд╕рд▓рд╛рдИ () (рдКрдкрд░ рдЙрджрд╛рд╣рд░рдг рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦреЗрдВ) рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
gettoken.c рд▓рд╛рдЗрди 27 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА 34 рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдХрд░ред рдпрд╣ рдЯреВрд▓ рдХрд╛ рдЖрдзрд╛рд░ рдмрди рд╕рдХрддрд╛ рд╣реИ
рдЬреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдмрдЬрд╛рдп рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлреНрд░рдВрдЯ-рдПрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ diff(1)).

рдирд┐рджрд╛рди


PMccabe рдпрджрд┐ рдлрд╝рд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ рдЦреЛрд▓реА рдЬрд╛ рд╕рдХрддреАрдВ рдФрд░ рдореБрдарднреЗрдбрд╝ рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдЧреИрд░-рд╢реВрдиреНрдп рдирд┐рдХрд╛рд╕ рд╕реНрдерд┐рддрд┐ рд▓реМрдЯрд╛рддрд╛ рд╣реИ
рдХреБрдЫ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпрд╛рдВред

рдорд╛рдирдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢, рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рд╕рдордЭрд╛рддреЗ рд╣реБрдП рдХрд┐ рдкрд╛рд░реНрд╕рд░ рднреНрд░рдорд┐рдд рд╣реИ
рдХреБрдЫ, рдХреНрд▓рд╛рд╕рд┐рдХ рд╕реА рдХрдВрдкрд╛рдЗрд▓рд░ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдирдХрд▓ рдХрд░реЗрдВред

рдЪреЗрддрд╛рд╡рдиреА


PMccabe рдмреЗрдЬреЛрдбрд╝ рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдпрд╛ рдХреЛрд╖реНрдардХ рд╕реЗ рднреНрд░рдорд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХрднреА-рдХрднреА рд╣реЛрддреЗ рд╣реИрдВ
рдЬрд▓реНрджрдмрд╛рдЬреА рдХрд╛ рдкреНрд░рдпреЛрдЧ рд╕реАрдкреАрдкреА рдирд┐рд░реНрджреЗрд╢ред рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдХ рдирд┐рджрд╛рди рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЬрдЯрд┐рд▓рддрд╛
рдирд╛рдорд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрд╛рд░ "#ifdef" рдирд┐рд░реНрджреЗрд╢ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
рдЗрд╕ рддрд░рд╣ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдЧрд░ PMccabe a . рджреНрд╡рд╛рд░рд╛ рднреНрд░рдорд┐рдд рд╣реИ рд╕реАрдкреАрдкреА
рдирд┐рд░реНрджреЗрд╢, рд╕рдмрд╕реЗ рд╕реБрдВрджрд░ рдкреНрд░рд┐рдВрдЯрд░ рднреА рд╣реЛрдВрдЧреЗред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдпреВрдирд┐рдлрд╝рдбреЗрдлрд╝(1)
рдЙрдкрдпреБрдХреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛рд░рдг PMccabeрдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреИрдирд░ред

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

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


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

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

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

Ad