Sha256: 5120eb1d863352634bba4859fd9e81aa5c500dedebf559ecd7ea9a83e63aa1d4

Contents?: true

Size: 1.91 KB

Versions: 2

Compression:

Stored size: 1.91 KB

Contents

#ifndef _IV_AST_FWD_H_
#define _IV_AST_FWD_H_
namespace iv {
namespace core {
namespace ast {

#define STATEMENT_DERIVED_NODE_LIST(V)\
V(EmptyStatement)\
V(DebuggerStatement)\
V(FunctionStatement)\
V(Block)\
V(VariableStatement)\
V(IfStatement)\
V(DoWhileStatement)\
V(WhileStatement)\
V(ForInStatement)\
V(ExpressionStatement)\
V(ForStatement)\
V(ContinueStatement)\
V(BreakStatement)\
V(ReturnStatement)\
V(WithStatement)\
V(SwitchStatement)\
V(ThrowStatement)\
V(TryStatement)\
V(LabelledStatement)\

#define STATEMENT_NODE_LIST(V)\
V(Statement)\
V(IterationStatement)\
V(BreakableStatement)\
V(NamedOnlyBreakableStatement)\
V(AnonymousBreakableStatement)\
STATEMENT_DERIVED_NODE_LIST(V)

#define LITERAL_NODE_LIST(V)\
V(Literal)\
V(Identifier)\
V(NumberLiteral)\
V(StringLiteral)\
V(Directivable)\
V(RegExpLiteral)\
V(FunctionLiteral)\
V(ArrayLiteral)\
V(ObjectLiteral)\
V(NullLiteral)\
V(ThisLiteral)\
V(Undefined)\
V(TrueLiteral)\
V(FalseLiteral)

#define EXPRESSION_DERIVED_NODE_LIST(V)\
V(FunctionCall)\
V(ConstructorCall)\
V(BinaryOperation)\
V(Assignment)\
V(ConditionalExpression)\
V(UnaryOperation)\
V(PostfixExpression)\
V(IdentifierAccess)\
V(IndexAccess)\
LITERAL_NODE_LIST(V)

#define EXPRESSION_NODE_LIST(V)\
V(Expression)\
V(PropertyAccess)\
V(Call)\
EXPRESSION_DERIVED_NODE_LIST(V)

#define OTHER_NODE_LIST(V)\
V(AstNode)\
V(Declaration)\
V(Scope)\
V(CaseClause)\
V(Variable)\
V(IdentifierKey)

#define AST_DERIVED_NODE_LIST(V)\
STATEMENT_DERIVED_NODE_LIST(V)\
EXPRESSION_DERIVED_NODE_LIST(V)

#define AST_NODE_LIST(V)\
OTHER_NODE_LIST(V)\
STATEMENT_NODE_LIST(V)\
EXPRESSION_NODE_LIST(V)

#define AST_LIST_LIST(V)\
V(Identifier, Identifiers)\
V(Declaration, Declarations)\
V(Expression, Expressions)\
V(Statement, Statements)\
V(CaseClause, CaseClauses)

#define AST_STRING(V) V(SpaceUString)

#define V(AST)\
template<typename Factory>\
class AST;
AST_NODE_LIST(V)
#undef V
} } }  // namespace iv::core::ast
#endif  // _IV_AST_FWD_H_

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
iv-phonic-0.0.3 ext/include/iv/ast-fwd.h
iv-phonic-0.0.2 ext/include/iv/ast-fwd.h