Description
Basic algorithms on context-free grammars.
Description
Basic algorithms on context-free grammars:
augmenting a grammar
calculating nullability
calculating reachability
calculating productivity
calculating first sets
calculating follow sets
calculating predict sets
You may define your context-free grammar textually using parse
or with the quasiquoter bnf
(both in Data.Cfg.Bnf
), or you may use any data structure you like after making it an instance of Cfg
(found in Data.Cfg.Cfg
).
Testing is very thin in this version; basically just sanity-checking.