Cleaned up the XML parser grammar.
This resolves all shift/reduce and reduce/reduce conflicts that were previously present.
This commit is contained in:
parent
49780e2b04
commit
ead5c71fee
|
|
@ -21,13 +21,16 @@ options no_result_var
|
||||||
rule
|
rule
|
||||||
document
|
document
|
||||||
: expressions { on_document(val[0]) }
|
: expressions { on_document(val[0]) }
|
||||||
| /* none */ { on_document }
|
|
||||||
;
|
;
|
||||||
|
|
||||||
expressions
|
expressions
|
||||||
: expressions expression { val[0] << val[1] }
|
: expressions_ { val[0] }
|
||||||
| expression { val }
|
| /* none */ { [] }
|
||||||
| /* none */ { [] }
|
;
|
||||||
|
|
||||||
|
expressions_
|
||||||
|
: expressions_ expression { val[0] << val[1] }
|
||||||
|
| expression { val }
|
||||||
;
|
;
|
||||||
|
|
||||||
expression
|
expression
|
||||||
|
|
@ -138,8 +141,8 @@ rule
|
||||||
|
|
||||||
# XML declarations
|
# XML declarations
|
||||||
xmldecl
|
xmldecl
|
||||||
: T_XML_DECL_START T_XML_DECL_END { on_xml_decl }
|
: T_XML_DECL_START attributes T_XML_DECL_END { on_xml_decl(val[1]) }
|
||||||
| T_XML_DECL_START attributes T_XML_DECL_END { on_xml_decl(val[1]) }
|
;
|
||||||
|
|
||||||
# Plain text
|
# Plain text
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue