Parsing Expression Grammar
$ npm install parsejs-grammar
$ component install parsejs/grammar
- easily define a custom parsing expression grammar (PEG)
- reuse and recombine PEGs with
- expressions can be referenced by name, so complex grammars are very readable
grammar is a set of expressions that share a common namespace. This means you can define named expressions within a grammar, and access them from anywhere else within the grammar.
Expressions can't exist outside of a grammar. A grammar itself is just an expression, it is the start of the expression hierarchy.
You can nest grammars, and so build on top of them easily!
var Grammar = ;var grammar = 'math';var expression = grammarexpression;;;;var val = grammar; // 42
Nesting grammars. Say the above simple math grammar was in a module called
math-grammar and we had another one called
function-grammar. We could create a new grammar that builds on both of those:
var math = ;var fn = ;var Grammar = ;var grammar = 'foo';grammar;grammar;
Then you could use their names in your grammar:
Or just use a subset of them: