-
Notifications
You must be signed in to change notification settings - Fork 24
/
grammar.bgf
1 lines (1 loc) · 84.5 KB
/
grammar.bgf
1
<ns0:grammar xmlns:ns0="http://planet-sl.org/bgf"><ns0:production><nonterminal>variableDeclaration</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>declaredIdentifier</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>initializedVariableDeclaration</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>declaredIdentifier</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>=</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><nonterminal>initializedIdentifier</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>initializedIdentifier</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>=</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>declaredIdentifier</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>finalVarOrType</nonterminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>finalVarOrType</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><terminal>final</terminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>type</nonterminal></ns0:expression></optional></ns0:expression></sequence></ns0:expression><ns0:expression><terminal>var</terminal></ns0:expression><ns0:expression><nonterminal>type</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>functionSignature</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><nonterminal>returnType</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><nonterminal>formalParameterList</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>returnType</nonterminal><ns0:expression><choice><ns0:expression><terminal>void</terminal></ns0:expression><ns0:expression><nonterminal>type</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>functionBody</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><terminal>=></terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>block</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>block</nonterminal><ns0:expression><sequence><ns0:expression><terminal>{</terminal></ns0:expression><ns0:expression><nonterminal>statements</nonterminal></ns0:expression><ns0:expression><terminal>}</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>formalParameterList</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><nonterminal>normalFormalParameters</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><nonterminal>namedFormalParameters</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><nonterminal>namedFormalParameters</nonterminal></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>normalFormalParameters</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>normalFormalParameter</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><nonterminal>normalFormalParameter</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>namedFormalParameters</nonterminal><ns0:expression><sequence><ns0:expression><terminal>[</terminal></ns0:expression><ns0:expression><nonterminal>defaultFormalParameter</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><nonterminal>defaultFormalParameter</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression><ns0:expression><terminal>]</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>normalFormalParameter</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>functionSignature</nonterminal></ns0:expression><ns0:expression><nonterminal>fieldFormalParameter</nonterminal></ns0:expression><ns0:expression><nonterminal>simpleFormalParameter</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>simpleFormalParameter</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>declaredIdentifier</nonterminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>fieldFormalParameter</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><nonterminal>finalVarOrType</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>this</terminal></ns0:expression><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>defaultFormalParameter</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>normalFormalParameter</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>=</terminal></ns0:expression><ns0:expression><nonterminal>constantExpression</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>classDefinition</nonterminal><ns0:expression><sequence><ns0:expression><terminal>class</terminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>typeParameters</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>superclass</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>interfaces</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>{</terminal></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>classMemberDefinition</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><terminal>}</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>classMemberDefinition</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>declaration</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>methodSignature</nonterminal></ns0:expression><ns0:expression><nonterminal>functionBody</nonterminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>methodSignature</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>factoryConstructorSignature</nonterminal></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>static</terminal></ns0:expression><ns0:expression><nonterminal>functionSignature</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>getterSignature</nonterminal></ns0:expression><ns0:expression><nonterminal>setterSignature</nonterminal></ns0:expression><ns0:expression><nonterminal>operatorSignature</nonterminal></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>functionSignature</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>initializers</nonterminal></ns0:expression></optional></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>namedConstructorSignature</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>initializers</nonterminal></ns0:expression></optional></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>declaration</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>constantConstructorSignature</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><choice><ns0:expression><nonterminal>redirection</nonterminal></ns0:expression><ns0:expression><nonterminal>initializers</nonterminal></ns0:expression></choice></ns0:expression></optional></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>functionSignature</nonterminal></ns0:expression><ns0:expression><nonterminal>redirection</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>namedConstructorSignature</nonterminal></ns0:expression><ns0:expression><nonterminal>redirection</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>abstract</terminal></ns0:expression><ns0:expression><nonterminal>getterSignature</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>abstract</terminal></ns0:expression><ns0:expression><nonterminal>setterSignature</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>abstract</terminal></ns0:expression><ns0:expression><nonterminal>operatorSignature</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>abstract</terminal></ns0:expression><ns0:expression><nonterminal>functionSignature</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>static</terminal></ns0:expression><ns0:expression><terminal>final</terminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>type</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>staticFinalDeclarationList</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><optional><ns0:expression><terminal>static</terminal></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>initializedVariableDeclaration</nonterminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>staticFinalDeclarationList</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>staticFinalDeclaration</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><nonterminal>staticFinalDeclaration</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>operatorSignature</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><nonterminal>returnType</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>operator</nonterminal></ns0:expression><ns0:expression><nonterminal>operator</nonterminal></ns0:expression><ns0:expression><nonterminal>formalParameterList</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>operator</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>unaryOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>binaryOperator</nonterminal></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>[</terminal></ns0:expression><ns0:expression><terminal>]</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>[</terminal></ns0:expression><ns0:expression><terminal>]</terminal></ns0:expression><ns0:expression><terminal>=</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><terminal>negate</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>unaryOperator</nonterminal><ns0:expression><nonterminal>negateOperator</nonterminal></ns0:expression></ns0:production><ns0:production><nonterminal>binaryOperator</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>multiplicativeOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>additiveOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>shiftOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>relationalOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>equalityOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>bitwiseOperator</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>prefixOperator</nonterminal><ns0:expression><choice><ns0:expression><terminal>-</terminal></ns0:expression><ns0:expression><nonterminal>negateOperator</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>negateOperator</nonterminal><ns0:expression><choice><ns0:expression><terminal>!</terminal></ns0:expression><ns0:expression><terminal>~</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>getterSignature</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><terminal>static</terminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>returnType</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>get</terminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><nonterminal>formalParameterList</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>setterSignature</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><terminal>static</terminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>returnType</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>set</terminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><nonterminal>formalParameterList</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>constructorSignature</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><nonterminal>formalParameterList</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>namedConstructorSignature</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>namedConstructorSignature</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><nonterminal>formalParameterList</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>redirection</nonterminal><ns0:expression><sequence><ns0:expression><terminal>:</terminal></ns0:expression><ns0:expression><terminal>this</terminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>arguments</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>initializers</nonterminal><ns0:expression><sequence><ns0:expression><terminal>:</terminal></ns0:expression><ns0:expression><nonterminal>superCallOrFieldInitializer</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><nonterminal>superCallOrFieldInitializer</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>superCallOrFieldInitializer</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><terminal>super</terminal></ns0:expression><ns0:expression><nonterminal>arguments</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>super</terminal></ns0:expression><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><nonterminal>arguments</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>fieldInitializer</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>fieldInitializer</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>this</terminal></ns0:expression><ns0:expression><terminal>.</terminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><terminal>=</terminal></ns0:expression><ns0:expression><nonterminal>conditionalExpression</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>factoryConstructorSignature</nonterminal><ns0:expression><sequence><ns0:expression><terminal>factory</terminal></ns0:expression><ns0:expression><nonterminal>qualified</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>typeParameters</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>formalParameterList</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>constantConstructorSignature</nonterminal><ns0:expression><sequence><ns0:expression><terminal>const</terminal></ns0:expression><ns0:expression><nonterminal>qualified</nonterminal></ns0:expression><ns0:expression><nonterminal>formalParameterList</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>superclass</nonterminal><ns0:expression><sequence><ns0:expression><terminal>extends</terminal></ns0:expression><ns0:expression><nonterminal>type</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>interfaces</nonterminal><ns0:expression><sequence><ns0:expression><terminal>implements</terminal></ns0:expression><ns0:expression><nonterminal>typeList</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>interfaceDefinition</nonterminal><ns0:expression><sequence><ns0:expression><terminal>interface</terminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>typeParameters</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>superinterfaces</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>factorySpecification</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>{</terminal></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>interfaceMemberDefinition</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><terminal>}</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>interfaceMemberDefinition</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><terminal>static</terminal></ns0:expression><ns0:expression><terminal>final</terminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>type</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>initializedIdentifierList</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>functionSignature</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>constantConstructorSignature</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>namedConstructorSignature</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>getterSignature</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>setterSignature</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>operatorSignature</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>variableDeclaration</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>factorySpecification</nonterminal><ns0:expression><sequence><ns0:expression><terminal>factory</terminal></ns0:expression><ns0:expression><nonterminal>qualified</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>typeParameters</nonterminal></ns0:expression></optional></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>superinterfaces</nonterminal><ns0:expression><sequence><ns0:expression><terminal>extends</terminal></ns0:expression><ns0:expression><nonterminal>typeList</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>typeParameter</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>extends</terminal></ns0:expression><ns0:expression><nonterminal>type</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>typeParameters</nonterminal><ns0:expression><sequence><ns0:expression><terminal><</terminal></ns0:expression><ns0:expression><nonterminal>typeParameter</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><nonterminal>typeParameter</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression><ns0:expression><terminal>></terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>expression</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>assignableExpression</nonterminal></ns0:expression><ns0:expression><nonterminal>assignmentOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>conditionalExpression</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>expressionList</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>expression</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>primary</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>thisExpression</nonterminal></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>super</terminal></ns0:expression><ns0:expression><nonterminal>assignableSelector</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>functionExpression</nonterminal></ns0:expression><ns0:expression><nonterminal>literal</nonterminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><nonterminal>newExpression</nonterminal></ns0:expression><ns0:expression><nonterminal>constantObjectExpression</nonterminal></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>literal</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>nullLiteral</nonterminal></ns0:expression><ns0:expression><nonterminal>booleanLiteral</nonterminal></ns0:expression><ns0:expression><nonterminal>numericLiteral</nonterminal></ns0:expression><ns0:expression><nonterminal>stringLiteral</nonterminal></ns0:expression><ns0:expression><nonterminal>mapLiteral</nonterminal></ns0:expression><ns0:expression><nonterminal>listLiteral</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>nullLiteral</nonterminal><ns0:expression><terminal>null</terminal></ns0:expression></ns0:production><ns0:production><nonterminal>numericLiteral</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>NUMBER</nonterminal></ns0:expression><ns0:expression><nonterminal>HEX_NUMBER</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>NUMBER</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><optional><ns0:expression><terminal>+</terminal></ns0:expression></optional></ns0:expression><ns0:expression><plus><ns0:expression><nonterminal>DIGIT</nonterminal></ns0:expression></plus></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><plus><ns0:expression><nonterminal>DIGIT</nonterminal></ns0:expression></plus></ns0:expression></sequence></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>EXPONENT</nonterminal></ns0:expression></optional></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><optional><ns0:expression><terminal>+</terminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><plus><ns0:expression><nonterminal>DIGIT</nonterminal></ns0:expression></plus></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>EXPONENT</nonterminal></ns0:expression></optional></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>EXPONENT</nonterminal><ns0:expression><sequence><ns0:expression><choice><ns0:expression><terminal>e</terminal></ns0:expression><ns0:expression><terminal>E</terminal></ns0:expression></choice></ns0:expression><ns0:expression><optional><ns0:expression><choice><ns0:expression><terminal>+</terminal></ns0:expression><ns0:expression><terminal>-</terminal></ns0:expression></choice></ns0:expression></optional></ns0:expression><ns0:expression><plus><ns0:expression><nonterminal>DIGIT</nonterminal></ns0:expression></plus></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>HEX_NUMBER</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><terminal>0x</terminal></ns0:expression><ns0:expression><plus><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression></plus></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>0X</terminal></ns0:expression><ns0:expression><plus><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression></plus></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>HEX_DIGIT</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><terminal>a</terminal></ns0:expression><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><terminal>f</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>A</terminal></ns0:expression><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><terminal>F</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>DIGIT</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>booleanLiteral</nonterminal><ns0:expression><choice><ns0:expression><terminal>true</terminal></ns0:expression><ns0:expression><terminal>false</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>stringLiteral</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><optional><ns0:expression><terminal>@</terminal></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>MULTI_LINE_STRING</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>SINGLE_LINE_STRING</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>SINGLE_LINE_STRING</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><terminal>"</terminal></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>STRING_CONTENT_DQ</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><terminal>"</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>'</terminal></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>STRING_CONTENT_SQ</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><terminal>'</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>@' ' ' </terminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>~</terminal></ns0:expression><ns0:expression><choice><ns0:expression><terminal>'</terminal></ns0:expression><ns0:expression><nonterminal>NEWLINE</nonterminal></ns0:expression></choice></ns0:expression></sequence></ns0:expression></star></ns0:expression><ns0:expression><terminal>'</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>@</terminal></ns0:expression><ns0:expression><terminal>"</terminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>~</terminal></ns0:expression><ns0:expression><choice><ns0:expression><terminal>"</terminal></ns0:expression><ns0:expression><nonterminal>NEWLINE</nonterminal></ns0:expression></choice></ns0:expression></sequence></ns0:expression></star></ns0:expression><ns0:expression><terminal>"</terminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>MULTI_LINE_STRING</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><terminal>"""</terminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>~</terminal></ns0:expression><ns0:expression><terminal>"""</terminal></ns0:expression></sequence></ns0:expression></star></ns0:expression><ns0:expression><terminal>"""</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>'''</terminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>~</terminal></ns0:expression><ns0:expression><terminal>'''</terminal></ns0:expression></sequence></ns0:expression></star></ns0:expression><ns0:expression><terminal>'''</terminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>ESCAPE_SEQUENCE</nonterminal><ns0:expression><choice><ns0:expression><terminal>\n</terminal></ns0:expression><ns0:expression><terminal>\r</terminal></ns0:expression><ns0:expression><terminal>\f</terminal></ns0:expression><ns0:expression><terminal>\b</terminal></ns0:expression><ns0:expression><terminal>\t</terminal></ns0:expression><ns0:expression><terminal>\v</terminal></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>\x</terminal></ns0:expression><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>\u</terminal></ns0:expression><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>\u{</terminal></ns0:expression><ns0:expression><nonterminal>HEX_DIGIT_SEQUENCE</nonterminal></ns0:expression><ns0:expression><terminal>}</terminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>HEX_DIGIT_SEQUENCE</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>HEX_DIGIT</nonterminal></ns0:expression></optional></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>STRING_CONTENT_DQ</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><terminal>~</terminal></ns0:expression><ns0:expression><choice><ns0:expression><terminal>\\</terminal></ns0:expression><ns0:expression><terminal> " </terminal></ns0:expression><ns0:expression><terminal>$</terminal></ns0:expression><ns0:expression><nonterminal>NEWLINE</nonterminal></ns0:expression></choice></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>\\</terminal></ns0:expression><ns0:expression><terminal>~</terminal></ns0:expression><ns0:expression><nonterminal>NEWLINE</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>STRING_INTERPOLATION</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>STRING_CONTENT_SQ</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><terminal>~</terminal></ns0:expression><ns0:expression><choice><ns0:expression><terminal>\\</terminal></ns0:expression><ns0:expression><terminal>\'</terminal></ns0:expression><ns0:expression><terminal>$</terminal></ns0:expression><ns0:expression><nonterminal>NEWLINE</nonterminal></ns0:expression></choice></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>\\</terminal></ns0:expression><ns0:expression><terminal>~</terminal></ns0:expression><ns0:expression><nonterminal>NEWLINE</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>STRING_INTERPOLATION</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>NEWLINE</nonterminal><ns0:expression><choice><ns0:expression><terminal>\n</terminal></ns0:expression><ns0:expression><terminal>\r</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>STRING_INTERPOLATION</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><terminal>$</terminal></ns0:expression><ns0:expression><nonterminal>IDENTIFIER_NO_DOLLAR</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>$</terminal></ns0:expression><ns0:expression><terminal>{</terminal></ns0:expression><ns0:expression><terminal>Expression</terminal></ns0:expression><ns0:expression><terminal>}</terminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>listLiteral</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><terminal>const</terminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>typeArguments</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>[</terminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><nonterminal>expressionList</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><terminal>,</terminal></ns0:expression></optional></ns0:expression></sequence></ns0:expression></optional></ns0:expression><ns0:expression><terminal>]</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>mapLiteral</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><terminal>const</terminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>typeArguments</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>{</terminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><nonterminal>mapLiteralEntry</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><nonterminal>mapLiteralEntry</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression><ns0:expression><optional><ns0:expression><terminal>,</terminal></ns0:expression></optional></ns0:expression></sequence></ns0:expression></optional></ns0:expression><ns0:expression><terminal>}</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>mapLiteralEntry</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><terminal>:</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>stringLiteral</nonterminal></ns0:expression><ns0:expression><terminal>:</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>functionExpression</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><sequence><ns0:expression><optional><ns0:expression><nonterminal>returnType</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>formalParameterList</nonterminal></ns0:expression><ns0:expression><nonterminal>functionExpressionBody</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>functionExpressionBody</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><terminal>=></terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>block</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>thisExpression</nonterminal><ns0:expression><terminal>this</terminal></ns0:expression></ns0:production><ns0:production><nonterminal>newExpression</nonterminal><ns0:expression><sequence><ns0:expression><terminal>new</terminal></ns0:expression><ns0:expression><nonterminal>type</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>arguments</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>constObjectExpression</nonterminal><ns0:expression><sequence><ns0:expression><terminal>const</terminal></ns0:expression><ns0:expression><nonterminal>type</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>arguments</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>arguments</nonterminal><ns0:expression><sequence><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>argumentList</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>argumentList</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>namedArgument</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><nonterminal>namedArgument</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>expressionList</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><nonterminal>namedArgument</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>namedArgument</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>label</nonterminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>assignmentOperator</nonterminal><ns0:expression><choice><ns0:expression><terminal>=</terminal></ns0:expression><ns0:expression><nonterminal>compoundAssignmentOperator</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>compoundAssignmentOperator</nonterminal><ns0:expression><choice><ns0:expression><terminal>*=</terminal></ns0:expression><ns0:expression><terminal>/=</terminal></ns0:expression><ns0:expression><terminal>~/=</terminal></ns0:expression><ns0:expression><terminal>%=</terminal></ns0:expression><ns0:expression><terminal>+=</terminal></ns0:expression><ns0:expression><terminal>-=</terminal></ns0:expression><ns0:expression><terminal><<=</terminal></ns0:expression><ns0:expression><terminal>>>>=</terminal></ns0:expression><ns0:expression><terminal>>>=</terminal></ns0:expression><ns0:expression><terminal>&=</terminal></ns0:expression><ns0:expression><terminal>^=</terminal></ns0:expression><ns0:expression><terminal>|=</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>conditionalExpression</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>logicalOrExpression</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>?</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression><ns0:expression><terminal>:</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>logicalOrExpression</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>logicalAndExpression</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>||</terminal></ns0:expression><ns0:expression><nonterminal>logicalAndExpression</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>logicalAndExpression</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>bitwiseOrExpression</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>&&</terminal></ns0:expression><ns0:expression><nonterminal>bitwiseOrExpression</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>bitwiseOrExpression</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>bitwiseXorExpression</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>|</terminal></ns0:expression><ns0:expression><nonterminal>bitwiseXorExpression</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>super</terminal></ns0:expression><ns0:expression><plus><ns0:expression><sequence><ns0:expression><terminal>|</terminal></ns0:expression><ns0:expression><nonterminal>bitwiseXorExpression</nonterminal></ns0:expression></sequence></ns0:expression></plus></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>bitwiseXorExpression</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>bitwiseAndExpression</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>^</terminal></ns0:expression><ns0:expression><nonterminal>bitwiseAndExpression</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>super</terminal></ns0:expression><ns0:expression><plus><ns0:expression><sequence><ns0:expression><terminal>^</terminal></ns0:expression><ns0:expression><nonterminal>bitwiseAndExpression</nonterminal></ns0:expression></sequence></ns0:expression></plus></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>bitwiseAndExpression</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>equalityExpression</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>&</terminal></ns0:expression><ns0:expression><nonterminal>equalityExpression</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>super</terminal></ns0:expression><ns0:expression><plus><ns0:expression><sequence><ns0:expression><terminal>&</terminal></ns0:expression><ns0:expression><nonterminal>equalityExpression</nonterminal></ns0:expression></sequence></ns0:expression></plus></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>bitwiseOperator</nonterminal><ns0:expression><choice><ns0:expression><terminal>&</terminal></ns0:expression><ns0:expression><terminal>^</terminal></ns0:expression><ns0:expression><terminal>|</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>equalityExpression</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>relationalExpression</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><nonterminal>equalityOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>relationalExpression</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>super</terminal></ns0:expression><ns0:expression><nonterminal>equalityOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>relationalExpression</nonterminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>equalityOperator</nonterminal><ns0:expression><choice><ns0:expression><terminal>==</terminal></ns0:expression><ns0:expression><terminal>!=</terminal></ns0:expression><ns0:expression><terminal>===</terminal></ns0:expression><ns0:expression><terminal>!==</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>relationalExpression</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>shiftExpression</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>isOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>type</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>relationalOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>shiftExpression</nonterminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></optional></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>super</terminal></ns0:expression><ns0:expression><nonterminal>relationalOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>shiftExpression</nonterminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>relationalOperator</nonterminal><ns0:expression><choice><ns0:expression><terminal>>=</terminal></ns0:expression><ns0:expression><terminal>></terminal></ns0:expression><ns0:expression><terminal><=</terminal></ns0:expression><ns0:expression><terminal><</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>shiftExpression</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>additiveExpression</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><nonterminal>shiftOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>additiveExpression</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>super</terminal></ns0:expression><ns0:expression><plus><ns0:expression><sequence><ns0:expression><nonterminal>shiftOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>additiveExpression</nonterminal></ns0:expression></sequence></ns0:expression></plus></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>shiftOperator</nonterminal><ns0:expression><choice><ns0:expression><terminal><<</terminal></ns0:expression><ns0:expression><terminal>>>></terminal></ns0:expression><ns0:expression><terminal>>></terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>additiveExpression</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>multiplicativeExpression</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><nonterminal>additiveOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>multiplicativeExpression</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>super</terminal></ns0:expression><ns0:expression><plus><ns0:expression><sequence><ns0:expression><nonterminal>additiveOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>multiplicativeExpression</nonterminal></ns0:expression></sequence></ns0:expression></plus></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>additiveOperator</nonterminal><ns0:expression><choice><ns0:expression><terminal>+</terminal></ns0:expression><ns0:expression><terminal>-</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>multiplicativeExpression</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>unaryExpression</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><nonterminal>multiplicativeOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>unaryExpression</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>super</terminal></ns0:expression><ns0:expression><plus><ns0:expression><sequence><ns0:expression><nonterminal>multiplicativeOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>unaryExpression</nonterminal></ns0:expression></sequence></ns0:expression></plus></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>multiplicativeOperator</nonterminal><ns0:expression><choice><ns0:expression><terminal>*</terminal></ns0:expression><ns0:expression><terminal>/</terminal></ns0:expression><ns0:expression><terminal>%</terminal></ns0:expression><ns0:expression><terminal>~/</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>unaryExpression</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>prefixOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>unaryExpression</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>postfixExpression</nonterminal></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>unaryOperator</nonterminal></ns0:expression><ns0:expression><terminal>super</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>-</terminal></ns0:expression><ns0:expression><terminal>super</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>incrementOperator</nonterminal></ns0:expression><ns0:expression><nonterminal>assignableExpression</nonterminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>postfixExpression</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>assignableExpression</nonterminal></ns0:expression><ns0:expression><nonterminal>postfixOperator</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>primary</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>selector</nonterminal></ns0:expression></star></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>postfixOperator</nonterminal><ns0:expression><nonterminal>incrementOperator</nonterminal></ns0:expression></ns0:production><ns0:production><nonterminal>incrementOperator</nonterminal><ns0:expression><choice><ns0:expression><terminal>++</terminal></ns0:expression><ns0:expression><terminal>--</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>assignableExpression</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>primary</nonterminal></ns0:expression><ns0:expression><plus><ns0:expression><sequence><ns0:expression><star><ns0:expression><nonterminal>arguments</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><nonterminal>assignableSelector</nonterminal></ns0:expression></sequence></ns0:expression></plus></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>super</terminal></ns0:expression><ns0:expression><nonterminal>assignableSelector</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>selector</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>assignableSelector</nonterminal></ns0:expression><ns0:expression><nonterminal>arguments</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>assignableSelector</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><terminal>[</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression><ns0:expression><terminal>]</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>identifier</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>IDENTIFIER_NO_DOLLAR</nonterminal></ns0:expression><ns0:expression><nonterminal>IDENTIFIER</nonterminal></ns0:expression><ns0:expression><nonterminal>BUILT_IN_IDENTIFIER</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>IDENTIFIER_NO_DOLLAR</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>IDENTIFIER_START_NO_DOLLAR</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>IDENTIFIER_PART_NO_DOLLAR</nonterminal></ns0:expression></star></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>IDENTIFIER</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>IDENTIFIER_START</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>IDENTIFIER_PART</nonterminal></ns0:expression></star></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>BUILT_IN_IDENTIFIER</nonterminal><ns0:expression><choice><ns0:expression><terminal>abstract</terminal></ns0:expression><ns0:expression><terminal>assert</terminal></ns0:expression><ns0:expression><terminal>Dynamic</terminal></ns0:expression><ns0:expression><terminal>factory</terminal></ns0:expression><ns0:expression><terminal>get</terminal></ns0:expression><ns0:expression><terminal>implements</terminal></ns0:expression><ns0:expression><nonterminal>import</nonterminal></ns0:expression><ns0:expression><terminal>interface</terminal></ns0:expression><ns0:expression><terminal>library</terminal></ns0:expression><ns0:expression><terminal>negate</terminal></ns0:expression><ns0:expression><nonterminal>operator</nonterminal></ns0:expression><ns0:expression><terminal>set</terminal></ns0:expression><ns0:expression><terminal>source</terminal></ns0:expression><ns0:expression><terminal>static</terminal></ns0:expression><ns0:expression><terminal>typedef</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>IDENTIFIER_START</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>IDENTIFIER_START_NO_DOLLAR</nonterminal></ns0:expression><ns0:expression><terminal>$</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>IDENTIFIER_START_NO_DOLLAR</nonterminal><ns0:expression><choice><ns0:expression><terminal>LETTER</terminal></ns0:expression><ns0:expression><terminal>_</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>IDENTIFIER_PART_NO_DOLLAR</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>IDENTIFIER_START_NO_DOLLAR</nonterminal></ns0:expression><ns0:expression><nonterminal>DIGIT</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>IDENTIFIER_PART</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>IDENTIFIER_START</nonterminal></ns0:expression><ns0:expression><nonterminal>DIGIT</nonterminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>qualified</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>.</terminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>isOperator</nonterminal><ns0:expression><sequence><ns0:expression><terminal>is</terminal></ns0:expression><ns0:expression><optional><ns0:expression><terminal>!</terminal></ns0:expression></optional></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>statements</nonterminal><ns0:expression><star><ns0:expression><nonterminal>statement</nonterminal></ns0:expression></star></ns0:expression></ns0:production><ns0:production><nonterminal>statement</nonterminal><ns0:expression><sequence><ns0:expression><star><ns0:expression><nonterminal>label</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><nonterminal>nonLabelledStatement</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>nonLabelledStatement</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>block</nonterminal></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>initializedVariableDeclaration</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>forStatement</nonterminal></ns0:expression><ns0:expression><nonterminal>whileStatement</nonterminal></ns0:expression><ns0:expression><nonterminal>doStatement</nonterminal></ns0:expression><ns0:expression><nonterminal>switchStatement</nonterminal></ns0:expression><ns0:expression><nonterminal>ifStatement</nonterminal></ns0:expression><ns0:expression><nonterminal>tryStatement</nonterminal></ns0:expression><ns0:expression><nonterminal>breakStatement</nonterminal></ns0:expression><ns0:expression><nonterminal>continueStatement</nonterminal></ns0:expression><ns0:expression><nonterminal>returnStatement</nonterminal></ns0:expression><ns0:expression><nonterminal>throwStatement</nonterminal></ns0:expression><ns0:expression><nonterminal>expressionStatement</nonterminal></ns0:expression><ns0:expression><nonterminal>assertStatement</nonterminal></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>functionSignature</nonterminal></ns0:expression><ns0:expression><nonterminal>functionBody</nonterminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>expressionStatement</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>ifStatement</nonterminal><ns0:expression><sequence><ns0:expression><terminal>if</terminal></ns0:expression><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression><ns0:expression><nonterminal>statement</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>else</terminal></ns0:expression><ns0:expression><nonterminal>statement</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>forStatement</nonterminal><ns0:expression><sequence><ns0:expression><terminal>for</terminal></ns0:expression><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><nonterminal>forLoopParts</nonterminal></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression><ns0:expression><nonterminal>statement</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>forLoopParts</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>forInitializerStatement</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>expressionList</nonterminal></ns0:expression></optional></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>declaredIdentifier</nonterminal></ns0:expression><ns0:expression><terminal>in</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><terminal>in</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>forInitializerStatement</nonterminal><ns0:expression><choice><ns0:expression><sequence><ns0:expression><nonterminal>initializedVariableDeclaration</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><optional><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>whileStatement</nonterminal><ns0:expression><sequence><ns0:expression><terminal>while</terminal></ns0:expression><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression><ns0:expression><nonterminal>statement</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>doStatement</nonterminal><ns0:expression><sequence><ns0:expression><terminal>do</terminal></ns0:expression><ns0:expression><nonterminal>statement</nonterminal></ns0:expression><ns0:expression><terminal>while</terminal></ns0:expression><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>switchStatement</nonterminal><ns0:expression><sequence><ns0:expression><terminal>switch</terminal></ns0:expression><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression><ns0:expression><terminal>{</terminal></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>switchCase</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>defaultCase</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>}</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>switchCase</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><nonterminal>label</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><plus><ns0:expression><sequence><ns0:expression><terminal>case</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression><ns0:expression><terminal>:</terminal></ns0:expression></sequence></ns0:expression></plus></ns0:expression><ns0:expression><nonterminal>statements</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>defaultCase</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><nonterminal>label</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>case</terminal></ns0:expression><ns0:expression><nonterminal>expression</nonterminal></ns0:expression><ns0:expression><terminal>:</terminal></ns0:expression></sequence></ns0:expression></star></ns0:expression><ns0:expression><terminal>default</terminal></ns0:expression><ns0:expression><terminal>:</terminal></ns0:expression><ns0:expression><nonterminal>statements</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>tryStatement</nonterminal><ns0:expression><sequence><ns0:expression><terminal>try</terminal></ns0:expression><ns0:expression><nonterminal>block</nonterminal></ns0:expression><ns0:expression><choice><ns0:expression><sequence><ns0:expression><plus><ns0:expression><nonterminal>catchPart</nonterminal></ns0:expression></plus></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>finallyPart</nonterminal></ns0:expression></optional></ns0:expression></sequence></ns0:expression><ns0:expression><nonterminal>finallyPart</nonterminal></ns0:expression></choice></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>catchPart</nonterminal><ns0:expression><sequence><ns0:expression><terminal>catch</terminal></ns0:expression><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><nonterminal>simpleFormalParameter</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><nonterminal>simpleFormalParameter</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression><ns0:expression><nonterminal>block</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>finallyPart</nonterminal><ns0:expression><sequence><ns0:expression><terminal>finally</terminal></ns0:expression><ns0:expression><nonterminal>block</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>returnStatement</nonterminal><ns0:expression><sequence><ns0:expression><terminal>return</terminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>label</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><terminal>:</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>breakStatement</nonterminal><ns0:expression><sequence><ns0:expression><terminal>break</terminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>continueStatement</nonterminal><ns0:expression><sequence><ns0:expression><terminal>continue</terminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>throwStatement</nonterminal><ns0:expression><sequence><ns0:expression><terminal>throw</terminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>expression</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>assertStatement</nonterminal><ns0:expression><sequence><ns0:expression><terminal>assert</terminal></ns0:expression><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><nonterminal>conditionalExpression</nonterminal></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>topLevelDefinition</nonterminal><ns0:expression><choice><ns0:expression><nonterminal>classDefinition</nonterminal></ns0:expression><ns0:expression><nonterminal>interfaceDefinition</nonterminal></ns0:expression><ns0:expression><nonterminal>functionTypeAlias</nonterminal></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>functionSignature</nonterminal></ns0:expression><ns0:expression><nonterminal>functionBody</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><optional><ns0:expression><nonterminal>returnType</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>getOrSet</nonterminal></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression><ns0:expression><nonterminal>formalParameterList</nonterminal></ns0:expression><ns0:expression><nonterminal>functionBody</nonterminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>final</terminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>type</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>staticFinalDeclarationList</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression><ns0:expression><sequence><ns0:expression><nonterminal>variableDeclaration</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>getOrSet</nonterminal><ns0:expression><choice><ns0:expression><terminal>get</terminal></ns0:expression><ns0:expression><terminal>set</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>libraryDefinition</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><nonterminal>scriptTag</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>libraryName</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>import</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>include</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>resource</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>topLevelDefinition</nonterminal></ns0:expression></star></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>scriptTag</nonterminal><ns0:expression><sequence><ns0:expression><terminal>#!</terminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>~</terminal></ns0:expression><ns0:expression><nonterminal>NEWLINE</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression><ns0:expression><nonterminal>NEWLINE</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>libraryName</nonterminal><ns0:expression><sequence><ns0:expression><terminal>#</terminal></ns0:expression><ns0:expression><terminal>library</terminal></ns0:expression><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><nonterminal>stringLiteral</nonterminal></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>resource</nonterminal><ns0:expression><sequence><ns0:expression><terminal>#</terminal></ns0:expression><ns0:expression><terminal>resource</terminal></ns0:expression><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><nonterminal>stringLiteral</nonterminal></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>import</nonterminal><ns0:expression><sequence><ns0:expression><terminal>#</terminal></ns0:expression><ns0:expression><terminal>import</terminal></ns0:expression><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><nonterminal>stringLiteral</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><terminal>prefix:</terminal></ns0:expression><ns0:expression><nonterminal>stringLiteral</nonterminal></ns0:expression></sequence></ns0:expression></optional></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>include</nonterminal><ns0:expression><sequence><ns0:expression><terminal>#</terminal></ns0:expression><ns0:expression><terminal>source</terminal></ns0:expression><ns0:expression><terminal>(</terminal></ns0:expression><ns0:expression><nonterminal>stringLiteral</nonterminal></ns0:expression><ns0:expression><terminal>)</terminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>compilationUnit</nonterminal><ns0:expression><sequence><ns0:expression><star><ns0:expression><nonterminal>topLevelDefinition</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><nonterminal>EOF</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>scriptDefinition</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><nonterminal>scriptTag</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>libraryName</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>import</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>include</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>resource</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>topLevelDefinition</nonterminal></ns0:expression></star></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>type</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>qualified</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>typeArguments</nonterminal></ns0:expression></optional></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>typeArguments</nonterminal><ns0:expression><sequence><ns0:expression><terminal><</terminal></ns0:expression><ns0:expression><nonterminal>typeList</nonterminal></ns0:expression><ns0:expression><terminal>></terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>typeList</nonterminal><ns0:expression><sequence><ns0:expression><nonterminal>type</nonterminal></ns0:expression><ns0:expression><star><ns0:expression><sequence><ns0:expression><terminal>,</terminal></ns0:expression><ns0:expression><nonterminal>type</nonterminal></ns0:expression></sequence></ns0:expression></star></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>functionTypeAlias</nonterminal><ns0:expression><sequence><ns0:expression><terminal>typedef</terminal></ns0:expression><ns0:expression><nonterminal>functionPrefix</nonterminal></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>typeParameters</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>formalParameterList</nonterminal></ns0:expression><ns0:expression><terminal>;</terminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>functionPrefix</nonterminal><ns0:expression><sequence><ns0:expression><optional><ns0:expression><nonterminal>returnType</nonterminal></ns0:expression></optional></ns0:expression><ns0:expression><nonterminal>identifier</nonterminal></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>DIGIT</nonterminal><ns0:expression><choice><ns0:expression><terminal>0</terminal></ns0:expression><ns0:expression><terminal>1</terminal></ns0:expression><ns0:expression><terminal>2</terminal></ns0:expression><ns0:expression><terminal>3</terminal></ns0:expression><ns0:expression><terminal>4</terminal></ns0:expression><ns0:expression><terminal>5</terminal></ns0:expression><ns0:expression><terminal>6</terminal></ns0:expression><ns0:expression><terminal>7</terminal></ns0:expression><ns0:expression><terminal>8</terminal></ns0:expression><ns0:expression><terminal>9</terminal></ns0:expression></choice></ns0:expression></ns0:production><ns0:production><nonterminal>WHITESPACE</nonterminal><ns0:expression><plus><ns0:expression><choice><ns0:expression><terminal>\t</terminal></ns0:expression><ns0:expression><terminal> </terminal></ns0:expression><ns0:expression><nonterminal>NEWLINE</nonterminal></ns0:expression></choice></ns0:expression></plus></ns0:expression></ns0:production><ns0:production><nonterminal>SINGLE_LINE_COMMENT</nonterminal><ns0:expression><sequence><ns0:expression><terminal>//</terminal></ns0:expression><ns0:expression><terminal>~</terminal></ns0:expression><ns0:expression><star><ns0:expression><nonterminal>NEWLINE</nonterminal></ns0:expression></star></ns0:expression><ns0:expression><optional><ns0:expression><nonterminal>NEWLINE</nonterminal></ns0:expression></optional></ns0:expression></sequence></ns0:expression></ns0:production><ns0:production><nonterminal>MULTI_LINE_COMMENT</nonterminal><ns0:expression><sequence><ns0:expression><terminal>/*</terminal></ns0:expression><ns0:expression><star><ns0:expression><choice><ns0:expression><nonterminal>MULTI_LINE_COMMENT</nonterminal></ns0:expression><ns0:expression><sequence><ns0:expression><terminal>~</terminal></ns0:expression><ns0:expression><terminal>*/</terminal></ns0:expression></sequence></ns0:expression></choice></ns0:expression></star></ns0:expression><ns0:expression><terminal>*/</terminal></ns0:expression></sequence></ns0:expression></ns0:production></ns0:grammar>