1 diff --git a/Controls/controls-lib.mlb b/Controls/controls-lib.mlb
5 +++ b/Controls/controls-lib.mlb
9 + "nonexhaustiveBind warn" "nonexhaustiveMatch warn"
10 + "redundantBind warn" "redundantMatch warn"
11 + "sequenceNonUnit ignore"
12 + "warnUnused false" "forceUsed"
18 + (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
22 + (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
26 + $(SML_LIB)/basis/pervasive.mlb
30 + structure gs_0 = GetOpt
35 + structure gs_1 = Option
40 + structure gs_2 = List
45 + structure gs_3 = Atom
50 + structure gs_4 = Int
53 + structure GetOpt = gs_0
56 + signature gs_5 = CONTROLS
61 + structure gs_6 = AtomTable
64 + structure Atom = gs_3
65 + structure AtomTable = gs_6
66 + structure Int = gs_4
67 + structure List = gs_2
70 + structure gs_7 = ControlReps
73 + structure Atom = gs_3
74 + signature CONTROLS = gs_5
75 + structure ControlReps = gs_7
76 + structure GetOpt = gs_0
77 + structure Int = gs_4
78 + structure List = gs_2
79 + structure Option = gs_1
82 + structure gs_8 = Controls
87 + structure gs_9 = ListMergeSort
90 + structure Atom = gs_3
91 + structure Controls = gs_8
94 + signature gs_10 = CONTROL_SET
97 + structure AtomTable = gs_6
98 + signature CONTROL_SET = gs_10
99 + structure ControlReps = gs_7
100 + structure Controls = gs_8
101 + structure ListMergeSort = gs_9
102 + structure Option = gs_1
105 + structure gs_11 = ControlSet
108 + structure ControlSet = gs_11
109 + structure Controls = gs_8
112 + signature gs_12 = CONTROL_REGISTRY
117 + structure gs_13 = String
122 + structure gs_14 = Real
127 + structure gs_15 = Char
132 + structure gs_16 = Bool
135 + structure Controls = gs_8
136 + control-util-sig.sml
138 + signature gs_17 = CONTROL_UTIL
141 + structure Bool = gs_16
142 + signature CONTROL_UTIL = gs_17
143 + structure Char = gs_15
144 + structure Controls = gs_8
145 + structure Int = gs_4
146 + structure List = gs_2
147 + structure Real = gs_14
148 + structure String = gs_13
151 + structure gs_18 = ControlUtil
156 + structure gs_19 = OS
159 + structure Atom = gs_3
160 + structure AtomTable = gs_6
161 + signature CONTROL_REGISTRY = gs_12
162 + structure ControlReps = gs_7
163 + structure ControlSet = gs_11
164 + structure Controls = gs_8
165 + structure List = gs_2
166 + structure ListMergeSort = gs_9
167 + structure OS = gs_19
170 + structure gs_20 = ControlRegistry
173 + signature CONTROLS = gs_5
174 + signature CONTROL_REGISTRY = gs_12
175 + signature CONTROL_SET = gs_10
176 + signature CONTROL_UTIL = gs_17
177 + structure ControlRegistry = gs_20
178 + structure ControlSet = gs_11
179 + structure ControlUtil = gs_18
180 + structure Controls = gs_8
185 diff --git a/HTML/html-lex.sml b/HTML/html-lex.sml
186 index f1de5c0..9ffd254 100644
187 --- a/HTML/html-lex.sml
188 +++ b/HTML/html-lex.sml
189 @@ -178,7 +178,7 @@ Vector.fromList []
190 (fn (~1, _, oldMatches) => yystuck oldMatches
191 | (curState, strm, oldMatches) => let
192 val (transitions, finals') = Vector.sub (yytable, curState)
193 - val finals = map (fn i => Vector.sub (actTable, i)) finals'
194 + val finals = List.map (fn i => Vector.sub (actTable, i)) finals'
196 yystuck (yyactsToMatches (strm, finals, oldMatches))
197 fun find (c, []) = NONE
198 @@ -990,7 +990,6 @@ end
201 fun makeLexer yyinputN = mk (yyInput.mkStream yyinputN)
202 - fun makeLexer' ins = mk (yyInput.mkStream ins)
206 diff --git a/HTML/html-lib.mlb b/HTML/html-lib.mlb
208 index 0000000..a5f8ca3
210 +++ b/HTML/html-lib.mlb
214 + "nonexhaustiveBind warn" "nonexhaustiveMatch warn"
215 + "redundantBind warn" "redundantMatch warn"
216 + "sequenceNonUnit ignore"
217 + "warnUnused false" "forceUsed"
218 + "allowOrPats true" "allowVectorExpsAndPats true"
224 + (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb
228 + (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
232 + (* $/ml-yacc-lib.cm ====> *) $(SML_LIB)/mlyacc-lib/mlyacc-lib.mlb
236 + $(SML_LIB)/basis/pervasive.mlb
240 + structure gs_0 = General
245 + structure gs_1 = String
250 + structure gs_2 = List
255 + structure gs_3 = Char
260 + signature gs_4 = HTML
263 + structure Char = gs_3
264 + structure General = gs_0
265 + signature HTML = gs_4
266 + structure List = gs_2
267 + structure String = gs_1
270 + structure gs_5 = HTML
273 + structure HTML = gs_5
276 + structure gs_6 = MakeHTML
279 + structure HTML = gs_5
282 + structure gs_7 = HTMLDefaults
287 + signature gs_8 = HTML_ERROR
292 + functor gs_9 = Join
293 + functor gs_10 = JoinWithArg
298 + structure gs_11 = LrParser
303 + structure gs_12 = TextIO
308 + structure gs_13 = Format
311 + structure Format = gs_13
312 + structure HTML = gs_5
313 + signature HTML_ERROR = gs_8
314 + structure List = gs_2
317 + functor gs_14 = CheckHTMLFn
322 + structure gs_15 = IO
327 + structure gs_16 = TextPrimIO
332 + structure gs_17 = Vector
337 + structure gs_18 = Substring
342 + functor gs_19 = HashTableFn
347 + structure gs_20 = HashString
352 + structure gs_21 = HTMLAttrVals
355 + structure HTML = gs_5
356 + structure HTMLAttrVals = gs_21
359 + signature gs_22 = HTML_ATTRS
364 + signature gs_23 = ARG_LEXER
365 + signature gs_24 = ARG_PARSER
366 + signature gs_25 = LEXER
367 + signature gs_26 = LR_PARSER
368 + signature gs_27 = LR_TABLE
369 + signature gs_28 = PARSER
370 + signature gs_29 = PARSER_DATA
371 + signature gs_30 = STREAM
372 + signature gs_31 = TOKEN
375 + signature ARG_LEXER = gs_23
376 + signature ARG_PARSER = gs_24
377 + structure HTMLAttrVals = gs_21
378 + signature LEXER = gs_25
379 + signature LR_PARSER = gs_26
380 + signature LR_TABLE = gs_27
381 + signature PARSER = gs_28
382 + signature PARSER_DATA = gs_29
383 + signature STREAM = gs_30
384 + signature TOKEN = gs_31
387 + signature gs_32 = HTML_LRVALS
388 + signature gs_33 = HTML_TOKENS
391 + structure Char = gs_3
392 + signature HTML_ATTRS = gs_22
393 + signature HTML_ERROR = gs_8
394 + signature HTML_LRVALS = gs_32
395 + signature HTML_TOKENS = gs_33
396 + structure HashString = gs_20
397 + functor HashTableFn = gs_19
398 + structure List = gs_2
399 + structure String = gs_1
400 + structure Substring = gs_18
401 + html-elements-fn.sml
403 + functor gs_34 = HTMLElementsFn
406 + structure Char = gs_3
407 + functor HTMLElementsFn = gs_34
408 + signature HTML_ATTRS = gs_22
409 + signature HTML_ERROR = gs_8
410 + signature HTML_LRVALS = gs_32
411 + signature HTML_TOKENS = gs_33
412 + structure IO = gs_15
413 + structure List = gs_2
414 + structure String = gs_1
415 + structure TextIO = gs_12
416 + structure TextPrimIO = gs_16
417 + structure Vector = gs_17
420 + functor gs_35 = HTMLLexFn
425 + structure gs_36 = Array
428 + signature ARG_LEXER = gs_23
429 + signature ARG_PARSER = gs_24
430 + structure Array = gs_36
431 + structure Char = gs_3
432 + structure General = gs_0
433 + structure HTML = gs_5
434 + structure HTMLAttrVals = gs_21
435 + signature HTML_ATTRS = gs_22
436 + signature HTML_LRVALS = gs_32
437 + signature HTML_TOKENS = gs_33
438 + signature LEXER = gs_25
439 + signature LR_PARSER = gs_26
440 + signature LR_TABLE = gs_27
441 + structure List = gs_2
442 + signature PARSER = gs_28
443 + signature PARSER_DATA = gs_29
444 + signature STREAM = gs_30
445 + structure String = gs_1
446 + signature TOKEN = gs_31
449 + functor gs_37 = HTMLLrValsFn
454 + structure gs_38 = Int
457 + structure Array = gs_36
458 + structure Char = gs_3
459 + structure HTML = gs_5
460 + structure HTMLAttrVals = gs_21
461 + signature HTML_ATTRS = gs_22
462 + signature HTML_ERROR = gs_8
463 + structure HashString = gs_20
464 + functor HashTableFn = gs_19
465 + structure Int = gs_38
466 + structure List = gs_2
467 + structure String = gs_1
470 + functor gs_39 = HTMLAttrsFn
473 + functor CheckHTMLFn = gs_14
474 + structure HTML = gs_5
475 + functor HTMLAttrsFn = gs_39
476 + functor HTMLLexFn = gs_35
477 + functor HTMLLrValsFn = gs_37
478 + signature HTML_ERROR = gs_8
479 + functor Join = gs_9
480 + functor JoinWithArg = gs_10
481 + structure LrParser = gs_11
482 + structure TextIO = gs_12
485 + functor gs_40 = HTMLParserFn
490 + structure gs_41 = ListFormat
493 + structure Format = gs_13
494 + structure HTML = gs_5
495 + structure Int = gs_38
496 + structure List = gs_2
497 + structure ListFormat = gs_41
500 + structure gs_42 = PrHTML
503 + signature HTML = gs_4
504 + structure HTML = gs_5
505 + structure HTMLDefaults = gs_7
506 + functor HTMLParserFn = gs_40
507 + signature HTML_ERROR = gs_8
508 + structure MakeHTML = gs_6
509 + structure PrHTML = gs_42
514 diff --git a/HTML4/html4-attr.g.sml b/HTML4/html4-attr.g.sml
515 index cfc415b..e0c2765 100644
516 --- a/HTML4/html4-attr.g.sml
517 +++ b/HTML4/html4-attr.g.sml
520 -HTML4AttrTokens = struct
522 - datatype token = EOF
525 - | STRINGLIT of string
526 +structure HTML4AttrTokens =
529 + = NAME of Atom.atom
531 - | NAME of Atom.atom
533 - val allToks = [EOF, DOT, EQUALS]
535 + | STRINGLIT of string
545 - | (NUMBER(_)) => "NUMBER"
547 - | (STRINGLIT(_)) => "STRINGLIT"
548 + of (NAME(_)) => "NAME"
550 - | (NAME(_)) => "NAME"
551 + | (STRINGLIT(_)) => "STRINGLIT"
553 + | (NUMBER(_)) => "NUMBER"
559 - | (NUMBER(_)) => false
561 - | (STRINGLIT(_)) => false
562 + of (NAME(_)) => false
564 - | (NAME(_)) => false
565 + | (STRINGLIT(_)) => false
567 + | (NUMBER(_)) => false
570 + fun isEOF EOF = true
572 + end (* HTML4AttrTokens *)
574 - fun isEOF EOF = true
579 -functor HTML4AttrParseFn(Lex : ANTLR_LEXER) = struct
580 +functor HTML4AttrParseFn (Lex : ANTLR_LEXER) = struct
588 @@ -60,47 +58,81 @@ fun attr_value_PROD_3_ACT (SR, NUMBER, SR_SPAN : (Lex.pos * Lex.pos), NUMBER_SPA
589 structure Err = AntlrErrHandler(
593 +(* replace functor with inline structure for better optimization
594 structure EBNF = AntlrEBNF(
596 type strm = Err.wstream
597 val getSpan = Err.getSpan
602 + fun optional (pred, parse, strm) =
605 + val (y, span, strm') = parse strm
607 + (SOME y, span, strm')
609 + else (NONE, Err.getSpan strm, strm)
611 + fun closure (pred, parse, strm) = let
612 + fun iter (strm, (left, right), ys) =
615 + val (y, (_, right'), strm') = parse strm
616 + in iter (strm', (left, right'), y::ys)
618 + else (List.rev ys, (left, right), strm)
620 + iter (strm, Err.getSpan strm, [])
623 + fun posclos (pred, parse, strm) = let
624 + val (y, (left, _), strm') = parse strm
625 + val (ys, (_, right), strm'') = closure (pred, parse, strm')
627 + (y::ys, (left, right), strm'')
634 -fun unwrap (ret, strm, repairs) = (ret, strm, repairs) val (eh, lex) = Err.mkErrHandler {get = getS, put = putS}
635 +fun unwrap (ret, strm, repairs) = (ret, strm, repairs)
636 + val (eh, lex) = Err.mkErrHandler {get = getS, put = putS}
637 fun fail() = Err.failure eh
638 fun tryProds (strm, prods) = let
640 - | try (prod :: prods) =
641 - (Err.whileDisabled eh (fn() => prod strm))
642 + | try (prod :: prods) =
643 + (Err.whileDisabled eh (fn() => prod strm))
644 handle Err.ParseError => try (prods)
646 -fun matchEOF strm = (case (lex(strm))
647 - of (Tok.EOF, span, strm') => ((), span, strm')
650 -fun matchNUMBER strm = (case (lex(strm))
651 - of (Tok.NUMBER(x), span, strm') => (x, span, strm')
654 -fun matchDOT strm = (case (lex(strm))
655 - of (Tok.DOT, span, strm') => ((), span, strm')
658 -fun matchSTRINGLIT strm = (case (lex(strm))
659 - of (Tok.STRINGLIT(x), span, strm') => (x, span, strm')
662 -fun matchEQUALS strm = (case (lex(strm))
663 - of (Tok.EQUALS, span, strm') => ((), span, strm')
666 fun matchNAME strm = (case (lex(strm))
667 of (Tok.NAME(x), span, strm') => (x, span, strm')
670 +fun matchEQUALS strm = (case (lex(strm))
671 + of (Tok.EQUALS, span, strm') => ((), span, strm')
674 +fun matchSTRINGLIT strm = (case (lex(strm))
675 + of (Tok.STRINGLIT(x), span, strm') => (x, span, strm')
678 +fun matchDOT strm = (case (lex(strm))
679 + of (Tok.DOT, span, strm') => ((), span, strm')
682 +fun matchNUMBER strm = (case (lex(strm))
683 + of (Tok.NUMBER(x), span, strm') => (x, span, strm')
686 +fun matchEOF strm = (case (lex(strm))
687 + of (Tok.EOF, span, strm') => ((), span, strm')
693 diff --git a/HTML4/html4-lib.cm b/HTML4/html4-lib.cm
694 index 8248a55..dba213b 100644
695 --- a/HTML4/html4-lib.cm
696 +++ b/HTML4/html4-lib.cm
707 diff --git a/HTML4/html4-lib.mlb b/HTML4/html4-lib.mlb
709 index 0000000..46eaf3d
711 +++ b/HTML4/html4-lib.mlb
715 + "nonexhaustiveBind ignore" "nonexhaustiveMatch ignore"
716 + "redundantBind warn" "redundantMatch warn"
717 + "sequenceNonUnit ignore"
718 + "warnUnused false" "forceUsed"
724 + (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
728 + (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
732 + (* $/ml-lpt-lib.cm ====> *) $(SML_LIB)/mllpt-lib/mllpt-lib.mlb
736 + $(SML_LIB)/basis/pervasive.mlb
740 + structure gs_0 = String
745 + structure gs_1 = Atom
748 + structure Atom = gs_1
749 + structure String = gs_0
752 + structure gs_2 = HTML4Utils
757 + structure gs_3 = Format
762 + structure gs_4 = IntInf
767 + structure gs_5 = List
770 + structure Atom = gs_1
771 + structure IntInf = gs_4
774 + signature gs_6 = HTML4
777 + structure Atom = gs_1
778 + signature HTML4 = gs_6
779 + structure IntInf = gs_4
782 + structure gs_7 = HTML4
785 + structure Atom = gs_1
786 + structure Format = gs_3
787 + structure HTML4 = gs_7
788 + structure IntInf = gs_4
789 + structure List = gs_5
790 + structure String = gs_0
793 + structure gs_8 = HTML4Print
796 + structure Atom = gs_1
799 + structure gs_9 = HTML4Attrs
804 + signature gs_10 = ORD_MAP
809 + functor gs_11 = RedBlackMapFn
814 + structure gs_12 = CharVectorSlice
819 + structure gs_13 = Substring
824 + structure gs_14 = Char
829 + structure gs_15 = AntlrStreamPos
834 + structure gs_16 = TextIO
839 + functor gs_17 = AntlrErrHandler
844 + signature gs_18 = ANTLR_LEXER
847 + signature ANTLR_LEXER = gs_18
848 + functor AntlrErrHandler = gs_17
849 + structure Atom = gs_1
850 + structure HTML4Utils = gs_2
851 + structure IntInf = gs_4
852 + structure List = gs_5
855 + functor gs_19 = HTML4ParseFn
856 + structure gs_20 = HTML4Tokens
859 + signature ANTLR_LEXER = gs_18
860 + functor AntlrErrHandler = gs_17
861 + structure Atom = gs_1
862 + structure List = gs_5
863 + structure String = gs_0
866 + functor gs_21 = HTML4AttrParseFn
867 + structure gs_22 = HTML4AttrTokens
872 + structure gs_23 = Vector
877 + structure gs_24 = ULexBuffer
882 + structure gs_25 = UTF8
885 + structure AntlrStreamPos = gs_15
886 + structure Atom = gs_1
887 + functor HTML4AttrParseFn = gs_21
888 + structure HTML4AttrTokens = gs_22
889 + structure List = gs_5
890 + structure String = gs_0
891 + structure Substring = gs_13
892 + structure TextIO = gs_16
893 + structure ULexBuffer = gs_24
894 + structure UTF8 = gs_25
895 + structure Vector = gs_23
898 + structure gs_26 = HTML4AttrLexer
901 + structure AntlrStreamPos = gs_15
902 + structure Atom = gs_1
903 + structure Char = gs_14
904 + structure CharVectorSlice = gs_12
905 + structure HTML4AttrLexer = gs_26
906 + functor HTML4AttrParseFn = gs_21
907 + structure HTML4AttrTokens = gs_22
908 + functor HTML4ParseFn = gs_19
909 + structure HTML4Tokens = gs_20
910 + structure HTML4Utils = gs_2
911 + structure IntInf = gs_4
912 + signature ORD_MAP = gs_10
913 + functor RedBlackMapFn = gs_11
914 + structure String = gs_0
915 + structure Substring = gs_13
916 + structure TextIO = gs_16
917 + html4-token-utils.sml
919 + structure gs_27 = HTML4TokenUtils
922 + structure Atom = gs_1
923 + structure HTML4 = gs_7
926 + structure gs_28 = HTML4Entities
931 + structure gs_29 = CharVector
936 + structure gs_30 = Option
941 + structure gs_31 = StringCvt
944 + structure AntlrStreamPos = gs_15
945 + structure Atom = gs_1
946 + structure HTML4TokenUtils = gs_27
947 + structure IntInf = gs_4
948 + structure List = gs_5
949 + structure String = gs_0
950 + structure StringCvt = gs_31
951 + structure Substring = gs_13
952 + structure TextIO = gs_16
953 + structure ULexBuffer = gs_24
954 + structure UTF8 = gs_25
955 + structure Vector = gs_23
958 + structure gs_32 = HTML4Lexer
961 + structure AntlrStreamPos = gs_15
962 + structure Atom = gs_1
963 + structure Char = gs_14
964 + structure CharVector = gs_29
965 + structure HTML4 = gs_7
966 + structure HTML4Lexer = gs_32
967 + functor HTML4ParseFn = gs_19
968 + structure HTML4TokenUtils = gs_27
969 + structure HTML4Tokens = gs_20
970 + structure HTML4Utils = gs_2
971 + structure Option = gs_30
972 + structure String = gs_0
973 + structure TextIO = gs_16
976 + structure gs_33 = HTML4Parser
979 + signature HTML4 = gs_6
980 + structure HTML4 = gs_7
981 + structure HTML4Attrs = gs_9
982 + structure HTML4Entities = gs_28
983 + structure HTML4Parser = gs_33
984 + structure HTML4Print = gs_8
985 + structure HTML4TokenUtils = gs_27
986 + structure HTML4Tokens = gs_20
987 + structure HTML4Utils = gs_2
992 diff --git a/HTML4/html4.g.sml b/HTML4/html4.g.sml
993 index 52d716b..75e445f 100644
994 --- a/HTML4/html4.g.sml
995 +++ b/HTML4/html4.g.sml
998 -HTML4Tokens = struct
1000 - datatype token = EOF
1002 - | STARTVAR of HTML4Utils.tag_payload
1004 - | STARTUL of HTML4Utils.tag_payload
1006 - | STARTU of HTML4Utils.tag_payload
1008 - | STARTTT of HTML4Utils.tag_payload
1010 - | STARTTR of HTML4Utils.tag_payload
1012 - | STARTTITLE of HTML4Utils.tag_payload
1014 - | STARTTHEAD of HTML4Utils.tag_payload
1016 - | STARTTH of HTML4Utils.tag_payload
1018 - | STARTTFOOT of HTML4Utils.tag_payload
1020 - | STARTTEXTAREA of HTML4Utils.tag_payload
1022 - | STARTTD of HTML4Utils.tag_payload
1024 - | STARTTBODY of HTML4Utils.tag_payload
1026 - | STARTTABLE of HTML4Utils.tag_payload
1028 - | STARTSUP of HTML4Utils.tag_payload
1030 - | STARTSUB of HTML4Utils.tag_payload
1032 - | STARTSTYLE of HTML4Utils.tag_payload
1034 - | STARTSTRONG of HTML4Utils.tag_payload
1036 - | STARTSTRIKE of HTML4Utils.tag_payload
1038 - | STARTSPAN of HTML4Utils.tag_payload
1040 - | STARTSMALL of HTML4Utils.tag_payload
1042 - | STARTSELECT of HTML4Utils.tag_payload
1044 - | STARTSCRIPT of HTML4Utils.tag_payload
1046 - | STARTSAMP of HTML4Utils.tag_payload
1048 - | STARTS of HTML4Utils.tag_payload
1050 - | STARTQ of HTML4Utils.tag_payload
1052 - | STARTPRE of HTML4Utils.tag_payload
1053 - | STARTPARAM of HTML4Utils.tag_payload
1055 - | STARTP of HTML4Utils.tag_payload
1057 - | STARTOPTION of HTML4Utils.tag_payload
1059 - | STARTOPTGROUP of HTML4Utils.tag_payload
1061 - | STARTOL of HTML4Utils.tag_payload
1063 - | STARTOBJECT of HTML4Utils.tag_payload
1065 - | STARTNOSCRIPT of HTML4Utils.tag_payload
1067 - | STARTNOFRAMES of HTML4Utils.tag_payload
1068 - | STARTMETA of HTML4Utils.tag_payload
1070 - | STARTMENU of HTML4Utils.tag_payload
1072 - | STARTMAP of HTML4Utils.tag_payload
1073 - | STARTLINK of HTML4Utils.tag_payload
1075 - | STARTLI of HTML4Utils.tag_payload
1077 - | STARTLEGEND of HTML4Utils.tag_payload
1079 - | STARTLABEL of HTML4Utils.tag_payload
1081 - | STARTKBD of HTML4Utils.tag_payload
1082 - | STARTISINDEX of HTML4Utils.tag_payload
1084 - | STARTINS of HTML4Utils.tag_payload
1085 - | STARTINPUT of HTML4Utils.tag_payload
1086 - | STARTIMG of HTML4Utils.tag_payload
1088 - | STARTIFRAME of HTML4Utils.tag_payload
1090 - | STARTI of HTML4Utils.tag_payload
1092 - | STARTHTML of HTML4Utils.tag_payload
1093 - | STARTHR of HTML4Utils.tag_payload
1095 - | STARTHEAD of HTML4Utils.tag_payload
1097 - | STARTH6 of HTML4Utils.tag_payload
1099 - | STARTH5 of HTML4Utils.tag_payload
1101 - | STARTH4 of HTML4Utils.tag_payload
1103 - | STARTH3 of HTML4Utils.tag_payload
1105 - | STARTH2 of HTML4Utils.tag_payload
1107 - | STARTH1 of HTML4Utils.tag_payload
1109 - | STARTFRAMESET of HTML4Utils.tag_payload
1110 - | STARTFRAME of HTML4Utils.tag_payload
1112 - | STARTFORM of HTML4Utils.tag_payload
1114 - | STARTFONT of HTML4Utils.tag_payload
1116 - | STARTFIELDSET of HTML4Utils.tag_payload
1118 - | STARTEM of HTML4Utils.tag_payload
1120 - | STARTDT of HTML4Utils.tag_payload
1122 - | STARTDL of HTML4Utils.tag_payload
1124 - | STARTDIV of HTML4Utils.tag_payload
1126 - | STARTDIR of HTML4Utils.tag_payload
1128 - | STARTDFN of HTML4Utils.tag_payload
1130 - | STARTDEL of HTML4Utils.tag_payload
1132 - | STARTDD of HTML4Utils.tag_payload
1134 - | STARTCOLGROUP of HTML4Utils.tag_payload
1135 - | STARTCOL of HTML4Utils.tag_payload
1137 - | STARTCODE of HTML4Utils.tag_payload
1139 - | STARTCITE of HTML4Utils.tag_payload
1141 - | STARTCENTER of HTML4Utils.tag_payload
1143 - | STARTCAPTION of HTML4Utils.tag_payload
1145 - | STARTBUTTON of HTML4Utils.tag_payload
1146 - | STARTBR of HTML4Utils.tag_payload
1148 - | STARTBODY of HTML4Utils.tag_payload
1150 - | STARTBLOCKQUOTE of HTML4Utils.tag_payload
1152 - | STARTBIG of HTML4Utils.tag_payload
1154 - | STARTBDO of HTML4Utils.tag_payload
1155 - | STARTBASEFONT of HTML4Utils.tag_payload
1156 - | STARTBASE of HTML4Utils.tag_payload
1158 - | STARTB of HTML4Utils.tag_payload
1159 - | STARTAREA of HTML4Utils.tag_payload
1161 - | STARTAPPLET of HTML4Utils.tag_payload
1163 - | STARTADDRESS of HTML4Utils.tag_payload
1165 - | STARTACRONYM of HTML4Utils.tag_payload
1167 - | STARTABBR of HTML4Utils.tag_payload
1169 - | STARTA of HTML4Utils.tag_payload
1170 - | XML_PROCESSING of string
1171 - | ENTITY_REF of Atom.atom
1172 - | CHAR_REF of IntInf.int
1173 - | DOCTYPE of string
1174 - | PCDATA of string
1175 - | COMMENT of string
1176 +structure HTML4Tokens =
1179 + = OPENTAG of Atom.atom * HTML4Utils.tag_payload
1180 | CLOSETAG of Atom.atom
1181 - | OPENTAG of Atom.atom * HTML4Utils.tag_payload
1183 - val allToks = [EOF, ENDVAR, ENDUL, ENDU, ENDTT, ENDTR, ENDTITLE, ENDTHEAD, ENDTH, ENDTFOOT, ENDTEXTAREA, ENDTD, ENDTBODY, ENDTABLE, ENDSUP, ENDSUB, ENDSTYLE, ENDSTRONG, ENDSTRIKE, ENDSPAN, ENDSMALL, ENDSELECT, ENDSCRIPT, ENDSAMP, ENDS, ENDQ, ENDPRE, ENDP, ENDOPTION, ENDOPTGROUP, ENDOL, ENDOBJECT, ENDNOSCRIPT, ENDNOFRAMES, ENDMENU, ENDMAP, ENDLI, ENDLEGEND, ENDLABEL, ENDKBD, ENDINS, ENDIFRAME, ENDI, ENDHTML, ENDHEAD, ENDH6, ENDH5, ENDH4, ENDH3, ENDH2, ENDH1, ENDFRAMESET, ENDFORM, ENDFONT, ENDFIELDSET, ENDEM, ENDDT, ENDDL, ENDDIV, ENDDIR, ENDDFN, ENDDEL, ENDDD, ENDCOLGROUP, ENDCODE, ENDCITE, ENDCENTER, ENDCAPTION, ENDBUTTON, ENDBODY, ENDBLOCKQUOTE, ENDBIG, ENDBDO, ENDB, ENDAPPLET, ENDADDRESS, ENDACRONYM, ENDABBR, ENDA]
1185 + | COMMENT of string
1186 + | PCDATA of string
1187 + | DOCTYPE of string
1188 + | CHAR_REF of IntInf.int
1189 + | ENTITY_REF of Atom.atom
1190 + | XML_PROCESSING of string
1191 + | STARTA of HTML4Utils.tag_payload
1193 + | STARTABBR of HTML4Utils.tag_payload
1195 + | STARTACRONYM of HTML4Utils.tag_payload
1197 + | STARTADDRESS of HTML4Utils.tag_payload
1199 + | STARTAPPLET of HTML4Utils.tag_payload
1201 + | STARTAREA of HTML4Utils.tag_payload
1202 + | STARTB of HTML4Utils.tag_payload
1204 + | STARTBASE of HTML4Utils.tag_payload
1205 + | STARTBASEFONT of HTML4Utils.tag_payload
1206 + | STARTBDO of HTML4Utils.tag_payload
1208 + | STARTBIG of HTML4Utils.tag_payload
1210 + | STARTBLOCKQUOTE of HTML4Utils.tag_payload
1212 + | STARTBODY of HTML4Utils.tag_payload
1214 + | STARTBR of HTML4Utils.tag_payload
1215 + | STARTBUTTON of HTML4Utils.tag_payload
1217 + | STARTCAPTION of HTML4Utils.tag_payload
1219 + | STARTCENTER of HTML4Utils.tag_payload
1221 + | STARTCITE of HTML4Utils.tag_payload
1223 + | STARTCODE of HTML4Utils.tag_payload
1225 + | STARTCOL of HTML4Utils.tag_payload
1226 + | STARTCOLGROUP of HTML4Utils.tag_payload
1228 + | STARTDD of HTML4Utils.tag_payload
1230 + | STARTDEL of HTML4Utils.tag_payload
1232 + | STARTDFN of HTML4Utils.tag_payload
1234 + | STARTDIR of HTML4Utils.tag_payload
1236 + | STARTDIV of HTML4Utils.tag_payload
1238 + | STARTDL of HTML4Utils.tag_payload
1240 + | STARTDT of HTML4Utils.tag_payload
1242 + | STARTEM of HTML4Utils.tag_payload
1244 + | STARTFIELDSET of HTML4Utils.tag_payload
1246 + | STARTFONT of HTML4Utils.tag_payload
1248 + | STARTFORM of HTML4Utils.tag_payload
1250 + | STARTFRAME of HTML4Utils.tag_payload
1251 + | STARTFRAMESET of HTML4Utils.tag_payload
1253 + | STARTH1 of HTML4Utils.tag_payload
1255 + | STARTH2 of HTML4Utils.tag_payload
1257 + | STARTH3 of HTML4Utils.tag_payload
1259 + | STARTH4 of HTML4Utils.tag_payload
1261 + | STARTH5 of HTML4Utils.tag_payload
1263 + | STARTH6 of HTML4Utils.tag_payload
1265 + | STARTHEAD of HTML4Utils.tag_payload
1267 + | STARTHR of HTML4Utils.tag_payload
1268 + | STARTHTML of HTML4Utils.tag_payload
1270 + | STARTI of HTML4Utils.tag_payload
1272 + | STARTIFRAME of HTML4Utils.tag_payload
1274 + | STARTIMG of HTML4Utils.tag_payload
1275 + | STARTINPUT of HTML4Utils.tag_payload
1276 + | STARTINS of HTML4Utils.tag_payload
1278 + | STARTISINDEX of HTML4Utils.tag_payload
1279 + | STARTKBD of HTML4Utils.tag_payload
1281 + | STARTLABEL of HTML4Utils.tag_payload
1283 + | STARTLEGEND of HTML4Utils.tag_payload
1285 + | STARTLI of HTML4Utils.tag_payload
1287 + | STARTLINK of HTML4Utils.tag_payload
1288 + | STARTMAP of HTML4Utils.tag_payload
1290 + | STARTMENU of HTML4Utils.tag_payload
1292 + | STARTMETA of HTML4Utils.tag_payload
1293 + | STARTNOFRAMES of HTML4Utils.tag_payload
1295 + | STARTNOSCRIPT of HTML4Utils.tag_payload
1297 + | STARTOBJECT of HTML4Utils.tag_payload
1299 + | STARTOL of HTML4Utils.tag_payload
1301 + | STARTOPTGROUP of HTML4Utils.tag_payload
1303 + | STARTOPTION of HTML4Utils.tag_payload
1305 + | STARTP of HTML4Utils.tag_payload
1307 + | STARTPARAM of HTML4Utils.tag_payload
1308 + | STARTPRE of HTML4Utils.tag_payload
1310 + | STARTQ of HTML4Utils.tag_payload
1312 + | STARTS of HTML4Utils.tag_payload
1314 + | STARTSAMP of HTML4Utils.tag_payload
1316 + | STARTSCRIPT of HTML4Utils.tag_payload
1318 + | STARTSELECT of HTML4Utils.tag_payload
1320 + | STARTSMALL of HTML4Utils.tag_payload
1322 + | STARTSPAN of HTML4Utils.tag_payload
1324 + | STARTSTRIKE of HTML4Utils.tag_payload
1326 + | STARTSTRONG of HTML4Utils.tag_payload
1328 + | STARTSTYLE of HTML4Utils.tag_payload
1330 + | STARTSUB of HTML4Utils.tag_payload
1332 + | STARTSUP of HTML4Utils.tag_payload
1334 + | STARTTABLE of HTML4Utils.tag_payload
1336 + | STARTTBODY of HTML4Utils.tag_payload
1338 + | STARTTD of HTML4Utils.tag_payload
1340 + | STARTTEXTAREA of HTML4Utils.tag_payload
1342 + | STARTTFOOT of HTML4Utils.tag_payload
1344 + | STARTTH of HTML4Utils.tag_payload
1346 + | STARTTHEAD of HTML4Utils.tag_payload
1348 + | STARTTITLE of HTML4Utils.tag_payload
1350 + | STARTTR of HTML4Utils.tag_payload
1352 + | STARTTT of HTML4Utils.tag_payload
1354 + | STARTU of HTML4Utils.tag_payload
1356 + | STARTUL of HTML4Utils.tag_payload
1358 + | STARTVAR of HTML4Utils.tag_payload
1362 + ENDA, ENDABBR, ENDACRONYM, ENDADDRESS, ENDAPPLET, ENDB, ENDBDO, ENDBIG, ENDBLOCKQUOTE, ENDBODY, ENDBUTTON, ENDCAPTION, ENDCENTER, ENDCITE, ENDCODE, ENDCOLGROUP, ENDDD, ENDDEL, ENDDFN, ENDDIR, ENDDIV, ENDDL, ENDDT, ENDEM, ENDFIELDSET, ENDFONT, ENDFORM, ENDFRAMESET, ENDH1, ENDH2, ENDH3, ENDH4, ENDH5, ENDH6, ENDHEAD, ENDHTML, ENDI, ENDIFRAME, ENDINS, ENDKBD, ENDLABEL, ENDLEGEND, ENDLI, ENDMAP, ENDMENU, ENDNOFRAMES, ENDNOSCRIPT, ENDOBJECT, ENDOL, ENDOPTGROUP, ENDOPTION, ENDP, ENDPRE, ENDQ, ENDS, ENDSAMP, ENDSCRIPT, ENDSELECT, ENDSMALL, ENDSPAN, ENDSTRIKE, ENDSTRONG, ENDSTYLE, ENDSUB, ENDSUP, ENDTABLE, ENDTBODY, ENDTD, ENDTEXTAREA, ENDTFOOT, ENDTH, ENDTHEAD, ENDTITLE, ENDTR, ENDTT, ENDU, ENDUL, ENDVAR, EOF
1367 - | (ENDVAR) => "ENDVAR"
1368 - | (STARTVAR(_)) => "STARTVAR"
1369 - | (ENDUL) => "ENDUL"
1370 - | (STARTUL(_)) => "STARTUL"
1371 - | (ENDU) => "ENDU"
1372 - | (STARTU(_)) => "STARTU"
1373 - | (ENDTT) => "ENDTT"
1374 - | (STARTTT(_)) => "STARTTT"
1375 - | (ENDTR) => "ENDTR"
1376 - | (STARTTR(_)) => "STARTTR"
1377 - | (ENDTITLE) => "ENDTITLE"
1378 - | (STARTTITLE(_)) => "STARTTITLE"
1379 - | (ENDTHEAD) => "ENDTHEAD"
1380 - | (STARTTHEAD(_)) => "STARTTHEAD"
1381 - | (ENDTH) => "ENDTH"
1382 - | (STARTTH(_)) => "STARTTH"
1383 - | (ENDTFOOT) => "ENDTFOOT"
1384 - | (STARTTFOOT(_)) => "STARTTFOOT"
1385 - | (ENDTEXTAREA) => "ENDTEXTAREA"
1386 - | (STARTTEXTAREA(_)) => "STARTTEXTAREA"
1387 - | (ENDTD) => "ENDTD"
1388 - | (STARTTD(_)) => "STARTTD"
1389 - | (ENDTBODY) => "ENDTBODY"
1390 - | (STARTTBODY(_)) => "STARTTBODY"
1391 - | (ENDTABLE) => "ENDTABLE"
1392 - | (STARTTABLE(_)) => "STARTTABLE"
1393 - | (ENDSUP) => "ENDSUP"
1394 - | (STARTSUP(_)) => "STARTSUP"
1395 - | (ENDSUB) => "ENDSUB"
1396 - | (STARTSUB(_)) => "STARTSUB"
1397 - | (ENDSTYLE) => "ENDSTYLE"
1398 - | (STARTSTYLE(_)) => "STARTSTYLE"
1399 - | (ENDSTRONG) => "ENDSTRONG"
1400 - | (STARTSTRONG(_)) => "STARTSTRONG"
1401 - | (ENDSTRIKE) => "ENDSTRIKE"
1402 - | (STARTSTRIKE(_)) => "STARTSTRIKE"
1403 - | (ENDSPAN) => "ENDSPAN"
1404 - | (STARTSPAN(_)) => "STARTSPAN"
1405 - | (ENDSMALL) => "ENDSMALL"
1406 - | (STARTSMALL(_)) => "STARTSMALL"
1407 - | (ENDSELECT) => "ENDSELECT"
1408 - | (STARTSELECT(_)) => "STARTSELECT"
1409 - | (ENDSCRIPT) => "ENDSCRIPT"
1410 - | (STARTSCRIPT(_)) => "STARTSCRIPT"
1411 - | (ENDSAMP) => "ENDSAMP"
1412 - | (STARTSAMP(_)) => "STARTSAMP"
1413 - | (ENDS) => "ENDS"
1414 - | (STARTS(_)) => "STARTS"
1415 - | (ENDQ) => "ENDQ"
1416 - | (STARTQ(_)) => "STARTQ"
1417 - | (ENDPRE) => "ENDPRE"
1418 - | (STARTPRE(_)) => "STARTPRE"
1419 - | (STARTPARAM(_)) => "STARTPARAM"
1420 - | (ENDP) => "ENDP"
1421 - | (STARTP(_)) => "STARTP"
1422 - | (ENDOPTION) => "ENDOPTION"
1423 - | (STARTOPTION(_)) => "STARTOPTION"
1424 - | (ENDOPTGROUP) => "ENDOPTGROUP"
1425 - | (STARTOPTGROUP(_)) => "STARTOPTGROUP"
1426 - | (ENDOL) => "ENDOL"
1427 - | (STARTOL(_)) => "STARTOL"
1428 - | (ENDOBJECT) => "ENDOBJECT"
1429 - | (STARTOBJECT(_)) => "STARTOBJECT"
1430 - | (ENDNOSCRIPT) => "ENDNOSCRIPT"
1431 - | (STARTNOSCRIPT(_)) => "STARTNOSCRIPT"
1432 - | (ENDNOFRAMES) => "ENDNOFRAMES"
1433 - | (STARTNOFRAMES(_)) => "STARTNOFRAMES"
1434 - | (STARTMETA(_)) => "STARTMETA"
1435 - | (ENDMENU) => "ENDMENU"
1436 - | (STARTMENU(_)) => "STARTMENU"
1437 - | (ENDMAP) => "ENDMAP"
1438 - | (STARTMAP(_)) => "STARTMAP"
1439 - | (STARTLINK(_)) => "STARTLINK"
1440 - | (ENDLI) => "ENDLI"
1441 - | (STARTLI(_)) => "STARTLI"
1442 - | (ENDLEGEND) => "ENDLEGEND"
1443 - | (STARTLEGEND(_)) => "STARTLEGEND"
1444 - | (ENDLABEL) => "ENDLABEL"
1445 - | (STARTLABEL(_)) => "STARTLABEL"
1446 - | (ENDKBD) => "ENDKBD"
1447 - | (STARTKBD(_)) => "STARTKBD"
1448 - | (STARTISINDEX(_)) => "STARTISINDEX"
1449 - | (ENDINS) => "ENDINS"
1450 - | (STARTINS(_)) => "STARTINS"
1451 - | (STARTINPUT(_)) => "STARTINPUT"
1452 - | (STARTIMG(_)) => "STARTIMG"
1453 - | (ENDIFRAME) => "ENDIFRAME"
1454 - | (STARTIFRAME(_)) => "STARTIFRAME"
1455 - | (ENDI) => "ENDI"
1456 - | (STARTI(_)) => "STARTI"
1457 - | (ENDHTML) => "ENDHTML"
1458 - | (STARTHTML(_)) => "STARTHTML"
1459 - | (STARTHR(_)) => "STARTHR"
1460 - | (ENDHEAD) => "ENDHEAD"
1461 - | (STARTHEAD(_)) => "STARTHEAD"
1462 - | (ENDH6) => "ENDH6"
1463 - | (STARTH6(_)) => "STARTH6"
1464 - | (ENDH5) => "ENDH5"
1465 - | (STARTH5(_)) => "STARTH5"
1466 - | (ENDH4) => "ENDH4"
1467 - | (STARTH4(_)) => "STARTH4"
1468 - | (ENDH3) => "ENDH3"
1469 - | (STARTH3(_)) => "STARTH3"
1470 - | (ENDH2) => "ENDH2"
1471 - | (STARTH2(_)) => "STARTH2"
1472 - | (ENDH1) => "ENDH1"
1473 - | (STARTH1(_)) => "STARTH1"
1474 - | (ENDFRAMESET) => "ENDFRAMESET"
1475 - | (STARTFRAMESET(_)) => "STARTFRAMESET"
1476 - | (STARTFRAME(_)) => "STARTFRAME"
1477 - | (ENDFORM) => "ENDFORM"
1478 - | (STARTFORM(_)) => "STARTFORM"
1479 - | (ENDFONT) => "ENDFONT"
1480 - | (STARTFONT(_)) => "STARTFONT"
1481 - | (ENDFIELDSET) => "ENDFIELDSET"
1482 - | (STARTFIELDSET(_)) => "STARTFIELDSET"
1483 - | (ENDEM) => "ENDEM"
1484 - | (STARTEM(_)) => "STARTEM"
1485 - | (ENDDT) => "ENDDT"
1486 - | (STARTDT(_)) => "STARTDT"
1487 - | (ENDDL) => "ENDDL"
1488 - | (STARTDL(_)) => "STARTDL"
1489 - | (ENDDIV) => "ENDDIV"
1490 - | (STARTDIV(_)) => "STARTDIV"
1491 - | (ENDDIR) => "ENDDIR"
1492 - | (STARTDIR(_)) => "STARTDIR"
1493 - | (ENDDFN) => "ENDDFN"
1494 - | (STARTDFN(_)) => "STARTDFN"
1495 - | (ENDDEL) => "ENDDEL"
1496 - | (STARTDEL(_)) => "STARTDEL"
1497 - | (ENDDD) => "ENDDD"
1498 - | (STARTDD(_)) => "STARTDD"
1499 - | (ENDCOLGROUP) => "ENDCOLGROUP"
1500 - | (STARTCOLGROUP(_)) => "STARTCOLGROUP"
1501 - | (STARTCOL(_)) => "STARTCOL"
1502 - | (ENDCODE) => "ENDCODE"
1503 - | (STARTCODE(_)) => "STARTCODE"
1504 - | (ENDCITE) => "ENDCITE"
1505 - | (STARTCITE(_)) => "STARTCITE"
1506 - | (ENDCENTER) => "ENDCENTER"
1507 - | (STARTCENTER(_)) => "STARTCENTER"
1508 - | (ENDCAPTION) => "ENDCAPTION"
1509 - | (STARTCAPTION(_)) => "STARTCAPTION"
1510 - | (ENDBUTTON) => "ENDBUTTON"
1511 - | (STARTBUTTON(_)) => "STARTBUTTON"
1512 - | (STARTBR(_)) => "STARTBR"
1513 - | (ENDBODY) => "ENDBODY"
1514 - | (STARTBODY(_)) => "STARTBODY"
1515 - | (ENDBLOCKQUOTE) => "ENDBLOCKQUOTE"
1516 - | (STARTBLOCKQUOTE(_)) => "STARTBLOCKQUOTE"
1517 - | (ENDBIG) => "ENDBIG"
1518 - | (STARTBIG(_)) => "STARTBIG"
1519 - | (ENDBDO) => "ENDBDO"
1520 - | (STARTBDO(_)) => "STARTBDO"
1521 - | (STARTBASEFONT(_)) => "STARTBASEFONT"
1522 - | (STARTBASE(_)) => "STARTBASE"
1523 - | (ENDB) => "ENDB"
1524 - | (STARTB(_)) => "STARTB"
1525 - | (STARTAREA(_)) => "STARTAREA"
1526 - | (ENDAPPLET) => "ENDAPPLET"
1527 - | (STARTAPPLET(_)) => "STARTAPPLET"
1528 - | (ENDADDRESS) => "ENDADDRESS"
1529 - | (STARTADDRESS(_)) => "STARTADDRESS"
1530 - | (ENDACRONYM) => "ENDACRONYM"
1531 - | (STARTACRONYM(_)) => "STARTACRONYM"
1532 - | (ENDABBR) => "ENDABBR"
1533 - | (STARTABBR(_)) => "STARTABBR"
1534 - | (ENDA) => "ENDA"
1535 - | (STARTA(_)) => "STARTA"
1536 - | (XML_PROCESSING(_)) => "XML_PROCESSING"
1537 - | (ENTITY_REF(_)) => "ENTITY_REF"
1538 - | (CHAR_REF(_)) => "CHAR_REF"
1539 - | (DOCTYPE(_)) => "DOCTYPE"
1540 - | (PCDATA(_)) => "PCDATA"
1541 - | (COMMENT(_)) => "COMMENT"
1542 + of (OPENTAG(_)) => "OPENTAG"
1543 | (CLOSETAG(_)) => "CLOSETAG"
1544 - | (OPENTAG(_)) => "OPENTAG"
1545 + | (COMMENT(_)) => "COMMENT"
1546 + | (PCDATA(_)) => "PCDATA"
1547 + | (DOCTYPE(_)) => "DOCTYPE"
1548 + | (CHAR_REF(_)) => "CHAR_REF"
1549 + | (ENTITY_REF(_)) => "ENTITY_REF"
1550 + | (XML_PROCESSING(_)) => "XML_PROCESSING"
1551 + | (STARTA(_)) => "STARTA"
1552 + | (ENDA) => "ENDA"
1553 + | (STARTABBR(_)) => "STARTABBR"
1554 + | (ENDABBR) => "ENDABBR"
1555 + | (STARTACRONYM(_)) => "STARTACRONYM"
1556 + | (ENDACRONYM) => "ENDACRONYM"
1557 + | (STARTADDRESS(_)) => "STARTADDRESS"
1558 + | (ENDADDRESS) => "ENDADDRESS"
1559 + | (STARTAPPLET(_)) => "STARTAPPLET"
1560 + | (ENDAPPLET) => "ENDAPPLET"
1561 + | (STARTAREA(_)) => "STARTAREA"
1562 + | (STARTB(_)) => "STARTB"
1563 + | (ENDB) => "ENDB"
1564 + | (STARTBASE(_)) => "STARTBASE"
1565 + | (STARTBASEFONT(_)) => "STARTBASEFONT"
1566 + | (STARTBDO(_)) => "STARTBDO"
1567 + | (ENDBDO) => "ENDBDO"
1568 + | (STARTBIG(_)) => "STARTBIG"
1569 + | (ENDBIG) => "ENDBIG"
1570 + | (STARTBLOCKQUOTE(_)) => "STARTBLOCKQUOTE"
1571 + | (ENDBLOCKQUOTE) => "ENDBLOCKQUOTE"
1572 + | (STARTBODY(_)) => "STARTBODY"
1573 + | (ENDBODY) => "ENDBODY"
1574 + | (STARTBR(_)) => "STARTBR"
1575 + | (STARTBUTTON(_)) => "STARTBUTTON"
1576 + | (ENDBUTTON) => "ENDBUTTON"
1577 + | (STARTCAPTION(_)) => "STARTCAPTION"
1578 + | (ENDCAPTION) => "ENDCAPTION"
1579 + | (STARTCENTER(_)) => "STARTCENTER"
1580 + | (ENDCENTER) => "ENDCENTER"
1581 + | (STARTCITE(_)) => "STARTCITE"
1582 + | (ENDCITE) => "ENDCITE"
1583 + | (STARTCODE(_)) => "STARTCODE"
1584 + | (ENDCODE) => "ENDCODE"
1585 + | (STARTCOL(_)) => "STARTCOL"
1586 + | (STARTCOLGROUP(_)) => "STARTCOLGROUP"
1587 + | (ENDCOLGROUP) => "ENDCOLGROUP"
1588 + | (STARTDD(_)) => "STARTDD"
1589 + | (ENDDD) => "ENDDD"
1590 + | (STARTDEL(_)) => "STARTDEL"
1591 + | (ENDDEL) => "ENDDEL"
1592 + | (STARTDFN(_)) => "STARTDFN"
1593 + | (ENDDFN) => "ENDDFN"
1594 + | (STARTDIR(_)) => "STARTDIR"
1595 + | (ENDDIR) => "ENDDIR"
1596 + | (STARTDIV(_)) => "STARTDIV"
1597 + | (ENDDIV) => "ENDDIV"
1598 + | (STARTDL(_)) => "STARTDL"
1599 + | (ENDDL) => "ENDDL"
1600 + | (STARTDT(_)) => "STARTDT"
1601 + | (ENDDT) => "ENDDT"
1602 + | (STARTEM(_)) => "STARTEM"
1603 + | (ENDEM) => "ENDEM"
1604 + | (STARTFIELDSET(_)) => "STARTFIELDSET"
1605 + | (ENDFIELDSET) => "ENDFIELDSET"
1606 + | (STARTFONT(_)) => "STARTFONT"
1607 + | (ENDFONT) => "ENDFONT"
1608 + | (STARTFORM(_)) => "STARTFORM"
1609 + | (ENDFORM) => "ENDFORM"
1610 + | (STARTFRAME(_)) => "STARTFRAME"
1611 + | (STARTFRAMESET(_)) => "STARTFRAMESET"
1612 + | (ENDFRAMESET) => "ENDFRAMESET"
1613 + | (STARTH1(_)) => "STARTH1"
1614 + | (ENDH1) => "ENDH1"
1615 + | (STARTH2(_)) => "STARTH2"
1616 + | (ENDH2) => "ENDH2"
1617 + | (STARTH3(_)) => "STARTH3"
1618 + | (ENDH3) => "ENDH3"
1619 + | (STARTH4(_)) => "STARTH4"
1620 + | (ENDH4) => "ENDH4"
1621 + | (STARTH5(_)) => "STARTH5"
1622 + | (ENDH5) => "ENDH5"
1623 + | (STARTH6(_)) => "STARTH6"
1624 + | (ENDH6) => "ENDH6"
1625 + | (STARTHEAD(_)) => "STARTHEAD"
1626 + | (ENDHEAD) => "ENDHEAD"
1627 + | (STARTHR(_)) => "STARTHR"
1628 + | (STARTHTML(_)) => "STARTHTML"
1629 + | (ENDHTML) => "ENDHTML"
1630 + | (STARTI(_)) => "STARTI"
1631 + | (ENDI) => "ENDI"
1632 + | (STARTIFRAME(_)) => "STARTIFRAME"
1633 + | (ENDIFRAME) => "ENDIFRAME"
1634 + | (STARTIMG(_)) => "STARTIMG"
1635 + | (STARTINPUT(_)) => "STARTINPUT"
1636 + | (STARTINS(_)) => "STARTINS"
1637 + | (ENDINS) => "ENDINS"
1638 + | (STARTISINDEX(_)) => "STARTISINDEX"
1639 + | (STARTKBD(_)) => "STARTKBD"
1640 + | (ENDKBD) => "ENDKBD"
1641 + | (STARTLABEL(_)) => "STARTLABEL"
1642 + | (ENDLABEL) => "ENDLABEL"
1643 + | (STARTLEGEND(_)) => "STARTLEGEND"
1644 + | (ENDLEGEND) => "ENDLEGEND"
1645 + | (STARTLI(_)) => "STARTLI"
1646 + | (ENDLI) => "ENDLI"
1647 + | (STARTLINK(_)) => "STARTLINK"
1648 + | (STARTMAP(_)) => "STARTMAP"
1649 + | (ENDMAP) => "ENDMAP"
1650 + | (STARTMENU(_)) => "STARTMENU"
1651 + | (ENDMENU) => "ENDMENU"
1652 + | (STARTMETA(_)) => "STARTMETA"
1653 + | (STARTNOFRAMES(_)) => "STARTNOFRAMES"
1654 + | (ENDNOFRAMES) => "ENDNOFRAMES"
1655 + | (STARTNOSCRIPT(_)) => "STARTNOSCRIPT"
1656 + | (ENDNOSCRIPT) => "ENDNOSCRIPT"
1657 + | (STARTOBJECT(_)) => "STARTOBJECT"
1658 + | (ENDOBJECT) => "ENDOBJECT"
1659 + | (STARTOL(_)) => "STARTOL"
1660 + | (ENDOL) => "ENDOL"
1661 + | (STARTOPTGROUP(_)) => "STARTOPTGROUP"
1662 + | (ENDOPTGROUP) => "ENDOPTGROUP"
1663 + | (STARTOPTION(_)) => "STARTOPTION"
1664 + | (ENDOPTION) => "ENDOPTION"
1665 + | (STARTP(_)) => "STARTP"
1666 + | (ENDP) => "ENDP"
1667 + | (STARTPARAM(_)) => "STARTPARAM"
1668 + | (STARTPRE(_)) => "STARTPRE"
1669 + | (ENDPRE) => "ENDPRE"
1670 + | (STARTQ(_)) => "STARTQ"
1671 + | (ENDQ) => "ENDQ"
1672 + | (STARTS(_)) => "STARTS"
1673 + | (ENDS) => "ENDS"
1674 + | (STARTSAMP(_)) => "STARTSAMP"
1675 + | (ENDSAMP) => "ENDSAMP"
1676 + | (STARTSCRIPT(_)) => "STARTSCRIPT"
1677 + | (ENDSCRIPT) => "ENDSCRIPT"
1678 + | (STARTSELECT(_)) => "STARTSELECT"
1679 + | (ENDSELECT) => "ENDSELECT"
1680 + | (STARTSMALL(_)) => "STARTSMALL"
1681 + | (ENDSMALL) => "ENDSMALL"
1682 + | (STARTSPAN(_)) => "STARTSPAN"
1683 + | (ENDSPAN) => "ENDSPAN"
1684 + | (STARTSTRIKE(_)) => "STARTSTRIKE"
1685 + | (ENDSTRIKE) => "ENDSTRIKE"
1686 + | (STARTSTRONG(_)) => "STARTSTRONG"
1687 + | (ENDSTRONG) => "ENDSTRONG"
1688 + | (STARTSTYLE(_)) => "STARTSTYLE"
1689 + | (ENDSTYLE) => "ENDSTYLE"
1690 + | (STARTSUB(_)) => "STARTSUB"
1691 + | (ENDSUB) => "ENDSUB"
1692 + | (STARTSUP(_)) => "STARTSUP"
1693 + | (ENDSUP) => "ENDSUP"
1694 + | (STARTTABLE(_)) => "STARTTABLE"
1695 + | (ENDTABLE) => "ENDTABLE"
1696 + | (STARTTBODY(_)) => "STARTTBODY"
1697 + | (ENDTBODY) => "ENDTBODY"
1698 + | (STARTTD(_)) => "STARTTD"
1699 + | (ENDTD) => "ENDTD"
1700 + | (STARTTEXTAREA(_)) => "STARTTEXTAREA"
1701 + | (ENDTEXTAREA) => "ENDTEXTAREA"
1702 + | (STARTTFOOT(_)) => "STARTTFOOT"
1703 + | (ENDTFOOT) => "ENDTFOOT"
1704 + | (STARTTH(_)) => "STARTTH"
1705 + | (ENDTH) => "ENDTH"
1706 + | (STARTTHEAD(_)) => "STARTTHEAD"
1707 + | (ENDTHEAD) => "ENDTHEAD"
1708 + | (STARTTITLE(_)) => "STARTTITLE"
1709 + | (ENDTITLE) => "ENDTITLE"
1710 + | (STARTTR(_)) => "STARTTR"
1711 + | (ENDTR) => "ENDTR"
1712 + | (STARTTT(_)) => "STARTTT"
1713 + | (ENDTT) => "ENDTT"
1714 + | (STARTU(_)) => "STARTU"
1715 + | (ENDU) => "ENDU"
1716 + | (STARTUL(_)) => "STARTUL"
1717 + | (ENDUL) => "ENDUL"
1718 + | (STARTVAR(_)) => "STARTVAR"
1719 + | (ENDVAR) => "ENDVAR"
1725 - | (ENDVAR) => false
1726 - | (STARTVAR(_)) => false
1727 - | (ENDUL) => false
1728 - | (STARTUL(_)) => false
1730 - | (STARTU(_)) => false
1731 - | (ENDTT) => false
1732 - | (STARTTT(_)) => false
1733 - | (ENDTR) => false
1734 - | (STARTTR(_)) => false
1735 - | (ENDTITLE) => false
1736 - | (STARTTITLE(_)) => false
1737 - | (ENDTHEAD) => false
1738 - | (STARTTHEAD(_)) => false
1739 - | (ENDTH) => false
1740 - | (STARTTH(_)) => false
1741 - | (ENDTFOOT) => false
1742 - | (STARTTFOOT(_)) => false
1743 - | (ENDTEXTAREA) => false
1744 - | (STARTTEXTAREA(_)) => false
1745 - | (ENDTD) => false
1746 - | (STARTTD(_)) => false
1747 - | (ENDTBODY) => false
1748 - | (STARTTBODY(_)) => false
1749 - | (ENDTABLE) => false
1750 - | (STARTTABLE(_)) => false
1751 - | (ENDSUP) => false
1752 - | (STARTSUP(_)) => false
1753 - | (ENDSUB) => false
1754 - | (STARTSUB(_)) => false
1755 - | (ENDSTYLE) => false
1756 - | (STARTSTYLE(_)) => false
1757 - | (ENDSTRONG) => false
1758 - | (STARTSTRONG(_)) => false
1759 - | (ENDSTRIKE) => false
1760 - | (STARTSTRIKE(_)) => false
1761 - | (ENDSPAN) => false
1762 - | (STARTSPAN(_)) => false
1763 - | (ENDSMALL) => false
1764 - | (STARTSMALL(_)) => false
1765 - | (ENDSELECT) => false
1766 - | (STARTSELECT(_)) => false
1767 - | (ENDSCRIPT) => false
1768 - | (STARTSCRIPT(_)) => false
1769 - | (ENDSAMP) => false
1770 - | (STARTSAMP(_)) => false
1772 - | (STARTS(_)) => false
1774 - | (STARTQ(_)) => false
1775 - | (ENDPRE) => false
1776 - | (STARTPRE(_)) => false
1777 - | (STARTPARAM(_)) => false
1779 - | (STARTP(_)) => false
1780 - | (ENDOPTION) => false
1781 - | (STARTOPTION(_)) => false
1782 - | (ENDOPTGROUP) => false
1783 - | (STARTOPTGROUP(_)) => false
1784 - | (ENDOL) => false
1785 - | (STARTOL(_)) => false
1786 - | (ENDOBJECT) => false
1787 - | (STARTOBJECT(_)) => false
1788 - | (ENDNOSCRIPT) => false
1789 - | (STARTNOSCRIPT(_)) => false
1790 - | (ENDNOFRAMES) => false
1791 - | (STARTNOFRAMES(_)) => false
1792 - | (STARTMETA(_)) => false
1793 - | (ENDMENU) => false
1794 - | (STARTMENU(_)) => false
1795 - | (ENDMAP) => false
1796 - | (STARTMAP(_)) => false
1797 - | (STARTLINK(_)) => false
1798 - | (ENDLI) => false
1799 - | (STARTLI(_)) => false
1800 - | (ENDLEGEND) => false
1801 - | (STARTLEGEND(_)) => false
1802 - | (ENDLABEL) => false
1803 - | (STARTLABEL(_)) => false
1804 - | (ENDKBD) => false
1805 - | (STARTKBD(_)) => false
1806 - | (STARTISINDEX(_)) => false
1807 - | (ENDINS) => false
1808 - | (STARTINS(_)) => false
1809 - | (STARTINPUT(_)) => false
1810 - | (STARTIMG(_)) => false
1811 - | (ENDIFRAME) => false
1812 - | (STARTIFRAME(_)) => false
1814 - | (STARTI(_)) => false
1815 - | (ENDHTML) => false
1816 - | (STARTHTML(_)) => false
1817 - | (STARTHR(_)) => false
1818 - | (ENDHEAD) => false
1819 - | (STARTHEAD(_)) => false
1820 - | (ENDH6) => false
1821 - | (STARTH6(_)) => false
1822 - | (ENDH5) => false
1823 - | (STARTH5(_)) => false
1824 - | (ENDH4) => false
1825 - | (STARTH4(_)) => false
1826 - | (ENDH3) => false
1827 - | (STARTH3(_)) => false
1828 - | (ENDH2) => false
1829 - | (STARTH2(_)) => false
1830 - | (ENDH1) => false
1831 - | (STARTH1(_)) => false
1832 - | (ENDFRAMESET) => false
1833 - | (STARTFRAMESET(_)) => false
1834 - | (STARTFRAME(_)) => false
1835 - | (ENDFORM) => false
1836 - | (STARTFORM(_)) => false
1837 - | (ENDFONT) => false
1838 - | (STARTFONT(_)) => false
1839 - | (ENDFIELDSET) => false
1840 - | (STARTFIELDSET(_)) => false
1841 - | (ENDEM) => false
1842 - | (STARTEM(_)) => false
1843 - | (ENDDT) => false
1844 - | (STARTDT(_)) => false
1845 - | (ENDDL) => false
1846 - | (STARTDL(_)) => false
1847 - | (ENDDIV) => false
1848 - | (STARTDIV(_)) => false
1849 - | (ENDDIR) => false
1850 - | (STARTDIR(_)) => false
1851 - | (ENDDFN) => false
1852 - | (STARTDFN(_)) => false
1853 - | (ENDDEL) => false
1854 - | (STARTDEL(_)) => false
1855 - | (ENDDD) => false
1856 - | (STARTDD(_)) => false
1857 - | (ENDCOLGROUP) => false
1858 - | (STARTCOLGROUP(_)) => false
1859 - | (STARTCOL(_)) => false
1860 - | (ENDCODE) => false
1861 - | (STARTCODE(_)) => false
1862 - | (ENDCITE) => false
1863 - | (STARTCITE(_)) => false
1864 - | (ENDCENTER) => false
1865 - | (STARTCENTER(_)) => false
1866 - | (ENDCAPTION) => false
1867 - | (STARTCAPTION(_)) => false
1868 - | (ENDBUTTON) => false
1869 - | (STARTBUTTON(_)) => false
1870 - | (STARTBR(_)) => false
1871 - | (ENDBODY) => false
1872 - | (STARTBODY(_)) => false
1873 - | (ENDBLOCKQUOTE) => false
1874 - | (STARTBLOCKQUOTE(_)) => false
1875 - | (ENDBIG) => false
1876 - | (STARTBIG(_)) => false
1877 - | (ENDBDO) => false
1878 - | (STARTBDO(_)) => false
1879 - | (STARTBASEFONT(_)) => false
1880 - | (STARTBASE(_)) => false
1882 - | (STARTB(_)) => false
1883 - | (STARTAREA(_)) => false
1884 - | (ENDAPPLET) => false
1885 - | (STARTAPPLET(_)) => false
1886 - | (ENDADDRESS) => false
1887 - | (STARTADDRESS(_)) => false
1888 - | (ENDACRONYM) => false
1889 - | (STARTACRONYM(_)) => false
1890 - | (ENDABBR) => false
1891 - | (STARTABBR(_)) => false
1893 - | (STARTA(_)) => false
1894 - | (XML_PROCESSING(_)) => false
1895 - | (ENTITY_REF(_)) => false
1896 - | (CHAR_REF(_)) => false
1897 - | (DOCTYPE(_)) => false
1898 - | (PCDATA(_)) => false
1899 - | (COMMENT(_)) => false
1900 + of (OPENTAG(_)) => false
1901 | (CLOSETAG(_)) => false
1902 - | (OPENTAG(_)) => false
1903 + | (COMMENT(_)) => false
1904 + | (PCDATA(_)) => false
1905 + | (DOCTYPE(_)) => false
1906 + | (CHAR_REF(_)) => false
1907 + | (ENTITY_REF(_)) => false
1908 + | (XML_PROCESSING(_)) => false
1909 + | (STARTA(_)) => false
1911 + | (STARTABBR(_)) => false
1912 + | (ENDABBR) => false
1913 + | (STARTACRONYM(_)) => false
1914 + | (ENDACRONYM) => false
1915 + | (STARTADDRESS(_)) => false
1916 + | (ENDADDRESS) => false
1917 + | (STARTAPPLET(_)) => false
1918 + | (ENDAPPLET) => false
1919 + | (STARTAREA(_)) => false
1920 + | (STARTB(_)) => false
1922 + | (STARTBASE(_)) => false
1923 + | (STARTBASEFONT(_)) => false
1924 + | (STARTBDO(_)) => false
1925 + | (ENDBDO) => false
1926 + | (STARTBIG(_)) => false
1927 + | (ENDBIG) => false
1928 + | (STARTBLOCKQUOTE(_)) => false
1929 + | (ENDBLOCKQUOTE) => false
1930 + | (STARTBODY(_)) => false
1931 + | (ENDBODY) => false
1932 + | (STARTBR(_)) => false
1933 + | (STARTBUTTON(_)) => false
1934 + | (ENDBUTTON) => false
1935 + | (STARTCAPTION(_)) => false
1936 + | (ENDCAPTION) => false
1937 + | (STARTCENTER(_)) => false
1938 + | (ENDCENTER) => false
1939 + | (STARTCITE(_)) => false
1940 + | (ENDCITE) => false
1941 + | (STARTCODE(_)) => false
1942 + | (ENDCODE) => false
1943 + | (STARTCOL(_)) => false
1944 + | (STARTCOLGROUP(_)) => false
1945 + | (ENDCOLGROUP) => false
1946 + | (STARTDD(_)) => false
1947 + | (ENDDD) => false
1948 + | (STARTDEL(_)) => false
1949 + | (ENDDEL) => false
1950 + | (STARTDFN(_)) => false
1951 + | (ENDDFN) => false
1952 + | (STARTDIR(_)) => false
1953 + | (ENDDIR) => false
1954 + | (STARTDIV(_)) => false
1955 + | (ENDDIV) => false
1956 + | (STARTDL(_)) => false
1957 + | (ENDDL) => false
1958 + | (STARTDT(_)) => false
1959 + | (ENDDT) => false
1960 + | (STARTEM(_)) => false
1961 + | (ENDEM) => false
1962 + | (STARTFIELDSET(_)) => false
1963 + | (ENDFIELDSET) => false
1964 + | (STARTFONT(_)) => false
1965 + | (ENDFONT) => false
1966 + | (STARTFORM(_)) => false
1967 + | (ENDFORM) => false
1968 + | (STARTFRAME(_)) => false
1969 + | (STARTFRAMESET(_)) => false
1970 + | (ENDFRAMESET) => false
1971 + | (STARTH1(_)) => false
1972 + | (ENDH1) => false
1973 + | (STARTH2(_)) => false
1974 + | (ENDH2) => false
1975 + | (STARTH3(_)) => false
1976 + | (ENDH3) => false
1977 + | (STARTH4(_)) => false
1978 + | (ENDH4) => false
1979 + | (STARTH5(_)) => false
1980 + | (ENDH5) => false
1981 + | (STARTH6(_)) => false
1982 + | (ENDH6) => false
1983 + | (STARTHEAD(_)) => false
1984 + | (ENDHEAD) => false
1985 + | (STARTHR(_)) => false
1986 + | (STARTHTML(_)) => false
1987 + | (ENDHTML) => false
1988 + | (STARTI(_)) => false
1990 + | (STARTIFRAME(_)) => false
1991 + | (ENDIFRAME) => false
1992 + | (STARTIMG(_)) => false
1993 + | (STARTINPUT(_)) => false
1994 + | (STARTINS(_)) => false
1995 + | (ENDINS) => false
1996 + | (STARTISINDEX(_)) => false
1997 + | (STARTKBD(_)) => false
1998 + | (ENDKBD) => false
1999 + | (STARTLABEL(_)) => false
2000 + | (ENDLABEL) => false
2001 + | (STARTLEGEND(_)) => false
2002 + | (ENDLEGEND) => false
2003 + | (STARTLI(_)) => false
2004 + | (ENDLI) => false
2005 + | (STARTLINK(_)) => false
2006 + | (STARTMAP(_)) => false
2007 + | (ENDMAP) => false
2008 + | (STARTMENU(_)) => false
2009 + | (ENDMENU) => false
2010 + | (STARTMETA(_)) => false
2011 + | (STARTNOFRAMES(_)) => false
2012 + | (ENDNOFRAMES) => false
2013 + | (STARTNOSCRIPT(_)) => false
2014 + | (ENDNOSCRIPT) => false
2015 + | (STARTOBJECT(_)) => false
2016 + | (ENDOBJECT) => false
2017 + | (STARTOL(_)) => false
2018 + | (ENDOL) => false
2019 + | (STARTOPTGROUP(_)) => false
2020 + | (ENDOPTGROUP) => false
2021 + | (STARTOPTION(_)) => false
2022 + | (ENDOPTION) => false
2023 + | (STARTP(_)) => false
2025 + | (STARTPARAM(_)) => false
2026 + | (STARTPRE(_)) => false
2027 + | (ENDPRE) => false
2028 + | (STARTQ(_)) => false
2030 + | (STARTS(_)) => false
2032 + | (STARTSAMP(_)) => false
2033 + | (ENDSAMP) => false
2034 + | (STARTSCRIPT(_)) => false
2035 + | (ENDSCRIPT) => false
2036 + | (STARTSELECT(_)) => false
2037 + | (ENDSELECT) => false
2038 + | (STARTSMALL(_)) => false
2039 + | (ENDSMALL) => false
2040 + | (STARTSPAN(_)) => false
2041 + | (ENDSPAN) => false
2042 + | (STARTSTRIKE(_)) => false
2043 + | (ENDSTRIKE) => false
2044 + | (STARTSTRONG(_)) => false
2045 + | (ENDSTRONG) => false
2046 + | (STARTSTYLE(_)) => false
2047 + | (ENDSTYLE) => false
2048 + | (STARTSUB(_)) => false
2049 + | (ENDSUB) => false
2050 + | (STARTSUP(_)) => false
2051 + | (ENDSUP) => false
2052 + | (STARTTABLE(_)) => false
2053 + | (ENDTABLE) => false
2054 + | (STARTTBODY(_)) => false
2055 + | (ENDTBODY) => false
2056 + | (STARTTD(_)) => false
2057 + | (ENDTD) => false
2058 + | (STARTTEXTAREA(_)) => false
2059 + | (ENDTEXTAREA) => false
2060 + | (STARTTFOOT(_)) => false
2061 + | (ENDTFOOT) => false
2062 + | (STARTTH(_)) => false
2063 + | (ENDTH) => false
2064 + | (STARTTHEAD(_)) => false
2065 + | (ENDTHEAD) => false
2066 + | (STARTTITLE(_)) => false
2067 + | (ENDTITLE) => false
2068 + | (STARTTR(_)) => false
2069 + | (ENDTR) => false
2070 + | (STARTTT(_)) => false
2071 + | (ENDTT) => false
2072 + | (STARTU(_)) => false
2074 + | (STARTUL(_)) => false
2075 + | (ENDUL) => false
2076 + | (STARTVAR(_)) => false
2077 + | (ENDVAR) => false
2080 + fun isEOF EOF = true
2082 + end (* HTML4Tokens *)
2084 - fun isEOF EOF = true
2089 -functor HTML4ParseFn(Lex : ANTLR_LEXER) = struct
2090 +functor HTML4ParseFn (Lex : ANTLR_LEXER) = struct
2096 structure UserCode =
2098 @@ -982,735 +980,769 @@ fun cdata_opt_PROD_1_ACT (cdata, cdata_SPAN : (Lex.pos * Lex.pos), FULL_SPAN : (
2099 structure Err = AntlrErrHandler(
2101 structure Lex = Lex)
2103 +(* replace functor with inline structure for better optimization
2104 structure EBNF = AntlrEBNF(
2106 type strm = Err.wstream
2107 val getSpan = Err.getSpan
2112 + fun optional (pred, parse, strm) =
2115 + val (y, span, strm') = parse strm
2117 + (SOME y, span, strm')
2119 + else (NONE, Err.getSpan strm, strm)
2121 + fun closure (pred, parse, strm) = let
2122 + fun iter (strm, (left, right), ys) =
2125 + val (y, (_, right'), strm') = parse strm
2126 + in iter (strm', (left, right'), y::ys)
2128 + else (List.rev ys, (left, right), strm)
2130 + iter (strm, Err.getSpan strm, [])
2133 + fun posclos (pred, parse, strm) = let
2134 + val (y, (left, _), strm') = parse strm
2135 + val (ys, (_, right), strm'') = closure (pred, parse, strm')
2137 + (y::ys, (left, right), strm'')
2144 -fun unwrap (ret, strm, repairs) = (ret, strm, repairs) val (eh, lex) = Err.mkErrHandler {get = getS, put = putS}
2145 +fun unwrap (ret, strm, repairs) = (ret, strm, repairs)
2146 + val (eh, lex) = Err.mkErrHandler {get = getS, put = putS}
2147 fun fail() = Err.failure eh
2148 fun tryProds (strm, prods) = let
2150 - | try (prod :: prods) =
2151 - (Err.whileDisabled eh (fn() => prod strm))
2152 + | try (prod :: prods) =
2153 + (Err.whileDisabled eh (fn() => prod strm))
2154 handle Err.ParseError => try (prods)
2156 -fun matchEOF strm = (case (lex(strm))
2157 - of (Tok.EOF, span, strm') => ((), span, strm')
2160 -fun matchENDVAR strm = (case (lex(strm))
2161 - of (Tok.ENDVAR, span, strm') => ((), span, strm')
2164 -fun matchSTARTVAR strm = (case (lex(strm))
2165 - of (Tok.STARTVAR(x), span, strm') => (x, span, strm')
2168 -fun matchENDUL strm = (case (lex(strm))
2169 - of (Tok.ENDUL, span, strm') => ((), span, strm')
2172 -fun matchSTARTUL strm = (case (lex(strm))
2173 - of (Tok.STARTUL(x), span, strm') => (x, span, strm')
2176 -fun matchENDU strm = (case (lex(strm))
2177 - of (Tok.ENDU, span, strm') => ((), span, strm')
2180 -fun matchSTARTU strm = (case (lex(strm))
2181 - of (Tok.STARTU(x), span, strm') => (x, span, strm')
2184 -fun matchENDTT strm = (case (lex(strm))
2185 - of (Tok.ENDTT, span, strm') => ((), span, strm')
2188 -fun matchSTARTTT strm = (case (lex(strm))
2189 - of (Tok.STARTTT(x), span, strm') => (x, span, strm')
2192 -fun matchENDTR strm = (case (lex(strm))
2193 - of (Tok.ENDTR, span, strm') => ((), span, strm')
2196 -fun matchSTARTTR strm = (case (lex(strm))
2197 - of (Tok.STARTTR(x), span, strm') => (x, span, strm')
2200 -fun matchENDTITLE strm = (case (lex(strm))
2201 - of (Tok.ENDTITLE, span, strm') => ((), span, strm')
2204 -fun matchSTARTTITLE strm = (case (lex(strm))
2205 - of (Tok.STARTTITLE(x), span, strm') => (x, span, strm')
2208 -fun matchENDTHEAD strm = (case (lex(strm))
2209 - of (Tok.ENDTHEAD, span, strm') => ((), span, strm')
2212 -fun matchSTARTTHEAD strm = (case (lex(strm))
2213 - of (Tok.STARTTHEAD(x), span, strm') => (x, span, strm')
2216 -fun matchENDTH strm = (case (lex(strm))
2217 - of (Tok.ENDTH, span, strm') => ((), span, strm')
2220 -fun matchSTARTTH strm = (case (lex(strm))
2221 - of (Tok.STARTTH(x), span, strm') => (x, span, strm')
2224 -fun matchENDTFOOT strm = (case (lex(strm))
2225 - of (Tok.ENDTFOOT, span, strm') => ((), span, strm')
2228 -fun matchSTARTTFOOT strm = (case (lex(strm))
2229 - of (Tok.STARTTFOOT(x), span, strm') => (x, span, strm')
2232 -fun matchENDTEXTAREA strm = (case (lex(strm))
2233 - of (Tok.ENDTEXTAREA, span, strm') => ((), span, strm')
2236 -fun matchSTARTTEXTAREA strm = (case (lex(strm))
2237 - of (Tok.STARTTEXTAREA(x), span, strm') => (x, span, strm')
2240 -fun matchENDTD strm = (case (lex(strm))
2241 - of (Tok.ENDTD, span, strm') => ((), span, strm')
2244 -fun matchSTARTTD strm = (case (lex(strm))
2245 - of (Tok.STARTTD(x), span, strm') => (x, span, strm')
2248 -fun matchENDTBODY strm = (case (lex(strm))
2249 - of (Tok.ENDTBODY, span, strm') => ((), span, strm')
2252 -fun matchSTARTTBODY strm = (case (lex(strm))
2253 - of (Tok.STARTTBODY(x), span, strm') => (x, span, strm')
2256 -fun matchENDTABLE strm = (case (lex(strm))
2257 - of (Tok.ENDTABLE, span, strm') => ((), span, strm')
2260 -fun matchSTARTTABLE strm = (case (lex(strm))
2261 - of (Tok.STARTTABLE(x), span, strm') => (x, span, strm')
2264 -fun matchENDSUP strm = (case (lex(strm))
2265 - of (Tok.ENDSUP, span, strm') => ((), span, strm')
2268 -fun matchSTARTSUP strm = (case (lex(strm))
2269 - of (Tok.STARTSUP(x), span, strm') => (x, span, strm')
2272 -fun matchENDSUB strm = (case (lex(strm))
2273 - of (Tok.ENDSUB, span, strm') => ((), span, strm')
2276 -fun matchSTARTSUB strm = (case (lex(strm))
2277 - of (Tok.STARTSUB(x), span, strm') => (x, span, strm')
2280 -fun matchENDSTYLE strm = (case (lex(strm))
2281 - of (Tok.ENDSTYLE, span, strm') => ((), span, strm')
2284 -fun matchSTARTSTYLE strm = (case (lex(strm))
2285 - of (Tok.STARTSTYLE(x), span, strm') => (x, span, strm')
2288 -fun matchENDSTRONG strm = (case (lex(strm))
2289 - of (Tok.ENDSTRONG, span, strm') => ((), span, strm')
2292 -fun matchSTARTSTRONG strm = (case (lex(strm))
2293 - of (Tok.STARTSTRONG(x), span, strm') => (x, span, strm')
2296 -fun matchENDSTRIKE strm = (case (lex(strm))
2297 - of (Tok.ENDSTRIKE, span, strm') => ((), span, strm')
2300 -fun matchSTARTSTRIKE strm = (case (lex(strm))
2301 - of (Tok.STARTSTRIKE(x), span, strm') => (x, span, strm')
2304 -fun matchENDSPAN strm = (case (lex(strm))
2305 - of (Tok.ENDSPAN, span, strm') => ((), span, strm')
2308 -fun matchSTARTSPAN strm = (case (lex(strm))
2309 - of (Tok.STARTSPAN(x), span, strm') => (x, span, strm')
2312 -fun matchENDSMALL strm = (case (lex(strm))
2313 - of (Tok.ENDSMALL, span, strm') => ((), span, strm')
2316 -fun matchSTARTSMALL strm = (case (lex(strm))
2317 - of (Tok.STARTSMALL(x), span, strm') => (x, span, strm')
2320 -fun matchENDSELECT strm = (case (lex(strm))
2321 - of (Tok.ENDSELECT, span, strm') => ((), span, strm')
2324 -fun matchSTARTSELECT strm = (case (lex(strm))
2325 - of (Tok.STARTSELECT(x), span, strm') => (x, span, strm')
2328 -fun matchENDSCRIPT strm = (case (lex(strm))
2329 - of (Tok.ENDSCRIPT, span, strm') => ((), span, strm')
2332 -fun matchSTARTSCRIPT strm = (case (lex(strm))
2333 - of (Tok.STARTSCRIPT(x), span, strm') => (x, span, strm')
2336 -fun matchENDSAMP strm = (case (lex(strm))
2337 - of (Tok.ENDSAMP, span, strm') => ((), span, strm')
2340 -fun matchSTARTSAMP strm = (case (lex(strm))
2341 - of (Tok.STARTSAMP(x), span, strm') => (x, span, strm')
2344 -fun matchENDS strm = (case (lex(strm))
2345 - of (Tok.ENDS, span, strm') => ((), span, strm')
2348 -fun matchSTARTS strm = (case (lex(strm))
2349 - of (Tok.STARTS(x), span, strm') => (x, span, strm')
2352 -fun matchENDQ strm = (case (lex(strm))
2353 - of (Tok.ENDQ, span, strm') => ((), span, strm')
2356 -fun matchSTARTQ strm = (case (lex(strm))
2357 - of (Tok.STARTQ(x), span, strm') => (x, span, strm')
2360 -fun matchENDPRE strm = (case (lex(strm))
2361 - of (Tok.ENDPRE, span, strm') => ((), span, strm')
2364 -fun matchSTARTPRE strm = (case (lex(strm))
2365 - of (Tok.STARTPRE(x), span, strm') => (x, span, strm')
2368 -fun matchSTARTPARAM strm = (case (lex(strm))
2369 - of (Tok.STARTPARAM(x), span, strm') => (x, span, strm')
2372 -fun matchENDP strm = (case (lex(strm))
2373 - of (Tok.ENDP, span, strm') => ((), span, strm')
2376 -fun matchSTARTP strm = (case (lex(strm))
2377 - of (Tok.STARTP(x), span, strm') => (x, span, strm')
2380 -fun matchENDOPTION strm = (case (lex(strm))
2381 - of (Tok.ENDOPTION, span, strm') => ((), span, strm')
2384 -fun matchSTARTOPTION strm = (case (lex(strm))
2385 - of (Tok.STARTOPTION(x), span, strm') => (x, span, strm')
2388 -fun matchENDOPTGROUP strm = (case (lex(strm))
2389 - of (Tok.ENDOPTGROUP, span, strm') => ((), span, strm')
2392 -fun matchSTARTOPTGROUP strm = (case (lex(strm))
2393 - of (Tok.STARTOPTGROUP(x), span, strm') => (x, span, strm')
2396 -fun matchENDOL strm = (case (lex(strm))
2397 - of (Tok.ENDOL, span, strm') => ((), span, strm')
2400 -fun matchSTARTOL strm = (case (lex(strm))
2401 - of (Tok.STARTOL(x), span, strm') => (x, span, strm')
2404 -fun matchENDOBJECT strm = (case (lex(strm))
2405 - of (Tok.ENDOBJECT, span, strm') => ((), span, strm')
2408 -fun matchSTARTOBJECT strm = (case (lex(strm))
2409 - of (Tok.STARTOBJECT(x), span, strm') => (x, span, strm')
2412 -fun matchENDNOSCRIPT strm = (case (lex(strm))
2413 - of (Tok.ENDNOSCRIPT, span, strm') => ((), span, strm')
2416 -fun matchSTARTNOSCRIPT strm = (case (lex(strm))
2417 - of (Tok.STARTNOSCRIPT(x), span, strm') => (x, span, strm')
2420 -fun matchENDNOFRAMES strm = (case (lex(strm))
2421 - of (Tok.ENDNOFRAMES, span, strm') => ((), span, strm')
2424 -fun matchSTARTNOFRAMES strm = (case (lex(strm))
2425 - of (Tok.STARTNOFRAMES(x), span, strm') => (x, span, strm')
2428 -fun matchSTARTMETA strm = (case (lex(strm))
2429 - of (Tok.STARTMETA(x), span, strm') => (x, span, strm')
2432 -fun matchENDMENU strm = (case (lex(strm))
2433 - of (Tok.ENDMENU, span, strm') => ((), span, strm')
2436 -fun matchSTARTMENU strm = (case (lex(strm))
2437 - of (Tok.STARTMENU(x), span, strm') => (x, span, strm')
2440 -fun matchENDMAP strm = (case (lex(strm))
2441 - of (Tok.ENDMAP, span, strm') => ((), span, strm')
2444 -fun matchSTARTMAP strm = (case (lex(strm))
2445 - of (Tok.STARTMAP(x), span, strm') => (x, span, strm')
2448 -fun matchSTARTLINK strm = (case (lex(strm))
2449 - of (Tok.STARTLINK(x), span, strm') => (x, span, strm')
2452 -fun matchENDLI strm = (case (lex(strm))
2453 - of (Tok.ENDLI, span, strm') => ((), span, strm')
2456 -fun matchSTARTLI strm = (case (lex(strm))
2457 - of (Tok.STARTLI(x), span, strm') => (x, span, strm')
2460 -fun matchENDLEGEND strm = (case (lex(strm))
2461 - of (Tok.ENDLEGEND, span, strm') => ((), span, strm')
2464 -fun matchSTARTLEGEND strm = (case (lex(strm))
2465 - of (Tok.STARTLEGEND(x), span, strm') => (x, span, strm')
2468 -fun matchENDLABEL strm = (case (lex(strm))
2469 - of (Tok.ENDLABEL, span, strm') => ((), span, strm')
2472 -fun matchSTARTLABEL strm = (case (lex(strm))
2473 - of (Tok.STARTLABEL(x), span, strm') => (x, span, strm')
2476 -fun matchENDKBD strm = (case (lex(strm))
2477 - of (Tok.ENDKBD, span, strm') => ((), span, strm')
2480 -fun matchSTARTKBD strm = (case (lex(strm))
2481 - of (Tok.STARTKBD(x), span, strm') => (x, span, strm')
2484 -fun matchSTARTISINDEX strm = (case (lex(strm))
2485 - of (Tok.STARTISINDEX(x), span, strm') => (x, span, strm')
2488 -fun matchENDINS strm = (case (lex(strm))
2489 - of (Tok.ENDINS, span, strm') => ((), span, strm')
2492 -fun matchSTARTINS strm = (case (lex(strm))
2493 - of (Tok.STARTINS(x), span, strm') => (x, span, strm')
2496 -fun matchSTARTINPUT strm = (case (lex(strm))
2497 - of (Tok.STARTINPUT(x), span, strm') => (x, span, strm')
2500 -fun matchSTARTIMG strm = (case (lex(strm))
2501 - of (Tok.STARTIMG(x), span, strm') => (x, span, strm')
2504 -fun matchENDIFRAME strm = (case (lex(strm))
2505 - of (Tok.ENDIFRAME, span, strm') => ((), span, strm')
2508 -fun matchSTARTIFRAME strm = (case (lex(strm))
2509 - of (Tok.STARTIFRAME(x), span, strm') => (x, span, strm')
2512 -fun matchENDI strm = (case (lex(strm))
2513 - of (Tok.ENDI, span, strm') => ((), span, strm')
2516 -fun matchSTARTI strm = (case (lex(strm))
2517 - of (Tok.STARTI(x), span, strm') => (x, span, strm')
2520 -fun matchENDHTML strm = (case (lex(strm))
2521 - of (Tok.ENDHTML, span, strm') => ((), span, strm')
2524 -fun matchSTARTHTML strm = (case (lex(strm))
2525 - of (Tok.STARTHTML(x), span, strm') => (x, span, strm')
2528 -fun matchSTARTHR strm = (case (lex(strm))
2529 - of (Tok.STARTHR(x), span, strm') => (x, span, strm')
2532 -fun matchENDHEAD strm = (case (lex(strm))
2533 - of (Tok.ENDHEAD, span, strm') => ((), span, strm')
2536 -fun matchSTARTHEAD strm = (case (lex(strm))
2537 - of (Tok.STARTHEAD(x), span, strm') => (x, span, strm')
2540 -fun matchENDH6 strm = (case (lex(strm))
2541 - of (Tok.ENDH6, span, strm') => ((), span, strm')
2544 -fun matchSTARTH6 strm = (case (lex(strm))
2545 - of (Tok.STARTH6(x), span, strm') => (x, span, strm')
2548 -fun matchENDH5 strm = (case (lex(strm))
2549 - of (Tok.ENDH5, span, strm') => ((), span, strm')
2552 -fun matchSTARTH5 strm = (case (lex(strm))
2553 - of (Tok.STARTH5(x), span, strm') => (x, span, strm')
2556 -fun matchENDH4 strm = (case (lex(strm))
2557 - of (Tok.ENDH4, span, strm') => ((), span, strm')
2560 -fun matchSTARTH4 strm = (case (lex(strm))
2561 - of (Tok.STARTH4(x), span, strm') => (x, span, strm')
2564 -fun matchENDH3 strm = (case (lex(strm))
2565 - of (Tok.ENDH3, span, strm') => ((), span, strm')
2568 -fun matchSTARTH3 strm = (case (lex(strm))
2569 - of (Tok.STARTH3(x), span, strm') => (x, span, strm')
2572 -fun matchENDH2 strm = (case (lex(strm))
2573 - of (Tok.ENDH2, span, strm') => ((), span, strm')
2576 -fun matchSTARTH2 strm = (case (lex(strm))
2577 - of (Tok.STARTH2(x), span, strm') => (x, span, strm')
2580 -fun matchENDH1 strm = (case (lex(strm))
2581 - of (Tok.ENDH1, span, strm') => ((), span, strm')
2584 -fun matchSTARTH1 strm = (case (lex(strm))
2585 - of (Tok.STARTH1(x), span, strm') => (x, span, strm')
2588 -fun matchENDFRAMESET strm = (case (lex(strm))
2589 - of (Tok.ENDFRAMESET, span, strm') => ((), span, strm')
2592 -fun matchSTARTFRAMESET strm = (case (lex(strm))
2593 - of (Tok.STARTFRAMESET(x), span, strm') => (x, span, strm')
2596 -fun matchSTARTFRAME strm = (case (lex(strm))
2597 - of (Tok.STARTFRAME(x), span, strm') => (x, span, strm')
2600 -fun matchENDFORM strm = (case (lex(strm))
2601 - of (Tok.ENDFORM, span, strm') => ((), span, strm')
2604 -fun matchSTARTFORM strm = (case (lex(strm))
2605 - of (Tok.STARTFORM(x), span, strm') => (x, span, strm')
2608 -fun matchENDFONT strm = (case (lex(strm))
2609 - of (Tok.ENDFONT, span, strm') => ((), span, strm')
2612 -fun matchSTARTFONT strm = (case (lex(strm))
2613 - of (Tok.STARTFONT(x), span, strm') => (x, span, strm')
2616 -fun matchENDFIELDSET strm = (case (lex(strm))
2617 - of (Tok.ENDFIELDSET, span, strm') => ((), span, strm')
2620 -fun matchSTARTFIELDSET strm = (case (lex(strm))
2621 - of (Tok.STARTFIELDSET(x), span, strm') => (x, span, strm')
2624 -fun matchENDEM strm = (case (lex(strm))
2625 - of (Tok.ENDEM, span, strm') => ((), span, strm')
2628 -fun matchSTARTEM strm = (case (lex(strm))
2629 - of (Tok.STARTEM(x), span, strm') => (x, span, strm')
2632 -fun matchENDDT strm = (case (lex(strm))
2633 - of (Tok.ENDDT, span, strm') => ((), span, strm')
2636 -fun matchSTARTDT strm = (case (lex(strm))
2637 - of (Tok.STARTDT(x), span, strm') => (x, span, strm')
2640 -fun matchENDDL strm = (case (lex(strm))
2641 - of (Tok.ENDDL, span, strm') => ((), span, strm')
2644 -fun matchSTARTDL strm = (case (lex(strm))
2645 - of (Tok.STARTDL(x), span, strm') => (x, span, strm')
2648 -fun matchENDDIV strm = (case (lex(strm))
2649 - of (Tok.ENDDIV, span, strm') => ((), span, strm')
2652 -fun matchSTARTDIV strm = (case (lex(strm))
2653 - of (Tok.STARTDIV(x), span, strm') => (x, span, strm')
2656 -fun matchENDDIR strm = (case (lex(strm))
2657 - of (Tok.ENDDIR, span, strm') => ((), span, strm')
2660 -fun matchSTARTDIR strm = (case (lex(strm))
2661 - of (Tok.STARTDIR(x), span, strm') => (x, span, strm')
2664 -fun matchENDDFN strm = (case (lex(strm))
2665 - of (Tok.ENDDFN, span, strm') => ((), span, strm')
2668 -fun matchSTARTDFN strm = (case (lex(strm))
2669 - of (Tok.STARTDFN(x), span, strm') => (x, span, strm')
2672 -fun matchENDDEL strm = (case (lex(strm))
2673 - of (Tok.ENDDEL, span, strm') => ((), span, strm')
2676 -fun matchSTARTDEL strm = (case (lex(strm))
2677 - of (Tok.STARTDEL(x), span, strm') => (x, span, strm')
2680 -fun matchENDDD strm = (case (lex(strm))
2681 - of (Tok.ENDDD, span, strm') => ((), span, strm')
2684 -fun matchSTARTDD strm = (case (lex(strm))
2685 - of (Tok.STARTDD(x), span, strm') => (x, span, strm')
2688 -fun matchENDCOLGROUP strm = (case (lex(strm))
2689 - of (Tok.ENDCOLGROUP, span, strm') => ((), span, strm')
2692 -fun matchSTARTCOLGROUP strm = (case (lex(strm))
2693 - of (Tok.STARTCOLGROUP(x), span, strm') => (x, span, strm')
2696 -fun matchSTARTCOL strm = (case (lex(strm))
2697 - of (Tok.STARTCOL(x), span, strm') => (x, span, strm')
2700 -fun matchENDCODE strm = (case (lex(strm))
2701 - of (Tok.ENDCODE, span, strm') => ((), span, strm')
2704 -fun matchSTARTCODE strm = (case (lex(strm))
2705 - of (Tok.STARTCODE(x), span, strm') => (x, span, strm')
2708 -fun matchENDCITE strm = (case (lex(strm))
2709 - of (Tok.ENDCITE, span, strm') => ((), span, strm')
2712 -fun matchSTARTCITE strm = (case (lex(strm))
2713 - of (Tok.STARTCITE(x), span, strm') => (x, span, strm')
2716 -fun matchENDCENTER strm = (case (lex(strm))
2717 - of (Tok.ENDCENTER, span, strm') => ((), span, strm')
2720 -fun matchSTARTCENTER strm = (case (lex(strm))
2721 - of (Tok.STARTCENTER(x), span, strm') => (x, span, strm')
2724 -fun matchENDCAPTION strm = (case (lex(strm))
2725 - of (Tok.ENDCAPTION, span, strm') => ((), span, strm')
2728 -fun matchSTARTCAPTION strm = (case (lex(strm))
2729 - of (Tok.STARTCAPTION(x), span, strm') => (x, span, strm')
2732 -fun matchENDBUTTON strm = (case (lex(strm))
2733 - of (Tok.ENDBUTTON, span, strm') => ((), span, strm')
2736 -fun matchSTARTBUTTON strm = (case (lex(strm))
2737 - of (Tok.STARTBUTTON(x), span, strm') => (x, span, strm')
2740 -fun matchSTARTBR strm = (case (lex(strm))
2741 - of (Tok.STARTBR(x), span, strm') => (x, span, strm')
2744 -fun matchENDBODY strm = (case (lex(strm))
2745 - of (Tok.ENDBODY, span, strm') => ((), span, strm')
2748 -fun matchSTARTBODY strm = (case (lex(strm))
2749 - of (Tok.STARTBODY(x), span, strm') => (x, span, strm')
2752 -fun matchENDBLOCKQUOTE strm = (case (lex(strm))
2753 - of (Tok.ENDBLOCKQUOTE, span, strm') => ((), span, strm')
2756 -fun matchSTARTBLOCKQUOTE strm = (case (lex(strm))
2757 - of (Tok.STARTBLOCKQUOTE(x), span, strm') => (x, span, strm')
2760 -fun matchENDBIG strm = (case (lex(strm))
2761 - of (Tok.ENDBIG, span, strm') => ((), span, strm')
2764 -fun matchSTARTBIG strm = (case (lex(strm))
2765 - of (Tok.STARTBIG(x), span, strm') => (x, span, strm')
2768 -fun matchENDBDO strm = (case (lex(strm))
2769 - of (Tok.ENDBDO, span, strm') => ((), span, strm')
2772 -fun matchSTARTBDO strm = (case (lex(strm))
2773 - of (Tok.STARTBDO(x), span, strm') => (x, span, strm')
2776 -fun matchSTARTBASEFONT strm = (case (lex(strm))
2777 - of (Tok.STARTBASEFONT(x), span, strm') => (x, span, strm')
2780 -fun matchSTARTBASE strm = (case (lex(strm))
2781 - of (Tok.STARTBASE(x), span, strm') => (x, span, strm')
2784 -fun matchENDB strm = (case (lex(strm))
2785 - of (Tok.ENDB, span, strm') => ((), span, strm')
2788 -fun matchSTARTB strm = (case (lex(strm))
2789 - of (Tok.STARTB(x), span, strm') => (x, span, strm')
2792 -fun matchSTARTAREA strm = (case (lex(strm))
2793 - of (Tok.STARTAREA(x), span, strm') => (x, span, strm')
2796 -fun matchENDAPPLET strm = (case (lex(strm))
2797 - of (Tok.ENDAPPLET, span, strm') => ((), span, strm')
2800 -fun matchSTARTAPPLET strm = (case (lex(strm))
2801 - of (Tok.STARTAPPLET(x), span, strm') => (x, span, strm')
2804 -fun matchENDADDRESS strm = (case (lex(strm))
2805 - of (Tok.ENDADDRESS, span, strm') => ((), span, strm')
2808 -fun matchSTARTADDRESS strm = (case (lex(strm))
2809 - of (Tok.STARTADDRESS(x), span, strm') => (x, span, strm')
2812 -fun matchENDACRONYM strm = (case (lex(strm))
2813 - of (Tok.ENDACRONYM, span, strm') => ((), span, strm')
2816 -fun matchSTARTACRONYM strm = (case (lex(strm))
2817 - of (Tok.STARTACRONYM(x), span, strm') => (x, span, strm')
2820 -fun matchENDABBR strm = (case (lex(strm))
2821 - of (Tok.ENDABBR, span, strm') => ((), span, strm')
2824 -fun matchSTARTABBR strm = (case (lex(strm))
2825 - of (Tok.STARTABBR(x), span, strm') => (x, span, strm')
2828 -fun matchENDA strm = (case (lex(strm))
2829 - of (Tok.ENDA, span, strm') => ((), span, strm')
2832 -fun matchSTARTA strm = (case (lex(strm))
2833 - of (Tok.STARTA(x), span, strm') => (x, span, strm')
2836 -fun matchXML_PROCESSING strm = (case (lex(strm))
2837 - of (Tok.XML_PROCESSING(x), span, strm') => (x, span, strm')
2840 -fun matchENTITY_REF strm = (case (lex(strm))
2841 - of (Tok.ENTITY_REF(x), span, strm') => (x, span, strm')
2844 -fun matchCHAR_REF strm = (case (lex(strm))
2845 - of (Tok.CHAR_REF(x), span, strm') => (x, span, strm')
2848 -fun matchDOCTYPE strm = (case (lex(strm))
2849 - of (Tok.DOCTYPE(x), span, strm') => (x, span, strm')
2852 -fun matchPCDATA strm = (case (lex(strm))
2853 - of (Tok.PCDATA(x), span, strm') => (x, span, strm')
2856 -fun matchCOMMENT strm = (case (lex(strm))
2857 - of (Tok.COMMENT(x), span, strm') => (x, span, strm')
2860 -fun matchCLOSETAG strm = (case (lex(strm))
2861 - of (Tok.CLOSETAG(x), span, strm') => (x, span, strm')
2864 fun matchOPENTAG strm = (case (lex(strm))
2865 of (Tok.OPENTAG(x), span, strm') => (x, span, strm')
2868 +fun matchCLOSETAG strm = (case (lex(strm))
2869 + of (Tok.CLOSETAG(x), span, strm') => (x, span, strm')
2872 +fun matchCOMMENT strm = (case (lex(strm))
2873 + of (Tok.COMMENT(x), span, strm') => (x, span, strm')
2876 +fun matchPCDATA strm = (case (lex(strm))
2877 + of (Tok.PCDATA(x), span, strm') => (x, span, strm')
2880 +fun matchDOCTYPE strm = (case (lex(strm))
2881 + of (Tok.DOCTYPE(x), span, strm') => (x, span, strm')
2884 +fun matchCHAR_REF strm = (case (lex(strm))
2885 + of (Tok.CHAR_REF(x), span, strm') => (x, span, strm')
2888 +fun matchENTITY_REF strm = (case (lex(strm))
2889 + of (Tok.ENTITY_REF(x), span, strm') => (x, span, strm')
2892 +fun matchXML_PROCESSING strm = (case (lex(strm))
2893 + of (Tok.XML_PROCESSING(x), span, strm') => (x, span, strm')
2896 +fun matchSTARTA strm = (case (lex(strm))
2897 + of (Tok.STARTA(x), span, strm') => (x, span, strm')
2900 +fun matchENDA strm = (case (lex(strm))
2901 + of (Tok.ENDA, span, strm') => ((), span, strm')
2904 +fun matchSTARTABBR strm = (case (lex(strm))
2905 + of (Tok.STARTABBR(x), span, strm') => (x, span, strm')
2908 +fun matchENDABBR strm = (case (lex(strm))
2909 + of (Tok.ENDABBR, span, strm') => ((), span, strm')
2912 +fun matchSTARTACRONYM strm = (case (lex(strm))
2913 + of (Tok.STARTACRONYM(x), span, strm') => (x, span, strm')
2916 +fun matchENDACRONYM strm = (case (lex(strm))
2917 + of (Tok.ENDACRONYM, span, strm') => ((), span, strm')
2920 +fun matchSTARTADDRESS strm = (case (lex(strm))
2921 + of (Tok.STARTADDRESS(x), span, strm') => (x, span, strm')
2924 +fun matchENDADDRESS strm = (case (lex(strm))
2925 + of (Tok.ENDADDRESS, span, strm') => ((), span, strm')
2928 +fun matchSTARTAPPLET strm = (case (lex(strm))
2929 + of (Tok.STARTAPPLET(x), span, strm') => (x, span, strm')
2932 +fun matchENDAPPLET strm = (case (lex(strm))
2933 + of (Tok.ENDAPPLET, span, strm') => ((), span, strm')
2936 +fun matchSTARTAREA strm = (case (lex(strm))
2937 + of (Tok.STARTAREA(x), span, strm') => (x, span, strm')
2940 +fun matchSTARTB strm = (case (lex(strm))
2941 + of (Tok.STARTB(x), span, strm') => (x, span, strm')
2944 +fun matchENDB strm = (case (lex(strm))
2945 + of (Tok.ENDB, span, strm') => ((), span, strm')
2948 +fun matchSTARTBASE strm = (case (lex(strm))
2949 + of (Tok.STARTBASE(x), span, strm') => (x, span, strm')
2952 +fun matchSTARTBASEFONT strm = (case (lex(strm))
2953 + of (Tok.STARTBASEFONT(x), span, strm') => (x, span, strm')
2956 +fun matchSTARTBDO strm = (case (lex(strm))
2957 + of (Tok.STARTBDO(x), span, strm') => (x, span, strm')
2960 +fun matchENDBDO strm = (case (lex(strm))
2961 + of (Tok.ENDBDO, span, strm') => ((), span, strm')
2964 +fun matchSTARTBIG strm = (case (lex(strm))
2965 + of (Tok.STARTBIG(x), span, strm') => (x, span, strm')
2968 +fun matchENDBIG strm = (case (lex(strm))
2969 + of (Tok.ENDBIG, span, strm') => ((), span, strm')
2972 +fun matchSTARTBLOCKQUOTE strm = (case (lex(strm))
2973 + of (Tok.STARTBLOCKQUOTE(x), span, strm') => (x, span, strm')
2976 +fun matchENDBLOCKQUOTE strm = (case (lex(strm))
2977 + of (Tok.ENDBLOCKQUOTE, span, strm') => ((), span, strm')
2980 +fun matchSTARTBODY strm = (case (lex(strm))
2981 + of (Tok.STARTBODY(x), span, strm') => (x, span, strm')
2984 +fun matchENDBODY strm = (case (lex(strm))
2985 + of (Tok.ENDBODY, span, strm') => ((), span, strm')
2988 +fun matchSTARTBR strm = (case (lex(strm))
2989 + of (Tok.STARTBR(x), span, strm') => (x, span, strm')
2992 +fun matchSTARTBUTTON strm = (case (lex(strm))
2993 + of (Tok.STARTBUTTON(x), span, strm') => (x, span, strm')
2996 +fun matchENDBUTTON strm = (case (lex(strm))
2997 + of (Tok.ENDBUTTON, span, strm') => ((), span, strm')
3000 +fun matchSTARTCAPTION strm = (case (lex(strm))
3001 + of (Tok.STARTCAPTION(x), span, strm') => (x, span, strm')
3004 +fun matchENDCAPTION strm = (case (lex(strm))
3005 + of (Tok.ENDCAPTION, span, strm') => ((), span, strm')
3008 +fun matchSTARTCENTER strm = (case (lex(strm))
3009 + of (Tok.STARTCENTER(x), span, strm') => (x, span, strm')
3012 +fun matchENDCENTER strm = (case (lex(strm))
3013 + of (Tok.ENDCENTER, span, strm') => ((), span, strm')
3016 +fun matchSTARTCITE strm = (case (lex(strm))
3017 + of (Tok.STARTCITE(x), span, strm') => (x, span, strm')
3020 +fun matchENDCITE strm = (case (lex(strm))
3021 + of (Tok.ENDCITE, span, strm') => ((), span, strm')
3024 +fun matchSTARTCODE strm = (case (lex(strm))
3025 + of (Tok.STARTCODE(x), span, strm') => (x, span, strm')
3028 +fun matchENDCODE strm = (case (lex(strm))
3029 + of (Tok.ENDCODE, span, strm') => ((), span, strm')
3032 +fun matchSTARTCOL strm = (case (lex(strm))
3033 + of (Tok.STARTCOL(x), span, strm') => (x, span, strm')
3036 +fun matchSTARTCOLGROUP strm = (case (lex(strm))
3037 + of (Tok.STARTCOLGROUP(x), span, strm') => (x, span, strm')
3040 +fun matchENDCOLGROUP strm = (case (lex(strm))
3041 + of (Tok.ENDCOLGROUP, span, strm') => ((), span, strm')
3044 +fun matchSTARTDD strm = (case (lex(strm))
3045 + of (Tok.STARTDD(x), span, strm') => (x, span, strm')
3048 +fun matchENDDD strm = (case (lex(strm))
3049 + of (Tok.ENDDD, span, strm') => ((), span, strm')
3052 +fun matchSTARTDEL strm = (case (lex(strm))
3053 + of (Tok.STARTDEL(x), span, strm') => (x, span, strm')
3056 +fun matchENDDEL strm = (case (lex(strm))
3057 + of (Tok.ENDDEL, span, strm') => ((), span, strm')
3060 +fun matchSTARTDFN strm = (case (lex(strm))
3061 + of (Tok.STARTDFN(x), span, strm') => (x, span, strm')
3064 +fun matchENDDFN strm = (case (lex(strm))
3065 + of (Tok.ENDDFN, span, strm') => ((), span, strm')
3068 +fun matchSTARTDIR strm = (case (lex(strm))
3069 + of (Tok.STARTDIR(x), span, strm') => (x, span, strm')
3072 +fun matchENDDIR strm = (case (lex(strm))
3073 + of (Tok.ENDDIR, span, strm') => ((), span, strm')
3076 +fun matchSTARTDIV strm = (case (lex(strm))
3077 + of (Tok.STARTDIV(x), span, strm') => (x, span, strm')
3080 +fun matchENDDIV strm = (case (lex(strm))
3081 + of (Tok.ENDDIV, span, strm') => ((), span, strm')
3084 +fun matchSTARTDL strm = (case (lex(strm))
3085 + of (Tok.STARTDL(x), span, strm') => (x, span, strm')
3088 +fun matchENDDL strm = (case (lex(strm))
3089 + of (Tok.ENDDL, span, strm') => ((), span, strm')
3092 +fun matchSTARTDT strm = (case (lex(strm))
3093 + of (Tok.STARTDT(x), span, strm') => (x, span, strm')
3096 +fun matchENDDT strm = (case (lex(strm))
3097 + of (Tok.ENDDT, span, strm') => ((), span, strm')
3100 +fun matchSTARTEM strm = (case (lex(strm))
3101 + of (Tok.STARTEM(x), span, strm') => (x, span, strm')
3104 +fun matchENDEM strm = (case (lex(strm))
3105 + of (Tok.ENDEM, span, strm') => ((), span, strm')
3108 +fun matchSTARTFIELDSET strm = (case (lex(strm))
3109 + of (Tok.STARTFIELDSET(x), span, strm') => (x, span, strm')
3112 +fun matchENDFIELDSET strm = (case (lex(strm))
3113 + of (Tok.ENDFIELDSET, span, strm') => ((), span, strm')
3116 +fun matchSTARTFONT strm = (case (lex(strm))
3117 + of (Tok.STARTFONT(x), span, strm') => (x, span, strm')
3120 +fun matchENDFONT strm = (case (lex(strm))
3121 + of (Tok.ENDFONT, span, strm') => ((), span, strm')
3124 +fun matchSTARTFORM strm = (case (lex(strm))
3125 + of (Tok.STARTFORM(x), span, strm') => (x, span, strm')
3128 +fun matchENDFORM strm = (case (lex(strm))
3129 + of (Tok.ENDFORM, span, strm') => ((), span, strm')
3132 +fun matchSTARTFRAME strm = (case (lex(strm))
3133 + of (Tok.STARTFRAME(x), span, strm') => (x, span, strm')
3136 +fun matchSTARTFRAMESET strm = (case (lex(strm))
3137 + of (Tok.STARTFRAMESET(x), span, strm') => (x, span, strm')
3140 +fun matchENDFRAMESET strm = (case (lex(strm))
3141 + of (Tok.ENDFRAMESET, span, strm') => ((), span, strm')
3144 +fun matchSTARTH1 strm = (case (lex(strm))
3145 + of (Tok.STARTH1(x), span, strm') => (x, span, strm')
3148 +fun matchENDH1 strm = (case (lex(strm))
3149 + of (Tok.ENDH1, span, strm') => ((), span, strm')
3152 +fun matchSTARTH2 strm = (case (lex(strm))
3153 + of (Tok.STARTH2(x), span, strm') => (x, span, strm')
3156 +fun matchENDH2 strm = (case (lex(strm))
3157 + of (Tok.ENDH2, span, strm') => ((), span, strm')
3160 +fun matchSTARTH3 strm = (case (lex(strm))
3161 + of (Tok.STARTH3(x), span, strm') => (x, span, strm')
3164 +fun matchENDH3 strm = (case (lex(strm))
3165 + of (Tok.ENDH3, span, strm') => ((), span, strm')
3168 +fun matchSTARTH4 strm = (case (lex(strm))
3169 + of (Tok.STARTH4(x), span, strm') => (x, span, strm')
3172 +fun matchENDH4 strm = (case (lex(strm))
3173 + of (Tok.ENDH4, span, strm') => ((), span, strm')
3176 +fun matchSTARTH5 strm = (case (lex(strm))
3177 + of (Tok.STARTH5(x), span, strm') => (x, span, strm')
3180 +fun matchENDH5 strm = (case (lex(strm))
3181 + of (Tok.ENDH5, span, strm') => ((), span, strm')
3184 +fun matchSTARTH6 strm = (case (lex(strm))
3185 + of (Tok.STARTH6(x), span, strm') => (x, span, strm')
3188 +fun matchENDH6 strm = (case (lex(strm))
3189 + of (Tok.ENDH6, span, strm') => ((), span, strm')
3192 +fun matchSTARTHEAD strm = (case (lex(strm))
3193 + of (Tok.STARTHEAD(x), span, strm') => (x, span, strm')
3196 +fun matchENDHEAD strm = (case (lex(strm))
3197 + of (Tok.ENDHEAD, span, strm') => ((), span, strm')
3200 +fun matchSTARTHR strm = (case (lex(strm))
3201 + of (Tok.STARTHR(x), span, strm') => (x, span, strm')
3204 +fun matchSTARTHTML strm = (case (lex(strm))
3205 + of (Tok.STARTHTML(x), span, strm') => (x, span, strm')
3208 +fun matchENDHTML strm = (case (lex(strm))
3209 + of (Tok.ENDHTML, span, strm') => ((), span, strm')
3212 +fun matchSTARTI strm = (case (lex(strm))
3213 + of (Tok.STARTI(x), span, strm') => (x, span, strm')
3216 +fun matchENDI strm = (case (lex(strm))
3217 + of (Tok.ENDI, span, strm') => ((), span, strm')
3220 +fun matchSTARTIFRAME strm = (case (lex(strm))
3221 + of (Tok.STARTIFRAME(x), span, strm') => (x, span, strm')
3224 +fun matchENDIFRAME strm = (case (lex(strm))
3225 + of (Tok.ENDIFRAME, span, strm') => ((), span, strm')
3228 +fun matchSTARTIMG strm = (case (lex(strm))
3229 + of (Tok.STARTIMG(x), span, strm') => (x, span, strm')
3232 +fun matchSTARTINPUT strm = (case (lex(strm))
3233 + of (Tok.STARTINPUT(x), span, strm') => (x, span, strm')
3236 +fun matchSTARTINS strm = (case (lex(strm))
3237 + of (Tok.STARTINS(x), span, strm') => (x, span, strm')
3240 +fun matchENDINS strm = (case (lex(strm))
3241 + of (Tok.ENDINS, span, strm') => ((), span, strm')
3244 +fun matchSTARTISINDEX strm = (case (lex(strm))
3245 + of (Tok.STARTISINDEX(x), span, strm') => (x, span, strm')
3248 +fun matchSTARTKBD strm = (case (lex(strm))
3249 + of (Tok.STARTKBD(x), span, strm') => (x, span, strm')
3252 +fun matchENDKBD strm = (case (lex(strm))
3253 + of (Tok.ENDKBD, span, strm') => ((), span, strm')
3256 +fun matchSTARTLABEL strm = (case (lex(strm))
3257 + of (Tok.STARTLABEL(x), span, strm') => (x, span, strm')
3260 +fun matchENDLABEL strm = (case (lex(strm))
3261 + of (Tok.ENDLABEL, span, strm') => ((), span, strm')
3264 +fun matchSTARTLEGEND strm = (case (lex(strm))
3265 + of (Tok.STARTLEGEND(x), span, strm') => (x, span, strm')
3268 +fun matchENDLEGEND strm = (case (lex(strm))
3269 + of (Tok.ENDLEGEND, span, strm') => ((), span, strm')
3272 +fun matchSTARTLI strm = (case (lex(strm))
3273 + of (Tok.STARTLI(x), span, strm') => (x, span, strm')
3276 +fun matchENDLI strm = (case (lex(strm))
3277 + of (Tok.ENDLI, span, strm') => ((), span, strm')
3280 +fun matchSTARTLINK strm = (case (lex(strm))
3281 + of (Tok.STARTLINK(x), span, strm') => (x, span, strm')
3284 +fun matchSTARTMAP strm = (case (lex(strm))
3285 + of (Tok.STARTMAP(x), span, strm') => (x, span, strm')
3288 +fun matchENDMAP strm = (case (lex(strm))
3289 + of (Tok.ENDMAP, span, strm') => ((), span, strm')
3292 +fun matchSTARTMENU strm = (case (lex(strm))
3293 + of (Tok.STARTMENU(x), span, strm') => (x, span, strm')
3296 +fun matchENDMENU strm = (case (lex(strm))
3297 + of (Tok.ENDMENU, span, strm') => ((), span, strm')
3300 +fun matchSTARTMETA strm = (case (lex(strm))
3301 + of (Tok.STARTMETA(x), span, strm') => (x, span, strm')
3304 +fun matchSTARTNOFRAMES strm = (case (lex(strm))
3305 + of (Tok.STARTNOFRAMES(x), span, strm') => (x, span, strm')
3308 +fun matchENDNOFRAMES strm = (case (lex(strm))
3309 + of (Tok.ENDNOFRAMES, span, strm') => ((), span, strm')
3312 +fun matchSTARTNOSCRIPT strm = (case (lex(strm))
3313 + of (Tok.STARTNOSCRIPT(x), span, strm') => (x, span, strm')
3316 +fun matchENDNOSCRIPT strm = (case (lex(strm))
3317 + of (Tok.ENDNOSCRIPT, span, strm') => ((), span, strm')
3320 +fun matchSTARTOBJECT strm = (case (lex(strm))
3321 + of (Tok.STARTOBJECT(x), span, strm') => (x, span, strm')
3324 +fun matchENDOBJECT strm = (case (lex(strm))
3325 + of (Tok.ENDOBJECT, span, strm') => ((), span, strm')
3328 +fun matchSTARTOL strm = (case (lex(strm))
3329 + of (Tok.STARTOL(x), span, strm') => (x, span, strm')
3332 +fun matchENDOL strm = (case (lex(strm))
3333 + of (Tok.ENDOL, span, strm') => ((), span, strm')
3336 +fun matchSTARTOPTGROUP strm = (case (lex(strm))
3337 + of (Tok.STARTOPTGROUP(x), span, strm') => (x, span, strm')
3340 +fun matchENDOPTGROUP strm = (case (lex(strm))
3341 + of (Tok.ENDOPTGROUP, span, strm') => ((), span, strm')
3344 +fun matchSTARTOPTION strm = (case (lex(strm))
3345 + of (Tok.STARTOPTION(x), span, strm') => (x, span, strm')
3348 +fun matchENDOPTION strm = (case (lex(strm))
3349 + of (Tok.ENDOPTION, span, strm') => ((), span, strm')
3352 +fun matchSTARTP strm = (case (lex(strm))
3353 + of (Tok.STARTP(x), span, strm') => (x, span, strm')
3356 +fun matchENDP strm = (case (lex(strm))
3357 + of (Tok.ENDP, span, strm') => ((), span, strm')
3360 +fun matchSTARTPARAM strm = (case (lex(strm))
3361 + of (Tok.STARTPARAM(x), span, strm') => (x, span, strm')
3364 +fun matchSTARTPRE strm = (case (lex(strm))
3365 + of (Tok.STARTPRE(x), span, strm') => (x, span, strm')
3368 +fun matchENDPRE strm = (case (lex(strm))
3369 + of (Tok.ENDPRE, span, strm') => ((), span, strm')
3372 +fun matchSTARTQ strm = (case (lex(strm))
3373 + of (Tok.STARTQ(x), span, strm') => (x, span, strm')
3376 +fun matchENDQ strm = (case (lex(strm))
3377 + of (Tok.ENDQ, span, strm') => ((), span, strm')
3380 +fun matchSTARTS strm = (case (lex(strm))
3381 + of (Tok.STARTS(x), span, strm') => (x, span, strm')
3384 +fun matchENDS strm = (case (lex(strm))
3385 + of (Tok.ENDS, span, strm') => ((), span, strm')
3388 +fun matchSTARTSAMP strm = (case (lex(strm))
3389 + of (Tok.STARTSAMP(x), span, strm') => (x, span, strm')
3392 +fun matchENDSAMP strm = (case (lex(strm))
3393 + of (Tok.ENDSAMP, span, strm') => ((), span, strm')
3396 +fun matchSTARTSCRIPT strm = (case (lex(strm))
3397 + of (Tok.STARTSCRIPT(x), span, strm') => (x, span, strm')
3400 +fun matchENDSCRIPT strm = (case (lex(strm))
3401 + of (Tok.ENDSCRIPT, span, strm') => ((), span, strm')
3404 +fun matchSTARTSELECT strm = (case (lex(strm))
3405 + of (Tok.STARTSELECT(x), span, strm') => (x, span, strm')
3408 +fun matchENDSELECT strm = (case (lex(strm))
3409 + of (Tok.ENDSELECT, span, strm') => ((), span, strm')
3412 +fun matchSTARTSMALL strm = (case (lex(strm))
3413 + of (Tok.STARTSMALL(x), span, strm') => (x, span, strm')
3416 +fun matchENDSMALL strm = (case (lex(strm))
3417 + of (Tok.ENDSMALL, span, strm') => ((), span, strm')
3420 +fun matchSTARTSPAN strm = (case (lex(strm))
3421 + of (Tok.STARTSPAN(x), span, strm') => (x, span, strm')
3424 +fun matchENDSPAN strm = (case (lex(strm))
3425 + of (Tok.ENDSPAN, span, strm') => ((), span, strm')
3428 +fun matchSTARTSTRIKE strm = (case (lex(strm))
3429 + of (Tok.STARTSTRIKE(x), span, strm') => (x, span, strm')
3432 +fun matchENDSTRIKE strm = (case (lex(strm))
3433 + of (Tok.ENDSTRIKE, span, strm') => ((), span, strm')
3436 +fun matchSTARTSTRONG strm = (case (lex(strm))
3437 + of (Tok.STARTSTRONG(x), span, strm') => (x, span, strm')
3440 +fun matchENDSTRONG strm = (case (lex(strm))
3441 + of (Tok.ENDSTRONG, span, strm') => ((), span, strm')
3444 +fun matchSTARTSTYLE strm = (case (lex(strm))
3445 + of (Tok.STARTSTYLE(x), span, strm') => (x, span, strm')
3448 +fun matchENDSTYLE strm = (case (lex(strm))
3449 + of (Tok.ENDSTYLE, span, strm') => ((), span, strm')
3452 +fun matchSTARTSUB strm = (case (lex(strm))
3453 + of (Tok.STARTSUB(x), span, strm') => (x, span, strm')
3456 +fun matchENDSUB strm = (case (lex(strm))
3457 + of (Tok.ENDSUB, span, strm') => ((), span, strm')
3460 +fun matchSTARTSUP strm = (case (lex(strm))
3461 + of (Tok.STARTSUP(x), span, strm') => (x, span, strm')
3464 +fun matchENDSUP strm = (case (lex(strm))
3465 + of (Tok.ENDSUP, span, strm') => ((), span, strm')
3468 +fun matchSTARTTABLE strm = (case (lex(strm))
3469 + of (Tok.STARTTABLE(x), span, strm') => (x, span, strm')
3472 +fun matchENDTABLE strm = (case (lex(strm))
3473 + of (Tok.ENDTABLE, span, strm') => ((), span, strm')
3476 +fun matchSTARTTBODY strm = (case (lex(strm))
3477 + of (Tok.STARTTBODY(x), span, strm') => (x, span, strm')
3480 +fun matchENDTBODY strm = (case (lex(strm))
3481 + of (Tok.ENDTBODY, span, strm') => ((), span, strm')
3484 +fun matchSTARTTD strm = (case (lex(strm))
3485 + of (Tok.STARTTD(x), span, strm') => (x, span, strm')
3488 +fun matchENDTD strm = (case (lex(strm))
3489 + of (Tok.ENDTD, span, strm') => ((), span, strm')
3492 +fun matchSTARTTEXTAREA strm = (case (lex(strm))
3493 + of (Tok.STARTTEXTAREA(x), span, strm') => (x, span, strm')
3496 +fun matchENDTEXTAREA strm = (case (lex(strm))
3497 + of (Tok.ENDTEXTAREA, span, strm') => ((), span, strm')
3500 +fun matchSTARTTFOOT strm = (case (lex(strm))
3501 + of (Tok.STARTTFOOT(x), span, strm') => (x, span, strm')
3504 +fun matchENDTFOOT strm = (case (lex(strm))
3505 + of (Tok.ENDTFOOT, span, strm') => ((), span, strm')
3508 +fun matchSTARTTH strm = (case (lex(strm))
3509 + of (Tok.STARTTH(x), span, strm') => (x, span, strm')
3512 +fun matchENDTH strm = (case (lex(strm))
3513 + of (Tok.ENDTH, span, strm') => ((), span, strm')
3516 +fun matchSTARTTHEAD strm = (case (lex(strm))
3517 + of (Tok.STARTTHEAD(x), span, strm') => (x, span, strm')
3520 +fun matchENDTHEAD strm = (case (lex(strm))
3521 + of (Tok.ENDTHEAD, span, strm') => ((), span, strm')
3524 +fun matchSTARTTITLE strm = (case (lex(strm))
3525 + of (Tok.STARTTITLE(x), span, strm') => (x, span, strm')
3528 +fun matchENDTITLE strm = (case (lex(strm))
3529 + of (Tok.ENDTITLE, span, strm') => ((), span, strm')
3532 +fun matchSTARTTR strm = (case (lex(strm))
3533 + of (Tok.STARTTR(x), span, strm') => (x, span, strm')
3536 +fun matchENDTR strm = (case (lex(strm))
3537 + of (Tok.ENDTR, span, strm') => ((), span, strm')
3540 +fun matchSTARTTT strm = (case (lex(strm))
3541 + of (Tok.STARTTT(x), span, strm') => (x, span, strm')
3544 +fun matchENDTT strm = (case (lex(strm))
3545 + of (Tok.ENDTT, span, strm') => ((), span, strm')
3548 +fun matchSTARTU strm = (case (lex(strm))
3549 + of (Tok.STARTU(x), span, strm') => (x, span, strm')
3552 +fun matchENDU strm = (case (lex(strm))
3553 + of (Tok.ENDU, span, strm') => ((), span, strm')
3556 +fun matchSTARTUL strm = (case (lex(strm))
3557 + of (Tok.STARTUL(x), span, strm') => (x, span, strm')
3560 +fun matchENDUL strm = (case (lex(strm))
3561 + of (Tok.ENDUL, span, strm') => ((), span, strm')
3564 +fun matchSTARTVAR strm = (case (lex(strm))
3565 + of (Tok.STARTVAR(x), span, strm') => (x, span, strm')
3568 +fun matchENDVAR strm = (case (lex(strm))
3569 + of (Tok.ENDVAR, span, strm') => ((), span, strm')
3572 +fun matchEOF strm = (case (lex(strm))
3573 + of (Tok.EOF, span, strm') => ((), span, strm')
3577 val (document_NT, body_NT, flow_NT, block_NT, inline_NT, cdata_opt_NT) =
3579 diff --git a/HTML4/pp-init.sml b/HTML4/pp-init.sml
3580 new file mode 100644
3581 index 0000000..ca97b62
3583 +++ b/HTML4/pp-init.sml
3587 + * COPYRIGHT (c) 2003 The SML/NJ Fellowship
3589 + * An implementation of SML/NJ's PP interface.
3590 + * - This is an (almost) literal copy of the original code in
3591 + * smlnj-lib/PP/examples/old-pp.sml
3595 +signature PRETTYPRINT =
3598 + val with_pp : device -> (stream -> unit) -> unit
3599 + val pp_to_string : int -> (stream -> 'a -> unit) -> 'a -> string
3602 +structure PrettyPrint : PRETTYPRINT =
3605 + type ppconsumer = {
3606 + consumer : string -> unit,
3608 + flush : unit -> unit
3613 + type device = ppconsumer
3615 + fun sameStyle _ = true
3616 + fun pushStyle _ = ()
3617 + fun popStyle _ = ()
3618 + fun defaultStyle _ = ()
3619 + fun depth _ = NONE
3620 + fun lineWidth {consumer, linewidth, flush} = SOME linewidth
3621 + fun textWidth _ = NONE
3622 + fun space ({consumer, linewidth, flush}, n) =
3623 + consumer (StringCvt.padLeft #" " n "")
3624 + fun newline {consumer, linewidth, flush} = consumer "\n"
3625 + fun string ({consumer, linewidth, flush}, s) = consumer s
3626 + fun char ({consumer, linewidth, flush}, c) = consumer(str c)
3627 + fun flush {consumer, linewidth, flush} = flush()
3630 + structure PP = PPStreamFn
3631 + (structure Token = StringToken
3632 + structure Device = Dev)
3636 + fun with_pp device (f: PP.stream -> unit) =
3637 + let val ppstrm = PP.openStream device
3639 + PP.closeStream ppstrm
3642 + fun pp_to_string wid ppFn obj =
3643 + let val l = ref ([] : string list)
3644 + fun attach s = l := s :: !l
3645 + val device = {consumer = attach, linewidth = wid, flush = fn()=>()}
3647 + (fn ppStrm => ppFn ppStrm obj);
3648 + String.concat(List.rev(!l))
3651 +end (* structure PrettyPrint *)
3652 diff --git a/HashCons/hash-cons-lib.mlb b/HashCons/hash-cons-lib.mlb
3653 new file mode 100644
3654 index 0000000..d7d2a24
3656 +++ b/HashCons/hash-cons-lib.mlb
3660 + "nonexhaustiveBind warn" "nonexhaustiveMatch warn"
3661 + "redundantBind warn" "redundantMatch warn"
3662 + "sequenceNonUnit ignore"
3663 + "warnUnused false" "forceUsed"
3669 + (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
3673 + (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
3677 + $(SML_LIB)/basis/pervasive.mlb
3681 + structure gs_0 = PrimeSizes
3686 + structure gs_1 = Array
3691 + structure gs_2 = Word
3696 + structure gs_3 = List
3701 + signature gs_4 = HASH_CONS
3704 + structure Array = gs_1
3705 + signature HASH_CONS = gs_4
3706 + structure List = gs_3
3707 + structure PrimeSizes = gs_0
3708 + structure Word = gs_2
3711 + structure gs_5 = HashCons
3714 + structure HashCons = gs_5
3715 + hash-cons-set-sig.sml
3717 + signature gs_6 = HASH_CONS_SET
3720 + structure HashCons = gs_5
3721 + hash-cons-map-sig.sml
3723 + signature gs_7 = HASH_CONS_MAP
3728 + structure gs_8 = WordRedBlackMap
3731 + signature HASH_CONS_SET = gs_6
3732 + structure HashCons = gs_5
3733 + structure List = gs_3
3734 + structure WordRedBlackMap = gs_8
3737 + structure gs_9 = HashConsSet
3742 + structure gs_10 = Option
3745 + signature HASH_CONS_MAP = gs_7
3746 + structure HashCons = gs_5
3747 + structure Option = gs_10
3748 + structure WordRedBlackMap = gs_8
3751 + structure gs_11 = HashConsMap
3756 + structure gs_12 = HashString
3761 + signature gs_13 = HASH_KEY
3764 + signature HASH_KEY = gs_13
3765 + structure HashCons = gs_5
3766 + hash-cons-ground-fn.sml
3768 + functor gs_14 = HashConsGroundFn
3771 + functor HashConsGroundFn = gs_14
3772 + structure HashString = gs_12
3773 + hash-cons-string.sml
3775 + structure gs_15 = HashConsString
3780 + structure gs_16 = Atom
3783 + structure Atom = gs_16
3784 + functor HashConsGroundFn = gs_14
3785 + hash-cons-atom.sml
3787 + structure gs_17 = HashConsAtom
3790 + signature HASH_CONS = gs_4
3791 + signature HASH_CONS_MAP = gs_7
3792 + signature HASH_CONS_SET = gs_6
3793 + structure HashCons = gs_5
3794 + structure HashConsAtom = gs_17
3795 + functor HashConsGroundFn = gs_14
3796 + structure HashConsMap = gs_11
3797 + structure HashConsSet = gs_9
3798 + structure HashConsString = gs_15
3803 diff --git a/INet/inet-lib.mlb b/INet/inet-lib.mlb
3804 new file mode 100644
3805 index 0000000..8e91bef
3807 +++ b/INet/inet-lib.mlb
3811 + "nonexhaustiveBind warn" "nonexhaustiveMatch warn"
3812 + "redundantBind warn" "redundantMatch warn"
3813 + "sequenceNonUnit ignore"
3814 + "warnUnused false" "forceUsed"
3820 + (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
3824 + (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
3828 + $(SML_LIB)/basis/pervasive.mlb
3832 + structure gs_0 = StringCvt
3837 + structure gs_1 = Word8Array
3842 + structure gs_2 = Word8Vector
3847 + structure gs_3 = NetHostDB
3852 + structure gs_4 = Socket
3857 + structure gs_5 = INetSock
3860 + structure INetSock = gs_5
3861 + structure NetHostDB = gs_3
3862 + structure Socket = gs_4
3863 + structure StringCvt = gs_0
3864 + structure Word8Array = gs_1
3865 + structure Word8Vector = gs_2
3868 + signature gs_6 = SOCK_UTIL
3873 + structure gs_7 = UnixSock
3878 + structure gs_8 = ParserComb
3883 + structure gs_9 = Char
3888 + structure gs_10 = Word8VectorSlice
3893 + structure gs_11 = Word8ArraySlice
3898 + structure gs_12 = NetServDB
3903 + structure gs_13 = Byte
3908 + structure gs_14 = Int
3913 + structure gs_15 = OS
3916 + structure Byte = gs_13
3917 + structure Char = gs_9
3918 + structure INetSock = gs_5
3919 + structure Int = gs_14
3920 + structure NetHostDB = gs_3
3921 + structure NetServDB = gs_12
3922 + structure OS = gs_15
3923 + structure ParserComb = gs_8
3924 + signature SOCK_UTIL = gs_6
3925 + structure Socket = gs_4
3926 + structure StringCvt = gs_0
3927 + structure Word8Array = gs_1
3928 + structure Word8ArraySlice = gs_11
3929 + structure Word8Vector = gs_2
3930 + structure Word8VectorSlice = gs_10
3933 + structure gs_16 = SockUtil
3936 + signature SOCK_UTIL = gs_6
3937 + structure SockUtil = gs_16
3938 + structure Socket = gs_4
3939 + structure UnixSock = gs_7
3940 + unix-sock-util.sml
3942 + signature gs_17 = UNIX_SOCK_UTIL
3943 + structure gs_18 = UnixSockUtil
3946 + signature SOCK_UTIL = gs_6
3947 + structure SockUtil = gs_16
3948 + signature UNIX_SOCK_UTIL = gs_17
3949 + structure UnixSockUtil = gs_18
3954 diff --git a/JSON/json-lib.mlb b/JSON/json-lib.mlb
3955 index ff960d3..cda206f 100644
3956 --- a/JSON/json-lib.mlb
3957 +++ b/JSON/json-lib.mlb
3961 - * COPYRIGHT (c) 2008 The Fellowship of SML/NJ (http://www.smlnj.org)
3962 - * All rights reserved.
3964 - * An MLB file for the JSON library, so that it can be used by MLton programs.
3967 - * This is not complete, since MLton does not have the ml-lpt-lib yet.
3972 - $(SML_LIB)/basis/basis.mlb
3973 - $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
3974 - $(SML_LIB)/mllpt-lib/ml-lpt-lib.mlb
3977 - "nonexhaustiveMatch warn" "redundantMatch warn"
3978 - "sequenceNonUnit ignore"
3979 - "warnUnused false" "forceUsed"
3985 - json-stream-parser.sml
3987 - json-stream-printer.sml
3994 + "nonexhaustiveBind ignore" "nonexhaustiveMatch warn"
3995 + "redundantBind warn" "redundantMatch warn"
3996 + "sequenceNonUnit ignore"
3997 + "warnUnused false" "forceUsed"
4000 -(* DOM-style API (tree based) *)
4002 - structure JSONParser
4003 - structure JSONPrinter
4004 - structure JSONUtil
4006 -(* SAX-style API (event based) *)
4007 - structure JSONStreamParser
4008 - structure JSONStreamPrinter
4012 + (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
4016 + (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
4020 + (* $/ml-lpt-lib.cm ====> *) $(SML_LIB)/mllpt-lib/mllpt-lib.mlb
4024 + $(SML_LIB)/basis/pervasive.mlb
4028 + structure gs_0 = IntInf
4033 + structure gs_1 = AntlrStreamPos
4038 + structure gs_2 = TextIO
4043 + structure gs_3 = String
4048 + structure gs_4 = UTF8
4053 + structure gs_5 = Real
4058 + structure gs_6 = List
4061 + structure IntInf = gs_0
4062 + structure List = gs_6
4063 + structure Real = gs_5
4064 + structure String = gs_3
4065 + structure UTF8 = gs_4
4068 + structure gs_7 = JSONTokens
4073 + structure gs_8 = StringCvt
4078 + structure gs_9 = LargeReal
4083 + structure gs_10 = Substring
4088 + structure gs_11 = Vector
4093 + structure gs_12 = ULexBuffer
4098 + structure gs_13 = Word
4101 + structure AntlrStreamPos = gs_1
4102 + structure IntInf = gs_0
4103 + structure JSONTokens = gs_7
4104 + structure LargeReal = gs_9
4105 + structure List = gs_6
4106 + structure String = gs_3
4107 + structure StringCvt = gs_8
4108 + structure Substring = gs_10
4109 + structure TextIO = gs_2
4110 + structure ULexBuffer = gs_12
4111 + structure UTF8 = gs_4
4112 + structure Vector = gs_11
4113 + structure Word = gs_13
4116 + structure gs_14 = JSONLexer
4119 + structure AntlrStreamPos = gs_1
4120 + structure IntInf = gs_0
4121 + structure JSONLexer = gs_14
4122 + structure JSONTokens = gs_7
4123 + structure TextIO = gs_2
4124 + json-stream-parser.sml
4126 + structure gs_15 = JSONStreamParser
4129 + structure IntInf = gs_0
4132 + structure gs_16 = JSON
4135 + structure AntlrStreamPos = gs_1
4136 + structure JSON = gs_16
4137 + structure JSONLexer = gs_14
4138 + structure JSONTokens = gs_7
4139 + structure List = gs_6
4140 + structure TextIO = gs_2
4143 + structure gs_17 = JSONParser
4148 + structure gs_18 = General
4153 + structure gs_19 = Int
4156 + structure General = gs_18
4157 + structure Int = gs_19
4158 + structure IntInf = gs_0
4159 + structure JSON = gs_16
4160 + structure List = gs_6
4161 + structure Real = gs_5
4162 + structure String = gs_3
4163 + structure Vector = gs_11
4166 + structure gs_20 = JSONUtil
4171 + structure gs_21 = Format
4174 + structure Format = gs_21
4175 + structure IntInf = gs_0
4176 + structure List = gs_6
4177 + structure String = gs_3
4178 + structure TextIO = gs_2
4179 + structure UTF8 = gs_4
4180 + json-stream-printer.sml
4182 + structure gs_22 = JSONStreamPrinter
4185 + structure JSON = gs_16
4186 + structure JSONStreamPrinter = gs_22
4187 + structure List = gs_6
4188 + structure TextIO = gs_2
4191 + structure gs_23 = JSONPrinter
4194 + structure JSON = gs_16
4195 + structure JSONParser = gs_17
4196 + structure JSONPrinter = gs_23
4197 + structure JSONStreamParser = gs_15
4198 + structure JSONStreamPrinter = gs_22
4199 + structure JSONUtil = gs_20
4204 diff --git a/JSON/json.lex.sml b/JSON/json.lex.sml
4205 index 87e5f17..d488353 100644
4206 --- a/JSON/json.lex.sml
4207 +++ b/JSON/json.lex.sml
4208 @@ -2,6 +2,8 @@ structure JSONLexer = struct
4210 datatype yystart_state =
4214 structure UserDeclarations =
4217 @@ -23,10 +25,8 @@ S | INITIAL
4219 fun finishString () = (T.STRING(String.concat(List.rev(!sbuf))) before sbuf := [])
4227 | yyMATCH of ULexBuffer.stream * action * yymatch
4228 @@ -70,7 +70,7 @@ Vector.fromList []
4229 (* start position of token -- can be updated via skip() *)
4230 val yystartPos = ref (yygetPos())
4231 (* get one char of input *)
4232 - fun yygetc strm = (case UTF8.getu ULexBuffer.getc strm
4233 + fun yygetc strm = (case ULexBuffer.getu strm
4234 of (SOME (0w10, s')) =>
4235 (AntlrStreamPos.markNewLine yysm (ULexBuffer.getpos strm);
4237 @@ -104,7 +104,7 @@ Vector.fromList []
4238 (fn (~1, _, oldMatches) => yystuck oldMatches
4239 | (curState, strm, oldMatches) => let
4240 val (transitions, finals') = Vector.sub (yytable, curState)
4241 - val finals = map (fn i => Vector.sub (actTable, i)) finals'
4242 + val finals = List.map (fn i => Vector.sub (actTable, i)) finals'
4244 yystuck (yyactsToMatches (strm, finals, oldMatches))
4245 fun find (c, []) = NONE
4246 diff --git a/PP/pp-lib.mlb b/PP/pp-lib.mlb
4247 new file mode 100644
4248 index 0000000..6619100
4254 + "nonexhaustiveBind warn" "nonexhaustiveMatch warn"
4255 + "redundantBind warn" "redundantMatch warn"
4256 + "sequenceNonUnit ignore"
4257 + "warnUnused false" "forceUsed"
4263 + (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
4267 + (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
4271 + (* $/html-lib.cm ====> *) $(SML_LIB)/smlnj-lib/HTML/html-lib.mlb
4275 + $(SML_LIB)/basis/pervasive.mlb
4279 + structure gs_0 = TextIO
4282 + src/pp-stream-sig.sml
4284 + signature gs_1 = PP_STREAM
4287 + signature PP_STREAM = gs_1
4288 + structure TextIO = gs_0
4289 + src/pp-debug-fn.sml
4291 + functor gs_2 = PPDebugFn
4294 + src/pp-device-sig.sml
4296 + signature gs_3 = PP_DEVICE
4301 + structure gs_4 = StringCvt
4304 + signature PP_DEVICE = gs_3
4305 + structure StringCvt = gs_4
4306 + structure TextIO = gs_0
4307 + devices/simple-textio-dev.sml
4309 + structure gs_5 = SimpleTextIODev
4314 + structure gs_6 = Format
4319 + structure gs_7 = Queue
4324 + structure gs_8 = ListFormat
4329 + structure gs_9 = String
4334 + structure gs_10 = Option
4339 + structure gs_11 = Int
4342 + src/pp-token-sig.sml
4344 + signature gs_12 = PP_TOKEN
4347 + structure Format = gs_6
4348 + structure Int = gs_11
4349 + structure ListFormat = gs_8
4350 + structure Option = gs_10
4351 + signature PP_DEVICE = gs_3
4352 + signature PP_STREAM = gs_1
4353 + signature PP_TOKEN = gs_12
4354 + structure Queue = gs_7
4355 + structure String = gs_9
4356 + structure TextIO = gs_0
4357 + src/pp-stream-fn.sml
4359 + functor gs_13 = PPStreamFn
4362 + signature PP_STREAM = gs_1
4363 + src/pp-desc-sig.sml
4365 + signature gs_14 = PP_DESC
4368 + signature PP_DESC = gs_14
4369 + signature PP_STREAM = gs_1
4370 + src/pp-desc-fn.sml
4372 + functor gs_15 = PPDescFn
4375 + signature PP_TOKEN = gs_12
4376 + structure String = gs_9
4377 + devices/string-token.sml
4379 + structure gs_16 = StringToken
4382 + functor PPStreamFn = gs_13
4383 + signature PP_STREAM = gs_1
4384 + structure SimpleTextIODev = gs_5
4385 + structure StringToken = gs_16
4386 + structure TextIO = gs_0
4387 + devices/textio-pp.sml
4389 + structure gs_17 = TextIOPP
4394 + structure gs_18 = ANSITerm
4399 + structure gs_19 = TextPrimIO
4404 + structure gs_20 = OS
4407 + structure ANSITerm = gs_18
4408 + structure OS = gs_20
4409 + signature PP_DEVICE = gs_3
4410 + structure StringCvt = gs_4
4411 + structure TextIO = gs_0
4412 + structure TextPrimIO = gs_19
4413 + devices/ansi-term-dev.sml
4415 + structure gs_21 = ANSITermDev
4420 + structure gs_22 = List
4425 + structure gs_23 = HTML
4428 + structure HTML = gs_23
4429 + structure List = gs_22
4430 + signature PP_DEVICE = gs_3
4431 + structure String = gs_9
4432 + devices/html-dev.sml
4434 + structure gs_24 = HTMLDev
4437 + structure ANSITermDev = gs_21
4438 + functor PPStreamFn = gs_13
4439 + signature PP_STREAM = gs_1
4440 + signature PP_TOKEN = gs_12
4441 + structure String = gs_9
4442 + structure TextIO = gs_0
4443 + devices/ansi-term-pp.sml
4445 + structure gs_25 = ANSITermPP
4448 + structure ANSITermDev = gs_21
4449 + structure ANSITermPP = gs_25
4450 + structure HTMLDev = gs_24
4451 + functor PPDebugFn = gs_2
4452 + functor PPDescFn = gs_15
4453 + functor PPStreamFn = gs_13
4454 + signature PP_DESC = gs_14
4455 + signature PP_DEVICE = gs_3
4456 + signature PP_STREAM = gs_1
4457 + signature PP_TOKEN = gs_12
4458 + structure SimpleTextIODev = gs_5
4459 + structure StringToken = gs_16
4460 + structure TextIOPP = gs_17
4465 diff --git a/README.mlton b/README.mlton
4466 new file mode 100644
4467 index 0000000..96eeebc
4471 +The following changes were made to the SML/NJ Library, in addition to
4472 +deriving the `.mlb` files from the `.cm` files:
4474 +* `HTML4/pp-init.sml` (added): Implements `structure PrettyPrint` using the SML/NJ PP Library. This implementation is taken from the SML/NJ compiler source, since the SML/NJ HTML4 Library used the `structure PrettyPrint` provided by the SML/NJ compiler itself.
4475 +* `Util/base64.sml` (modified): Rewrote use of `Unsafe.CharVector.create` and `Unsafe.CharVector.update`; MLton assumes that vectors are immutable.
4476 +* `Util/engine.mlton.sml` (added, not exported): Implements `structure Engine`, providing time-limited, resumable computations using <:MLtonThread:>, <:MLtonSignal:>, and <:MLtonItimer:>.
4477 +* `Util/graph-scc-fn.sml` (modified): Rewrote use of `where` structure specification.
4478 +* `Util/redblack-map-fn.sml` (modified): Rewrote use of `where` structure specification.
4479 +* `Util/redblack-set-fn.sml` (modified): Rewrote use of `where` structure specification.
4480 +* `Util/time-limit.mlb` (added): Exports `structure TimeLimit`, which is _not_ exported by `smlnj-lib.mlb`. Since MLton is very conservative in the presence of threads and signals, program performance may be adversely affected by unnecessarily including `structure TimeLimit`.
4481 +* `Util/time-limit.mlton.sml` (added): Implements `structure TimeLimit` using `structure Engine`. The SML/NJ implementation of `structure TimeLimit` uses SML/NJ's first-class continuations, signals, and interval timer.
4482 diff --git a/Reactive/reactive-lib.mlb b/Reactive/reactive-lib.mlb
4483 new file mode 100644
4484 index 0000000..ceb3bff
4486 +++ b/Reactive/reactive-lib.mlb
4490 + "nonexhaustiveBind warn" "nonexhaustiveMatch warn"
4491 + "redundantBind warn" "redundantMatch warn"
4492 + "sequenceNonUnit ignore"
4493 + "warnUnused false" "forceUsed"
4499 + (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
4503 + (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
4507 + $(SML_LIB)/basis/pervasive.mlb
4511 + structure gs_0 = Atom
4514 + structure Atom = gs_0
4517 + signature gs_1 = REACTIVE
4522 + structure gs_2 = AtomBinaryMap
4527 + structure gs_3 = List
4530 + structure Atom = gs_0
4533 + structure gs_4 = Instruction
4536 + structure Atom = gs_0
4537 + structure Instruction = gs_4
4538 + structure List = gs_3
4541 + structure gs_5 = Machine
4544 + structure AtomBinaryMap = gs_2
4545 + structure Instruction = gs_4
4546 + structure List = gs_3
4547 + structure Machine = gs_5
4548 + signature REACTIVE = gs_1
4551 + structure gs_6 = Reactive
4554 + signature REACTIVE = gs_1
4555 + structure Reactive = gs_6
4560 diff --git a/RegExp/regexp-lib.mlb b/RegExp/regexp-lib.mlb
4561 new file mode 100644
4562 index 0000000..3c701d6
4564 +++ b/RegExp/regexp-lib.mlb
4568 + "nonexhaustiveBind ignore" "nonexhaustiveMatch ignore"
4569 + "redundantBind warn" "redundantMatch warn"
4570 + "sequenceNonUnit ignore"
4571 + "warnUnused false" "forceUsed"
4577 + (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
4581 + (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
4585 + $(SML_LIB)/basis/pervasive.mlb
4589 + structure gs_0 = StringCvt
4594 + structure gs_1 = List
4597 + structure List = gs_1
4598 + Glue/match-tree.sml
4600 + signature gs_2 = MATCH_TREE
4601 + structure gs_3 = MatchTree
4606 + functor gs_4 = ListSetFn
4611 + structure gs_5 = Char
4616 + signature gs_6 = ORD_SET
4619 + signature ORD_SET = gs_6
4620 + FrontEnd/syntax-sig.sml
4622 + signature gs_7 = REGEXP_SYNTAX
4625 + structure Char = gs_5
4626 + structure List = gs_1
4627 + functor ListSetFn = gs_4
4628 + signature REGEXP_SYNTAX = gs_7
4629 + FrontEnd/syntax.sml
4631 + structure gs_8 = RegExpSyntax
4634 + signature MATCH_TREE = gs_2
4635 + structure MatchTree = gs_3
4636 + structure RegExpSyntax = gs_8
4637 + structure StringCvt = gs_0
4638 + BackEnd/engine-sig.sml
4640 + signature gs_9 = REGEXP_ENGINE
4645 + structure gs_10 = Array
4650 + structure gs_11 = Vector
4655 + structure gs_12 = Int
4658 + structure Array = gs_10
4659 + structure Char = gs_5
4660 + structure Int = gs_12
4661 + structure List = gs_1
4662 + signature MATCH_TREE = gs_2
4663 + structure MatchTree = gs_3
4664 + signature REGEXP_ENGINE = gs_9
4665 + structure RegExpSyntax = gs_8
4666 + structure StringCvt = gs_0
4667 + structure Vector = gs_11
4668 + BackEnd/thompson-engine.sml
4670 + structure gs_13 = ThompsonEngine
4675 + functor gs_14 = ListMapFn
4680 + structure gs_15 = Array2
4685 + structure gs_16 = TextIO
4690 + structure gs_17 = ListPair
4693 + structure Array = gs_10
4694 + structure Array2 = gs_15
4695 + structure Char = gs_5
4696 + structure Int = gs_12
4697 + structure List = gs_1
4698 + functor ListMapFn = gs_14
4699 + structure ListPair = gs_17
4700 + functor ListSetFn = gs_4
4701 + signature ORD_SET = gs_6
4702 + structure RegExpSyntax = gs_8
4703 + structure TextIO = gs_16
4706 + signature gs_18 = DFA
4707 + structure gs_19 = Dfa
4708 + signature gs_20 = NFA
4709 + structure gs_21 = Nfa
4712 + signature DFA = gs_18
4713 + structure Dfa = gs_19
4714 + signature MATCH_TREE = gs_2
4715 + structure MatchTree = gs_3
4716 + signature NFA = gs_20
4717 + structure Nfa = gs_21
4718 + signature REGEXP_ENGINE = gs_9
4719 + structure RegExpSyntax = gs_8
4720 + structure Vector = gs_11
4721 + BackEnd/dfa-engine.sml
4723 + structure gs_22 = DfaEngine
4726 + signature MATCH_TREE = gs_2
4727 + structure MatchTree = gs_3
4728 + structure StringCvt = gs_0
4729 + Glue/regexp-sig.sml
4731 + signature gs_23 = REGEXP
4734 + structure RegExpSyntax = gs_8
4735 + structure StringCvt = gs_0
4736 + FrontEnd/parser-sig.sml
4738 + signature gs_24 = REGEXP_PARSER
4741 + signature MATCH_TREE = gs_2
4742 + structure MatchTree = gs_3
4743 + signature REGEXP = gs_23
4744 + signature REGEXP_ENGINE = gs_9
4745 + signature REGEXP_PARSER = gs_24
4746 + structure RegExpSyntax = gs_8
4747 + structure StringCvt = gs_0
4748 + Glue/regexp-fn.sml
4750 + functor gs_25 = RegExpFn
4755 + structure gs_26 = Word8
4758 + structure Char = gs_5
4759 + structure Int = gs_12
4760 + structure List = gs_1
4761 + signature REGEXP_PARSER = gs_24
4762 + structure RegExpSyntax = gs_8
4763 + structure StringCvt = gs_0
4764 + structure Word8 = gs_26
4765 + FrontEnd/awk-syntax.sml
4767 + structure gs_27 = AwkSyntax
4772 + structure gs_28 = Option
4775 + structure List = gs_1
4776 + signature MATCH_TREE = gs_2
4777 + structure MatchTree = gs_3
4778 + structure Option = gs_28
4779 + signature REGEXP_ENGINE = gs_9
4780 + structure RegExpSyntax = gs_8
4781 + BackEnd/bt-engine.sml
4783 + structure gs_29 = BackTrackEngine
4786 + structure AwkSyntax = gs_27
4787 + structure BackTrackEngine = gs_29
4788 + structure DfaEngine = gs_22
4789 + signature MATCH_TREE = gs_2
4790 + structure MatchTree = gs_3
4791 + signature REGEXP = gs_23
4792 + signature REGEXP_ENGINE = gs_9
4793 + signature REGEXP_PARSER = gs_24
4794 + signature REGEXP_SYNTAX = gs_7
4795 + functor RegExpFn = gs_25
4796 + structure RegExpSyntax = gs_8
4797 + structure ThompsonEngine = gs_13
4802 diff --git a/SExp/sexp-lib.mlb b/SExp/sexp-lib.mlb
4803 index d7287e5..47e2c8c 100644
4804 --- a/SExp/sexp-lib.mlb
4805 +++ b/SExp/sexp-lib.mlb
4809 - * COPYRIGHT (c) 2011 The Fellowship of SML/NJ (http://www.smlnj.org)
4810 - * All rights reserved.
4812 - * Author: Damon Wang (with modifications by John Reppy)
4814 - * An MLB file for the JSON library, so that it can be used by MLton programs.
4817 - * This is not complete, since MLton does not have the ml-lpt-lib yet.
4822 - $(SML_LIB)/basis/basis.mlb
4823 - $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
4824 -(* I don't know what the path to this library will be
4825 - ??/ml-lpt-lib/ml-lpt-lib.mlb
4829 - "nonexhaustiveMatch warn" "redundantMatch warn"
4830 - "sequenceNonUnit ignore"
4831 - "warnUnused false" "forceUsed"
4837 -(* sexp-stream-parser.sml *)
4839 -(* sexp-stream-printer.sml *)
4845 + "nonexhaustiveBind ignore" "nonexhaustiveMatch warn"
4846 + "redundantBind warn" "redundantMatch warn"
4847 + "sequenceNonUnit ignore"
4848 + "warnUnused false" "forceUsed"
4851 -(* DOM-style API (tree based) *)
4853 - structure SExpParser
4854 - structure SExpPrinter
4856 -(* SAX-style API (event based) *)
4858 - structure SExpStreamParser
4859 - structure SExpStreamPrinter
4864 + (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
4868 + (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
4872 + (* $/ml-lpt-lib.cm ====> *) $(SML_LIB)/mllpt-lib/mllpt-lib.mlb
4876 + $(SML_LIB)/basis/pervasive.mlb
4880 + structure gs_0 = Format
4885 + structure gs_1 = TextIO
4890 + structure gs_2 = String
4895 + structure gs_3 = List
4900 + structure gs_4 = Atom
4905 + structure gs_5 = IntInf
4910 + structure gs_6 = ListPair
4915 + structure gs_7 = Real
4918 + structure Atom = gs_4
4919 + structure IntInf = gs_5
4920 + structure ListPair = gs_6
4921 + structure Real = gs_7
4924 + structure gs_8 = SExp
4927 + structure Atom = gs_4
4928 + structure Format = gs_0
4929 + structure List = gs_3
4930 + structure SExp = gs_8
4931 + structure String = gs_2
4932 + structure TextIO = gs_1
4935 + structure gs_9 = SExpPrinter
4940 + structure gs_10 = AntlrStreamPos
4945 + structure gs_11 = UTF8
4948 + structure IntInf = gs_5
4949 + structure List = gs_3
4950 + structure Real = gs_7
4951 + structure String = gs_2
4952 + structure UTF8 = gs_11
4955 + structure gs_12 = SExpTokens
4960 + structure gs_13 = StringCvt
4965 + structure gs_14 = LargeReal
4970 + structure gs_15 = Substring
4975 + structure gs_16 = Vector
4980 + structure gs_17 = ULexBuffer
4985 + structure gs_18 = Word
4988 + structure AntlrStreamPos = gs_10
4989 + structure IntInf = gs_5
4990 + structure LargeReal = gs_14
4991 + structure List = gs_3
4992 + structure SExpTokens = gs_12
4993 + structure String = gs_2
4994 + structure StringCvt = gs_13
4995 + structure Substring = gs_15
4996 + structure TextIO = gs_1
4997 + structure ULexBuffer = gs_17
4998 + structure UTF8 = gs_11
4999 + structure Vector = gs_16
5000 + structure Word = gs_18
5003 + structure gs_19 = SExpLexer
5006 + structure AntlrStreamPos = gs_10
5007 + structure Atom = gs_4
5008 + structure List = gs_3
5009 + structure SExp = gs_8
5010 + structure SExpLexer = gs_19
5011 + structure SExpTokens = gs_12
5012 + structure TextIO = gs_1
5015 + structure gs_20 = SExpParser
5018 + structure SExp = gs_8
5019 + structure SExpParser = gs_20
5020 + structure SExpPrinter = gs_9
5025 diff --git a/SExp/sexp.lex.sml b/SExp/sexp.lex.sml
5026 index 9a5cb8e..7c0b9a6 100644
5027 --- a/SExp/sexp.lex.sml
5028 +++ b/SExp/sexp.lex.sml
5029 @@ -2,6 +2,8 @@ structure SExpLexer = struct
5031 datatype yystart_state =
5035 structure UserDeclarations =
5038 @@ -23,10 +25,8 @@ S | INITIAL
5040 fun finishString () = (T.STRING(String.concat(List.rev(!sbuf))) before sbuf := [])
5048 | yyMATCH of ULexBuffer.stream * action * yymatch
5049 @@ -104,7 +104,7 @@ Vector.fromList []
5050 (fn (~1, _, oldMatches) => yystuck oldMatches
5051 | (curState, strm, oldMatches) => let
5052 val (transitions, finals') = Vector.sub (yytable, curState)
5053 - val finals = map (fn i => Vector.sub (actTable, i)) finals'
5054 + val finals = List.map (fn i => Vector.sub (actTable, i)) finals'
5056 yystuck (yyactsToMatches (strm, finals, oldMatches))
5057 fun find (c, []) = NONE
5058 diff --git a/Unix/unix-lib.mlb b/Unix/unix-lib.mlb
5059 new file mode 100644
5060 index 0000000..1481806
5062 +++ b/Unix/unix-lib.mlb
5066 + "nonexhaustiveBind warn" "nonexhaustiveMatch warn"
5067 + "redundantBind warn" "redundantMatch warn"
5068 + "sequenceNonUnit ignore"
5069 + "warnUnused false" "forceUsed"
5075 + (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
5079 + $(SML_LIB)/basis/pervasive.mlb
5083 + structure gs_0 = Substring
5088 + structure gs_1 = Posix
5093 + signature gs_2 = UNIX_ENV
5096 + structure Posix = gs_1
5097 + structure Substring = gs_0
5098 + signature UNIX_ENV = gs_2
5101 + structure gs_3 = UnixEnv
5104 + signature UNIX_ENV = gs_2
5105 + structure UnixEnv = gs_3
5110 diff --git a/Util/base64.sml b/Util/base64.sml
5111 index 2432737..8e989c8 100644
5112 --- a/Util/base64.sml
5113 +++ b/Util/base64.sml
5115 structure Base64 : BASE64 =
5118 + structure CA = CharArray
5119 structure W8 = Word8
5120 structure W8V = Word8Vector
5121 structure W8A = Word8Array
5122 + structure UCA = Unsafe.CharArray
5123 structure UCV = Unsafe.CharVector
5124 structure UW8V = Unsafe.Word8Vector
5126 @@ -59,16 +61,16 @@ structure Base64 : BASE64 =
5128 fun encode64 (vec, start, len) = let
5129 val outLen = 4 * Int.quot(len + 2, 3)
5130 - val outBuf = Unsafe.CharVector.create outLen
5131 + val outBuf = UCA.create outLen
5132 val nTriples = Int.quot(len, 3)
5133 val extra = Int.rem(len, 3)
5134 fun insBuf (i, (c1, c2, c3, c4)) = let
5137 - UCV.update(outBuf, idx, c1);
5138 - UCV.update(outBuf, idx+1, c2);
5139 - UCV.update(outBuf, idx+2, c3);
5140 - UCV.update(outBuf, idx+3, c4)
5141 + UCA.update(outBuf, idx, c1);
5142 + UCA.update(outBuf, idx+1, c2);
5143 + UCA.update(outBuf, idx+2, c3);
5144 + UCA.update(outBuf, idx+3, c4)
5146 fun loop (i, idx) = if (i < nTriples)
5148 @@ -81,7 +83,7 @@ structure Base64 : BASE64 =
5157 diff --git a/Util/engine.mlton.sml b/Util/engine.mlton.sml
5158 new file mode 100644
5159 index 0000000..deb0c42
5161 +++ b/Util/engine.mlton.sml
5163 +(* Copyright (C) 1999-2004 Henry Cejtin, Matthew Fluet, Suresh
5164 + * Jagannathan, and Stephen Weeks.
5166 + * MLton is released under the GNU General Public License (GPL).
5167 + * Please see the file MLton-LICENSE for license information.
5179 + val new: (unit -> 'a) -> 'a t
5180 + val repeat: {thunk: unit -> 'a,
5182 + tries: int} -> 'a option
5183 + val run: 'a t * Time.time -> 'a res
5184 + val timeLimit: Time.time * (unit -> 'a) -> 'a option
5187 +structure Engine: ENGINE =
5192 +datatype 'a t = T of {return: 'a res Thread.t option ref,
5193 + thread: Thread.Runnable.t}
5199 +val which = Itimer.Real
5200 +val signal = Itimer.signal which
5202 +fun done (return): unit =
5204 + ; Itimer.set (which, {value = Time.zeroTime,
5205 + interval = Time.zeroTime})
5206 + ; Signal.setHandler (signal, Signal.Handler.default))
5208 +fun new (f: unit -> 'a): 'a t =
5210 + val return = ref NONE
5215 + val res = Done (f ()) handle e => Raise e
5216 + val ret = valOf (!return)
5217 + val _ = done return
5219 + Thread.switch (fn _ => Thread.prepare (ret, res))
5221 + val thread = Thread.prepare (thread, ())
5223 + T {return = return, thread = thread}
5226 +fun run (T {return, thread}, time: Time.time): 'a res =
5228 + (fn cur: 'a res Thread.t =>
5230 + val _ = return := SOME cur
5231 + fun handler (me: Thread.Runnable.t): Thread.Runnable.t =
5233 + (Thread.prepend (cur, fn () => (done return
5234 + ; TimeOut (T {return = return,
5237 + val _ = Signal.setHandler (signal, Signal.Handler.handler handler)
5238 + val _ = Itimer.set (which, {value = time,
5239 + interval = Time.zeroTime})
5244 +fun timeLimit (t: Time.time, f: unit -> 'a): 'a option =
5245 + case run (new f, t) of
5247 + | Raise e => raise e
5248 + | TimeOut _ => NONE
5250 +fun repeat {thunk, limit, tries} =
5252 + fun loop (n: int) =
5255 + else (case timeLimit (limit, thunk) of
5256 + NONE => loop (n - 1)
5257 + | SOME a => SOME a)
5262 diff --git a/Util/graph-scc-fn.sml b/Util/graph-scc-fn.sml
5263 index 0dc3b32..4ae2d01 100644
5264 --- a/Util/graph-scc-fn.sml
5265 +++ b/Util/graph-scc-fn.sml
5267 * author: Matthias Blume
5270 -functor GraphSCCFn (Nd: ORD_KEY) :> GRAPH_SCC where Nd = Nd =
5271 +functor GraphSCCFn (Nd: ORD_KEY) :> GRAPH_SCC where type Nd.ord_key = Nd.ord_key =
5275 diff --git a/Util/redblack-map-fn.sml b/Util/redblack-map-fn.sml
5276 index 526bdc1..c26cb8f 100644
5277 --- a/Util/redblack-map-fn.sml
5278 +++ b/Util/redblack-map-fn.sml
5280 * will be black and its child will be a red leaf.
5283 -functor RedBlackMapFn (K : ORD_KEY) :> ORD_MAP where Key = K =
5284 +functor RedBlackMapFn (K : ORD_KEY) :> ORD_MAP where type Key.ord_key = K.ord_key =
5288 diff --git a/Util/redblack-set-fn.sml b/Util/redblack-set-fn.sml
5289 index 3a16a82..ebfbb5a 100644
5290 --- a/Util/redblack-set-fn.sml
5291 +++ b/Util/redblack-set-fn.sml
5293 * will be black and its child will be a red leaf.
5296 -functor RedBlackSetFn (K : ORD_KEY) :> ORD_SET where Key = K =
5297 +functor RedBlackSetFn (K : ORD_KEY) :> ORD_SET where type Key.ord_key = K.ord_key =
5301 diff --git a/Util/smlnj-lib.mlb b/Util/smlnj-lib.mlb
5302 new file mode 100644
5303 index 0000000..7194e93
5305 +++ b/Util/smlnj-lib.mlb
5309 + "nonexhaustiveBind ignore" "nonexhaustiveMatch warn"
5310 + "redundantBind ignore" "redundantMatch warn"
5311 + "sequenceNonUnit ignore"
5312 + "warnUnused false" "forceUsed"
5318 + (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb $(SML_LIB)/basis/sml-nj.mlb
5322 + $(SML_LIB)/basis/pervasive.mlb
5326 + structure gs_0 = List
5331 + signature gs_1 = ORD_KEY
5334 + signature ORD_KEY = gs_1
5337 + signature gs_2 = ORD_SET
5342 + structure gs_3 = Int
5347 + signature gs_4 = LIB_BASE
5350 + structure Int = gs_3
5351 + signature LIB_BASE = gs_4
5354 + structure gs_5 = LibBase
5357 + structure LibBase = gs_5
5358 + structure List = gs_0
5359 + signature ORD_KEY = gs_1
5360 + signature ORD_SET = gs_2
5363 + functor gs_6 = ListSetFn
5366 + signature ORD_KEY = gs_1
5369 + signature gs_7 = ORD_MAP
5372 + structure LibBase = gs_5
5373 + structure List = gs_0
5374 + signature ORD_KEY = gs_1
5375 + signature ORD_MAP = gs_7
5378 + functor gs_8 = ListMapFn
5381 + structure Int = gs_3
5382 + structure LibBase = gs_5
5383 + structure List = gs_0
5384 + signature ORD_SET = gs_2
5385 + int-binary-set.sml
5387 + structure gs_9 = IntBinarySet
5390 + structure Int = gs_3
5391 + structure LibBase = gs_5
5392 + signature ORD_MAP = gs_7
5393 + int-binary-map.sml
5395 + structure gs_10 = IntBinaryMap
5400 + structure gs_11 = PrimeSizes
5405 + structure gs_12 = Array
5410 + structure gs_13 = ArraySlice
5415 + structure gs_14 = General
5418 + dynamic-array-sig.sml
5420 + signature gs_15 = DYNAMIC_ARRAY
5423 + structure Array = gs_12
5424 + structure ArraySlice = gs_13
5425 + signature DYNAMIC_ARRAY = gs_15
5426 + structure General = gs_14
5427 + structure Int = gs_3
5430 + structure gs_16 = DynamicArray
5435 + signature gs_17 = IO_UTIL
5440 + signature gs_18 = SPLAY_TREE
5443 + signature SPLAY_TREE = gs_18
5446 + structure gs_19 = SplayTree
5449 + structure LibBase = gs_5
5450 + structure List = gs_0
5451 + signature ORD_KEY = gs_1
5452 + signature ORD_SET = gs_2
5453 + structure SplayTree = gs_19
5456 + functor gs_20 = SplaySetFn
5459 + structure LibBase = gs_5
5460 + signature ORD_KEY = gs_1
5461 + signature ORD_MAP = gs_7
5462 + structure SplayTree = gs_19
5465 + functor gs_21 = SplayMapFn
5470 + structure gs_22 = TextIO
5473 + structure Int = gs_3
5474 + structure List = gs_0
5475 + structure TextIO = gs_22
5478 + structure gs_23 = ANSITerm
5481 + signature IO_UTIL = gs_17
5482 + structure TextIO = gs_22
5485 + structure gs_24 = IOUtil
5490 + signature gs_25 = PROP_LIST
5495 + structure gs_26 = Substring
5500 + structure gs_27 = StringCvt
5505 + structure gs_28 = String
5510 + structure gs_29 = Option
5515 + structure gs_30 = Char
5520 + signature gs_31 = GET_OPT
5523 + structure Char = gs_30
5524 + signature GET_OPT = gs_31
5525 + structure Int = gs_3
5526 + structure List = gs_0
5527 + structure Option = gs_29
5528 + structure String = gs_28
5529 + structure StringCvt = gs_27
5530 + structure Substring = gs_26
5533 + structure gs_32 = GetOpt
5536 + interval-domain-sig.sml
5538 + signature gs_33 = INTERVAL_DOMAIN
5541 + signature INTERVAL_DOMAIN = gs_33
5542 + interval-set-sig.sml
5544 + signature gs_34 = INTERVAL_SET
5547 + structure StringCvt = gs_27
5548 + parser-comb-sig.sml
5550 + signature gs_35 = PARSER_COMB
5555 + structure gs_36 = Word8
5560 + structure gs_37 = CharVector
5565 + structure gs_38 = LargeWord
5570 + structure gs_39 = LargeInt
5575 + structure gs_40 = Word
5580 + structure gs_41 = Real
5585 + structure gs_42 = LargeReal
5590 + signature gs_43 = ATOM
5595 + structure gs_44 = Unsafe
5598 + structure Char = gs_30
5599 + structure Substring = gs_26
5600 + structure Unsafe = gs_44
5601 + structure Word = gs_40
5604 + structure gs_45 = HashString
5607 + signature ATOM = gs_43
5608 + structure Array = gs_12
5609 + structure HashString = gs_45
5610 + structure String = gs_28
5611 + structure Substring = gs_26
5612 + structure Word = gs_40
5615 + structure gs_46 = Atom
5618 + structure Atom = gs_46
5619 + structure Int = gs_3
5620 + structure LargeInt = gs_39
5621 + structure LargeReal = gs_42
5622 + structure LargeWord = gs_38
5623 + structure Real = gs_41
5624 + structure Word = gs_40
5625 + structure Word8 = gs_36
5628 + signature gs_47 = FORMAT
5631 + structure Int = gs_3
5632 + structure String = gs_28
5633 + structure StringCvt = gs_27
5636 + structure gs_48 = RealFormat
5639 + structure Atom = gs_46
5640 + structure Char = gs_30
5641 + structure Int = gs_3
5642 + structure LargeInt = gs_39
5643 + structure LargeReal = gs_42
5644 + structure LargeWord = gs_38
5645 + structure Real = gs_41
5646 + structure StringCvt = gs_27
5647 + structure Substring = gs_26
5648 + structure Word = gs_40
5649 + structure Word8 = gs_36
5652 + structure gs_49 = FmtFields
5655 + structure Atom = gs_46
5656 + structure Char = gs_30
5657 + structure CharVector = gs_37
5658 + signature FORMAT = gs_47
5659 + structure FmtFields = gs_49
5660 + structure Int = gs_3
5661 + structure LargeInt = gs_39
5662 + structure LargeWord = gs_38
5663 + structure Real = gs_41
5664 + structure RealFormat = gs_48
5665 + structure String = gs_28
5666 + structure StringCvt = gs_27
5667 + structure Substring = gs_26
5668 + structure Word = gs_40
5669 + structure Word8 = gs_36
5672 + structure gs_50 = Format
5677 + signature gs_51 = PRIORITY
5682 + signature gs_52 = HASH_KEY
5685 + signature HASH_KEY = gs_52
5686 + mono-hash-table-sig.sml
5688 + signature gs_53 = MONO_HASH_TABLE
5691 + structure Array = gs_12
5692 + structure Word = gs_40
5693 + hash-table-rep.sml
5695 + structure gs_54 = HashTableRep
5698 + structure Array = gs_12
5699 + structure HashTableRep = gs_54
5700 + signature MONO_HASH_TABLE = gs_53
5701 + structure Word = gs_40
5702 + int-hash-table.sml
5704 + structure gs_55 = IntHashTable
5709 + signature gs_56 = MONO_ARRAY
5712 + signature MONO_ARRAY = gs_56
5715 + signature gs_57 = BIT_ARRAY
5718 + structure LibBase = gs_5
5719 + structure List = gs_0
5720 + signature ORD_KEY = gs_1
5721 + signature ORD_SET = gs_2
5722 + redblack-set-fn.sml
5724 + functor gs_58 = RedBlackSetFn
5727 + structure Atom = gs_46
5728 + functor RedBlackSetFn = gs_58
5729 + atom-redblack-set.sml
5731 + structure gs_59 = AtomRedBlackSet
5734 + structure AtomRedBlackSet = gs_59
5737 + structure gs_60 = AtomSet
5740 + structure LibBase = gs_5
5741 + signature ORD_KEY = gs_1
5742 + signature ORD_MAP = gs_7
5743 + redblack-map-fn.sml
5745 + functor gs_61 = RedBlackMapFn
5748 + structure Atom = gs_46
5749 + functor RedBlackMapFn = gs_61
5750 + atom-redblack-map.sml
5752 + structure gs_62 = AtomRedBlackMap
5755 + structure AtomRedBlackMap = gs_62
5758 + structure gs_63 = AtomMap
5763 + structure gs_64 = Word8Array
5768 + structure gs_65 = Word8Vector
5773 + structure gs_66 = CharArray
5778 + structure gs_67 = Word8VectorSlice
5783 + structure gs_68 = Word8ArraySlice
5786 + structure Word8Vector = gs_65
5787 + structure Word8VectorSlice = gs_67
5790 + signature gs_69 = BASE64
5793 + signature BASE64 = gs_69
5794 + structure Char = gs_30
5795 + structure CharArray = gs_66
5796 + structure CharVector = gs_37
5797 + structure Int = gs_3
5798 + structure String = gs_28
5799 + structure Substring = gs_26
5800 + structure Unsafe = gs_44
5801 + structure Word = gs_40
5802 + structure Word8 = gs_36
5803 + structure Word8Array = gs_64
5804 + structure Word8ArraySlice = gs_68
5805 + structure Word8Vector = gs_65
5806 + structure Word8VectorSlice = gs_67
5809 + structure gs_70 = Base64
5812 + structure List = gs_0
5813 + signature PROP_LIST = gs_25
5816 + structure gs_71 = PropList
5821 + structure gs_72 = Vector
5826 + signature gs_73 = CHAR_MAP
5829 + structure Array = gs_12
5830 + signature CHAR_MAP = gs_73
5831 + structure Char = gs_30
5832 + structure String = gs_28
5833 + structure Vector = gs_72
5836 + structure gs_74 = CharMap
5839 + list-xprod-sig.sml
5841 + signature gs_75 = LIST_XPROD
5844 + signature ORD_KEY = gs_1
5847 + signature gs_76 = GRAPH_SCC
5850 + signature GRAPH_SCC = gs_76
5851 + structure List = gs_0
5852 + signature ORD_KEY = gs_1
5853 + functor RedBlackMapFn = gs_61
5856 + functor gs_77 = GraphSCCFn
5859 + structure Array = gs_12
5860 + signature HASH_KEY = gs_52
5861 + structure HashTableRep = gs_54
5862 + signature MONO_HASH_TABLE = gs_53
5863 + structure Word = gs_40
5866 + functor gs_78 = HashTableFn
5869 + structure Atom = gs_46
5870 + functor HashTableFn = gs_78
5873 + structure gs_79 = AtomTable
5876 + structure StringCvt = gs_27
5877 + list-format-sig.sml
5879 + signature gs_80 = LIST_FORMAT
5882 + signature LIST_FORMAT = gs_80
5883 + structure String = gs_28
5884 + structure StringCvt = gs_27
5887 + structure gs_81 = ListFormat
5892 + signature gs_82 = MONO_VECTOR
5895 + signature MONO_VECTOR = gs_82
5896 + bit-vector-sig.sml
5898 + signature gs_83 = BIT_VECTOR
5901 + signature PARSER_COMB = gs_35
5902 + structure StringCvt = gs_27
5903 + structure Substring = gs_26
5906 + structure gs_84 = ParserComb
5909 + signature HASH_KEY = gs_52
5910 + mono-hash2-table-sig.sml
5912 + signature gs_85 = MONO_HASH2_TABLE
5915 + signature INTERVAL_DOMAIN = gs_33
5916 + signature INTERVAL_SET = gs_34
5917 + structure List = gs_0
5918 + interval-set-fn.sml
5920 + functor gs_86 = IntervalSetFn
5923 + structure LibBase = gs_5
5924 + structure List = gs_0
5925 + signature ORD_SET = gs_2
5926 + structure Word = gs_40
5927 + word-redblack-set.sml
5929 + structure gs_87 = WordRedBlackSet
5932 + structure LibBase = gs_5
5933 + signature ORD_MAP = gs_7
5934 + structure Word = gs_40
5935 + word-redblack-map.sml
5937 + structure gs_88 = WordRedBlackMap
5940 + structure Int = gs_3
5941 + structure LibBase = gs_5
5942 + structure List = gs_0
5943 + signature ORD_SET = gs_2
5946 + structure gs_89 = IntListSet
5949 + structure Int = gs_3
5950 + structure LibBase = gs_5
5951 + structure List = gs_0
5952 + signature ORD_MAP = gs_7
5955 + structure gs_90 = IntListMap
5960 + structure gs_91 = OS
5965 + signature gs_92 = PATH_UTIL
5968 + structure OS = gs_91
5969 + signature PATH_UTIL = gs_92
5972 + structure gs_93 = PathUtil
5975 + structure LibBase = gs_5
5976 + structure List = gs_0
5977 + signature ORD_KEY = gs_1
5978 + signature ORD_SET = gs_2
5981 + functor gs_94 = BinarySetFn
5984 + structure LibBase = gs_5
5985 + signature ORD_KEY = gs_1
5986 + signature ORD_MAP = gs_7
5989 + functor gs_95 = BinaryMapFn
5994 + structure gs_96 = Math
5999 + structure gs_97 = PackWord32Big
6004 + structure gs_98 = Word31
6009 + structure gs_99 = Byte
6014 + signature gs_100 = RANDOM
6017 + structure Array = gs_12
6018 + structure Byte = gs_99
6019 + structure LargeWord = gs_38
6020 + structure LibBase = gs_5
6021 + structure PackWord32Big = gs_97
6022 + signature RANDOM = gs_100
6023 + structure Word31 = gs_98
6024 + structure Word8Array = gs_64
6025 + structure Word8Vector = gs_65
6028 + structure gs_101 = Random
6031 + structure Array = gs_12
6032 + structure ArraySlice = gs_13
6033 + structure Random = gs_101
6034 + structure Real = gs_41
6035 + structure Unsafe = gs_44
6036 + structure Word = gs_40
6037 + real-order-stats.sml
6039 + structure gs_102 = RealOrderStats
6042 + structure Array = gs_12
6043 + structure ArraySlice = gs_13
6044 + structure Math = gs_96
6045 + structure RealOrderStats = gs_102
6046 + structure Unsafe = gs_44
6047 + univariate-stats.sml
6049 + structure gs_103 = UnivariateStats
6052 + signature BIT_ARRAY = gs_57
6053 + structure Byte = gs_99
6054 + structure Int = gs_3
6055 + structure LibBase = gs_5
6056 + structure List = gs_0
6057 + structure Unsafe = gs_44
6058 + structure Word = gs_40
6059 + structure Word8 = gs_36
6060 + structure Word8Array = gs_64
6061 + structure Word8Vector = gs_65
6064 + structure gs_104 = BitArray
6067 + structure Array = gs_12
6068 + signature MONO_ARRAY = gs_56
6069 + structure Vector = gs_72
6072 + functor gs_105 = MonoArrayFn
6075 + signature MONO_ARRAY = gs_56
6078 + functor gs_106 = BSearchFn
6081 + mono-dynamic-array-sig.sml
6083 + signature gs_107 = MONO_DYNAMIC_ARRAY
6088 + structure gs_108 = Bool
6091 + structure StringCvt = gs_27
6092 + format-comb-sig.sml
6094 + signature gs_109 = FORMAT_COMB
6097 + structure Bool = gs_108
6098 + structure Char = gs_30
6099 + signature FORMAT_COMB = gs_109
6100 + structure Int = gs_3
6101 + structure List = gs_0
6102 + structure Real = gs_41
6103 + structure String = gs_28
6104 + structure StringCvt = gs_27
6107 + structure gs_110 = FormatComb
6112 + signature gs_111 = QUEUE
6117 + signature gs_112 = FIFO
6120 + signature FIFO = gs_112
6121 + structure List = gs_0
6124 + structure gs_113 = Fifo
6127 + structure Fifo = gs_113
6128 + signature QUEUE = gs_111
6131 + structure gs_114 = Queue
6134 + structure Array = gs_12
6135 + signature HASH_KEY = gs_52
6136 + structure HashTableRep = gs_54
6137 + signature MONO_HASH2_TABLE = gs_85
6138 + structure Word = gs_40
6139 + hash2-table-fn.sml
6141 + functor gs_115 = Hash2TableFn
6144 + structure Array = gs_12
6145 + structure HashTableRep = gs_54
6146 + signature MONO_HASH_TABLE = gs_53
6147 + structure Word = gs_40
6148 + word-hash-table.sml
6150 + structure gs_116 = WordHashTable
6153 + structure Atom = gs_46
6154 + structure AtomTable = gs_79
6155 + structure List = gs_0
6158 + functor gs_117 = KeywordFn
6161 + mono-priorityq-sig.sml
6163 + signature gs_118 = MONO_PRIORITYQ
6166 + structure List = gs_0
6167 + signature MONO_PRIORITYQ = gs_118
6168 + signature PRIORITY = gs_51
6169 + left-priorityq-fn.sml
6171 + functor gs_119 = LeftPriorityQFn
6174 + hash-table-sig.sml
6176 + signature gs_120 = HASH_TABLE
6179 + structure Array = gs_12
6180 + signature HASH_TABLE = gs_120
6181 + structure HashTableRep = gs_54
6182 + structure Word = gs_40
6185 + structure gs_121 = HashTable
6188 + structure Array = gs_12
6189 + signature HASH_KEY = gs_52
6190 + structure List = gs_0
6191 + structure Word = gs_40
6194 + signature gs_122 = HASH_SET
6195 + functor gs_123 = HashSetFn
6198 + structure General = gs_14
6199 + structure Int = gs_3
6200 + signature MONO_ARRAY = gs_56
6201 + signature MONO_DYNAMIC_ARRAY = gs_107
6202 + dynamic-array-fn.sml
6204 + functor gs_124 = DynamicArrayFn
6207 + signature MONO_ARRAY = gs_56
6208 + mono-array-sort-sig.sml
6210 + signature gs_125 = MONO_ARRAY_SORT
6213 + structure Int = gs_3
6214 + structure LibBase = gs_5
6215 + structure List = gs_0
6216 + signature ORD_SET = gs_2
6217 + int-redblack-set.sml
6219 + structure gs_126 = IntRedBlackSet
6222 + structure Int = gs_3
6223 + structure LibBase = gs_5
6224 + signature ORD_MAP = gs_7
6225 + int-redblack-map.sml
6227 + structure gs_127 = IntRedBlackMap
6230 + array-sort-sig.sml
6232 + signature gs_128 = ARRAY_SORT
6235 + signature ARRAY_SORT = gs_128
6236 + structure Array = gs_12
6237 + structure Int = gs_3
6238 + structure Unsafe = gs_44
6241 + structure gs_129 = ArrayQSort
6246 + signature gs_130 = UREF
6249 + signature UREF = gs_130
6252 + structure gs_131 = SimpleURef
6257 + signature gs_132 = LIST_SORT
6260 + signature LIST_SORT = gs_132
6261 + list-mergesort.sml
6263 + structure gs_133 = ListMergeSort
6266 + structure Int = gs_3
6267 + signature MONO_ARRAY = gs_56
6268 + signature MONO_ARRAY_SORT = gs_125
6269 + array-qsort-fn.sml
6271 + functor gs_134 = ArrayQSortFn
6274 + structure Atom = gs_46
6275 + functor BinarySetFn = gs_94
6276 + atom-binary-set.sml
6278 + structure gs_135 = AtomBinarySet
6281 + structure Atom = gs_46
6282 + functor BinaryMapFn = gs_95
6283 + atom-binary-map.sml
6285 + structure gs_136 = AtomBinaryMap
6288 + structure StringCvt = gs_27
6291 + signature gs_137 = UTF8
6294 + structure Char = gs_30
6295 + structure String = gs_28
6296 + structure StringCvt = gs_27
6297 + structure Substring = gs_26
6298 + signature UTF8 = gs_137
6299 + structure Word = gs_40
6302 + structure gs_138 = UTF8
6305 + signature UREF = gs_130
6308 + structure gs_139 = URef
6311 + structure Atom = gs_46
6312 + structure Int = gs_3
6313 + structure LargeInt = gs_39
6314 + structure LargeReal = gs_42
6315 + structure LargeWord = gs_38
6316 + structure Real = gs_41
6317 + structure StringCvt = gs_27
6318 + structure Word = gs_40
6319 + structure Word8 = gs_36
6322 + signature gs_140 = SCAN
6325 + structure Bool = gs_108
6326 + structure Char = gs_30
6327 + structure FmtFields = gs_49
6328 + structure Int = gs_3
6329 + structure LargeInt = gs_39
6330 + structure LargeReal = gs_42
6331 + signature SCAN = gs_140
6332 + structure StringCvt = gs_27
6333 + structure Substring = gs_26
6334 + structure Word8Array = gs_64
6337 + structure gs_141 = Scan
6342 + structure gs_142 = Int32
6345 + structure Word31 = gs_98
6348 + signature gs_143 = RAND
6351 + structure Int32 = gs_142
6352 + structure LibBase = gs_5
6353 + signature RAND = gs_143
6354 + structure Real = gs_41
6355 + structure Word31 = gs_98
6358 + structure gs_144 = Rand
6361 + signature LIST_XPROD = gs_75
6364 + structure gs_145 = ListXProd
6367 + structure ANSITerm = gs_23
6368 + signature ARRAY_SORT = gs_128
6369 + signature ATOM = gs_43
6370 + structure ArrayQSort = gs_129
6371 + functor ArrayQSortFn = gs_134
6372 + structure Atom = gs_46
6373 + structure AtomBinaryMap = gs_136
6374 + structure AtomBinarySet = gs_135
6375 + structure AtomMap = gs_63
6376 + structure AtomRedBlackMap = gs_62
6377 + structure AtomRedBlackSet = gs_59
6378 + structure AtomSet = gs_60
6379 + structure AtomTable = gs_79
6380 + signature BASE64 = gs_69
6381 + signature BIT_ARRAY = gs_57
6382 + signature BIT_VECTOR = gs_83
6383 + functor BSearchFn = gs_106
6384 + structure Base64 = gs_70
6385 + functor BinaryMapFn = gs_95
6386 + functor BinarySetFn = gs_94
6387 + structure BitArray = gs_104
6388 + signature CHAR_MAP = gs_73
6389 + structure CharMap = gs_74
6390 + signature DYNAMIC_ARRAY = gs_15
6391 + structure DynamicArray = gs_16
6392 + functor DynamicArrayFn = gs_124
6393 + signature FIFO = gs_112
6394 + signature FORMAT = gs_47
6395 + signature FORMAT_COMB = gs_109
6396 + structure Fifo = gs_113
6397 + structure Format = gs_50
6398 + structure FormatComb = gs_110
6399 + signature GET_OPT = gs_31
6400 + signature GRAPH_SCC = gs_76
6401 + structure GetOpt = gs_32
6402 + functor GraphSCCFn = gs_77
6403 + signature HASH_KEY = gs_52
6404 + signature HASH_SET = gs_122
6405 + signature HASH_TABLE = gs_120
6406 + functor Hash2TableFn = gs_115
6407 + functor HashSetFn = gs_123
6408 + structure HashString = gs_45
6409 + structure HashTable = gs_121
6410 + functor HashTableFn = gs_78
6411 + signature INTERVAL_DOMAIN = gs_33
6412 + signature INTERVAL_SET = gs_34
6413 + structure IOUtil = gs_24
6414 + signature IO_UTIL = gs_17
6415 + structure IntBinaryMap = gs_10
6416 + structure IntBinarySet = gs_9
6417 + structure IntHashTable = gs_55
6418 + structure IntListMap = gs_90
6419 + structure IntListSet = gs_89
6420 + structure IntRedBlackMap = gs_127
6421 + structure IntRedBlackSet = gs_126
6422 + functor IntervalSetFn = gs_86
6423 + functor KeywordFn = gs_117
6424 + signature LIB_BASE = gs_4
6425 + signature LIST_FORMAT = gs_80
6426 + signature LIST_SORT = gs_132
6427 + signature LIST_XPROD = gs_75
6428 + functor LeftPriorityQFn = gs_119
6429 + structure LibBase = gs_5
6430 + structure ListFormat = gs_81
6431 + functor ListMapFn = gs_8
6432 + structure ListMergeSort = gs_133
6433 + functor ListSetFn = gs_6
6434 + structure ListXProd = gs_145
6435 + signature MONO_ARRAY_SORT = gs_125
6436 + signature MONO_DYNAMIC_ARRAY = gs_107
6437 + signature MONO_HASH2_TABLE = gs_85
6438 + signature MONO_HASH_TABLE = gs_53
6439 + signature MONO_PRIORITYQ = gs_118
6440 + functor MonoArrayFn = gs_105
6441 + signature ORD_KEY = gs_1
6442 + signature ORD_MAP = gs_7
6443 + signature ORD_SET = gs_2
6444 + signature PARSER_COMB = gs_35
6445 + signature PATH_UTIL = gs_92
6446 + signature PRIORITY = gs_51
6447 + signature PROP_LIST = gs_25
6448 + structure ParserComb = gs_84
6449 + structure PathUtil = gs_93
6450 + structure PrimeSizes = gs_11
6451 + structure PropList = gs_71
6452 + signature QUEUE = gs_111
6453 + structure Queue = gs_114
6454 + signature RAND = gs_143
6455 + signature RANDOM = gs_100
6456 + structure Rand = gs_144
6457 + structure Random = gs_101
6458 + structure RealOrderStats = gs_102
6459 + functor RedBlackMapFn = gs_61
6460 + functor RedBlackSetFn = gs_58
6461 + signature SCAN = gs_140
6462 + signature SPLAY_TREE = gs_18
6463 + structure Scan = gs_141
6464 + structure SimpleURef = gs_131
6465 + functor SplayMapFn = gs_21
6466 + functor SplaySetFn = gs_20
6467 + structure SplayTree = gs_19
6468 + signature UREF = gs_130
6469 + structure URef = gs_139
6470 + signature UTF8 = gs_137
6471 + structure UTF8 = gs_138
6472 + structure UnivariateStats = gs_103
6473 + structure WordHashTable = gs_116
6474 + structure WordRedBlackMap = gs_88
6475 + structure WordRedBlackSet = gs_87
6480 diff --git a/Util/time-limit.mlb b/Util/time-limit.mlb
6481 new file mode 100644
6482 index 0000000..c4ca078
6484 +++ b/Util/time-limit.mlb
6487 + "nonexhaustiveMatch warn" "redundantMatch warn"
6488 + "sequenceNonUnit warn"
6489 + "warnUnused false" "forceUsed"
6493 + $(SML_LIB)/basis/basis.mlb
6494 + $(SML_LIB)/basis/mlton.mlb
6496 + time-limit.mlton.sml
6498 + structure TimeLimit = TimeLimit
6502 diff --git a/Util/time-limit.mlton.sml b/Util/time-limit.mlton.sml
6503 new file mode 100644
6504 index 0000000..0f585b7
6506 +++ b/Util/time-limit.mlton.sml
6508 +(* time-limit.mlton.sml
6510 + * Copyright (C) 1999-2004 Henry Cejtin, Matthew Fluet, Suresh
6511 + * Jagannathan, and Stephen Weeks.
6513 + * MLton is released under the GNU General Public License (GPL).
6514 + * Please see the file MLton-LICENSE for license information.
6518 +structure TimeLimit:
6521 + val timeLimit : Time.time -> ('a -> 'b) -> 'a -> 'b
6526 + fun timeLimit t f x =
6527 + case Engine.run (Engine.new (fn () => f x), t) of
6528 + Engine.Done res => res
6529 + | Engine.Raise exn => raise exn
6530 + | Engine.TimeOut _ => raise TimeOut
6532 diff --git a/XML/xml-lexer.lex.sml b/XML/xml-lexer.lex.sml
6533 index a162cf4..6652b22 100644
6534 --- a/XML/xml-lexer.lex.sml
6535 +++ b/XML/xml-lexer.lex.sml
6536 @@ -2,6 +2,8 @@ structure XMLLexer = struct
6538 datatype yystart_state =
6539 COM | TAG | LIT1 | LIT2 | INITIAL | DOCTYPE
6542 structure UserDeclarations =
6545 @@ -24,10 +26,8 @@ COM | TAG | LIT1 | LIT2 | INITIAL | DOCTYPE
6546 (* trim m characters from the left and n characters from the right *)
6547 fun trim (m, ss, n) = Substring.string(Substring.triml m (Substring.trimr n ss))
6555 | yyMATCH of ULexBuffer.stream * action * yymatch
6556 @@ -105,7 +105,7 @@ Vector.fromList []
6557 (fn (~1, _, oldMatches) => yystuck oldMatches
6558 | (curState, strm, oldMatches) => let
6559 val (transitions, finals') = Vector.sub (yytable, curState)
6560 - val finals = map (fn i => Vector.sub (actTable, i)) finals'
6561 + val finals = List.map (fn i => Vector.sub (actTable, i)) finals'
6563 yystuck (yyactsToMatches (strm, finals, oldMatches))
6564 fun find (c, []) = NONE
6565 diff --git a/XML/xml-lib.mlb b/XML/xml-lib.mlb
6566 new file mode 100644
6567 index 0000000..5b59f54
6569 +++ b/XML/xml-lib.mlb
6573 + "nonexhaustiveBind warn" "nonexhaustiveMatch warn"
6574 + "redundantBind warn" "redundantMatch warn"
6575 + "sequenceNonUnit ignore"
6576 + "warnUnused false" "forceUsed"
6582 + (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
6586 + (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
6590 + (* $/ml-lpt-lib.cm ====> *) $(SML_LIB)/mllpt-lib/mllpt-lib.mlb
6594 + $(SML_LIB)/basis/pervasive.mlb
6598 + structure gs_0 = CharVector
6603 + structure gs_1 = Char
6608 + structure gs_2 = Atom
6611 + xml-schema-sig.sml
6613 + signature gs_3 = XML_SCHEMA
6616 + signature XML_SCHEMA = gs_3
6619 + signature gs_4 = XML_TREE
6622 + signature XML_SCHEMA = gs_3
6623 + signature XML_TREE = gs_4
6626 + functor gs_5 = XMLTreeFn
6629 + structure Atom = gs_2
6630 + structure Char = gs_1
6631 + structure CharVector = gs_0
6632 + functor XMLTreeFn = gs_5
6633 + generic-xml-tree.sml
6635 + structure gs_6 = GenericXMLTree
6640 + structure gs_7 = AntlrStreamPos
6645 + structure gs_8 = TextIO
6650 + structure gs_9 = String
6655 + structure gs_10 = List
6660 + structure gs_11 = Substring
6665 + structure gs_12 = Vector
6670 + structure gs_13 = ULexBuffer
6675 + structure gs_14 = Option
6680 + structure gs_15 = Word
6685 + structure gs_16 = UTF8
6690 + structure gs_17 = Int
6695 + structure gs_18 = XMLTokens
6698 + structure AntlrStreamPos = gs_7
6699 + structure Int = gs_17
6700 + structure List = gs_10
6701 + structure Option = gs_14
6702 + structure String = gs_9
6703 + structure Substring = gs_11
6704 + structure TextIO = gs_8
6705 + structure ULexBuffer = gs_13
6706 + structure UTF8 = gs_16
6707 + structure Vector = gs_12
6708 + structure Word = gs_15
6709 + structure XMLTokens = gs_18
6712 + structure gs_19 = XMLLexer
6715 + structure AntlrStreamPos = gs_7
6716 + structure List = gs_10
6717 + structure String = gs_9
6718 + structure TextIO = gs_8
6719 + structure XMLLexer = gs_19
6720 + structure XMLTokens = gs_18
6721 + signature XML_TREE = gs_4
6724 + functor gs_20 = XMLParserFn
6725 + signature gs_21 = XML_PARSER
6728 + structure GenericXMLTree = gs_6
6729 + functor XMLParserFn = gs_20
6730 + functor XMLTreeFn = gs_5
6731 + signature XML_PARSER = gs_21
6732 + signature XML_SCHEMA = gs_3
6733 + signature XML_TREE = gs_4
6738 diff --git a/smlnj-lib.mlb b/smlnj-lib.mlb
6739 new file mode 100644
6740 index 0000000..6a916cf
6745 + Controls/controls-lib.mlb
6747 + HTML4/html4-lib.mlb
6748 + HashCons/hash-cons-lib.mlb
6752 + Reactive/reactive-lib.mlb
6753 + RegExp/regexp-lib.mlb
6756 + Util/smlnj-lib.mlb
6757 + Util/time-limit.mlb