# (c) 1989, 1991 Andrew W. Appel, David R. Tarditi
# MAKE_LR_TABLE: api for a package which includes a package
# matching the api LR_TABLE and a function which maps grammars
# to tables
# Compiled by:
#
src/app/yacc/src/mythryl-yacc.libapi Make_Lr_Table {
package grammar: Grammar; # Grammar is from
src/app/yacc/src/grammar.api package errs: Lr_Errs; # Lr_Errs is from
src/app/yacc/src/lr-errors.api package lr_table: Lr_Table; # Lr_Table is from
src/app/yacc/lib/base.api sharing errs::lr_table == lr_table;
sharing lr_table::Terminal == grammar::Terminal;
sharing lr_table::Nonterminal == grammar::Nonterminal;
# boolean value determines whether default reductions will be used.
# If it is TRUE, reductions will be used.
make_table: (grammar::Grammar, Bool) ->
(lr_table::Table ,
(lr_table::State -> List( errs::Err ) ), # errors in a state
((String -> Void) -> lr_table::State -> Void) ,
List( errs::Err )); # list of all errors
};