-const util = __importStar(require("util"));
-const p = __importStar(require("typescript-parsec"));
-/**
- *
- * # REPRESENTATION
- */
-/**
- * convert a `tkTree` AST to S-expr string
- * @param t the `tkTree`
- * @returns S-expr String
- */
-function tkTreeToSExp(t) {
- var str = "";
- if (Array.isArray(t)) {
- let strArray = t.map((x) => tkTreeToSExp(x));
- str = "(" + strArray.join(" ") + ")";
- }
- else {
- if (t === undefined) {
- str = "%undefined";
- }
- else {
- str = t;
- }
- }
- return str;
-}
-exports.tkTreeToSExp = tkTreeToSExp;
-/**inspect the inner of the representation. */
-let repr = (x) => { return util.inspect(x, { depth: null }); };
-var TokenKind;
-(function (TokenKind) {
- TokenKind[TokenKind["Seperator"] = 0] = "Seperator";
- TokenKind[TokenKind["Semicolon"] = 1] = "Semicolon";
- TokenKind[TokenKind["Number"] = 2] = "Number";
- TokenKind[TokenKind["Op"] = 3] = "Op";
- TokenKind[TokenKind["ExprMark"] = 4] = "ExprMark";
- TokenKind[TokenKind["ExcapeAt"] = 5] = "ExcapeAt";
- TokenKind[TokenKind["Paren"] = 6] = "Paren";
- TokenKind[TokenKind["SpaceNL"] = 7] = "SpaceNL";
- TokenKind[TokenKind["Id"] = 8] = "Id";
- TokenKind[TokenKind["Str"] = 9] = "Str";
- TokenKind[TokenKind["Comment"] = 10] = "Comment";
-})(TokenKind || (TokenKind = {}));
-/**
- * Parsing
- */
-const lexer = p.buildLexer([
- [true, /^\d+(\.\d+)?/g, TokenKind.Number],
- [true, /^\\\@/g, TokenKind.ExcapeAt],
- [true, /^\/\*([^/]|\/[^*])*\*\//g, TokenKind.Comment],
- [true, /^\;/g, TokenKind.Semicolon],
- [true, /^[-][-][-]/g, TokenKind.Seperator],
- [true, /^[\+\-\*\/\&\|\!\^\<\>\~\=\?]+/g, TokenKind.Op],
- [true, /^\@/g, TokenKind.ExprMark],
- [true, /^[()\[\]{}]/g, TokenKind.Paren],
- [true, /^["]([\"]|[\\].)*["]/g, TokenKind.Str],
- [true, /^[']([\']|[\\].)*[']/g, TokenKind.Str],
- [true, /^[()\[\]{}]/g, TokenKind.Paren],
- [true, /^[^\/\\\@\s\n\t\r;]+/g, TokenKind.Id],
- [true, /^(\s|\n|\r|\t)+/g, TokenKind.SpaceNL],
-]);
-/**
- *
- * # TEST
- */
-const inputTxt = `import a as b; /*bacourt*/
-/* ba choir
-ipsum lorem*/
-
-import you as john;
----