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
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}));
|