program
aliasName anoymousFunction argument arguments arrayElement arrayLiteral arrowFunctionBody arrowFunctionParameters assignable assignmentOperator bigintLiteral block breakStatement caseBlock caseClause caseClauses catchProduction classDeclaration classElement classTail continueStatement debuggerStatement declaration defaultClause elementList emptyStatement eos exportFromBlock exportStatement expressionSequence expressionStatement finallyProduction formalParameterArg formalParameterList functionBody functionDeclaration getter identifier identifierName ifStatement importDefault importFrom importFromBlock importNamespace importStatement iterationStatement keyword labelledStatement lastFormalParameterArg let literal methodDefinition moduleItems numericLiteral objectLiteral program propertyAssignment propertyName reservedWord returnStatement setter singleExpression sourceElement sourceElements statement statementList switchStatement throwStatement tryStatement varModifier variableDeclaration variableDeclarationList variableStatement withStatement yieldStatement