From c7493cf58c439bb3b9d2cf2cd989d3dc6f7ebb39 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Fri, 7 Sep 2012 18:04:03 +0100 Subject: alter InterfaceMembers to be left recusrsive Document accurately the changes from the w3c grammar --- src/webidl-parser.y | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src') 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; } -- cgit v1.2.3