Hybrid:

Hybrid   ::= Script
           | ExpressionTuple
           | Template

no references


AssignmentListDestructureTarget:

AssignmentListDestructureTarget
         ::= '[' ( '...' AssignmentBindingTarget | AssignmentElement ( ',' AssignmentElement )* ( ',' '...' AssignmentBindingTarget )? ) ']'

referenced by:


AssignmentElement:

AssignmentElement
         ::= AssignmentBindingTarget ( '=' Expression )?

referenced by:


AssignmentObjectDestructureTarget:

AssignmentObjectDestructureTarget
         ::= '{' ( '...' AssignmentBindingTarget | AssignmentProperty ( ',' AssignmentProperty )* ( ',' '...' AssignmentBindingTarget )? )? '}'

referenced by:


AssignmentProperty:

AssignmentProperty
         ::= PropertyName ( '=' Expression | ':' AssignmentElement )?

referenced by:


AssignmentBindingTarget:

AssignmentBindingTarget
         ::= AssignmentListDestructureTarget
           | AssignmentObjectDestructureTarget
           | VariableName - ReservedWords

referenced by:


AssignmentTarget:

AssignmentTarget
         ::= AssignmentBindingTarget
           | Reference

referenced by:


DataType:

DataType ::= 'any'
           | 'anyURI'
           | 'base64Binary'
           | 'boolean'
           | 'date'
           | 'dataTimeDuration'
           | 'dnsName'
           | 'double'
           | 'expression'
           | 'function'
           | 'hexBinary'
           | 'hybrid'
           | 'ia5String'
           | 'implied'
           | 'integer'
           | 'ipAddress'
           | 'list'
           | 'null'
           | 'object'
           | 'objectId'
           | 'objectPath'
           | 'password'
           | 'rfc822Name'
           | 'string'
           | 'template'
           | 'time'
           | 'unevaluated'
           | 'x500Name'
           | 'xpathExpression'
           | 'yearMonthDuration'

referenced by:


ObjectType:

ObjectType
         ::= String

referenced by:


Category:

Category ::= Identifier

referenced by:


FunctionName:

FunctionName
         ::= ( 'fn' '::' )? Identifier ( '<' DataType '>' )?

referenced by:


MethodName:

MethodName
         ::= ( ( 'fn' | Category | Qualifier ) '::' )? Identifier

referenced by:


ParameterName:

ParameterName
         ::= Identifier - ReservedWords

referenced by:


PropertyName:

PropertyName
         ::= Identifier

referenced by:


Qualifier:

Qualifier
         ::= Identifier

referenced by:


VariableName:

VariableName
         ::= Identifier - ReservedWords

referenced by:


VariableReference:

VariableReference
         ::= ( Qualifier '::' Identifier | VariableName )?

referenced by:


Reference:

Reference
         ::= Evaluation

referenced by:


EntryFunctionLambdaOrVariableReference:

EntryFunctionLambdaOrVariableReference
         ::= FunctionName
           | Lambda
           | VariableReference

referenced by:


Evaluation:

Evaluation
         ::= EntryFunctionLambdaOrVariableReference ( '?.'? Parameters )? ( '?.'? ( ParametersExceptFirst | '[' Expression ']' ) | ( '.' | '?.' ) PropertyName | ( '->' | '?->' ) EntryFunctionLambdaOrVariableReference '?.'? ParametersExceptFirst )*

referenced by:


ParameterList:

ParameterList
         ::= ( RequiredParameterList | OptionalParameterList ) ( ',' OptionalParameterList )* ( ',' EllipsisParameter )?
           | EllipsisParameter

referenced by:


RequiredParameterList:

RequiredParameterList
         ::= ParameterName OptionalType ( ',' ParameterName OptionalType )*

referenced by:


OptionalParameterList:

OptionalParameterList
         ::= ParameterName '?'? OptionalType ( '=' Literal )? ( ',' ParameterName '?'? OptionalType ( '=' Literal )? )*

referenced by:


EllipsisParameter:

EllipsisParameter
         ::= '...' ParameterName OptionalType

referenced by:


FunctionDeclarationObject:

FunctionDeclarationObject
         ::= object

referenced by:


FunctionSignature:

FunctionSignature
         ::= '(' ParameterList ')' OptionalReturnType

referenced by:


FunctionSignatureAndBody:

FunctionSignatureAndBody
         ::= FunctionSignature FunctionBody

referenced by:


FunctionBody:

FunctionBody
         ::= '{' Script '}'
           | Expression

referenced by:


SelfReferenceLambdaName:

SelfReferenceLambdaName
         ::= FunctionName - ReservedWords

referenced by:


Lambda:

Lambda   ::= 'function' SelfReferenceLambdaName? FunctionSignatureAndBody

referenced by:


Parameters:

Parameters
         ::= '(' Expression ( ',' Expression )* ')'

referenced by:


ParametersExceptFirst:

ParametersExceptFirst
         ::= Parameters

referenced by:


ParenthesizedExpression:

ParenthesizedExpression
         ::= '(' Expression ')' Parameters*

referenced by:


MediaType:

MediaType
         ::= String

referenced by:


ListOf:

ListOf   ::= 'of' ( 'list' 'of' )* Type

referenced by:


DataTypeWithParameter:

DataTypeWithParameter
         ::= '(' ( 'base64Binary' | 'hexBinary' | 'string' ) MediaType
           | ( 'expression' | 'hybrid' | 'script' | 'template' ) ReturnType
           | 'function' FunctionSignature
           | 'list' ListOf
           | ( 'object' | 'objectId' ) ObjectType
           | 'unevaluated' Type
           | ')'

referenced by:


TypeName:

TypeName ::= DataType
           | TypeVariableName
           | InterfaceName

referenced by:


TypeObject:

TypeObject
         ::= '{' PropertyName '?'? ':' Type ( ',' PropertyName '?'? ':' Type )* ','? '}' ';'

referenced by:


ValueMeta:

ValueMeta
         ::= 'meta' Object

referenced by:


Type:

Type     ::= DataTypeWithParameter
           | TypeName
           | TypeObject
           | ValueMeta

referenced by:


OptionalType:

OptionalType
         ::= ( ':' Type )?

referenced by:


OptionalReturnType:

OptionalReturnType
         ::= ( ':' ( 'void' | Type ) )?

referenced by:


NullishCoalescing:

NullishCoalescing
         ::= LogicalExpression ( '??' LogicalExpression )*

referenced by:


LogicalExpression:

LogicalExpression
         ::= LogicalAnd ( '||' LogicalAnd )*

referenced by:


LogicalAnd:

LogicalAnd
         ::= Equality ( '&&' Equality )*

referenced by:


Equality:

Equality ::= Comparison ( ( '==' | '===' | '!=' | '!==' ) Comparison )*

referenced by:


Comparison:

Comparison
         ::= Factor ( ( '<' | '<=' | '>' | '>=' ) Factor )*

referenced by:


Factor:

Factor   ::= Term ( ( '+' | '-' ) Term )*

referenced by:


Term:

Term     ::= Exponentiation ( ( '*' | '/' | '%' ) Exponentiation )*

referenced by:


Exponentiation:

Exponentiation
         ::= Prefixed ( '**' Prefixed )*

referenced by:


Prefixed:

Prefixed ::= ( '+' | '-' | '!' | 'void' )? Value

referenced by:


Expression:

Expression
         ::= NullishCoalescing ( '?' Expression ':' Expression )?

referenced by:


QuotedExpression:

QuotedExpression
         ::= '"' Expression '"'
          /* ws: explicit */

referenced by:


QuotedFunctionName:

QuotedFunctionName
         ::= '"' FunctionName '"'
          /* ws: explicit */

referenced by:


QuotedMethodName:

QuotedMethodName
         ::= '"' MethodName '"'
          /* ws: explicit */

no references


QuotedPropertyName:

QuotedPropertyName
         ::= '"' PropertyName '"'
          /* ws: explicit */

referenced by:


QuotedScript:

QuotedScript
         ::= '"' Script '"'
          /* ws: explicit */

referenced by:


QuotedTemplate:

QuotedTemplate
         ::= '"' Template '"'
          /* ws: explicit */

referenced by:


QuotedVariableReference:

QuotedVariableReference
         ::= '"' VariableReference '"'
          /* ws: explicit */

referenced by:


ExpressionTuple:

ExpressionTuple
         ::= '[' ExpressionTupleAnnotation ',' ExpressionTupleOperation ']'

referenced by:


ExpressionTupleAnnotation:

ExpressionTupleAnnotation
         ::= 'null'
           | Object

referenced by:


ExpressionTupleOperation_expressionTuple:

ExpressionTupleOperation_expressionTuple
         ::= '"exprT"' ',' '[' ( QuotedVariableReference ',' ExpressionTupleValue ( ',' QuotedVariableReference ',' ExpressionTupleValue )* )? ']' ',' ExpressionTupleValue

referenced by:


ExpressionTupleOperation_lambda:

ExpressionTupleOperation_lambda
         ::= '"lambda"' ',' ( FunctionDeclarationObject | FunctionDeclarationURI ) ',' ExpressionTupleValue

referenced by:


ExpressionTupleOperation_list:

ExpressionTupleOperation_list
         ::= '"list"' ( ',' ExpressionTupleValue )*

referenced by:


ExpressionTupleOperation_object:

ExpressionTupleOperation_object
         ::= '"obj"' ( ',' QuotedPropertyName ',' ExpressionTupleValue )*

referenced by:


ExpressionTupleOperation_propertyReference:

ExpressionTupleOperation_propertyReference
         ::= '"prop"' ',' ( QuotedPropertyName | ExpressionTupleValue ) ',' ExpressionTupleObject

referenced by:


ExpressionTupleOperation_script:

ExpressionTupleOperation_script
         ::= '"script"' ',' QuotedScript

referenced by:


ExpressionTupleOperation_template:

ExpressionTupleOperation_template
         ::= '"tmpl"' ',' QuotedTemplate

referenced by:


ExpressionTupleOperation_variableReference:

ExpressionTupleOperation_variableReference
         ::= '"var"' ',' QuotedVariableReference

referenced by:


ExpressionTupleOperation_expression:

ExpressionTupleOperation_expression
         ::= '"expr"' ',' QuotedExpression

referenced by:


ExpressionTupleObject:

ExpressionTupleObject
         ::= Object
           | ExpressionTuple

referenced by:


ExpressionTupleOperation:

ExpressionTupleOperation
         ::= ExpressionTupleOperation_call
           | ExpressionTupleOperation_callAdaptiveFunction
           | ExpressionTupleOperation_callLambdaFunction
           | ExpressionTupleOperation_callMethod
           | ExpressionTupleOperation_expressionTuple
           | ExpressionTupleOperation_lambda
           | ExpressionTupleOperation_list
           | ExpressionTupleOperation_object
           | ExpressionTupleOperation_propertyReference
           | ExpressionTupleOperation_script
           | ExpressionTupleOperation_template
           | ExpressionTupleOperation_variableReference
           | ExpressionTupleOperation_expression

referenced by:


ExpressionTupleOperation_callAdaptiveFunction:

ExpressionTupleOperation_callAdaptiveFunction
         ::= ( '"callA"' ',' )? ( QuotedFunctionName | ExpressionTuple ) ( ',' ExpressionTupleValue )*

referenced by:


ExpressionTupleOperation_call:

ExpressionTupleOperation_call
         ::= '"call"' ',' ( QuotedVariableReference | QuotedFunctionName | ExpressionTuple ) ( ',' ExpressionTupleValue )*

referenced by:


ExpressionTupleOperation_callLambdaFunction:

ExpressionTupleOperation_callLambdaFunction
         ::= '"callL"' ',' ( QuotedVariableReference | ExpressionTuple ) ( ',' ExpressionTupleValue )*

referenced by:


ExpressionTupleValue:

ExpressionTupleValue
         ::= ExpressionTuple
           | Double
           | Integer
           | Object
           | String
           | 'true'
           | 'false'
           | 'null'

referenced by:


AssignmentExpression:

AssignmentExpression
         ::= Expression

referenced by:


OptionalDefineTarget:

OptionalDefineTarget
         ::= ( 'let' | 'const' )? AssignmentTarget

referenced by:


OptionalDefineAssignment:

OptionalDefineAssignment
         ::= ( 'let' | 'const' ) AssignmentTarget '=' Expression
           | Assignment

referenced by:


AssignmentOperation:

AssignmentOperation
         ::= '++'
           | '--'
           | ( '=' | '+=' | '-=' | '*=' | '/=' | '%=' | '**=' | '&&=' | '||=' | '??=' ) Expression

referenced by:


Assignment:

Assignment
         ::= AssignmentExpression AssignmentOperation

referenced by:


AssignmentStatement:

AssignmentStatement
         ::= ( '(' AssignmentObjectDestructureTarget '=' Expression ')' | Assignment ) ';'

referenced by:


BreakStatement:

BreakStatement
         ::= 'break' ';'

referenced by:


ConstStatement:

ConstStatement
         ::= 'const' AssignmentTarget '=' Expression ';'

referenced by:


InterfaceName:

InterfaceName
         ::= Identifier

referenced by:


InterfaceStatement:

InterfaceStatement
         ::= 'interface' InterfaceName '{' ( String | Identifier ) ':' Type ( ',' ( String | Identifier ) ':' Type )* ','? '}' ';'

referenced by:


TypeVariableName:

TypeVariableName
         ::= Identifier

referenced by:


TypeStatement:

TypeStatement
         ::= 'type' TypeVariableName '=' Type ';'

referenced by:


ContinueStatement:

ContinueStatement
         ::= 'continue' ';'

referenced by:


DeclareStatement:

DeclareStatement
         ::= 'declare' AssignmentTarget ';'

referenced by:


DoWhileStatement:

DoWhileStatement
         ::= 'do' Statement 'while' '(' Expression ')' ';'

referenced by:


ForStatement:

ForStatement
         ::= 'for' '(' ( ( OptionalDefineAssignment ( ',' OptionalDefineAssignment )* )? ';' Expression? ';' ( Assignment ( ',' Assignment )* )? | OptionalDefineTarget 'of' Expression ) ')' Statement

referenced by:


ForeachStatement:

ForeachStatement
         ::= 'foreach' OptionalDefineTarget 'of' Expression Statement

referenced by:


FunctionStatement:

FunctionStatement
         ::= 'function' ( FunctionName - ReservedWords ) FunctionSignatureAndBody ';'

referenced by:


IfStatement:

IfStatement
         ::= 'if' '(' Expression ')' Statement ( 'else' Statement )?

referenced by:


LetStatement:

LetStatement
         ::= 'let' AssignmentTarget ( '=' Expression )? ';'

referenced by:


ReturnStatement:

ReturnStatement
         ::= 'return' Expression? ';'

referenced by:


CaseClause:

CaseClause
         ::= 'case' Expression ':' StatementList?

referenced by:


DefaultClause:

DefaultClause
         ::= 'default' ':' StatementList?

referenced by:


SwitchStatement:

SwitchStatement
         ::= 'switch' ParenthesizedExpression ( 'using' EntryFunctionLambdaOrVariableReference )? '{' CaseClause* DefaultClause? CaseClause* '}'

referenced by:


ThrowStatement:

ThrowStatement
         ::= 'throw' ( Expression Expression? )?

no references


Catch:

Catch    ::= 'catch' ( '(' Identifier ')' )? Statement

referenced by:


Finally:

Finally  ::= 'finally' Statement

referenced by:


TryStatement:

TryStatement
         ::= 'try' Statement ( Catch Finally? | Finally )

no references


WhileStatement:

WhileStatement
         ::= 'while' '(' Expression ')' Statement

referenced by:


EvaluationThatCompilesToCallValue:

EvaluationThatCompilesToCallValue
         ::= Evaluation

referenced by:


CallStatement:

CallStatement
         ::= EvaluationThatCompilesToCallValue

referenced by:


Block:

Block    ::= '{' StatementList '}'

referenced by:


Statement:

Statement
         ::= ';'
           | Block
           | AssignmentStatement
           | BreakStatement
           | CallStatement
           | ConstStatement
           | ContinueStatement
           | DeclareStatement
           | DoWhileStatement
           | ForStatement
           | ForeachStatement
           | FunctionStatement
           | IfStatement
           | InterfaceStatement
           | LetStatement
           | ReturnStatement
           | SwitchStatement
           | TypeStatement
           | WhileStatement

referenced by:


StatementList:

StatementList
         ::= Statement*

referenced by:


Script:

Script   ::= ScriptShebang? ( Statement* | Expression )

referenced by:


ScriptShebang:

ScriptShebang
         ::= '#!' UnicodeNonControl* 'afw' UnicodeNonControl* '\n'

referenced by:


TestScript:

TestScript
         ::= TestScriptShebang? TestScriptDefinition TestDefinition+

no references


TestScriptShebang:

TestScriptShebang
         ::= '#!' UnicodeNonControl* 'afw' UnicodeNonControl* ( '-s test_script' | '--syntax test_script' )
           | UnicodeNonControl* '\n'

referenced by:


TestScriptDefinition:

TestScriptDefinition
         ::= TestScriptBegin TestDescription? TestSkip? TestSourceType? TestCustomProperty*

referenced by:


TestDefinition:

TestDefinition
         ::= TestBegin TestDescription? TestExpect TestSkip? TestSource TestSourceType? TestCustomProperty*

referenced by:


TestScriptLineStart:

TestScriptLineStart
         ::= '//?' ( '\n' '//?' )*

referenced by:


TestScriptValue:

TestScriptValue
         ::= '...' '\n' UnicodeCodePoint* ( '\n//?' | END )
           | UnicodeNonControl #x20* '\n'

referenced by:


TestScriptBegin:

TestScriptBegin
         ::= TestScriptLineStart 'test_script:' TestScriptValue

referenced by:


TestBegin:

TestBegin
         ::= TestScriptLineStart 'test:' TestScriptValue

referenced by:


TestCustomProperty:

TestCustomProperty
         ::= Identifier ':' TestScriptValue

referenced by:


TestDescription:

TestDescription
         ::= TestScriptLineStart 'description:' TestScriptValue

referenced by:


TestExpect:

TestExpect
         ::= TestScriptLineStart 'expect:' ( 'error' '\n' | 'result' TestScriptValue )

referenced by:


TestSkip:

TestSkip ::= TestScriptLineStart 'skip:' 'true' '\n'

referenced by:


TestSourceType:

TestSourceType
         ::= TestScriptLineStart 'source_type:' ( 'expression' | 'expression_tuple' | 'hybrid' | 'json' | 'parenthesized_expression' | 'relaxed_json' | 'script' | 'template' )

referenced by:


TestSource:

TestSource
         ::= TestScriptLineStart 'source:' TestScriptValue

referenced by:


Substitution:

Substitution
         ::= '${' Script '}'

referenced by:


Template:

Template ::= ( Char - '$' | '\$' | '$' ( Char - '{' ) | Substitution )*

referenced by:


TemplateString:

TemplateString
         ::= '`'+ Template+ '`'

referenced by:


NamedTemplateString:

NamedTemplateString
         ::= '`'+ ( Char - '$' | '\$' | '$' ( Char - '{' ) | '${' PropertyName '}' )* '`'

no references


ListExpression:

ListExpression
         ::= Expression

referenced by:


List:

List     ::= '[' ( Json ( ',' Json )* )? ']'

referenced by:


RelaxedList:

RelaxedList
         ::= '[' ( RelaxedJson ( ',' RelaxedJson )* )? ','? ']'

referenced by:


ListLiteral:

ListLiteral
         ::= '[' ( Literal ( ',' Literal )* )? ','? ']'

referenced by:


ListValue:

ListValue
         ::= '[' ( ( Expression | '...' ListExpression ) ( ',' ( Expression | '...' ListExpression ) )* )? ','? ']'

referenced by:


ObjectExpression:

ObjectExpression
         ::= Expression

referenced by:


Object:

Object   ::= '{' ( String ':' Json ( ',' String ':' Json )* )? '}'

referenced by:


RelaxedObject:

RelaxedObject
         ::= '{' ( ( String | Identifier ) ':' RelaxedJson ( ',' ( String | Identifier ) ':' RelaxedJson )* ','? )? ','? '}'

referenced by:


ObjectLiteral:

ObjectLiteral
         ::= '{' ( ( String | Identifier ) ':' Literal ( ',' ( String | Identifier ) ':' Literal )* )? ','? '}'

referenced by:


ObjectValue:

ObjectValue
         ::= '{' ( ( ( String | Identifier ) ':' Expression | '...' ObjectExpression ) ( ',' ( ( String | Identifier ) ':' Expression | '...' ObjectExpression ) )* )? ','? '}'

referenced by:


Json:

Json     ::= Double
           | Integer
           | List
           | Object
           | String
           | 'true'
           | 'false'
           | 'null'

referenced by:


RelaxedJson:

RelaxedJson
         ::= Double
           | Integer
           | RelaxedList
           | RelaxedObject
           | String
           | 'true'
           | 'false'
           | 'null'

referenced by:


ScalarLiteral:

ScalarLiteral
         ::= Double
           | Integer
           | String
           | 'true'
           | 'false'
           | 'null'

referenced by:


Literal:

Literal  ::= ListLiteral
           | ObjectLiteral
           | ScalarLiteral
           | 'undefined'

referenced by:


Value:

Value    ::= ListValue
           | ObjectValue
           | ScalarLiteral
           | Evaluation
           | ParenthesizedExpression
           | TemplateString

referenced by:


HexDigit:

HexDigit ::= [0-9a-fA-F]

referenced by:


BinaryDigit:

BinaryDigit
         ::= [0-1]

referenced by:


OctalDigit:

OctalDigit
         ::= [0-7]

referenced by:


TAB:

TAB      ::= #x0009

referenced by:


VT:

VT       ::= #x000B

referenced by:


FF:

FF       ::= #x000C

referenced by:


LF:

LF       ::= #x000A

referenced by:


CR:

CR       ::= #x000D

referenced by:


NBSP:

NBSP     ::= #x00A0

no references


LS:

LS       ::= #x2028

referenced by:


PS:

PS       ::= #x2029

referenced by:


ZWNBSP:

ZWNBSP   ::= #xFEFF

referenced by:


Whitespace:

Whitespace
         ::= ( TAB | VT | FF | ZWNBSP | 'Any Unicode Space_Separator code point' )+

referenced by:


EOL:

EOL      ::= LF
           | CR
           | LS
           | PS

referenced by:


WhitespaceBetweenTokens:

WhitespaceBetweenTokens
         ::= ( Whitespace | EOL | Comment )+

no references


Comment:

Comment  ::= InlineComment
           | BlockComment

referenced by:


InlineComment:

InlineComment
         ::= '/*' ( [^*] | '*'+ [^*/] )* '*'* '*/'

referenced by:


BlockComment:

BlockComment
         ::= '//' [^\n]* EOL

referenced by:


U:

U        ::= '\u' ( HexDigit HexDigit HexDigit HexDigit | '{' HexDigit+ '}' )
          /* ws: explicit */

referenced by:


String:

String   ::= '"' Char* '"'

referenced by:


Char:

Char     ::= [^\#x0-#x20]
           | '\"'
           | "\'"
           | '\`'
           | '\\'
           | '\/'
           | '\b'
           | '\f'
           | '\n'
           | '\r'
           | '\t'
           | U

referenced by:


UnicodeCodePoint:

UnicodeCodePoint
         ::= #x0 - #x10FFFF

referenced by:


UnicodeNonControl:

UnicodeNonControl
         ::= UnicodeCodePoint - [^\#x0-#x1f]

referenced by:


UnicodeNonSpaceNonControl:

UnicodeNonSpaceNonControl
         ::= UnicodeCodePoint - [^\#x0-#x20]

no references


Integer:

Integer  ::= '-'? ( DecimalIntegerLiteral | BinaryIntegerLiteral | HexIntegerLiteral | OctetIntegerLiteral )

referenced by:


DecimalIntegerLiteral:

DecimalIntegerLiteral
         ::= '0'
           | [1-9] [0-9]*

referenced by:


BinaryIntegerLiteral:

BinaryIntegerLiteral
         ::= '0' ( 'b' | 'B' ) BinaryDigit+

referenced by:


HexIntegerLiteral:

HexIntegerLiteral
         ::= '0' ( 'x' | 'X' ) HexDigit+

referenced by:


OctalIntegerLiteral:

OctalIntegerLiteral
         ::= '0' ( 'o' | 'O' ) OctalDigit+

no references


Double:

Double   ::= '-'? ( DecimalIntegerLiteral '.' [0-9]+ ( [eE] [+#x2D]? [0-9]+ )? | 'Infinity' | 'INF' | 'NaN' )

referenced by:


IdentifierStart:

IdentifierStart
         ::= ID_START
           | '$'
           | '_'

referenced by:


IdentifierContinue:

IdentifierContinue
         ::= ID_CONTINUE
           | '$'
           | ZWNJ
           | ZWJ

referenced by:


Identifier:

Identifier
         ::= IdentifierStart IdentifierContinue*

referenced by:


ReservedWords:

ReservedWords
         ::= PredefinedConstReservedWords
           | StatementReservedWords
           | UnusedButReservedWords

referenced by:


PredefinedConstReservedWords:

PredefinedConstReservedWords
         ::= 'false'
           | 'INF'
           | 'Infinity'
           | 'NaN'
           | 'null'
           | 'true'
           | 'undefined'

referenced by:


StatementReservedWords:

StatementReservedWords
         ::= 'break'
           | 'case'
           | 'catch'
           | 'const'
           | 'continue'
           | 'default'
           | 'do'
           | 'else'
           | 'finally'
           | 'for'
           | 'foreach'
           | 'function'
           | 'if'
           | 'let'
           | 'return'
           | 'switch'
           | 'throw'
           | 'try'
           | 'void'
           | 'while'

referenced by:


UnusedButReservedWords:

UnusedButReservedWords
         ::= 'as'
           | 'async'
           | 'await'
           | 'class'
           | 'delete'
           | 'export'
           | 'extends'
           | 'from'
           | 'import'
           | 'in'
           | 'interface'
           | 'instanceof'
           | 'super'
           | 'this'
           | 'type'
           | 'typeof'
           | 'var'
           | 'with'

referenced by:


END:

END ::=

referenced by:



  ... generated by RR - Railroad Diagram Generator