1 |
2001-12-27 Akim Demaille <akim@epita.fr> |
2001-12-27 Akim Demaille <akim@epita.fr> |
2 |
|
|
3 |
|
* src/gram.h (rule_t): `guard' and `guard_line' are new members. |
4 |
|
* src/reader.c (symbol_list): `guard' and `guard_line' are new |
5 |
|
members. |
6 |
|
(symbol_list_new): Adjust. |
7 |
|
(copy_action): action_line is the first line, not the last. |
8 |
|
(copy_guard): Just as for actions, store the `action' only, not |
9 |
|
the switch/case/break flesh. |
10 |
|
Don't parse the user action that might follow the guard, let... |
11 |
|
(readgram): do it, i.e., now, there can be an action after a |
12 |
|
guard. |
13 |
|
In other words the guard is just explicitly optional. |
14 |
|
(packgram): Adjust. |
15 |
|
* src/output.c (guards_output): New. |
16 |
|
(output_parser): Call it when needed. |
17 |
|
(output): Also free the guard and attrs obstacks. |
18 |
|
* src/files.c, src/files.h (obstack_save): Remove. |
19 |
|
(output_files): Remove. |
20 |
|
As a result, if one needs the former `.act' file, using an |
21 |
|
appropriate skeleton which requires actions and guards is now |
22 |
|
required. |
23 |
|
* src/main.c (main): Adjust. |
24 |
|
* tests/semantic.at: New. |
25 |
|
* tests/regression.at: Use `input.y' as input file name. |
26 |
|
Avoid 8+3 problems by requiring input.c when the test needs the |
27 |
|
parser. |
28 |
|
|
29 |
|
2001-12-27 Akim Demaille <akim@epita.fr> |
30 |
|
|
31 |
* src/reader.c (symbol_list_new): Be sure to initialize all the |
* src/reader.c (symbol_list_new): Be sure to initialize all the |
32 |
fields. |
fields. |
33 |
|
|