PreviousUpNext

15.3.37  src/app/yacc/src/make-lr-table.api

#  (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.lib

api 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 
};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext