import * as pegjs from 'pegjs';
{
    let input: string;
    let result = pegjs.PEG.parse(input);
    console.log(result);
}

{
    let pegparser: pegjs.Parser = pegjs.generate("start = ('a' / 'b')+");

    try {
        let result: string = pegparser.parse("abba");
    } catch (error) {
        if (error instanceof pegparser.SyntaxError) {
            
        }
    }
}

{
    let parser = pegjs.generate("A = 'test'", {
        cache: true,
        allowedStartRules: ["A"],
        optimize: "speed",
        plugins: []
    })
}

try {
    let source: string = pegjs.generate("A = 'test'", {output: "source"});
} catch (error) {
Example #2
0
 public constructor() {
   const grammar = fs.readFileSync("src/grammar/sisal.pegjs", "utf8");
   this.parser = PEG.generate(grammar);
 }