fs = require('fs'); parse = require('parse'); function debugExpr(expr) { const tokens = new lex.TokenStream(expr); console.log(tokens.getPrettyTokenList()); //mapKey("type", v => TokenType.keyName(v))); const { ast, error } = parse.attemptExpression(tokens); if (error) throw error; console.format(parse.getPrettyAST(ast)); //ast.mapKey("node", v => ASTNode.keyName(v))); } debugExpr(fs.readFileSync(process.argv[2], "utf8"));