PrimaryExpression
: PrimaryExpressionNoWC { $$ = $1; }
@begin E4X
- | LexSetRegExp PrimaryExpressionWC { $$ = $1; }
+ | LexSetRegExp PrimaryExpressionWC { $$ = $2; }
@end
;
;
PropertySelector
- : Word { $$ = $1; }
+ : Identifier { $$ = $1; }
| WildcardIdentifier { $$ = $1; }
;
/* }}} */
;
XMLElement
- : "<" XMLTagContent_ "/>" LexPop
- | "<" XMLTagContent_ ">" LexSetXMLContent XMLElementContentOpt "</" LexSetXMLTag XMLTagName XMLWhitespaceOpt ">" LexPop
- ;
-
-XMLTagContent_
- : LexPushXMLTag XMLTagContent XMLWhitespaceOpt
+ : "<" XMLTagContent "/>" LexPop
+ | "<" XMLTagContent ">" LexSetXMLContent XMLElementContentOpt "</" LexSetXMLTag XMLTagName XMLWhitespaceOpt ">" LexPop
;
XMLTagContent
- : XMLTagName XMLAttributesOpt
+ : LexPushXMLTag XMLTagName XMLAttributes
;
XMLExpression
| XMLName
;
-XMLAttributes
- : XMLWhitespace XMLExpression
- | XMLAttributeOpt XMLAttributes
+XMLAttributes_
+ : XMLAttributes_ XMLAttribute
+ |
;
-XMLAttributesOpt
- : XMLAttributes
- |
+XMLAttributes
+ : XMLAttributes_ XMLWhitespace XMLExpression XMLWhitespaceOpt
+ | XMLAttributes_ XMLWhitespaceOpt
;
XMLAttributeValue_
: XMLWhitespace XMLName XMLWhitespaceOpt "=" XMLWhitespaceOpt XMLAttributeValue_
;
-XMLAttributeOpt
- : XMLAttribute
- |
- ;
-
XMLElementContent
: XMLExpression XMLElementContentOpt
| XMLMarkup XMLElementContentOpt
/* }}} */
/* 11.2 Left-Hand-Side Expressions {{{ */
PropertyIdentifier_
- : Word { $$ = $1; }
+ : Identifier { $$ = $1; }
| PropertyIdentifier { $$ = $1; }
;