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
8 years ago
|
'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}));
|