UNPKG

q-sharp-ts

Version:

A parser for Q# language features, implemented in TypeScript.

27 lines (26 loc) 803 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var parser_js_1 = require("./parser.js"); var lexer_js_1 = require("./lexer.js"); var fs = require("fs"); /** * Returns the abstract syntax tree for a given string of Q# code. * @param q_sharp - The code string. * @return The corresponding AST. */ function parseString(q_sharp) { var lexer = new lexer_js_1.default(q_sharp, 0); var tokens = lexer.lex(); var parser = new parser_js_1.default(tokens); var ast = parser.parse(); return ast; } /** * Returns the abstract syntax tree for a given Q# file. * @param file - The file location. * @return The corresponding AST. */ exports.parse = function (file) { return parseString(fs.readFileSync(file, 'utf8')); }; exports.parseString = parseString;