Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
187 lines (185 sloc) 102 KB
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf"><!--variableDeclaration, declaredIdentifier, finalConstVarOrType, varOrType, initializedVariableDeclaration, initializedIdentifier, initializedIdentifierList, functionSignature, returnType, functionBody, block, formalParameterList, normalFormalParameters, optionalFormalParameters, optionalPositionalFormalParameters, namedFormalParameters, normalFormalParameter, simpleFormalParameter, fieldFormalParameter, defaultFormalParameter, defaultNamedParameter, classDefinition, mixins, classMemberDefinition, methodSignature, declaration, staticFinalDeclarationList, staticFinalDeclaration, operatorSignature, operator, binaryOperator, getterSignature, setterSignature, constructorSignature, redirection, initializers, superCallOrFieldInitializer, fieldInitializer, factoryConstructorSignature, redirectingFactoryConstructorSignature, constantConstructorSignature, superclass, interfaces, mixinApplicationClass, mixinApplication, typeParameter, typeParameters, metadata, expression, expressionWithoutCascade, expressionList, primary, literal, nullLiteral, numericLiteral, NUMBER, EXPONENT, HEX_NUMBER, HEX_DIGIT, booleanLiteral, stringLiteral, singleLineString, multilineString, ESCAPE_SEQUENCE, HEX_DIGIT_SEQUENCE, stringContentDQ, stringContentSQ, stringContentTDQ, stringContentTSQ, NEWLINE, stringInterpolation, symbolLiteral, listLiteral, mapLiteral, mapLiteralEntry, throwExpression, throwExpressionWithoutCascade, functionExpression, functionExpressionBody, thisExpression, newExpression, constObjectExpression, arguments, argumentList, namedArgument, cascadeSection, cascadeSelector, assignmentOperator, compoundAssignmentOperator, conditionalExpression, logicalOrExpression, logicalAndExpression, equalityExpression, equalityOperator, relationalExpression, relationalOperator, bitwiseOrExpression, bitwiseXorExpression, bitwiseAndExpression, bitwiseOperator, shiftExpression, shiftOperator, additiveExpression, additiveOperator, multiplicativeExpression, multiplicativeOperator, unaryExpression, prefixOperator, minusOperator, negationOperator, tildeOperator, postfixExpression, postfixOperator, selector, incrementOperator, assignableExpression, assignableSelector, identifier, IDENTIFIER_NO_DOLLAR, IDENTIFIER, BUILT_IN_IDENTIFIER, IDENTIFIER_START, IDENTIFIER_START_NO_DOLLAR, IDENTIFIER_PART_NO_DOLLAR, IDENTIFIER_PART, qualified, typeTest, isOperator, typeCast, asOperator, statements, statement, nonLabelledStatement, expressionStatement, localVariableDeclaration, localFunctionDeclaration, ifStatement, forStatement, forLoopParts, forInitializerStatement, whileStatement, doStatement, switchStatement, switchCase, defaultCase, rethrowStatement, tryStatement, onPart, catchPart, finallyPart, returnStatement, label, breakStatement, continueStatement, assertStatement, topLevelDefinition, getOrSet, libraryDefinition, scriptTag, libraryName, importOrExport, libraryImport, combinator, identifierList, libraryExport, partDirective, partHeader, partDeclaration, uri, type, typeName, typeArguments, typeList, typeAlias, typeAliasBody, functionTypeAlias, functionPrefix, LETTER, DIGIT, WHITESPACE, SINGLE_LINE_COMMENT, MULTI_LINE_COMMENT-->
<bgf:production><nonterminal>variableDeclaration</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>declaredIdentifier</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>declaredIdentifier</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>metadata</nonterminal></bgf:expression><bgf:expression><nonterminal>finalConstVarOrType</nonterminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>finalConstVarOrType</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>final</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>type</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>const</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>type</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>varOrType</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>varOrType</nonterminal><bgf:expression><choice><bgf:expression><terminal>var</terminal></bgf:expression><bgf:expression><nonterminal>type</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>initializedVariableDeclaration</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>declaredIdentifier</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>=</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>initializedIdentifier</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>initializedIdentifier</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>=</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>initializedIdentifierList</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>initializedIdentifier</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>initializedIdentifier</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>functionSignature</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>metadata</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>returnType</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><nonterminal>formalParameterList</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>returnType</nonterminal><bgf:expression><choice><bgf:expression><terminal>void</terminal></bgf:expression><bgf:expression><nonterminal>type</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>functionBody</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>=&gt;</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>block</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>block</nonterminal><bgf:expression><sequence><bgf:expression><terminal>{</terminal></bgf:expression><bgf:expression><nonterminal>statements</nonterminal></bgf:expression><bgf:expression><terminal>}</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>formalParameterList</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>normalFormalParameters</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>optionalFormalParameters</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>optionalFormalParameters</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>normalFormalParameters</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>normalFormalParameter</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>normalFormalParameter</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>optionalFormalParameters</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>optionalPositionalFormalParameters</nonterminal></bgf:expression><bgf:expression><nonterminal>namedFormalParameters</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>optionalPositionalFormalParameters</nonterminal><bgf:expression><sequence><bgf:expression><terminal>[</terminal></bgf:expression><bgf:expression><nonterminal>defaultFormalParameter</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>defaultFormalParameter</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression><bgf:expression><terminal>]</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>namedFormalParameters</nonterminal><bgf:expression><sequence><bgf:expression><terminal>{</terminal></bgf:expression><bgf:expression><nonterminal>defaultNamedParameter</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>defaultNamedParameter</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression><bgf:expression><terminal>}</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>normalFormalParameter</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>functionSignature</nonterminal></bgf:expression><bgf:expression><nonterminal>fieldFormalParameter</nonterminal></bgf:expression><bgf:expression><nonterminal>simpleFormalParameter</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>simpleFormalParameter</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>declaredIdentifier</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>metadata</nonterminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>fieldFormalParameter</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>metadata</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>finalConstVarOrType</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>this</terminal></bgf:expression><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>formalParameterList</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>defaultFormalParameter</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>normalFormalParameter</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>=</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>defaultNamedParameter</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>normalFormalParameter</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>:</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>classDefinition</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>metadata</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><terminal>abstract</terminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>class</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>typeParameters</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><nonterminal>superclass</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>mixins</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>interfaces</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>{</terminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><nonterminal>metadata</nonterminal></bgf:expression><bgf:expression><nonterminal>classMemberDefinition</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression><bgf:expression><terminal>}</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>metadata</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><terminal>abstract</terminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>class</terminal></bgf:expression><bgf:expression><nonterminal>mixinApplicationClass</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>mixins</nonterminal><bgf:expression><sequence><bgf:expression><terminal>with</terminal></bgf:expression><bgf:expression><nonterminal>typeList</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>classMemberDefinition</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>declaration</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>methodSignature</nonterminal></bgf:expression><bgf:expression><nonterminal>functionBody</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>methodSignature</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>constructorSignature</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>initializers</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>factoryConstructorSignature</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><optional><bgf:expression><terminal>static</terminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>functionSignature</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><optional><bgf:expression><terminal>static</terminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>getterSignature</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><optional><bgf:expression><terminal>static</terminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>setterSignature</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>operatorSignature</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>declaration</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>constantConstructorSignature</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><choice><bgf:expression><nonterminal>redirection</nonterminal></bgf:expression><bgf:expression><nonterminal>initializers</nonterminal></bgf:expression></choice></bgf:expression></optional></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>constructorSignature</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><choice><bgf:expression><nonterminal>redirection</nonterminal></bgf:expression><bgf:expression><nonterminal>initializers</nonterminal></bgf:expression></choice></bgf:expression></optional></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>external</terminal></bgf:expression><bgf:expression><nonterminal>constantConstructorSignature</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>external</terminal></bgf:expression><bgf:expression><nonterminal>constructorSignature</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>external</terminal></bgf:expression><bgf:expression><optional><bgf:expression><terminal>static</terminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>getterSignature</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>external</terminal></bgf:expression><bgf:expression><optional><bgf:expression><terminal>static</terminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>setterSignature</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><optional><bgf:expression><terminal>external</terminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>operatorSignature</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>external</terminal></bgf:expression><bgf:expression><optional><bgf:expression><terminal>static</terminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>functionSignature</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>static</terminal></bgf:expression><bgf:expression><choice><bgf:expression><terminal>final</terminal></bgf:expression><bgf:expression><terminal>const</terminal></bgf:expression></choice></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>type</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>staticFinalDeclarationList</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>const</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>type</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>staticFinalDeclarationList</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>final</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>type</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>initializedIdentifierList</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><optional><bgf:expression><terminal>static</terminal></bgf:expression></optional></bgf:expression><bgf:expression><choice><bgf:expression><terminal>var</terminal></bgf:expression><bgf:expression><nonterminal>type</nonterminal></bgf:expression></choice></bgf:expression><bgf:expression><nonterminal>initializedIdentifierList</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>staticFinalDeclarationList</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>staticFinalDeclaration</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>staticFinalDeclaration</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>staticFinalDeclaration</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><terminal>=</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>operatorSignature</nonterminal><bgf:expression><sequence><bgf:expression><optional><bgf:expression><nonterminal>returnType</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>operator</terminal></bgf:expression><bgf:expression><nonterminal>operator</nonterminal></bgf:expression><bgf:expression><nonterminal>formalParameterList</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>operator</nonterminal><bgf:expression><choice><bgf:expression><terminal>~</terminal></bgf:expression><bgf:expression><nonterminal>binaryOperator</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>[</terminal></bgf:expression><bgf:expression><terminal>]</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>[</terminal></bgf:expression><bgf:expression><terminal>]</terminal></bgf:expression><bgf:expression><terminal>=</terminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>binaryOperator</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>multiplicativeOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>additiveOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>shiftOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>relationalOperator</nonterminal></bgf:expression><bgf:expression><terminal>==</terminal></bgf:expression><bgf:expression><nonterminal>bitwiseOperator</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>getterSignature</nonterminal><bgf:expression><sequence><bgf:expression><optional><bgf:expression><nonterminal>type</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>get</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>setterSignature</nonterminal><bgf:expression><sequence><bgf:expression><optional><bgf:expression><nonterminal>returnType</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>set</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><nonterminal>formalParameterList</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>constructorSignature</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>formalParameterList</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>redirection</nonterminal><bgf:expression><sequence><bgf:expression><terminal>:</terminal></bgf:expression><bgf:expression><terminal>this</terminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>arguments</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>initializers</nonterminal><bgf:expression><sequence><bgf:expression><terminal>:</terminal></bgf:expression><bgf:expression><nonterminal>superCallOrFieldInitializer</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>superCallOrFieldInitializer</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>superCallOrFieldInitializer</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>super</terminal></bgf:expression><bgf:expression><nonterminal>arguments</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>super</terminal></bgf:expression><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><nonterminal>arguments</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>fieldInitializer</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>fieldInitializer</nonterminal><bgf:expression><sequence><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>this</terminal></bgf:expression><bgf:expression><terminal>.</terminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><terminal>=</terminal></bgf:expression><bgf:expression><nonterminal>conditionalExpression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>cascadeSection</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>factoryConstructorSignature</nonterminal><bgf:expression><sequence><bgf:expression><terminal>factory</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>formalParameterList</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>redirectingFactoryConstructorSignature</nonterminal><bgf:expression><sequence><bgf:expression><optional><bgf:expression><terminal>const</terminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>factory</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>formalParameterList</nonterminal></bgf:expression><bgf:expression><terminal>=</terminal></bgf:expression><bgf:expression><nonterminal>type</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>constantConstructorSignature</nonterminal><bgf:expression><sequence><bgf:expression><terminal>const</terminal></bgf:expression><bgf:expression><nonterminal>qualified</nonterminal></bgf:expression><bgf:expression><nonterminal>formalParameterList</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>superclass</nonterminal><bgf:expression><sequence><bgf:expression><terminal>extends</terminal></bgf:expression><bgf:expression><nonterminal>type</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>interfaces</nonterminal><bgf:expression><sequence><bgf:expression><terminal>implements</terminal></bgf:expression><bgf:expression><nonterminal>typeList</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>mixinApplicationClass</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>typeParameters</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>=</terminal></bgf:expression><bgf:expression><nonterminal>mixinApplication</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>mixinApplication</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>type</nonterminal></bgf:expression><bgf:expression><nonterminal>mixins</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>interfaces</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>typeParameter</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>metadata</nonterminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>extends</terminal></bgf:expression><bgf:expression><nonterminal>type</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>typeParameters</nonterminal><bgf:expression><sequence><bgf:expression><terminal>&lt;</terminal></bgf:expression><bgf:expression><nonterminal>typeParameter</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>typeParameter</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression><bgf:expression><terminal>&gt;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>metadata</nonterminal><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>@</terminal></bgf:expression><bgf:expression><nonterminal>qualified</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>arguments</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></star></bgf:expression>
</bgf:production><bgf:production><nonterminal>expression</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>assignableExpression</nonterminal></bgf:expression><bgf:expression><nonterminal>assignmentOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>conditionalExpression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>cascadeSection</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>throwExpression</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>expressionWithoutCascade</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>assignableExpression</nonterminal></bgf:expression><bgf:expression><nonterminal>assignmentOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>expressionWithoutCascade</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>conditionalExpression</nonterminal></bgf:expression><bgf:expression><nonterminal>throwExpressionWithoutCascade</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>expressionList</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>primary</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>thisExpression</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>super</terminal></bgf:expression><bgf:expression><nonterminal>assignableSelector</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>functionExpression</nonterminal></bgf:expression><bgf:expression><nonterminal>literal</nonterminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><nonterminal>newExpression</nonterminal></bgf:expression><bgf:expression><nonterminal>constObjectExpression</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>literal</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>nullLiteral</nonterminal></bgf:expression><bgf:expression><nonterminal>booleanLiteral</nonterminal></bgf:expression><bgf:expression><nonterminal>numericLiteral</nonterminal></bgf:expression><bgf:expression><nonterminal>stringLiteral</nonterminal></bgf:expression><bgf:expression><nonterminal>symbolLiteral</nonterminal></bgf:expression><bgf:expression><nonterminal>mapLiteral</nonterminal></bgf:expression><bgf:expression><nonterminal>listLiteral</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>nullLiteral</nonterminal><bgf:expression><terminal>null</terminal></bgf:expression>
</bgf:production><bgf:production><nonterminal>numericLiteral</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>NUMBER</nonterminal></bgf:expression><bgf:expression><nonterminal>HEX_NUMBER</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>NUMBER</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><plus><bgf:expression><nonterminal>DIGIT</nonterminal></bgf:expression></plus></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><plus><bgf:expression><nonterminal>DIGIT</nonterminal></bgf:expression></plus></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>EXPONENT</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><plus><bgf:expression><nonterminal>DIGIT</nonterminal></bgf:expression></plus></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>EXPONENT</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>EXPONENT</nonterminal><bgf:expression><sequence><bgf:expression><choice><bgf:expression><terminal>e</terminal></bgf:expression><bgf:expression><terminal>E</terminal></bgf:expression></choice></bgf:expression><bgf:expression><optional><bgf:expression><choice><bgf:expression><terminal>+</terminal></bgf:expression><bgf:expression><terminal>-</terminal></bgf:expression></choice></bgf:expression></optional></bgf:expression><bgf:expression><plus><bgf:expression><nonterminal>DIGIT</nonterminal></bgf:expression></plus></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>HEX_NUMBER</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>0x</terminal></bgf:expression><bgf:expression><plus><bgf:expression><nonterminal>HEX_DIGIT</nonterminal></bgf:expression></plus></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>0X</terminal></bgf:expression><bgf:expression><plus><bgf:expression><nonterminal>HEX_DIGIT</nonterminal></bgf:expression></plus></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>HEX_DIGIT</nonterminal><bgf:expression><choice><bgf:expression><terminal>a</terminal></bgf:expression><bgf:expression><terminal>b</terminal></bgf:expression><bgf:expression><terminal>c</terminal></bgf:expression><bgf:expression><terminal>d</terminal></bgf:expression><bgf:expression><terminal>e</terminal></bgf:expression><bgf:expression><terminal>f</terminal></bgf:expression><bgf:expression><terminal>A</terminal></bgf:expression><bgf:expression><terminal>B</terminal></bgf:expression><bgf:expression><terminal>C</terminal></bgf:expression><bgf:expression><terminal>D</terminal></bgf:expression><bgf:expression><terminal>E</terminal></bgf:expression><bgf:expression><terminal>F</terminal></bgf:expression><bgf:expression><nonterminal>DIGIT</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>booleanLiteral</nonterminal><bgf:expression><choice><bgf:expression><terminal>true</terminal></bgf:expression><bgf:expression><terminal>false</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>stringLiteral</nonterminal><bgf:expression><plus><bgf:expression><choice><bgf:expression><nonterminal>multilineString</nonterminal></bgf:expression><bgf:expression><nonterminal>singleLineString</nonterminal></bgf:expression></choice></bgf:expression></plus></bgf:expression>
</bgf:production><bgf:production><nonterminal>singleLineString</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>DQUOTE</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>stringContentDQ</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>DQUOTE</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>DQUOTE</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>stringContentSQ</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>DQUOTE</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>r</terminal></bgf:expression><bgf:expression><nonterminal>DQUOTE</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><not><bgf:expression><choice><bgf:expression><nonterminal>DQUOTE</nonterminal></bgf:expression><bgf:expression><nonterminal>NEWLINE</nonterminal></bgf:expression></choice></bgf:expression></not></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>DQUOTE</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>multilineString</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>TDQUOTE</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>stringContentTDQ</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>TDQUOTE</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>TDQUOTE</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>stringContentTSQ</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>TDQUOTE</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>r</terminal></bgf:expression><bgf:expression><nonterminal>TDQUOTE</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><not><bgf:expression><nonterminal>TDQUOTE</nonterminal></bgf:expression></not></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>TDQUOTE</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>ESCAPE_SEQUENCE</nonterminal><bgf:expression><choice><bgf:expression><terminal>\n</terminal></bgf:expression><bgf:expression><terminal>\r</terminal></bgf:expression><bgf:expression><terminal>\f</terminal></bgf:expression><bgf:expression><terminal>\b</terminal></bgf:expression><bgf:expression><terminal>\t</terminal></bgf:expression><bgf:expression><terminal>\v</terminal></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>\x</terminal></bgf:expression><bgf:expression><nonterminal>HEX_DIGIT</nonterminal></bgf:expression><bgf:expression><nonterminal>HEX_DIGIT</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>\u</terminal></bgf:expression><bgf:expression><nonterminal>HEX_DIGIT</nonterminal></bgf:expression><bgf:expression><nonterminal>HEX_DIGIT</nonterminal></bgf:expression><bgf:expression><nonterminal>HEX_DIGIT</nonterminal></bgf:expression><bgf:expression><nonterminal>HEX_DIGIT</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>\u{</terminal></bgf:expression><bgf:expression><nonterminal>HEX_DIGIT_SEQUENCE</nonterminal></bgf:expression><bgf:expression><terminal>}</terminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>HEX_DIGIT_SEQUENCE</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>HEX_DIGIT</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>HEX_DIGIT</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>HEX_DIGIT</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>HEX_DIGIT</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>HEX_DIGIT</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>HEX_DIGIT</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>stringContentDQ</nonterminal><bgf:expression><choice><bgf:expression><not><bgf:expression><choice><bgf:expression><terminal>\</terminal></bgf:expression><bgf:expression><nonterminal>DQUOTE</nonterminal></bgf:expression><bgf:expression><terminal>$</terminal></bgf:expression><bgf:expression><nonterminal>NEWLINE</nonterminal></bgf:expression></choice></bgf:expression></not></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>\</terminal></bgf:expression><bgf:expression><not><bgf:expression><nonterminal>NEWLINE</nonterminal></bgf:expression></not></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>stringInterpolation</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>stringContentSQ</nonterminal><bgf:expression><choice><bgf:expression><not><bgf:expression><choice><bgf:expression><terminal>\</terminal></bgf:expression><bgf:expression><nonterminal>DQUOTE</nonterminal></bgf:expression><bgf:expression><terminal>$</terminal></bgf:expression><bgf:expression><nonterminal>NEWLINE</nonterminal></bgf:expression></choice></bgf:expression></not></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>\</terminal></bgf:expression><bgf:expression><not><bgf:expression><nonterminal>NEWLINE</nonterminal></bgf:expression></not></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>stringInterpolation</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>stringContentTDQ</nonterminal><bgf:expression><choice><bgf:expression><not><bgf:expression><choice><bgf:expression><terminal>\</terminal></bgf:expression><bgf:expression><nonterminal>TDQUOTE</nonterminal></bgf:expression><bgf:expression><terminal>$</terminal></bgf:expression></choice></bgf:expression></not></bgf:expression><bgf:expression><nonterminal>stringInterpolation</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>stringContentTSQ</nonterminal><bgf:expression><choice><bgf:expression><not><bgf:expression><choice><bgf:expression><terminal>\</terminal></bgf:expression><bgf:expression><nonterminal>TDQUOTE</nonterminal></bgf:expression><bgf:expression><terminal>$</terminal></bgf:expression></choice></bgf:expression></not></bgf:expression><bgf:expression><nonterminal>stringInterpolation</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>NEWLINE</nonterminal><bgf:expression><choice><bgf:expression><terminal>\n</terminal></bgf:expression><bgf:expression><terminal>\r</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>stringInterpolation</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>$</terminal></bgf:expression><bgf:expression><nonterminal>IDENTIFIER_NO_DOLLAR</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>$</terminal></bgf:expression><bgf:expression><terminal>{</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>}</terminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>symbolLiteral</nonterminal><bgf:expression><sequence><bgf:expression><terminal>#</terminal></bgf:expression><bgf:expression><choice><bgf:expression><nonterminal>operator</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression></choice></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>listLiteral</nonterminal><bgf:expression><sequence><bgf:expression><optional><bgf:expression><terminal>const</terminal></bgf:expression></optional></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>typeArguments</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>[</terminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><nonterminal>expressionList</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><terminal>,</terminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><terminal>]</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>mapLiteral</nonterminal><bgf:expression><sequence><bgf:expression><optional><bgf:expression><terminal>const</terminal></bgf:expression></optional></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>typeArguments</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>{</terminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><nonterminal>mapLiteralEntry</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>mapLiteralEntry</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression><bgf:expression><optional><bgf:expression><terminal>,</terminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><terminal>}</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>mapLiteralEntry</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>:</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>throwExpression</nonterminal><bgf:expression><sequence><bgf:expression><terminal>throw</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>throwExpressionWithoutCascade</nonterminal><bgf:expression><sequence><bgf:expression><terminal>throw</terminal></bgf:expression><bgf:expression><nonterminal>expressionWithoutCascade</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>functionExpression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>formalParameterList</nonterminal></bgf:expression><bgf:expression><nonterminal>functionExpressionBody</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>functionExpressionBody</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>=&gt;</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>block</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>thisExpression</nonterminal><bgf:expression><terminal>this</terminal></bgf:expression>
</bgf:production><bgf:production><nonterminal>newExpression</nonterminal><bgf:expression><sequence><bgf:expression><terminal>new</terminal></bgf:expression><bgf:expression><nonterminal>type</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>arguments</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>constObjectExpression</nonterminal><bgf:expression><sequence><bgf:expression><terminal>const</terminal></bgf:expression><bgf:expression><nonterminal>type</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>arguments</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>arguments</nonterminal><bgf:expression><sequence><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>argumentList</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>argumentList</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>namedArgument</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>namedArgument</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>expressionList</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>namedArgument</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>namedArgument</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>label</nonterminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>cascadeSection</nonterminal><bgf:expression><sequence><bgf:expression><terminal>..</terminal></bgf:expression><bgf:expression><nonterminal>cascadeSelector</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>arguments</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><nonterminal>assignableSelector</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>arguments</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></star></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><nonterminal>assignmentOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>expressionWithoutCascade</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>cascadeSelector</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>[</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>]</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>assignmentOperator</nonterminal><bgf:expression><choice><bgf:expression><terminal>=</terminal></bgf:expression><bgf:expression><nonterminal>compoundAssignmentOperator</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>compoundAssignmentOperator</nonterminal><bgf:expression><choice><bgf:expression><terminal>*=</terminal></bgf:expression><bgf:expression><terminal>/=</terminal></bgf:expression><bgf:expression><terminal>~/=</terminal></bgf:expression><bgf:expression><terminal>%=</terminal></bgf:expression><bgf:expression><terminal>+=</terminal></bgf:expression><bgf:expression><terminal>-=</terminal></bgf:expression><bgf:expression><terminal>&lt;&lt;=</terminal></bgf:expression><bgf:expression><terminal>&gt;&gt;=</terminal></bgf:expression><bgf:expression><terminal>&amp;=</terminal></bgf:expression><bgf:expression><terminal>^=</terminal></bgf:expression><bgf:expression><terminal>|=</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>conditionalExpression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>logicalOrExpression</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>?</terminal></bgf:expression><bgf:expression><nonterminal>expressionWithoutCascade</nonterminal></bgf:expression><bgf:expression><terminal>:</terminal></bgf:expression><bgf:expression><nonterminal>expressionWithoutCascade</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>logicalOrExpression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>logicalAndExpression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>||</terminal></bgf:expression><bgf:expression><nonterminal>logicalAndExpression</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>logicalAndExpression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>equalityExpression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>&amp;&amp;</terminal></bgf:expression><bgf:expression><nonterminal>equalityExpression</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>equalityExpression</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>relationalExpression</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><nonterminal>equalityOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>relationalExpression</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>super</terminal></bgf:expression><bgf:expression><nonterminal>equalityOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>relationalExpression</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>equalityOperator</nonterminal><bgf:expression><choice><bgf:expression><terminal>==</terminal></bgf:expression><bgf:expression><terminal>!=</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>relationalExpression</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>bitwiseOrExpression</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><choice><bgf:expression><nonterminal>typeTest</nonterminal></bgf:expression><bgf:expression><nonterminal>typeCast</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>relationalOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>bitwiseOrExpression</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression></optional></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>super</terminal></bgf:expression><bgf:expression><nonterminal>relationalOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>bitwiseOrExpression</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>relationalOperator</nonterminal><bgf:expression><choice><bgf:expression><terminal>&gt;=</terminal></bgf:expression><bgf:expression><terminal>&gt;</terminal></bgf:expression><bgf:expression><terminal>&lt;=</terminal></bgf:expression><bgf:expression><terminal>&lt;</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>bitwiseOrExpression</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>bitwiseXorExpression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>|</terminal></bgf:expression><bgf:expression><nonterminal>bitwiseXorExpression</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>super</terminal></bgf:expression><bgf:expression><plus><bgf:expression><sequence><bgf:expression><terminal>|</terminal></bgf:expression><bgf:expression><nonterminal>bitwiseXorExpression</nonterminal></bgf:expression></sequence></bgf:expression></plus></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>bitwiseXorExpression</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>bitwiseAndExpression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>^</terminal></bgf:expression><bgf:expression><nonterminal>bitwiseAndExpression</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>super</terminal></bgf:expression><bgf:expression><plus><bgf:expression><sequence><bgf:expression><terminal>^</terminal></bgf:expression><bgf:expression><nonterminal>bitwiseAndExpression</nonterminal></bgf:expression></sequence></bgf:expression></plus></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>bitwiseAndExpression</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>shiftExpression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>&amp;</terminal></bgf:expression><bgf:expression><nonterminal>shiftExpression</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>super</terminal></bgf:expression><bgf:expression><plus><bgf:expression><sequence><bgf:expression><terminal>&amp;</terminal></bgf:expression><bgf:expression><nonterminal>shiftExpression</nonterminal></bgf:expression></sequence></bgf:expression></plus></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>bitwiseOperator</nonterminal><bgf:expression><choice><bgf:expression><terminal>&amp;</terminal></bgf:expression><bgf:expression><terminal>^</terminal></bgf:expression><bgf:expression><terminal>|</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>shiftExpression</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>additiveExpression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><nonterminal>shiftOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>additiveExpression</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>super</terminal></bgf:expression><bgf:expression><plus><bgf:expression><sequence><bgf:expression><nonterminal>shiftOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>additiveExpression</nonterminal></bgf:expression></sequence></bgf:expression></plus></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>shiftOperator</nonterminal><bgf:expression><choice><bgf:expression><terminal>&lt;&lt;</terminal></bgf:expression><bgf:expression><terminal>&gt;&gt;</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>additiveExpression</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>multiplicativeExpression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><nonterminal>additiveOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>multiplicativeExpression</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>super</terminal></bgf:expression><bgf:expression><plus><bgf:expression><sequence><bgf:expression><nonterminal>additiveOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>multiplicativeExpression</nonterminal></bgf:expression></sequence></bgf:expression></plus></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>additiveOperator</nonterminal><bgf:expression><choice><bgf:expression><terminal>+</terminal></bgf:expression><bgf:expression><terminal>-</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>multiplicativeExpression</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>unaryExpression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><nonterminal>multiplicativeOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>unaryExpression</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>super</terminal></bgf:expression><bgf:expression><plus><bgf:expression><sequence><bgf:expression><nonterminal>multiplicativeOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>unaryExpression</nonterminal></bgf:expression></sequence></bgf:expression></plus></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>multiplicativeOperator</nonterminal><bgf:expression><choice><bgf:expression><terminal>*</terminal></bgf:expression><bgf:expression><terminal>/</terminal></bgf:expression><bgf:expression><terminal>%</terminal></bgf:expression><bgf:expression><terminal>~/</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>unaryExpression</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>prefixOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>unaryExpression</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>postfixExpression</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><choice><bgf:expression><nonterminal>minusOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>tildeOperator</nonterminal></bgf:expression></choice></bgf:expression><bgf:expression><terminal>super</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>incrementOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>assignableExpression</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>prefixOperator</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>minusOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>negationOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>tildeOperator</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>minusOperator</nonterminal><bgf:expression><choice><bgf:expression><terminal>-</terminal></bgf:expression><bgf:expression><epsilon /></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>negationOperator</nonterminal><bgf:expression><choice><bgf:expression><terminal>!</terminal></bgf:expression><bgf:expression><epsilon /></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>tildeOperator</nonterminal><bgf:expression><terminal>~</terminal></bgf:expression>
</bgf:production><bgf:production><nonterminal>postfixExpression</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>assignableExpression</nonterminal></bgf:expression><bgf:expression><nonterminal>postfixOperator</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>primary</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>selector</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>postfixOperator</nonterminal><bgf:expression><nonterminal>incrementOperator</nonterminal></bgf:expression>
</bgf:production><bgf:production><nonterminal>selector</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>assignableSelector</nonterminal></bgf:expression><bgf:expression><nonterminal>arguments</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>incrementOperator</nonterminal><bgf:expression><choice><bgf:expression><terminal>++</terminal></bgf:expression><bgf:expression><terminal>--</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>assignableExpression</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>primary</nonterminal></bgf:expression><bgf:expression><plus><bgf:expression><sequence><bgf:expression><star><bgf:expression><nonterminal>argument</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>assignableSelector</nonterminal></bgf:expression></sequence></bgf:expression></plus></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>super</terminal></bgf:expression><bgf:expression><nonterminal>assignableSelector</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>assignableSelector</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>[</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>]</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>identifier</nonterminal><bgf:expression><nonterminal>IDENTIFIER</nonterminal></bgf:expression>
</bgf:production><bgf:production><nonterminal>IDENTIFIER_NO_DOLLAR</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>IDENTIFIER_START_NO_DOLLAR</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>IDENTIFIER_PART_NO_DOLLAR</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>IDENTIFIER</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>IDENTIFIER_START</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>IDENTIFIER_PART</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>BUILT_IN_IDENTIFIER</nonterminal><bgf:expression><choice><bgf:expression><terminal>abstract</terminal></bgf:expression><bgf:expression><terminal>as</terminal></bgf:expression><bgf:expression><terminal>dynamic</terminal></bgf:expression><bgf:expression><terminal>export</terminal></bgf:expression><bgf:expression><terminal>external</terminal></bgf:expression><bgf:expression><terminal>factory</terminal></bgf:expression><bgf:expression><terminal>get</terminal></bgf:expression><bgf:expression><terminal>implements</terminal></bgf:expression><bgf:expression><terminal>import</terminal></bgf:expression><bgf:expression><terminal>library</terminal></bgf:expression><bgf:expression><terminal>operator</terminal></bgf:expression><bgf:expression><terminal>part</terminal></bgf:expression><bgf:expression><terminal>set</terminal></bgf:expression><bgf:expression><terminal>static</terminal></bgf:expression><bgf:expression><terminal>typedef</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>IDENTIFIER_START</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>IDENTIFIER_START_NO_DOLLAR</nonterminal></bgf:expression><bgf:expression><terminal>$</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>IDENTIFIER_START_NO_DOLLAR</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>LETTER</nonterminal></bgf:expression><bgf:expression><terminal>_</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>IDENTIFIER_PART_NO_DOLLAR</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>IDENTIFIER_START_NO_DOLLAR</nonterminal></bgf:expression><bgf:expression><nonterminal>DIGIT</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>IDENTIFIER_PART</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>IDENTIFIER_START</nonterminal></bgf:expression><bgf:expression><nonterminal>DIGIT</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>qualified</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>typeTest</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>isOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>type</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>isOperator</nonterminal><bgf:expression><sequence><bgf:expression><terminal>is</terminal></bgf:expression><bgf:expression><optional><bgf:expression><terminal>!</terminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>typeCast</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>asOperator</nonterminal></bgf:expression><bgf:expression><nonterminal>type</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>asOperator</nonterminal><bgf:expression><terminal>as</terminal></bgf:expression>
</bgf:production><bgf:production><nonterminal>statements</nonterminal><bgf:expression><star><bgf:expression><nonterminal>statement</nonterminal></bgf:expression></star></bgf:expression>
</bgf:production><bgf:production><nonterminal>statement</nonterminal><bgf:expression><sequence><bgf:expression><star><bgf:expression><nonterminal>label</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>nonLabelledStatement</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>nonLabelledStatement</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>block</nonterminal></bgf:expression><bgf:expression><nonterminal>localVariableDeclaration</nonterminal></bgf:expression><bgf:expression><nonterminal>forStatement</nonterminal></bgf:expression><bgf:expression><nonterminal>whileStatement</nonterminal></bgf:expression><bgf:expression><nonterminal>doStatement</nonterminal></bgf:expression><bgf:expression><nonterminal>switchStatement</nonterminal></bgf:expression><bgf:expression><nonterminal>ifStatement</nonterminal></bgf:expression><bgf:expression><nonterminal>rethrowStatement</nonterminal></bgf:expression><bgf:expression><nonterminal>tryStatement</nonterminal></bgf:expression><bgf:expression><nonterminal>breakStatement</nonterminal></bgf:expression><bgf:expression><nonterminal>continueStatement</nonterminal></bgf:expression><bgf:expression><nonterminal>returnStatement</nonterminal></bgf:expression><bgf:expression><nonterminal>expressionStatement</nonterminal></bgf:expression><bgf:expression><nonterminal>assertStatement</nonterminal></bgf:expression><bgf:expression><nonterminal>localFunctionDeclaration</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>expressionStatement</nonterminal><bgf:expression><sequence><bgf:expression><optional><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>localVariableDeclaration</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>initializedVariableDeclaration</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>localFunctionDeclaration</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>functionSignature</nonterminal></bgf:expression><bgf:expression><nonterminal>functionBody</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>ifStatement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>if</terminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><nonterminal>statement</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>else</terminal></bgf:expression><bgf:expression><nonterminal>statement</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>forStatement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>for</terminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>forLoopParts</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><nonterminal>statement</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>forLoopParts</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>forInitializerStatement</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>expressionList</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>declaredIdentifier</nonterminal></bgf:expression><bgf:expression><terminal>in</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><terminal>in</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>forInitializerStatement</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>localVariableDeclaration</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><optional><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>whileStatement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>while</terminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><nonterminal>statement</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>doStatement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>do</terminal></bgf:expression><bgf:expression><nonterminal>statement</nonterminal></bgf:expression><bgf:expression><terminal>while</terminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>switchStatement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>switch</terminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><terminal>{</terminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>switchCase</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>defaultCase</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>}</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>switchCase</nonterminal><bgf:expression><sequence><bgf:expression><star><bgf:expression><nonterminal>label</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><terminal>case</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>:</terminal></bgf:expression><bgf:expression><nonterminal>statements</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>defaultCase</nonterminal><bgf:expression><sequence><bgf:expression><star><bgf:expression><nonterminal>label</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><terminal>default</terminal></bgf:expression><bgf:expression><terminal>:</terminal></bgf:expression><bgf:expression><nonterminal>statements</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>rethrowStatement</nonterminal><bgf:expression><terminal>rethrow</terminal></bgf:expression>
</bgf:production><bgf:production><nonterminal>tryStatement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>try</terminal></bgf:expression><bgf:expression><nonterminal>block</nonterminal></bgf:expression><bgf:expression><choice><bgf:expression><sequence><bgf:expression><plus><bgf:expression><nonterminal>onPart</nonterminal></bgf:expression></plus></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>finallyPart</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>finallyPart</nonterminal></bgf:expression></choice></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>onPart</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>catchPart</nonterminal></bgf:expression><bgf:expression><nonterminal>block</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>on</terminal></bgf:expression><bgf:expression><nonterminal>type</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>catchPart</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>block</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>catchPart</nonterminal><bgf:expression><sequence><bgf:expression><terminal>catch</terminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>finallyPart</nonterminal><bgf:expression><sequence><bgf:expression><terminal>finally</terminal></bgf:expression><bgf:expression><nonterminal>block</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>returnStatement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>return</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>label</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><terminal>:</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>breakStatement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>break</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>continueStatement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>continue</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>assertStatement</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>assert</nonterminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>conditionalExpression</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>topLevelDefinition</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>classDefinition</nonterminal></bgf:expression><bgf:expression><nonterminal>typeAlias</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><optional><bgf:expression><terminal>external</terminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>functionSignature</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><optional><bgf:expression><terminal>external</terminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>getterSignature</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><optional><bgf:expression><terminal>external</terminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>setterSignature</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>functionSignature</nonterminal></bgf:expression><bgf:expression><nonterminal>functionBody</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><optional><bgf:expression><nonterminal>returnType</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>getOrSet</nonterminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><nonterminal>formalParameterList</nonterminal></bgf:expression><bgf:expression><nonterminal>functionBody</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><choice><bgf:expression><terminal>final</terminal></bgf:expression><bgf:expression><terminal>const</terminal></bgf:expression></choice></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>type</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>staticFinalDeclarationList</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>variableDeclaration</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>getOrSet</nonterminal><bgf:expression><choice><bgf:expression><terminal>get</terminal></bgf:expression><bgf:expression><terminal>set</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>libraryDefinition</nonterminal><bgf:expression><sequence><bgf:expression><optional><bgf:expression><nonterminal>scriptTag</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>libraryName</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>importOrExport</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>partDirective</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>topLevelDefinition</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>scriptTag</nonterminal><bgf:expression><sequence><bgf:expression><terminal>#!</terminal></bgf:expression><bgf:expression><star><bgf:expression><not><bgf:expression><nonterminal>NEWLINE</nonterminal></bgf:expression></not></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>NEWLINE</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>libraryName</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>metadata</nonterminal></bgf:expression><bgf:expression><terminal>library</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>importOrExport</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>libraryImport</nonterminal></bgf:expression><bgf:expression><nonterminal>libraryExport</nonterminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>libraryImport</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>metadata</nonterminal></bgf:expression><bgf:expression><terminal>import</terminal></bgf:expression><bgf:expression><nonterminal>uri</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><sequence><bgf:expression><terminal>as</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></optional></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>combinator</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>combinator</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>show</terminal></bgf:expression><bgf:expression><nonterminal>identifierList</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>hide</terminal></bgf:expression><bgf:expression><nonterminal>identifierList</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>identifierList</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>libraryExport</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>metadata</nonterminal></bgf:expression><bgf:expression><terminal>export</terminal></bgf:expression><bgf:expression><nonterminal>uri</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>combinator</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>partDirective</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>metadata</nonterminal></bgf:expression><bgf:expression><terminal>part</terminal></bgf:expression><bgf:expression><nonterminal>uri</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>partHeader</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>metadata</nonterminal></bgf:expression><bgf:expression><terminal>part</terminal></bgf:expression><bgf:expression><terminal>of</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>partDeclaration</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>partHeader</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>topLevelDefinition</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>EOF</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>uri</nonterminal><bgf:expression><nonterminal>stringLiteral</nonterminal></bgf:expression>
</bgf:production><bgf:production><nonterminal>type</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>typeName</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>typeArguments</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>typeName</nonterminal><bgf:expression><nonterminal>qualified</nonterminal></bgf:expression>
</bgf:production><bgf:production><nonterminal>typeArguments</nonterminal><bgf:expression><sequence><bgf:expression><terminal>&lt;</terminal></bgf:expression><bgf:expression><nonterminal>typeList</nonterminal></bgf:expression><bgf:expression><terminal>&gt;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>typeList</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>type</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><sequence><bgf:expression><terminal>,</terminal></bgf:expression><bgf:expression><nonterminal>type</nonterminal></bgf:expression></sequence></bgf:expression></star></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>typeAlias</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>metadata</nonterminal></bgf:expression><bgf:expression><terminal>typedef</terminal></bgf:expression><bgf:expression><nonterminal>typeAliasBody</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>typeAliasBody</nonterminal><bgf:expression><nonterminal>functionTypeAlias</nonterminal></bgf:expression>
</bgf:production><bgf:production><nonterminal>functionTypeAlias</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>functionPrefix</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>typeParameters</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>formalParameterList</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>functionPrefix</nonterminal><bgf:expression><sequence><bgf:expression><optional><bgf:expression><nonterminal>returnType</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>identifier</nonterminal></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>LETTER</nonterminal><bgf:expression><choice><bgf:expression><terminal>a</terminal></bgf:expression><bgf:expression><terminal>b</terminal></bgf:expression><bgf:expression><terminal>c</terminal></bgf:expression><bgf:expression><terminal>d</terminal></bgf:expression><bgf:expression><terminal>e</terminal></bgf:expression><bgf:expression><terminal>f</terminal></bgf:expression><bgf:expression><terminal>g</terminal></bgf:expression><bgf:expression><terminal>h</terminal></bgf:expression><bgf:expression><terminal>i</terminal></bgf:expression><bgf:expression><terminal>j</terminal></bgf:expression><bgf:expression><terminal>k</terminal></bgf:expression><bgf:expression><terminal>l</terminal></bgf:expression><bgf:expression><terminal>m</terminal></bgf:expression><bgf:expression><terminal>n</terminal></bgf:expression><bgf:expression><terminal>o</terminal></bgf:expression><bgf:expression><terminal>p</terminal></bgf:expression><bgf:expression><terminal>q</terminal></bgf:expression><bgf:expression><terminal>r</terminal></bgf:expression><bgf:expression><terminal>s</terminal></bgf:expression><bgf:expression><terminal>t</terminal></bgf:expression><bgf:expression><terminal>u</terminal></bgf:expression><bgf:expression><terminal>v</terminal></bgf:expression><bgf:expression><terminal>w</terminal></bgf:expression><bgf:expression><terminal>x</terminal></bgf:expression><bgf:expression><terminal>y</terminal></bgf:expression><bgf:expression><terminal>z</terminal></bgf:expression><bgf:expression><terminal>A</terminal></bgf:expression><bgf:expression><terminal>B</terminal></bgf:expression><bgf:expression><terminal>C</terminal></bgf:expression><bgf:expression><terminal>D</terminal></bgf:expression><bgf:expression><terminal>E</terminal></bgf:expression><bgf:expression><terminal>F</terminal></bgf:expression><bgf:expression><terminal>G</terminal></bgf:expression><bgf:expression><terminal>H</terminal></bgf:expression><bgf:expression><terminal>I</terminal></bgf:expression><bgf:expression><terminal>J</terminal></bgf:expression><bgf:expression><terminal>K</terminal></bgf:expression><bgf:expression><terminal>L</terminal></bgf:expression><bgf:expression><terminal>M</terminal></bgf:expression><bgf:expression><terminal>N</terminal></bgf:expression><bgf:expression><terminal>O</terminal></bgf:expression><bgf:expression><terminal>P</terminal></bgf:expression><bgf:expression><terminal>Q</terminal></bgf:expression><bgf:expression><terminal>R</terminal></bgf:expression><bgf:expression><terminal>S</terminal></bgf:expression><bgf:expression><terminal>T</terminal></bgf:expression><bgf:expression><terminal>U</terminal></bgf:expression><bgf:expression><terminal>V</terminal></bgf:expression><bgf:expression><terminal>W</terminal></bgf:expression><bgf:expression><terminal>X</terminal></bgf:expression><bgf:expression><terminal>Y</terminal></bgf:expression><bgf:expression><terminal>Z</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>DIGIT</nonterminal><bgf:expression><choice><bgf:expression><terminal>0</terminal></bgf:expression><bgf:expression><terminal>1</terminal></bgf:expression><bgf:expression><terminal>2</terminal></bgf:expression><bgf:expression><terminal>3</terminal></bgf:expression><bgf:expression><terminal>4</terminal></bgf:expression><bgf:expression><terminal>5</terminal></bgf:expression><bgf:expression><terminal>6</terminal></bgf:expression><bgf:expression><terminal>7</terminal></bgf:expression><bgf:expression><terminal>8</terminal></bgf:expression><bgf:expression><terminal>9</terminal></bgf:expression></choice></bgf:expression>
</bgf:production><bgf:production><nonterminal>WHITESPACE</nonterminal><bgf:expression><plus><bgf:expression><choice><bgf:expression><terminal>\t</terminal></bgf:expression><bgf:expression><terminal> </terminal></bgf:expression><bgf:expression><nonterminal>NEWLINE</nonterminal></bgf:expression></choice></bgf:expression></plus></bgf:expression>
</bgf:production><bgf:production><nonterminal>SINGLE_LINE_COMMENT</nonterminal><bgf:expression><sequence><bgf:expression><terminal>//</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>NEWLINE</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression>
</bgf:production><bgf:production><nonterminal>MULTI_LINE_COMMENT</nonterminal><bgf:expression><sequence><bgf:expression><terminal>/*</terminal></bgf:expression><bgf:expression><star><bgf:expression><choice><bgf:expression><nonterminal>MULTI_LINE_COMMENT</nonterminal></bgf:expression><bgf:expression><not><bgf:expression><terminal>*/</terminal></bgf:expression></not></bgf:expression></choice></bgf:expression></star></bgf:expression><bgf:expression><terminal>*/</terminal></bgf:expression></sequence></bgf:expression>
</bgf:production></bgf:grammar>