You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
633 B
JavaScript

'use strict';
const pegjs = require("pegjs");
const util = require("util");
const fs = require("fs");
const createBetterPegTracer = require("better-peg-tracer");
//let toParse = "hello {bold}world {italic}{color:red}people{/color}{/italic}{/bold}!";
let toParse = `
foo{{{}}
{{align:center}bar
qux {class:test1,test2}baz{/class}{/align}}
`.trim();
let parser = pegjs.buildParser(fs.readFileSync("./src/parser/tag-parser.pegjs").toString(), {
trace: true
});
let results = parser.parse(toParse, {
tracer: createBetterPegTracer(toParse)
});
console.log("\n\n");
console.log(util.inspect(results, {colors: true, depth: null}));