## raw-syntax-junk.api
# Compiled by:
#
src/lib/compiler/front/parser/parser.sublib### "The scientist does not study nature
### because it is useful; he studies it
### because he delights in it, and he
### delights in it because it is beautiful.
###
### "If nature were not beautiful, it would
### not be worth knowing, and if nature
### were not worth knowing, life would not
### be worth living."
###
### -- Henri Poincaré
stipulate
package em = error_message; # error_message is from
src/lib/compiler/front/basics/errormsg/error-message.pkg package raw = raw_syntax; # raw_syntax is from
src/lib/compiler/front/parser/raw-syntax/raw-syntax.pkg package sy = symbol; # symbol is from
src/lib/compiler/front/basics/map/symbol.pkgherein
api Raw_Syntax_Junk {
# Some constants for use in rule actions:
post_dotdot_hash: Unt;
dotdot_hash: Unt;
post_plusplus_hash: Unt;
plusplus_hash: Unt;
post_dashdash_hash: Unt;
dashdash_hash: Unt;
preamper_hash: Unt;
preatsign_hash: Unt;
preback_hash: Unt;
prebang_hash: Unt;
prebar_hash: Unt;
prebuck_hash: Unt;
precaret_hash: Unt;
predash_hash: Unt;
preplus_hash: Unt;
prestar_hash: Unt;
preslash_hash: Unt;
pretilda_hash: Unt;
prepercnt_hash: Unt;
preqmark_hash: Unt;
prelangle_hash: Unt;
postrangle_hash: Unt;
prelbrace_hash: Unt;
postrbrace_hash: Unt;
postlbracket_hash: Unt;
lbracket_hash: Unt;
amper_hash: Unt;
atsign_hash: Unt;
back_hash: Unt;
bang_hash: Unt;
bar_hash: Unt;
buck_hash: Unt;
caret_hash: Unt;
dash_hash: Unt;
plus_hash: Unt;
slash_hash: Unt;
star_hash: Unt;
tilda_hash: Unt;
percnt_hash: Unt;
qmark_hash: Unt;
equal_hash: Unt;
eqeq_hash: Unt;
weakdot_hash: Unt;
bogus_hash: Unt;
dollar_bogus_hash: Unt;
barens_hash: Unt;
langle_hash: Unt;
rangle_hash: Unt;
lbrace_hash: Unt;
rbrace_hash: Unt;
postamper_hash: Unt;
postatsign_hash: Unt;
postback_hash: Unt;
postbang_hash: Unt;
postbar_hash: Unt;
postbuck_hash: Unt;
postcaret_hash: Unt;
postdash_hash: Unt;
postplus_hash: Unt;
poststar_hash: Unt;
postslash_hash: Unt;
posttilda_hash: Unt;
postpercnt_hash: Unt;
postqmark_hash: Unt;
field_hash: Unt;
generic_hash: Unt;
get_fields_hash: Unt;
in_hash: Unt;
include_hash: Unt;
infix_hash: Unt;
infixr_hash: Unt;
message_hash: Unt;
method_hash: Unt;
nonfix_hash: Unt;
overloaded_hash: Unt;
raise_hash: Unt;
recursive_hash: Unt;
post_dotdot_string: String;
dotdot_string: String;
post_plusplus_string: String;
plusplus_string: String;
post_dashdash_string: String;
dashdash_string: String;
preamper_string: String;
preatsign_string: String;
preback_string: String;
prebang_string: String;
prebar_string: String;
prebuck_string: String;
precaret_string: String;
predash_string: String;
prepercnt_string: String;
preplus_string: String;
preqmark_string: String;
preslash_string: String;
prestar_string: String;
pretilda_string: String;
prelangle_string: String;
postrangle_string: String;
prelbrace_string: String;
postrbrace_string: String;
postlbracket_string: String;
lbracket_string: String;
amper_string: String;
atsign_string: String;
back_string: String;
bang_string: String;
bar_string: String;
buck_string: String;
caret_string: String;
dash_string: String;
percnt_string: String;
plus_string: String;
qmark_string: String;
slash_string: String;
star_string: String;
tilda_string: String;
postamper_string: String;
postatsign_string: String;
postback_string: String;
postbang_string: String;
postbar_string: String;
postbuck_string: String;
postcaret_string: String;
postdash_string: String;
postpercnt_string: String;
postplus_string: String;
postqmark_string: String;
postslash_string: String;
poststar_string: String;
posttilda_string: String;
equal_string: String;
eqeq_string: String;
weakdot_string: String;
bogus_string: String;
dollar_bogus_string: String;
barens_string: String;
langle_string: String;
rangle_string: String;
lbrace_string: String;
rbrace_string: String;
field_string: String;
generic_string: String;
get_fields_string: String;
in_string: String;
include_string: String;
infix_string: String;
infixr_string: String;
message_string: String;
method_string: String;
nonfix_string: String;
overloaded_string: String;
raise_string: String;
recursive_string: String;
check_fixity: (Int,
em::Plaint_Sink)
-> Int;
# BUILDS VARIOUS CONSTRUCTIONS
make_declaration_sequence
:
(raw::Declaration, raw::Declaration)
->
raw::Declaration;
layered: ( raw::Case_Pattern,
raw::Case_Pattern,
em::Plaint_Sink
)
-> raw::Case_Pattern;
# SYMBOLS
#
arrow_type: sy::Symbol;
bogus_id: sy::Symbol;
exception_id: sy::Symbol;
sym_arg: sy::Symbol;
it_symbol: List( sy::Symbol );
void_expression: raw::Raw_Expression;
void_pattern: raw::Case_Pattern;
block_to_let: List( raw::Declaration ) -> raw::Raw_Expression;
# QUOTES
#
quote_expression: String -> raw::Raw_Expression;
antiquote_expression: raw::Raw_Expression -> raw::Raw_Expression;
expression_to_declaration
:
( raw::Raw_Expression,
raw::Source_Code_Position,
raw::Source_Code_Position
)
->
raw::Declaration;
mark_expression
:
( raw::Raw_Expression,
raw::Source_Code_Position,
raw::Source_Code_Position
)
->
raw::Raw_Expression;
mark_declaration
:
( raw::Declaration,
raw::Source_Code_Position,
raw::Source_Code_Position
)
->
raw::Declaration;
extract_toplevel_declarations
:
raw::Declaration
->
List( raw::Declaration );
#
# Given a raw-syntax declaration equivalent to
#
# my it = foo ();
# my it = bar ();
# my it = zot ();
# ...
#
# return a list of the individual declarations.
# For more motivation and details see comments in
#
src/lib/compiler/front/parser/raw-syntax/raw-syntax-junk.pkg }; # Api Raw_Syntax_Junk
end;
## Copyright 1992 by AT&T Bell Laboratories
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.