3 all: nitcc calc minilang blob
5 nitcc_parser_gen
: nitcc_parser_gen.nit
6 @echo
"*** Compile the nitcc bootstrap parser generator -- level 0"
7 ${NITC} nitcc_parser_gen.nit
-v
9 nitcc0
: nitcc.nit nitcc_parser_gen
10 @echo
"*** Compile the primitive nitcc --- bootstrap level 0"
12 ${NITC} nitcc.nit
-v
-o nitcc0
14 nitcc1
: nitcc0 nitcc.nit nitcc.sablecc
15 @echo
"*** Compile the intermediate nitcc --- bootstrap level 1"
16 .
/nitcc0 nitcc.sablecc
17 ${NITC} nitcc.nit
-v
-o nitcc1
19 nitcc
: nitcc1 nitcc.nit nitcc.sablecc
20 @echo
"*** Compile the final nitcc --- bootstrap level 2"
21 .
/nitcc1 nitcc.sablecc
24 calc
: nitcc ..
/examples
/calc.sablecc ..
/examples
/calc.nit
25 @echo
"*** Example program, calc"
26 cd ..
/examples
&& ..
/src
/nitcc calc.sablecc
27 ${NITC} ..
/examples
/calc.nit
-v
28 .
/calc
-e
"1+2*3-40/5+9------1"
30 minilang
: nitcc ..
/examples
/minilang.sablecc ..
/examples
/minilang.nit
31 @echo
"*** Example program, minilang"
32 cd ..
/examples
&& ..
/src
/nitcc minilang.sablecc
33 ${NITC} ..
/examples
/minilang.nit
-v
34 printf
"10\n42\n" | .
/minilang ..
/examples
/minilang.minilang
36 blob
: nitcc ..
/examples
/blob.sablecc ..
/examples
/blob.nit
37 @echo
"*** Example program, blob"
38 cd ..
/examples
&& ..
/src
/nitcc blob.sablecc
39 ${NITC} ..
/examples
/blob.nit
-v
40 .
/blob
-e
"abc {{{ 1 }}} de {{{ 2 }}} { 3 }"
49 nitcc_lexer.nit nitcc_parser.nit nitcc_test_parser.nit nitcc_parser_gen \
52 ..
/examples
/*.dot ..
/examples
/*.out ..
/examples
/*_lexer.nit ..
/examples
/*_parser.nit ..
/examples
/*_test_parser.nit \