# (c) 1989, 1991 Andrew W. Appel, David R. Tarditi
# Compiled by:
#
src/app/yacc/src/mythryl-yacc.lib### "The world is all gates, all opportunities,
### strings of tension waiting to be struck."
###
### -- Ralph Waldo Emerson
api La_Lr_Graph {
package grammar: Grammar; # Grammar is from
src/app/yacc/src/grammar.api package internal_grammar: Internal_Grammar; # Internal_Grammar is from
src/app/yacc/src/internal-grammar.api package core: Core; # Core is from
src/app/yacc/src/core.api package graph: Lr_Graph; # Lr_Graph is from
src/app/yacc/src/lr-graph.api sharing grammar == internal_grammar::grammar == core::grammar == graph::grammar;
sharing internal_grammar == core::internal_grammar == graph::internal_grammar;
sharing core == graph::core;
Lcore
=
LCORE (List ((core::Item, List( grammar::Terminal)) ), Int);
add_lookahead
:
{ graph: graph::Graph,
first: List( grammar::Symbol ) -> List( grammar::Terminal ),
eop: List( grammar::Terminal ),
nonterms: Int,
nullable: grammar::Nonterminal -> Bool,
produces: grammar::Nonterminal -> List( internal_grammar::Rule ),
rules: List( internal_grammar::Rule ),
eps_prods: core::Core -> List( internal_grammar::Rule ),
print: String -> Void, # for debugging
term_to_string: grammar::Terminal -> String,
nonterm_to_string: grammar::Nonterminal -> String
}
->
List( Lcore );
pr_lcore: ((grammar::Symbol -> String), (grammar::Nonterminal -> String) ,
(grammar::Terminal -> String), (String -> Void)) ->
Lcore -> Void;
};