рд░рд┐рдЪрд░реНрдб WM рдЬреЛрдиреНрд╕, рд▓реЗрдЦрдХ
рд▓рдХреНрд╖реНрдп рд╕реНрд░реЛрдд рдХреЛрдб
- рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рд╕рдорд╛рдзрд╛рди рд░рдгрдиреАрддрд┐рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди - "рдпрджрд┐ рд▓рдХреНрд╖реНрдп рдлрд╛рдЗрд▓ рд╣рд░рд╛рдЗрд░рд╣реЗрдХреЛ рдЫ рд╡рд╛ рдирд┐рд░реНрднрд░рддрд╛ рдордзреНрдпреЗ рдПрдХ рднрдиреНрджрд╛ рдкреБрд░рд╛рдиреЛ рдЫ рднрдиреЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд┐рд░реНрджреЗрд╢рди рдЪрд▓рд╛рдЗрдиреНрдЫред" рд▓рдХреНрд╖реНрдпрд╣рд░реВрд▓реЗ рдЕрдиреНрдп рд░рдгрдиреАрддрд┐рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдЙрдБрдЫрдиреН, рдЬрд╕реНрддреИ URL рдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреЗ, рдкрд░рд┐рдорд╛рд░реНрдЬрди рд╕рдордп рдХреБрдиреИ рдкрдирд┐ рдлрд╛рдЗрд▓рд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░реНрдиреЗ, рдкреНрдпрд╛рдХреЗрдЬ рдирд┐рд░реНрдорд╛рдгрдХреЛ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрдиреЗред
рдХреЛрдЬреА , рдЪреЗрдХрд╕рдорд╣рд░реВрдХреЛ рддреБрд▓рдирд╛, рдкрд░реАрдХреНрд╖рдгрдХреЛ рдЫрдиреМрдЯ рд╕реНрдХрд┐рдкрд┐рдЩрдХреЛ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдХреЗрд╕рд╣рд░реВ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЫред - рдирд┐рд░реНрдорд╛рдг рд▓рдХреНрд╖реНрдпрд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрджрд╛, рдореЗрдХрд▓реЗ рдлрд╛рдЗрд▓рд╣рд░реВ рд░ рдирд┐рдпрдорд╣рд░реВрдХреЛ рдирд╛рдорд╣рд░реВ рдЕрд▓рдЧ рдЧрд░реНрджреИрди, рд░ рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рдЬрд╛рдБрдЪ рдЫреИрди рдХрд┐ рдирд┐рдпрдо рдЪрд▓рд╛рдЙрдБрджрд╛, рдпрд╕рд▓реЗ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрдХреЛ рджрд╛рдмреА рдЧрд░реЗрдХреЛ рдлрд╛рдЗрд▓ рд╡рд╛рд╕реНрддрд╡рдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рд╣реБрдиреЗрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ "рдкрд░реАрдХреНрд╖рдг" рдирд╛рдордХ рдирд┐рдпрдо рдЫ рдЬрд╕рд▓реЗ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВрд╕рдБрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдЪрд▓рд╛рдЙрдБрдЫ рднрдиреЗ, "рдкрд░реАрдХреНрд╖рдг" рдирд╛рдордХ рдлрд╛рдЗрд▓ рд╕рдВрдпреЛрдЧрд╡рд╢ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ, рддреНрдпрд╕рдкрдЫрд┐ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ рдЕрдм рдЙрдкреНрд░рд╛рдиреНрдд рдмреЛрд▓рд╛рдЗрдиреЗ рдЫреИрди, рдХрд┐рдирдХрд┐ рдореЗрдХрд▓реЗ рд▓рдХреНрд╖реНрдп рдмрдирд╛рдЗрдПрдХреЛ рдЫ рд░ рдЖрд╡рд╢реНрдпрдХ рдЫреИрди рднрдиреЗрд░ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдиреЗрдЫред рдХреБрдиреИ рдкрдирд┐ рдХрд╛рд░реНрдп (рдореЗрдХ рдорд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╡рд░рд┐рдкрд░рд┐ рдХрд╛рдо рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА, рддрдкрд╛рдЗрдБ ".PHONE: рдкрд░реАрдХреНрд╖рдг" рдирд┐рд░реНрджреЗрд╢рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ)ред рд▓рдХреНрд╖реНрдпрд╣рд░реВрд▓реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рд░ рдирд┐рдпрдо рдирд╛рдорд╣рд░реВ рдЕрд▓рдЧ рдЧрд░реНрджрдЫред
- рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХреЗрд╡рд▓ рдПрдХ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдкреНрд░рджрд╛рди рдЧрд░реНрди рд╕рдорд╕реНрдпрд╛ред
рд▓рдХреНрд╖реНрдпрд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдирд╛рдорд┐рдд рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВрдХреЛ рд╕реНрд╡реЗрдЪреНрдЫрд╛рдЪрд╛рд░реА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдирд╛рдордмрд╛рдЯ рдбрд┐рдмрдЧ рдлрд╛рдЗрд▓рдХреЛ рдЪрд┐рдиреНрд╣ рдЫреБрдЯреНрдЯреИ рдирд┐рдХрд╛рд▓реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:
- рд╢реЗрд▓ рджреЛрднрд╛рд╖реЗрд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрджрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдлрд╛рдЗрд▓ рд░ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдирд╛рдорд╣рд░реВрдорд╛ рдЦрд╛рд▓реА рдард╛рдЙрдБрд╣рд░реВ рдкрд▓рд╛рдпрди рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдкреНрд░рддреНрдпреЗрдХ рдЖрджреЗрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрджрд╛ рдЫреБрдЯреНрдЯреИ рд╢реЗрд▓ рджреЛрднрд╛рд╖реЗ рд╕реБрд░реБ рдЧрд░реНрджрд╛ рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рдмрд░реНрдмрд╛рджреА, "$" рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рдХреЛ рджреЛрд╣реЛрд░реЛ рд╡реНрдпрд╛рдЦреНрдпрд╛ (рд╢реЗрд▓ рд░ рдореЗрдХ рджреБрд╡реИрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ), рдЗрдиреНрдбреЗрдиреНрдЯреЗрд╕рдирд╣рд░реВрд▓рд╛рдИ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрджреИред
рдпреА рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд▓рдХреНрд╖реНрдпрд╣рд░реВрдорд╛ "$" рдХреЛ рд╕рдЯреНрдЯрд╛ "$" рдкреНрд░рддреАрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╕рдорд╛рдзрд╛рди рдЧрд░рд┐рдиреНрдЫ ("$" рд╢реЗрд▓рдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рд░рд╣рдиреНрдЫ), рдкрд╛рд░реНрд╕рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ред
LALR(1) , рдЬрд╕рдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрд▓реЗ рдорд╛рд░реНрдЧрд╣рд░реВ рд░ рдлрд╛рдИрд▓ рдирд╛рдорд╣рд░реВ рдЙрджреНрдзрд░рдгрд╣рд░реВ рд░ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХреЛрдб рдмреНрд▓рдХрд╣рд░реВ рдШреБрдорд╛рдЙрд░реЛ рдХреЛрд╖реНрдардХрд╣рд░реВрд╕рдБрдЧ рдШреЗрд░реНрдиреБ рдкрд░реНрдЫред рд╕рдореНрдкреВрд░реНрдг рдХрдорд╛рдгреНрдб рдмреНрд▓рдХ рдХрдорд╛рдгреНрдб рд╢реЗрд▓рдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдгрдорд╛ рд╕реБрд░реБ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд░ рдмреНрд▓рдХ рднрд┐рддреНрд░, рд╡рд┐рд╢реЗрд╖ рд╕реНрдкреЗрд╕рдХреЛ рд╕рдиреНрджрд░реНрдн рдмрд┐рдирд╛, рдордирдорд╛рдиреА рдХреЛрдб рдврд╛рдБрдЪрд╛рд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдПрдХреЛ рдЫредрдерд┐рдпреЛ:
рд▓рдХреНрд╖реНрдп: foo.o bar.o
${CC} ${CFLAGS} $< -o $@рдпреЛ рднрдпреЛ:
"target": "foo.o", "bar.o" {
%CC %CFLAGS %< -o %@
}
рд▓рдХреНрд╖реНрдпрдХрд╛ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ:
- рд╕реНрд╡реИрдЪреНрдЫрд┐рдХ рдирд╛рдо рд░ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд░реНрдерди:
рд▓рдХреНрд╖реНрдп рд╕рдмреИ = : "рд▓рдХреНрд╖реНрдп"
рд▓рдХреНрд╖реНрдп рд▓рд┐рдЩреНрдХ =
"рд▓рдХреНрд╖реНрдп" : "foo.o", "bar.o" { ... }рд▓рдХреНрд╖реНрдп рд╕рдВрдХрд▓рди (рдирд╛рдо) =
"%name.o" : "%name.c", "dep.h" { %CC %CFLAGS -c $^ -o $@ } - рджреБрдИ рд▓рдиреНрдЪ рдореЛрдбрд╣рд░реВ: рдлрд╛рдЗрд▓рдирд╛рдорд╣рд░реВрд╕рдБрдЧ рдмрд┐рд▓реНрдб рд▓рдХреНрд╖реНрдпрд╣рд░реВ рдорд┐рд▓рд╛рдЙрди рдореЛрдб рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реН (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдлрд╛рдЗрд▓ "foo.o" рд▓рдХреНрд╖реНрдп "%name.o"рд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдиреНрдЫ), рд░ рдкреНрд░рддреНрдпрдХреНрд╖ рд╕рдВрдХрд▓рди рдореЛрдб:
рд▓рдХреНрд╖реНрдп рд╕рдмреИ =: рд▓рд┐рдЩреНрдХ
рд▓рдХреНрд╖реНрдп рд▓рд┐рдЩреНрдХ =
"рд▓рдХреНрд╖реНрдп" : "foo.o", рдХрдореНрдкрд╛рдЗрд▓ ("рдкрдЯреНрдЯреА") { ... }рд▓рдХреНрд╖реНрдп рд╕рдВрдХрд▓рди (рдирд╛рдо) =
"%name.o" : "%name.c", "dep.h" { %CC %CFLAGS -c $^ -o $@ } - рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд░рдгрдиреАрддрд┐рд╣рд░реВ рд╡рд┐рд╢реЗрд╖ рдирд┐рдпрдорд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░рд┐рдиреНрдЫ рдЬреБрди рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд▓рдХреНрд╖реНрдпрд▓рд╛рдИ рдкреБрди: рдЬрдореНрдорд╛ рдЧрд░реНрдиреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдпрджрд┐ рдлрд╛рдЗрд▓рдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐рдорд╛ рд▓рд┐рдЩреНрдХ рдмрдирд╛рдЗрдПрдХреЛ рдЫ рднрдиреЗ, рдпреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЪрд┐рдиреНрд╣ (рдирд┐рдпрдо рдирд╛рдордХреЛ рд▓рд╛рдЧрд┐ "рд▓рдХреНрд╖реНрдп" рд░ рдлрд╛рдЗрд▓ рдЬрд╛рдБрдЪ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ * рдлрд╛рдЗрд▓ ("рд▓рдХреНрд╖реНрдп") рдорд╛рд░реНрдлрдд рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░рд┐рдиреНрдЫред
"рд▓рдХреНрд╖реНрдп" : "foo.o", "bar.o" { ... }
*рдлрд╛рдЗрд▓("рд▓рдХреНрд╖реНрдп"): *рдлрд╛рдЗрд▓("foo.o"), *рдлрд╛рдЗрд▓("bar.o") { ... }
- рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓реЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд░рдгрдиреАрддрд┐рд╣рд░реВрдХреЛ рдордирдорд╛рдиреА рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рд╕рдХреНрдЫред "*рдлрд╛рдЗрд▓" рдЭрдгреНрдбрд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ (@{...} рд▓реЗ рдЖрдЙрдЯрдкреБрдЯрдХреЛ рджрдордирд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫ, рд░ "рдмрд╛рд╣рд┐рд░ 99" рдкреБрди: рдирд┐рд░реНрдорд╛рдгрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫ):
рд░рдгрдиреАрддрд┐ *рдлрд╛рдЗрд▓ (рдлрд╛рдЗрд▓ рдирд╛рдо) = @{
рдкрд░реАрдХреНрд╖рдг -f % рдлрд╛рдЗрд▓рдирд╛рдо || рдмрд╛рд╣рд┐рд░ рдирд┐рд╕реНрдХрдиреБрд╣реЛрд╕реН 99
f рдХрд╛ рд▓рд╛рдЧрд┐% рдорд╛рд╕реНрд░реЛрдд: opennet.ru