## treecode-hashing-equality-and-display.api -- derived from ~/src/sml/nj/smlnj-110.58/new/new/src/MLRISC/mltree/mltree-utils.sig
#
# Common operations on Treecode.
# -- Allen Leung
#
# "basic hashing, equality and pretty printing functions,"
# -- http://www.cs.nyu.edu/leunga/MLRISC/Doc/html/mltree-util.html
#
#
# Compiled by:
#
src/lib/compiler/back/low/lib/treecode.lib# Compiled by:
#
src/lib/compiler/back/low/lib/treecode.lib### "Let others praise ancient times;
### I am glad I was born in these."
###
### -- Ovid (43 BC - AD 18)
# This api implemented in:
#
src/lib/compiler/back/low/treecode/treecode-hashing-equality-and-display-g.pkg#
api Treecode_Hashing_Equality_And_Display {
#
package tcf: Treecode_Form;
# Hashing:
#
hash_void_expression: tcf::Void_Expression -> Unt;
hash_int_expression: tcf::Int_Expression -> Unt;
hash_float_expression: tcf::Float_Expression -> Unt;
hash_flag_expression: tcf::Flag_Expression -> Unt; # flag expressions are zero/parity/overflow/... flags stuff.
# Equality:
#
same_void_expression: (tcf::Void_Expression, tcf::Void_Expression ) -> Bool;
same_int_expression: (tcf::Int_Expression, tcf::Int_Expression ) -> Bool;
same_float_expression: (tcf::Float_Expression, tcf::Float_Expression ) -> Bool;
same_flag_expression: (tcf::Flag_Expression, tcf::Flag_Expression ) -> Bool;
same_expressionlists: (List(tcf::Expression), List(tcf::Expression) ) -> Bool;
# Pretty printing:
#
show: { def: Int -> String,
uses: Int -> String,
#
region_def: tcf::rgn::Ramregion -> String,
region_use: tcf::rgn::Ramregion -> String
}
->
tcf::Prettyprint_Fns;
void_expression_to_string: tcf::Void_Expression -> String;
int_expression_to_string: tcf::Int_Expression -> String;
float_expression_to_string: tcf::Float_Expression -> String;
flag_expression_to_string: tcf::Flag_Expression -> String; # Was ccexpToString in SMLNJ/MLRISC;
};
## Changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.