UNPKG

js-slang

Version:

Javascript-based implementations of Source, written in Typescript

345 lines 10.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StmtNS = exports.ExprNS = void 0; var ExprNS; (function (ExprNS) { class Expr { constructor(startToken, endToken) { this.startToken = startToken; this.endToken = endToken; } } ExprNS.Expr = Expr; class BigIntLiteral extends Expr { constructor(startToken, endToken, value) { super(startToken, endToken); this.value = value; } accept(visitor) { return visitor.visitBigIntLiteralExpr(this); } } ExprNS.BigIntLiteral = BigIntLiteral; class Binary extends Expr { constructor(startToken, endToken, left, operator, right) { super(startToken, endToken); this.left = left; this.operator = operator; this.right = right; } accept(visitor) { return visitor.visitBinaryExpr(this); } } ExprNS.Binary = Binary; class Compare extends Expr { constructor(startToken, endToken, left, operator, right) { super(startToken, endToken); this.left = left; this.operator = operator; this.right = right; } accept(visitor) { return visitor.visitCompareExpr(this); } } ExprNS.Compare = Compare; class BoolOp extends Expr { constructor(startToken, endToken, left, operator, right) { super(startToken, endToken); this.left = left; this.operator = operator; this.right = right; } accept(visitor) { return visitor.visitBoolOpExpr(this); } } ExprNS.BoolOp = BoolOp; class Grouping extends Expr { constructor(startToken, endToken, expression) { super(startToken, endToken); this.expression = expression; } accept(visitor) { return visitor.visitGroupingExpr(this); } } ExprNS.Grouping = Grouping; class Literal extends Expr { constructor(startToken, endToken, value) { super(startToken, endToken); this.value = value; } accept(visitor) { return visitor.visitLiteralExpr(this); } } ExprNS.Literal = Literal; class Unary extends Expr { constructor(startToken, endToken, operator, right) { super(startToken, endToken); this.operator = operator; this.right = right; } accept(visitor) { return visitor.visitUnaryExpr(this); } } ExprNS.Unary = Unary; class Ternary extends Expr { constructor(startToken, endToken, predicate, consequent, alternative) { super(startToken, endToken); this.predicate = predicate; this.consequent = consequent; this.alternative = alternative; } accept(visitor) { return visitor.visitTernaryExpr(this); } } ExprNS.Ternary = Ternary; class Lambda extends Expr { constructor(startToken, endToken, parameters, body) { super(startToken, endToken); this.parameters = parameters; this.body = body; } accept(visitor) { return visitor.visitLambdaExpr(this); } } ExprNS.Lambda = Lambda; class MultiLambda extends Expr { constructor(startToken, endToken, parameters, body, varDecls) { super(startToken, endToken); this.parameters = parameters; this.body = body; this.varDecls = varDecls; } accept(visitor) { return visitor.visitMultiLambdaExpr(this); } } ExprNS.MultiLambda = MultiLambda; class Variable extends Expr { constructor(startToken, endToken, name) { super(startToken, endToken); this.name = name; } accept(visitor) { return visitor.visitVariableExpr(this); } } ExprNS.Variable = Variable; class Call extends Expr { constructor(startToken, endToken, callee, args) { super(startToken, endToken); this.callee = callee; this.args = args; } accept(visitor) { return visitor.visitCallExpr(this); } } ExprNS.Call = Call; })(ExprNS = exports.ExprNS || (exports.ExprNS = {})); var StmtNS; (function (StmtNS) { class Stmt { constructor(startToken, endToken) { this.startToken = startToken; this.endToken = endToken; } } StmtNS.Stmt = Stmt; class Indent extends Stmt { constructor(startToken, endToken) { super(startToken, endToken); } accept(visitor) { return visitor.visitIndentCreation(this); } } StmtNS.Indent = Indent; class Dedent extends Stmt { constructor(startToken, endToken) { super(startToken, endToken); } accept(visitor) { return visitor.visitDedentCreation(this); } } StmtNS.Dedent = Dedent; class Pass extends Stmt { constructor(startToken, endToken) { super(startToken, endToken); } accept(visitor) { return visitor.visitPassStmt(this); } } StmtNS.Pass = Pass; class Assign extends Stmt { constructor(startToken, endToken, name, value) { super(startToken, endToken); this.name = name; this.value = value; } accept(visitor) { return visitor.visitAssignStmt(this); } } StmtNS.Assign = Assign; class AnnAssign extends Stmt { constructor(startToken, endToken, name, value, ann) { super(startToken, endToken); this.name = name; this.value = value; this.ann = ann; } accept(visitor) { return visitor.visitAnnAssignStmt(this); } } StmtNS.AnnAssign = AnnAssign; class Break extends Stmt { constructor(startToken, endToken) { super(startToken, endToken); } accept(visitor) { return visitor.visitBreakStmt(this); } } StmtNS.Break = Break; class Continue extends Stmt { constructor(startToken, endToken) { super(startToken, endToken); } accept(visitor) { return visitor.visitContinueStmt(this); } } StmtNS.Continue = Continue; class Return extends Stmt { constructor(startToken, endToken, value) { super(startToken, endToken); this.value = value; } accept(visitor) { return visitor.visitReturnStmt(this); } } StmtNS.Return = Return; class FromImport extends Stmt { constructor(startToken, endToken, module, names) { super(startToken, endToken); this.module = module; this.names = names; } accept(visitor) { return visitor.visitFromImportStmt(this); } } StmtNS.FromImport = FromImport; class Global extends Stmt { constructor(startToken, endToken, name) { super(startToken, endToken); this.name = name; } accept(visitor) { return visitor.visitGlobalStmt(this); } } StmtNS.Global = Global; class NonLocal extends Stmt { constructor(startToken, endToken, name) { super(startToken, endToken); this.name = name; } accept(visitor) { return visitor.visitNonLocalStmt(this); } } StmtNS.NonLocal = NonLocal; class Assert extends Stmt { constructor(startToken, endToken, value) { super(startToken, endToken); this.value = value; } accept(visitor) { return visitor.visitAssertStmt(this); } } StmtNS.Assert = Assert; class If extends Stmt { constructor(startToken, endToken, condition, body, elseBlock) { super(startToken, endToken); this.condition = condition; this.body = body; this.elseBlock = elseBlock; } accept(visitor) { return visitor.visitIfStmt(this); } } StmtNS.If = If; class While extends Stmt { constructor(startToken, endToken, condition, body) { super(startToken, endToken); this.condition = condition; this.body = body; } accept(visitor) { return visitor.visitWhileStmt(this); } } StmtNS.While = While; class For extends Stmt { constructor(startToken, endToken, target, iter, body) { super(startToken, endToken); this.target = target; this.iter = iter; this.body = body; } accept(visitor) { return visitor.visitForStmt(this); } } StmtNS.For = For; class FunctionDef extends Stmt { constructor(startToken, endToken, name, parameters, body, varDecls) { super(startToken, endToken); this.name = name; this.parameters = parameters; this.body = body; this.varDecls = varDecls; } accept(visitor) { return visitor.visitFunctionDefStmt(this); } } StmtNS.FunctionDef = FunctionDef; class SimpleExpr extends Stmt { constructor(startToken, endToken, expression) { super(startToken, endToken); this.expression = expression; } accept(visitor) { return visitor.visitSimpleExprStmt(this); } } StmtNS.SimpleExpr = SimpleExpr; class FileInput extends Stmt { constructor(startToken, endToken, statements, varDecls) { super(startToken, endToken); this.statements = statements; this.varDecls = varDecls; } accept(visitor) { return visitor.visitFileInputStmt(this); } } StmtNS.FileInput = FileInput; })(StmtNS = exports.StmtNS || (exports.StmtNS = {})); //# sourceMappingURL=ast-types.js.map