UNPKG

ton-assembly

Version:
99 lines 9.23 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.space = exports.comment = exports.singleLineComment = exports.reservedWord = exports.keyword = exports.StringLiteral = exports.digit = exports.binDigit = exports.hexDigit = exports.underscored = exports.IntegerLiteralOct = exports.IntegerLiteralBin = exports.IntegerLiteralHex = exports.IntegerLiteralDec = exports.IntegerLiteral = exports.BocLiteral = exports.BinLiteral = exports.HexLiteral = exports.DataLiteral = exports.Id = exports.idPart = exports.DefaultExotic = exports.ExoticLibrary = exports.DictionaryEntry = exports.Dictionary = exports.Code = exports.ControlRegister = exports.StackElement = exports.Argument = exports.instructions = exports.Exotic = exports.EmbedSlice = exports.ExplicitRef = exports.Instruction = exports.File = void 0; /* Generated. Do not edit. */ /* eslint-disable @typescript-eslint/no-namespace */ /* eslint-disable @typescript-eslint/ban-types */ /* eslint-disable @typescript-eslint/no-redundant-type-constituents */ /* eslint-disable @typescript-eslint/no-duplicate-type-constituents */ /* eslint-disable @typescript-eslint/no-unused-vars */ const $ = __importStar(require("@tonstudio/parser-runtime")); exports.File = $.loc($.field($.pure("File"), "$", $.field($.lazy(() => exports.instructions), "instructions", $.eps))); exports.Instruction = $.loc($.field($.pure("Instruction"), "$", $.field($.lazy(() => exports.Id), "name", $.field($.star($.lazy(() => exports.Argument)), "args", $.eps)))); exports.ExplicitRef = $.loc($.field($.pure("ExplicitRef"), "$", $.right($.lazy(() => (0, exports.keyword)($.str("ref"))), $.field($.lazy(() => exports.Code), "code", $.eps)))); exports.EmbedSlice = $.loc($.field($.pure("EmbedSlice"), "$", $.right($.lazy(() => (0, exports.keyword)($.str("embed"))), $.field($.lazy(() => exports.DataLiteral), "data", $.eps)))); exports.Exotic = $.loc($.field($.pure("Exotic"), "$", $.right($.lazy(() => (0, exports.keyword)($.str("exotic"))), $.field($.alt($.lazy(() => exports.ExoticLibrary), $.lazy(() => exports.DefaultExotic)), "lib", $.eps)))); exports.instructions = $.star($.alt(exports.Instruction, $.alt(exports.ExplicitRef, $.alt(exports.EmbedSlice, exports.Exotic)))); exports.Argument = $.loc($.field($.pure("Argument"), "$", $.field($.alt($.lazy(() => exports.IntegerLiteral), $.alt($.lazy(() => exports.DataLiteral), $.alt($.lazy(() => exports.Code), $.alt($.lazy(() => exports.Dictionary), $.alt($.lazy(() => exports.StackElement), $.lazy(() => exports.ControlRegister)))))), "expression", $.eps))); exports.StackElement = $.loc($.field($.pure("StackElement"), "$", $.field($.stry($.lex($.right($.str("s"), $.right($.opt($.str("-")), $.right($.lazy(() => exports.IntegerLiteralDec), $.eps))))), "value", $.eps))); exports.ControlRegister = $.loc($.field($.pure("ControlRegister"), "$", $.field($.stry($.lex($.right($.str("c"), $.right($.lazy(() => exports.IntegerLiteralDec), $.eps)))), "value", $.eps))); exports.Code = $.loc($.field($.pure("Code"), "$", $.right($.str("{"), $.field(exports.instructions, "instructions", $.right($.str("}"), $.eps))))); exports.Dictionary = $.loc($.field($.pure("Dictionary"), "$", $.right($.str("["), $.field($.star($.lazy(() => exports.DictionaryEntry)), "entries", $.right($.str("]"), $.eps))))); exports.DictionaryEntry = $.loc($.field($.pure("DictionaryEntry"), "$", $.field($.lazy(() => exports.IntegerLiteral), "id", $.right($.str("=>"), $.field(exports.Code, "code", $.eps))))); exports.ExoticLibrary = $.loc($.field($.pure("ExoticLibrary"), "$", $.right($.lazy(() => (0, exports.keyword)($.str("library"))), $.field($.lazy(() => exports.DataLiteral), "data", $.eps)))); exports.DefaultExotic = $.loc($.field($.pure("DefaultExotic"), "$", $.field($.lazy(() => exports.DataLiteral), "data", $.eps))); exports.idPart = $.named("identifier character", $.regex("a-zA-Z0-9_", [ $.ExpRange("a", "z"), $.ExpRange("A", "Z"), $.ExpRange("0", "9"), $.ExpString("_"), ])); exports.Id = $.named("identifier", $.loc($.field($.pure("Id"), "$", $.field($.lex($.stry($.right($.lookNeg($.lazy(() => exports.reservedWord)), $.right($.regex("a-zA-Z_", [ $.ExpRange("a", "z"), $.ExpRange("A", "Z"), $.ExpString("_"), ]), $.right($.star(exports.idPart), $.eps))))), "name", $.eps)))); exports.DataLiteral = $.loc($.field($.pure("DataLiteral"), "$", $.field($.alt($.lazy(() => exports.HexLiteral), $.alt($.lazy(() => exports.BinLiteral), $.alt($.lazy(() => exports.BocLiteral), $.lazy(() => exports.StringLiteral)))), "value", $.eps))); exports.HexLiteral = $.loc($.field($.pure("HexLiteral"), "$", $.right($.str("x{"), $.field($.stry($.right($.star($.lazy(() => exports.hexDigit)), $.right($.opt($.str("_")), $.eps))), "content", $.right($.str("}"), $.eps))))); exports.BinLiteral = $.loc($.field($.pure("BinLiteral"), "$", $.right($.str("b{"), $.field($.stry($.star($.lazy(() => exports.binDigit))), "content", $.right($.str("}"), $.eps))))); exports.BocLiteral = $.loc($.field($.pure("BocLiteral"), "$", $.right($.str("boc{"), $.field($.stry($.star($.lazy(() => exports.hexDigit))), "content", $.right($.str("}"), $.eps))))); exports.IntegerLiteral = $.loc($.field($.pure("IntegerLiteral"), "$", $.field($.opt($.str("-")), "op", $.field($.alt($.lazy(() => exports.IntegerLiteralHex), $.alt($.lazy(() => exports.IntegerLiteralBin), $.alt($.lazy(() => exports.IntegerLiteralOct), $.lazy(() => exports.IntegerLiteralDec)))), "value", $.eps)))); exports.IntegerLiteralDec = $.loc($.field($.pure("IntegerLiteralDec"), "$", $.field($.lex($.lazy(() => (0, exports.underscored)($.lazy(() => exports.digit)))), "digits", $.eps))); exports.IntegerLiteralHex = $.loc($.field($.pure("IntegerLiteralHex"), "$", $.field($.lex($.stry($.right($.str("0"), $.right($.regex("xX", [$.ExpString("x"), $.ExpString("X")]), $.lazy(() => (0, exports.underscored)($.lazy(() => exports.hexDigit))))))), "digits", $.eps))); exports.IntegerLiteralBin = $.loc($.field($.pure("IntegerLiteralBin"), "$", $.field($.lex($.stry($.right($.str("0"), $.right($.regex("bB", [$.ExpString("b"), $.ExpString("B")]), $.lazy(() => (0, exports.underscored)($.lazy(() => exports.binDigit))))))), "digits", $.eps))); exports.IntegerLiteralOct = $.loc($.field($.pure("IntegerLiteralOct"), "$", $.field($.lex($.stry($.right($.str("0"), $.right($.regex("oO", [$.ExpString("o"), $.ExpString("O")]), $.lazy(() => (0, exports.underscored)($.regex("0-7", [$.ExpRange("0", "7")]))))))), "digits", $.eps))); const underscored = (T) => $.stry($.right($.lazy(() => T), $.right($.star($.right($.opt($.str("_")), $.right($.lazy(() => T), $.eps))), $.eps))); exports.underscored = underscored; exports.hexDigit = $.named("hexadecimal digit", $.regex("0-9a-fA-F", [ $.ExpRange("0", "9"), $.ExpRange("a", "f"), $.ExpRange("A", "F"), ])); exports.binDigit = $.named("binary digit", $.regex("01", [$.ExpString("0"), $.ExpString("1")])); exports.digit = $.named("digit", $.regex("0-9", [$.ExpRange("0", "9")])); exports.StringLiteral = $.loc($.field($.pure("StringLiteral"), "$", $.field($.lex($.right($.str('"'), $.left($.stry($.star($.regex('^"\\\\', $.negateExps([$.ExpString('"'), $.ExpString("\\")])))), $.str('"')))), "value", $.eps))); const keyword = (T) => $.lex($.left($.lazy(() => T), $.lookNeg(exports.idPart))); exports.keyword = keyword; exports.reservedWord = $.named("reserved word", (0, exports.keyword)($.alt($.str("ref"), $.alt($.str("embed"), $.alt($.str("exotic"), $.str("library")))))); exports.singleLineComment = $.right($.str("//"), $.stry($.star($.regex("^\\r\\n", $.negateExps([$.ExpString("\r"), $.ExpString("\n")]))))); exports.comment = exports.singleLineComment; exports.space = $.named("space", $.alt($.regex(" \\t\\r\\n", [ $.ExpString(" "), $.ExpString("\t"), $.ExpString("\r"), $.ExpString("\n"), ]), exports.comment)); //# sourceMappingURL=grammar.js.map