216 lines
4.1 KiB
Plaintext
216 lines
4.1 KiB
Plaintext
val FOO: (string list) * 'a * 'a -> (svalue,'a) token
|
|
val FOO: (string) * 'a * 'a -> (svalue,'a) token
|
|
val FOO: (int) * 'a * 'a -> (svalue,'a) token
|
|
val FOO: (string list) * 'a * 'a -> (svalue,'a) token
|
|
val FOO: 'a * 'a -> (svalue,'a) token
|
|
|
|
datatype spec_ast = SPEC of {head : string list,
|
|
decls : decl_ast list,
|
|
rules : rule_ast list,
|
|
tail : string list}
|
|
|
|
type out_state = {
|
|
tout : real,
|
|
dtout : real,
|
|
dtime : real,
|
|
strm : TextIO.outstream
|
|
}
|
|
val outState = ref (NONE : out_state option)
|
|
|
|
val systemLines: string -> string list
|
|
val systemCleanLines: string -> string list
|
|
val systemStanzas: string -> string list list
|
|
|
|
----------------------------------------------------
|
|
|
|
[
|
|
["keyword", "val"],
|
|
" FOO",
|
|
["punctuation", ":"],
|
|
["class-name", [
|
|
["punctuation", "("],
|
|
"string list",
|
|
["punctuation", ")"],
|
|
["operator", "*"],
|
|
["variable", "'a"],
|
|
["operator", "*"],
|
|
["variable", "'a"],
|
|
["operator", "->"],
|
|
["punctuation", "("],
|
|
"svalue",
|
|
["punctuation", ","],
|
|
["variable", "'a"],
|
|
["punctuation", ")"],
|
|
" token"
|
|
]],
|
|
|
|
["keyword", "val"],
|
|
" FOO",
|
|
["punctuation", ":"],
|
|
["class-name", [
|
|
["punctuation", "("],
|
|
"string",
|
|
["punctuation", ")"],
|
|
["operator", "*"],
|
|
["variable", "'a"],
|
|
["operator", "*"],
|
|
["variable", "'a"],
|
|
["operator", "->"],
|
|
["punctuation", "("],
|
|
"svalue",
|
|
["punctuation", ","],
|
|
["variable", "'a"],
|
|
["punctuation", ")"],
|
|
" token"
|
|
]],
|
|
|
|
["keyword", "val"],
|
|
" FOO",
|
|
["punctuation", ":"],
|
|
["class-name", [
|
|
["punctuation", "("],
|
|
"int",
|
|
["punctuation", ")"],
|
|
["operator", "*"],
|
|
["variable", "'a"],
|
|
["operator", "*"],
|
|
["variable", "'a"],
|
|
["operator", "->"],
|
|
["punctuation", "("],
|
|
"svalue",
|
|
["punctuation", ","],
|
|
["variable", "'a"],
|
|
["punctuation", ")"],
|
|
" token"
|
|
]],
|
|
|
|
["keyword", "val"],
|
|
" FOO",
|
|
["punctuation", ":"],
|
|
["class-name", [
|
|
["punctuation", "("],
|
|
"string list",
|
|
["punctuation", ")"],
|
|
["operator", "*"],
|
|
["variable", "'a"],
|
|
["operator", "*"],
|
|
["variable", "'a"],
|
|
["operator", "->"],
|
|
["punctuation", "("],
|
|
"svalue",
|
|
["punctuation", ","],
|
|
["variable", "'a"],
|
|
["punctuation", ")"],
|
|
" token"
|
|
]],
|
|
|
|
["keyword", "val"],
|
|
" FOO",
|
|
["punctuation", ":"],
|
|
["class-name", [
|
|
["variable", "'a"],
|
|
["operator", "*"],
|
|
["variable", "'a"],
|
|
["operator", "->"],
|
|
["punctuation", "("],
|
|
"svalue",
|
|
["punctuation", ","],
|
|
["variable", "'a"],
|
|
["punctuation", ")"],
|
|
" token"
|
|
]],
|
|
|
|
["keyword", "datatype"],
|
|
["class-name", "spec_ast"],
|
|
["operator", "="],
|
|
" SPEC ",
|
|
["keyword", "of"],
|
|
["punctuation", "{"],
|
|
"head ",
|
|
["punctuation", ":"],
|
|
["class-name", ["string list"]],
|
|
["punctuation", ","],
|
|
|
|
"\r\n decls ",
|
|
["punctuation", ":"],
|
|
["class-name", ["decl_ast list"]],
|
|
["punctuation", ","],
|
|
|
|
"\r\n rules ",
|
|
["punctuation", ":"],
|
|
["class-name", ["rule_ast list"]],
|
|
["punctuation", ","],
|
|
|
|
"\r\n tail ",
|
|
["punctuation", ":"],
|
|
["class-name", ["string list"]],
|
|
["punctuation", "}"],
|
|
|
|
["keyword", "type"],
|
|
["class-name", "out_state"],
|
|
["operator", "="],
|
|
["punctuation", "{"],
|
|
|
|
"\r\ntout ",
|
|
["punctuation", ":"],
|
|
["class-name", ["real"]],
|
|
["punctuation", ","],
|
|
|
|
"\r\ndtout ",
|
|
["punctuation", ":"],
|
|
["class-name", ["real"]],
|
|
["punctuation", ","],
|
|
|
|
"\r\ndtime ",
|
|
["punctuation", ":"],
|
|
["class-name", ["real"]],
|
|
["punctuation", ","],
|
|
|
|
"\r\nstrm ",
|
|
["punctuation", ":"],
|
|
["class-name", [
|
|
"TextIO",
|
|
["punctuation", "."],
|
|
"outstream"
|
|
]],
|
|
|
|
["punctuation", "}"],
|
|
|
|
["keyword", "val"],
|
|
" outState ",
|
|
["operator", "="],
|
|
" ref ",
|
|
["punctuation", "("],
|
|
"NONE ",
|
|
["punctuation", ":"],
|
|
["class-name", ["out_state option"]],
|
|
["punctuation", ")"],
|
|
|
|
["keyword", "val"],
|
|
" systemLines",
|
|
["punctuation", ":"],
|
|
["class-name", [
|
|
"string ",
|
|
["operator", "->"],
|
|
" string list"
|
|
]],
|
|
|
|
["keyword", "val"],
|
|
" systemCleanLines",
|
|
["punctuation", ":"],
|
|
["class-name", [
|
|
"string ",
|
|
["operator", "->"],
|
|
" string list"
|
|
]],
|
|
|
|
["keyword", "val"],
|
|
" systemStanzas",
|
|
["punctuation", ":"],
|
|
["class-name", [
|
|
"string ",
|
|
["operator", "->"],
|
|
" string list list"
|
|
]]
|
|
]
|