Richard WM Jones, α’ααααα·αααα
ααΌααααααααααα
- ααΆαααΆαααααααααΆαααα·ααΈααΆααααααααααααΆαααΆαα’αΆααααααααα½αααα»ααααα - "ααΆαααααΆαα’αααΈααΆααα½αααααα»αααααΆααααΌαααΆαααααΎαααΆαααααα·αααΎα―αααΆαααααα
ααΆαα α¬α
αΆααααΆαααΆαα’αΆααααααα½α" α ααααα
αααααααΉαα’αα»αααααα»αααααΆααααααααααααα ααΌα
ααΆααΆααα·αα·αααααΎαααααααΆααααα URL ααΆααααααααααααααααΆααααααααΆαα½αα―αααΆαααΆαα½α ααΆαααΆαααααααααα
ααααααααααΎααα
αααα»α
ααΌααΈ , ααΆαααααααααααααΌααααααΆαααααα, ααααΈααααΎαααααααααααα»αααααΎαααΆαααΆαα½αααΉαααΆαααααααΆαααααΎαααααααααΎαααΎαα - αα
αααααααΎαααΆααααααΎαααααα
αααααΎααα·ααααααα―αααΆα αα·ααααααα
αααΆαααα α αΎαααΆαααααα ααααΆαααΆααααα½ααα·αα·αααααΆαα
αααααααΎαααΆαα
αααΆαα α―αααΆααααααΆα’αα’αΆαααΆααΉααααααΎαααΉαααααΌααααααΎααα·αααααΆααα α§ααΆα ααα ααααα·αααΎα’αααααΆαα
αααΆαααα½αα α
ααΆ "test" αααααααΎαααΆαααααααΈαααΆαα½αααΉαααΆαααααΎααααα α―αααΆααααααΆαααααα "test" ααααΌαααΆααααααΎααααα
ααααα αααααΆαααααΎαααααααΉααα·αααααΌαααΆαα α
ααααα αααααααΆ make ααΉααα·α
αΆαααΆααΆααααα
ααααΌαααΆαααΆαααα α αΎααα·αααααΌαααΆα αααααααΆαααΆαα½α (αααααΆααααααΎααΆααα»ααα·ααααα αΆαααα»αααΆααααααΎα α’αααα’αΆα
αααααΆααααΆαααααΆα β.PHONY: testβ)α ααααα
αααααα―αααΆα αα·ααααααα
αααΆαααααΆαα
αααΆααα
- αααα αΆααΆαα½αααΉαααΆαααααααααΆαααΆαααααααααα½ααααααΆααααΆαααααΆαα’αααΈααΆααααα»α
ααααα α’αα»ααααΆαα±ααα’αααααααΎα ααα½αααααΆααααααΆαααΆαααααααααααΆααααααα α§ααΆα ααα α’αααα’αΆα ααΆααααααααΆααα―αααΆαααααΆααααα α»ααααα‘ααααΈαααααα
- αααα αΆα’ααααααααααΆαα½αα’ααααααααααααα α§ααΆα ααα αααααΌαααΆααααα»αααΆααααααααααααΆαααα
α
ααααΈα
ααααααα
αααα»ααααααα―αααΆα αα·ααα ααΆαααααααααΆαααααΆααααα»αααΆαααΎαααααΎαααΆααααααα·ααΈαααααααααααΆα
ααααα‘αααα
αααααααα·ααααα·ααΆααααααααΆααΈαα½αα ααΆαααααααΆαααΈααααααα½α’αααα β$β (ααααΎααΆααααα αα·ααααααΎα) αααα
αααα»αααααΈα
αΌααααααΆααα
αααα αΆααΆαααααααααΌαααΆααααααααΆααα αααα»α Goals αααααααΎαα·αα·ααααααααΆ β%β αααα½αα±αα β$β αααααΆααα’ααααα½αααααα»αααααΆ (β$β αα ααααααααααΆααααα) αααααααΎα§αααααααα
LALR(1) ααααααααΌαα±ααα’αααα αα»ααααααααααΌα αα·ααααααα―αααΆαααΆαα½αααΉααααααα αα·αααααα·α αααα»αααΌααααααααΎααααααα’ααααΆααα αααα»αβααΆαααβαααααΆβααΆααααΌαβααααΌαβααΆαβααΎαβααααΎαααΆαβαααα»αβα§ααΆα αααβαα½αβααβαααβααΆαααβαααααΆ α αΎαβαααα»αβαααα»αβααΆαβααααΎβαααααααααΆαβααΌαβααΆαβα’αααΎβα α·αααβααααΌαβααΆαβα’αα»ααααΆα αααβαα·αβααΆαβααΆαβαααβαα βα αααααβαα·ααααααΊα
ααααα α foo.o bar.o
${CC} ${CFLAGS} $< -o $@ααΆαααααΆαααΆα
"target": "foo.o", "bar.o" {
%CC %CFLAGS %< -o %@
}
αααααααα·ααααααααααααα Goals:
- αααα½αααΆαααααΎααααααΆααααΆααααααΆααααααα αα·ααααΆαααΆαααααααααααααΆαα
ααααα ααΆααα’αα = : "ααααα "
αααααααΆααααααα =
"ααααα " : "foo.o", "bar.o" {... }αααααααα ααααα (ααααα) =
"%name.o" : "%name.c", "dep.h" { %CC %CFLAGS -c $^ -o $@ } - ααααααΎαααααΎαααΆαααΈαα αααααΎαααααααΎααααΈααααΌααααααααα
ααΆααααααΆαα½ααααααα―αααΆα (α§ααΆα ααα α―αααΆα "foo.o" ααααΌαααΉαααααα
"%name.o") αα·αααααα
ααααααααααααΆααα
ααααα ααΆααα’αα = : αααααααΆαα
αααααααΆααααααα =
"target" : "foo.o", α ααααα ("bar") { ... }αααααααα ααααα (ααααα) =
"%name.o" : "%name.c", "dep.h" { %CC %CFLAGS -c $^ -o $@ } - α§ααΆαααααααα·ααΆαααααΌαααΆαααααααααα
αααΆαααα·ααααααα’αΆα
ααααΌαααΆαααααΎααΎααααΈααααααααααΌαααΆααααα»αααΆααααααΌααααα»αα‘αΎααα·αααΌαααααα
ααααΆααα½αααααα»αααααΆα ααααα·αααΎααααα½αααααΌαααΆαααααΎα‘αΎαα
ααααααααααΆαααααα―αααΆα αααααΆααααΌαααΆαααααααααΆαα
αααΆααααΆαααααααααΆαααααααΌαααααΆ ("ααααα
" αααααΆαααααααα
αααΆαα αα·α *α―αααΆα ("ααααα
") αααααΆαααα·αα·αααα―αααΆα)α
"ααααα " : "foo.o", "bar.o" {... }
*file("target"): *file("foo.o"), *file("bar.o") {... }
- α’αααα’αα·ααααααα’αΆα
ααααααα»αααααααααααΆαααα§ααΆαααααα‘αΎαα ααα "*file" ααααΌαααΆααααααααΆαααααΆαααΎα (@{...} αααα αΆαααΈααΆααααααααΆαααα·ααααα α αΎα "α
αα 99" αααα αΆαααΈαααααΌαααΆααααααΆααααΆααααΆαα‘αΎααα·α):
αα»αααααΆααααα *α―αααΆα (αααααα―αααΆα) = @{
ααΆααααα -f % αααααα―αααΆα || α αα 99
αααααΆαα f αααα»α %ααααα: opennet.ru