Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
4808 lines (4807 sloc) 111 KB
<?xml version="1.0" encoding="UTF-8"?>
<xns1:grammar xmlns:xns1="http://planet-sl.org/bgf">
<xns1:production>
<nonterminal>variableDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>declaredIdentifier</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>initializedVariableDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>declaredIdentifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>initializedIdentifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>initializedIdentifierList</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>initializedIdentifier</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>initializedIdentifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>initializedIdentifier</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>declaredIdentifier</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>finalVarOrType</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>finalVarOrType</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>final</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<terminal>var</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>functionSignature</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>returnType</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formalParameterList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>functionPrefix</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>returnType</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>functionBody</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>=&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>block</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statements</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>formalParameterList</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>normalFormalParameters</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>namedFormalParameters</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>namedFormalParameters</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>normalFormalParameters</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>normalFormalParameter</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>normalFormalParameter</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>namedFormalParameters</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>defaultFormalParameter</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>defaultFormalParameter</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>normalFormalParameter</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>functionSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>fieldFormalParameter</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>simpleFormalParameter</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>simpleFormalParameter</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>declaredIdentifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>fieldFormalParameter</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>finalVarOrType</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>this</terminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>defaultFormalParameter</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>normalFormalParameter</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>classDefinition</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>class</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>typeParameters</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>superclass</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>interfaces</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>classMemberDefinition</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>classMemberDefinition</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>methodSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>functionBody</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>methodSignature</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>factoryConstructorSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>functionSignature</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>getterSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>setterSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>operatorSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>functionSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>initializers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>namedConstructorSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>initializers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>declaration</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>constantConstructorSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>redirection</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>initializers</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>constructorSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>redirection</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>initializers</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>functionSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>redirection</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>namedConstructorSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>redirection</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>abstract</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>getterSignature</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>abstract</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>setterSignature</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>abstract</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>operatorSignature</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>abstract</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>functionSignature</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
<xns1:expression>
<terminal>final</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>staticFinalDeclarationList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>initializedVariableDeclaration</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>staticFinalDeclarationList</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>staticFinalDeclaration</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>staticFinalDeclaration</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>staticFinalDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>operatorSignature</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>returnType</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>operator</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>operator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formalParameterList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>operator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>unaryOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>binaryOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>[]</terminal>
</xns1:expression>
<xns1:expression>
<terminal>[]=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>negate</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>unaryOperator</nonterminal>
<xns1:expression>
<nonterminal>negateOperator</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>binaryOperator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>multiplicativeOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>additiveOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>shiftOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>relationalOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>equalityOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>bitwiseOperator</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>prefixOperator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>additiveOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>negateOperator</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>negateOperator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>!</terminal>
</xns1:expression>
<xns1:expression>
<terminal>~</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>getterSignature</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>returnType</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>get</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formalParameterList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>setterSignature</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>returnType</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>set</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formalParameterList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>constructorSignature</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formalParameterList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>namedConstructorSignature</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>namedConstructorSignature</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formalParameterList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>redirection</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<terminal>this</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>arguments</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>initializers</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>superCallOrFieldInitializer</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>superCallOrFieldInitializer</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>superCallOrFieldInitializer</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>arguments</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>arguments</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>fieldInitializer</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>fieldInitializer</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>this</terminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>conditionalExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>factoryConstructorSignature</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>factory</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>qualified</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>typeVariables</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>formalParameterList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>constantConstructorSignature</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>const</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>qualified</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formalParameterList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>superclass</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>extends</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>interfaces</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>implements</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>typeList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>interfaceDefinition</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>interface</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>typeParameters</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>superinterfaces</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>factorySpecification</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>interfaceMemberDefinition</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>interfaceMemberDefinition</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
<xns1:expression>
<terminal>final</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>initializedIdentifierList</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>functionSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>constantConstructorSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>namedConstructorSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>getterSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>setterSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>operatorSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>variableDeclaration</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>factorySpecification</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>factory</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>typeParameters</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>superinterfaces</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>extends</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>typeList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>typeParameter</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>extends</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>typeParameters</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>&lt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>typeParameter</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>typeParameter</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>assignableExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>assignmentOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>conditionalExpression</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>expressionList</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>primary</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>thisExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>assignableSelector</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>functionExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>literal</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>newExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>constantObjectExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>literal</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>nullLiteral</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>booleanLiteral</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>numericLiteral</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>stringLiteral</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>mapLiteral</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>listLiteral</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>nullLiteral</nonterminal>
<xns1:expression>
<terminal>null</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>numericLiteral</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>NUMBER</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>HEX_NUMBER</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>NUMBER</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>DIGIT</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>DIGIT</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>EXPONENT</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>DIGIT</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>EXPONENT</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>EXPONENT</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>e</terminal>
</xns1:expression>
<xns1:expression>
<terminal>E</terminal>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
<xns1:expression>
<terminal>-</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>DIGIT</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>HEX_NUMBER</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>0x</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>0X</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>HEX_DIGIT</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>a</terminal>
</xns1:expression>
<xns1:expression>
<terminal>b</terminal>
</xns1:expression>
<xns1:expression>
<terminal>c</terminal>
</xns1:expression>
<xns1:expression>
<terminal>d</terminal>
</xns1:expression>
<xns1:expression>
<terminal>e</terminal>
</xns1:expression>
<xns1:expression>
<terminal>f</terminal>
</xns1:expression>
<xns1:expression>
<terminal>A</terminal>
</xns1:expression>
<xns1:expression>
<terminal>B</terminal>
</xns1:expression>
<xns1:expression>
<terminal>C</terminal>
</xns1:expression>
<xns1:expression>
<terminal>D</terminal>
</xns1:expression>
<xns1:expression>
<terminal>E</terminal>
</xns1:expression>
<xns1:expression>
<terminal>F</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>DIGIT</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>booleanLiteral</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>true</terminal>
</xns1:expression>
<xns1:expression>
<terminal>false</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>stringLiteral</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>@</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>MULTI_LINE_STRING</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>SINGLE_LINE_STRING</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SINGLE_LINE_STRING</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>"</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>STRING_CONTENT_DQ</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>"</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>'</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>STRING_CONTENT_SQ</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>'</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>@</terminal>
</xns1:expression>
<xns1:expression>
<terminal>'</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<any/>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>'</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>@</terminal>
</xns1:expression>
<xns1:expression>
<terminal>"</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<any/>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>"</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MULTI_LINE_STRING</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>"""</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<any/>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>"""</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>'''</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<any/>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>'''</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ESCAPE_SEQUENCE</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>\</terminal>
</xns1:expression>
<xns1:expression>
<terminal>n</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>\</terminal>
</xns1:expression>
<xns1:expression>
<terminal>r</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>\</terminal>
</xns1:expression>
<xns1:expression>
<terminal>f</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>\</terminal>
</xns1:expression>
<xns1:expression>
<terminal>b</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>\</terminal>
</xns1:expression>
<xns1:expression>
<terminal>t</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>\</terminal>
</xns1:expression>
<xns1:expression>
<terminal>v</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>\</terminal>
</xns1:expression>
<xns1:expression>
<terminal>x</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>\</terminal>
</xns1:expression>
<xns1:expression>
<terminal>u</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>\</terminal>
</xns1:expression>
<xns1:expression>
<terminal>u</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>HEX_DIGIT_SEQUENCE</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>HEX_DIGIT</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>STRING_CONTENT_DQ</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<any/>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>\</terminal>
</xns1:expression>
<xns1:expression>
<any/>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>STRING_INTERPOLATION</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>STRING_CONTENT_SQ</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<any/>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>\</terminal>
</xns1:expression>
<xns1:expression>
<any/>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>STRING_INTERPOLATION</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>NEWLINE</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>\n</terminal>
</xns1:expression>
<xns1:expression>
<terminal>\r</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>STRING_INTERPOLATION</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>$</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IDENTIFIER_NO_DOLLAR</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>$</terminal>
</xns1:expression>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>listLiteral</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>const</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>typeArguments</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>expressionList</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>mapLiteral</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>const</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>typeArguments</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>mapLiteralEntry</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>mapLiteralEntry</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>mapLiteralEntry</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>stringLiteral</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>functionExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>returnType</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>formalParameterList</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>functionExpressionBody</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>functionExpressionBody</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>=&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>thisExpression</nonterminal>
<xns1:expression>
<terminal>this</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>newExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>arguments</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>constantObjectExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>const</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>arguments</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>arguments</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>argumentList</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>argumentList</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>namedArgument</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>namedArgument</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>expressionList</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>namedArgument</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>namedArgument</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>label</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>assignmentOperator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>compoundAssignmentOperator</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>compoundAssignmentOperator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>*=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>/=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>~/=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>%=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>+=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>-=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;&lt;=</terminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>&lt;</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<terminal>&#38;=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>^=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>|=</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>conditionalExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>logicalOrExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>?</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>logicalOrExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>logicalAndExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>||</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>logicalAndExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>logicalAndExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>bitwiseOrExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>&#38;&#38;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>bitwiseOrExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>bitwiseOrExpression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>bitwiseXorExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>|</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>bitwiseXorExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>|</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>bitwiseXorExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>bitwiseXorExpression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>bitwiseAndExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>^</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>bitwiseAndExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>^</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>bitwiseAndExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>bitwiseAndExpression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>equalityExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>&#38;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>equalityExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>&#38;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>equalityExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>bitwiseOperator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>&#38;</terminal>
</xns1:expression>
<xns1:expression>
<terminal>^</terminal>
</xns1:expression>
<xns1:expression>
<terminal>|</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>equalityExpression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>relationalExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>equalityOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>relationalExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>equalityOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>relationalExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>equalityOperator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>==</terminal>
</xns1:expression>
<xns1:expression>
<terminal>!=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>===</terminal>
</xns1:expression>
<xns1:expression>
<terminal>!==</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>relationalExpression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>shiftExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>isOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>relationalOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>shiftExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>relationalOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>shiftExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>relationalOperator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>&gt;=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>shiftExpression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>additiveExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>shiftOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>additiveExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>shiftOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>additiveExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>shiftOperator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>&lt;&lt;</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;&gt;&gt;</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;&gt;</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>additiveExpression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>multiplicativeExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>additiveOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>multiplicativeExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>additiveOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>multiplicativeExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>additiveOperator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
<xns1:expression>
<terminal>-</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>multiplicativeExpression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>unaryExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>multiplicativeOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unaryExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>multiplicativeOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unaryExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>multiplicativeOperator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>*</terminal>
</xns1:expression>
<xns1:expression>
<terminal>/</terminal>
</xns1:expression>
<xns1:expression>
<terminal>%</terminal>
</xns1:expression>
<xns1:expression>
<terminal>~/</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>unaryExpression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>prefixExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>postfixExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>unaryOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>-</terminal>
</xns1:expression>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>incrementOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>assignableExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>prefixExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>prefixOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unaryExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>postfixExpression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>assignableExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>postfixOperator</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>primary</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>selector</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>postfixOperator</nonterminal>
<xns1:expression>
<nonterminal>incrementOperator</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>incrementOperator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>++</terminal>
</xns1:expression>
<xns1:expression>
<terminal>--</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>assignableExpression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>primary</nonterminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>arguments</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>assignableSelector</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>assignableSelector</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>selector</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>assignableSelector</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>arguments</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>assignableSelector</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>identifier</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>IDENTIFIER_NO_DOLLAR</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BUILT_IN_IDENTIFIER</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IDENTIFIER_NO_DOLLAR</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IDENTIFIER_START_NO_DOLLAR</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>IDENTIFIER_PART_NO_DOLLAR</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IDENTIFIER</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IDENTIFIER_START</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>IDENTIFIER_PART</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BUILT_IN_IDENTIFIER</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>abstract</terminal>
</xns1:expression>
<xns1:expression>
<terminal>assert</terminal>
</xns1:expression>
<xns1:expression>
<terminal>class</terminal>
</xns1:expression>
<xns1:expression>
<terminal>extends</terminal>
</xns1:expression>
<xns1:expression>
<terminal>factory</terminal>
</xns1:expression>
<xns1:expression>
<terminal>get</terminal>
</xns1:expression>
<xns1:expression>
<terminal>implements</terminal>
</xns1:expression>
<xns1:expression>
<terminal>import</terminal>
</xns1:expression>
<xns1:expression>
<terminal>interface</terminal>
</xns1:expression>
<xns1:expression>
<terminal>is</terminal>
</xns1:expression>
<xns1:expression>
<terminal>library</terminal>
</xns1:expression>
<xns1:expression>
<terminal>negate</terminal>
</xns1:expression>
<xns1:expression>
<terminal>operator</terminal>
</xns1:expression>
<xns1:expression>
<terminal>set</terminal>
</xns1:expression>
<xns1:expression>
<terminal>source</terminal>
</xns1:expression>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
<xns1:expression>
<terminal>typedef</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IDENTIFIER_START</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>IDENTIFIER_START_NO_DOLLAR</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>$</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IDENTIFIER_START_NO_DOLLAR</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>LETTER</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>_</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IDENTIFIER_PART_NO_DOLLAR</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>IDENTIFIER_START_NO_DOLLAR</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>DIGIT</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IDENTIFIER_PART</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>IDENTIFIER_START</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>DIGIT</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>qualified</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>isOperator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>is</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>!</terminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>statements</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>statement</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>label</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>nonLabelledStatement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>nonLabelledStatement</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>initializedVariableDeclaration</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>forStatement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>whileStatement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>doStatement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>switchStatement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ifStatement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>tryStatement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>breakStatement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>continueStatement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>returnStatement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>throwStatement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expressionStatement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>assertStatement</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>functionSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>functionBody</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>expressionStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ifStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>if</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statement</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>else</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>forStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>for</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>forLoopParts</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>forLoopParts</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>forInitializerStatement</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>expressionList</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>declaredIdentifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>in</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>in</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>forInitializerStatement</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>initializedVariableDeclaration</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>whileStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>while</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>doStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>do</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statement</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>while</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>switchStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>switch</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>switchCase</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>defaultCase</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>switchCase</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>label</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>case</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<nonterminal>statements</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>defaultCase</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>label</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>case</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>default</terminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statements</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>tryStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>try</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>catchPart</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>finallyPart</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>finallyPart</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>catchPart</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>catch</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>declaredIndentifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>declaredIndentifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>finallyPart</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>finally</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>returnStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>return</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>label</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>breakStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>break</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>continueStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>continue</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>throwStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>throw</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>assertStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>assert</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>conditionalExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>topLevelDefinition</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>classDefinition</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>interfaceDefinition</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>functionTypeAlias</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>functionSignature</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>functionBody</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>returnType</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>getOrSet</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formalParameterList</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>functionBody</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>final</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>staticFinalDeclarationList</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>variableDeclaration</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>getOrSet</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>get</terminal>
</xns1:expression>
<xns1:expression>
<terminal>set</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>libraryDefinition</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>scriptTag</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>libraryName</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>libraryImport</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>include</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>resource</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>topLevelDefinition</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>scriptTag</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>#!</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<any/>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>NEWLINE</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>libraryName</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>#</terminal>
</xns1:expression>
<xns1:expression>
<terminal>library</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>stringLiteral</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>resource</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>#</terminal>
</xns1:expression>
<xns1:expression>
<terminal>resource</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>stringLiteral</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>libraryImport</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>#</terminal>
</xns1:expression>
<xns1:expression>
<terminal>import</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>stringLiteral</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<terminal>prefix:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>stringLiteral</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>include</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>#</terminal>
</xns1:expression>
<xns1:expression>
<terminal>source</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>stringLiteral</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>compilationUnit</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>topLevelDefinition</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>EOF</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>scriptDefinition</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>scriptTag</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>libraryName</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>libraryImport</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>include</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>resource</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>topLevelDefinition</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>type</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>qualified</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>typeArguments</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>typeArguments</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>&lt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>typeList</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>typeList</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>functionTypeAlias</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>typedef</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>functionPrefix</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>typeParameters</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>formalParameterList</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LETTER</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>a</terminal>
</xns1:expression>
<xns1:expression>
<terminal>b</terminal>
</xns1:expression>
<xns1:expression>
<terminal>c</terminal>
</xns1:expression>
<xns1:expression>
<terminal>d</terminal>
</xns1:expression>
<xns1:expression>
<terminal>e</terminal>
</xns1:expression>
<xns1:expression>
<terminal>f</terminal>
</xns1:expression>
<xns1:expression>
<terminal>g</terminal>
</xns1:expression>
<xns1:expression>
<terminal>h</terminal>
</xns1:expression>
<xns1:expression>
<terminal>i</terminal>
</xns1:expression>
<xns1:expression>
<terminal>j</terminal>
</xns1:expression>
<xns1:expression>
<terminal>k</terminal>
</xns1:expression>
<xns1:expression>
<terminal>l</terminal>
</xns1:expression>
<xns1:expression>
<terminal>m</terminal>
</xns1:expression>
<xns1:expression>
<terminal>n</terminal>
</xns1:expression>
<xns1:expression>
<terminal>o</terminal>
</xns1:expression>
<xns1:expression>
<terminal>p</terminal>
</xns1:expression>
<xns1:expression>
<terminal>q</terminal>
</xns1:expression>
<xns1:expression>
<terminal>r</terminal>
</xns1:expression>
<xns1:expression>
<terminal>s</terminal>
</xns1:expression>
<xns1:expression>
<terminal>t</terminal>
</xns1:expression>
<xns1:expression>
<terminal>u</terminal>
</xns1:expression>
<xns1:expression>
<terminal>v</terminal>
</xns1:expression>
<xns1:expression>
<terminal>w</terminal>
</xns1:expression>
<xns1:expression>
<terminal>x</terminal>
</xns1:expression>
<xns1:expression>
<terminal>y</terminal>
</xns1:expression>
<xns1:expression>
<terminal>z</terminal>
</xns1:expression>
<xns1:expression>
<terminal>A</terminal>
</xns1:expression>
<xns1:expression>
<terminal>B</terminal>
</xns1:expression>
<xns1:expression>
<terminal>C</terminal>
</xns1:expression>
<xns1:expression>
<terminal>D</terminal>
</xns1:expression>
<xns1:expression>
<terminal>E</terminal>
</xns1:expression>
<xns1:expression>
<terminal>F</terminal>
</xns1:expression>
<xns1:expression>
<terminal>G</terminal>
</xns1:expression>
<xns1:expression>
<terminal>H</terminal>
</xns1:expression>
<xns1:expression>
<terminal>I</terminal>
</xns1:expression>
<xns1:expression>
<terminal>J</terminal>
</xns1:expression>
<xns1:expression>
<terminal>K</terminal>
</xns1:expression>
<xns1:expression>
<terminal>L</terminal>
</xns1:expression>
<xns1:expression>
<terminal>M</terminal>
</xns1:expression>
<xns1:expression>
<terminal>N</terminal>
</xns1:expression>
<xns1:expression>
<terminal>O</terminal>
</xns1:expression>
<xns1:expression>
<terminal>P</terminal>
</xns1:expression>
<xns1:expression>
<terminal>Q</terminal>
</xns1:expression>
<xns1:expression>
<terminal>R</terminal>
</xns1:expression>
<xns1:expression>
<terminal>S</terminal>
</xns1:expression>
<xns1:expression>
<terminal>T</terminal>
</xns1:expression>
<xns1:expression>
<terminal>U</terminal>
</xns1:expression>
<xns1:expression>
<terminal>V</terminal>
</xns1:expression>
<xns1:expression>
<terminal>W</terminal>
</xns1:expression>
<xns1:expression>
<terminal>X</terminal>
</xns1:expression>
<xns1:expression>
<terminal>Y</terminal>
</xns1:expression>
<xns1:expression>
<terminal>Z</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>DIGIT</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>0</terminal>
</xns1:expression>
<xns1:expression>
<terminal>1</terminal>
</xns1:expression>
<xns1:expression>
<terminal>2</terminal>
</xns1:expression>
<xns1:expression>
<terminal>3</terminal>
</xns1:expression>
<xns1:expression>
<terminal>4</terminal>
</xns1:expression>
<xns1:expression>
<terminal>5</terminal>
</xns1:expression>
<xns1:expression>
<terminal>6</terminal>
</xns1:expression>
<xns1:expression>
<terminal>7</terminal>
</xns1:expression>
<xns1:expression>
<terminal>8</terminal>
</xns1:expression>
<xns1:expression>
<terminal>9</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>WHITESPACE</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>\t</terminal>
</xns1:expression>
<xns1:expression>
<terminal> </terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NEWLINE</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SINGLE_LINE_COMMENT</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>//</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<any/>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>NEWLINE</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MULTI_LINE_COMMENT</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>/*</terminal>
</xns1