q-sharp-ts
Version:
A parser for Q# language features, implemented in TypeScript.
27 lines (26 loc) • 803 B
JavaScript
;
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;