@tsukiroku/tiny
Version:
Tiny interpreter
55 lines (54 loc) • 2.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LiteralKind = exports.NodeKind = exports.ExpressionKind = exports.Priority = void 0;
var Priority;
(function (Priority) {
Priority[Priority["LOWEST"] = 1] = "LOWEST";
Priority[Priority["ASSIGN"] = 2] = "ASSIGN";
Priority[Priority["AND_OR"] = 3] = "AND_OR";
Priority[Priority["EQUAL"] = 4] = "EQUAL";
Priority[Priority["LESS_GREATER"] = 5] = "LESS_GREATER";
Priority[Priority["SUM"] = 6] = "SUM";
Priority[Priority["PRODUCT"] = 7] = "PRODUCT";
Priority[Priority["PREFIX"] = 8] = "PREFIX";
Priority[Priority["CALL"] = 9] = "CALL";
Priority[Priority["INDEX"] = 10] = "INDEX";
})(Priority = exports.Priority || (exports.Priority = {}));
var ExpressionKind;
(function (ExpressionKind) {
ExpressionKind[ExpressionKind["Literal"] = 0] = "Literal";
ExpressionKind[ExpressionKind["Block"] = 1] = "Block";
ExpressionKind[ExpressionKind["Prefix"] = 2] = "Prefix";
ExpressionKind[ExpressionKind["Infix"] = 3] = "Infix";
ExpressionKind[ExpressionKind["If"] = 4] = "If";
ExpressionKind[ExpressionKind["Match"] = 5] = "Match";
ExpressionKind[ExpressionKind["Function"] = 6] = "Function";
ExpressionKind[ExpressionKind["Call"] = 7] = "Call";
ExpressionKind[ExpressionKind["Ident"] = 8] = "Ident";
ExpressionKind[ExpressionKind["Array"] = 9] = "Array";
ExpressionKind[ExpressionKind["Index"] = 10] = "Index";
ExpressionKind[ExpressionKind["Object"] = 11] = "Object";
ExpressionKind[ExpressionKind["Typeof"] = 12] = "Typeof";
ExpressionKind[ExpressionKind["Throw"] = 13] = "Throw";
ExpressionKind[ExpressionKind["Delete"] = 14] = "Delete";
ExpressionKind[ExpressionKind["Use"] = 15] = "Use";
ExpressionKind[ExpressionKind["Void"] = 16] = "Void";
ExpressionKind[ExpressionKind["Expr"] = 17] = "Expr";
ExpressionKind[ExpressionKind["Null"] = 18] = "Null";
})(ExpressionKind = exports.ExpressionKind || (exports.ExpressionKind = {}));
var NodeKind;
(function (NodeKind) {
NodeKind[NodeKind["Program"] = 100] = "Program";
NodeKind[NodeKind["LetStatement"] = 101] = "LetStatement";
NodeKind[NodeKind["ReturnStatement"] = 102] = "ReturnStatement";
NodeKind[NodeKind["ExpressionStatement"] = 103] = "ExpressionStatement";
NodeKind[NodeKind["WhileStatement"] = 104] = "WhileStatement";
NodeKind[NodeKind["DecoratorStatement"] = 105] = "DecoratorStatement";
})(NodeKind = exports.NodeKind || (exports.NodeKind = {}));
var LiteralKind;
(function (LiteralKind) {
LiteralKind[LiteralKind["String"] = 200] = "String";
LiteralKind[LiteralKind["Number"] = 201] = "Number";
LiteralKind[LiteralKind["Boolean"] = 202] = "Boolean";
LiteralKind[LiteralKind["Null"] = 203] = "Null";
})(LiteralKind = exports.LiteralKind || (exports.LiteralKind = {}));