[MLton-commit] r4244
Matthew Fluet
MLton@mlton.org
Sat, 19 Nov 2005 11:03:34 -0800
Updated SML/NJ Library and CKit Library from SML/NJ 110.57; they fixed some outstanding Basis Library deviations, which yields a smaller patch.
----------------------------------------------------------------------
U mlton/trunk/doc/changelog
U mlton/trunk/lib/ckit-lib/Makefile
U mlton/trunk/lib/ckit-lib/ckit.patch
U mlton/trunk/lib/ckit-lib/ckit.tgz
U mlton/trunk/lib/smlnj-lib/Makefile
U mlton/trunk/lib/smlnj-lib/smlnj-lib.patch
U mlton/trunk/lib/smlnj-lib/smlnj-lib.tgz
----------------------------------------------------------------------
Modified: mlton/trunk/doc/changelog
===================================================================
--- mlton/trunk/doc/changelog 2005-11-19 18:48:43 UTC (rev 4243)
+++ mlton/trunk/doc/changelog 2005-11-19 19:03:27 UTC (rev 4244)
@@ -1,5 +1,8 @@
Here are the changes since version 20041109.
+* 2005-11-19
+ - Updated SML/NJ Library and CKit Library from SML/NJ 110.57.
+
* 2005-11-15
- Fixed a bug in MLton.ProcEnv.setgroups.
Modified: mlton/trunk/lib/ckit-lib/Makefile
===================================================================
--- mlton/trunk/lib/ckit-lib/Makefile 2005-11-19 18:48:43 UTC (rev 4243)
+++ mlton/trunk/lib/ckit-lib/Makefile 2005-11-19 19:03:27 UTC (rev 4244)
@@ -11,7 +11,6 @@
ckit/README.mlton: ckit.tgz ckit.patch
gzip -dc ckit.tgz | tar xf -
patch -p0 < ckit.patch
- chmod a-x ckit/src/ast/simplify-assign-ops.sml
.PHONY: clean
clean:
Modified: mlton/trunk/lib/ckit-lib/ckit.patch
===================================================================
--- mlton/trunk/lib/ckit-lib/ckit.patch 2005-11-19 18:48:43 UTC (rev 4243)
+++ mlton/trunk/lib/ckit-lib/ckit.patch 2005-11-19 19:03:27 UTC (rev 4244)
@@ -1,11 +1,11 @@
diff -Naur ckit/ckit-lib.mlb ckit-mlton/ckit-lib.mlb
--- ckit/ckit-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/ckit-lib.mlb 2005-08-18 12:21:04.000000000 -0400
++++ ckit-mlton/ckit-lib.mlb 2005-08-18 09:31:14.000000000 -0400
@@ -0,0 +1 @@
+src/ckit-lib.mlb
diff -Naur ckit/README.mlton ckit-mlton/README.mlton
--- ckit/README.mlton 1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/README.mlton 2005-08-18 12:21:04.000000000 -0400
++++ ckit-mlton/README.mlton 2005-08-17 19:41:36.000000000 -0400
@@ -0,0 +1,13 @@
+The following changes were made to the ckit Library, in addition to
+deriving the {{{.mlb}}} file from the {{{.cm}}} files:
@@ -22,7 +22,7 @@
+ * {{{ast/build-ast.sml}}} (modified): Rewrote use of ''or-patterns''.
diff -Naur ckit/src/ast/ast-sig.sml ckit-mlton/src/ast/ast-sig.sml
--- ckit/src/ast/ast-sig.sml 2001-10-31 15:22:41.000000000 -0500
-+++ ckit-mlton/src/ast/ast-sig.sml 2005-08-18 12:21:04.000000000 -0400
++++ ckit-mlton/src/ast/ast-sig.sml 2005-08-17 19:41:36.000000000 -0400
@@ -67,7 +67,12 @@
datatype declaration
= TypeDecl of {shadow: {strct:bool} option, tid:tid}
@@ -99,7 +99,7 @@
location : SourceMap.location,
diff -Naur ckit/src/ast/build-ast.sml ckit-mlton/src/ast/build-ast.sml
--- ckit/src/ast/build-ast.sml 2003-08-28 17:58:39.000000000 -0400
-+++ ckit-mlton/src/ast/build-ast.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/build-ast.sml 2005-08-17 19:41:36.000000000 -0400
@@ -290,7 +290,8 @@
of SOME{ntype=NONE,...} => true
| _ => false
@@ -225,7 +225,7 @@
else if repeated_declarations_ok
diff -Naur ckit/src/ast/initializer-normalizer.sml ckit-mlton/src/ast/initializer-normalizer.sml
--- ckit/src/ast/initializer-normalizer.sml 2003-08-28 17:58:39.000000000 -0400
-+++ ckit-mlton/src/ast/initializer-normalizer.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/initializer-normalizer.sml 2005-08-17 19:41:36.000000000 -0400
@@ -156,7 +156,13 @@
feed (unionNorm (ctype, fields), inits)
| SOME _ => fail "Incomplete type for union ref"
@@ -243,7 +243,7 @@
| Ast.Ellipses => fail "Cannot initialize ellipses"
diff -Naur ckit/src/ast/pp/pp-ast-adornment-sig.sml ckit-mlton/src/ast/pp/pp-ast-adornment-sig.sml
--- ckit/src/ast/pp/pp-ast-adornment-sig.sml 2000-04-05 14:34:56.000000000 -0400
-+++ ckit-mlton/src/ast/pp/pp-ast-adornment-sig.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/pp/pp-ast-adornment-sig.sml 2005-08-17 19:41:36.000000000 -0400
@@ -1,14 +1,14 @@
(* Copyright (c) 1998 by Lucent Technologies *)
@@ -264,7 +264,7 @@
+(* end *)
diff -Naur ckit/src/ast/pp/pp-ast-ext-sig.sml ckit-mlton/src/ast/pp/pp-ast-ext-sig.sml
--- ckit/src/ast/pp/pp-ast-ext-sig.sml 2000-04-05 14:34:56.000000000 -0400
-+++ ckit-mlton/src/ast/pp/pp-ast-ext-sig.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/pp/pp-ast-ext-sig.sml 2005-08-17 19:41:36.000000000 -0400
@@ -1,13 +1,13 @@
(* Copyright (c) 1998 by Lucent Technologies *)
@@ -289,7 +289,7 @@
+(* end *)
diff -Naur ckit/src/ast/pp/pp-lib.sml ckit-mlton/src/ast/pp/pp-lib.sml
--- ckit/src/ast/pp/pp-lib.sml 2000-04-05 14:34:57.000000000 -0400
-+++ ckit-mlton/src/ast/pp/pp-lib.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/pp/pp-lib.sml 2005-08-17 19:41:36.000000000 -0400
@@ -115,7 +115,10 @@
fun ppId pps ({name,uid,kind,stClass,global,...}: Ast.id) =
@@ -304,7 +304,7 @@
| _ => ppSymbol pps (name,uid)
diff -Naur ckit/src/ast/sizeof.sml ckit-mlton/src/ast/sizeof.sml
--- ckit/src/ast/sizeof.sml 2000-04-05 14:34:55.000000000 -0400
-+++ ckit-mlton/src/ast/sizeof.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/sizeof.sml 2005-08-17 19:41:36.000000000 -0400
@@ -321,7 +321,9 @@
and process (sizesErrWarnBug as {sizes, err, warn, bug}) tidtab ty =
case ty
@@ -318,7 +318,7 @@
let val {bits,align} = #int sizes
diff -Naur ckit/src/ast/type-util-sig.sml ckit-mlton/src/ast/type-util-sig.sml
--- ckit/src/ast/type-util-sig.sml 2001-10-31 15:22:41.000000000 -0500
-+++ ckit-mlton/src/ast/type-util-sig.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/type-util-sig.sml 2005-08-17 19:41:36.000000000 -0400
@@ -1,10 +1,10 @@
(* Copyright (c) 1998 by Lucent Technologies *)
@@ -340,7 +340,7 @@
+(* end (* local *) *)
diff -Naur ckit/src/ast/type-util.sml ckit-mlton/src/ast/type-util.sml
--- ckit/src/ast/type-util.sml 2001-10-31 15:22:41.000000000 -0500
-+++ ckit-mlton/src/ast/type-util.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ast/type-util.sml 2005-08-17 19:41:36.000000000 -0400
@@ -282,7 +282,8 @@
fun isStructOrUnion tidtab ty =
case reduceTypedef tidtab ty
@@ -393,7 +393,7 @@
)
diff -Naur ckit/src/ckit-lib.mlb ckit-mlton/src/ckit-lib.mlb
--- ckit/src/ckit-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/src/ckit-lib.mlb 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/ckit-lib.mlb 2005-11-19 13:53:37.000000000 -0500
@@ -0,0 +1,876 @@
+
+ann
@@ -1273,7 +1273,7 @@
+end
diff -Naur ckit/src/parser/grammar/c.grm.desc ckit-mlton/src/parser/grammar/c.grm.desc
--- ckit/src/parser/grammar/c.grm.desc 1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/src/parser/grammar/c.grm.desc 2005-08-18 12:23:58.000000000 -0400
++++ ckit-mlton/src/parser/grammar/c.grm.desc 2005-11-19 13:53:36.000000000 -0500
@@ -0,0 +1,10001 @@
+1 shift/reduce conflict
+
@@ -11278,7 +11278,7 @@
+712 goto table entries
diff -Naur ckit/src/parser/grammar/c.grm.sig ckit-mlton/src/parser/grammar/c.grm.sig
--- ckit/src/parser/grammar/c.grm.sig 1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/src/parser/grammar/c.grm.sig 2005-08-18 12:23:58.000000000 -0400
++++ ckit-mlton/src/parser/grammar/c.grm.sig 2005-11-19 13:53:36.000000000 -0500
@@ -0,0 +1,101 @@
+signature C_TOKENS =
+sig
@@ -11383,7 +11383,7 @@
+end
diff -Naur ckit/src/parser/grammar/c.grm.sml ckit-mlton/src/parser/grammar/c.grm.sml
--- ckit/src/parser/grammar/c.grm.sml 1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/src/parser/grammar/c.grm.sml 2005-08-18 12:23:58.000000000 -0400
++++ ckit-mlton/src/parser/grammar/c.grm.sml 2005-11-19 13:53:36.000000000 -0500
@@ -0,0 +1,3866 @@
+functor LrValsFun(structure Token : TOKEN
+ ) =
@@ -15253,7 +15253,7 @@
+end
diff -Naur ckit/src/parser/grammar/c.lex.sml ckit-mlton/src/parser/grammar/c.lex.sml
--- ckit/src/parser/grammar/c.lex.sml 1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/src/parser/grammar/c.lex.sml 2005-08-18 12:23:55.000000000 -0400
++++ ckit-mlton/src/parser/grammar/c.lex.sml 2005-11-19 13:53:36.000000000 -0500
@@ -0,0 +1,1053 @@
+type int = Int.int
+functor CLexFun(structure Tokens : C_TOKENS
@@ -16310,7 +16310,7 @@
+end
diff -Naur ckit/src/parser/parse-tree-sig.sml ckit-mlton/src/parser/parse-tree-sig.sml
--- ckit/src/parser/parse-tree-sig.sml 2000-04-05 14:35:01.000000000 -0400
-+++ ckit-mlton/src/parser/parse-tree-sig.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/parser/parse-tree-sig.sml 2005-08-17 19:41:36.000000000 -0400
@@ -27,8 +27,10 @@
| ModAssign | XorAssign | OrAssign | AndAssign
| LshiftAssign | RshiftAssign
@@ -16469,7 +16469,7 @@
and declarationExt =
diff -Naur ckit/src/parser/parse-tree.sml ckit-mlton/src/parser/parse-tree.sml
--- ckit/src/parser/parse-tree.sml 2000-04-05 14:35:01.000000000 -0400
-+++ ckit-mlton/src/parser/parse-tree.sml 2005-08-18 12:21:05.000000000 -0400
++++ ckit-mlton/src/parser/parse-tree.sml 2005-08-17 19:41:36.000000000 -0400
@@ -23,8 +23,10 @@
| ModAssign | XorAssign | OrAssign | AndAssign
| LshiftAssign | RshiftAssign
Modified: mlton/trunk/lib/ckit-lib/ckit.tgz
===================================================================
(Binary files differ)
Modified: mlton/trunk/lib/smlnj-lib/Makefile
===================================================================
--- mlton/trunk/lib/smlnj-lib/Makefile 2005-11-19 18:48:43 UTC (rev 4243)
+++ mlton/trunk/lib/smlnj-lib/Makefile 2005-11-19 19:03:27 UTC (rev 4244)
@@ -11,7 +11,6 @@
smlnj-lib/README.mlton: smlnj-lib.tgz smlnj-lib.patch
gzip -dc smlnj-lib.tgz | tar xf -
patch -p0 < smlnj-lib.patch
- rm smlnj-lib/HTML/.cvsignore
mv smlnj-lib/LICENSE ../../doc/license/SMLNJ-LIB-LICENSE
.PHONY: clean
Modified: mlton/trunk/lib/smlnj-lib/smlnj-lib.patch
===================================================================
--- mlton/trunk/lib/smlnj-lib/smlnj-lib.patch 2005-11-19 18:48:43 UTC (rev 4243)
+++ mlton/trunk/lib/smlnj-lib/smlnj-lib.patch 2005-11-19 19:03:27 UTC (rev 4244)
@@ -1,6 +1,6 @@
diff -Naur smlnj-lib/Controls/controls-lib.mlb smlnj-lib-mlton/Controls/controls-lib.mlb
--- smlnj-lib/Controls/controls-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Controls/controls-lib.mlb 2005-08-18 12:18:11.000000000 -0400
++++ smlnj-lib-mlton/Controls/controls-lib.mlb 2005-11-19 13:58:31.000000000 -0500
@@ -0,0 +1,170 @@
+
+ann
@@ -174,7 +174,7 @@
+end
diff -Naur smlnj-lib/HashCons/hash-cons-lib.mlb smlnj-lib-mlton/HashCons/hash-cons-lib.mlb
--- smlnj-lib/HashCons/hash-cons-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HashCons/hash-cons-lib.mlb 2005-08-18 12:18:12.000000000 -0400
++++ smlnj-lib-mlton/HashCons/hash-cons-lib.mlb 2005-11-19 13:58:31.000000000 -0500
@@ -0,0 +1,144 @@
+
+ann
@@ -320,22 +320,9 @@
+end
+
+end
-diff -Naur smlnj-lib/HTML/deviations.sml smlnj-lib-mlton/HTML/deviations.sml
---- smlnj-lib/HTML/deviations.sml 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HTML/deviations.sml 2005-08-17 20:23:34.000000000 -0400
-@@ -0,0 +1,9 @@
-+structure Substring :
-+ sig
-+ include SUBSTRING
-+ val all : string -> substring
-+ end =
-+ struct
-+ open Substring
-+ val all = full
-+ end
diff -Naur smlnj-lib/HTML/html-attrs-fn.sml smlnj-lib-mlton/HTML/html-attrs-fn.sml
---- smlnj-lib/HTML/html-attrs-fn.sml 2003-05-22 18:46:30.000000000 -0400
-+++ smlnj-lib-mlton/HTML/html-attrs-fn.sml 2005-08-17 20:23:34.000000000 -0400
+--- smlnj-lib/HTML/html-attrs-fn.sml 2004-11-20 10:28:05.000000000 -0500
++++ smlnj-lib-mlton/HTML/html-attrs-fn.sml 2005-08-17 20:13:04.000000000 -0400
@@ -89,19 +89,24 @@
fun error () = (
Err.badAttrVal ctx (attrName, attrValToString attrVal);
@@ -435,7 +422,7 @@
end
diff -Naur smlnj-lib/HTML/html-cons-lib.mlb smlnj-lib-mlton/HTML/html-cons-lib.mlb
--- smlnj-lib/HTML/html-cons-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-cons-lib.mlb 2005-08-17 20:23:34.000000000 -0400
++++ smlnj-lib-mlton/HTML/html-cons-lib.mlb 2005-08-17 20:13:04.000000000 -0400
@@ -0,0 +1,9 @@
+
+ann
@@ -447,8 +434,8 @@
+
+end
diff -Naur smlnj-lib/HTML/html-elements-fn.sml smlnj-lib-mlton/HTML/html-elements-fn.sml
---- smlnj-lib/HTML/html-elements-fn.sml 2000-06-01 14:33:54.000000000 -0400
-+++ smlnj-lib-mlton/HTML/html-elements-fn.sml 2005-08-17 20:23:34.000000000 -0400
+--- smlnj-lib/HTML/html-elements-fn.sml 2005-11-17 15:53:08.000000000 -0500
++++ smlnj-lib-mlton/HTML/html-elements-fn.sml 2005-11-17 15:55:26.000000000 -0500
@@ -144,7 +144,8 @@
* 3) a string literal enclosed in ''
*)
@@ -459,9370 +446,377 @@
| isNameChar c = (Char.isAlphaNum c)
in
case SS.getc ss
-diff -Naur smlnj-lib/HTML/html-gram.desc smlnj-lib-mlton/HTML/html-gram.desc
---- smlnj-lib/HTML/html-gram.desc 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-gram.desc 2005-08-18 12:09:03.000000000 -0400
-@@ -0,0 +1,6055 @@
-+
-+state 0:
-+
-+ Document : . StartHTML Head Body EndHTML
-+
-+ START_HTML shift 2
-+
-+ Document goto 282
-+ StartHTML goto 1
-+
-+ . reduce by rule 1
-+
-+
-+state 1:
-+
-+ Document : StartHTML . Head Body EndHTML
-+
-+ START_HEAD shift 5
-+
-+ Head goto 4
-+ StartHEAD goto 3
-+
-+ . reduce by rule 6
-+
-+
-+state 2:
-+
-+ StartHTML : START_HTML . (reduce by rule 2)
-+
-+
-+
-+ . reduce by rule 2
-+
-+
-+state 3:
-+
-+ Head : StartHEAD . HeadContents EndHEAD
-+
-+ TAG_BASE shift 14
-+ TAG_ISINDEX shift 13
-+ TAG_LINK shift 12
-+ TAG_META shift 11
-+ START_SCRIPT shift 10
-+ START_STYLE shift 9
-+
-+ HeadContents goto 8
-+ HeadElements goto 7
-+ HeadElement goto 6
-+
-+ . reduce by rule 11
-+
-+
-+state 4:
-+
-+ Document : StartHTML Head . Body EndHTML
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ START_BODY shift 73
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ Body goto 27
-+ BodyContent0 goto 26
-+ BodyElement goto 25
-+ BlockWOIndex goto 24
-+ Paragraph goto 23
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 20
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . error
-+
-+
-+state 5:
-+
-+ StartHEAD : START_HEAD . (reduce by rule 7)
-+
-+
-+
-+ . reduce by rule 7
-+
-+
-+state 6:
-+
-+ HeadElements : HeadElement . HeadElements
-+
-+ TAG_BASE shift 14
-+ TAG_ISINDEX shift 13
-+ TAG_LINK shift 12
-+ TAG_META shift 11
-+ START_SCRIPT shift 10
-+ START_STYLE shift 9
-+
-+ HeadElements goto 80
-+ HeadElement goto 6
-+
-+ . reduce by rule 11
-+
-+
-+state 7:
-+
-+ HeadContents : HeadElements . START_TITLE PCData END_TITLE HeadElements
-+
-+ START_TITLE shift 81
-+
-+
-+ . error
-+
-+
-+state 8:
-+
-+ Head : StartHEAD HeadContents . EndHEAD
-+
-+ END_HEAD shift 83
-+
-+ EndHEAD goto 82
-+
-+ . reduce by rule 8
-+
-+
-+state 9:
-+
-+ HeadElement : START_STYLE . PCData END_STYLE
-+
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ PCData goto 86
-+ PCDataList goto 85
-+ PCDataElem goto 84
-+
-+ . reduce by rule 150
-+
-+
-+state 10:
-+
-+ HeadElement : START_SCRIPT . PCData END_SCRIPT
-+
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ PCData goto 87
-+ PCDataList goto 85
-+ PCDataElem goto 84
-+
-+ . reduce by rule 150
-+
-+
-+state 11:
-+
-+ HeadElement : TAG_META . (reduce by rule 13)
-+
-+
-+
-+ . reduce by rule 13
-+
-+
-+state 12:
-+
-+ HeadElement : TAG_LINK . (reduce by rule 14)
-+
-+
-+
-+ . reduce by rule 14
-+
-+
-+state 13:
-+
-+ HeadElement : TAG_ISINDEX . (reduce by rule 15)
-+
-+
-+
-+ . reduce by rule 15
-+
-+
-+state 14:
-+
-+ HeadElement : TAG_BASE . (reduce by rule 16)
-+
-+
-+
-+ . reduce by rule 16
-+
-+
-+state 15:
-+
-+ TextWOScript : PCDataElem . (reduce by rule 108)
-+
-+
-+
-+ . reduce by rule 108
-+
-+
-+state 16:
-+
-+ TextWOScript : Form . (reduce by rule 112)
-+
-+
-+
-+ . reduce by rule 112
-+
-+
-+state 17:
-+
-+ TextWOScript : Special . (reduce by rule 111)
-+
-+
-+
-+ . reduce by rule 111
-+
-+
-+state 18:
-+
-+ TextWOScript : Phrase . (reduce by rule 110)
-+
-+
-+
-+ . reduce by rule 110
-+
-+
-+state 19:
-+
-+ TextWOScript : Font . (reduce by rule 109)
-+
-+
-+
-+ . reduce by rule 109
-+
-+
-+state 20:
-+
-+ BodyContent0 : TextWOScript . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 94
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 21:
-+
-+ BlockWOIndex : Preformatted . (reduce by rule 55)
-+
-+
-+
-+ . reduce by rule 55
-+
-+
-+state 22:
-+
-+ BlockWOIndex : List . (reduce by rule 54)
-+
-+
-+
-+ . reduce by rule 54
-+
-+
-+state 23:
-+
-+ BodyContent0 : Paragraph . END_P BodyContent1
-+ BodyContent0 : Paragraph . BodyContent2
-+
-+ START_ADDRESS shift 78
-+ START_BLOCKQUOTE shift 74
-+ START_CENTER shift 71
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ TAG_ISINDEX shift 96
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ END_P shift 101
-+ START_PRE shift 44
-+ START_TABLE shift 36
-+ START_UL shift 32
-+
-+ BodyContent2 goto 100
-+ BodyElement goto 99
-+ BlockWOIndex goto 92
-+ Block goto 98
-+ Paragraph goto 97
-+ List goto 22
-+ Preformatted goto 21
-+
-+ . reduce by rule 35
-+
-+
-+state 24:
-+
-+ BodyContent0 : BlockWOIndex . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 102
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 25:
-+
-+ BodyContent0 : BodyElement . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 103
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 26:
-+
-+ Body : BodyContent0 . EndBODY
-+
-+ END_BODY shift 105
-+
-+ EndBODY goto 104
-+
-+ . reduce by rule 20
-+
-+
-+state 27:
-+
-+ Document : StartHTML Head Body . EndHTML
-+
-+ END_HTML shift 107
-+
-+ EndHTML goto 106
-+
-+ . reduce by rule 3
-+
-+
-+state 28:
-+
-+ PCDataElem : ENTITY_REF . (reduce by rule 154)
-+
-+
-+
-+ . reduce by rule 154
-+
-+
-+state 29:
-+
-+ PCDataElem : CHAR_REF . (reduce by rule 153)
-+
-+
-+
-+ . reduce by rule 153
-+
-+
-+state 30:
-+
-+ PCDataElem : PCDATA . (reduce by rule 152)
-+
-+
-+
-+ . reduce by rule 152
-+
-+
-+state 31:
-+
-+ Phrase : START_VAR . TextList END_VAR
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 110
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 32:
-+
-+ List : START_UL . ListItemList END_UL
-+
-+ START_LI shift 113
-+
-+ ListItemList goto 112
-+ ListItem goto 111
-+
-+ . reduce by rule 70
-+
-+
-+state 33:
-+
-+ Font : START_U . TextList END_U
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 114
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 34:
-+
-+ Font : START_TT . TextList END_TT
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 115
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 35:
-+
-+ Form : START_TEXTAREA . PCData END_TEXTAREA
-+
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ PCData goto 116
-+ PCDataList goto 85
-+ PCDataElem goto 84
-+
-+ . reduce by rule 150
-+
-+
-+state 36:
-+
-+ BlockWOIndex : START_TABLE . optCaption TableRowList END_TABLE
-+
-+ START_CAPTION shift 118
-+
-+ optCaption goto 117
-+
-+ . reduce by rule 93
-+
-+
-+state 37:
-+
-+ Font : START_SUP . TextList END_SUP
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 119
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 38:
-+
-+ Font : START_SUB . TextList END_SUB
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 120
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 39:
-+
-+ Phrase : START_STRONG . TextList END_STRONG
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 121
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 40:
-+
-+ Font : START_STRIKE . TextList END_STRIKE
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 122
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 41:
-+
-+ Font : START_SMALL . TextList END_SMALL
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 123
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 42:
-+
-+ Form : START_SELECT . OptionList END_SELECT
-+
-+ START_OPTION shift 125
-+
-+ OptionList goto 124
-+
-+ . reduce by rule 145
-+
-+
-+state 43:
-+
-+ Phrase : START_SAMP . TextList END_SAMP
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 126
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 44:
-+
-+ Preformatted : START_PRE . TextList END_PRE
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 127
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 45:
-+
-+ Special : TAG_PARAM . (reduce by rule 139)
-+
-+
-+
-+ . reduce by rule 139
-+
-+
-+state 46:
-+
-+ Paragraph : START_P . TextList
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 128
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 47:
-+
-+ List : START_OL . ListItemList END_OL
-+
-+ START_LI shift 113
-+
-+ ListItemList goto 129
-+ ListItem goto 111
-+
-+ . reduce by rule 70
-+
-+
-+state 48:
-+
-+ List : START_MENU . ListItemList END_MENU
-+
-+ START_LI shift 113
-+
-+ ListItemList goto 130
-+ ListItem goto 111
-+
-+ . reduce by rule 70
-+
-+
-+state 49:
-+
-+ Special : START_MAP . AreaList END_MAP
-+
-+ TAG_AREA shift 132
-+
-+ AreaList goto 131
-+
-+ . reduce by rule 140
-+
-+
-+state 50:
-+
-+ Phrase : START_KBD . TextList END_KBD
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 133
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 51:
-+
-+ Form : TAG_INPUT . (reduce by rule 142)
-+
-+
-+
-+ . reduce by rule 142
-+
-+
-+state 52:
-+
-+ Special : TAG_IMG . (reduce by rule 133)
-+
-+
-+
-+ . reduce by rule 133
-+
-+
-+state 53:
-+
-+ Font : START_I . TextList END_I
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 134
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 54:
-+
-+ BlockWOIndex : TAG_HR . (reduce by rule 60)
-+
-+
-+
-+ . reduce by rule 60
-+
-+
-+state 55:
-+
-+ BodyElement : START_H6 . TextList END_H6
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 135
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 56:
-+
-+ BodyElement : START_H5 . TextList END_H5
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 136
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 57:
-+
-+ BodyElement : START_H4 . TextList END_H4
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 137
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 58:
-+
-+ BodyElement : START_H3 . TextList END_H3
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 138
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 59:
-+
-+ BodyElement : START_H2 . TextList END_H2
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 139
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 60:
-+
-+ BodyElement : START_H1 . TextList END_H1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 140
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 61:
-+
-+ BlockWOIndex : START_FORM . BodyContent END_FORM
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent goto 142
-+ BodyContent1 goto 141
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 62:
-+
-+ Special : START_BASEFONT . TextList END_BASEFONT
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 143
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 63:
-+
-+ Special : START_FONT . TextList END_FONT
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 144
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 64:
-+
-+ Phrase : START_EM . TextList END_EM
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 145
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 65:
-+
-+ List : START_DL . DLItemList END_DL
-+
-+ START_DD shift 149
-+ START_DT shift 148
-+
-+ DLItemList goto 147
-+ DLItem goto 146
-+
-+ . reduce by rule 73
-+
-+
-+state 66:
-+
-+ BlockWOIndex : START_DIV . BodyContent END_DIV
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent goto 150
-+ BodyContent1 goto 141
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 67:
-+
-+ List : START_DIR . ListItemList END_DIR
-+
-+ START_LI shift 113
-+
-+ ListItemList goto 151
-+ ListItem goto 111
-+
-+ . reduce by rule 70
-+
-+
-+state 68:
-+
-+ Phrase : START_DFN . TextList END_DFN
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 152
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 69:
-+
-+ Phrase : START_CODE . TextList END_CODE
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 153
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 70:
-+
-+ Phrase : START_CITE . TextList END_CITE
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 154
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 71:
-+
-+ BlockWOIndex : START_CENTER . BodyContent END_CENTER
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent goto 155
-+ BodyContent1 goto 141
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 72:
-+
-+ Special : TAG_BR . (reduce by rule 137)
-+
-+
-+
-+ . reduce by rule 137
-+
-+
-+state 73:
-+
-+ BodyContent0 : START_BODY . BodyContent
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent goto 156
-+ BodyContent1 goto 141
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 74:
-+
-+ BlockWOIndex : START_BLOCKQUOTE . BodyContent END_BLOCKQUOTE
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent goto 157
-+ BodyContent1 goto 141
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 75:
-+
-+ Font : START_BIG . TextList END_BIG
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 158
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 76:
-+
-+ Font : START_B . TextList END_B
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 159
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 77:
-+
-+ Special : START_APPLET . TextList END_APPLET
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 160
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 78:
-+
-+ BodyElement : START_ADDRESS . AddressContent1 END_ADDRESS
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ AddressContent1 goto 163
-+ Paragraph goto 162
-+ TextWOScript goto 89
-+ Text goto 161
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 47
-+
-+
-+state 79:
-+
-+ Special : START_A . TextList END_A
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 164
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 80:
-+
-+ HeadElements : HeadElement HeadElements . (reduce by rule 12)
-+
-+
-+
-+ . reduce by rule 12
-+
-+
-+state 81:
-+
-+ HeadContents : HeadElements START_TITLE . PCData END_TITLE HeadElements
-+
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ PCData goto 165
-+ PCDataList goto 85
-+ PCDataElem goto 84
-+
-+ . reduce by rule 150
-+
-+
-+state 82:
-+
-+ Head : StartHEAD HeadContents EndHEAD . (reduce by rule 5)
-+
-+
-+
-+ . reduce by rule 5
-+
-+
-+state 83:
-+
-+ EndHEAD : END_HEAD . (reduce by rule 9)
-+
-+
-+
-+ . reduce by rule 9
-+
-+
-+state 84:
-+
-+ PCDataList : PCDataElem . PCDataList
-+
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ PCDataList goto 166
-+ PCDataElem goto 84
-+
-+ . reduce by rule 150
-+
-+
-+state 85:
-+
-+ PCData : PCDataList . (reduce by rule 149)
-+
-+
-+
-+ . reduce by rule 149
-+
-+
-+state 86:
-+
-+ HeadElement : START_STYLE PCData . END_STYLE
-+
-+ END_STYLE shift 167
-+
-+
-+ . error
-+
-+
-+state 87:
-+
-+ HeadElement : START_SCRIPT PCData . END_SCRIPT
-+
-+ END_SCRIPT shift 168
-+
-+
-+ . error
-+
-+
-+state 88:
-+
-+ BodyContent1 : Text . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 169
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 89:
-+
-+ Text : TextWOScript . (reduce by rule 113)
-+
-+
-+
-+ . reduce by rule 113
-+
-+
-+state 90:
-+
-+ BodyContent1 : Paragraph . END_P BodyContent1
-+ BodyContent1 : Paragraph . BodyContent2
-+
-+ START_ADDRESS shift 78
-+ START_BLOCKQUOTE shift 74
-+ START_CENTER shift 71
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ TAG_ISINDEX shift 96
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ END_P shift 171
-+ START_PRE shift 44
-+ START_TABLE shift 36
-+ START_UL shift 32
-+
-+ BodyContent2 goto 170
-+ BodyElement goto 99
-+ BlockWOIndex goto 92
-+ Block goto 98
-+ Paragraph goto 97
-+ List goto 22
-+ Preformatted goto 21
-+
-+ . reduce by rule 35
-+
-+
-+state 91:
-+
-+ BodyContent1 : Block . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 172
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 92:
-+
-+ Block : BlockWOIndex . (reduce by rule 62)
-+
-+
-+
-+ . reduce by rule 62
-+
-+
-+state 93:
-+
-+ BodyContent1 : BodyElement . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 173
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 94:
-+
-+ BodyContent0 : TextWOScript BodyContent1 . (reduce by rule 24)
-+
-+
-+
-+ . reduce by rule 24
-+
-+
-+state 95:
-+
-+ Text : START_SCRIPT . PCData END_SCRIPT
-+
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ PCData goto 174
-+ PCDataList goto 85
-+ PCDataElem goto 84
-+
-+ . reduce by rule 150
-+
-+
-+state 96:
-+
-+ Block : TAG_ISINDEX . (reduce by rule 63)
-+
-+
-+
-+ . reduce by rule 63
-+
-+
-+state 97:
-+
-+ BodyContent2 : Paragraph . END_P BodyContent1
-+ BodyContent2 : Paragraph . BodyContent2
-+
-+ START_ADDRESS shift 78
-+ START_BLOCKQUOTE shift 74
-+ START_CENTER shift 71
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ TAG_ISINDEX shift 96
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ END_P shift 176
-+ START_PRE shift 44
-+ START_TABLE shift 36
-+ START_UL shift 32
-+
-+ BodyContent2 goto 175
-+ BodyElement goto 99
-+ BlockWOIndex goto 92
-+ Block goto 98
-+ Paragraph goto 97
-+ List goto 22
-+ Preformatted goto 21
-+
-+ . reduce by rule 35
-+
-+
-+state 98:
-+
-+ BodyContent2 : Block . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 177
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 99:
-+
-+ BodyContent2 : BodyElement . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 178
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 100:
-+
-+ BodyContent0 : Paragraph BodyContent2 . (reduce by rule 28)
-+
-+
-+
-+ . reduce by rule 28
-+
-+
-+state 101:
-+
-+ BodyContent0 : Paragraph END_P . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 179
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 102:
-+
-+ BodyContent0 : BlockWOIndex BodyContent1 . (reduce by rule 26)
-+
-+
-+
-+ . reduce by rule 26
-+
-+
-+state 103:
-+
-+ BodyContent0 : BodyElement BodyContent1 . (reduce by rule 25)
-+
-+
-+
-+ . reduce by rule 25
-+
-+
-+state 104:
-+
-+ Body : BodyContent0 EndBODY . (reduce by rule 19)
-+
-+
-+
-+ . reduce by rule 19
-+
-+
-+state 105:
-+
-+ EndBODY : END_BODY . (reduce by rule 21)
-+
-+
-+
-+ . reduce by rule 21
-+
-+
-+state 106:
-+
-+ Document : StartHTML Head Body EndHTML . (reduce by rule 0)
-+
-+
-+
-+ . reduce by rule 0
-+
-+
-+state 107:
-+
-+ EndHTML : END_HTML . (reduce by rule 4)
-+
-+
-+
-+ . reduce by rule 4
-+
-+
-+state 108:
-+
-+ TextList' : Text . TextList'
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList' goto 180
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 109:
-+
-+ TextList : TextList' . (reduce by rule 105)
-+
-+
-+
-+ . reduce by rule 105
-+
-+
-+state 110:
-+
-+ Phrase : START_VAR TextList . END_VAR
-+
-+ END_VAR shift 181
-+
-+
-+ . error
-+
-+
-+state 111:
-+
-+ ListItemList : ListItem . ListItemList
-+
-+ START_LI shift 113
-+
-+ ListItemList goto 182
-+ ListItem goto 111
-+
-+ . reduce by rule 70
-+
-+
-+state 112:
-+
-+ List : START_UL ListItemList . END_UL
-+
-+ END_UL shift 183
-+
-+
-+ . error
-+
-+
-+state 113:
-+
-+ ListItem : START_LI . Flow1 EndLI
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BlockWOIndex goto 92
-+ Block goto 187
-+ Paragraph goto 186
-+ List goto 22
-+ Flow1 goto 185
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 184
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 77
-+
-+
-+state 114:
-+
-+ Font : START_U TextList . END_U
-+
-+ END_U shift 188
-+
-+
-+ . error
-+
-+
-+state 115:
-+
-+ Font : START_TT TextList . END_TT
-+
-+ END_TT shift 189
-+
-+
-+ . error
-+
-+
-+state 116:
-+
-+ Form : START_TEXTAREA PCData . END_TEXTAREA
-+
-+ END_TEXTAREA shift 190
-+
-+
-+ . error
-+
-+
-+state 117:
-+
-+ BlockWOIndex : START_TABLE optCaption . TableRowList END_TABLE
-+
-+ START_TR shift 193
-+
-+ TableRowList goto 192
-+ TableRow goto 191
-+
-+ . error
-+
-+
-+state 118:
-+
-+ optCaption : START_CAPTION . TextList END_CAPTION
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 194
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 119:
-+
-+ Font : START_SUP TextList . END_SUP
-+
-+ END_SUP shift 195
-+
-+
-+ . error
-+
-+
-+state 120:
-+
-+ Font : START_SUB TextList . END_SUB
-+
-+ END_SUB shift 196
-+
-+
-+ . error
-+
-+
-+state 121:
-+
-+ Phrase : START_STRONG TextList . END_STRONG
-+
-+ END_STRONG shift 197
-+
-+
-+ . error
-+
-+
-+state 122:
-+
-+ Font : START_STRIKE TextList . END_STRIKE
-+
-+ END_STRIKE shift 198
-+
-+
-+ . error
-+
-+
-+state 123:
-+
-+ Font : START_SMALL TextList . END_SMALL
-+
-+ END_SMALL shift 199
-+
-+
-+ . error
-+
-+
-+state 124:
-+
-+ Form : START_SELECT OptionList . END_SELECT
-+
-+ END_SELECT shift 200
-+
-+
-+ . error
-+
-+
-+state 125:
-+
-+ OptionList : START_OPTION . PCData EndOPTION OptionList
-+
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ PCData goto 201
-+ PCDataList goto 85
-+ PCDataElem goto 84
-+
-+ . reduce by rule 150
-+
-+
-+state 126:
-+
-+ Phrase : START_SAMP TextList . END_SAMP
-+
-+ END_SAMP shift 202
-+
-+
-+ . error
-+
-+
-+state 127:
-+
-+ Preformatted : START_PRE TextList . END_PRE
-+
-+ END_PRE shift 203
-+
-+
-+ . error
-+
-+
-+state 128:
-+
-+ Paragraph : START_P TextList . (reduce by rule 64)
-+
-+
-+
-+ . reduce by rule 64
-+
-+
-+state 129:
-+
-+ List : START_OL ListItemList . END_OL
-+
-+ END_OL shift 204
-+
-+
-+ . error
-+
-+
-+state 130:
-+
-+ List : START_MENU ListItemList . END_MENU
-+
-+ END_MENU shift 205
-+
-+
-+ . error
-+
-+
-+state 131:
-+
-+ Special : START_MAP AreaList . END_MAP
-+
-+ END_MAP shift 206
-+
-+
-+ . error
-+
-+
-+state 132:
-+
-+ AreaList : TAG_AREA . AreaList
-+
-+ TAG_AREA shift 132
-+
-+ AreaList goto 207
-+
-+ . reduce by rule 140
-+
-+
-+state 133:
-+
-+ Phrase : START_KBD TextList . END_KBD
-+
-+ END_KBD shift 208
-+
-+
-+ . error
-+
-+
-+state 134:
-+
-+ Font : START_I TextList . END_I
-+
-+ END_I shift 209
-+
-+
-+ . error
-+
-+
-+state 135:
-+
-+ BodyElement : START_H6 TextList . END_H6
-+
-+ END_H6 shift 210
-+
-+
-+ . error
-+
-+
-+state 136:
-+
-+ BodyElement : START_H5 TextList . END_H5
-+
-+ END_H5 shift 211
-+
-+
-+ . error
-+
-+
-+state 137:
-+
-+ BodyElement : START_H4 TextList . END_H4
-+
-+ END_H4 shift 212
-+
-+
-+ . error
-+
-+
-+state 138:
-+
-+ BodyElement : START_H3 TextList . END_H3
-+
-+ END_H3 shift 213
-+
-+
-+ . error
-+
-+
-+state 139:
-+
-+ BodyElement : START_H2 TextList . END_H2
-+
-+ END_H2 shift 214
-+
-+
-+ . error
-+
-+
-+state 140:
-+
-+ BodyElement : START_H1 TextList . END_H1
-+
-+ END_H1 shift 215
-+
-+
-+ . error
-+
-+
-+state 141:
-+
-+ BodyContent : BodyContent1 . (reduce by rule 22)
-+
-+
-+
-+ . reduce by rule 22
-+
-+
-+state 142:
-+
-+ BlockWOIndex : START_FORM BodyContent . END_FORM
-+
-+ END_FORM shift 216
-+
-+
-+ . error
-+
-+
-+state 143:
-+
-+ Special : START_BASEFONT TextList . END_BASEFONT
-+
-+ END_BASEFONT shift 217
-+
-+
-+ . error
-+
-+
-+state 144:
-+
-+ Special : START_FONT TextList . END_FONT
-+
-+ END_FONT shift 218
-+
-+
-+ . error
-+
-+
-+state 145:
-+
-+ Phrase : START_EM TextList . END_EM
-+
-+ END_EM shift 219
-+
-+
-+ . error
-+
-+
-+state 146:
-+
-+ DLItemList : DLItem . DLItemList
-+
-+ START_DD shift 149
-+ START_DT shift 148
-+
-+ DLItemList goto 220
-+ DLItem goto 146
-+
-+ . reduce by rule 73
-+
-+
-+state 147:
-+
-+ List : START_DL DLItemList . END_DL
-+
-+ END_DL shift 221
-+
-+
-+ . error
-+
-+
-+state 148:
-+
-+ DLItem : START_DT . TextList EndDT
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ TextList goto 222
-+ TextList' goto 109
-+ TextWOScript goto 89
-+ Text goto 108
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 106
-+
-+
-+state 149:
-+
-+ DLItem : START_DD . Flow1 EndDD
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BlockWOIndex goto 92
-+ Block goto 187
-+ Paragraph goto 186
-+ List goto 22
-+ Flow1 goto 223
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 184
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 77
-+
-+
-+state 150:
-+
-+ BlockWOIndex : START_DIV BodyContent . END_DIV
-+
-+ END_DIV shift 224
-+
-+
-+ . error
-+
-+
-+state 151:
-+
-+ List : START_DIR ListItemList . END_DIR
-+
-+ END_DIR shift 225
-+
-+
-+ . error
-+
-+
-+state 152:
-+
-+ Phrase : START_DFN TextList . END_DFN
-+
-+ END_DFN shift 226
-+
-+
-+ . error
-+
-+
-+state 153:
-+
-+ Phrase : START_CODE TextList . END_CODE
-+
-+ END_CODE shift 227
-+
-+
-+ . error
-+
-+
-+state 154:
-+
-+ Phrase : START_CITE TextList . END_CITE
-+
-+ END_CITE shift 228
-+
-+
-+ . error
-+
-+
-+state 155:
-+
-+ BlockWOIndex : START_CENTER BodyContent . END_CENTER
-+
-+ END_CENTER shift 229
-+
-+
-+ . error
-+
-+
-+state 156:
-+
-+ BodyContent0 : START_BODY BodyContent . (reduce by rule 23)
-+
-+
-+
-+ . reduce by rule 23
-+
-+
-+state 157:
-+
-+ BlockWOIndex : START_BLOCKQUOTE BodyContent . END_BLOCKQUOTE
-+
-+ END_BLOCKQUOTE shift 230
-+
-+
-+ . error
-+
-+
-+state 158:
-+
-+ Font : START_BIG TextList . END_BIG
-+
-+ END_BIG shift 231
-+
-+
-+ . error
-+
-+
-+state 159:
-+
-+ Font : START_B TextList . END_B
-+
-+ END_B shift 232
-+
-+
-+ . error
-+
-+
-+state 160:
-+
-+ Special : START_APPLET TextList . END_APPLET
-+
-+ END_APPLET shift 233
-+
-+
-+ . error
-+
-+
-+state 161:
-+
-+ AddressContent1 : Text . AddressContent1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ AddressContent1 goto 234
-+ Paragraph goto 162
-+ TextWOScript goto 89
-+ Text goto 161
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 47
-+
-+
-+state 162:
-+
-+ AddressContent1 : Paragraph . END_P AddressContent1
-+ AddressContent1 : Paragraph . AddressContent2
-+
-+ START_P shift 46
-+ END_P shift 237
-+
-+ AddressContent2 goto 236
-+ Paragraph goto 235
-+
-+ . reduce by rule 51
-+
-+
-+state 163:
-+
-+ BodyElement : START_ADDRESS AddressContent1 . END_ADDRESS
-+
-+ END_ADDRESS shift 238
-+
-+
-+ . error
-+
-+
-+state 164:
-+
-+ Special : START_A TextList . END_A
-+
-+ END_A shift 239
-+
-+
-+ . error
-+
-+
-+state 165:
-+
-+ HeadContents : HeadElements START_TITLE PCData . END_TITLE HeadElements
-+
-+ END_TITLE shift 240
-+
-+
-+ . error
-+
-+
-+state 166:
-+
-+ PCDataList : PCDataElem PCDataList . (reduce by rule 151)
-+
-+
-+
-+ . reduce by rule 151
-+
-+
-+state 167:
-+
-+ HeadElement : START_STYLE PCData END_STYLE . (reduce by rule 17)
-+
-+
-+
-+ . reduce by rule 17
-+
-+
-+state 168:
-+
-+ HeadElement : START_SCRIPT PCData END_SCRIPT . (reduce by rule 18)
-+
-+
-+
-+ . reduce by rule 18
-+
-+
-+state 169:
-+
-+ BodyContent1 : Text BodyContent1 . (reduce by rule 30)
-+
-+
-+
-+ . reduce by rule 30
-+
-+
-+state 170:
-+
-+ BodyContent1 : Paragraph BodyContent2 . (reduce by rule 34)
-+
-+
-+
-+ . reduce by rule 34
-+
-+
-+state 171:
-+
-+ BodyContent1 : Paragraph END_P . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 241
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 172:
-+
-+ BodyContent1 : Block BodyContent1 . (reduce by rule 32)
-+
-+
-+
-+ . reduce by rule 32
-+
-+
-+state 173:
-+
-+ BodyContent1 : BodyElement BodyContent1 . (reduce by rule 31)
-+
-+
-+
-+ . reduce by rule 31
-+
-+
-+state 174:
-+
-+ Text : START_SCRIPT PCData . END_SCRIPT
-+
-+ END_SCRIPT shift 242
-+
-+
-+ . error
-+
-+
-+state 175:
-+
-+ BodyContent2 : Paragraph BodyContent2 . (reduce by rule 39)
-+
-+
-+
-+ . reduce by rule 39
-+
-+
-+state 176:
-+
-+ BodyContent2 : Paragraph END_P . BodyContent1
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent1 goto 243
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 177:
-+
-+ BodyContent2 : Block BodyContent1 . (reduce by rule 37)
-+
-+
-+
-+ . reduce by rule 37
-+
-+
-+state 178:
-+
-+ BodyContent2 : BodyElement BodyContent1 . (reduce by rule 36)
-+
-+
-+
-+ . reduce by rule 36
-+
-+
-+state 179:
-+
-+ BodyContent0 : Paragraph END_P BodyContent1 . (reduce by rule 27)
-+
-+
-+
-+ . reduce by rule 27
-+
-+
-+state 180:
-+
-+ TextList' : Text TextList' . (reduce by rule 107)
-+
-+
-+
-+ . reduce by rule 107
-+
-+
-+state 181:
-+
-+ Phrase : START_VAR TextList END_VAR . (reduce by rule 130)
-+
-+
-+
-+ . reduce by rule 130
-+
-+
-+state 182:
-+
-+ ListItemList : ListItem ListItemList . (reduce by rule 71)
-+
-+
-+
-+ . reduce by rule 71
-+
-+
-+state 183:
-+
-+ List : START_UL ListItemList END_UL . (reduce by rule 65)
-+
-+
-+
-+ . reduce by rule 65
-+
-+
-+state 184:
-+
-+ Flow1 : Text . Flow1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BlockWOIndex goto 92
-+ Block goto 187
-+ Paragraph goto 186
-+ List goto 22
-+ Flow1 goto 244
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 184
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 77
-+
-+
-+state 185:
-+
-+ ListItem : START_LI Flow1 . EndLI
-+
-+ END_LI shift 246
-+
-+ EndLI goto 245
-+
-+ . reduce by rule 86
-+
-+
-+state 186:
-+
-+ Flow1 : Paragraph . END_P Flow1
-+ Flow1 : Paragraph . Flow2
-+
-+ START_BLOCKQUOTE shift 74
-+ START_CENTER shift 71
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ TAG_ISINDEX shift 96
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ END_P shift 250
-+ START_PRE shift 44
-+ START_TABLE shift 36
-+ START_UL shift 32
-+
-+ BlockWOIndex goto 92
-+ Block goto 249
-+ Paragraph goto 248
-+ List goto 22
-+ Flow2 goto 247
-+ Preformatted goto 21
-+
-+ . reduce by rule 82
-+
-+
-+state 187:
-+
-+ Flow1 : Block . Flow1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BlockWOIndex goto 92
-+ Block goto 187
-+ Paragraph goto 186
-+ List goto 22
-+ Flow1 goto 251
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 184
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 77
-+
-+
-+state 188:
-+
-+ Font : START_U TextList END_U . (reduce by rule 118)
-+
-+
-+
-+ . reduce by rule 118
-+
-+
-+state 189:
-+
-+ Font : START_TT TextList END_TT . (reduce by rule 115)
-+
-+
-+
-+ . reduce by rule 115
-+
-+
-+state 190:
-+
-+ Form : START_TEXTAREA PCData END_TEXTAREA . (reduce by rule 144)
-+
-+
-+
-+ . reduce by rule 144
-+
-+
-+state 191:
-+
-+ TableRowList : TableRow . (reduce by rule 95)
-+ TableRowList : TableRow . TableRowList
-+
-+ START_TR shift 193
-+
-+ TableRowList goto 252
-+ TableRow goto 191
-+
-+ . reduce by rule 95
-+
-+
-+state 192:
-+
-+ BlockWOIndex : START_TABLE optCaption TableRowList . END_TABLE
-+
-+ END_TABLE shift 253
-+
-+
-+ . error
-+
-+
-+state 193:
-+
-+ TableRow : START_TR . TableCellList
-+ TableRow : START_TR . TableCellList END_TR
-+
-+ START_TD shift 257
-+ START_TH shift 256
-+
-+ TableCellList goto 255
-+ TableCell goto 254
-+
-+ . error
-+
-+
-+state 194:
-+
-+ optCaption : START_CAPTION TextList . END_CAPTION
-+
-+ END_CAPTION shift 258
-+
-+
-+ . error
-+
-+
-+state 195:
-+
-+ Font : START_SUP TextList END_SUP . (reduce by rule 123)
-+
-+
-+
-+ . reduce by rule 123
-+
-+
-+state 196:
-+
-+ Font : START_SUB TextList END_SUB . (reduce by rule 122)
-+
-+
-+
-+ . reduce by rule 122
-+
-+
-+state 197:
-+
-+ Phrase : START_STRONG TextList END_STRONG . (reduce by rule 125)
-+
-+
-+
-+ . reduce by rule 125
-+
-+
-+state 198:
-+
-+ Font : START_STRIKE TextList END_STRIKE . (reduce by rule 119)
-+
-+
-+
-+ . reduce by rule 119
-+
-+
-+state 199:
-+
-+ Font : START_SMALL TextList END_SMALL . (reduce by rule 121)
-+
-+
-+
-+ . reduce by rule 121
-+
-+
-+state 200:
-+
-+ Form : START_SELECT OptionList END_SELECT . (reduce by rule 143)
-+
-+
-+
-+ . reduce by rule 143
-+
-+
-+state 201:
-+
-+ OptionList : START_OPTION PCData . EndOPTION OptionList
-+
-+ END_OPTION shift 260
-+
-+ EndOPTION goto 259
-+
-+ . reduce by rule 147
-+
-+
-+state 202:
-+
-+ Phrase : START_SAMP TextList END_SAMP . (reduce by rule 128)
-+
-+
-+
-+ . reduce by rule 128
-+
-+
-+state 203:
-+
-+ Preformatted : START_PRE TextList END_PRE . (reduce by rule 92)
-+
-+
-+
-+ . reduce by rule 92
-+
-+
-+state 204:
-+
-+ List : START_OL ListItemList END_OL . (reduce by rule 66)
-+
-+
-+
-+ . reduce by rule 66
-+
-+
-+state 205:
-+
-+ List : START_MENU ListItemList END_MENU . (reduce by rule 68)
-+
-+
-+
-+ . reduce by rule 68
-+
-+
-+state 206:
-+
-+ Special : START_MAP AreaList END_MAP . (reduce by rule 138)
-+
-+
-+
-+ . reduce by rule 138
-+
-+
-+state 207:
-+
-+ AreaList : TAG_AREA AreaList . (reduce by rule 141)
-+
-+
-+
-+ . reduce by rule 141
-+
-+
-+state 208:
-+
-+ Phrase : START_KBD TextList END_KBD . (reduce by rule 129)
-+
-+
-+
-+ . reduce by rule 129
-+
-+
-+state 209:
-+
-+ Font : START_I TextList END_I . (reduce by rule 116)
-+
-+
-+
-+ . reduce by rule 116
-+
-+
-+state 210:
-+
-+ BodyElement : START_H6 TextList END_H6 . (reduce by rule 45)
-+
-+
-+
-+ . reduce by rule 45
-+
-+
-+state 211:
-+
-+ BodyElement : START_H5 TextList END_H5 . (reduce by rule 44)
-+
-+
-+
-+ . reduce by rule 44
-+
-+
-+state 212:
-+
-+ BodyElement : START_H4 TextList END_H4 . (reduce by rule 43)
-+
-+
-+
-+ . reduce by rule 43
-+
-+
-+state 213:
-+
-+ BodyElement : START_H3 TextList END_H3 . (reduce by rule 42)
-+
-+
-+
-+ . reduce by rule 42
-+
-+
-+state 214:
-+
-+ BodyElement : START_H2 TextList END_H2 . (reduce by rule 41)
-+
-+
-+
-+ . reduce by rule 41
-+
-+
-+state 215:
-+
-+ BodyElement : START_H1 TextList END_H1 . (reduce by rule 40)
-+
-+
-+
-+ . reduce by rule 40
-+
-+
-+state 216:
-+
-+ BlockWOIndex : START_FORM BodyContent END_FORM . (reduce by rule 59)
-+
-+
-+
-+ . reduce by rule 59
-+
-+
-+state 217:
-+
-+ Special : START_BASEFONT TextList END_BASEFONT . (reduce by rule 136)
-+
-+
-+
-+ . reduce by rule 136
-+
-+
-+state 218:
-+
-+ Special : START_FONT TextList END_FONT . (reduce by rule 135)
-+
-+
-+
-+ . reduce by rule 135
-+
-+
-+state 219:
-+
-+ Phrase : START_EM TextList END_EM . (reduce by rule 124)
-+
-+
-+
-+ . reduce by rule 124
-+
-+
-+state 220:
-+
-+ DLItemList : DLItem DLItemList . (reduce by rule 74)
-+
-+
-+
-+ . reduce by rule 74
-+
-+
-+state 221:
-+
-+ List : START_DL DLItemList END_DL . (reduce by rule 69)
-+
-+
-+
-+ . reduce by rule 69
-+
-+
-+state 222:
-+
-+ DLItem : START_DT TextList . EndDT
-+
-+ END_DT shift 262
-+
-+ EndDT goto 261
-+
-+ . reduce by rule 88
-+
-+
-+state 223:
-+
-+ DLItem : START_DD Flow1 . EndDD
-+
-+ END_DD shift 264
-+
-+ EndDD goto 263
-+
-+ . reduce by rule 90
-+
-+
-+state 224:
-+
-+ BlockWOIndex : START_DIV BodyContent END_DIV . (reduce by rule 56)
-+
-+
-+
-+ . reduce by rule 56
-+
-+
-+state 225:
-+
-+ List : START_DIR ListItemList END_DIR . (reduce by rule 67)
-+
-+
-+
-+ . reduce by rule 67
-+
-+
-+state 226:
-+
-+ Phrase : START_DFN TextList END_DFN . (reduce by rule 127)
-+
-+
-+
-+ . reduce by rule 127
-+
-+
-+state 227:
-+
-+ Phrase : START_CODE TextList END_CODE . (reduce by rule 126)
-+
-+
-+
-+ . reduce by rule 126
-+
-+
-+state 228:
-+
-+ Phrase : START_CITE TextList END_CITE . (reduce by rule 131)
-+
-+
-+
-+ . reduce by rule 131
-+
-+
-+state 229:
-+
-+ BlockWOIndex : START_CENTER BodyContent END_CENTER . (reduce by rule 57)
-+
-+
-+
-+ . reduce by rule 57
-+
-+
-+state 230:
-+
-+ BlockWOIndex : START_BLOCKQUOTE BodyContent END_BLOCKQUOTE . (reduce by rule 58)
-+
-+
-+
-+ . reduce by rule 58
-+
-+
-+state 231:
-+
-+ Font : START_BIG TextList END_BIG . (reduce by rule 120)
-+
-+
-+
-+ . reduce by rule 120
-+
-+
-+state 232:
-+
-+ Font : START_B TextList END_B . (reduce by rule 117)
-+
-+
-+
-+ . reduce by rule 117
-+
-+
-+state 233:
-+
-+ Special : START_APPLET TextList END_APPLET . (reduce by rule 134)
-+
-+
-+
-+ . reduce by rule 134
-+
-+
-+state 234:
-+
-+ AddressContent1 : Text AddressContent1 . (reduce by rule 48)
-+
-+
-+
-+ . reduce by rule 48
-+
-+
-+state 235:
-+
-+ AddressContent2 : Paragraph . END_P AddressContent1
-+ AddressContent2 : Paragraph . AddressContent2
-+
-+ START_P shift 46
-+ END_P shift 266
-+
-+ AddressContent2 goto 265
-+ Paragraph goto 235
-+
-+ . reduce by rule 51
-+
-+
-+state 236:
-+
-+ AddressContent1 : Paragraph AddressContent2 . (reduce by rule 50)
-+
-+
-+
-+ . reduce by rule 50
-+
-+
-+state 237:
-+
-+ AddressContent1 : Paragraph END_P . AddressContent1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ AddressContent1 goto 267
-+ Paragraph goto 162
-+ TextWOScript goto 89
-+ Text goto 161
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 47
-+
-+
-+state 238:
-+
-+ BodyElement : START_ADDRESS AddressContent1 END_ADDRESS . (reduce by rule 46)
-+
-+
-+
-+ . reduce by rule 46
-+
-+
-+state 239:
-+
-+ Special : START_A TextList END_A . (reduce by rule 132)
-+
-+
-+
-+ . reduce by rule 132
-+
-+
-+state 240:
-+
-+ HeadContents : HeadElements START_TITLE PCData END_TITLE . HeadElements
-+
-+ TAG_BASE shift 14
-+ TAG_ISINDEX shift 13
-+ TAG_LINK shift 12
-+ TAG_META shift 11
-+ START_SCRIPT shift 10
-+ START_STYLE shift 9
-+
-+ HeadElements goto 268
-+ HeadElement goto 6
-+
-+ . reduce by rule 11
-+
-+
-+state 241:
-+
-+ BodyContent1 : Paragraph END_P BodyContent1 . (reduce by rule 33)
-+
-+
-+
-+ . reduce by rule 33
-+
-+
-+state 242:
-+
-+ Text : START_SCRIPT PCData END_SCRIPT . (reduce by rule 114)
-+
-+
-+
-+ . reduce by rule 114
-+
-+
-+state 243:
-+
-+ BodyContent2 : Paragraph END_P BodyContent1 . (reduce by rule 38)
-+
-+
-+
-+ . reduce by rule 38
-+
-+
-+state 244:
-+
-+ Flow1 : Text Flow1 . (reduce by rule 78)
-+
-+
-+
-+ . reduce by rule 78
-+
-+
-+state 245:
-+
-+ ListItem : START_LI Flow1 EndLI . (reduce by rule 72)
-+
-+
-+
-+ . reduce by rule 72
-+
-+
-+state 246:
-+
-+ EndLI : END_LI . (reduce by rule 87)
-+
-+
-+
-+ . reduce by rule 87
-+
-+
-+state 247:
-+
-+ Flow1 : Paragraph Flow2 . (reduce by rule 81)
-+
-+
-+
-+ . reduce by rule 81
-+
-+
-+state 248:
-+
-+ Flow2 : Paragraph . END_P Flow1
-+ Flow2 : Paragraph . Flow2
-+
-+ START_BLOCKQUOTE shift 74
-+ START_CENTER shift 71
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ TAG_ISINDEX shift 96
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ END_P shift 270
-+ START_PRE shift 44
-+ START_TABLE shift 36
-+ START_UL shift 32
-+
-+ BlockWOIndex goto 92
-+ Block goto 249
-+ Paragraph goto 248
-+ List goto 22
-+ Flow2 goto 269
-+ Preformatted goto 21
-+
-+ . reduce by rule 82
-+
-+
-+state 249:
-+
-+ Flow2 : Block . Flow1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BlockWOIndex goto 92
-+ Block goto 187
-+ Paragraph goto 186
-+ List goto 22
-+ Flow1 goto 271
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 184
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 77
-+
-+
-+state 250:
-+
-+ Flow1 : Paragraph END_P . Flow1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BlockWOIndex goto 92
-+ Block goto 187
-+ Paragraph goto 186
-+ List goto 22
-+ Flow1 goto 272
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 184
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 77
-+
-+
-+state 251:
-+
-+ Flow1 : Block Flow1 . (reduce by rule 79)
-+
-+
-+
-+ . reduce by rule 79
-+
-+
-+state 252:
-+
-+ TableRowList : TableRow TableRowList . (reduce by rule 96)
-+
-+
-+
-+ . reduce by rule 96
-+
-+
-+state 253:
-+
-+ BlockWOIndex : START_TABLE optCaption TableRowList END_TABLE . (reduce by rule 61)
-+
-+
-+
-+ . reduce by rule 61
-+
-+
-+state 254:
-+
-+ TableCellList : TableCell . (reduce by rule 99)
-+ TableCellList : TableCell . TableCellList
-+
-+ START_TD shift 257
-+ START_TH shift 256
-+
-+ TableCellList goto 273
-+ TableCell goto 254
-+
-+ . reduce by rule 99
-+
-+
-+state 255:
-+
-+ TableRow : START_TR TableCellList . (reduce by rule 97)
-+ TableRow : START_TR TableCellList . END_TR
-+
-+ END_TR shift 274
-+
-+
-+ . reduce by rule 97
-+
-+
-+state 256:
-+
-+ TableCell : START_TH . BodyContent END_TH
-+ TableCell : START_TH . BodyContent
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent goto 275
-+ BodyContent1 goto 141
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 257:
-+
-+ TableCell : START_TD . BodyContent END_TD
-+ TableCell : START_TD . BodyContent
-+
-+ START_A shift 79
-+ START_ADDRESS shift 78
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ START_H1 shift 60
-+ START_H2 shift 59
-+ START_H3 shift 58
-+ START_H4 shift 57
-+ START_H5 shift 56
-+ START_H6 shift 55
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BodyContent goto 276
-+ BodyContent1 goto 141
-+ BodyElement goto 93
-+ BlockWOIndex goto 92
-+ Block goto 91
-+ Paragraph goto 90
-+ List goto 22
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 88
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 29
-+
-+
-+state 258:
-+
-+ optCaption : START_CAPTION TextList END_CAPTION . (reduce by rule 94)
-+
-+
-+
-+ . reduce by rule 94
-+
-+
-+state 259:
-+
-+ OptionList : START_OPTION PCData EndOPTION . OptionList
-+
-+ START_OPTION shift 125
-+
-+ OptionList goto 277
-+
-+ . reduce by rule 145
-+
-+
-+state 260:
-+
-+ EndOPTION : END_OPTION . (reduce by rule 148)
-+
-+
-+
-+ . reduce by rule 148
-+
-+
-+state 261:
-+
-+ DLItem : START_DT TextList EndDT . (reduce by rule 75)
-+
-+
-+
-+ . reduce by rule 75
-+
-+
-+state 262:
-+
-+ EndDT : END_DT . (reduce by rule 89)
-+
-+
-+
-+ . reduce by rule 89
-+
-+
-+state 263:
-+
-+ DLItem : START_DD Flow1 EndDD . (reduce by rule 76)
-+
-+
-+
-+ . reduce by rule 76
-+
-+
-+state 264:
-+
-+ EndDD : END_DD . (reduce by rule 91)
-+
-+
-+
-+ . reduce by rule 91
-+
-+
-+state 265:
-+
-+ AddressContent2 : Paragraph AddressContent2 . (reduce by rule 53)
-+
-+
-+
-+ . reduce by rule 53
-+
-+
-+state 266:
-+
-+ AddressContent2 : Paragraph END_P . AddressContent1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ TAG_BR shift 72
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ AddressContent1 goto 278
-+ Paragraph goto 162
-+ TextWOScript goto 89
-+ Text goto 161
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 47
-+
-+
-+state 267:
-+
-+ AddressContent1 : Paragraph END_P AddressContent1 . (reduce by rule 49)
-+
-+
-+
-+ . reduce by rule 49
-+
-+
-+state 268:
-+
-+ HeadContents : HeadElements START_TITLE PCData END_TITLE HeadElements . (reduce by rule 10)
-+
-+
-+
-+ . reduce by rule 10
-+
-+
-+state 269:
-+
-+ Flow2 : Paragraph Flow2 . (reduce by rule 85)
-+
-+
-+
-+ . reduce by rule 85
-+
-+
-+state 270:
-+
-+ Flow2 : Paragraph END_P . Flow1
-+
-+ START_A shift 79
-+ START_APPLET shift 77
-+ START_B shift 76
-+ START_BIG shift 75
-+ START_BLOCKQUOTE shift 74
-+ TAG_BR shift 72
-+ START_CENTER shift 71
-+ START_CITE shift 70
-+ START_CODE shift 69
-+ START_DFN shift 68
-+ START_DIR shift 67
-+ START_DIV shift 66
-+ START_DL shift 65
-+ START_EM shift 64
-+ START_FONT shift 63
-+ START_BASEFONT shift 62
-+ START_FORM shift 61
-+ TAG_HR shift 54
-+ START_I shift 53
-+ TAG_IMG shift 52
-+ TAG_INPUT shift 51
-+ TAG_ISINDEX shift 96
-+ START_KBD shift 50
-+ START_MAP shift 49
-+ START_MENU shift 48
-+ START_OL shift 47
-+ START_P shift 46
-+ TAG_PARAM shift 45
-+ START_PRE shift 44
-+ START_SAMP shift 43
-+ START_SCRIPT shift 95
-+ START_SELECT shift 42
-+ START_SMALL shift 41
-+ START_STRIKE shift 40
-+ START_STRONG shift 39
-+ START_SUB shift 38
-+ START_SUP shift 37
-+ START_TABLE shift 36
-+ START_TEXTAREA shift 35
-+ START_TT shift 34
-+ START_U shift 33
-+ START_UL shift 32
-+ START_VAR shift 31
-+ PCDATA shift 30
-+ CHAR_REF shift 29
-+ ENTITY_REF shift 28
-+
-+ BlockWOIndex goto 92
-+ Block goto 187
-+ Paragraph goto 186
-+ List goto 22
-+ Flow1 goto 279
-+ Preformatted goto 21
-+ TextWOScript goto 89
-+ Text goto 184
-+ Font goto 19
-+ Phrase goto 18
-+ Special goto 17
-+ Form goto 16
-+ PCDataElem goto 15
-+
-+ . reduce by rule 77
-+
-+
-+state 271:
-+
-+ Flow2 : Block Flow1 . (reduce by rule 83)
-+
-+
-+
-+ . reduce by rule 83
-+
-+
-+state 272:
-+
-+ Flow1 : Paragraph END_P Flow1 . (reduce by rule 80)
-+
-+
-+
-+ . reduce by rule 80
-+
-+
-+state 273:
-+
-+ TableCellList : TableCell TableCellList . (reduce by rule 100)
-+
-+
-+
-+ . reduce by rule 100
-+
-+
-+state 274:
-+
-+ TableRow : START_TR TableCellList END_TR . (reduce by rule 98)
-+
-+
-+
-+ . reduce by rule 98
-+
-+
-+state 275:
-+
-+ TableCell : START_TH BodyContent . END_TH
-+ TableCell : START_TH BodyContent . (reduce by rule 102)
-+
-+ END_TH shift 280
-+
-+
-+ . reduce by rule 102
-+
-+
-+state 276:
-+
-+ TableCell : START_TD BodyContent . END_TD
-+ TableCell : START_TD BodyContent . (reduce by rule 104)
-+
-+ END_TD shift 281
-+
-+
-+ . reduce by rule 104
-+
-+
-+state 277:
-+
-+ OptionList : START_OPTION PCData EndOPTION OptionList . (reduce by rule 146)
-+
-+
-+
-+ . reduce by rule 146
-+
-+
-+state 278:
-+
-+ AddressContent2 : Paragraph END_P AddressContent1 . (reduce by rule 52)
-+
-+
-+
-+ . reduce by rule 52
-+
-+
-+state 279:
-+
-+ Flow2 : Paragraph END_P Flow1 . (reduce by rule 84)
-+
-+
-+
-+ . reduce by rule 84
-+
-+
-+state 280:
-+
-+ TableCell : START_TH BodyContent END_TH . (reduce by rule 101)
-+
-+
-+
-+ . reduce by rule 101
-+
-+
-+state 281:
-+
-+ TableCell : START_TD BodyContent END_TD . (reduce by rule 103)
-+
-+
-+
-+ . reduce by rule 103
-+
-+
-+state 282:
-+
-+
-+ EOF accept
-+
-+
-+ . error
-+
-+398 of 2987 action table entries left after compaction
-+788 goto table entries
-diff -Naur smlnj-lib/HTML/html-gram.sig smlnj-lib-mlton/HTML/html-gram.sig
---- smlnj-lib/HTML/html-gram.sig 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-gram.sig 2005-08-18 12:09:03.000000000 -0400
-@@ -0,0 +1,140 @@
-+signature HTML_TOKENS =
-+sig
-+type ('a,'b) token
-+type svalue
-+val ENTITY_REF: (string) * 'a * 'a -> (svalue,'a) token
-+val CHAR_REF: (string) * 'a * 'a -> (svalue,'a) token
-+val PCDATA: (string) * 'a * 'a -> (svalue,'a) token
-+val END_VAR: 'a * 'a -> (svalue,'a) token
-+val START_VAR: 'a * 'a -> (svalue,'a) token
-+val END_UL: 'a * 'a -> (svalue,'a) token
-+val START_UL: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_U: 'a * 'a -> (svalue,'a) token
-+val START_U: 'a * 'a -> (svalue,'a) token
-+val END_TT: 'a * 'a -> (svalue,'a) token
-+val START_TT: 'a * 'a -> (svalue,'a) token
-+val END_TR: 'a * 'a -> (svalue,'a) token
-+val START_TR: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_TITLE: 'a * 'a -> (svalue,'a) token
-+val START_TITLE: 'a * 'a -> (svalue,'a) token
-+val END_TH: 'a * 'a -> (svalue,'a) token
-+val START_TH: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_TEXTAREA: 'a * 'a -> (svalue,'a) token
-+val START_TEXTAREA: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_TD: 'a * 'a -> (svalue,'a) token
-+val START_TD: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_TABLE: 'a * 'a -> (svalue,'a) token
-+val START_TABLE: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_SUP: 'a * 'a -> (svalue,'a) token
-+val START_SUP: 'a * 'a -> (svalue,'a) token
-+val END_SUB: 'a * 'a -> (svalue,'a) token
-+val START_SUB: 'a * 'a -> (svalue,'a) token
-+val END_STYLE: 'a * 'a -> (svalue,'a) token
-+val START_STYLE: 'a * 'a -> (svalue,'a) token
-+val END_STRONG: 'a * 'a -> (svalue,'a) token
-+val START_STRONG: 'a * 'a -> (svalue,'a) token
-+val END_STRIKE: 'a * 'a -> (svalue,'a) token
-+val START_STRIKE: 'a * 'a -> (svalue,'a) token
-+val END_SMALL: 'a * 'a -> (svalue,'a) token
-+val START_SMALL: 'a * 'a -> (svalue,'a) token
-+val END_SELECT: 'a * 'a -> (svalue,'a) token
-+val START_SELECT: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_SCRIPT: 'a * 'a -> (svalue,'a) token
-+val START_SCRIPT: 'a * 'a -> (svalue,'a) token
-+val END_SAMP: 'a * 'a -> (svalue,'a) token
-+val START_SAMP: 'a * 'a -> (svalue,'a) token
-+val END_PRE: 'a * 'a -> (svalue,'a) token
-+val START_PRE: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val TAG_PARAM: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_P: 'a * 'a -> (svalue,'a) token
-+val START_P: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_OPTION: 'a * 'a -> (svalue,'a) token
-+val START_OPTION: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_OL: 'a * 'a -> (svalue,'a) token
-+val START_OL: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val TAG_META: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_MENU: 'a * 'a -> (svalue,'a) token
-+val START_MENU: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_MAP: 'a * 'a -> (svalue,'a) token
-+val START_MAP: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val TAG_LINK: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_LI: 'a * 'a -> (svalue,'a) token
-+val START_LI: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_KBD: 'a * 'a -> (svalue,'a) token
-+val START_KBD: 'a * 'a -> (svalue,'a) token
-+val TAG_ISINDEX: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val TAG_INPUT: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val TAG_IMG: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_I: 'a * 'a -> (svalue,'a) token
-+val START_I: 'a * 'a -> (svalue,'a) token
-+val END_HTML: 'a * 'a -> (svalue,'a) token
-+val START_HTML: 'a * 'a -> (svalue,'a) token
-+val TAG_HR: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_HEAD: 'a * 'a -> (svalue,'a) token
-+val START_HEAD: 'a * 'a -> (svalue,'a) token
-+val END_H6: 'a * 'a -> (svalue,'a) token
-+val START_H6: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_H5: 'a * 'a -> (svalue,'a) token
-+val START_H5: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_H4: 'a * 'a -> (svalue,'a) token
-+val START_H4: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_H3: 'a * 'a -> (svalue,'a) token
-+val START_H3: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_H2: 'a * 'a -> (svalue,'a) token
-+val START_H2: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_H1: 'a * 'a -> (svalue,'a) token
-+val START_H1: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_FORM: 'a * 'a -> (svalue,'a) token
-+val START_FORM: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_BASEFONT: 'a * 'a -> (svalue,'a) token
-+val START_BASEFONT: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_FONT: 'a * 'a -> (svalue,'a) token
-+val START_FONT: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_EM: 'a * 'a -> (svalue,'a) token
-+val START_EM: 'a * 'a -> (svalue,'a) token
-+val END_DT: 'a * 'a -> (svalue,'a) token
-+val START_DT: 'a * 'a -> (svalue,'a) token
-+val END_DL: 'a * 'a -> (svalue,'a) token
-+val START_DL: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_DIV: 'a * 'a -> (svalue,'a) token
-+val START_DIV: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_DIR: 'a * 'a -> (svalue,'a) token
-+val START_DIR: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_DFN: 'a * 'a -> (svalue,'a) token
-+val START_DFN: 'a * 'a -> (svalue,'a) token
-+val END_DD: 'a * 'a -> (svalue,'a) token
-+val START_DD: 'a * 'a -> (svalue,'a) token
-+val END_CODE: 'a * 'a -> (svalue,'a) token
-+val START_CODE: 'a * 'a -> (svalue,'a) token
-+val END_CITE: 'a * 'a -> (svalue,'a) token
-+val START_CITE: 'a * 'a -> (svalue,'a) token
-+val END_CENTER: 'a * 'a -> (svalue,'a) token
-+val START_CENTER: 'a * 'a -> (svalue,'a) token
-+val END_CAPTION: 'a * 'a -> (svalue,'a) token
-+val START_CAPTION: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val TAG_BR: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_BODY: 'a * 'a -> (svalue,'a) token
-+val START_BODY: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_BLOCKQUOTE: 'a * 'a -> (svalue,'a) token
-+val START_BLOCKQUOTE: 'a * 'a -> (svalue,'a) token
-+val END_BIG: 'a * 'a -> (svalue,'a) token
-+val START_BIG: 'a * 'a -> (svalue,'a) token
-+val TAG_BASE: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_B: 'a * 'a -> (svalue,'a) token
-+val START_B: 'a * 'a -> (svalue,'a) token
-+val TAG_AREA: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_APPLET: 'a * 'a -> (svalue,'a) token
-+val START_APPLET: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val END_ADDRESS: 'a * 'a -> (svalue,'a) token
-+val START_ADDRESS: 'a * 'a -> (svalue,'a) token
-+val END_A: 'a * 'a -> (svalue,'a) token
-+val START_A: (HTMLAttrVals.attrs) * 'a * 'a -> (svalue,'a) token
-+val EOF: 'a * 'a -> (svalue,'a) token
-+end
-+signature HTML_LRVALS=
-+sig
-+structure Tokens : HTML_TOKENS
-+structure ParserData:PARSER_DATA
-+sharing type ParserData.Token.token = Tokens.token
-+sharing type ParserData.svalue = Tokens.svalue
-+end
-diff -Naur smlnj-lib/HTML/html-gram.sml smlnj-lib-mlton/HTML/html-gram.sml
---- smlnj-lib/HTML/html-gram.sml 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-gram.sml 2005-08-18 12:09:03.000000000 -0400
-@@ -0,0 +1,2478 @@
-+
-+
-+ functor HTMLLrValsFn (
-+ structure Token : TOKEN
-+ structure HTMLAttrs : HTML_ATTRS) =
-+struct
-+structure ParserData=
-+struct
-+structure Header =
-+struct
-+(* html-gram
+diff -Naur smlnj-lib/HTML/.#html-elements-fn.sml.1.2 smlnj-lib-mlton/HTML/.#html-elements-fn.sml.1.2
+--- smlnj-lib/HTML/.#html-elements-fn.sml.1.2 1969-12-31 19:00:00.000000000 -0500
++++ smlnj-lib-mlton/HTML/.#html-elements-fn.sml.1.2 2005-08-17 20:13:04.000000000 -0400
+@@ -0,0 +1,250 @@
++(* html-elements-fn.sml
+ *
-+ * COPYRIGHT (c) 1996 AT&T Research.
++ * COPYRIGHT (c) 1996 AT&T REsearch.
+ *
-+ * This grammar parses HTML 3.2. Note that it does not enforce exclusions
-+ * (for the content of FORM, PRE, etc). Exclusions should be enforced as
-+ * a second pass over the parse tree.
++ * This module builds element tags for the lexer.
+ *)
+
-+fun textList [text] = text
-+ | textList l = HTML.TextList l
++functor HTMLElementsFn (
++ structure Tokens : HTML_TOKENS
++ structure Err : HTML_ERROR
++ structure HTMLAttrs : HTML_ATTRS
++ ) : sig
+
-+fun blockList [blk] = blk
-+ | blockList l = HTML.BlockList l
++ structure T : HTML_TOKENS
+
-+fun textBlock l = HTML.TextBlock(textList l)
-+
-+(* The elements of a definition list (<DL>) are tags (<DT>) and items (<DD>).
-+ * To avoid shift/reduce problems, we parse them and then group them.
-+ *)
-+datatype deflist_item
-+ = DL_tag of HTML.text
-+ | DL_item of HTML.block
++ type pos = int
+
-+fun groupDefListContents [] = []
-+ | groupDefListContents (h :: t) = let
-+ fun gdlc (DL_tag tag, []) = ({dt=[tag], dd=HTML.BlockList[]}, [])
-+ | gdlc (DL_tag tag, h :: t) = let
-+ val ({dt, dd}, r) = gdlc (h, t)
-+ in
-+ ({dt = tag :: dt, dd = dd}, r)
-+ end
-+ | gdlc (DL_item blk, r) = ({dt=[],dd=blk}, groupDefListContents r)
-+ in
-+ op :: (gdlc (h, t))
-+ end
++ val startTag : string option
++ -> (string * pos * pos) -> (T.svalue, pos) T.token option
++ val endTag : string option
++ -> (string * pos * pos) -> (T.svalue, pos) T.token option
+
-+(* A list of Text, paragraphs and blocks requires grouping the Text items and
-+ * making an implicit paragraph. We cannot directly use TextList because of
-+ * conflicts.
-+ *)
-+datatype blklist_item
-+ = BL_text of HTML.text list
-+ | BL_block of HTML.block list
++ end = struct
+
-+fun consText (txt, BL_text tl :: r) = BL_text(txt::tl) :: r
-+ | consText (txt, l) = BL_text[txt] :: l
++ structure T = Tokens
++ structure A = HTMLAttrs
+
-+fun consBlock (blk, BL_block bl :: r) = BL_block(blk::bl) :: r
-+ | consBlock (blk, l) = BL_block[blk] :: l
++ type pos = int
+
-+fun mkBlock blks = let
-+ fun f (BL_text tl) = textBlock tl
-+ | f (BL_block bl) = blockList bl
-+ in
-+ blockList(List.map f blks)
-+ end
++ datatype start_tag
++ = WAttrs of ((A.attrs * pos * pos) -> (T.svalue, pos) T.token)
++ | WOAttrs of ((pos * pos) -> (T.svalue, pos) T.token)
++ datatype end_tag
++ = End of ((pos * pos) -> (T.svalue, pos) T.token)
++ | Empty
+
-+fun mkBody blks = HTML.BODY{
-+ background = NONE,
-+ bgcolor = NONE,
-+ text = NONE,
-+ link = NONE,
-+ vlink = NONE,
-+ alink = NONE,
-+ content = mkBlock blks
-+ }
++ val tokenData = [
++ ("A", WAttrs T.START_A, End T.END_A),
++ ("ADDRESS", WOAttrs T.START_ADDRESS, End T.END_ADDRESS),
++ ("APPLET", WAttrs T.START_APPLET, End T.END_APPLET),
++ ("AREA", WAttrs T.TAG_AREA, Empty),
++ ("B", WOAttrs T.START_B, End T.END_B),
++ ("BASE", WAttrs T.TAG_BASE, Empty),
++ ("BASEFONT", WAttrs T.START_BASEFONT, End T.END_BASEFONT),
++ ("BIG", WOAttrs T.START_BIG, End T.END_BIG),
++ ("BLOCKQUOTE", WOAttrs T.START_BLOCKQUOTE, End T.END_BLOCKQUOTE),
++ ("BODY", WAttrs T.START_BODY, End T.END_BODY),
++ ("BR", WAttrs T.TAG_BR, Empty),
++ ("CAPTION", WAttrs T.START_CAPTION, End T.END_CAPTION),
++ ("CENTER", WOAttrs T.START_CENTER, End T.END_CENTER),
++ ("CITE", WOAttrs T.START_CITE, End T.END_CITE),
++ ("CODE", WOAttrs T.START_CODE, End T.END_CODE),
++ ("DD", WOAttrs T.START_DD, End T.END_DD),
++ ("DFN", WOAttrs T.START_DFN, End T.END_DFN),
++ ("DIR", WAttrs T.START_DIR, End T.END_DIR),
++ ("DIV", WAttrs T.START_DIV, End T.END_DIV),
++ ("DL", WAttrs T.START_DL, End T.END_DL),
++ ("DT", WOAttrs T.START_DT, End T.END_DT),
++ ("EM", WOAttrs T.START_EM, End T.END_EM),
++ ("FONT", WAttrs T.START_FONT, End T.END_FONT),
++ ("FORM", WAttrs T.START_FORM, End T.END_FORM),
++ ("H1", WAttrs T.START_H1, End T.END_H1),
++ ("H2", WAttrs T.START_H2, End T.END_H2),
++ ("H3", WAttrs T.START_H3, End T.END_H3),
++ ("H4", WAttrs T.START_H4, End T.END_H4),
++ ("H5", WAttrs T.START_H5, End T.END_H5),
++ ("H6", WAttrs T.START_H6, End T.END_H6),
++ ("HEAD", WOAttrs T.START_HEAD, End T.END_HEAD),
++ ("HR", WAttrs T.TAG_HR, Empty),
++ ("HTML", WOAttrs T.START_HTML, End T.END_HTML),
++ ("I", WOAttrs T.START_I, End T.END_I),
++ ("IMG", WAttrs T.TAG_IMG, Empty),
++ ("INPUT", WAttrs T.TAG_INPUT, Empty),
++ ("ISINDEX", WAttrs T.TAG_ISINDEX, Empty),
++ ("KBD", WOAttrs T.START_KBD, End T.END_KBD),
++ ("LI", WAttrs T.START_LI, End T.END_LI),
++ ("LINK", WAttrs T.TAG_LINK, Empty),
++ ("MAP", WAttrs T.START_MAP, End T.END_MAP),
++ ("MENU", WAttrs T.START_MENU, End T.END_MENU),
++ ("META", WAttrs T.TAG_META, Empty),
++ ("OL", WAttrs T.START_OL, End T.END_OL),
++ ("OPTION", WAttrs T.START_OPTION, End T.END_OPTION),
++ ("P", WAttrs T.START_P, End T.END_P),
++ ("PARAM", WAttrs T.TAG_PARAM, Empty),
++ ("PRE", WAttrs T.START_PRE, End T.END_PRE),
++ ("SAMP", WOAttrs T.START_SAMP, End T.END_SAMP),
++ ("SCRIPT", WOAttrs T.START_SCRIPT, End T.END_SCRIPT),
++ ("SELECT", WAttrs T.START_SELECT, End T.END_SELECT),
++ ("SMALL", WOAttrs T.START_SMALL, End T.END_SMALL),
++ ("STRIKE", WOAttrs T.START_STRIKE, End T.END_STRIKE),
++ ("STRONG", WOAttrs T.START_STRONG, End T.END_STRONG),
++ ("STYLE", WOAttrs T.START_STYLE, End T.END_STYLE),
++ ("SUB", WOAttrs T.START_SUB, End T.END_SUB),
++ ("SUP", WOAttrs T.START_SUP, End T.END_SUP),
++ ("TABLE", WAttrs T.START_TABLE, End T.END_TABLE),
++ ("TD", WAttrs T.START_TD, End T.END_TD),
++ ("TEXTAREA", WAttrs T.START_TEXTAREA, End T.END_TEXTAREA),
++ ("TH", WAttrs T.START_TH, End T.END_TH),
++ ("TITLE", WOAttrs T.START_TITLE, End T.END_TITLE),
++ ("TR", WAttrs T.START_TR, End T.END_TR),
++ ("TT", WOAttrs T.START_TT, End T.END_TT),
++ ("U", WOAttrs T.START_U, End T.END_U),
++ ("UL", WAttrs T.START_UL, End T.END_UL),
++ ("VAR", WOAttrs T.START_VAR, End T.END_VAR)
++ ]
+
++ structure HTbl = HashTableFn (struct
++ type hash_key = string
++ val hashVal = HashString.hashString
++ val sameKey = (op = : (string * string) -> bool)
++ end)
+
-+end
-+structure LrTable = Token.LrTable
-+structure Token = Token
-+local open LrTable in
-+val table=let val actionRows =
-+"\
-+\\001\000\001\000\000\000\000\000\
-+\\001\000\002\000\081\000\004\000\080\000\006\000\079\000\009\000\078\000\
-+\\012\000\077\000\014\000\076\000\016\000\075\000\018\000\074\000\
-+\\021\000\073\000\023\000\072\000\025\000\071\000\029\000\070\000\
-+\\031\000\069\000\033\000\068\000\035\000\067\000\039\000\066\000\
-+\\041\000\065\000\043\000\064\000\045\000\063\000\047\000\062\000\
-+\\049\000\061\000\051\000\060\000\053\000\059\000\055\000\058\000\
-+\\057\000\057\000\061\000\056\000\064\000\055\000\066\000\054\000\
-+\\067\000\053\000\069\000\052\000\074\000\051\000\076\000\050\000\
-+\\079\000\049\000\083\000\048\000\085\000\047\000\086\000\046\000\
-+\\088\000\045\000\092\000\044\000\094\000\043\000\096\000\042\000\
-+\\098\000\041\000\102\000\040\000\104\000\039\000\106\000\038\000\
-+\\110\000\037\000\118\000\036\000\120\000\035\000\122\000\034\000\
-+\\124\000\033\000\126\000\032\000\127\000\031\000\128\000\030\000\000\000\
-+\\001\000\003\000\241\000\000\000\
-+\\001\000\005\000\240\000\000\000\
-+\\001\000\007\000\235\000\000\000\
-+\\001\000\010\000\234\000\000\000\
-+\\001\000\013\000\233\000\000\000\
-+\\001\000\015\000\232\000\000\000\
-+\\001\000\020\000\004\001\000\000\
-+\\001\000\022\000\231\000\000\000\
-+\\001\000\024\000\230\000\000\000\
-+\\001\000\026\000\229\000\000\000\
-+\\001\000\030\000\228\000\000\000\
-+\\001\000\032\000\227\000\000\000\
-+\\001\000\034\000\226\000\000\000\
-+\\001\000\036\000\223\000\000\000\
-+\\001\000\040\000\221\000\000\000\
-+\\001\000\042\000\220\000\000\000\
-+\\001\000\044\000\219\000\000\000\
-+\\001\000\046\000\218\000\000\000\
-+\\001\000\048\000\217\000\000\000\
-+\\001\000\050\000\216\000\000\000\
-+\\001\000\052\000\215\000\000\000\
-+\\001\000\054\000\214\000\000\000\
-+\\001\000\056\000\213\000\000\000\
-+\\001\000\058\000\212\000\000\000\
-+\\001\000\065\000\211\000\000\000\
-+\\001\000\070\000\210\000\000\000\
-+\\001\000\075\000\208\000\000\000\
-+\\001\000\077\000\207\000\000\000\
-+\\001\000\080\000\206\000\000\000\
-+\\001\000\087\000\205\000\000\000\
-+\\001\000\089\000\204\000\000\000\
-+\\001\000\091\000\170\000\000\000\
-+\\001\000\091\000\244\000\000\000\
-+\\001\000\093\000\202\000\000\000\
-+\\001\000\095\000\201\000\000\000\
-+\\001\000\097\000\200\000\000\000\
-+\\001\000\099\000\199\000\000\000\
-+\\001\000\101\000\169\000\000\000\
-+\\001\000\103\000\198\000\000\000\
-+\\001\000\105\000\197\000\000\000\
-+\\001\000\107\000\255\000\000\000\
-+\\001\000\108\000\003\001\112\000\002\001\000\000\
-+\\001\000\111\000\192\000\000\000\
-+\\001\000\114\000\083\000\000\000\
-+\\001\000\115\000\242\000\000\000\
-+\\001\000\116\000\195\000\000\000\
-+\\001\000\119\000\191\000\000\000\
-+\\001\000\121\000\190\000\000\000\
-+\\001\000\123\000\185\000\000\000\
-+\\001\000\125\000\183\000\000\000\
-+\\029\001\000\000\
-+\\030\001\062\000\004\000\000\000\
-+\\031\001\000\000\
-+\\032\001\063\000\109\000\000\000\
-+\\033\001\000\000\
-+\\034\001\000\000\
-+\\035\001\059\000\007\000\000\000\
-+\\036\001\000\000\
-+\\037\001\060\000\085\000\000\000\
-+\\038\001\000\000\
-+\\039\001\000\000\
-+\\040\001\011\000\016\000\068\000\015\000\073\000\014\000\078\000\013\000\
-+\\090\000\012\000\100\000\011\000\000\000\
-+\\041\001\000\000\
-+\\042\001\000\000\
-+\\043\001\000\000\
-+\\044\001\000\000\
-+\\045\001\000\000\
-+\\046\001\000\000\
-+\\047\001\000\000\
-+\\048\001\000\000\
-+\\049\001\017\000\107\000\000\000\
-+\\050\001\000\000\
-+\\051\001\000\000\
-+\\052\001\000\000\
-+\\053\001\000\000\
-+\\054\001\000\000\
-+\\055\001\000\000\
-+\\056\001\000\000\
-+\\057\001\000\000\
-+\\058\001\002\000\081\000\004\000\080\000\006\000\079\000\009\000\078\000\
-+\\012\000\077\000\014\000\076\000\018\000\074\000\021\000\073\000\
-+\\023\000\072\000\025\000\071\000\029\000\070\000\031\000\069\000\
-+\\033\000\068\000\035\000\067\000\039\000\066\000\041\000\065\000\
-+\\043\000\064\000\045\000\063\000\047\000\062\000\049\000\061\000\
-+\\051\000\060\000\053\000\059\000\055\000\058\000\057\000\057\000\
-+\\061\000\056\000\064\000\055\000\066\000\054\000\067\000\053\000\
-+\\068\000\098\000\069\000\052\000\074\000\051\000\076\000\050\000\
-+\\079\000\049\000\083\000\048\000\085\000\047\000\086\000\046\000\
-+\\088\000\045\000\090\000\097\000\092\000\044\000\094\000\043\000\
-+\\096\000\042\000\098\000\041\000\102\000\040\000\104\000\039\000\
-+\\106\000\038\000\110\000\037\000\118\000\036\000\120\000\035\000\
-+\\122\000\034\000\124\000\033\000\126\000\032\000\127\000\031\000\
-+\\128\000\030\000\000\000\
-+\\059\001\000\000\
-+\\060\001\000\000\
-+\\061\001\000\000\
-+\\062\001\000\000\
-+\\063\001\000\000\
-+\\064\001\004\000\080\000\014\000\076\000\021\000\073\000\031\000\069\000\
-+\\033\000\068\000\035\000\067\000\045\000\063\000\047\000\062\000\
-+\\049\000\061\000\051\000\060\000\053\000\059\000\055\000\058\000\
-+\\057\000\057\000\061\000\056\000\068\000\098\000\076\000\050\000\
-+\\079\000\049\000\083\000\048\000\084\000\103\000\086\000\046\000\
-+\\106\000\038\000\122\000\034\000\000\000\
-+\\064\001\004\000\080\000\014\000\076\000\021\000\073\000\031\000\069\000\
-+\\033\000\068\000\035\000\067\000\045\000\063\000\047\000\062\000\
-+\\049\000\061\000\051\000\060\000\053\000\059\000\055\000\058\000\
-+\\057\000\057\000\061\000\056\000\068\000\098\000\076\000\050\000\
-+\\079\000\049\000\083\000\048\000\084\000\173\000\086\000\046\000\
-+\\106\000\038\000\122\000\034\000\000\000\
-+\\064\001\004\000\080\000\014\000\076\000\021\000\073\000\031\000\069\000\
-+\\033\000\068\000\035\000\067\000\045\000\063\000\047\000\062\000\
-+\\049\000\061\000\051\000\060\000\053\000\059\000\055\000\058\000\
-+\\057\000\057\000\061\000\056\000\068\000\098\000\076\000\050\000\
-+\\079\000\049\000\083\000\048\000\084\000\178\000\086\000\046\000\
-+\\106\000\038\000\122\000\034\000\000\000\
-+\\065\001\000\000\
-+\\066\001\000\000\
-+\\067\001\000\000\
-+\\068\001\000\000\
-+\\069\001\000\000\
-+\\070\001\000\000\
-+\\071\001\000\000\
-+\\072\001\000\000\
-+\\073\001\000\000\
-+\\074\001\000\000\
-+\\075\001\000\000\
-+\\076\001\002\000\081\000\006\000\079\000\009\000\078\000\012\000\077\000\
-+\\018\000\074\000\023\000\072\000\025\000\071\000\029\000\070\000\
-+\\039\000\066\000\041\000\065\000\043\000\064\000\064\000\055\000\
-+\\066\000\054\000\067\000\053\000\069\000\052\000\074\000\051\000\
-+\\083\000\048\000\085\000\047\000\088\000\045\000\090\000\097\000\
-+\\092\000\044\000\094\000\043\000\096\000\042\000\098\000\041\000\
-+\\102\000\040\000\104\000\039\000\110\000\037\000\118\000\036\000\
-+\\120\000\035\000\124\000\033\000\126\000\032\000\127\000\031\000\
-+\\128\000\030\000\000\000\
-+\\077\001\000\000\
-+\\078\001\000\000\
-+\\079\001\000\000\
-+\\080\001\083\000\048\000\084\000\239\000\000\000\
-+\\080\001\083\000\048\000\084\000\012\001\000\000\
-+\\081\001\000\000\
-+\\082\001\000\000\
-+\\083\001\000\000\
-+\\084\001\000\000\
-+\\085\001\000\000\
-+\\086\001\000\000\
-+\\087\001\000\000\
-+\\088\001\000\000\
-+\\089\001\000\000\
-+\\090\001\000\000\
-+\\091\001\000\000\
-+\\092\001\000\000\
-+\\093\001\000\000\
-+\\094\001\000\000\
-+\\095\001\000\000\
-+\\096\001\000\000\
-+\\097\001\000\000\
-+\\098\001\000\000\
-+\\099\001\071\000\115\000\000\000\
-+\\100\001\000\000\
-+\\101\001\000\000\
-+\\102\001\027\000\151\000\037\000\150\000\000\000\
-+\\103\001\000\000\
-+\\104\001\000\000\
-+\\105\001\000\000\
-+\\106\001\002\000\081\000\006\000\079\000\009\000\078\000\012\000\077\000\
-+\\014\000\076\000\018\000\074\000\021\000\073\000\023\000\072\000\
-+\\025\000\071\000\029\000\070\000\031\000\069\000\033\000\068\000\
-+\\035\000\067\000\039\000\066\000\041\000\065\000\043\000\064\000\
-+\\045\000\063\000\061\000\056\000\064\000\055\000\066\000\054\000\
-+\\067\000\053\000\068\000\098\000\069\000\052\000\074\000\051\000\
-+\\076\000\050\000\079\000\049\000\083\000\048\000\085\000\047\000\
-+\\086\000\046\000\088\000\045\000\090\000\097\000\092\000\044\000\
-+\\094\000\043\000\096\000\042\000\098\000\041\000\102\000\040\000\
-+\\104\000\039\000\106\000\038\000\110\000\037\000\118\000\036\000\
-+\\120\000\035\000\122\000\034\000\124\000\033\000\126\000\032\000\
-+\\127\000\031\000\128\000\030\000\000\000\
-+\\107\001\000\000\
-+\\108\001\000\000\
-+\\109\001\000\000\
-+\\110\001\000\000\
-+\\111\001\014\000\076\000\021\000\073\000\031\000\069\000\033\000\068\000\
-+\\035\000\067\000\045\000\063\000\061\000\056\000\068\000\098\000\
-+\\076\000\050\000\079\000\049\000\083\000\048\000\084\000\252\000\
-+\\086\000\046\000\106\000\038\000\122\000\034\000\000\000\
-+\\111\001\014\000\076\000\021\000\073\000\031\000\069\000\033\000\068\000\
-+\\035\000\067\000\045\000\063\000\061\000\056\000\068\000\098\000\
-+\\076\000\050\000\079\000\049\000\083\000\048\000\084\000\016\001\
-+\\086\000\046\000\106\000\038\000\122\000\034\000\000\000\
-+\\112\001\000\000\
-+\\113\001\000\000\
-+\\114\001\000\000\
-+\\115\001\072\000\248\000\000\000\
-+\\116\001\000\000\
-+\\117\001\038\000\008\001\000\000\
-+\\118\001\000\000\
-+\\119\001\028\000\010\001\000\000\
-+\\120\001\000\000\
-+\\121\001\000\000\
-+\\122\001\019\000\120\000\000\000\
-+\\123\001\000\000\
-+\\124\001\116\000\195\000\000\000\
-+\\125\001\000\000\
-+\\126\001\117\000\020\001\000\000\
-+\\127\001\000\000\
-+\\128\001\108\000\003\001\112\000\002\001\000\000\
-+\\129\001\000\000\
-+\\130\001\000\000\
-+\\131\001\113\000\026\001\000\000\
-+\\132\001\000\000\
-+\\133\001\109\000\027\001\000\000\
-+\\134\001\000\000\
-+\\135\001\002\000\081\000\006\000\079\000\009\000\078\000\012\000\077\000\
-+\\018\000\074\000\023\000\072\000\025\000\071\000\029\000\070\000\
-+\\039\000\066\000\041\000\065\000\043\000\064\000\064\000\055\000\
-+\\066\000\054\000\067\000\053\000\069\000\052\000\074\000\051\000\
-+\\085\000\047\000\088\000\045\000\090\000\097\000\092\000\044\000\
-+\\094\000\043\000\096\000\042\000\098\000\041\000\102\000\040\000\
-+\\104\000\039\000\110\000\037\000\118\000\036\000\120\000\035\000\
-+\\124\000\033\000\126\000\032\000\127\000\031\000\128\000\030\000\000\000\
-+\\136\001\000\000\
-+\\137\001\000\000\
-+\\138\001\000\000\
-+\\139\001\000\000\
-+\\140\001\000\000\
-+\\141\001\000\000\
-+\\142\001\000\000\
-+\\143\001\000\000\
-+\\144\001\000\000\
-+\\145\001\000\000\
-+\\146\001\000\000\
-+\\147\001\000\000\
-+\\148\001\000\000\
-+\\149\001\000\000\
-+\\150\001\000\000\
-+\\151\001\000\000\
-+\\152\001\000\000\
-+\\153\001\000\000\
-+\\154\001\000\000\
-+\\155\001\000\000\
-+\\156\001\000\000\
-+\\157\001\000\000\
-+\\158\001\000\000\
-+\\159\001\000\000\
-+\\160\001\000\000\
-+\\161\001\000\000\
-+\\162\001\000\000\
-+\\163\001\000\000\
-+\\164\001\000\000\
-+\\165\001\000\000\
-+\\166\001\000\000\
-+\\167\001\000\000\
-+\\168\001\000\000\
-+\\169\001\008\000\134\000\000\000\
-+\\170\001\000\000\
-+\\171\001\000\000\
-+\\172\001\000\000\
-+\\173\001\000\000\
-+\\174\001\081\000\127\000\000\000\
-+\\175\001\000\000\
-+\\176\001\082\000\006\001\000\000\
-+\\177\001\000\000\
-+\\178\001\000\000\
-+\\179\001\126\000\032\000\127\000\031\000\128\000\030\000\000\000\
-+\\180\001\000\000\
-+\\181\001\000\000\
-+\\182\001\000\000\
-+\\183\001\000\000\
-+\"
-+val actionRowNumbers =
-+"\053\000\058\000\054\000\063\000\
-+\\001\000\059\000\063\000\045\000\
-+\\060\000\206\000\206\000\065\000\
-+\\066\000\067\000\068\000\164\000\
-+\\168\000\167\000\166\000\165\000\
-+\\081\000\110\000\109\000\087\000\
-+\\081\000\081\000\072\000\055\000\
-+\\210\000\209\000\208\000\162\000\
-+\\125\000\162\000\162\000\206\000\
-+\\149\000\162\000\162\000\162\000\
-+\\162\000\162\000\201\000\162\000\
-+\\162\000\195\000\162\000\125\000\
-+\\125\000\196\000\162\000\198\000\
-+\\189\000\162\000\115\000\162\000\
-+\\162\000\162\000\162\000\162\000\
-+\\162\000\081\000\162\000\162\000\
-+\\162\000\128\000\081\000\125\000\
-+\\162\000\162\000\162\000\081\000\
-+\\193\000\081\000\081\000\162\000\
-+\\162\000\162\000\101\000\162\000\
-+\\064\000\206\000\057\000\061\000\
-+\\206\000\205\000\039\000\033\000\
-+\\081\000\169\000\088\000\081\000\
-+\\117\000\081\000\076\000\206\000\
-+\\118\000\089\000\081\000\081\000\
-+\\080\000\081\000\078\000\077\000\
-+\\071\000\073\000\052\000\056\000\
-+\\162\000\161\000\051\000\125\000\
-+\\050\000\132\000\049\000\048\000\
-+\\044\000\047\000\162\000\041\000\
-+\\040\000\038\000\037\000\036\000\
-+\\035\000\206\000\032\000\031\000\
-+\\119\000\030\000\029\000\028\000\
-+\\196\000\027\000\026\000\025\000\
-+\\024\000\023\000\022\000\021\000\
-+\\020\000\074\000\019\000\018\000\
-+\\017\000\016\000\128\000\015\000\
-+\\162\000\132\000\014\000\013\000\
-+\\012\000\011\000\010\000\009\000\
-+\\075\000\007\000\006\000\005\000\
-+\\004\000\101\000\105\000\003\000\
-+\\002\000\046\000\207\000\069\000\
-+\\070\000\082\000\086\000\081\000\
-+\\084\000\083\000\034\000\093\000\
-+\\081\000\091\000\090\000\079\000\
-+\\163\000\186\000\126\000\120\000\
-+\\132\000\142\000\137\000\132\000\
-+\\174\000\171\000\200\000\151\000\
-+\\042\000\043\000\008\000\179\000\
-+\\178\000\181\000\175\000\177\000\
-+\\199\000\203\000\184\000\148\000\
-+\\121\000\123\000\194\000\197\000\
-+\\185\000\172\000\099\000\098\000\
-+\\097\000\096\000\095\000\094\000\
-+\\114\000\192\000\191\000\180\000\
-+\\129\000\124\000\144\000\146\000\
-+\\111\000\122\000\183\000\182\000\
-+\\187\000\112\000\113\000\176\000\
-+\\173\000\190\000\102\000\106\000\
-+\\104\000\101\000\100\000\188\000\
-+\\063\000\085\000\170\000\092\000\
-+\\133\000\127\000\143\000\136\000\
-+\\138\000\132\000\132\000\134\000\
-+\\152\000\116\000\155\000\153\000\
-+\\081\000\081\000\150\000\201\000\
-+\\204\000\130\000\145\000\131\000\
-+\\147\000\108\000\101\000\103\000\
-+\\062\000\141\000\132\000\139\000\
-+\\135\000\156\000\154\000\158\000\
-+\\160\000\202\000\107\000\140\000\
-+\\157\000\159\000\000\000"
-+val gotoT =
-+"\
-+\\001\000\026\001\002\000\001\000\000\000\
-+\\004\000\004\000\005\000\003\000\000\000\
-+\\000\000\
-+\\007\000\008\000\008\000\007\000\009\000\006\000\000\000\
-+\\010\000\027\000\014\000\026\000\017\000\025\000\020\000\024\000\
-+\\022\000\023\000\023\000\022\000\033\000\021\000\041\000\020\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\008\000\080\000\009\000\006\000\000\000\
-+\\000\000\
-+\\006\000\082\000\000\000\
-+\\050\000\086\000\051\000\085\000\052\000\084\000\000\000\
-+\\050\000\087\000\051\000\085\000\052\000\084\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\015\000\094\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\016\000\100\000\017\000\099\000\020\000\092\000\021\000\098\000\
-+\\022\000\097\000\023\000\022\000\033\000\021\000\000\000\
-+\\015\000\102\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\015\000\103\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\012\000\104\000\000\000\
-+\\003\000\106\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\039\000\110\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\024\000\112\000\025\000\111\000\000\000\
-+\\039\000\114\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\115\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\050\000\116\000\051\000\085\000\052\000\084\000\000\000\
-+\\034\000\117\000\000\000\
-+\\039\000\119\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\120\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\121\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\122\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\123\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\048\000\124\000\000\000\
-+\\039\000\126\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\127\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\039\000\128\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\024\000\129\000\025\000\111\000\000\000\
-+\\024\000\130\000\025\000\111\000\000\000\
-+\\046\000\131\000\000\000\
-+\\039\000\133\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\039\000\134\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\039\000\135\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\136\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\137\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\138\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\139\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\140\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\013\000\142\000\015\000\141\000\017\000\093\000\020\000\092\000\
-+\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
-+\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
-+\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\039\000\143\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\144\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\145\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\026\000\147\000\027\000\146\000\000\000\
-+\\013\000\150\000\015\000\141\000\017\000\093\000\020\000\092\000\
-+\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
-+\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
-+\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\024\000\151\000\025\000\111\000\000\000\
-+\\039\000\152\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\153\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\154\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\013\000\155\000\015\000\141\000\017\000\093\000\020\000\092\000\
-+\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
-+\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
-+\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\013\000\156\000\015\000\141\000\017\000\093\000\020\000\092\000\
-+\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
-+\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
-+\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\013\000\157\000\015\000\141\000\017\000\093\000\020\000\092\000\
-+\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
-+\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
-+\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\039\000\158\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\159\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\160\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\018\000\163\000\022\000\162\000\041\000\089\000\042\000\161\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\039\000\164\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\050\000\165\000\051\000\085\000\052\000\084\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\051\000\166\000\052\000\084\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\015\000\169\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\016\000\170\000\017\000\099\000\020\000\092\000\021\000\098\000\
-+\\022\000\097\000\023\000\022\000\033\000\021\000\000\000\
-+\\015\000\172\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\015\000\173\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\050\000\174\000\051\000\085\000\052\000\084\000\000\000\
-+\\000\000\
-+\\016\000\175\000\017\000\099\000\020\000\092\000\021\000\098\000\
-+\\022\000\097\000\023\000\022\000\033\000\021\000\000\000\
-+\\015\000\177\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\015\000\178\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\015\000\179\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\040\000\180\000\041\000\089\000\042\000\108\000\043\000\019\000\
-+\\044\000\018\000\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\024\000\182\000\025\000\111\000\000\000\
-+\\000\000\
-+\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
-+\\028\000\185\000\033\000\021\000\041\000\089\000\042\000\184\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\035\000\192\000\036\000\191\000\000\000\
-+\\039\000\194\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\050\000\201\000\051\000\085\000\052\000\084\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\046\000\207\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\026\000\220\000\027\000\146\000\000\000\
-+\\000\000\
-+\\039\000\222\000\040\000\109\000\041\000\089\000\042\000\108\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
-+\\028\000\223\000\033\000\021\000\041\000\089\000\042\000\184\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\018\000\234\000\022\000\162\000\041\000\089\000\042\000\161\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\019\000\236\000\022\000\235\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\015\000\241\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\015\000\243\000\017\000\093\000\020\000\092\000\021\000\091\000\
-+\\022\000\090\000\023\000\022\000\033\000\021\000\041\000\089\000\
-+\\042\000\088\000\043\000\019\000\044\000\018\000\045\000\017\000\
-+\\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
-+\\028\000\244\000\033\000\021\000\041\000\089\000\042\000\184\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\030\000\245\000\000\000\
-+\\020\000\092\000\021\000\249\000\022\000\248\000\023\000\022\000\
-+\\029\000\247\000\033\000\021\000\000\000\
-+\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
-+\\028\000\251\000\033\000\021\000\041\000\089\000\042\000\184\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\035\000\252\000\036\000\191\000\000\000\
-+\\000\000\
-+\\037\000\255\000\038\000\254\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\049\000\003\001\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\031\000\005\001\000\000\
-+\\032\000\007\001\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\019\000\009\001\022\000\235\000\000\000\
-+\\000\000\
-+\\018\000\011\001\022\000\162\000\041\000\089\000\042\000\161\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\008\000\012\001\009\000\006\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\020\000\092\000\021\000\249\000\022\000\248\000\023\000\022\000\
-+\\029\000\013\001\033\000\021\000\000\000\
-+\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
-+\\028\000\015\001\033\000\021\000\041\000\089\000\042\000\184\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
-+\\028\000\016\001\033\000\021\000\041\000\089\000\042\000\184\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\037\000\017\001\038\000\254\000\000\000\
-+\\000\000\
-+\\013\000\019\001\015\000\141\000\017\000\093\000\020\000\092\000\
-+\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
-+\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
-+\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\013\000\020\001\015\000\141\000\017\000\093\000\020\000\092\000\
-+\\021\000\091\000\022\000\090\000\023\000\022\000\033\000\021\000\
-+\\041\000\089\000\042\000\088\000\043\000\019\000\044\000\018\000\
-+\\045\000\017\000\047\000\016\000\052\000\015\000\000\000\
-+\\000\000\
-+\\048\000\021\001\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\018\000\022\001\022\000\162\000\041\000\089\000\042\000\161\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\020\000\092\000\021\000\187\000\022\000\186\000\023\000\022\000\
-+\\028\000\023\001\033\000\021\000\041\000\089\000\042\000\184\000\
-+\\043\000\019\000\044\000\018\000\045\000\017\000\047\000\016\000\
-+\\052\000\015\000\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\\000\000\
-+\"
-+val numstates = 283
-+val numrules = 155
-+val s = ref "" and index = ref 0
-+val string_to_int = fn () =>
-+let val i = !index
-+in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256
-+end
-+val string_to_list = fn s' =>
-+ let val len = String.size s'
-+ fun f () =
-+ if !index < len then string_to_int() :: f()
-+ else nil
-+ in index := 0; s := s'; f ()
-+ end
-+val string_to_pairlist = fn (conv_key,conv_entry) =>
-+ let fun f () =
-+ case string_to_int()
-+ of 0 => EMPTY
-+ | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f())
-+ in f
-+ end
-+val string_to_pairlist_default = fn (conv_key,conv_entry) =>
-+ let val conv_row = string_to_pairlist(conv_key,conv_entry)
-+ in fn () =>
-+ let val default = conv_entry(string_to_int())
-+ val row = conv_row()
-+ in (row,default)
-+ end
-+ end
-+val string_to_table = fn (convert_row,s') =>
-+ let val len = String.size s'
-+ fun f ()=
-+ if !index < len then convert_row() :: f()
-+ else nil
-+ in (s := s'; index := 0; f ())
-+ end
-+local
-+ val memo = Array.array(numstates+numrules,ERROR)
-+ val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1))
-+ fun f i =
-+ if i=numstates then g i
-+ else (Array.update(memo,i,SHIFT (STATE i)); f (i+1))
-+ in f 0 handle Subscript => ()
-+ end
-+in
-+val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2))
-+end
-+val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT))
-+val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows)
-+val actionRowNumbers = string_to_list actionRowNumbers
-+val actionT = let val actionRowLookUp=
-+let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end
-+in Array.fromList(map actionRowLookUp actionRowNumbers)
-+end
-+in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules,
-+numStates=numstates,initialState=STATE 0}
-+end
-+end
-+local open Header in
-+type pos = int
-+type arg = int -> HTMLAttrs.context
-+structure MlyValue =
-+struct
-+datatype svalue = VOID | ntVOID of unit | ENTITY_REF of (string)
-+ | CHAR_REF of (string) | PCDATA of (string)
-+ | START_UL of (HTMLAttrVals.attrs)
-+ | START_TR of (HTMLAttrVals.attrs)
-+ | START_TH of (HTMLAttrVals.attrs)
-+ | START_TEXTAREA of (HTMLAttrVals.attrs)
-+ | START_TD of (HTMLAttrVals.attrs)
-+ | START_TABLE of (HTMLAttrVals.attrs)
-+ | START_SELECT of (HTMLAttrVals.attrs)
-+ | START_PRE of (HTMLAttrVals.attrs)
-+ | TAG_PARAM of (HTMLAttrVals.attrs)
-+ | START_P of (HTMLAttrVals.attrs)
-+ | START_OPTION of (HTMLAttrVals.attrs)
-+ | START_OL of (HTMLAttrVals.attrs)
-+ | TAG_META of (HTMLAttrVals.attrs)
-+ | START_MENU of (HTMLAttrVals.attrs)
-+ | START_MAP of (HTMLAttrVals.attrs)
-+ | TAG_LINK of (HTMLAttrVals.attrs)
-+ | START_LI of (HTMLAttrVals.attrs)
-+ | TAG_ISINDEX of (HTMLAttrVals.attrs)
-+ | TAG_INPUT of (HTMLAttrVals.attrs)
-+ | TAG_IMG of (HTMLAttrVals.attrs) | TAG_HR of (HTMLAttrVals.attrs)
-+ | START_H6 of (HTMLAttrVals.attrs)
-+ | START_H5 of (HTMLAttrVals.attrs)
-+ | START_H4 of (HTMLAttrVals.attrs)
-+ | START_H3 of (HTMLAttrVals.attrs)
-+ | START_H2 of (HTMLAttrVals.attrs)
-+ | START_H1 of (HTMLAttrVals.attrs)
-+ | START_FORM of (HTMLAttrVals.attrs)
-+ | START_BASEFONT of (HTMLAttrVals.attrs)
-+ | START_FONT of (HTMLAttrVals.attrs)
-+ | START_DL of (HTMLAttrVals.attrs)
-+ | START_DIV of (HTMLAttrVals.attrs)
-+ | START_DIR of (HTMLAttrVals.attrs)
-+ | START_CAPTION of (HTMLAttrVals.attrs)
-+ | TAG_BR of (HTMLAttrVals.attrs)
-+ | START_BODY of (HTMLAttrVals.attrs)
-+ | TAG_BASE of (HTMLAttrVals.attrs)
-+ | TAG_AREA of (HTMLAttrVals.attrs)
-+ | START_APPLET of (HTMLAttrVals.attrs)
-+ | START_A of (HTMLAttrVals.attrs) | PCDataElem of (HTML.pcdata)
-+ | PCDataList of (HTML.pcdata list) | PCData of (HTML.pcdata)
-+ | OptionList of (HTML.select_option list) | Form of (HTML.text)
-+ | AreaList of (HTML.area list) | Special of (HTML.text)
-+ | Phrase of (HTML.text) | Font of (HTML.text)
-+ | Text of (HTML.text) | TextWOScript of (HTML.text)
-+ | TextList' of (HTML.text list) | TextList of (HTML.text)
-+ | TableCell of (HTML.table_cell)
-+ | TableCellList of (HTML.table_cell list) | TableRow of (HTML.tr)
-+ | TableRowList of (HTML.tr list)
-+ | optCaption of (HTML.caption option)
-+ | Preformatted of (HTML.block) | Flow2 of (blklist_item list)
-+ | Flow1 of (blklist_item list) | DLItem of (deflist_item)
-+ | DLItemList of (deflist_item list) | ListItem of (HTML.list_item)
-+ | ListItemList of (HTML.list_item list) | List of (HTML.block)
-+ | Paragraph of (HTML.block) | Block of (HTML.block)
-+ | BlockWOIndex of (HTML.block)
-+ | AddressContent2 of (blklist_item list)
-+ | AddressContent1 of (blklist_item list)
-+ | BodyElement of (HTML.block) | BodyContent2 of (blklist_item list)
-+ | BodyContent1 of (blklist_item list) | BodyContent0 of (HTML.body)
-+ | BodyContent of (HTML.block) | Body of (HTML.body)
-+ | HeadElement of (HTML.head_content)
-+ | HeadElements of (HTML.head_content list)
-+ | HeadContents of (HTML.head_content list)
-+ | Head of (HTML.head_content list)
-+ | StartHTML of (HTML.cdata option) | Document of (HTML.html)
-+end
-+type svalue = MlyValue.svalue
-+type result = HTML.html
-+end
-+structure EC=
-+struct
-+open LrTable
-+infix 5 $$
-+fun x $$ y = y::x
-+val is_keyword =
-+fn _ => false
-+val preferred_change : (term list * term list) list =
-+nil
-+val noShift =
-+fn (T 0) => true | _ => false
-+val showTerminal =
-+fn (T 0) => "EOF"
-+ | (T 1) => "START_A"
-+ | (T 2) => "END_A"
-+ | (T 3) => "START_ADDRESS"
-+ | (T 4) => "END_ADDRESS"
-+ | (T 5) => "START_APPLET"
-+ | (T 6) => "END_APPLET"
-+ | (T 7) => "TAG_AREA"
-+ | (T 8) => "START_B"
-+ | (T 9) => "END_B"
-+ | (T 10) => "TAG_BASE"
-+ | (T 11) => "START_BIG"
-+ | (T 12) => "END_BIG"
-+ | (T 13) => "START_BLOCKQUOTE"
-+ | (T 14) => "END_BLOCKQUOTE"
-+ | (T 15) => "START_BODY"
-+ | (T 16) => "END_BODY"
-+ | (T 17) => "TAG_BR"
-+ | (T 18) => "START_CAPTION"
-+ | (T 19) => "END_CAPTION"
-+ | (T 20) => "START_CENTER"
-+ | (T 21) => "END_CENTER"
-+ | (T 22) => "START_CITE"
-+ | (T 23) => "END_CITE"
-+ | (T 24) => "START_CODE"
-+ | (T 25) => "END_CODE"
-+ | (T 26) => "START_DD"
-+ | (T 27) => "END_DD"
-+ | (T 28) => "START_DFN"
-+ | (T 29) => "END_DFN"
-+ | (T 30) => "START_DIR"
-+ | (T 31) => "END_DIR"
-+ | (T 32) => "START_DIV"
-+ | (T 33) => "END_DIV"
-+ | (T 34) => "START_DL"
-+ | (T 35) => "END_DL"
-+ | (T 36) => "START_DT"
-+ | (T 37) => "END_DT"
-+ | (T 38) => "START_EM"
-+ | (T 39) => "END_EM"
-+ | (T 40) => "START_FONT"
-+ | (T 41) => "END_FONT"
-+ | (T 42) => "START_BASEFONT"
-+ | (T 43) => "END_BASEFONT"
-+ | (T 44) => "START_FORM"
-+ | (T 45) => "END_FORM"
-+ | (T 46) => "START_H1"
-+ | (T 47) => "END_H1"
-+ | (T 48) => "START_H2"
-+ | (T 49) => "END_H2"
-+ | (T 50) => "START_H3"
-+ | (T 51) => "END_H3"
-+ | (T 52) => "START_H4"
-+ | (T 53) => "END_H4"
-+ | (T 54) => "START_H5"
-+ | (T 55) => "END_H5"
-+ | (T 56) => "START_H6"
-+ | (T 57) => "END_H6"
-+ | (T 58) => "START_HEAD"
-+ | (T 59) => "END_HEAD"
-+ | (T 60) => "TAG_HR"
-+ | (T 61) => "START_HTML"
-+ | (T 62) => "END_HTML"
-+ | (T 63) => "START_I"
-+ | (T 64) => "END_I"
-+ | (T 65) => "TAG_IMG"
-+ | (T 66) => "TAG_INPUT"
-+ | (T 67) => "TAG_ISINDEX"
-+ | (T 68) => "START_KBD"
-+ | (T 69) => "END_KBD"
-+ | (T 70) => "START_LI"
-+ | (T 71) => "END_LI"
-+ | (T 72) => "TAG_LINK"
-+ | (T 73) => "START_MAP"
-+ | (T 74) => "END_MAP"
-+ | (T 75) => "START_MENU"
-+ | (T 76) => "END_MENU"
-+ | (T 77) => "TAG_META"
-+ | (T 78) => "START_OL"
-+ | (T 79) => "END_OL"
-+ | (T 80) => "START_OPTION"
-+ | (T 81) => "END_OPTION"
-+ | (T 82) => "START_P"
-+ | (T 83) => "END_P"
-+ | (T 84) => "TAG_PARAM"
-+ | (T 85) => "START_PRE"
-+ | (T 86) => "END_PRE"
-+ | (T 87) => "START_SAMP"
-+ | (T 88) => "END_SAMP"
-+ | (T 89) => "START_SCRIPT"
-+ | (T 90) => "END_SCRIPT"
-+ | (T 91) => "START_SELECT"
-+ | (T 92) => "END_SELECT"
-+ | (T 93) => "START_SMALL"
-+ | (T 94) => "END_SMALL"
-+ | (T 95) => "START_STRIKE"
-+ | (T 96) => "END_STRIKE"
-+ | (T 97) => "START_STRONG"
-+ | (T 98) => "END_STRONG"
-+ | (T 99) => "START_STYLE"
-+ | (T 100) => "END_STYLE"
-+ | (T 101) => "START_SUB"
-+ | (T 102) => "END_SUB"
-+ | (T 103) => "START_SUP"
-+ | (T 104) => "END_SUP"
-+ | (T 105) => "START_TABLE"
-+ | (T 106) => "END_TABLE"
-+ | (T 107) => "START_TD"
-+ | (T 108) => "END_TD"
-+ | (T 109) => "START_TEXTAREA"
-+ | (T 110) => "END_TEXTAREA"
-+ | (T 111) => "START_TH"
-+ | (T 112) => "END_TH"
-+ | (T 113) => "START_TITLE"
-+ | (T 114) => "END_TITLE"
-+ | (T 115) => "START_TR"
-+ | (T 116) => "END_TR"
-+ | (T 117) => "START_TT"
-+ | (T 118) => "END_TT"
-+ | (T 119) => "START_U"
-+ | (T 120) => "END_U"
-+ | (T 121) => "START_UL"
-+ | (T 122) => "END_UL"
-+ | (T 123) => "START_VAR"
-+ | (T 124) => "END_VAR"
-+ | (T 125) => "PCDATA"
-+ | (T 126) => "CHAR_REF"
-+ | (T 127) => "ENTITY_REF"
-+ | _ => "bogus-term"
-+local open Header in
-+val errtermvalue=
-+fn (T 1) => MlyValue.START_A(([])) |
-+(T 5) => MlyValue.START_APPLET((
-+[
-+ ("CODE", HTMLAttrs.NAME ""),
-+ ("WIDTH", HTMLAttrs.NAME ""),
-+ ("HEIGHT", HTMLAttrs.NAME "")
-+ ]
-+)) |
-+(T 7) => MlyValue.TAG_AREA(([("ALT", HTMLAttrs.NAME "")])) |
-+(T 10) => MlyValue.TAG_BASE(([("URL", HTMLAttrs.NAME "")])) |
-+(T 15) => MlyValue.START_BODY(([])) |
-+(T 17) => MlyValue.TAG_BR(([])) |
-+(T 18) => MlyValue.START_CAPTION(([])) |
-+(T 30) => MlyValue.START_DIR(([])) |
-+(T 32) => MlyValue.START_DIV(([])) |
-+(T 34) => MlyValue.START_DL(([])) |
-+(T 40) => MlyValue.START_FONT(([])) |
-+(T 42) => MlyValue.START_BASEFONT(([])) |
-+(T 44) => MlyValue.START_FORM(([])) |
-+(T 46) => MlyValue.START_H1(([])) |
-+(T 48) => MlyValue.START_H2(([])) |
-+(T 50) => MlyValue.START_H3(([])) |
-+(T 52) => MlyValue.START_H4(([])) |
-+(T 54) => MlyValue.START_H5(([])) |
-+(T 56) => MlyValue.START_H6(([])) |
-+(T 60) => MlyValue.TAG_HR(([])) |
-+(T 65) => MlyValue.TAG_IMG(([("SRC", HTMLAttrs.NAME "")])) |
-+(T 66) => MlyValue.TAG_INPUT(([])) |
-+(T 67) => MlyValue.TAG_ISINDEX(([])) |
-+(T 72) => MlyValue.TAG_LINK(([])) |
-+(T 73) => MlyValue.START_MAP(([])) |
-+(T 75) => MlyValue.START_MENU(([])) |
-+(T 77) => MlyValue.TAG_META(([("CONTENT", HTMLAttrs.NAME "")])) |
-+(T 78) => MlyValue.START_OL(([])) |
-+(T 80) => MlyValue.START_OPTION(([])) |
-+(T 82) => MlyValue.START_P(([])) |
-+(T 84) => MlyValue.TAG_PARAM(([("NAME", HTMLAttrs.NAME "")])) |
-+(T 85) => MlyValue.START_PRE(([])) |
-+(T 91) => MlyValue.START_SELECT(([("NAME", HTMLAttrs.NAME "")])) |
-+(T 105) => MlyValue.START_TABLE(([])) |
-+(T 107) => MlyValue.START_TD(([])) |
-+(T 109) => MlyValue.START_TEXTAREA((
-+[
-+ ("NAME", HTMLAttrs.NAME ""),
-+ ("ROWS", HTMLAttrs.NAME "0"),
-+ ("COLS", HTMLAttrs.NAME "0")
-+ ]
-+)) |
-+(T 111) => MlyValue.START_TH(([])) |
-+(T 115) => MlyValue.START_TR(([])) |
-+(T 121) => MlyValue.START_UL(([])) |
-+_ => MlyValue.VOID
-+end
-+val terms : term list = nil
-+ $$ (T 124) $$ (T 123) $$ (T 122) $$ (T 120) $$ (T 119) $$ (T 118) $$
-+(T 117) $$ (T 116) $$ (T 114) $$ (T 113) $$ (T 112) $$ (T 110) $$ (T
-+108) $$ (T 106) $$ (T 104) $$ (T 103) $$ (T 102) $$ (T 101) $$ (T 100)
-+ $$ (T 99) $$ (T 98) $$ (T 97) $$ (T 96) $$ (T 95) $$ (T 94) $$ (T 93)
-+ $$ (T 92) $$ (T 90) $$ (T 89) $$ (T 88) $$ (T 87) $$ (T 86) $$ (T 83)
-+ $$ (T 81) $$ (T 79) $$ (T 76) $$ (T 74) $$ (T 71) $$ (T 69) $$ (T 68)
-+ $$ (T 64) $$ (T 63) $$ (T 62) $$ (T 61) $$ (T 59) $$ (T 58) $$ (T 57)
-+ $$ (T 55) $$ (T 53) $$ (T 51) $$ (T 49) $$ (T 47) $$ (T 45) $$ (T 43)
-+ $$ (T 41) $$ (T 39) $$ (T 38) $$ (T 37) $$ (T 36) $$ (T 35) $$ (T 33)
-+ $$ (T 31) $$ (T 29) $$ (T 28) $$ (T 27) $$ (T 26) $$ (T 25) $$ (T 24)
-+ $$ (T 23) $$ (T 22) $$ (T 21) $$ (T 20) $$ (T 19) $$ (T 16) $$ (T 14)
-+ $$ (T 13) $$ (T 12) $$ (T 11) $$ (T 9) $$ (T 8) $$ (T 6) $$ (T 4) $$
-+(T 3) $$ (T 2) $$ (T 0)end
-+structure Actions =
-+struct
-+type int = Int.int
-+exception mlyAction of int
-+local open Header in
-+val actions =
-+fn (i392:int,defaultPos,stack,
-+ (ctx):arg) =>
-+case (i392,stack)
-+of ( 0, ( ( _, ( _, _, EndHTML1right)) :: ( _, ( MlyValue.Body Body,
-+ _, _)) :: ( _, ( MlyValue.Head Head, _, _)) :: ( _, (
-+MlyValue.StartHTML StartHTML, StartHTML1left, _)) :: rest671)) => let
-+ val result = MlyValue.Document (
-+HTML.HTML{version=StartHTML, head=Head, body=Body})
-+ in ( LrTable.NT 0, ( result, StartHTML1left, EndHTML1right), rest671)
++ val elemTbl = let
++ val tbl = HTbl.mkTable (length tokenData, Fail "HTMLElements")
++ fun ins (tag, startTok, endTok) =
++ HTbl.insert tbl (tag, {startT=startTok, endT=endTok})
++ in
++ List.app ins tokenData; tbl
++ end
+
-+end
-+| ( 1, ( rest671)) => let val result = MlyValue.StartHTML (NONE)
-+ in ( LrTable.NT 1, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 2, ( ( _, ( _, START_HTML1left, START_HTML1right)) :: rest671))
-+ => let val result = MlyValue.StartHTML (NONE)
-+ in ( LrTable.NT 1, ( result, START_HTML1left, START_HTML1right),
-+rest671)
-+end
-+| ( 3, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 2, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 4, ( ( _, ( _, END_HTML1left, END_HTML1right)) :: rest671)) =>
-+ let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 2, ( result, END_HTML1left, END_HTML1right), rest671)
++ structure SS = Substring
+
-+end
-+| ( 5, ( ( _, ( _, _, EndHEAD1right)) :: ( _, ( MlyValue.HeadContents
-+ HeadContents, _, _)) :: ( _, ( _, StartHEAD1left, _)) :: rest671)) =>
-+ let val result = MlyValue.Head (HeadContents)
-+ in ( LrTable.NT 3, ( result, StartHEAD1left, EndHEAD1right), rest671)
++ fun canonName name = SS.translate (String.str o Char.toUpper) name
+
-+end
-+| ( 6, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 4, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 7, ( ( _, ( _, START_HEAD1left, START_HEAD1right)) :: rest671))
-+ => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 4, ( result, START_HEAD1left, START_HEAD1right),
-+rest671)
-+end
-+| ( 8, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 5, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 9, ( ( _, ( _, END_HEAD1left, END_HEAD1right)) :: rest671)) =>
-+ let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 5, ( result, END_HEAD1left, END_HEAD1right), rest671)
++ fun find name = (HTbl.find elemTbl (canonName name))
+
-+end
-+| ( 10, ( ( _, ( MlyValue.HeadElements HeadElements2, _,
-+HeadElements2right)) :: _ :: ( _, ( MlyValue.PCData PCData, _, _)) ::
-+ _ :: ( _, ( MlyValue.HeadElements HeadElements1, HeadElements1left, _
-+)) :: rest671)) => let val result = MlyValue.HeadContents (
-+HeadElements1 @ (HTML.Head_TITLE PCData :: HeadElements2))
-+ in ( LrTable.NT 6, ( result, HeadElements1left, HeadElements2right),
-+rest671)
-+end
-+| ( 11, ( rest671)) => let val result = MlyValue.HeadElements ([])
-+ in ( LrTable.NT 7, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 12, ( ( _, ( MlyValue.HeadElements HeadElements, _,
-+HeadElements1right)) :: ( _, ( MlyValue.HeadElement HeadElement,
-+HeadElement1left, _)) :: rest671)) => let val result =
-+MlyValue.HeadElements (HeadElement :: HeadElements)
-+ in ( LrTable.NT 7, ( result, HeadElement1left, HeadElements1right),
-+rest671)
-+end
-+| ( 13, ( ( _, ( MlyValue.TAG_META TAG_META, (TAG_METAleft as
-+TAG_META1left), TAG_META1right)) :: rest671)) => let val result =
-+MlyValue.HeadElement (HTMLAttrs.mkMETA(ctx TAG_METAleft, TAG_META))
-+ in ( LrTable.NT 8, ( result, TAG_META1left, TAG_META1right), rest671)
++ val skipWS = SS.dropl Char.isSpace
+
-+end
-+| ( 14, ( ( _, ( MlyValue.TAG_LINK TAG_LINK, (TAG_LINKleft as
-+TAG_LINK1left), TAG_LINK1right)) :: rest671)) => let val result =
-+MlyValue.HeadElement (HTMLAttrs.mkLINK(ctx TAG_LINKleft, TAG_LINK))
-+ in ( LrTable.NT 8, ( result, TAG_LINK1left, TAG_LINK1right), rest671)
++ fun scanStr (ctx, quoteChar, ss) = let
++ val (str, rest) = SS.splitl (fn c => (c <> quoteChar)) ss
++ in
++ if (SS.isEmpty rest)
++ then (
++ Err.lexError ctx "missing close quote for string";
++ (A.STRING(SS.string str), rest))
++ else (A.STRING(SS.string str), SS.triml 1 rest)
++ end
+
-+end
-+| ( 15, ( ( _, ( MlyValue.TAG_ISINDEX TAG_ISINDEX, (TAG_ISINDEXleft
-+ as TAG_ISINDEX1left), TAG_ISINDEX1right)) :: rest671)) => let val
-+result = MlyValue.HeadElement (
-+let val stuff =
-+ HTMLAttrs.mkISINDEX (ctx TAG_ISINDEXleft, TAG_ISINDEX)
-+ in HTML.Head_ISINDEX stuff end
-+
-+)
-+ in ( LrTable.NT 8, ( result, TAG_ISINDEX1left, TAG_ISINDEX1right),
-+rest671)
-+end
-+| ( 16, ( ( _, ( MlyValue.TAG_BASE TAG_BASE, (TAG_BASEleft as
-+TAG_BASE1left), TAG_BASE1right)) :: rest671)) => let val result =
-+MlyValue.HeadElement (HTMLAttrs.mkBASE(ctx TAG_BASEleft, TAG_BASE))
-+ in ( LrTable.NT 8, ( result, TAG_BASE1left, TAG_BASE1right), rest671)
++ (* scan an attribute value from a substring, returning the value, and
++ * the rest of the substring. Attribute values have one of the following
++ * forms:
++ * 1) a name token (a sequence of letters, digits, periods, or hyphens).
++ * 2) a string literal enclosed in ""
++ * 3) a string literal enclosed in ''
++ *)
++ fun scanAttrVal (ctx, attrName, ss) = let
++ fun isNameChar #"." = true
++ | isNameChar #"-" = true
++ | isNameChar c = (Char.isAlphaNum c)
++ in
++ case SS.getc ss
++ of NONE => (A.IMPLICIT, ss)
++ | (SOME(#"\"", rest)) => scanStr (ctx, #"\"", rest)
++ | (SOME(#"'", rest)) => scanStr (ctx, #"'", rest)
++ | (SOME(c, _)) => let
++ (**
++ * Unquoted attributes should be Names, but this is often not
++ * the case, so we terminate them on whitespace or ">".
++ *)
++ val notNameChar = ref false
++ fun isAttrChar c =
++ if ((Char.isSpace c) orelse (c = #">"))
++ then false
++ else (
++ if isNameChar c then () else notNameChar := true;
++ true)
++ val (value, rest) = SS.splitl isAttrChar ss
++ in
++ if (SS.isEmpty value)
++ then (
++ Err.badAttrVal ctx (SS.string attrName, "");
++ (A.IMPLICIT, ss))
++ else if (! notNameChar)
++ then (
++ Err.unquotedAttrVal ctx (SS.string attrName);
++ (A.STRING(SS.string value), rest))
++ else (A.NAME(SS.string value), rest)
++ end
++ (* end case *)
++ end
+
-+end
-+| ( 17, ( ( _, ( _, _, END_STYLE1right)) :: ( _, ( MlyValue.PCData
-+PCData, _, _)) :: ( _, ( _, START_STYLE1left, _)) :: rest671)) => let
-+ val result = MlyValue.HeadElement (HTML.Head_STYLE(PCData))
-+ in ( LrTable.NT 8, ( result, START_STYLE1left, END_STYLE1right),
-+rest671)
-+end
-+| ( 18, ( ( _, ( _, _, END_SCRIPT1right)) :: ( _, ( MlyValue.PCData
-+PCData, _, _)) :: ( _, ( _, START_SCRIPT1left, _)) :: rest671)) => let
-+ val result = MlyValue.HeadElement (HTML.Head_SCRIPT(PCData))
-+ in ( LrTable.NT 8, ( result, START_SCRIPT1left, END_SCRIPT1right),
-+rest671)
-+end
-+| ( 19, ( ( _, ( _, _, EndBODY1right)) :: ( _, (
-+MlyValue.BodyContent0 BodyContent0, BodyContent01left, _)) :: rest671)
-+) => let val result = MlyValue.Body (BodyContent0)
-+ in ( LrTable.NT 9, ( result, BodyContent01left, EndBODY1right),
-+rest671)
-+end
-+| ( 20, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 11, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 21, ( ( _, ( _, END_BODY1left, END_BODY1right)) :: rest671)) =>
-+ let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 11, ( result, END_BODY1left, END_BODY1right), rest671
-+)
-+end
-+| ( 22, ( ( _, ( MlyValue.BodyContent1 BodyContent1,
-+BodyContent11left, BodyContent11right)) :: rest671)) => let val
-+result = MlyValue.BodyContent (mkBlock BodyContent1)
-+ in ( LrTable.NT 12, ( result, BodyContent11left, BodyContent11right),
-+ rest671)
-+end
-+| ( 23, ( ( _, ( MlyValue.BodyContent BodyContent, _,
-+BodyContent1right)) :: ( _, ( MlyValue.START_BODY START_BODY, (
-+START_BODYleft as START_BODY1left), _)) :: rest671)) => let val
-+result = MlyValue.BodyContent0 (
-+HTMLAttrs.mkBODY(ctx START_BODYleft, START_BODY, BodyContent))
-+ in ( LrTable.NT 13, ( result, START_BODY1left, BodyContent1right),
-+rest671)
-+end
-+| ( 24, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.TextWOScript TextWOScript,
-+TextWOScript1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent0 (mkBody(consText(TextWOScript, BodyContent1)))
-+ in ( LrTable.NT 13, ( result, TextWOScript1left, BodyContent11right),
-+ rest671)
-+end
-+| ( 25, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.BodyElement BodyElement,
-+BodyElement1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent0 (mkBody(consBlock(BodyElement, BodyContent1)))
-+ in ( LrTable.NT 13, ( result, BodyElement1left, BodyContent11right),
-+rest671)
-+end
-+| ( 26, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.BlockWOIndex BlockWOIndex,
-+BlockWOIndex1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent0 (mkBody(consBlock(BlockWOIndex, BodyContent1)))
-+ in ( LrTable.NT 13, ( result, BlockWOIndex1left, BodyContent11right),
-+ rest671)
-+end
-+| ( 27, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: _ :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent0 (mkBody(consBlock(Paragraph, BodyContent1)))
-+ in ( LrTable.NT 13, ( result, Paragraph1left, BodyContent11right),
-+rest671)
-+end
-+| ( 28, ( ( _, ( MlyValue.BodyContent2 BodyContent2, _,
-+BodyContent21right)) :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent0 (mkBody(consBlock(Paragraph, BodyContent2)))
-+ in ( LrTable.NT 13, ( result, Paragraph1left, BodyContent21right),
-+rest671)
-+end
-+| ( 29, ( rest671)) => let val result = MlyValue.BodyContent1 ([])
-+ in ( LrTable.NT 14, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 30, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.Text Text, Text1left, _)) ::
-+rest671)) => let val result = MlyValue.BodyContent1 (
-+consText(Text, BodyContent1))
-+ in ( LrTable.NT 14, ( result, Text1left, BodyContent11right), rest671
-+)
-+end
-+| ( 31, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.BodyElement BodyElement,
-+BodyElement1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent1 (consBlock(BodyElement, BodyContent1))
-+ in ( LrTable.NT 14, ( result, BodyElement1left, BodyContent11right),
-+rest671)
-+end
-+| ( 32, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.Block Block, Block1left, _))
-+ :: rest671)) => let val result = MlyValue.BodyContent1 (
-+consBlock(Block, BodyContent1))
-+ in ( LrTable.NT 14, ( result, Block1left, BodyContent11right),
-+rest671)
-+end
-+| ( 33, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: _ :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent1 (consBlock(Paragraph, BodyContent1))
-+ in ( LrTable.NT 14, ( result, Paragraph1left, BodyContent11right),
-+rest671)
-+end
-+| ( 34, ( ( _, ( MlyValue.BodyContent2 BodyContent2, _,
-+BodyContent21right)) :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent1 (consBlock(Paragraph, BodyContent2))
-+ in ( LrTable.NT 14, ( result, Paragraph1left, BodyContent21right),
-+rest671)
-+end
-+| ( 35, ( rest671)) => let val result = MlyValue.BodyContent2 ([])
-+ in ( LrTable.NT 15, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 36, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.BodyElement BodyElement,
-+BodyElement1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent2 (consBlock(BodyElement, BodyContent1))
-+ in ( LrTable.NT 15, ( result, BodyElement1left, BodyContent11right),
-+rest671)
-+end
-+| ( 37, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: ( _, ( MlyValue.Block Block, Block1left, _))
-+ :: rest671)) => let val result = MlyValue.BodyContent2 (
-+consBlock(Block, BodyContent1))
-+ in ( LrTable.NT 15, ( result, Block1left, BodyContent11right),
-+rest671)
-+end
-+| ( 38, ( ( _, ( MlyValue.BodyContent1 BodyContent1, _,
-+BodyContent11right)) :: _ :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent2 (consBlock(Paragraph, BodyContent1))
-+ in ( LrTable.NT 15, ( result, Paragraph1left, BodyContent11right),
-+rest671)
-+end
-+| ( 39, ( ( _, ( MlyValue.BodyContent2 BodyContent2, _,
-+BodyContent21right)) :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyContent2 (consBlock(Paragraph, BodyContent2))
-+ in ( LrTable.NT 15, ( result, Paragraph1left, BodyContent21right),
-+rest671)
-+end
-+| ( 40, ( ( _, ( _, _, END_H11right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_H1 START_H1, (START_H1left
-+ as START_H11left), _)) :: rest671)) => let val result =
-+MlyValue.BodyElement (
-+HTMLAttrs.mkHn(1, ctx START_H1left, START_H1, TextList))
-+ in ( LrTable.NT 16, ( result, START_H11left, END_H11right), rest671)
++ fun scanStartTag (ctx, ss) = let
++ val (name, rest) = SS.splitl (not o Char.isSpace) ss
++ fun scanAttrs (rest, attrs) = let
++ val rest = skipWS rest
++ in
++ case SS.getc rest
++ of NONE => (name, List.rev attrs)
++ | (SOME(#"\"", rest)) => (
++ Err.lexError ctx "bogus text in element";
++ scanAttrs (#2(scanStr (ctx, #"\"", rest)), attrs))
++ | (SOME(#"'", rest)) => (
++ Err.lexError ctx "bogus text in element";
++ scanAttrs (#2(scanStr (ctx, #"'", rest)), attrs))
++ | (SOME(c, rest')) =>
++ if Char.isAlpha c
++ then let
++ val (aName, rest) = SS.splitl Char.isAlphaNum rest
++ val rest = skipWS rest
++ in
++ case (SS.getc rest)
++ of (SOME(#"=", rest)) => let
++ (* get the attribute value *)
++ val (aVal, rest) =
++ scanAttrVal (ctx, aName, skipWS rest)
++ in
++ scanAttrs (rest, (canonName aName, aVal)::attrs)
++ end
++ | _ => scanAttrs (rest,
++ (canonName aName, A.IMPLICIT)::attrs)
++ (* end case *)
++ end
++ else (
++ Err.lexError ctx "bogus character in element";
++ scanAttrs (rest', attrs))
++ (* end case *)
++ end
++ in
++ scanAttrs(rest, [])
++ end
+
-+end
-+| ( 41, ( ( _, ( _, _, END_H21right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_H2 START_H2, (START_H2left
-+ as START_H21left), _)) :: rest671)) => let val result =
-+MlyValue.BodyElement (
-+HTMLAttrs.mkHn(2, ctx START_H2left, START_H2, TextList))
-+ in ( LrTable.NT 16, ( result, START_H21left, END_H21right), rest671)
++ fun startTag file (tag, p1, p2) = let
++ val ctx = {file=file, line=p1}
++ val tag' = SS.triml 1 (SS.trimr 1 (SS.all tag))
++ val (name, attrs) = scanStartTag (ctx, tag')
++ in
++ case (find name, attrs)
++ of (NONE, _) => (Err.badStartTag ctx (SS.string name); NONE)
++ | (SOME{startT=WOAttrs _, ...}, _::_) => (
++ List.app (Err.unknownAttr ctx o #1) attrs; NONE)
++ | (SOME{startT=WOAttrs tag, ...}, []) =>
++ SOME(tag (p1, p2))
++ | (SOME{startT=WAttrs tag, ...}, attrs) =>
++ SOME(tag (attrs, p1, p2))
++ (* end case *)
++ end
+
-+end
-+| ( 42, ( ( _, ( _, _, END_H31right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_H3 START_H3, (START_H3left
-+ as START_H31left), _)) :: rest671)) => let val result =
-+MlyValue.BodyElement (
-+HTMLAttrs.mkHn(3, ctx START_H3left, START_H3, TextList))
-+ in ( LrTable.NT 16, ( result, START_H31left, END_H31right), rest671)
++ fun endTag file (tag, p1, p2) = let
++ val ctx = {file=file, line=p1}
++ val name = SS.triml 2 (SS.trimr 1 (SS.all tag))
++ in
++ case (find name)
++ of NONE => (Err.badEndTag ctx (SS.string name); NONE)
++ | (SOME{endT=Empty, ...}) => (Err.badEndTag ctx (SS.string name); NONE)
++ | (SOME{endT=End endTok, ...}) => SOME(endTok (p1, p2))
++ (* end case *)
++ end
+
-+end
-+| ( 43, ( ( _, ( _, _, END_H41right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_H4 START_H4, (START_H4left
-+ as START_H41left), _)) :: rest671)) => let val result =
-+MlyValue.BodyElement (
-+HTMLAttrs.mkHn(4, ctx START_H4left, START_H4, TextList))
-+ in ( LrTable.NT 16, ( result, START_H41left, END_H41right), rest671)
++ end
+
-+end
-+| ( 44, ( ( _, ( _, _, END_H51right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_H5 START_H5, (START_H5left
-+ as START_H51left), _)) :: rest671)) => let val result =
-+MlyValue.BodyElement (
-+HTMLAttrs.mkHn(5, ctx START_H5left, START_H5, TextList))
-+ in ( LrTable.NT 16, ( result, START_H51left, END_H51right), rest671)
-+
-+end
-+| ( 45, ( ( _, ( _, _, END_H61right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_H6 START_H6, (START_H6left
-+ as START_H61left), _)) :: rest671)) => let val result =
-+MlyValue.BodyElement (
-+HTMLAttrs.mkHn(6, ctx START_H6left, START_H6, TextList))
-+ in ( LrTable.NT 16, ( result, START_H61left, END_H61right), rest671)
-+
-+end
-+| ( 46, ( ( _, ( _, _, END_ADDRESS1right)) :: ( _, (
-+MlyValue.AddressContent1 AddressContent1, _, _)) :: ( _, ( _,
-+START_ADDRESS1left, _)) :: rest671)) => let val result =
-+MlyValue.BodyElement (HTML.ADDRESS(mkBlock AddressContent1))
-+ in ( LrTable.NT 16, ( result, START_ADDRESS1left, END_ADDRESS1right),
-+ rest671)
-+end
-+| ( 47, ( rest671)) => let val result = MlyValue.AddressContent1 ([]
-+)
-+ in ( LrTable.NT 17, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 48, ( ( _, ( MlyValue.AddressContent1 AddressContent1, _,
-+AddressContent11right)) :: ( _, ( MlyValue.Text Text, Text1left, _))
-+ :: rest671)) => let val result = MlyValue.AddressContent1 (
-+consText(Text, AddressContent1))
-+ in ( LrTable.NT 17, ( result, Text1left, AddressContent11right),
-+rest671)
-+end
-+| ( 49, ( ( _, ( MlyValue.AddressContent1 AddressContent1, _,
-+AddressContent11right)) :: _ :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.AddressContent1 (consBlock(Paragraph, AddressContent1))
-+ in ( LrTable.NT 17, ( result, Paragraph1left, AddressContent11right),
-+ rest671)
-+end
-+| ( 50, ( ( _, ( MlyValue.AddressContent2 AddressContent2, _,
-+AddressContent21right)) :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.AddressContent1 (consBlock(Paragraph, AddressContent2))
-+ in ( LrTable.NT 17, ( result, Paragraph1left, AddressContent21right),
-+ rest671)
-+end
-+| ( 51, ( rest671)) => let val result = MlyValue.AddressContent2 ([]
-+)
-+ in ( LrTable.NT 18, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 52, ( ( _, ( MlyValue.AddressContent1 AddressContent1, _,
-+AddressContent11right)) :: _ :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.AddressContent2 (consBlock(Paragraph, AddressContent1))
-+ in ( LrTable.NT 18, ( result, Paragraph1left, AddressContent11right),
-+ rest671)
-+end
-+| ( 53, ( ( _, ( MlyValue.AddressContent2 AddressContent2, _,
-+AddressContent21right)) :: ( _, ( MlyValue.Paragraph Paragraph,
-+Paragraph1left, _)) :: rest671)) => let val result =
-+MlyValue.AddressContent2 (consBlock(Paragraph, AddressContent2))
-+ in ( LrTable.NT 18, ( result, Paragraph1left, AddressContent21right),
-+ rest671)
-+end
-+| ( 54, ( ( _, ( MlyValue.List List, List1left, List1right)) ::
-+rest671)) => let val result = MlyValue.BlockWOIndex (List)
-+ in ( LrTable.NT 19, ( result, List1left, List1right), rest671)
-+end
-+| ( 55, ( ( _, ( MlyValue.Preformatted Preformatted,
-+Preformatted1left, Preformatted1right)) :: rest671)) => let val
-+result = MlyValue.BlockWOIndex (Preformatted)
-+ in ( LrTable.NT 19, ( result, Preformatted1left, Preformatted1right),
-+ rest671)
-+end
-+| ( 56, ( ( _, ( _, _, END_DIV1right)) :: ( _, ( MlyValue.BodyContent
-+ BodyContent, _, _)) :: ( _, ( MlyValue.START_DIV START_DIV, (
-+START_DIVleft as START_DIV1left), _)) :: rest671)) => let val result
-+ = MlyValue.BlockWOIndex (
-+HTMLAttrs.mkDIV(ctx START_DIVleft, START_DIV, BodyContent))
-+ in ( LrTable.NT 19, ( result, START_DIV1left, END_DIV1right), rest671
-+)
-+end
-+| ( 57, ( ( _, ( _, _, END_CENTER1right)) :: ( _, (
-+MlyValue.BodyContent BodyContent, _, _)) :: ( _, ( _,
-+START_CENTER1left, _)) :: rest671)) => let val result =
-+MlyValue.BlockWOIndex (HTML.CENTER BodyContent)
-+ in ( LrTable.NT 19, ( result, START_CENTER1left, END_CENTER1right),
-+rest671)
-+end
-+| ( 58, ( ( _, ( _, _, END_BLOCKQUOTE1right)) :: ( _, (
-+MlyValue.BodyContent BodyContent, _, _)) :: ( _, ( _,
-+START_BLOCKQUOTE1left, _)) :: rest671)) => let val result =
-+MlyValue.BlockWOIndex (HTML.BLOCKQUOTE BodyContent)
-+ in ( LrTable.NT 19, ( result, START_BLOCKQUOTE1left,
-+END_BLOCKQUOTE1right), rest671)
-+end
-+| ( 59, ( ( _, ( _, _, END_FORM1right)) :: ( _, (
-+MlyValue.BodyContent BodyContent, _, _)) :: ( _, ( MlyValue.START_FORM
-+ START_FORM, (START_FORMleft as START_FORM1left), _)) :: rest671)) =>
-+ let val result = MlyValue.BlockWOIndex (
-+HTMLAttrs.mkFORM(ctx START_FORMleft, START_FORM, BodyContent))
-+ in ( LrTable.NT 19, ( result, START_FORM1left, END_FORM1right),
-+rest671)
-+end
-+| ( 60, ( ( _, ( MlyValue.TAG_HR TAG_HR, (TAG_HRleft as TAG_HR1left),
-+ TAG_HR1right)) :: rest671)) => let val result =
-+MlyValue.BlockWOIndex (HTMLAttrs.mkHR(ctx TAG_HRleft, TAG_HR))
-+ in ( LrTable.NT 19, ( result, TAG_HR1left, TAG_HR1right), rest671)
-+
-+end
-+| ( 61, ( ( _, ( _, _, END_TABLE1right)) :: ( _, (
-+MlyValue.TableRowList TableRowList, _, _)) :: ( _, (
-+MlyValue.optCaption optCaption, _, _)) :: ( _, ( MlyValue.START_TABLE
-+START_TABLE, (START_TABLEleft as START_TABLE1left), _)) :: rest671))
-+ => let val result = MlyValue.BlockWOIndex (
-+HTMLAttrs.mkTABLE(
-+ ctx START_TABLEleft, START_TABLE,
-+ {caption = optCaption, body = TableRowList})
-+
-+)
-+ in ( LrTable.NT 19, ( result, START_TABLE1left, END_TABLE1right),
-+rest671)
-+end
-+| ( 62, ( ( _, ( MlyValue.BlockWOIndex BlockWOIndex,
-+BlockWOIndex1left, BlockWOIndex1right)) :: rest671)) => let val
-+result = MlyValue.Block (BlockWOIndex)
-+ in ( LrTable.NT 20, ( result, BlockWOIndex1left, BlockWOIndex1right),
-+ rest671)
-+end
-+| ( 63, ( ( _, ( MlyValue.TAG_ISINDEX TAG_ISINDEX, (TAG_ISINDEXleft
-+ as TAG_ISINDEX1left), TAG_ISINDEX1right)) :: rest671)) => let val
-+result = MlyValue.Block (
-+let val stuff =
-+ HTMLAttrs.mkISINDEX (ctx TAG_ISINDEXleft, TAG_ISINDEX)
-+ in HTML.ISINDEX stuff end
-+
-+)
-+ in ( LrTable.NT 20, ( result, TAG_ISINDEX1left, TAG_ISINDEX1right),
-+rest671)
-+end
-+| ( 64, ( ( _, ( MlyValue.TextList TextList, _, TextList1right)) :: (
-+ _, ( MlyValue.START_P START_P, (START_Pleft as START_P1left), _)) ::
-+rest671)) => let val result = MlyValue.Paragraph (
-+HTMLAttrs.mkP(ctx START_Pleft, START_P, TextList))
-+ in ( LrTable.NT 21, ( result, START_P1left, TextList1right), rest671)
-+
-+end
-+| ( 65, ( ( _, ( _, _, END_UL1right)) :: ( _, ( MlyValue.ListItemList
-+ ListItemList, _, _)) :: ( _, ( MlyValue.START_UL START_UL, (
-+START_ULleft as START_UL1left), _)) :: rest671)) => let val result =
-+MlyValue.List (
-+HTMLAttrs.mkUL(ctx START_ULleft, START_UL, ListItemList))
-+ in ( LrTable.NT 22, ( result, START_UL1left, END_UL1right), rest671)
-+
-+end
-+| ( 66, ( ( _, ( _, _, END_OL1right)) :: ( _, ( MlyValue.ListItemList
-+ ListItemList, _, _)) :: ( _, ( MlyValue.START_OL START_OL, (
-+START_OLleft as START_OL1left), _)) :: rest671)) => let val result =
-+MlyValue.List (
-+HTMLAttrs.mkOL(ctx START_OLleft, START_OL, ListItemList))
-+ in ( LrTable.NT 22, ( result, START_OL1left, END_OL1right), rest671)
-+
-+end
-+| ( 67, ( ( _, ( _, _, END_DIR1right)) :: ( _, (
-+MlyValue.ListItemList ListItemList, _, _)) :: ( _, (
-+MlyValue.START_DIR START_DIR, (START_DIRleft as START_DIR1left), _))
-+ :: rest671)) => let val result = MlyValue.List (
-+HTMLAttrs.mkDIR(ctx START_DIRleft, START_DIR, ListItemList))
-+ in ( LrTable.NT 22, ( result, START_DIR1left, END_DIR1right), rest671
-+)
-+end
-+| ( 68, ( ( _, ( _, _, END_MENU1right)) :: ( _, (
-+MlyValue.ListItemList ListItemList, _, _)) :: ( _, (
-+MlyValue.START_MENU START_MENU, (START_MENUleft as START_MENU1left), _
-+)) :: rest671)) => let val result = MlyValue.List (
-+HTMLAttrs.mkMENU(ctx START_MENUleft, START_MENU, ListItemList))
-+ in ( LrTable.NT 22, ( result, START_MENU1left, END_MENU1right),
-+rest671)
-+end
-+| ( 69, ( ( _, ( _, _, END_DL1right)) :: ( _, ( MlyValue.DLItemList
-+DLItemList, _, _)) :: ( _, ( MlyValue.START_DL START_DL, (START_DLleft
-+ as START_DL1left), _)) :: rest671)) => let val result =
-+MlyValue.List (
-+HTMLAttrs.mkDL(
-+ ctx START_DLleft, START_DL,
-+ groupDefListContents DLItemList)
-+
-+)
-+ in ( LrTable.NT 22, ( result, START_DL1left, END_DL1right), rest671)
-+
-+end
-+| ( 70, ( rest671)) => let val result = MlyValue.ListItemList ([])
-+ in ( LrTable.NT 23, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 71, ( ( _, ( MlyValue.ListItemList ListItemList, _,
-+ListItemList1right)) :: ( _, ( MlyValue.ListItem ListItem,
-+ListItem1left, _)) :: rest671)) => let val result =
-+MlyValue.ListItemList (ListItem :: ListItemList)
-+ in ( LrTable.NT 23, ( result, ListItem1left, ListItemList1right),
-+rest671)
-+end
-+| ( 72, ( ( _, ( _, _, EndLI1right)) :: ( _, ( MlyValue.Flow1 Flow1,
-+ _, _)) :: ( _, ( MlyValue.START_LI START_LI, (START_LIleft as
-+START_LI1left), _)) :: rest671)) => let val result =
-+MlyValue.ListItem (
-+HTMLAttrs.mkLI(ctx START_LIleft, START_LI, mkBlock Flow1))
-+ in ( LrTable.NT 24, ( result, START_LI1left, EndLI1right), rest671)
-+
-+end
-+| ( 73, ( rest671)) => let val result = MlyValue.DLItemList ([])
-+ in ( LrTable.NT 25, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 74, ( ( _, ( MlyValue.DLItemList DLItemList, _, DLItemList1right)
-+) :: ( _, ( MlyValue.DLItem DLItem, DLItem1left, _)) :: rest671)) =>
-+ let val result = MlyValue.DLItemList (DLItem :: DLItemList)
-+ in ( LrTable.NT 25, ( result, DLItem1left, DLItemList1right), rest671
-+)
-+end
-+| ( 75, ( ( _, ( _, _, EndDT1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_DT1left, _)) :: rest671)) => let
-+ val result = MlyValue.DLItem (DL_tag TextList)
-+ in ( LrTable.NT 26, ( result, START_DT1left, EndDT1right), rest671)
-+
-+end
-+| ( 76, ( ( _, ( _, _, EndDD1right)) :: ( _, ( MlyValue.Flow1 Flow1,
-+ _, _)) :: ( _, ( _, START_DD1left, _)) :: rest671)) => let val
-+result = MlyValue.DLItem (DL_item(mkBlock Flow1))
-+ in ( LrTable.NT 26, ( result, START_DD1left, EndDD1right), rest671)
-+
-+end
-+| ( 77, ( rest671)) => let val result = MlyValue.Flow1 ([])
-+ in ( LrTable.NT 27, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 78, ( ( _, ( MlyValue.Flow1 Flow1, _, Flow11right)) :: ( _, (
-+MlyValue.Text Text, Text1left, _)) :: rest671)) => let val result =
-+MlyValue.Flow1 (consText(Text, Flow1))
-+ in ( LrTable.NT 27, ( result, Text1left, Flow11right), rest671)
-+end
-+| ( 79, ( ( _, ( MlyValue.Flow1 Flow1, _, Flow11right)) :: ( _, (
-+MlyValue.Block Block, Block1left, _)) :: rest671)) => let val result
-+ = MlyValue.Flow1 (consBlock(Block, Flow1))
-+ in ( LrTable.NT 27, ( result, Block1left, Flow11right), rest671)
-+end
-+| ( 80, ( ( _, ( MlyValue.Flow1 Flow1, _, Flow11right)) :: _ :: ( _,
-+( MlyValue.Paragraph Paragraph, Paragraph1left, _)) :: rest671)) =>
-+ let val result = MlyValue.Flow1 (consBlock(Paragraph, Flow1))
-+ in ( LrTable.NT 27, ( result, Paragraph1left, Flow11right), rest671)
-+
-+end
-+| ( 81, ( ( _, ( MlyValue.Flow2 Flow2, _, Flow21right)) :: ( _, (
-+MlyValue.Paragraph Paragraph, Paragraph1left, _)) :: rest671)) => let
-+ val result = MlyValue.Flow1 (consBlock(Paragraph, Flow2))
-+ in ( LrTable.NT 27, ( result, Paragraph1left, Flow21right), rest671)
-+
-+end
-+| ( 82, ( rest671)) => let val result = MlyValue.Flow2 ([])
-+ in ( LrTable.NT 28, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 83, ( ( _, ( MlyValue.Flow1 Flow1, _, Flow11right)) :: ( _, (
-+MlyValue.Block Block, Block1left, _)) :: rest671)) => let val result
-+ = MlyValue.Flow2 (consBlock(Block, Flow1))
-+ in ( LrTable.NT 28, ( result, Block1left, Flow11right), rest671)
-+end
-+| ( 84, ( ( _, ( MlyValue.Flow1 Flow1, _, Flow11right)) :: _ :: ( _,
-+( MlyValue.Paragraph Paragraph, Paragraph1left, _)) :: rest671)) =>
-+ let val result = MlyValue.Flow2 (consBlock(Paragraph, Flow1))
-+ in ( LrTable.NT 28, ( result, Paragraph1left, Flow11right), rest671)
-+
-+end
-+| ( 85, ( ( _, ( MlyValue.Flow2 Flow2, _, Flow21right)) :: ( _, (
-+MlyValue.Paragraph Paragraph, Paragraph1left, _)) :: rest671)) => let
-+ val result = MlyValue.Flow2 (consBlock(Paragraph, Flow2))
-+ in ( LrTable.NT 28, ( result, Paragraph1left, Flow21right), rest671)
-+
-+end
-+| ( 86, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 29, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 87, ( ( _, ( _, END_LI1left, END_LI1right)) :: rest671)) => let
-+ val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 29, ( result, END_LI1left, END_LI1right), rest671)
-+
-+end
-+| ( 88, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 30, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 89, ( ( _, ( _, END_DT1left, END_DT1right)) :: rest671)) => let
-+ val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 30, ( result, END_DT1left, END_DT1right), rest671)
-+
-+end
-+| ( 90, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 31, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 91, ( ( _, ( _, END_DD1left, END_DD1right)) :: rest671)) => let
-+ val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 31, ( result, END_DD1left, END_DD1right), rest671)
-+
-+end
-+| ( 92, ( ( _, ( _, _, END_PRE1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_PRE START_PRE, (
-+START_PREleft as START_PRE1left), _)) :: rest671)) => let val result
-+ = MlyValue.Preformatted (
-+HTMLAttrs.mkPRE(ctx START_PREleft, START_PRE, TextList))
-+ in ( LrTable.NT 32, ( result, START_PRE1left, END_PRE1right), rest671
-+)
-+end
-+| ( 93, ( rest671)) => let val result = MlyValue.optCaption (NONE)
-+ in ( LrTable.NT 33, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 94, ( ( _, ( _, _, END_CAPTION1right)) :: ( _, (
-+MlyValue.TextList TextList, _, _)) :: ( _, ( MlyValue.START_CAPTION
-+START_CAPTION, (START_CAPTIONleft as START_CAPTION1left), _)) ::
-+rest671)) => let val result = MlyValue.optCaption (
-+SOME(HTMLAttrs.mkCAPTION(
-+ ctx START_CAPTIONleft, START_CAPTION, TextList))
-+)
-+ in ( LrTable.NT 33, ( result, START_CAPTION1left, END_CAPTION1right),
-+ rest671)
-+end
-+| ( 95, ( ( _, ( MlyValue.TableRow TableRow, TableRow1left,
-+TableRow1right)) :: rest671)) => let val result =
-+MlyValue.TableRowList ([TableRow])
-+ in ( LrTable.NT 34, ( result, TableRow1left, TableRow1right), rest671
-+)
-+end
-+| ( 96, ( ( _, ( MlyValue.TableRowList TableRowList, _,
-+TableRowList1right)) :: ( _, ( MlyValue.TableRow TableRow,
-+TableRow1left, _)) :: rest671)) => let val result =
-+MlyValue.TableRowList (TableRow :: TableRowList)
-+ in ( LrTable.NT 34, ( result, TableRow1left, TableRowList1right),
-+rest671)
-+end
-+| ( 97, ( ( _, ( MlyValue.TableCellList TableCellList, _,
-+TableCellList1right)) :: ( _, ( MlyValue.START_TR START_TR, (
-+START_TRleft as START_TR1left), _)) :: rest671)) => let val result =
-+MlyValue.TableRow (
-+HTMLAttrs.mkTR(ctx START_TRleft, START_TR, TableCellList))
-+ in ( LrTable.NT 35, ( result, START_TR1left, TableCellList1right),
-+rest671)
-+end
-+| ( 98, ( ( _, ( _, _, END_TR1right)) :: ( _, (
-+MlyValue.TableCellList TableCellList, _, _)) :: ( _, (
-+MlyValue.START_TR START_TR, (START_TRleft as START_TR1left), _)) ::
-+rest671)) => let val result = MlyValue.TableRow (
-+HTMLAttrs.mkTR(ctx START_TRleft, START_TR, TableCellList))
-+ in ( LrTable.NT 35, ( result, START_TR1left, END_TR1right), rest671)
-+
-+end
-+| ( 99, ( ( _, ( MlyValue.TableCell TableCell, TableCell1left,
-+TableCell1right)) :: rest671)) => let val result =
-+MlyValue.TableCellList ([TableCell])
-+ in ( LrTable.NT 36, ( result, TableCell1left, TableCell1right),
-+rest671)
-+end
-+| ( 100, ( ( _, ( MlyValue.TableCellList TableCellList, _,
-+TableCellList1right)) :: ( _, ( MlyValue.TableCell TableCell,
-+TableCell1left, _)) :: rest671)) => let val result =
-+MlyValue.TableCellList (TableCell :: TableCellList)
-+ in ( LrTable.NT 36, ( result, TableCell1left, TableCellList1right),
-+rest671)
-+end
-+| ( 101, ( ( _, ( _, _, END_TH1right)) :: ( _, ( MlyValue.BodyContent
-+ BodyContent, _, _)) :: ( _, ( MlyValue.START_TH START_TH, (
-+START_THleft as START_TH1left), _)) :: rest671)) => let val result =
-+MlyValue.TableCell (
-+HTMLAttrs.mkTH(ctx START_THleft, START_TH, BodyContent))
-+ in ( LrTable.NT 37, ( result, START_TH1left, END_TH1right), rest671)
-+
-+end
-+| ( 102, ( ( _, ( MlyValue.BodyContent BodyContent, _,
-+BodyContent1right)) :: ( _, ( MlyValue.START_TH START_TH, (
-+START_THleft as START_TH1left), _)) :: rest671)) => let val result =
-+MlyValue.TableCell (
-+HTMLAttrs.mkTH(ctx START_THleft, START_TH, BodyContent))
-+ in ( LrTable.NT 37, ( result, START_TH1left, BodyContent1right),
-+rest671)
-+end
-+| ( 103, ( ( _, ( _, _, END_TD1right)) :: ( _, ( MlyValue.BodyContent
-+ BodyContent, _, _)) :: ( _, ( MlyValue.START_TD START_TD, (
-+START_TDleft as START_TD1left), _)) :: rest671)) => let val result =
-+MlyValue.TableCell (
-+HTMLAttrs.mkTD(ctx START_TDleft, START_TD, BodyContent))
-+ in ( LrTable.NT 37, ( result, START_TD1left, END_TD1right), rest671)
-+
-+end
-+| ( 104, ( ( _, ( MlyValue.BodyContent BodyContent, _,
-+BodyContent1right)) :: ( _, ( MlyValue.START_TD START_TD, (
-+START_TDleft as START_TD1left), _)) :: rest671)) => let val result =
-+MlyValue.TableCell (
-+HTMLAttrs.mkTD(ctx START_TDleft, START_TD, BodyContent))
-+ in ( LrTable.NT 37, ( result, START_TD1left, BodyContent1right),
-+rest671)
-+end
-+| ( 105, ( ( _, ( MlyValue.TextList' TextList', TextList'1left,
-+TextList'1right)) :: rest671)) => let val result = MlyValue.TextList
-+ (textList TextList')
-+ in ( LrTable.NT 38, ( result, TextList'1left, TextList'1right),
-+rest671)
-+end
-+| ( 106, ( rest671)) => let val result = MlyValue.TextList' ([])
-+ in ( LrTable.NT 39, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 107, ( ( _, ( MlyValue.TextList' TextList', _, TextList'1right))
-+ :: ( _, ( MlyValue.Text Text, Text1left, _)) :: rest671)) => let val
-+ result = MlyValue.TextList' (Text :: TextList')
-+ in ( LrTable.NT 39, ( result, Text1left, TextList'1right), rest671)
-+
-+end
-+| ( 108, ( ( _, ( MlyValue.PCDataElem PCDataElem, PCDataElem1left,
-+PCDataElem1right)) :: rest671)) => let val result =
-+MlyValue.TextWOScript (HTML.PCDATA PCDataElem)
-+ in ( LrTable.NT 40, ( result, PCDataElem1left, PCDataElem1right),
-+rest671)
-+end
-+| ( 109, ( ( _, ( MlyValue.Font Font, Font1left, Font1right)) ::
-+rest671)) => let val result = MlyValue.TextWOScript (Font)
-+ in ( LrTable.NT 40, ( result, Font1left, Font1right), rest671)
-+end
-+| ( 110, ( ( _, ( MlyValue.Phrase Phrase, Phrase1left, Phrase1right))
-+ :: rest671)) => let val result = MlyValue.TextWOScript (Phrase)
-+ in ( LrTable.NT 40, ( result, Phrase1left, Phrase1right), rest671)
-+
-+end
-+| ( 111, ( ( _, ( MlyValue.Special Special, Special1left,
-+Special1right)) :: rest671)) => let val result =
-+MlyValue.TextWOScript (Special)
-+ in ( LrTable.NT 40, ( result, Special1left, Special1right), rest671)
-+
-+end
-+| ( 112, ( ( _, ( MlyValue.Form Form, Form1left, Form1right)) ::
-+rest671)) => let val result = MlyValue.TextWOScript (Form)
-+ in ( LrTable.NT 40, ( result, Form1left, Form1right), rest671)
-+end
-+| ( 113, ( ( _, ( MlyValue.TextWOScript TextWOScript,
-+TextWOScript1left, TextWOScript1right)) :: rest671)) => let val
-+result = MlyValue.Text (TextWOScript)
-+ in ( LrTable.NT 41, ( result, TextWOScript1left, TextWOScript1right),
-+ rest671)
-+end
-+| ( 114, ( ( _, ( _, _, END_SCRIPT1right)) :: ( _, ( MlyValue.PCData
-+PCData, _, _)) :: ( _, ( _, START_SCRIPT1left, _)) :: rest671)) => let
-+ val result = MlyValue.Text (HTML.SCRIPT PCData)
-+ in ( LrTable.NT 41, ( result, START_SCRIPT1left, END_SCRIPT1right),
-+rest671)
-+end
-+| ( 115, ( ( _, ( _, _, END_TT1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_TT1left, _)) :: rest671)) => let
-+ val result = MlyValue.Font (HTML.TT(TextList))
-+ in ( LrTable.NT 42, ( result, START_TT1left, END_TT1right), rest671)
-+
-+end
-+| ( 116, ( ( _, ( _, _, END_I1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_I1left, _)) :: rest671)) => let
-+ val result = MlyValue.Font (HTML.I(TextList))
-+ in ( LrTable.NT 42, ( result, START_I1left, END_I1right), rest671)
-+
-+end
-+| ( 117, ( ( _, ( _, _, END_B1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_B1left, _)) :: rest671)) => let
-+ val result = MlyValue.Font (HTML.B(TextList))
-+ in ( LrTable.NT 42, ( result, START_B1left, END_B1right), rest671)
-+
-+end
-+| ( 118, ( ( _, ( _, _, END_U1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_U1left, _)) :: rest671)) => let
-+ val result = MlyValue.Font (HTML.U(TextList))
-+ in ( LrTable.NT 42, ( result, START_U1left, END_U1right), rest671)
-+
-+end
-+| ( 119, ( ( _, ( _, _, END_STRIKE1right)) :: ( _, (
-+MlyValue.TextList TextList, _, _)) :: ( _, ( _, START_STRIKE1left, _))
-+ :: rest671)) => let val result = MlyValue.Font (
-+HTML.STRIKE(TextList))
-+ in ( LrTable.NT 42, ( result, START_STRIKE1left, END_STRIKE1right),
-+rest671)
-+end
-+| ( 120, ( ( _, ( _, _, END_BIG1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_BIG1left, _)) :: rest671)) => let
-+ val result = MlyValue.Font (HTML.BIG(TextList))
-+ in ( LrTable.NT 42, ( result, START_BIG1left, END_BIG1right), rest671
-+)
-+end
-+| ( 121, ( ( _, ( _, _, END_SMALL1right)) :: ( _, ( MlyValue.TextList
-+ TextList, _, _)) :: ( _, ( _, START_SMALL1left, _)) :: rest671)) =>
-+ let val result = MlyValue.Font (HTML.SMALL(TextList))
-+ in ( LrTable.NT 42, ( result, START_SMALL1left, END_SMALL1right),
-+rest671)
-+end
-+| ( 122, ( ( _, ( _, _, END_SUB1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_SUB1left, _)) :: rest671)) => let
-+ val result = MlyValue.Font (HTML.SUB(TextList))
-+ in ( LrTable.NT 42, ( result, START_SUB1left, END_SUB1right), rest671
-+)
-+end
-+| ( 123, ( ( _, ( _, _, END_SUP1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_SUP1left, _)) :: rest671)) => let
-+ val result = MlyValue.Font (HTML.SUP(TextList))
-+ in ( LrTable.NT 42, ( result, START_SUP1left, END_SUP1right), rest671
-+)
-+end
-+| ( 124, ( ( _, ( _, _, END_EM1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_EM1left, _)) :: rest671)) => let
-+ val result = MlyValue.Phrase (HTML.EM(TextList))
-+ in ( LrTable.NT 43, ( result, START_EM1left, END_EM1right), rest671)
-+
-+end
-+| ( 125, ( ( _, ( _, _, END_STRONG1right)) :: ( _, (
-+MlyValue.TextList TextList, _, _)) :: ( _, ( _, START_STRONG1left, _))
-+ :: rest671)) => let val result = MlyValue.Phrase (
-+HTML.STRONG(TextList))
-+ in ( LrTable.NT 43, ( result, START_STRONG1left, END_STRONG1right),
-+rest671)
-+end
-+| ( 126, ( ( _, ( _, _, END_CODE1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_CODE1left, _)) :: rest671)) => let
-+ val result = MlyValue.Phrase (HTML.CODE(TextList))
-+ in ( LrTable.NT 43, ( result, START_CODE1left, END_CODE1right),
-+rest671)
-+end
-+| ( 127, ( ( _, ( _, _, END_DFN1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_DFN1left, _)) :: rest671)) => let
-+ val result = MlyValue.Phrase (HTML.DFN(TextList))
-+ in ( LrTable.NT 43, ( result, START_DFN1left, END_DFN1right), rest671
-+)
-+end
-+| ( 128, ( ( _, ( _, _, END_SAMP1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_SAMP1left, _)) :: rest671)) => let
-+ val result = MlyValue.Phrase (HTML.SAMP(TextList))
-+ in ( LrTable.NT 43, ( result, START_SAMP1left, END_SAMP1right),
-+rest671)
-+end
-+| ( 129, ( ( _, ( _, _, END_KBD1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_KBD1left, _)) :: rest671)) => let
-+ val result = MlyValue.Phrase (HTML.KBD(TextList))
-+ in ( LrTable.NT 43, ( result, START_KBD1left, END_KBD1right), rest671
-+)
-+end
-+| ( 130, ( ( _, ( _, _, END_VAR1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_VAR1left, _)) :: rest671)) => let
-+ val result = MlyValue.Phrase (HTML.VAR(TextList))
-+ in ( LrTable.NT 43, ( result, START_VAR1left, END_VAR1right), rest671
-+)
-+end
-+| ( 131, ( ( _, ( _, _, END_CITE1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( _, START_CITE1left, _)) :: rest671)) => let
-+ val result = MlyValue.Phrase (HTML.CITE(TextList))
-+ in ( LrTable.NT 43, ( result, START_CITE1left, END_CITE1right),
-+rest671)
-+end
-+| ( 132, ( ( _, ( _, _, END_A1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_A START_A, (START_Aleft as
-+START_A1left), _)) :: rest671)) => let val result = MlyValue.Special
-+ (HTMLAttrs.mkA(ctx START_Aleft, START_A, TextList))
-+ in ( LrTable.NT 44, ( result, START_A1left, END_A1right), rest671)
-+
-+end
-+| ( 133, ( ( _, ( MlyValue.TAG_IMG TAG_IMG, (TAG_IMGleft as
-+TAG_IMG1left), TAG_IMG1right)) :: rest671)) => let val result =
-+MlyValue.Special (HTMLAttrs.mkIMG(ctx TAG_IMGleft, TAG_IMG))
-+ in ( LrTable.NT 44, ( result, TAG_IMG1left, TAG_IMG1right), rest671)
-+
-+end
-+| ( 134, ( ( _, ( _, _, END_APPLET1right)) :: ( _, (
-+MlyValue.TextList TextList, _, _)) :: ( _, ( MlyValue.START_APPLET
-+START_APPLET, (START_APPLETleft as START_APPLET1left), _)) :: rest671)
-+) => let val result = MlyValue.Special (
-+HTMLAttrs.mkAPPLET(ctx START_APPLETleft, START_APPLET, TextList))
-+ in ( LrTable.NT 44, ( result, START_APPLET1left, END_APPLET1right),
-+rest671)
-+end
-+| ( 135, ( ( _, ( _, _, END_FONT1right)) :: ( _, ( MlyValue.TextList
-+TextList, _, _)) :: ( _, ( MlyValue.START_FONT START_FONT, (
-+START_FONTleft as START_FONT1left), _)) :: rest671)) => let val
-+result = MlyValue.Special (
-+HTMLAttrs.mkFONT(ctx START_FONTleft, START_FONT, TextList))
-+ in ( LrTable.NT 44, ( result, START_FONT1left, END_FONT1right),
-+rest671)
-+end
-+| ( 136, ( ( _, ( _, _, END_BASEFONT1right)) :: ( _, (
-+MlyValue.TextList TextList, _, _)) :: ( _, ( MlyValue.START_BASEFONT
-+START_BASEFONT, (START_BASEFONTleft as START_BASEFONT1left), _)) ::
-+rest671)) => let val result = MlyValue.Special (
-+HTMLAttrs.mkBASEFONT(
-+ ctx START_BASEFONTleft, START_BASEFONT, TextList)
-+
-+)
-+ in ( LrTable.NT 44, ( result, START_BASEFONT1left, END_BASEFONT1right
-+), rest671)
-+end
-+| ( 137, ( ( _, ( MlyValue.TAG_BR TAG_BR, (TAG_BRleft as TAG_BR1left)
-+, TAG_BR1right)) :: rest671)) => let val result = MlyValue.Special (
-+HTMLAttrs.mkBR(ctx TAG_BRleft, TAG_BR))
-+ in ( LrTable.NT 44, ( result, TAG_BR1left, TAG_BR1right), rest671)
-+
-+end
-+| ( 138, ( ( _, ( _, _, END_MAP1right)) :: ( _, ( MlyValue.AreaList
-+AreaList, _, _)) :: ( _, ( MlyValue.START_MAP START_MAP, (
-+START_MAPleft as START_MAP1left), _)) :: rest671)) => let val result
-+ = MlyValue.Special (
-+HTMLAttrs.mkMAP(ctx START_MAPleft, START_MAP, AreaList))
-+ in ( LrTable.NT 44, ( result, START_MAP1left, END_MAP1right), rest671
-+)
-+end
-+| ( 139, ( ( _, ( MlyValue.TAG_PARAM TAG_PARAM, (TAG_PARAMleft as
-+TAG_PARAM1left), TAG_PARAM1right)) :: rest671)) => let val result =
-+MlyValue.Special (HTMLAttrs.mkPARAM(ctx TAG_PARAMleft, TAG_PARAM))
-+ in ( LrTable.NT 44, ( result, TAG_PARAM1left, TAG_PARAM1right),
-+rest671)
-+end
-+| ( 140, ( rest671)) => let val result = MlyValue.AreaList ([])
-+ in ( LrTable.NT 45, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 141, ( ( _, ( MlyValue.AreaList AreaList, _, AreaList1right)) ::
-+( _, ( MlyValue.TAG_AREA TAG_AREA, (TAG_AREAleft as TAG_AREA1left), _)
-+) :: rest671)) => let val result = MlyValue.AreaList (
-+HTMLAttrs.mkAREA(ctx TAG_AREAleft, TAG_AREA) :: AreaList)
-+ in ( LrTable.NT 45, ( result, TAG_AREA1left, AreaList1right), rest671
-+)
-+end
-+| ( 142, ( ( _, ( MlyValue.TAG_INPUT TAG_INPUT, (TAG_INPUTleft as
-+TAG_INPUT1left), TAG_INPUT1right)) :: rest671)) => let val result =
-+MlyValue.Form (HTMLAttrs.mkINPUT(ctx TAG_INPUTleft, TAG_INPUT))
-+ in ( LrTable.NT 46, ( result, TAG_INPUT1left, TAG_INPUT1right),
-+rest671)
-+end
-+| ( 143, ( ( _, ( _, _, END_SELECT1right)) :: ( _, (
-+MlyValue.OptionList OptionList, _, _)) :: ( _, ( MlyValue.START_SELECT
-+ START_SELECT, (START_SELECTleft as START_SELECT1left), _)) :: rest671
-+)) => let val result = MlyValue.Form (
-+HTMLAttrs.mkSELECT(ctx START_SELECTleft, START_SELECT, OptionList))
-+ in ( LrTable.NT 46, ( result, START_SELECT1left, END_SELECT1right),
-+rest671)
-+end
-+| ( 144, ( ( _, ( _, _, END_TEXTAREA1right)) :: ( _, (
-+MlyValue.PCData PCData, _, _)) :: ( _, ( MlyValue.START_TEXTAREA
-+START_TEXTAREA, (START_TEXTAREAleft as START_TEXTAREA1left), _)) ::
-+rest671)) => let val result = MlyValue.Form (
-+HTMLAttrs.mkTEXTAREA(
-+ ctx START_TEXTAREAleft, START_TEXTAREA,
-+ PCData)
-+
-+)
-+ in ( LrTable.NT 46, ( result, START_TEXTAREA1left, END_TEXTAREA1right
-+), rest671)
-+end
-+| ( 145, ( rest671)) => let val result = MlyValue.OptionList ([])
-+ in ( LrTable.NT 47, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 146, ( ( _, ( MlyValue.OptionList OptionList, _, OptionList1right
-+)) :: _ :: ( _, ( MlyValue.PCData PCData, _, _)) :: ( _, (
-+MlyValue.START_OPTION START_OPTION, (START_OPTIONleft as
-+START_OPTION1left), _)) :: rest671)) => let val result =
-+MlyValue.OptionList (
-+HTMLAttrs.mkOPTION(ctx START_OPTIONleft, START_OPTION, PCData)
-+ :: OptionList
-+
-+)
-+ in ( LrTable.NT 47, ( result, START_OPTION1left, OptionList1right),
-+rest671)
-+end
-+| ( 147, ( rest671)) => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 48, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 148, ( ( _, ( _, END_OPTION1left, END_OPTION1right)) :: rest671))
-+ => let val result = MlyValue.ntVOID ()
-+ in ( LrTable.NT 48, ( result, END_OPTION1left, END_OPTION1right),
-+rest671)
-+end
-+| ( 149, ( ( _, ( MlyValue.PCDataList PCDataList, PCDataList1left,
-+PCDataList1right)) :: rest671)) => let val result = MlyValue.PCData (
-+concat PCDataList)
-+ in ( LrTable.NT 49, ( result, PCDataList1left, PCDataList1right),
-+rest671)
-+end
-+| ( 150, ( rest671)) => let val result = MlyValue.PCDataList ([])
-+ in ( LrTable.NT 50, ( result, defaultPos, defaultPos), rest671)
-+end
-+| ( 151, ( ( _, ( MlyValue.PCDataList PCDataList, _, PCDataList1right
-+)) :: ( _, ( MlyValue.PCDataElem PCDataElem, PCDataElem1left, _)) ::
-+rest671)) => let val result = MlyValue.PCDataList (
-+PCDataElem :: PCDataList)
-+ in ( LrTable.NT 50, ( result, PCDataElem1left, PCDataList1right),
-+rest671)
-+end
-+| ( 152, ( ( _, ( MlyValue.PCDATA PCDATA, PCDATA1left, PCDATA1right))
-+ :: rest671)) => let val result = MlyValue.PCDataElem (PCDATA)
-+ in ( LrTable.NT 51, ( result, PCDATA1left, PCDATA1right), rest671)
-+
-+end
-+| ( 153, ( ( _, ( MlyValue.CHAR_REF CHAR_REF, CHAR_REF1left,
-+CHAR_REF1right)) :: rest671)) => let val result = MlyValue.PCDataElem
-+ (CHAR_REF)
-+ in ( LrTable.NT 51, ( result, CHAR_REF1left, CHAR_REF1right), rest671
-+)
-+end
-+| ( 154, ( ( _, ( MlyValue.ENTITY_REF ENTITY_REF, ENTITY_REF1left,
-+ENTITY_REF1right)) :: rest671)) => let val result =
-+MlyValue.PCDataElem (ENTITY_REF)
-+ in ( LrTable.NT 51, ( result, ENTITY_REF1left, ENTITY_REF1right),
-+rest671)
-+end
-+| _ => raise (mlyAction i392)
-+end
-+val void = MlyValue.VOID
-+val extract = fn a => (fn MlyValue.Document x => x
-+| _ => let exception ParseInternal
-+ in raise ParseInternal end) a
-+end
-+end
-+structure Tokens : HTML_TOKENS =
-+struct
-+type svalue = ParserData.svalue
-+type ('a,'b) token = ('a,'b) Token.token
-+fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_A (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(
-+ParserData.MlyValue.START_A i,p1,p2))
-+fun END_A (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_ADDRESS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_ADDRESS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_APPLET (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(
-+ParserData.MlyValue.START_APPLET i,p1,p2))
-+fun END_APPLET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_AREA (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(
-+ParserData.MlyValue.TAG_AREA i,p1,p2))
-+fun START_B (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_B (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_BASE (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(
-+ParserData.MlyValue.TAG_BASE i,p1,p2))
-+fun START_BIG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_BIG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_BLOCKQUOTE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_BLOCKQUOTE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_BODY (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(
-+ParserData.MlyValue.START_BODY i,p1,p2))
-+fun END_BODY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_BR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(
-+ParserData.MlyValue.TAG_BR i,p1,p2))
-+fun START_CAPTION (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(
-+ParserData.MlyValue.START_CAPTION i,p1,p2))
-+fun END_CAPTION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_CENTER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_CENTER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_CITE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_CITE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_CODE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_CODE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_DD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_DD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_DFN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_DFN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_DIR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,(
-+ParserData.MlyValue.START_DIR i,p1,p2))
-+fun END_DIR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_DIV (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,(
-+ParserData.MlyValue.START_DIV i,p1,p2))
-+fun END_DIV (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_DL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,(
-+ParserData.MlyValue.START_DL i,p1,p2))
-+fun END_DL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_DT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_DT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_EM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_EM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_FONT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,(
-+ParserData.MlyValue.START_FONT i,p1,p2))
-+fun END_FONT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_BASEFONT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 42,(
-+ParserData.MlyValue.START_BASEFONT i,p1,p2))
-+fun END_BASEFONT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 43,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_FORM (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 44,(
-+ParserData.MlyValue.START_FORM i,p1,p2))
-+fun END_FORM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 45,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_H1 (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 46,(
-+ParserData.MlyValue.START_H1 i,p1,p2))
-+fun END_H1 (p1,p2) = Token.TOKEN (ParserData.LrTable.T 47,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_H2 (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 48,(
-+ParserData.MlyValue.START_H2 i,p1,p2))
-+fun END_H2 (p1,p2) = Token.TOKEN (ParserData.LrTable.T 49,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_H3 (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 50,(
-+ParserData.MlyValue.START_H3 i,p1,p2))
-+fun END_H3 (p1,p2) = Token.TOKEN (ParserData.LrTable.T 51,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_H4 (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 52,(
-+ParserData.MlyValue.START_H4 i,p1,p2))
-+fun END_H4 (p1,p2) = Token.TOKEN (ParserData.LrTable.T 53,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_H5 (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 54,(
-+ParserData.MlyValue.START_H5 i,p1,p2))
-+fun END_H5 (p1,p2) = Token.TOKEN (ParserData.LrTable.T 55,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_H6 (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 56,(
-+ParserData.MlyValue.START_H6 i,p1,p2))
-+fun END_H6 (p1,p2) = Token.TOKEN (ParserData.LrTable.T 57,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_HEAD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 58,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_HEAD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 59,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_HR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 60,(
-+ParserData.MlyValue.TAG_HR i,p1,p2))
-+fun START_HTML (p1,p2) = Token.TOKEN (ParserData.LrTable.T 61,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_HTML (p1,p2) = Token.TOKEN (ParserData.LrTable.T 62,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_I (p1,p2) = Token.TOKEN (ParserData.LrTable.T 63,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_I (p1,p2) = Token.TOKEN (ParserData.LrTable.T 64,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_IMG (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 65,(
-+ParserData.MlyValue.TAG_IMG i,p1,p2))
-+fun TAG_INPUT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 66,(
-+ParserData.MlyValue.TAG_INPUT i,p1,p2))
-+fun TAG_ISINDEX (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 67,(
-+ParserData.MlyValue.TAG_ISINDEX i,p1,p2))
-+fun START_KBD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 68,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_KBD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 69,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_LI (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 70,(
-+ParserData.MlyValue.START_LI i,p1,p2))
-+fun END_LI (p1,p2) = Token.TOKEN (ParserData.LrTable.T 71,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_LINK (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 72,(
-+ParserData.MlyValue.TAG_LINK i,p1,p2))
-+fun START_MAP (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 73,(
-+ParserData.MlyValue.START_MAP i,p1,p2))
-+fun END_MAP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 74,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_MENU (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 75,(
-+ParserData.MlyValue.START_MENU i,p1,p2))
-+fun END_MENU (p1,p2) = Token.TOKEN (ParserData.LrTable.T 76,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_META (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 77,(
-+ParserData.MlyValue.TAG_META i,p1,p2))
-+fun START_OL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 78,(
-+ParserData.MlyValue.START_OL i,p1,p2))
-+fun END_OL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 79,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_OPTION (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 80,(
-+ParserData.MlyValue.START_OPTION i,p1,p2))
-+fun END_OPTION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 81,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_P (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 82,(
-+ParserData.MlyValue.START_P i,p1,p2))
-+fun END_P (p1,p2) = Token.TOKEN (ParserData.LrTable.T 83,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun TAG_PARAM (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 84,(
-+ParserData.MlyValue.TAG_PARAM i,p1,p2))
-+fun START_PRE (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 85,(
-+ParserData.MlyValue.START_PRE i,p1,p2))
-+fun END_PRE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 86,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_SAMP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 87,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_SAMP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 88,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_SCRIPT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 89,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_SCRIPT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 90,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_SELECT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 91,(
-+ParserData.MlyValue.START_SELECT i,p1,p2))
-+fun END_SELECT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 92,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_SMALL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 93,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_SMALL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 94,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_STRIKE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 95,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_STRIKE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 96,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_STRONG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 97,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_STRONG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 98,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_STYLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 99,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_STYLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 100,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_SUB (p1,p2) = Token.TOKEN (ParserData.LrTable.T 101,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_SUB (p1,p2) = Token.TOKEN (ParserData.LrTable.T 102,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_SUP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 103,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_SUP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 104,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_TABLE (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 105,(
-+ParserData.MlyValue.START_TABLE i,p1,p2))
-+fun END_TABLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 106,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_TD (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 107,(
-+ParserData.MlyValue.START_TD i,p1,p2))
-+fun END_TD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 108,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_TEXTAREA (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 109,(
-+ParserData.MlyValue.START_TEXTAREA i,p1,p2))
-+fun END_TEXTAREA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 110,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_TH (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 111,(
-+ParserData.MlyValue.START_TH i,p1,p2))
-+fun END_TH (p1,p2) = Token.TOKEN (ParserData.LrTable.T 112,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_TITLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 113,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_TITLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 114,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_TR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 115,(
-+ParserData.MlyValue.START_TR i,p1,p2))
-+fun END_TR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 116,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_TT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 117,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_TT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 118,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_U (p1,p2) = Token.TOKEN (ParserData.LrTable.T 119,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_U (p1,p2) = Token.TOKEN (ParserData.LrTable.T 120,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_UL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 121,(
-+ParserData.MlyValue.START_UL i,p1,p2))
-+fun END_UL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 122,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun START_VAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 123,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun END_VAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 124,(
-+ParserData.MlyValue.VOID,p1,p2))
-+fun PCDATA (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 125,(
-+ParserData.MlyValue.PCDATA i,p1,p2))
-+fun CHAR_REF (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 126,(
-+ParserData.MlyValue.CHAR_REF i,p1,p2))
-+fun ENTITY_REF (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 127,(
-+ParserData.MlyValue.ENTITY_REF i,p1,p2))
-+end
-+end
+diff -Naur smlnj-lib/HTML/html-gram.sml smlnj-lib-mlton/HTML/html-gram.sml
+--- smlnj-lib/HTML/html-gram.sml 2005-11-19 12:16:57.000000000 -0500
++++ smlnj-lib-mlton/HTML/html-gram.sml 2005-11-19 13:58:31.000000000 -0500
+@@ -1226,10 +1226,11 @@
+ (T 3) $$ (T 2) $$ (T 0)end
+ structure Actions =
+ struct
++type int = Int.int
+ exception mlyAction of int
+ local open Header in
+ val actions =
+-fn (i392,defaultPos,stack,
++fn (i392:int,defaultPos,stack,
+ (ctx):arg) =>
+ case (i392,stack)
+ of ( 0, ( ( _, ( _, _, EndHTML1right)) :: ( _, ( MlyValue.Body Body,
diff -Naur smlnj-lib/HTML/html-lex.sml smlnj-lib-mlton/HTML/html-lex.sml
---- smlnj-lib/HTML/html-lex.sml 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-lex.sml 2005-08-18 12:09:08.000000000 -0400
-@@ -0,0 +1,672 @@
+--- smlnj-lib/HTML/html-lex.sml 2005-11-19 12:16:57.000000000 -0500
++++ smlnj-lib-mlton/HTML/html-lex.sml 2005-11-19 13:58:31.000000000 -0500
+@@ -1,3 +1,4 @@
+type int = Int.int
-+functor HTMLLexFn (
-+ structure Tokens : HTML_TOKENS
-+ structure Err : HTML_ERROR
-+ structure HTMLAttrs : HTML_ATTRS)=
-+ struct
-+ structure UserDeclarations =
-+ struct
-+(* html-lex
-+ *
-+ * COPYRIGHT (c) 1995 AT&T Bell Laboratories.
-+ * COPYRIGHT (c) 1996 AT&T Research.
-+ *
-+ * A scanner for HTML.
-+ *
-+ * TODO:
-+ * Recognize the DOCTYPE element
-+ * <!DOCTYPE HTML PUBLIC "...">
-+ * Clean-up the scanning of start tags (do we need Err?).
-+ * Whitespace in PRE elements should be preserved, but how?
-+ *)
-+
-+structure T = Tokens
-+structure Elems = HTMLElementsFn (
-+ structure Tokens = Tokens
-+ structure Err = Err
-+ structure HTMLAttrs = HTMLAttrs)
-+
-+type pos = int
-+type svalue = T.svalue
-+type arg = (((string * int * int) -> unit) * string option)
-+type ('a, 'b) token = ('a, 'b) T.token
-+type lexresult= (svalue, pos) token
-+
-+fun eof _ = Tokens.EOF(0, 0)
-+
-+(* a buffer for collecting a string piecewise *)
-+val buffer = ref ([] : string list)
-+fun addStr s = (buffer := s :: !buffer)
-+fun getStr () = (String.concat(List.rev(! buffer)) before (buffer := []))
-+
-+end (* end of user routines *)
-+exception LexError (* raised if illegal leaf action tried *)
-+structure Internal =
-+ struct
-+
-+datatype yyfinstate = N of int
-+type statedata = {fin : yyfinstate list, trans: string}
-+(* transition & final state table *)
-+val tab = let
-+val s = [
-+ (0,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (1,
-+"\009\009\009\009\009\009\009\009\009\028\029\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\028\009\009\009\009\009\020\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\011\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
-+\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009"
-+),
-+ (3,
-+"\030\030\030\030\030\030\030\030\030\030\033\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\031\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\
-+\\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030"
-+),
-+ (5,
-+"\034\034\034\034\034\034\034\034\034\038\039\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\038\034\034\034\034\034\034\034\034\034\034\034\034\036\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\035\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\
-+\\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034\034"
-+),
-+ (7,
-+"\040\040\040\040\040\040\040\040\040\051\053\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\051\040\048\040\040\040\040\045\040\040\040\040\040\041\041\040\
-+\\041\041\041\041\041\041\041\041\041\041\040\040\040\044\043\040\
-+\\040\041\041\041\041\041\041\041\041\041\041\041\041\041\041\041\
-+\\041\041\041\041\041\041\041\041\041\041\041\040\040\040\040\040\
-+\\040\041\041\041\041\041\041\041\041\041\041\041\041\041\041\041\
-+\\041\041\041\041\041\041\041\041\041\041\041\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-+\\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"
-+),
-+ (9,
-+"\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\000\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010"
-+),
-+ (11,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\013\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\012\012\012\012\012\012\012\012\012\012\012\012\012\012\012\
-+\\012\012\012\012\012\012\012\012\012\012\012\000\000\000\000\000\
-+\\000\012\012\012\012\012\012\012\012\012\012\012\012\012\012\012\
-+\\012\012\012\012\012\012\012\012\012\012\012\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (12,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\012\012\000\
-+\\012\012\012\012\012\012\012\012\012\012\000\000\000\000\000\000\
-+\\000\012\012\012\012\012\012\012\012\012\012\012\012\012\012\012\
-+\\012\012\012\012\012\012\012\012\012\012\012\000\000\000\000\000\
-+\\000\012\012\012\012\012\012\012\012\012\012\012\012\012\012\012\
-+\\012\012\012\012\012\012\012\012\012\012\012\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (13,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
-+\\014\014\014\014\014\014\014\014\014\014\014\000\000\000\000\000\
-+\\000\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
-+\\014\014\014\014\014\014\014\014\014\014\014\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (14,
-+"\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\016\000\000\000\000\000\000\000\000\000\000\000\000\014\014\000\
-+\\014\014\014\014\014\014\014\014\014\014\000\000\000\000\015\000\
-+\\000\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
-+\\014\014\014\014\014\014\014\014\014\014\014\000\000\000\000\000\
-+\\000\014\014\014\014\014\014\014\014\014\014\014\014\014\014\014\
-+\\014\014\014\014\014\014\014\014\014\014\014\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (16,
-+"\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (17,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (18,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\019\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (20,
-+"\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\023\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\000\010\010\010\
-+\\010\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
-+\\021\021\021\021\021\021\021\021\021\021\021\010\010\010\010\010\
-+\\010\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
-+\\021\021\021\021\021\021\021\021\021\021\021\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010"
-+),
-+ (21,
-+"\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\021\021\010\
-+\\021\021\021\021\021\021\021\021\021\021\010\022\000\010\010\010\
-+\\010\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
-+\\021\021\021\021\021\021\021\021\021\021\021\010\010\010\010\010\
-+\\010\021\021\021\021\021\021\021\021\021\021\021\021\021\021\021\
-+\\021\021\021\021\021\021\021\021\021\021\021\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010"
-+),
-+ (23,
-+"\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\026\026\026\026\026\026\026\026\026\026\010\010\000\010\010\010\
-+\\010\024\024\024\024\024\024\024\024\024\024\024\024\024\024\024\
-+\\024\024\024\024\024\024\024\024\024\024\024\010\010\010\010\010\
-+\\010\024\024\024\024\024\024\024\024\024\024\024\024\024\024\024\
-+\\024\024\024\024\024\024\024\024\024\024\024\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010"
-+),
-+ (24,
-+"\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\025\000\010\010\010\
-+\\010\024\024\024\024\024\024\024\024\024\024\024\024\024\024\024\
-+\\024\024\024\024\024\024\024\024\024\024\024\010\010\010\010\010\
-+\\010\024\024\024\024\024\024\024\024\024\024\024\024\024\024\024\
-+\\024\024\024\024\024\024\024\024\024\024\024\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010"
-+),
-+ (26,
-+"\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\026\026\026\026\026\026\026\026\026\026\010\027\000\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\
-+\\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010\010"
-+),
-+ (31,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\032\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (36,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\037\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (41,
-+"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\042\042\000\
-+\\042\042\042\042\042\042\042\042\042\042\000\000\000\000\000\000\
-+\\000\042\042\042\042\042\042\042\042\042\042\042\042\042\042\042\
-+\\042\042\042\042\042\042\042\042\042\042\042\000\000\000\000\000\
-+\\000\042\042\042\042\042\042\042\042\042\042\042\042\042\042\042\
-+\\042\042\042\042\042\042\042\042\042\042\042\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+ (45,
-+"\046\046\046\046\046\046\046\046\046\046\000\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\047\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\
-+\\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046\046"
-+),
-+ (48,
-+"\049\049\049\049\049\049\049\049\049\049\000\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\050\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\
-+\\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049\049"
-+),
-+ (51,
-+"\000\000\000\000\000\000\000\000\000\052\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\052\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-+\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
-+),
-+(0, "")]
-+fun f x = x
-+val s = map f (rev (tl (rev s)))
-+exception LexHackingError
+ functor HTMLLexFn (
+ structure Tokens : HTML_TOKENS
+ structure Err : HTML_ERROR
+@@ -484,7 +485,7 @@
+ fun f x = x
+ val s = map f (rev (tl (rev s)))
+ exception LexHackingError
+-fun look ((j,x)::r, i: int) = if i = j then x else look(r, i)
+fun look ((j,x)::r, i) = if i = j then x else look(r, i)
-+ | look ([], i) = raise LexHackingError
-+fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)}
-+in Vector.fromList(map g
-+[{fin = [], trans = 0},
-+{fin = [], trans = 1},
-+{fin = [], trans = 1},
-+{fin = [], trans = 3},
-+{fin = [], trans = 3},
-+{fin = [], trans = 5},
-+{fin = [], trans = 5},
-+{fin = [], trans = 7},
-+{fin = [], trans = 7},
-+{fin = [(N 79),(N 81)], trans = 9},
-+{fin = [(N 79)], trans = 9},
-+{fin = [(N 81)], trans = 11},
-+{fin = [(N 3)], trans = 12},
-+{fin = [], trans = 13},
-+{fin = [], trans = 14},
-+{fin = [(N 32)], trans = 0},
-+{fin = [], trans = 16},
-+{fin = [], trans = 17},
-+{fin = [], trans = 18},
-+{fin = [(N 37)], trans = 0},
-+{fin = [(N 79),(N 81)], trans = 20},
-+{fin = [(N 79)], trans = 21},
-+{fin = [(N 72),(N 79)], trans = 9},
-+{fin = [(N 79)], trans = 23},
-+{fin = [(N 79)], trans = 24},
-+{fin = [(N 61),(N 79)], trans = 9},
-+{fin = [(N 79)], trans = 26},
-+{fin = [(N 67),(N 79)], trans = 9},
-+{fin = [(N 76),(N 79),(N 81)], trans = 9},
-+{fin = [(N 74),(N 79)], trans = 9},
-+{fin = [(N 44)], trans = 0},
-+{fin = [(N 44)], trans = 31},
-+{fin = [(N 40)], trans = 0},
-+{fin = [(N 42)], trans = 0},
-+{fin = [(N 55)], trans = 0},
-+{fin = [(N 49),(N 55)], trans = 0},
-+{fin = [(N 55)], trans = 36},
-+{fin = [(N 47)], trans = 0},
-+{fin = [(N 53),(N 55)], trans = 0},
-+{fin = [(N 51)], trans = 0},
-+{fin = [(N 25)], trans = 0},
-+{fin = [(N 13),(N 25)], trans = 41},
-+{fin = [(N 13)], trans = 41},
-+{fin = [(N 5),(N 25)], trans = 0},
-+{fin = [(N 15),(N 25)], trans = 0},
-+{fin = [(N 25)], trans = 45},
-+{fin = [], trans = 45},
-+{fin = [(N 23)], trans = 0},
-+{fin = [(N 25)], trans = 48},
-+{fin = [], trans = 48},
-+{fin = [(N 19)], trans = 0},
-+{fin = [(N 10),(N 25)], trans = 51},
-+{fin = [(N 10)], trans = 51},
-+{fin = [(N 7)], trans = 0}])
-+end
-+structure StartStates =
-+ struct
-+ datatype yystartstate = STARTSTATE of int
-+
-+(* start state definitions *)
-+
-+val COM1 = STARTSTATE 3;
-+val COM2 = STARTSTATE 5;
-+val INITIAL = STARTSTATE 1;
-+val STAG = STARTSTATE 7;
-+
-+end
-+type result = UserDeclarations.lexresult
-+ exception LexerError (* raised if illegal leaf action tried *)
-+end
-+
+ | look ([], i) = raise LexHackingError
+ fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)}
+ in Vector.fromList(map g
+@@ -559,30 +560,31 @@
+ exception LexerError (* raised if illegal leaf action tried *)
+ end
+
+-fun makeLexer yyinput =
+-let val yygone0=1
+- val yylineno = ref 0
+type int = Int.int
+fun makeLexer (yyinput: int -> string) =
+let val yygone0:int= ~1
+ val yylineno: int ref = ref 0
-+
-+ val yyb = ref "\n" (* buffer *)
+
+ val yyb = ref "\n" (* buffer *)
+- val yybl = ref 1 (*buffer length *)
+- val yybufpos = ref 1 (* location of next character to use *)
+- val yygone = ref yygone0 (* position in file of beginning of buffer *)
+ val yybl: int ref = ref 1 (*buffer length *)
+ val yybufpos: int ref = ref 1 (* location of next character to use *)
+ val yygone: int ref = ref yygone0 (* position in file of beginning of buffer *)
-+ val yydone = ref false (* eof found yet? *)
+ val yydone = ref false (* eof found yet? *)
+- val yybegin = ref 1 (*Current 'start state' for lexer *)
+ val yybegin: int ref = ref 1 (*Current 'start state' for lexer *)
-+
-+ val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
-+ yybegin := x
-+
-+fun lex (yyarg as (errorFn, file)) =
-+let fun continue() : Internal.result =
+
+ val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
+ yybegin := x
+
+ fun lex (yyarg as (errorFn, file)) =
+ let fun continue() : Internal.result =
+- let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) =
+- let fun action (i,nil) = raise LexError
+ let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0: int) =
+ let fun action (i: int,nil) = raise LexError
-+ | action (i,nil::l) = action (i-1,l)
-+ | action (i,(node::acts)::l) =
-+ case node of
-+ Internal.N yyk =>
+ | action (i,nil::l) = action (i-1,l)
+ | action (i,(node::acts)::l) =
+ case node of
+ Internal.N yyk =>
+- (let fun yymktext() = substring(!yyb,i0,i-i0)
+- val yypos = i0+ !yygone
+ (let fun yymktext() = String.substring(!yyb,i0,i-i0)
+ val yypos: int = i0+ !yygone
-+ val _ = yylineno := CharVectorSlice.foldli
-+ (fn (_,#"\n", n) => n+1 | (_,_, n) => n) (!yylineno) (CharVectorSlice.slice (!yyb,i0,SOME(i-i0)))
-+ open UserDeclarations Internal.StartStates
-+ in (yybufpos := i; case yyk of
-+
-+ (* Application actions *)
-+
-+ 10 => let val yytext=yymktext() in addStr yytext; continue() end
-+| 13 => let val yytext=yymktext() in addStr yytext; continue() end
-+| 15 => let val yytext=yymktext() in addStr yytext; continue() end
-+| 19 => let val yytext=yymktext() in addStr yytext; continue() end
-+| 23 => let val yytext=yymktext() in addStr yytext; continue() end
-+| 25 => let val yytext=yymktext() in addStr yytext; continue() end
-+| 3 => let val yytext=yymktext() in addStr yytext; YYBEGIN STAG; continue() end
-+| 32 => let val yytext=yymktext() in case Elems.endTag file (yytext, !yylineno, !yylineno)
-+ of NONE => continue()
-+ | (SOME tag) => tag
-+ (* end case *) end
-+| 37 => (YYBEGIN COM1; continue())
-+| 40 => (YYBEGIN COM2; continue())
-+| 42 => (continue())
-+| 44 => (continue())
-+| 47 => (YYBEGIN COM1; continue())
-+| 49 => (YYBEGIN INITIAL; continue())
-+| 5 => let val yytext=yymktext() in addStr yytext;
-+ YYBEGIN INITIAL;
-+ case Elems.startTag file (getStr(), !yylineno, !yylineno)
-+ of NONE => continue()
-+ | (SOME tag) => tag
-+ (* end case *) end
-+| 51 => (continue())
-+| 53 => (continue())
-+| 55 => (errorFn("bad comment syntax", !yylineno, !yylineno+1);
-+ YYBEGIN INITIAL;
-+ continue())
-+| 61 => (
-+(** At some point, we should support &#SPACE; and &#TAB; **)
-+ continue())
-+| 67 => let val yytext=yymktext() in T.CHAR_REF(yytext, !yylineno, !yylineno) end
-+| 7 => (addStr " "; continue())
-+| 72 => let val yytext=yymktext() in T.ENTITY_REF(yytext, !yylineno, !yylineno) end
-+| 74 => (continue())
-+| 76 => (continue())
-+| 79 => let val yytext=yymktext() in T.PCDATA(yytext, !yylineno, !yylineno) end
-+| 81 => let val yytext=yymktext() in errorFn(concat[
-+ "bogus character #\"", Char.toString(String.sub(yytext, 0)),
-+ "\" in PCDATA\n"
-+ ], !yylineno, !yylineno+1);
-+ continue() end
-+| _ => raise Internal.LexerError
-+
-+ ) end )
-+
+ val _ = yylineno := CharVectorSlice.foldli
+ (fn (_,#"\n", n) => n+1 | (_,_, n) => n) (!yylineno) (CharVectorSlice.slice (!yyb,i0,SOME(i-i0)))
+ open UserDeclarations Internal.StartStates
+@@ -636,30 +638,30 @@
+
+ ) end )
+
+- val {fin,trans} = Unsafe.Vector.sub(Internal.tab, s)
+ val {fin,trans} = Vector.sub (Internal.tab, s)
-+ val NewAcceptingLeaves = fin::AcceptingLeaves
-+ in if l = !yybl then
-+ if trans = #trans(Vector.sub(Internal.tab,0))
-+ then action(l,NewAcceptingLeaves
-+) else let val newchars= if !yydone then "" else yyinput 1024
+ val NewAcceptingLeaves = fin::AcceptingLeaves
+ in if l = !yybl then
+ if trans = #trans(Vector.sub(Internal.tab,0))
+ then action(l,NewAcceptingLeaves
+ ) else let val newchars= if !yydone then "" else yyinput 1024
+- in if (size newchars)=0
+ in if (String.size newchars)=0
-+ then (yydone := true;
-+ if (l=i0) then UserDeclarations.eof yyarg
-+ else action(l,NewAcceptingLeaves))
-+ else (if i0=l then yyb := newchars
+ then (yydone := true;
+ if (l=i0) then UserDeclarations.eof yyarg
+ else action(l,NewAcceptingLeaves))
+ else (if i0=l then yyb := newchars
+- else yyb := substring(!yyb,i0,l-i0)^newchars;
+ else yyb := String.substring(!yyb,i0,l-i0)^newchars;
-+ yygone := !yygone+i0;
+ yygone := !yygone+i0;
+- yybl := size (!yyb);
+ yybl := String.size (!yyb);
-+ scan (s,AcceptingLeaves,l-i0,0))
-+ end
+ scan (s,AcceptingLeaves,l-i0,0))
+ end
+- else let val NewChar = Char.ord(Unsafe.CharVector.sub(!yyb,l))
+- val NewState = Char.ord(Unsafe.CharVector.sub(trans,NewChar))
+ else let val NewChar = Char.ord (CharVector.sub (!yyb,l))
+ val NewState = Char.ord (CharVector.sub (trans,NewChar))
-+ in if NewState=0 then action(l,NewAcceptingLeaves)
-+ else scan(NewState,NewAcceptingLeaves,l+1,i0)
-+ end
-+ end
-+(*
+ in if NewState=0 then action(l,NewAcceptingLeaves)
+ else scan(NewState,NewAcceptingLeaves,l+1,i0)
+ end
+ end
+ (*
+- val start= if substring(!yyb,!yybufpos-1,1)="\n"
+ val start= if String.substring(!yyb,!yybufpos-1,1)="\n"
-+then !yybegin+1 else !yybegin
-+*)
-+ in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos)
-+ end
-+in continue end
-+ in lex
-+ end
-+end
+ then !yybegin+1 else !yybegin
+ *)
+ in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos)
diff -Naur smlnj-lib/HTML/html-lib.mlb smlnj-lib-mlton/HTML/html-lib.mlb
--- smlnj-lib/HTML/html-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-lib.mlb 2005-08-18 12:18:13.000000000 -0400
++++ smlnj-lib-mlton/HTML/html-lib.mlb 2005-11-19 13:58:32.000000000 -0500
@@ -0,0 +1,300 @@
+
+ann
@@ -9834,7 +828,7 @@
+local
+ basis l5 =
+ bas
-+ (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb deviations.sml
++ (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
+ end
+ basis l46 =
+ bas
@@ -10126,7 +1120,7 @@
+end
diff -Naur smlnj-lib/INet/inet-lib.mlb smlnj-lib-mlton/INet/inet-lib.mlb
--- smlnj-lib/INet/inet-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/INet/inet-lib.mlb 2005-08-18 12:18:13.000000000 -0400
++++ smlnj-lib-mlton/INet/inet-lib.mlb 2005-11-19 13:58:32.000000000 -0500
@@ -0,0 +1,144 @@
+
+ann
@@ -10274,8 +1268,8 @@
+end
diff -Naur smlnj-lib/PP/pp-lib.mlb smlnj-lib-mlton/PP/pp-lib.mlb
--- smlnj-lib/PP/pp-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/PP/pp-lib.mlb 2005-08-18 12:18:14.000000000 -0400
-@@ -0,0 +1,158 @@
++++ smlnj-lib-mlton/PP/pp-lib.mlb 2005-11-19 13:58:32.000000000 -0500
+@@ -0,0 +1,212 @@
+
+ann
+ "nonexhaustiveMatch warn" "redundantMatch warn"
@@ -10292,7 +1286,7 @@
+ bas
+ (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
+ end
-+ basis l63 =
++ basis l83 =
+ bas
+ (* $/html-lib.cm ====> *) $(SML_LIB)/smlnj-lib/HTML/html-lib.mlb
+ end
@@ -10385,58 +1379,112 @@
+ functor gs_13 = PPStreamFn
+ end
+ local
++ signature PP_STREAM = gs_1
++ src/pp-desc-sig.sml
++ in
++ signature gs_14 = PP_DESC
++ end
++ local
++ signature PP_DESC = gs_14
++ signature PP_STREAM = gs_1
++ src/pp-desc-fn.sml
++ in
++ functor gs_15 = PPDescFn
++ end
++ local
+ signature PP_TOKEN = gs_12
+ structure String = gs_9
+ devices/string-token.sml
+ in
-+ structure gs_14 = StringToken
++ structure gs_16 = StringToken
+ end
+ local
+ functor PPStreamFn = gs_13
+ signature PP_STREAM = gs_1
+ structure SimpleTextIODev = gs_5
-+ structure StringToken = gs_14
++ structure StringToken = gs_16
+ structure TextIO = gs_0
+ devices/textio-pp.sml
+ in
-+ structure gs_15 = TextIOPP
++ structure gs_17 = TextIOPP
+ end
+ local
++ open l26
++ in
++ structure gs_18 = ANSITerm
++ end
++ local
+ open l4
+ in
-+ structure gs_16 = List
++ structure gs_19 = TextPrimIO
+ end
+ local
-+ open l63
++ open l4
+ in
-+ structure gs_17 = HTML
++ structure gs_20 = OS
+ end
+ local
-+ structure HTML = gs_17
-+ structure List = gs_16
++ structure ANSITerm = gs_18
++ structure OS = gs_20
+ signature PP_DEVICE = gs_3
++ structure StringCvt = gs_4
++ structure TextIO = gs_0
++ structure TextPrimIO = gs_19
++ devices/ansi-term-dev.sml
++ in
++ structure gs_21 = ANSITermDev
++ end
++ local
++ open l4
++ in
++ structure gs_22 = List
++ end
++ local
++ open l83
++ in
++ structure gs_23 = HTML
++ end
++ local
++ structure HTML = gs_23
++ structure List = gs_22
++ signature PP_DEVICE = gs_3
+ structure String = gs_9
+ devices/html-dev.sml
+ in
-+ structure gs_18 = HTMLDev
++ structure gs_24 = HTMLDev
+ end
++ local
++ structure ANSITermDev = gs_21
++ functor PPStreamFn = gs_13
++ signature PP_STREAM = gs_1
++ signature PP_TOKEN = gs_12
++ structure String = gs_9
++ structure TextIO = gs_0
++ devices/ansi-term-pp.sml
++ in
++ structure gs_25 = ANSITermPP
++ end
+in
-+ structure HTMLDev = gs_18
++ structure ANSITermDev = gs_21
++ structure ANSITermPP = gs_25
++ structure HTMLDev = gs_24
+ functor PPDebugFn = gs_2
++ functor PPDescFn = gs_15
+ functor PPStreamFn = gs_13
++ signature PP_DESC = gs_14
+ signature PP_DEVICE = gs_3
+ signature PP_STREAM = gs_1
+ signature PP_TOKEN = gs_12
+ structure SimpleTextIODev = gs_5
-+ structure StringToken = gs_14
-+ structure TextIOPP = gs_15
++ structure StringToken = gs_16
++ structure TextIOPP = gs_17
+end
+end
+
+end
diff -Naur smlnj-lib/Reactive/reactive-lib.mlb smlnj-lib-mlton/Reactive/reactive-lib.mlb
--- smlnj-lib/Reactive/reactive-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Reactive/reactive-lib.mlb 2005-08-18 12:18:14.000000000 -0400
++++ smlnj-lib-mlton/Reactive/reactive-lib.mlb 2005-11-19 13:58:33.000000000 -0500
@@ -0,0 +1,70 @@
+
+ann
@@ -10510,14 +1558,13 @@
+end
diff -Naur smlnj-lib/README.mlton smlnj-lib-mlton/README.mlton
--- smlnj-lib/README.mlton 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/README.mlton 2005-08-17 20:24:05.000000000 -0400
-@@ -0,0 +1,18 @@
++++ smlnj-lib-mlton/README.mlton 2005-11-17 15:56:55.000000000 -0500
+@@ -0,0 +1,15 @@
+The following changes were made to the SML/NJ Library, in addition to
+deriving the {{{.mlb}}} files from the {{{.cm}}} files:
-+ * {{{Util/deviations.sml}}} (added): Accomodate [:SMLNJDeviations: SML/NJ's deviations] from the [http://www.standardml.org/Basis Basis Library specification].
+ * {{{Util/redblack-set-fn.sml}}} (modified): Rewrote use of {{{where}}} structure specification.
+ * {{{Util/redblack-map-fn.sml}}} (modified): Rewrote use of {{{where}}} structure specification.
-+ * {{{Util/graph-scc.sml}}} (modified): Rewrote use of {{{where}}} structure specification.
++ * {{{Util/graph-scc-fn.sml}}} (modified): Rewrote use of {{{where}}} structure specification.
+ * {{{Util/bit-array.sml}}} (modified): The computation of the {{{maxLen}}} is given by: {{{
+val maxLen = 8*Word8Array.maxLen
+}}} This is fine in SML/NJ where {{{Word8Array.maxLen}}} is 16777215, but in MLton, {{{Word8Array.maxLen}}} is equal to {{{valOf(Int.maxInt)}}}, so the computation overflows. To accomodate both SML/NJ and MLton, the computation is replaced by {{{
@@ -10526,13 +1573,11 @@
+ * {{{Util/engine.mlton.sml}}} (added, not exported): Implements {{{structure Engine}}}, providing time-limited, resumable computations using ["MLtonThread"], ["MLtonSignal"], and ["MLtonItimer"].
+ * {{{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.
+ * {{{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 unecessarily including {{{structure TimeLimit}}}.
-+ * {{{Unix/deviations.sml}}} (added, not exported): Accomodate [:SMLNJDeviations: SML/NJ's deviations] from the [http://www.standardml.org/Basis Basis Library specification].
-+ * {{{HTML/deviations.sml}}} (added, not exported): Accomodate [:SMLNJDeviations: SML/NJ's deviations] from the [http://www.standardml.org/Basis Basis Library specification].
+ * {{{HTML/html-elements-fn.sml}}} (modified): Rewrote use of ''or-patterns''.
+ * {{{HTML/html-attrs-fn.sml}}} (modified): Rewrote use of ''or-patterns''.
diff -Naur smlnj-lib/RegExp/regexp-lib.mlb smlnj-lib-mlton/RegExp/regexp-lib.mlb
--- smlnj-lib/RegExp/regexp-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/RegExp/regexp-lib.mlb 2005-08-18 12:18:15.000000000 -0400
++++ smlnj-lib-mlton/RegExp/regexp-lib.mlb 2005-11-19 13:58:33.000000000 -0500
@@ -0,0 +1,214 @@
+
+ann
@@ -10750,7 +1795,7 @@
+end
diff -Naur smlnj-lib/smlnj-lib.mlb smlnj-lib-mlton/smlnj-lib.mlb
--- smlnj-lib/smlnj-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/smlnj-lib.mlb 2005-08-17 20:23:34.000000000 -0400
++++ smlnj-lib-mlton/smlnj-lib.mlb 2005-08-17 20:13:05.000000000 -0400
@@ -0,0 +1,13 @@
+local
+ Controls/controls-lib.mlb
@@ -10765,22 +1810,9 @@
+ Util/time-limit.mlb
+in
+end
-diff -Naur smlnj-lib/Unix/deviations.sml smlnj-lib-mlton/Unix/deviations.sml
---- smlnj-lib/Unix/deviations.sml 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Unix/deviations.sml 2005-08-17 20:23:34.000000000 -0400
-@@ -0,0 +1,9 @@
-+structure Substring :
-+ sig
-+ include SUBSTRING
-+ val all : string -> substring
-+ end =
-+ struct
-+ open Substring
-+ val all = full
-+ end
diff -Naur smlnj-lib/Unix/unix-lib.mlb smlnj-lib-mlton/Unix/unix-lib.mlb
--- smlnj-lib/Unix/unix-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Unix/unix-lib.mlb 2005-08-18 12:18:15.000000000 -0400
++++ smlnj-lib-mlton/Unix/unix-lib.mlb 2005-11-19 13:58:33.000000000 -0500
@@ -0,0 +1,45 @@
+
+ann
@@ -10792,7 +1824,7 @@
+local
+ basis l4 =
+ bas
-+ (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb deviations.sml
++ (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb
+ end
+in
+local
@@ -10828,8 +1860,8 @@
+
+end
diff -Naur smlnj-lib/Util/bit-array.sml smlnj-lib-mlton/Util/bit-array.sml
---- smlnj-lib/Util/bit-array.sml 2003-09-05 17:34:26.000000000 -0400
-+++ smlnj-lib-mlton/Util/bit-array.sml 2005-08-17 20:23:34.000000000 -0400
+--- smlnj-lib/Util/bit-array.sml 2004-11-20 10:28:05.000000000 -0500
++++ smlnj-lib-mlton/Util/bit-array.sml 2005-08-17 20:13:05.000000000 -0400
@@ -47,7 +47,9 @@
* We maintain the invariant that all bits >= nbits are 0.
*)
@@ -10841,24 +1873,9 @@
datatype vector = BA of {nbits : int, bits : W8A.array}
fun array (0,init) = BA{nbits=0,bits=W8A.array(0,0w0)}
-diff -Naur smlnj-lib/Util/deviations.sml smlnj-lib-mlton/Util/deviations.sml
---- smlnj-lib/Util/deviations.sml 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Util/deviations.sml 2005-08-17 20:23:34.000000000 -0400
-@@ -0,0 +1,11 @@
-+structure Substring :
-+ sig
-+ include SUBSTRING
-+ val all : string -> substring
-+ end =
-+ struct
-+ open Substring
-+ val all = full
-+ end
-+
-+structure Pack32Big = PackWord32Big
diff -Naur smlnj-lib/Util/engine.mlton.sml smlnj-lib-mlton/Util/engine.mlton.sml
--- smlnj-lib/Util/engine.mlton.sml 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Util/engine.mlton.sml 2005-08-17 20:23:34.000000000 -0400
++++ smlnj-lib-mlton/Util/engine.mlton.sml 2005-08-17 20:13:05.000000000 -0400
@@ -0,0 +1,99 @@
+(* Copyright (C) 1999-2004 Henry Cejtin, Matthew Fluet, Suresh
+ * Jagannathan, and Stephen Weeks.
@@ -10959,9 +1976,9 @@
+ end
+
+end
-diff -Naur smlnj-lib/Util/graph-scc.sml smlnj-lib-mlton/Util/graph-scc.sml
---- smlnj-lib/Util/graph-scc.sml 2001-05-04 12:37:36.000000000 -0400
-+++ smlnj-lib-mlton/Util/graph-scc.sml 2005-08-17 20:23:49.000000000 -0400
+diff -Naur smlnj-lib/Util/graph-scc-fn.sml smlnj-lib-mlton/Util/graph-scc-fn.sml
+--- smlnj-lib/Util/graph-scc-fn.sml 2005-08-04 22:26:29.000000000 -0400
++++ smlnj-lib-mlton/Util/graph-scc-fn.sml 2005-08-17 20:13:05.000000000 -0400
@@ -8,7 +8,7 @@
* author: Matthias Blume
*)
@@ -10972,8 +1989,8 @@
structure Nd = Nd
diff -Naur smlnj-lib/Util/redblack-map-fn.sml smlnj-lib-mlton/Util/redblack-map-fn.sml
---- smlnj-lib/Util/redblack-map-fn.sml 2002-05-16 14:44:04.000000000 -0400
-+++ smlnj-lib-mlton/Util/redblack-map-fn.sml 2005-08-17 20:23:49.000000000 -0400
+--- smlnj-lib/Util/redblack-map-fn.sml 2004-11-20 10:28:05.000000000 -0500
++++ smlnj-lib-mlton/Util/redblack-map-fn.sml 2005-08-17 20:13:05.000000000 -0400
@@ -20,7 +20,7 @@
* its child will be a red leaf.
*)
@@ -10984,8 +2001,8 @@
structure Key = K
diff -Naur smlnj-lib/Util/redblack-set-fn.sml smlnj-lib-mlton/Util/redblack-set-fn.sml
---- smlnj-lib/Util/redblack-set-fn.sml 2001-05-04 12:37:36.000000000 -0400
-+++ smlnj-lib-mlton/Util/redblack-set-fn.sml 2005-08-17 20:23:49.000000000 -0400
+--- smlnj-lib/Util/redblack-set-fn.sml 2004-11-20 10:28:05.000000000 -0500
++++ smlnj-lib-mlton/Util/redblack-set-fn.sml 2005-08-17 20:13:05.000000000 -0400
@@ -20,7 +20,7 @@
* its child will be a red leaf.
*)
@@ -10997,8 +2014,8 @@
structure Key = K
diff -Naur smlnj-lib/Util/smlnj-lib.mlb smlnj-lib-mlton/Util/smlnj-lib.mlb
--- smlnj-lib/Util/smlnj-lib.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Util/smlnj-lib.mlb 2005-08-18 12:18:18.000000000 -0400
-@@ -0,0 +1,1077 @@
++++ smlnj-lib-mlton/Util/smlnj-lib.mlb 2005-11-19 13:58:35.000000000 -0500
+@@ -0,0 +1,1099 @@
+
+ann
+ "nonexhaustiveMatch warn" "redundantMatch warn"
@@ -11009,7 +2026,7 @@
+local
+ basis l4 =
+ bas
-+ (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb $(SML_LIB)/basis/sml-nj.mlb deviations.sml
++ (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb $(SML_LIB)/basis/sml-nj.mlb
+ end
+in
+local
@@ -11225,88 +2242,99 @@
+ structure gs_32 = GetOpt
+ end
+ local
++ interval-domain-sig.sml
++ in
++ signature gs_33 = INTERVAL_DOMAIN
++ end
++ local
++ signature INTERVAL_DOMAIN = gs_33
++ interval-set-sig.sml
++ in
++ signature gs_34 = INTERVAL_SET
++ end
++ local
+ structure StringCvt = gs_29
+ parser-comb-sig.sml
+ in
-+ signature gs_33 = PARSER_COMB
++ signature gs_35 = PARSER_COMB
+ end
+ local
+ open l4
+ in
-+ structure gs_34 = Word8
++ structure gs_36 = Word8
+ end
+ local
+ open l4
+ in
-+ structure gs_35 = CharVector
++ structure gs_37 = CharVector
+ end
+ local
+ open l4
+ in
-+ structure gs_36 = LargeWord
++ structure gs_38 = LargeWord
+ end
+ local
+ open l4
+ in
-+ structure gs_37 = LargeInt
++ structure gs_39 = LargeInt
+ end
+ local
+ open l4
+ in
-+ structure gs_38 = Word
++ structure gs_40 = Word
+ end
+ local
+ open l4
+ in
-+ structure gs_39 = Real
++ structure gs_41 = Real
+ end
+ local
+ open l4
+ in
-+ structure gs_40 = LargeReal
++ structure gs_42 = LargeReal
+ end
+ local
+ atom-sig.sml
+ in
-+ signature gs_41 = ATOM
++ signature gs_43 = ATOM
+ end
+ local
+ open l4
+ in
-+ structure gs_42 = Unsafe
++ structure gs_44 = Unsafe
+ end
+ local
+ structure Char = gs_30
+ structure Substring = gs_28
-+ structure Unsafe = gs_42
-+ structure Word = gs_38
++ structure Unsafe = gs_44
++ structure Word = gs_40
+ hash-string.sml
+ in
-+ structure gs_43 = HashString
++ structure gs_45 = HashString
+ end
+ local
-+ signature ATOM = gs_41
++ signature ATOM = gs_43
+ structure Array = gs_12
-+ structure HashString = gs_43
++ structure HashString = gs_45
+ structure String = gs_27
+ structure Substring = gs_28
-+ structure Word = gs_38
++ structure Word = gs_40
+ atom.sml
+ in
-+ structure gs_44 = Atom
++ structure gs_46 = Atom
+ end
+ local
-+ structure Atom = gs_44
++ structure Atom = gs_46
+ structure Int = gs_3
-+ structure LargeInt = gs_37
-+ structure LargeReal = gs_40
-+ structure LargeWord = gs_36
-+ structure Real = gs_39
-+ structure Word = gs_38
-+ structure Word8 = gs_34
++ structure LargeInt = gs_39
++ structure LargeReal = gs_42
++ structure LargeWord = gs_38
++ structure Real = gs_41
++ structure Word = gs_40
++ structure Word8 = gs_36
+ format-sig.sml
+ in
-+ signature gs_45 = FORMAT
++ signature gs_47 = FORMAT
+ end
+ local
+ structure Int = gs_3
@@ -11314,86 +2342,86 @@
+ structure StringCvt = gs_29
+ real-format.sml
+ in
-+ structure gs_46 = RealFormat
++ structure gs_48 = RealFormat
+ end
+ local
-+ structure Atom = gs_44
++ structure Atom = gs_46
+ structure Char = gs_30
+ structure Int = gs_3
-+ structure LargeInt = gs_37
-+ structure LargeReal = gs_40
-+ structure LargeWord = gs_36
-+ structure Real = gs_39
++ structure LargeInt = gs_39
++ structure LargeReal = gs_42
++ structure LargeWord = gs_38
++ structure Real = gs_41
+ structure StringCvt = gs_29
+ structure Substring = gs_28
-+ structure Word = gs_38
-+ structure Word8 = gs_34
++ structure Word = gs_40
++ structure Word8 = gs_36
+ fmt-fields.sml
+ in
-+ structure gs_47 = FmtFields
++ structure gs_49 = FmtFields
+ end
+ local
-+ structure Atom = gs_44
++ structure Atom = gs_46
+ structure Char = gs_30
-+ structure CharVector = gs_35
-+ signature FORMAT = gs_45
-+ structure FmtFields = gs_47
++ structure CharVector = gs_37
++ signature FORMAT = gs_47
++ structure FmtFields = gs_49
+ structure Int = gs_3
-+ structure LargeInt = gs_37
-+ structure LargeWord = gs_36
-+ structure Real = gs_39
-+ structure RealFormat = gs_46
++ structure LargeInt = gs_39
++ structure LargeWord = gs_38
++ structure Real = gs_41
++ structure RealFormat = gs_48
+ structure String = gs_27
+ structure StringCvt = gs_29
+ structure Substring = gs_28
-+ structure Word = gs_38
-+ structure Word8 = gs_34
++ structure Word = gs_40
++ structure Word8 = gs_36
+ format.sml
+ in
-+ structure gs_48 = Format
++ structure gs_50 = Format
+ end
+ local
+ priority-sig.sml
+ in
-+ signature gs_49 = PRIORITY
++ signature gs_51 = PRIORITY
+ end
+ local
+ hash-key-sig.sml
+ in
-+ signature gs_50 = HASH_KEY
++ signature gs_52 = HASH_KEY
+ end
+ local
-+ signature HASH_KEY = gs_50
++ signature HASH_KEY = gs_52
+ mono-hash-table-sig.sml
+ in
-+ signature gs_51 = MONO_HASH_TABLE
++ signature gs_53 = MONO_HASH_TABLE
+ end
+ local
+ structure Array = gs_12
-+ structure Word = gs_38
++ structure Word = gs_40
+ hash-table-rep.sml
+ in
-+ structure gs_52 = HashTableRep
++ structure gs_54 = HashTableRep
+ end
+ local
+ structure Array = gs_12
-+ structure HashTableRep = gs_52
-+ signature MONO_HASH_TABLE = gs_51
-+ structure Word = gs_38
++ structure HashTableRep = gs_54
++ signature MONO_HASH_TABLE = gs_53
++ structure Word = gs_40
+ int-hash-table.sml
+ in
-+ structure gs_53 = IntHashTable
++ structure gs_55 = IntHashTable
+ end
+ local
+ open l4
+ in
-+ signature gs_54 = MONO_ARRAY
++ signature gs_56 = MONO_ARRAY
+ end
+ local
-+ signature MONO_ARRAY = gs_54
++ signature MONO_ARRAY = gs_56
+ bit-array-sig.sml
+ in
-+ signature gs_55 = BIT_ARRAY
++ signature gs_57 = BIT_ARRAY
+ end
+ local
+ structure LibBase = gs_5
@@ -11401,20 +2429,20 @@
+ signature ORD_SET = gs_2
+ redblack-set-fn.sml
+ in
-+ functor gs_56 = RedBlackSetFn
++ functor gs_58 = RedBlackSetFn
+ end
+ local
-+ structure Atom = gs_44
-+ functor RedBlackSetFn = gs_56
++ structure Atom = gs_46
++ functor RedBlackSetFn = gs_58
+ atom-redblack-set.sml
+ in
-+ structure gs_57 = AtomRedBlackSet
++ structure gs_59 = AtomRedBlackSet
+ end
+ local
-+ structure AtomRedBlackSet = gs_57
++ structure AtomRedBlackSet = gs_59
+ atom-set.sml
+ in
-+ structure gs_58 = AtomSet
++ structure gs_60 = AtomSet
+ end
+ local
+ structure LibBase = gs_5
@@ -11422,139 +2450,147 @@
+ signature ORD_MAP = gs_7
+ redblack-map-fn.sml
+ in
-+ functor gs_59 = RedBlackMapFn
++ functor gs_61 = RedBlackMapFn
+ end
+ local
-+ structure Atom = gs_44
-+ functor RedBlackMapFn = gs_59
++ structure Atom = gs_46
++ functor RedBlackMapFn = gs_61
+ atom-redblack-map.sml
+ in
-+ structure gs_60 = AtomRedBlackMap
++ structure gs_62 = AtomRedBlackMap
+ end
+ local
-+ structure AtomRedBlackMap = gs_60
++ structure AtomRedBlackMap = gs_62
+ atom-map.sml
+ in
-+ structure gs_61 = AtomMap
++ structure gs_63 = AtomMap
+ end
+ local
+ structure List = gs_0
+ signature PROP_LIST = gs_26
+ plist.sml
+ in
-+ structure gs_62 = PropList
++ structure gs_64 = PropList
+ end
+ local
+ open l4
+ in
-+ structure gs_63 = Vector
++ structure gs_65 = Vector
+ end
+ local
+ char-map-sig.sml
+ in
-+ signature gs_64 = CHAR_MAP
++ signature gs_66 = CHAR_MAP
+ end
+ local
+ structure Array = gs_12
-+ signature CHAR_MAP = gs_64
++ signature CHAR_MAP = gs_66
+ structure Char = gs_30
+ structure String = gs_27
-+ structure Vector = gs_63
++ structure Vector = gs_65
+ char-map.sml
+ in
-+ structure gs_65 = CharMap
++ structure gs_67 = CharMap
+ end
+ local
+ list-xprod-sig.sml
+ in
-+ signature gs_66 = LIST_XPROD
++ signature gs_68 = LIST_XPROD
+ end
+ local
+ signature ORD_KEY = gs_1
+ graph-scc-sig.sml
+ in
-+ signature gs_67 = GRAPH_SCC
++ signature gs_69 = GRAPH_SCC
+ end
+ local
-+ signature GRAPH_SCC = gs_67
++ signature GRAPH_SCC = gs_69
+ structure List = gs_0
+ signature ORD_KEY = gs_1
-+ functor RedBlackMapFn = gs_59
-+ graph-scc.sml
++ functor RedBlackMapFn = gs_61
++ graph-scc-fn.sml
+ in
-+ functor gs_68 = GraphSCCFn
++ functor gs_70 = GraphSCCFn
+ end
+ local
+ structure Array = gs_12
-+ signature HASH_KEY = gs_50
-+ structure HashTableRep = gs_52
-+ signature MONO_HASH_TABLE = gs_51
-+ structure Word = gs_38
++ signature HASH_KEY = gs_52
++ structure HashTableRep = gs_54
++ signature MONO_HASH_TABLE = gs_53
++ structure Word = gs_40
+ hash-table-fn.sml
+ in
-+ functor gs_69 = HashTableFn
++ functor gs_71 = HashTableFn
+ end
+ local
-+ structure Atom = gs_44
-+ functor HashTableFn = gs_69
++ structure Atom = gs_46
++ functor HashTableFn = gs_71
+ atom-table.sml
+ in
-+ structure gs_70 = AtomTable
++ structure gs_72 = AtomTable
+ end
+ local
+ structure StringCvt = gs_29
+ list-format-sig.sml
+ in
-+ signature gs_71 = LIST_FORMAT
++ signature gs_73 = LIST_FORMAT
+ end
+ local
-+ signature LIST_FORMAT = gs_71
++ signature LIST_FORMAT = gs_73
+ structure String = gs_27
+ structure StringCvt = gs_29
+ list-format.sml
+ in
-+ structure gs_72 = ListFormat
++ structure gs_74 = ListFormat
+ end
+ local
+ open l4
+ in
-+ signature gs_73 = MONO_VECTOR
++ signature gs_75 = MONO_VECTOR
+ end
+ local
-+ signature MONO_VECTOR = gs_73
++ signature MONO_VECTOR = gs_75
+ bit-vector-sig.sml
+ in
-+ signature gs_74 = BIT_VECTOR
++ signature gs_76 = BIT_VECTOR
+ end
+ local
-+ signature PARSER_COMB = gs_33
++ signature PARSER_COMB = gs_35
+ structure StringCvt = gs_29
+ structure Substring = gs_28
+ parser-comb.sml
+ in
-+ structure gs_75 = ParserComb
++ structure gs_77 = ParserComb
+ end
+ local
-+ signature HASH_KEY = gs_50
++ signature HASH_KEY = gs_52
+ mono-hash2-table-sig.sml
+ in
-+ signature gs_76 = MONO_HASH2_TABLE
++ signature gs_78 = MONO_HASH2_TABLE
+ end
+ local
++ signature INTERVAL_DOMAIN = gs_33
++ signature INTERVAL_SET = gs_34
++ structure List = gs_0
++ interval-set-fn.sml
++ in
++ functor gs_79 = IntervalSetFn
++ end
++ local
+ structure LibBase = gs_5
+ signature ORD_SET = gs_2
-+ structure Word = gs_38
++ structure Word = gs_40
+ word-redblack-set.sml
+ in
-+ structure gs_77 = WordRedBlackSet
++ structure gs_80 = WordRedBlackSet
+ end
+ local
+ structure LibBase = gs_5
+ signature ORD_MAP = gs_7
-+ structure Word = gs_38
++ structure Word = gs_40
+ word-redblack-map.sml
+ in
-+ structure gs_78 = WordRedBlackMap
++ structure gs_81 = WordRedBlackMap
+ end
+ local
+ structure Int = gs_3
@@ -11563,7 +2599,7 @@
+ signature ORD_SET = gs_2
+ int-list-set.sml
+ in
-+ structure gs_79 = IntListSet
++ structure gs_82 = IntListSet
+ end
+ local
+ structure Int = gs_3
@@ -11572,24 +2608,24 @@
+ signature ORD_MAP = gs_7
+ int-list-map.sml
+ in
-+ structure gs_80 = IntListMap
++ structure gs_83 = IntListMap
+ end
+ local
+ open l4
+ in
-+ structure gs_81 = OS
++ structure gs_84 = OS
+ end
+ local
+ path-util-sig.sml
+ in
-+ signature gs_82 = PATH_UTIL
++ signature gs_85 = PATH_UTIL
+ end
+ local
-+ structure OS = gs_81
-+ signature PATH_UTIL = gs_82
++ structure OS = gs_84
++ signature PATH_UTIL = gs_85
+ path-util.sml
+ in
-+ structure gs_83 = PathUtil
++ structure gs_86 = PathUtil
+ end
+ local
+ structure LibBase = gs_5
@@ -11598,7 +2634,7 @@
+ signature ORD_SET = gs_2
+ binary-set-fn.sml
+ in
-+ functor gs_84 = BinarySetFn
++ functor gs_87 = BinarySetFn
+ end
+ local
+ structure LibBase = gs_5
@@ -11606,231 +2642,231 @@
+ signature ORD_MAP = gs_7
+ binary-map-fn.sml
+ in
-+ functor gs_85 = BinaryMapFn
++ functor gs_88 = BinaryMapFn
+ end
+ local
+ open l4
+ in
-+ structure gs_86 = ArraySlice
++ structure gs_89 = ArraySlice
+ end
+ local
+ open l4
+ in
-+ structure gs_87 = Math
++ structure gs_90 = Math
+ end
+ local
+ open l4
+ in
-+ structure gs_88 = Pack32Big
++ structure gs_91 = PackWord32Big
+ end
+ local
+ open l4
+ in
-+ structure gs_89 = Word8Vector
++ structure gs_92 = Word8Vector
+ end
+ local
+ open l4
+ in
-+ structure gs_90 = Word8Array
++ structure gs_93 = Word8Array
+ end
+ local
+ open l4
+ in
-+ structure gs_91 = Word31
++ structure gs_94 = Word31
+ end
+ local
+ open l4
+ in
-+ structure gs_92 = Byte
++ structure gs_95 = Byte
+ end
+ local
+ random-sig.sml
+ in
-+ signature gs_93 = RANDOM
++ signature gs_96 = RANDOM
+ end
+ local
+ structure Array = gs_12
-+ structure Byte = gs_92
-+ structure LargeWord = gs_36
++ structure Byte = gs_95
++ structure LargeWord = gs_38
+ structure LibBase = gs_5
-+ structure Pack32Big = gs_88
-+ signature RANDOM = gs_93
-+ structure Word31 = gs_91
-+ structure Word8Array = gs_90
-+ structure Word8Vector = gs_89
++ structure PackWord32Big = gs_91
++ signature RANDOM = gs_96
++ structure Word31 = gs_94
++ structure Word8Array = gs_93
++ structure Word8Vector = gs_92
+ random.sml
+ in
-+ structure gs_94 = Random
++ structure gs_97 = Random
+ end
+ local
+ structure Array = gs_12
-+ structure ArraySlice = gs_86
-+ structure Random = gs_94
-+ structure Real = gs_39
-+ structure Unsafe = gs_42
-+ structure Word = gs_38
++ structure ArraySlice = gs_89
++ structure Random = gs_97
++ structure Real = gs_41
++ structure Unsafe = gs_44
++ structure Word = gs_40
+ real-order-stats.sml
+ in
-+ structure gs_95 = RealOrderStats
++ structure gs_98 = RealOrderStats
+ end
+ local
+ structure Array = gs_12
-+ structure ArraySlice = gs_86
-+ structure Math = gs_87
-+ structure RealOrderStats = gs_95
-+ structure Unsafe = gs_42
++ structure ArraySlice = gs_89
++ structure Math = gs_90
++ structure RealOrderStats = gs_98
++ structure Unsafe = gs_44
+ univariate-stats.sml
+ in
-+ structure gs_96 = UnivariateStats
++ structure gs_99 = UnivariateStats
+ end
+ local
-+ signature BIT_ARRAY = gs_55
-+ structure Byte = gs_92
++ signature BIT_ARRAY = gs_57
++ structure Byte = gs_95
+ structure Int = gs_3
+ structure LibBase = gs_5
+ structure List = gs_0
-+ structure Word = gs_38
-+ structure Word8 = gs_34
-+ structure Word8Array = gs_90
-+ structure Word8Vector = gs_89
++ structure Word = gs_40
++ structure Word8 = gs_36
++ structure Word8Array = gs_93
++ structure Word8Vector = gs_92
+ bit-array.sml
+ in
-+ structure gs_97 = BitArray
++ structure gs_100 = BitArray
+ end
+ local
+ structure Array = gs_12
-+ signature MONO_ARRAY = gs_54
-+ structure Vector = gs_63
++ signature MONO_ARRAY = gs_56
++ structure Vector = gs_65
+ mono-array-fn.sml
+ in
-+ functor gs_98 = MonoArrayFn
++ functor gs_101 = MonoArrayFn
+ end
+ local
-+ signature MONO_ARRAY = gs_54
++ signature MONO_ARRAY = gs_56
+ bsearch-fn.sml
+ in
-+ functor gs_99 = BSearchFn
++ functor gs_102 = BSearchFn
+ end
+ local
+ mono-dynamic-array-sig.sml
+ in
-+ signature gs_100 = MONO_DYNAMIC_ARRAY
++ signature gs_103 = MONO_DYNAMIC_ARRAY
+ end
+ local
+ open l4
+ in
-+ structure gs_101 = Bool
++ structure gs_104 = Bool
+ end
+ local
+ structure StringCvt = gs_29
+ format-comb-sig.sml
+ in
-+ signature gs_102 = FORMAT_COMB
++ signature gs_105 = FORMAT_COMB
+ end
+ local
-+ structure Bool = gs_101
++ structure Bool = gs_104
+ structure Char = gs_30
-+ signature FORMAT_COMB = gs_102
++ signature FORMAT_COMB = gs_105
+ structure Int = gs_3
-+ structure Real = gs_39
++ structure Real = gs_41
+ structure String = gs_27
+ structure StringCvt = gs_29
+ format-comb.sml
+ in
-+ structure gs_103 = FormatComb
++ structure gs_106 = FormatComb
+ end
+ local
+ queue-sig.sml
+ in
-+ signature gs_104 = QUEUE
++ signature gs_107 = QUEUE
+ end
+ local
+ fifo-sig.sml
+ in
-+ signature gs_105 = FIFO
++ signature gs_108 = FIFO
+ end
+ local
-+ signature FIFO = gs_105
++ signature FIFO = gs_108
+ structure List = gs_0
+ fifo.sml
+ in
-+ structure gs_106 = Fifo
++ structure gs_109 = Fifo
+ end
+ local
-+ structure Fifo = gs_106
-+ signature QUEUE = gs_104
++ structure Fifo = gs_109
++ signature QUEUE = gs_107
+ queue.sml
+ in
-+ structure gs_107 = Queue
++ structure gs_110 = Queue
+ end
+ local
+ structure Array = gs_12
-+ signature HASH_KEY = gs_50
-+ structure HashTableRep = gs_52
-+ signature MONO_HASH2_TABLE = gs_76
-+ structure Word = gs_38
++ signature HASH_KEY = gs_52
++ structure HashTableRep = gs_54
++ signature MONO_HASH2_TABLE = gs_78
++ structure Word = gs_40
+ hash2-table-fn.sml
+ in
-+ functor gs_108 = Hash2TableFn
++ functor gs_111 = Hash2TableFn
+ end
+ local
+ structure Array = gs_12
-+ structure HashTableRep = gs_52
-+ signature MONO_HASH_TABLE = gs_51
-+ structure Word = gs_38
++ structure HashTableRep = gs_54
++ signature MONO_HASH_TABLE = gs_53
++ structure Word = gs_40
+ word-hash-table.sml
+ in
-+ structure gs_109 = WordHashTable
++ structure gs_112 = WordHashTable
+ end
+ local
-+ structure Atom = gs_44
-+ structure AtomTable = gs_70
++ structure Atom = gs_46
++ structure AtomTable = gs_72
+ structure List = gs_0
+ keyword-fn.sml
+ in
-+ functor gs_110 = KeywordFn
++ functor gs_113 = KeywordFn
+ end
+ local
+ mono-priorityq-sig.sml
+ in
-+ signature gs_111 = MONO_PRIORITYQ
++ signature gs_114 = MONO_PRIORITYQ
+ end
+ local
+ structure List = gs_0
-+ signature MONO_PRIORITYQ = gs_111
-+ signature PRIORITY = gs_49
++ signature MONO_PRIORITYQ = gs_114
++ signature PRIORITY = gs_51
+ left-priorityq-fn.sml
+ in
-+ functor gs_112 = LeftPriorityQFn
++ functor gs_115 = LeftPriorityQFn
+ end
+ local
+ hash-table-sig.sml
+ in
-+ signature gs_113 = HASH_TABLE
++ signature gs_116 = HASH_TABLE
+ end
+ local
+ structure Array = gs_12
-+ signature HASH_TABLE = gs_113
-+ structure HashTableRep = gs_52
-+ structure Word = gs_38
++ signature HASH_TABLE = gs_116
++ structure HashTableRep = gs_54
++ structure Word = gs_40
+ hash-table.sml
+ in
-+ structure gs_114 = HashTable
++ structure gs_117 = HashTable
+ end
+ local
+ structure General = gs_13
+ structure Int = gs_3
-+ signature MONO_ARRAY = gs_54
-+ signature MONO_DYNAMIC_ARRAY = gs_100
++ signature MONO_ARRAY = gs_56
++ signature MONO_DYNAMIC_ARRAY = gs_103
+ dynamic-array-fn.sml
+ in
-+ functor gs_115 = DynamicArrayFn
++ functor gs_118 = DynamicArrayFn
+ end
+ local
-+ signature MONO_ARRAY = gs_54
++ signature MONO_ARRAY = gs_56
+ mono-array-sort-sig.sml
+ in
-+ signature gs_116 = MONO_ARRAY_SORT
++ signature gs_119 = MONO_ARRAY_SORT
+ end
+ local
+ structure Int = gs_3
@@ -11838,7 +2874,7 @@
+ signature ORD_SET = gs_2
+ int-redblack-set.sml
+ in
-+ structure gs_117 = IntRedBlackSet
++ structure gs_120 = IntRedBlackSet
+ end
+ local
+ structure Int = gs_3
@@ -11846,239 +2882,242 @@
+ signature ORD_MAP = gs_7
+ int-redblack-map.sml
+ in
-+ structure gs_118 = IntRedBlackMap
++ structure gs_121 = IntRedBlackMap
+ end
+ local
+ array-sort-sig.sml
+ in
-+ signature gs_119 = ARRAY_SORT
++ signature gs_122 = ARRAY_SORT
+ end
+ local
-+ signature ARRAY_SORT = gs_119
++ signature ARRAY_SORT = gs_122
+ structure Array = gs_12
+ structure Int = gs_3
-+ structure Unsafe = gs_42
++ structure Unsafe = gs_44
+ array-qsort.sml
+ in
-+ structure gs_120 = ArrayQSort
++ structure gs_123 = ArrayQSort
+ end
+ local
+ uref-sig.sml
+ in
-+ signature gs_121 = UREF
++ signature gs_124 = UREF
+ end
+ local
-+ signature UREF = gs_121
++ signature UREF = gs_124
+ simple-uref.sml
+ in
-+ structure gs_122 = SimpleURef
++ structure gs_125 = SimpleURef
+ end
+ local
+ listsort-sig.sml
+ in
-+ signature gs_123 = LIST_SORT
++ signature gs_126 = LIST_SORT
+ end
+ local
-+ signature LIST_SORT = gs_123
++ signature LIST_SORT = gs_126
+ structure LibBase = gs_5
+ list-mergesort.sml
+ in
-+ structure gs_124 = ListMergeSort
++ structure gs_127 = ListMergeSort
+ end
+ local
+ structure Int = gs_3
-+ signature MONO_ARRAY = gs_54
-+ signature MONO_ARRAY_SORT = gs_116
++ signature MONO_ARRAY = gs_56
++ signature MONO_ARRAY_SORT = gs_119
+ array-qsort-fn.sml
+ in
-+ functor gs_125 = ArrayQSortFn
++ functor gs_128 = ArrayQSortFn
+ end
+ local
-+ structure Atom = gs_44
-+ functor BinarySetFn = gs_84
++ structure Atom = gs_46
++ functor BinarySetFn = gs_87
+ atom-binary-set.sml
+ in
-+ structure gs_126 = AtomBinarySet
++ structure gs_129 = AtomBinarySet
+ end
+ local
-+ structure Atom = gs_44
-+ functor BinaryMapFn = gs_85
++ structure Atom = gs_46
++ functor BinaryMapFn = gs_88
+ atom-binary-map.sml
+ in
-+ structure gs_127 = AtomBinaryMap
++ structure gs_130 = AtomBinaryMap
+ end
+ local
-+ signature UREF = gs_121
++ signature UREF = gs_124
+ uref.sml
+ in
-+ structure gs_128 = URef
++ structure gs_131 = URef
+ end
+ local
-+ structure Atom = gs_44
++ structure Atom = gs_46
+ structure Int = gs_3
-+ structure LargeInt = gs_37
-+ structure LargeReal = gs_40
-+ structure LargeWord = gs_36
-+ structure Real = gs_39
++ structure LargeInt = gs_39
++ structure LargeReal = gs_42
++ structure LargeWord = gs_38
++ structure Real = gs_41
+ structure StringCvt = gs_29
-+ structure Word = gs_38
-+ structure Word8 = gs_34
++ structure Word = gs_40
++ structure Word8 = gs_36
+ scan-sig.sml
+ in
-+ signature gs_129 = SCAN
++ signature gs_132 = SCAN
+ end
+ local
-+ structure Bool = gs_101
++ structure Bool = gs_104
+ structure Char = gs_30
-+ structure FmtFields = gs_47
++ structure FmtFields = gs_49
+ structure Int = gs_3
-+ structure LargeInt = gs_37
-+ structure LargeReal = gs_40
-+ signature SCAN = gs_129
++ structure LargeInt = gs_39
++ structure LargeReal = gs_42
++ signature SCAN = gs_132
+ structure StringCvt = gs_29
+ structure Substring = gs_28
-+ structure Word8Array = gs_90
++ structure Word8Array = gs_93
+ scan.sml
+ in
-+ structure gs_130 = Scan
++ structure gs_133 = Scan
+ end
+ local
+ open l4
+ in
-+ structure gs_131 = Int32
++ structure gs_134 = Int32
+ end
+ local
-+ structure Word31 = gs_91
++ structure Word31 = gs_94
+ rand-sig.sml
+ in
-+ signature gs_132 = RAND
++ signature gs_135 = RAND
+ end
+ local
-+ structure Int32 = gs_131
++ structure Int32 = gs_134
+ structure LibBase = gs_5
-+ signature RAND = gs_132
-+ structure Real = gs_39
-+ structure Word31 = gs_91
++ signature RAND = gs_135
++ structure Real = gs_41
++ structure Word31 = gs_94
+ rand.sml
+ in
-+ structure gs_133 = Rand
++ structure gs_136 = Rand
+ end
+ local
-+ signature LIST_XPROD = gs_66
++ signature LIST_XPROD = gs_68
+ list-xprod.sml
+ in
-+ structure gs_134 = ListXProd
++ structure gs_137 = ListXProd
+ end
+in
+ structure ANSITerm = gs_23
-+ signature ARRAY_SORT = gs_119
-+ signature ATOM = gs_41
-+ structure ArrayQSort = gs_120
-+ functor ArrayQSortFn = gs_125
-+ structure Atom = gs_44
-+ structure AtomBinaryMap = gs_127
-+ structure AtomBinarySet = gs_126
-+ structure AtomMap = gs_61
-+ structure AtomRedBlackMap = gs_60
-+ structure AtomRedBlackSet = gs_57
-+ structure AtomSet = gs_58
-+ structure AtomTable = gs_70
-+ signature BIT_ARRAY = gs_55
-+ signature BIT_VECTOR = gs_74
-+ functor BSearchFn = gs_99
-+ functor BinaryMapFn = gs_85
-+ functor BinarySetFn = gs_84
-+ structure BitArray = gs_97
-+ signature CHAR_MAP = gs_64
-+ structure CharMap = gs_65
++ signature ARRAY_SORT = gs_122
++ signature ATOM = gs_43
++ structure ArrayQSort = gs_123
++ functor ArrayQSortFn = gs_128
++ structure Atom = gs_46
++ structure AtomBinaryMap = gs_130
++ structure AtomBinarySet = gs_129
++ structure AtomMap = gs_63
++ structure AtomRedBlackMap = gs_62
++ structure AtomRedBlackSet = gs_59
++ structure AtomSet = gs_60
++ structure AtomTable = gs_72
++ signature BIT_ARRAY = gs_57
++ signature BIT_VECTOR = gs_76
++ functor BSearchFn = gs_102
++ functor BinaryMapFn = gs_88
++ functor BinarySetFn = gs_87
++ structure BitArray = gs_100
++ signature CHAR_MAP = gs_66
++ structure CharMap = gs_67
+ signature DYNAMIC_ARRAY = gs_14
+ structure DynamicArray = gs_15
-+ functor DynamicArrayFn = gs_115
-+ signature FIFO = gs_105
-+ signature FORMAT = gs_45
-+ signature FORMAT_COMB = gs_102
-+ structure Fifo = gs_106
-+ structure Format = gs_48
-+ structure FormatComb = gs_103
++ functor DynamicArrayFn = gs_118
++ signature FIFO = gs_108
++ signature FORMAT = gs_47
++ signature FORMAT_COMB = gs_105
++ structure Fifo = gs_109
++ structure Format = gs_50
++ structure FormatComb = gs_106
+ signature GET_OPT = gs_31
-+ signature GRAPH_SCC = gs_67
++ signature GRAPH_SCC = gs_69
+ structure GetOpt = gs_32
-+ functor GraphSCCFn = gs_68
-+ signature HASH_KEY = gs_50
-+ signature HASH_TABLE = gs_113
-+ functor Hash2TableFn = gs_108
-+ structure HashString = gs_43
-+ structure HashTable = gs_114
-+ functor HashTableFn = gs_69
++ functor GraphSCCFn = gs_70
++ signature HASH_KEY = gs_52
++ signature HASH_TABLE = gs_116
++ functor Hash2TableFn = gs_111
++ structure HashString = gs_45
++ structure HashTable = gs_117
++ functor HashTableFn = gs_71
++ signature INTERVAL_DOMAIN = gs_33
++ signature INTERVAL_SET = gs_34
+ signature INT_INF = gs_25
+ structure IOUtil = gs_24
+ signature IO_UTIL = gs_16
+ structure IntBinaryMap = gs_10
+ structure IntBinarySet = gs_9
-+ structure IntHashTable = gs_53
++ structure IntHashTable = gs_55
+ structure IntInf = gs_17
-+ structure IntListMap = gs_80
-+ structure IntListSet = gs_79
-+ structure IntRedBlackMap = gs_118
-+ structure IntRedBlackSet = gs_117
-+ functor KeywordFn = gs_110
++ structure IntListMap = gs_83
++ structure IntListSet = gs_82
++ structure IntRedBlackMap = gs_121
++ structure IntRedBlackSet = gs_120
++ functor IntervalSetFn = gs_79
++ functor KeywordFn = gs_113
+ signature LIB_BASE = gs_4
-+ signature LIST_FORMAT = gs_71
-+ signature LIST_SORT = gs_123
-+ signature LIST_XPROD = gs_66
-+ functor LeftPriorityQFn = gs_112
++ signature LIST_FORMAT = gs_73
++ signature LIST_SORT = gs_126
++ signature LIST_XPROD = gs_68
++ functor LeftPriorityQFn = gs_115
+ structure LibBase = gs_5
-+ structure ListFormat = gs_72
++ structure ListFormat = gs_74
+ functor ListMapFn = gs_8
-+ structure ListMergeSort = gs_124
++ structure ListMergeSort = gs_127
+ functor ListSetFn = gs_6
-+ structure ListXProd = gs_134
-+ signature MONO_ARRAY_SORT = gs_116
-+ signature MONO_DYNAMIC_ARRAY = gs_100
-+ signature MONO_HASH2_TABLE = gs_76
-+ signature MONO_HASH_TABLE = gs_51
-+ signature MONO_PRIORITYQ = gs_111
-+ functor MonoArrayFn = gs_98
++ structure ListXProd = gs_137
++ signature MONO_ARRAY_SORT = gs_119
++ signature MONO_DYNAMIC_ARRAY = gs_103
++ signature MONO_HASH2_TABLE = gs_78
++ signature MONO_HASH_TABLE = gs_53
++ signature MONO_PRIORITYQ = gs_114
++ functor MonoArrayFn = gs_101
+ signature ORD_KEY = gs_1
+ signature ORD_MAP = gs_7
+ signature ORD_SET = gs_2
-+ signature PARSER_COMB = gs_33
-+ signature PATH_UTIL = gs_82
-+ signature PRIORITY = gs_49
++ signature PARSER_COMB = gs_35
++ signature PATH_UTIL = gs_85
++ signature PRIORITY = gs_51
+ signature PROP_LIST = gs_26
-+ structure ParserComb = gs_75
-+ structure PathUtil = gs_83
++ structure ParserComb = gs_77
++ structure PathUtil = gs_86
+ structure PrimeSizes = gs_11
-+ structure PropList = gs_62
-+ signature QUEUE = gs_104
-+ structure Queue = gs_107
-+ signature RAND = gs_132
-+ signature RANDOM = gs_93
-+ structure Rand = gs_133
-+ structure Random = gs_94
-+ structure RealOrderStats = gs_95
-+ functor RedBlackMapFn = gs_59
-+ functor RedBlackSetFn = gs_56
-+ signature SCAN = gs_129
++ structure PropList = gs_64
++ signature QUEUE = gs_107
++ structure Queue = gs_110
++ signature RAND = gs_135
++ signature RANDOM = gs_96
++ structure Rand = gs_136
++ structure Random = gs_97
++ structure RealOrderStats = gs_98
++ functor RedBlackMapFn = gs_61
++ functor RedBlackSetFn = gs_58
++ signature SCAN = gs_132
+ signature SPLAY_TREE = gs_18
-+ structure Scan = gs_130
-+ structure SimpleURef = gs_122
++ structure Scan = gs_133
++ structure SimpleURef = gs_125
+ functor SplayMapFn = gs_21
+ functor SplaySetFn = gs_20
+ structure SplayTree = gs_19
-+ signature UREF = gs_121
-+ structure URef = gs_128
-+ structure UnivariateStats = gs_96
-+ structure WordHashTable = gs_109
-+ structure WordRedBlackMap = gs_78
-+ structure WordRedBlackSet = gs_77
++ signature UREF = gs_124
++ structure URef = gs_131
++ structure UnivariateStats = gs_99
++ structure WordHashTable = gs_112
++ structure WordRedBlackMap = gs_81
++ structure WordRedBlackSet = gs_80
+end
+end
+
+end
diff -Naur smlnj-lib/Util/time-limit.mlb smlnj-lib-mlton/Util/time-limit.mlb
--- smlnj-lib/Util/time-limit.mlb 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Util/time-limit.mlb 2005-08-17 20:23:49.000000000 -0400
++++ smlnj-lib-mlton/Util/time-limit.mlb 2005-08-17 20:13:05.000000000 -0400
@@ -0,0 +1,16 @@
+ann
+ "nonexhaustiveMatch warn" "redundantMatch warn"
@@ -12098,7 +3137,7 @@
+end
diff -Naur smlnj-lib/Util/time-limit.mlton.sml smlnj-lib-mlton/Util/time-limit.mlton.sml
--- smlnj-lib/Util/time-limit.mlton.sml 1969-12-31 19:00:00.000000000 -0500
-+++ smlnj-lib-mlton/Util/time-limit.mlton.sml 2005-08-17 20:23:49.000000000 -0400
++++ smlnj-lib-mlton/Util/time-limit.mlton.sml 2005-08-17 20:13:05.000000000 -0400
@@ -0,0 +1,24 @@
+(* time-limit.mlton.sml
+ *
Modified: mlton/trunk/lib/smlnj-lib/smlnj-lib.tgz
===================================================================
(Binary files differ)