Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Bnf_spec.BnfSourceThe type of context-free grammars
The type of live CFGs
add_prod gr nt prod sl adds a production with tag prod that derives to symbol list sl to nonterminal nt in grammar gr.
remove_nt gr nt removes nonterminal nt from grammar gr.
grammar_of_live gr converts a live grammar to a normal grammar.
prune_unproductive gr prunes all unproductive entitites in gr.
prune_nonlive gr prunes all nonlive entities in gr.
prune_unreachable gr nt prunes all entities in grammar gr which cannot be reached from nonterminal nt.
prune_unreachable_live gr nt prunes all entities in live grammar gr which cannot be reached from nonterminal nt. The resulting grammar contains derivation information.
make_sane gr nt prunes all useless entities in grammar gr using nonterminal nt as start symbol.
make_sane_live gr nt prunes all useless entities in grammar gr using nonterminal nt as start symbol.
grammar_contents gr returns a traversable representation of grammar gr.
deriv_depth_info gr returns a traversable representation of live grammar gr: the left part of the tuple to which nonterminals are mapped tells the minimum derivation depth needed to completely derive the corresponding nonterminal, the right part contains a map of productions which are mapped to their minimum derivation depth.
nts_in_grammar gr returns the set of all nonterminals in gr.
prods_in_grammar gr returns the set of all productions in gr.