1 |
2002-06-27 Akim Demaille <akim@epita.fr> |
2002-06-27 Paul Hilfinger <Hilfinger@CS.Berkeley.EDU> |
2 |
|
|
3 |
|
Accumulated changelog for new GLR parsing features. |
4 |
|
|
5 |
|
* src/conflicts.c (count_total_conflicts): Change name to |
6 |
|
conflicts_total_count. |
7 |
|
* src/conflicts.h: Ditto. |
8 |
|
* src/output.c (token_actions): Use the new name. |
9 |
|
(output_conflicts): Change conflp => conflict_list_heads, and |
10 |
|
confl => conflict_list for better readability. |
11 |
|
* data/glr.c: Use the new names. |
12 |
|
* NEWS: Add self to GLR announcement. |
13 |
|
|
14 |
|
* src/reader.c (free_merger_functions): Cleanup: XFREE->free. |
15 |
|
|
16 |
|
* doc/bison.texinfo (GLR Parsers): Make corrections suggested by |
17 |
|
Akim Demaille. |
18 |
|
|
19 |
|
* data/bison.glr: Change name to glr.c |
20 |
|
* data/glr.c: Renamed from bison.glr. |
21 |
|
* data/Makefile.am: Add glr.c |
22 |
|
|
23 |
|
* src/getargs.c: |
24 |
|
|
25 |
|
* src/symlist.h: Add dprec and merger fields to symbol_list_s. |
26 |
|
* src/symlist.c (symbol_list_new): Initialize dprec and merger fields. |
27 |
|
|
28 |
|
Originally 2002-06-16 Paul Hilfinger <Hilfinger@CS.Berkeley.EDU> |
29 |
|
|
30 |
|
* data/bison.glr: Be sure to restore the |
31 |
|
current #line when returning to the skeleton contents after having |
32 |
|
exposed the input file's #line. |
33 |
|
|
34 |
|
Originally 2002-06-13 Paul Hilfinger <Hilfinger@CS.Berkeley.EDU> |
35 |
|
|
36 |
|
* data/bison.glr: Bring up to date with changes to bison.simple. |
37 |
|
|
38 |
|
Originally 2002-06-03 Paul Hilfinger <Hilfinger@CS.Berkeley.EDU> |
39 |
|
|
40 |
|
* data/bison.glr: Correct definitions that use b4_prefix. |
41 |
|
Various reformatting. |
42 |
|
(GLRStack): Make yychar (in YYPURE case) and yytokenp as part of stack. |
43 |
|
(yyreportParseError, yyrecoverParseError, yyprocessOneStack): remove |
44 |
|
yytokenp argument; now part of stack. |
45 |
|
(yychar): Define to behave as documented. |
46 |
|
(yyclearin): Ditto. |
47 |
|
|
48 |
|
Originally 2002-05-14 Paul Hilfinger <Hilfinger@CS.Berkeley.EDU> |
49 |
|
|
50 |
|
* src/reader.h: Add declaration for free_merger_functions. |
51 |
|
|
52 |
|
* src/reader.c (merge_functions): New variable. |
53 |
|
(get_merge_function): New function. |
54 |
|
(free_merger_functions): New function. |
55 |
|
(readgram): Check for %prec that is not followed by a symbol. |
56 |
|
Handle %dprec and %merge declarations. |
57 |
|
(packgram): Initialize dprec and merger fields in rules array. |
58 |
|
|
59 |
|
* src/output.c (conflict_tos, conflrow, conflict_table, conflict_list, |
60 |
|
conflict_list_cnt, conflict_list_free): New variables. |
61 |
|
(table_grow): Also grow conflict_table. |
62 |
|
(prepare_rules): Output dprec and merger tables. |
63 |
|
(conflict_row): New function. |
64 |
|
(action_row): Output conflict lists for GLR parser. Don't use |
65 |
|
default reduction in conflicted states for GLR parser so that there |
66 |
|
are spaces for the conflict lists. |
67 |
|
(save_row): Also save conflict information. |
68 |
|
(token_actions): Allocate conflict list. |
69 |
|
(merger_output): New function. |
70 |
|
(pack_vector): Pack conflict table, too. |
71 |
|
(output_conflicts): New function to output yyconflp and yyconfl. |
72 |
|
(output_check): Allocate conflict_tos. |
73 |
|
(output_actions): Output conflict tables, also. |
74 |
|
(output_skeleton): Output b4_mergers definition. |
75 |
|
(prepare): Output b4_max_rhs_length definition. |
76 |
|
Use 'bison.glr' as default skeleton for GLR parsers. |
77 |
|
|
78 |
|
* src/gram.c (glr_parser): New flag. |
79 |
|
(grammar_free): Call free_merger_functions. |
80 |
|
|
81 |
|
* src/conflicts.c (count_rr_conflicts): Augment to optionally count |
82 |
|
all pairs of conflicting reductions, rather than just all tokens |
83 |
|
causing conflicts. Needed to size conflict tables. |
84 |
|
(conflicts_output): Modify call to count_rr_conflicts for new |
85 |
|
interface. |
86 |
|
(conflicts_print): Ditto. |
87 |
|
(count_total_conflicts): New function. |
88 |
|
|
89 |
|
* src/reader.h (merger_list): New type. |
90 |
|
(merge_functions): New variable. |
91 |
|
|
92 |
|
* src/lex.h (tok_dprec, tok_merge): New token types. |
93 |
|
|
94 |
|
* src/gram.h (rule_s): Add dprec and merger fields. |
95 |
|
(glr_parser): New flag. |
96 |
|
|
97 |
|
* src/conflicts.h (count_total_conflicts): New function. |
98 |
|
|
99 |
|
* src/options.c (option_table): Add %dprec, %merge, and %glr-parser. |
100 |
|
|
101 |
|
* doc/bison.texinfo (Generalized LR Parsing): New section. |
102 |
|
(GLR Parsers): New section. |
103 |
|
(Language and Grammar): Mention GLR parsing. |
104 |
|
(Table of Symbols): Add %dprec, %glr-parser, %merge, GLR |
105 |
|
Correct typo ("tge" -> "the"). |
106 |
|
|
107 |
|
* data/bison.glr: New skeleton for GLR parsing. |
108 |
|
|
109 |
|
* tests/cxx-gram.at: New tests for GLR parsing. |
110 |
|
|
111 |
|
* tests/testsuite.at: Include cxx-gram.at. |
112 |
|
|
113 |
|
* tests/Makefile.am: Add cxx-gram.at. |
114 |
|
|
115 |
|
* src/parse-gram.y: |
116 |
|
|
117 |
|
* src/scan-gram.l: Add %dprec, %glr-parser, %merge. |
118 |
|
|
119 |
|
* src/parse-gram.y: Grammar for %dprec, %merge, %glr-parser. |
120 |
|
2002-06-27 Akim Demaille <akim@epita.fr> |
121 |
|
|
122 |
* src/options.h, src/options.c: Remove. |
* src/options.h, src/options.c: Remove. |
123 |
* src/getargs.c (short_options, long_options): New. |
* src/getargs.c (short_options, long_options): New. |