| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | keyword_integer | keyword_boolean | keyword_if | keyword_then | keyword_else | keyword_not | keyword_and | keyword_or | keyword_function | keyword_print | identifier | integer | boolean | left_paren | right_paren | comma | colon | plus | minus | times | divide | less_than | equal | end_of_file | |||
2 | program | definition_list make_definition_list make_program | definition_list make_definition_list make_program | ||||||||||||||||||||||||
3 | definition_list | definition definition_list | None | ||||||||||||||||||||||||
4 | definition | keyword_function identifier make_identifier left_paren parameter_list make_parameter_list right_paren colon type body make_definition | |||||||||||||||||||||||||
5 | parameter_list | formal_parameters | None | ||||||||||||||||||||||||
6 | formal_parameters | id_with_type formal_parameters_rest | |||||||||||||||||||||||||
7 | formal_parameters_rest | None | comma id_with_type formal_parameters_rest | ||||||||||||||||||||||||
8 | id_with_type | identifier make_identifier colon type make_id_with_type | |||||||||||||||||||||||||
9 | type | keyword_integer make_integer_type | keyword_boolean make_boolean_type | ||||||||||||||||||||||||
10 | body | expression make_body | expression make_body | print_expression body | expression make_body | expression make_body | expression make_body | expression make_body | expression make_body | ||||||||||||||||||
11 | print_expression | keyword_print make_identifier left_paren expression make_argument make_argument_list right_paren make_function_call_expression | |||||||||||||||||||||||||
12 | expression | simple_expression expression_rest | simple_expression expression_rest | simple_expression expression_rest | simple_expression expression_rest | simple_expression expression_rest | simple_expression expression_rest | simple_expression expression_rest | |||||||||||||||||||
13 | expression_rest | None | None | None | None | None | less_than simple_expression make_less_than_expression expression_rest | equal simple_expression make_equals_expression expression_rest | None | ||||||||||||||||||
14 | simple_expression | term simple_expression_rest | term simple_expression_rest | term simple_expression_rest | term simple_expression_rest | term simple_expression_rest | term simple_expression_rest | term simple_expression_rest | |||||||||||||||||||
15 | simple_expression_rest | None | None | keyword_or term make_or_expression simple_expression_rest | None | None | None | plus term make_plus_expression simple_expression_rest | minus term make_minus_expression simple_expression_rest | None | None | None | |||||||||||||||
16 | term | factor term_rest | factor term_rest | factor term_rest | factor term_rest | factor term_rest | factor term_rest | factor term_rest | |||||||||||||||||||
17 | term_rest | None | None | keyword_and factor make_and_expression term_rest | None | None | None | None | None | None | times factor make_times_expression term_rest | divide factor make_divide_expression term_rest | None | None | None | ||||||||||||
18 | factor | keyword_if expression keyword_then expression keyword_else expression make_if_expression | keyword_not factor make_not_expression | identifier make_identifier factor_rest | literal | literal | left_paren expression right_paren | minus factor make_unary_minus_expression | |||||||||||||||||||
19 | factor_rest | None | None | None | None | None | left_paren argument_list make_argument_list right_paren make_function_call_expression | None | None | None | None | None | None | None | None | None | |||||||||||
20 | argument_list | formal_arguments | formal_arguments | formal_arguments | formal_arguments | formal_arguments | formal_arguments | None | formal_arguments | ||||||||||||||||||
21 | formal_arguments | expression make_argument formal_arguments_rest | expression make_argument formal_arguments_rest | expression make_argument formal_arguments_rest | expression make_argument formal_arguments_rest | expression make_argument formal_arguments_rest | expression make_argument formal_arguments_rest | expression make_argument formal_arguments_rest | |||||||||||||||||||
22 | formal_arguments_rest | None | comma expression make_argument formal_arguments_rest | ||||||||||||||||||||||||
23 | literal | integer make_integer_literal | boolean make_boolean_literal | ||||||||||||||||||||||||
24 | |||||||||||||||||||||||||||
25 | |||||||||||||||||||||||||||
26 | |||||||||||||||||||||||||||
27 | |||||||||||||||||||||||||||
28 | |||||||||||||||||||||||||||
29 | |||||||||||||||||||||||||||
30 | |||||||||||||||||||||||||||
31 | |||||||||||||||||||||||||||
32 | |||||||||||||||||||||||||||
33 | |||||||||||||||||||||||||||
34 | |||||||||||||||||||||||||||
35 | |||||||||||||||||||||||||||
36 | |||||||||||||||||||||||||||
37 | |||||||||||||||||||||||||||
38 | |||||||||||||||||||||||||||
39 | |||||||||||||||||||||||||||
40 | |||||||||||||||||||||||||||
41 | |||||||||||||||||||||||||||
42 | |||||||||||||||||||||||||||
43 | |||||||||||||||||||||||||||
44 | |||||||||||||||||||||||||||
45 | |||||||||||||||||||||||||||
46 | |||||||||||||||||||||||||||
47 | |||||||||||||||||||||||||||
48 | |||||||||||||||||||||||||||
49 | |||||||||||||||||||||||||||
50 | |||||||||||||||||||||||||||
51 | |||||||||||||||||||||||||||
52 | |||||||||||||||||||||||||||
53 | |||||||||||||||||||||||||||
54 | |||||||||||||||||||||||||||
55 | |||||||||||||||||||||||||||
56 | |||||||||||||||||||||||||||
57 | |||||||||||||||||||||||||||
58 | |||||||||||||||||||||||||||
59 | |||||||||||||||||||||||||||
60 | |||||||||||||||||||||||||||
61 | |||||||||||||||||||||||||||
62 | |||||||||||||||||||||||||||
63 | |||||||||||||||||||||||||||
64 | |||||||||||||||||||||||||||
65 | |||||||||||||||||||||||||||
66 | |||||||||||||||||||||||||||
67 | |||||||||||||||||||||||||||
68 | |||||||||||||||||||||||||||
69 | |||||||||||||||||||||||||||
70 | |||||||||||||||||||||||||||
71 | |||||||||||||||||||||||||||
72 | |||||||||||||||||||||||||||
73 | |||||||||||||||||||||||||||
74 | |||||||||||||||||||||||||||
75 | |||||||||||||||||||||||||||
76 | |||||||||||||||||||||||||||
77 | |||||||||||||||||||||||||||
78 | |||||||||||||||||||||||||||
79 | |||||||||||||||||||||||||||
80 | |||||||||||||||||||||||||||
81 | |||||||||||||||||||||||||||
82 | |||||||||||||||||||||||||||
83 | |||||||||||||||||||||||||||
84 | |||||||||||||||||||||||||||
85 | |||||||||||||||||||||||||||
86 | |||||||||||||||||||||||||||
87 | |||||||||||||||||||||||||||
88 | |||||||||||||||||||||||||||
89 | |||||||||||||||||||||||||||
90 | |||||||||||||||||||||||||||
91 | |||||||||||||||||||||||||||
92 | |||||||||||||||||||||||||||
93 | |||||||||||||||||||||||||||
94 | |||||||||||||||||||||||||||
95 | |||||||||||||||||||||||||||
96 | |||||||||||||||||||||||||||
97 | |||||||||||||||||||||||||||
98 | |||||||||||||||||||||||||||
99 | |||||||||||||||||||||||||||
100 |