UNPKG

@kipper/target-js

Version:

The JavaScript target for the Kipper compiler 🦊

86 lines • 2.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TargetJS = exports.KipperJavaScriptTarget = void 0; const core_1 = require("@kipper/core"); const semantic_analyser_1 = require("./semantic-analyser"); const code_generator_1 = require("./code-generator"); const built_in_generator_1 = require("./built-in-generator"); class KipperJavaScriptTarget extends core_1.KipperCompileTarget { constructor(semanticAnalyser = new semantic_analyser_1.JavaScriptTargetSemanticAnalyser(), codeGenerator = new code_generator_1.JavaScriptTargetCodeGenerator(), builtInGenerator = new built_in_generator_1.JavaScriptTargetBuiltInGenerator()) { super("javascript", semanticAnalyser, codeGenerator, builtInGenerator, "js"); } static getBuiltInIdentifier(signature) { if (typeof signature === "string") { return `${this.internalObjectIdentifier}.${signature}`; } return "local" in signature && signature.local ? signature.identifier : this.getBuiltInIdentifier(signature.identifier); } } exports.KipperJavaScriptTarget = KipperJavaScriptTarget; KipperJavaScriptTarget.internalObjectIdentifier = "__kipper"; KipperJavaScriptTarget.reservedIdentifiers = [ "break", "case", "catch", "class", "const", "continue", "debugger", "default", "delete", "do", "else", "enum", "export", "extends", "false", "finally", "for", "function", "if", "import", "in", "instanceof", "new", "null", "return", "super", "switch", "this", "throw", "true", "try", "typeof", "var", "void", "while", "with", "as", "implements", "interface", "let", "package", "private", "protected", "public", "static", "yield", "any", "boolean", "constructor", "declare", "get", "module", "require", "number", "set", "string", "symbol", "type", "from", "of", ]; exports.TargetJS = KipperJavaScriptTarget; //# sourceMappingURL=target.js.map