UNPKG

@parser-generator/grammar-interpreter

Version:

A Parser Generator that supports LL,SLR,LR1,LALR

26 lines (25 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const interp_1 = require("../interp"); const core_1 = require("@parser-generator/core"); describe(`Test`, () => { let g = ` #TOKEN_PROTOTYPES STRING,NUMBER,BOOLEAN #GRAMMAR S -> json; factor -> array | obj | STRING | NUMBER | BOOLEAN <% (e)=> new FactorNode(e) %>; entry -> STRING ':' factor <% (e)=>new EntryNode(e) %>; entries -> entry ',' entries | entry | entry ',' <% (e)=>new EntriesNode(e) %>; obj -> '{' entries '}' | '{' entries '}' <% (e)=>new ObjectNode(e) %>; items -> factor ',' items | factor | factor ',' <% (e)=>new ItemsNode(e) %>; array -> '[' items ']' | '[' items ']' <% (e)=>new ArrayNode(e) %>; json -> factor <% (e)=>new JSONNode(e) %>; `; let p = interp_1.parse(new interp_1.GrammarLexer(g)); let v = new interp_1.EvalVisitor({ parser: "LR1" }); p.accpet(v); let grammar = v.grammar; core_1.getLR1ParsingTable(grammar); }); //# sourceMappingURL=intergration.test.js.map