/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/* AST_ERROR = -1 */

ASTDEF(AST_PROGRAM,               "Program",                        "program")

ASTDEF(AST_IDENTIFIER,            "Identifier",                     "identifier")
ASTDEF(AST_LITERAL,               "Literal",                        "literal")
ASTDEF(AST_PROPERTY,              "Property",                       "property")

ASTDEF(AST_MODULE_DECL,           "ModuleDeclaration",              "moduleDeclaration")
ASTDEF(AST_FUNC_DECL,             "FunctionDeclaration",            "functionDeclaration")
ASTDEF(AST_VAR_DECL,              "VariableDeclaration",            "variableDeclaration")
ASTDEF(AST_VAR_DTOR,              "VariableDeclarator",             "variableDeclarator")

ASTDEF(AST_LIST_EXPR,             "SequenceExpression",             "sequenceExpression")
ASTDEF(AST_COND_EXPR,             "ConditionalExpression",          "conditionalExpression")
ASTDEF(AST_UNARY_EXPR,            "UnaryExpression",                "unaryExpression")
ASTDEF(AST_BINARY_EXPR,           "BinaryExpression",               "binaryExpression")
ASTDEF(AST_ASSIGN_EXPR,           "AssignmentExpression",           "assignmentExpression")
ASTDEF(AST_LOGICAL_EXPR,          "LogicalExpression",              "logicalExpression")
ASTDEF(AST_UPDATE_EXPR,           "UpdateExpression",               "updateExpression")
ASTDEF(AST_NEW_EXPR,              "NewExpression",                  "newExpression")
ASTDEF(AST_CALL_EXPR,             "CallExpression",                 "callExpression")
ASTDEF(AST_MEMBER_EXPR,           "MemberExpression",               "memberExpression")
ASTDEF(AST_FUNC_EXPR,             "FunctionExpression",             "functionExpression")
ASTDEF(AST_ARROW_EXPR,            "ArrowExpression",                "arrowExpression")
ASTDEF(AST_ARRAY_EXPR,            "ArrayExpression",                "arrayExpression")
ASTDEF(AST_SPREAD_EXPR,           "SpreadExpression",               "spreadExpression")
ASTDEF(AST_OBJECT_EXPR,           "ObjectExpression",               "objectExpression")
ASTDEF(AST_THIS_EXPR,             "ThisExpression",                 "thisExpression")
ASTDEF(AST_COMP_EXPR,             "ComprehensionExpression",        "comprehensionExpression")
ASTDEF(AST_GENERATOR_EXPR,        "GeneratorExpression",            "generatorExpression")
ASTDEF(AST_YIELD_EXPR,            "YieldExpression",                "yieldExpression")
ASTDEF(AST_LET_EXPR,              "LetExpression",                  "letExpression")

ASTDEF(AST_EMPTY_STMT,            "EmptyStatement",                 "emptyStatement")
ASTDEF(AST_BLOCK_STMT,            "BlockStatement",                 "blockStatement")
ASTDEF(AST_EXPR_STMT,             "ExpressionStatement",            "expressionStatement")
ASTDEF(AST_LAB_STMT,              "LabeledStatement",               "labeledStatement")
ASTDEF(AST_IF_STMT,               "IfStatement",                    "ifStatement")
ASTDEF(AST_SWITCH_STMT,           "SwitchStatement",                "switchStatement")
ASTDEF(AST_WHILE_STMT,            "WhileStatement",                 "whileStatement")
ASTDEF(AST_DO_STMT,               "DoWhileStatement",               "doWhileStatement")
ASTDEF(AST_FOR_STMT,              "ForStatement",                   "forStatement")
ASTDEF(AST_FOR_IN_STMT,           "ForInStatement",                 "forInStatement")
ASTDEF(AST_FOR_OF_STMT,           "ForOfStatement",                 "forOfStatement")
ASTDEF(AST_BREAK_STMT,            "BreakStatement",                 "breakStatement")
ASTDEF(AST_CONTINUE_STMT,         "ContinueStatement",              "continueStatement")
ASTDEF(AST_WITH_STMT,             "WithStatement",                  "withStatement")
ASTDEF(AST_RETURN_STMT,           "ReturnStatement",                "returnStatement")
ASTDEF(AST_TRY_STMT,              "TryStatement",                   "tryStatement")
ASTDEF(AST_THROW_STMT,            "ThrowStatement",                 "throwStatement")
ASTDEF(AST_DEBUGGER_STMT,         "DebuggerStatement",              "debuggerStatement")
ASTDEF(AST_LET_STMT,              "LetStatement",                   "letStatement")

ASTDEF(AST_CASE,                  "SwitchCase",                     "switchCase")
ASTDEF(AST_CATCH,                 "CatchClause",                    "catchClause")
ASTDEF(AST_COMP_BLOCK,            "ComprehensionBlock",             "comprehensionBlock")

ASTDEF(AST_ARRAY_PATT,            "ArrayPattern",                   "arrayPattern")
ASTDEF(AST_OBJECT_PATT,           "ObjectPattern",                  "objectPattern")
ASTDEF(AST_PROP_PATT,             "Property",                       "propertyPattern")

/* AST_LIMIT = last + 1 */
