summaryrefslogtreecommitdiff
path: root/src/webidl-parser.y
diff options
context:
space:
mode:
Diffstat (limited to 'src/webidl-parser.y')
-rw-r--r--src/webidl-parser.y12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/webidl-parser.y b/src/webidl-parser.y
index 7425a21..db10ab7 100644
--- a/src/webidl-parser.y
+++ b/src/webidl-parser.y
@@ -114,7 +114,13 @@ int webidl_wrap()
%%
- /* [1] start with definitions */
+ /* [1] altered from original grammar to be left recusive, avoid reduce/reduce
+ * conficts and have an error term.
+ *
+ * By omitting the empty term from here reduce/reduce conficts are removed as
+ * both ExtendedAttributeList and Definition (by way of Exception) can end
+ * up with an empty term anyhow.
+ */
Definitions:
ExtendedAttributeList Definition
|
@@ -183,14 +189,14 @@ PartialInterface:
TOK_INTERFACE TOK_IDENTIFIER '{' InterfaceMembers '}' ';'
;
- /* [9] */
+ /* [9] slightly altered from original grammar to be left recursive */
InterfaceMembers:
/* empty */
{
$$ = NULL;
}
|
- ExtendedAttributeList InterfaceMember InterfaceMembers
+ InterfaceMembers ExtendedAttributeList InterfaceMember
{
$$ = NULL;
}