@igorivaniuk/tlb-parser
Version:
Parse TLB syntax into TypeScript objects
31 lines (30 loc) • 1.15 kB
JavaScript
;
// Only used for tests now, CLI will be awailable later
// TODO: build normal CLI
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = __importDefault(require("fs"));
const util_1 = __importDefault(require("util"));
const index_1 = require("./index");
const input = fs_1.default.readFileSync(process.argv[2], 'utf-8');
const visit_1 = require("./ast/visit");
class TestVisitor extends visit_1.NodeVisitor {
constructor() {
super();
this.visited = {};
}
genericVisit(node) {
if (this.visited[node.constructor.name] === undefined) {
this.visited[node.constructor.name] = 0;
}
this.visited[node.constructor.name] += 1;
return super.genericVisit(node);
}
}
const tree = (0, index_1.ast)(input);
const visitor = new TestVisitor();
visitor.visit(tree);
console.log(JSON.stringify(visitor.visited, null, 2));
console.log(util_1.default.inspect(tree, { showHidden: false, depth: null, colors: true }));