[MLton-commit] r4553

Matthew Fluet MLton@mlton.org
Fri, 19 May 2006 19:46:23 -0700


Merge trunk revisions 4437:4552 into x86_64 branch
----------------------------------------------------------------------

U   mlton/branches/on-20050822-x86_64-branch/Makefile
U   mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/platform.sig
U   mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/platform.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/prim-mlton.sml
U   mlton/branches/on-20050822-x86_64-branch/basis-library/sml-nj/sml-nj.sml
U   mlton/branches/on-20050822-x86_64-branch/bin/mlton-script
U   mlton/branches/on-20050822-x86_64-branch/bin/platform
U   mlton/branches/on-20050822-x86_64-branch/bin/upgrade-basis
U   mlton/branches/on-20050822-x86_64-branch/bytecode/Makefile
U   mlton/branches/on-20050822-x86_64-branch/doc/changelog
U   mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/ckit.patch
U   mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/ckit.tgz
U   mlton/branches/on-20050822-x86_64-branch/lib/mlrisc-lib/MLRISC.patch
U   mlton/branches/on-20050822-x86_64-branch/lib/mlrisc-lib/MLRISC.tgz
U   mlton/branches/on-20050822-x86_64-branch/lib/mlton-stubs/mlton.sml
U   mlton/branches/on-20050822-x86_64-branch/lib/mlton-stubs/platform.sig
U   mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/smlnj-lib.patch
U   mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/smlnj-lib.tgz
U   mlton/branches/on-20050822-x86_64-branch/runtime/Makefile
U   mlton/branches/on-20050822-x86_64-branch/runtime/basis/Net/Socket/Socket.c
U   mlton/branches/on-20050822-x86_64-branch/runtime/cenv.h
U   mlton/branches/on-20050822-x86_64-branch/runtime/gen/gen-types.c
A   mlton/branches/on-20050822-x86_64-branch/runtime/platform/aix.c
A   mlton/branches/on-20050822-x86_64-branch/runtime/platform/aix.h
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform/cygwin.c
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform/cygwin.h
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform/darwin.h
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform/freebsd.h
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform/hpux.c
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform/hpux.h
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform/linux.h
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform/mingw.h
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform/netbsd.h
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform/openbsd.h
A   mlton/branches/on-20050822-x86_64-branch/runtime/platform/recv.nonblock.c
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform/solaris.h
U   mlton/branches/on-20050822-x86_64-branch/runtime/platform.h

----------------------------------------------------------------------

Modified: mlton/branches/on-20050822-x86_64-branch/Makefile
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/Makefile	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/Makefile	2006-05-20 02:45:54 UTC (rev 4553)
@@ -1,4 +1,4 @@
-## Copyright (C) 1999-2005 Henry Cejtin, Matthew Fluet, Suresh
+## Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
  #    Jagannathan, and Stephen Weeks.
  # Copyright (C) 1997-2000 NEC Research Institute.
  #
@@ -419,7 +419,7 @@
 		cd "$(TMAN)" && $(GZIP) $(MAN_PAGES);			\
 	fi
 	case "$(TARGET_OS)" in						\
-	cygwin|darwin|solaris)						\
+	aix|cygwin|darwin|solaris)					\
 	;;								\
 	*)								\
 		for f in "$(TLIB)/$(AOUT)$(EXE)" "$(TBIN)/$(LEX)$(EXE)"	\

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/platform.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/platform.sig	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/platform.sig	2006-05-20 02:45:54 UTC (rev 4553)
@@ -20,7 +20,8 @@
       structure OS:
          sig
             datatype t =
-               Cygwin
+               AIX
+             | Cygwin
              | Darwin
              | FreeBSD
              | HPUX

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/platform.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/platform.sml	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/mlton/platform.sml	2006-05-20 02:45:54 UTC (rev 4553)
@@ -43,7 +43,8 @@
          struct
             open OS
 
-            val all = [(Cygwin, "Cygwin"),
+            val all = [(AIX, "AIX"),
+                       (Cygwin, "Cygwin"),
                        (Darwin, "Darwin"),
                        (FreeBSD, "FreeBSD"),
                        (HPUX, "HPUX"),

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/prim-mlton.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/prim-mlton.sml	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/primitive/prim-mlton.sml	2006-05-20 02:45:54 UTC (rev 4553)
@@ -154,7 +154,8 @@
       structure OS =
          struct
             datatype t =
-               Cygwin
+               AIX
+             | Cygwin
              | Darwin
              | FreeBSD
              | HPUX
@@ -166,7 +167,8 @@
                
             val host: t =
                case _const "MLton_Platform_OS_host": String8.string; of
-                  "cygwin" => Cygwin
+                  "aix" => AIX
+                | "cygwin" => Cygwin
                 | "darwin" => Darwin
                 | "freebsd" => FreeBSD
                 | "hpux" => HPUX

Modified: mlton/branches/on-20050822-x86_64-branch/basis-library/sml-nj/sml-nj.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/basis-library/sml-nj/sml-nj.sml	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/basis-library/sml-nj/sml-nj.sml	2006-05-20 02:45:54 UTC (rev 4553)
@@ -30,7 +30,8 @@
                   open MLton.Platform.OS
                in
                   case host of
-                     Cygwin => UNIX
+                     AIX => UNIX
+                   | Cygwin => UNIX
                    | Darwin => MACOS
                    | FreeBSD => UNIX
                    | HPUX => UNIX

Modified: mlton/branches/on-20050822-x86_64-branch/bin/mlton-script
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/bin/mlton-script	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/bin/mlton-script	2006-05-20 02:45:54 UTC (rev 4553)
@@ -96,10 +96,12 @@
                 -malign-functions=5
                 -malign-jumps=2
                 -malign-loops=2'                                \
+        -target-link-opt aix '-lgmp'                            \
         -target-link-opt amd64 '-m32'                           \
         -target-link-opt cygwin '-lgmp'                         \
         -target-link-opt darwin "$darwinLinkOpts -lgmp"         \
         -target-link-opt freebsd '-L/usr/local/lib/ -lgmp'      \
+        -target-link-opt hpux '-lgmp'                           \
         -target-link-opt linux '-lgmp'                          \
         -target-link-opt mingw                                  \
                 '-lgmp -lws2_32 -lkernel32 -lpsapi -lnetapi32'  \

Modified: mlton/branches/on-20050822-x86_64-branch/bin/platform
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/bin/platform	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/bin/platform	2006-05-20 02:45:54 UTC (rev 4553)
@@ -24,8 +24,13 @@
 esac
 
 uname=`uname`
+arch_flag=-m
 
 case "$uname" in
+AIX)
+        HOST_OS='aix'
+        arch_flag=-p
+;;
 CYGWIN*)
         HOST_OS='cygwin'
 ;;
@@ -58,7 +63,7 @@
 ;;
 esac
 
-arch=`uname -m`
+arch=`uname $arch_flag`
 
 case "$arch" in
 alpha*)
@@ -90,6 +95,9 @@
 # big-endian and little-endian detect via headers
         HOST_ARCH=mips
 ;;
+powerpc)
+        HOST_ARCH=powerpc
+;;
 ppc*)
         HOST_ARCH=powerpc
 ;;

Modified: mlton/branches/on-20050822-x86_64-branch/bin/upgrade-basis
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/bin/upgrade-basis	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/bin/upgrade-basis	2006-05-20 02:45:54 UTC (rev 4553)
@@ -135,6 +135,9 @@
 esac
 
 case "$OS" in
+aix)
+        os='AIX'
+;;
 cygwin)
         os='Cygwin'
 ;;
@@ -209,10 +212,11 @@
 
             structure OS =
                struct
-                  datatype t = Cygwin | Darwin | FreeBSD | HPUX | Linux | MinGW
-		             | NetBSD | OpenBSD | Solaris
+                  datatype t = AIX | Cygwin | Darwin | FreeBSD | HPUX | Linux
+                             | MinGW | NetBSD | OpenBSD | Solaris
 
-                  val all = [(Cygwin, "Cygwin"),
+                  val all = [(AIX, "AIX"),
+                             (Cygwin, "Cygwin"),
                              (Darwin, "Darwin"),
                              (FreeBSD, "FreeBSD"),
 			     (HPUX, "HPUX"),

Modified: mlton/branches/on-20050822-x86_64-branch/bytecode/Makefile
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/bytecode/Makefile	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/bytecode/Makefile	2006-05-20 02:45:54 UTC (rev 4553)
@@ -1,4 +1,4 @@
-## Copyright (C) 2004-2005 Henry Cejtin, Matthew Fluet, Suresh
+## Copyright (C) 2004-2006 Henry Cejtin, Matthew Fluet, Suresh
  #    Jagannathan, and Stephen Weeks.
  #
  # MLton is released under a BSD-style license.
@@ -11,6 +11,13 @@
 
 CC = gcc -std=gnu99
 CFLAGS = -fomit-frame-pointer -I../runtime -I../include -Wall
+DEBUGFLAGS = $(CFLAGS)
+ifneq ($(TARGET_ARCH), ia64)
+ifneq ($(TARGET_ARCH), powerpc)
+DEBUGFLAGS += -gstabs+
+endif
+endif
+DEBUGFLAGS += -g2
 
 ifeq ($(TARGET_ARCH), amd64)
 CFLAGS += -mtune=opteron -m32 
@@ -24,7 +31,7 @@
 	$(CC) $(CFLAGS) -c -O2 interpret.c
 
 interpret-gdb.o: interpret.c interpret.h
-	$(CC) $(CFLAGS) -c -o $@ -gstabs+ -g2 -DASSERT=1 interpret.c
+	$(CC) $(DEBUGFLAGS) -c -o $@ -DASSERT=1 interpret.c
 
 print-opcodes: print-opcodes.c opcode.h
 	$(CC) $(CFLAGS) -o print-opcodes -I../runtime -L../runtime	\

Modified: mlton/branches/on-20050822-x86_64-branch/doc/changelog
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/changelog	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/doc/changelog	2006-05-20 02:45:54 UTC (rev 4553)
@@ -1,5 +1,13 @@
 Here are the changes since version 20051202.
 
+* 2006-05-11
+  - Ported to PowerPC-AIX.
+  - Fixed a bug in the runtime for the cases where nonblocking IO with
+    sockets was implemented using MSG_DONTWAIT.  This flag does not
+    exist on AIX, Cygwin, HPUX, and MinGW and was previously just
+    ignored.  Now the runtime simulates the flag for these platforms
+    (except MinGW, yet, where it's still ignored).
+
 * 2006-04-25
   - Ported to HPPA-HPUX.
   - Fixed PackReal{,32,64}{Big,Little} to follow the Basis Library

Modified: mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/ckit.patch
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/ckit.patch	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/ckit.patch	2006-05-20 02:45:54 UTC (rev 4553)
@@ -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 09:31:14.000000000 -0400
++++ ckit-mlton/ckit-lib.mlb	2006-05-02 22:38:21.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-17 19:41:36.000000000 -0400
++++ ckit-mlton/README.mlton	2006-05-02 22:38:21.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-17 19:41:36.000000000 -0400
++++ ckit-mlton/src/ast/ast-sig.sml	2006-05-02 22:38:21.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-17 19:41:36.000000000 -0400
++++ ckit-mlton/src/ast/build-ast.sml	2006-05-02 22:38:21.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-17 19:41:36.000000000 -0400
++++ ckit-mlton/src/ast/initializer-normalizer.sml	2006-05-02 22:38:21.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-17 19:41:36.000000000 -0400
++++ ckit-mlton/src/ast/pp/pp-ast-adornment-sig.sml	2006-05-02 22:38:21.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-17 19:41:36.000000000 -0400
++++ ckit-mlton/src/ast/pp/pp-ast-ext-sig.sml	2006-05-02 22:38:21.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-17 19:41:36.000000000 -0400
++++ ckit-mlton/src/ast/pp/pp-lib.sml	2006-05-02 22:38:21.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-17 19:41:36.000000000 -0400
++++ ckit-mlton/src/ast/sizeof.sml	2006-05-02 22:38:21.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-17 19:41:36.000000000 -0400
++++ ckit-mlton/src/ast/type-util-sig.sml	2006-05-02 22:38:21.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-17 19:41:36.000000000 -0400
++++ ckit-mlton/src/ast/type-util.sml	2006-05-02 22:38:21.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-11-21 11:29:39.000000000 -0500
++++ ckit-mlton/src/ckit-lib.mlb	2006-05-02 23:00:54.000000000 -0400
 @@ -0,0 +1,876 @@
 +
 +ann
@@ -1271,120 +1271,18541 @@
 +end
 +
 +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	2006-05-02 23:00:53.000000000 -0400
+@@ -0,0 +1,10001 @@
++1 shift/reduce conflict
++
++error:  state 404: shift/reduce conflict (shift ELSE, reduce by rule 18)
++
++state 0:
++
++	translationUnit : . tu 
++
++
++	translationUnit	goto 420
++	tu	goto 1
++
++	.	reduce by rule 1
++
++
++state 1:
++
++	translationUnit : tu .  (reduce by rule 0)
++	tu : tu . externalDeclaration 
++
++	SEMICOLON	shift 42
++	LPAREN	shift 41
++	TIMES	shift 40
++	ID	shift 39
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++	TYPE_NAME	shift 19
++
++	pointer	goto 18
++	notypeDeclarator	goto 17
++	notypeDirectDeclarator	goto 16
++	declarationSpecifiers	goto 15
++	declarationModifiers	goto 14
++	storageClassSpecifier	goto 13
++	typeSpecifier	goto 12
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 10
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	fDefDeclaration	goto 7
++	functionDefinition	goto 6
++	declaration	goto 5
++	declaration1	goto 4
++	externalDeclaration	goto 3
++	structOrUnion	goto 2
++
++	.	reduce by rule 0
++
++
++state 2:
++
++	structOrUnionSpecifier : structOrUnion . LCURLY structDeclarationList RCURLY 
++	structOrUnionSpecifier : structOrUnion . ID LCURLY structDeclarationList RCURLY 
++	structOrUnionSpecifier : structOrUnion . TYPE_NAME LCURLY structDeclarationList RCURLY 
++	structOrUnionSpecifier : structOrUnion . ID 
++	structOrUnionSpecifier : structOrUnion . TYPE_NAME 
++
++	LCURLY	shift 45
++	ID	shift 44
++	TYPE_NAME	shift 43
++
++
++	.	error
++
++
++state 3:
++
++	tu : tu externalDeclaration .  (reduce by rule 2)
++
++
++
++	.	reduce by rule 2
++
++
++state 4:
++
++	declaration : declaration1 . SEMICOLON 
++
++	SEMICOLON	shift 46
++
++
++	.	error
++
++
++state 5:
++
++	externalDeclaration : declaration .  (reduce by rule 3)
++
++
++
++	.	reduce by rule 3
++
++
++state 6:
++
++	externalDeclaration : functionDefinition .  (reduce by rule 5)
++
++
++
++	.	reduce by rule 5
++
++
++state 7:
++
++	functionDefinition : fDefDeclaration . compoundStatement 
++	functionDefinition : fDefDeclaration . declarationList compoundStatement 
++
++	LCURLY	shift 52
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++	TYPE_NAME	shift 19
++
++	compoundStatement	goto 51
++	declarationSpecifiers	goto 50
++	declarationModifiers	goto 49
++	storageClassSpecifier	goto 13
++	typeSpecifier	goto 12
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 10
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	declarationList	goto 48
++	declaration	goto 47
++	declaration1	goto 4
++	structOrUnion	goto 2
++
++	.	error
++
++
++state 8:
++
++	typeSpecifier : structOrUnionSpecifier .  (reduce by rule 119)
++
++
++
++	.	reduce by rule 119
++
++
++state 9:
++
++	typeSpecifier : enumSpecifier .  (reduce by rule 120)
++
++
++
++	.	reduce by rule 120
++
++
++state 10:
++
++	declarationModifiers : typeQualifier .  (reduce by rule 110)
++
++
++
++	.	reduce by rule 110
++
++
++state 11:
++
++	typeSpecifier : typeSpecifierReserved .  (reduce by rule 118)
++
++
++
++	.	reduce by rule 118
++
++
++state 12:
++
++	declarationSpecifiers : typeSpecifier . reservedDeclarationSpecifier 
++
++
++	reservedDeclarationSpecifier	goto 53
++
++	.	reduce by rule 101
++
++
++state 13:
++
++	declarationModifiers : storageClassSpecifier .  (reduce by rule 108)
++
++
++
++	.	reduce by rule 108
++
++
++state 14:
++
++	declarationSpecifiers : declarationModifiers . typeSpecifier reservedDeclarationSpecifier 
++	declarationModifiers : declarationModifiers . storageClassSpecifier 
++	declarationModifiers : declarationModifiers . typeQualifier 
++	fDefDeclaration : declarationModifiers . notypeDeclarator 
++	declaration1 : declarationModifiers . notypeInitDeclaratorList 
++
++	LPAREN	shift 41
++	TIMES	shift 40
++	ID	shift 39
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++	TYPE_NAME	shift 19
++
++	notypeInitDeclarator	goto 59
++	notypeInitDeclaratorList	goto 58
++	pointer	goto 18
++	notypeDeclarator	goto 57
++	notypeDirectDeclarator	goto 16
++	storageClassSpecifier	goto 56
++	typeSpecifier	goto 55
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 54
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	structOrUnion	goto 2
++
++	.	error
++
++
++state 15:
++
++	fDefDeclaration : declarationSpecifiers . declarator 
++	declaration1 : declarationSpecifiers .  (reduce by rule 23)
++	declaration1 : declarationSpecifiers . initDeclaratorList 
++
++	LPAREN	shift 68
++	TIMES	shift 40
++	ID	shift 39
++	TYPE_NAME	shift 67
++
++	initDeclarator	goto 66
++	initDeclaratorList	goto 65
++	pointer	goto 64
++	declarator	goto 63
++	aftertypeDeclarator	goto 62
++	notypeDeclarator	goto 61
++	aftertypeDirectDeclarator	goto 60
++	notypeDirectDeclarator	goto 16
++
++	.	reduce by rule 23
++
++
++state 16:
++
++	notypeDeclarator : notypeDirectDeclarator .  (reduce by rule 182)
++	notypeDirectDeclarator : notypeDirectDeclarator . LBRACE RBRACE 
++	notypeDirectDeclarator : notypeDirectDeclarator . LBRACE expr RBRACE 
++	notypeDirectDeclarator : notypeDirectDeclarator . LPAREN RPAREN 
++	notypeDirectDeclarator : notypeDirectDeclarator . LPAREN parameterTypeList RPAREN 
++	notypeDirectDeclarator : notypeDirectDeclarator . LPAREN identlist RPAREN 
++
++	LPAREN	shift 70
++	LBRACE	shift 69
++
++
++	.	reduce by rule 182
++
++
++state 17:
++
++	fDefDeclaration : notypeDeclarator .  (reduce by rule 218)
++
++
++
++	.	reduce by rule 218
++
++
++state 18:
++
++	notypeDeclarator : pointer . notypeDirectDeclarator 
++
++	LPAREN	shift 41
++	ID	shift 39
++
++	notypeDirectDeclarator	goto 71
++
++	.	error
++
++
++state 19:
++
++	typeSpecifier : TYPE_NAME .  (reduce by rule 121)
++
++
++
++	.	reduce by rule 121
++
++
++state 20:
++
++	storageClassSpecifier : TYPEDEF .  (reduce by rule 167)
++
++
++
++	.	reduce by rule 167
++
++
++state 21:
++
++	typeSpecifierReserved : VOID .  (reduce by rule 122)
++
++
++
++	.	reduce by rule 122
++
++
++state 22:
++
++	typeSpecifierReserved : SIGNED .  (reduce by rule 129)
++
++
++
++	.	reduce by rule 129
++
++
++state 23:
++
++	typeSpecifierReserved : UNSIGNED .  (reduce by rule 130)
++
++
++
++	.	reduce by rule 130
++
++
++state 24:
++
++	structOrUnion : UNION .  (reduce by rule 137)
++
++
++
++	.	reduce by rule 137
++
++
++state 25:
++
++	structOrUnion : STRUCT .  (reduce by rule 136)
++
++
++
++	.	reduce by rule 136
++
++
++state 26:
++
++	typeSpecifierReserved : SHORT .  (reduce by rule 124)
++
++
++
++	.	reduce by rule 124
++
++
++state 27:
++
++	typeSpecifierReserved : LONG .  (reduce by rule 126)
++
++
++
++	.	reduce by rule 126
++
++
++state 28:
++
++	typeSpecifierReserved : INT .  (reduce by rule 125)
++
++
++
++	.	reduce by rule 125
++
++
++state 29:
++
++	typeSpecifierReserved : FLOAT .  (reduce by rule 127)
++
++
++
++	.	reduce by rule 127
++
++
++state 30:
++
++	enumSpecifier : ENUM . LCURLY enumeratorList trailingComma RCURLY 
++	enumSpecifier : ENUM . ID LCURLY enumeratorList trailingComma RCURLY 
++	enumSpecifier : ENUM . TYPE_NAME LCURLY enumeratorList trailingComma RCURLY 
++	enumSpecifier : ENUM . ID 
++	enumSpecifier : ENUM . TYPE_NAME 
++
++	LCURLY	shift 74
++	ID	shift 73
++	TYPE_NAME	shift 72
++
++
++	.	error
++
++
++state 31:
++
++	typeSpecifierReserved : DOUBLE .  (reduce by rule 128)
++
++
++
++	.	reduce by rule 128
++
++
++state 32:
++
++	typeSpecifierReserved : CHAR .  (reduce by rule 123)
++
++
++
++	.	reduce by rule 123
++
++
++state 33:
++
++	typeQualifier : VOLATILE .  (reduce by rule 153)
++
++
++
++	.	reduce by rule 153
++
++
++state 34:
++
++	typeQualifier : CONST .  (reduce by rule 152)
++
++
++
++	.	reduce by rule 152
++
++
++state 35:
++
++	storageClassSpecifier : REGISTER .  (reduce by rule 166)
++
++
++
++	.	reduce by rule 166
++
++
++state 36:
++
++	storageClassSpecifier : STATIC .  (reduce by rule 164)
++
++
++
++	.	reduce by rule 164
++
++
++state 37:
++
++	storageClassSpecifier : AUTO .  (reduce by rule 165)
++
++
++
++	.	reduce by rule 165
++
++
++state 38:
++
++	storageClassSpecifier : EXTERN .  (reduce by rule 163)
++
++
++
++	.	reduce by rule 163
++
++
++state 39:
++
++	notypeDirectDeclarator : ID .  (reduce by rule 197)
++
++
++
++	.	reduce by rule 197
++
++
++state 40:
++
++	pointer : TIMES .  (reduce by rule 186)
++	pointer : TIMES . typeQualifierList 
++	pointer : TIMES . pointer 
++	pointer : TIMES . typeQualifierList pointer 
++
++	TIMES	shift 40
++	CONST	shift 34
++	VOLATILE	shift 33
++
++	pointer	goto 77
++	typeQualifier	goto 76
++	typeQualifierList	goto 75
++
++	.	reduce by rule 186
++
++
++state 41:
++
++	notypeDirectDeclarator : LPAREN . notypeDeclarator RPAREN 
++
++	LPAREN	shift 41
++	TIMES	shift 40
++	ID	shift 39
++
++	pointer	goto 18
++	notypeDeclarator	goto 78
++	notypeDirectDeclarator	goto 16
++
++	.	error
++
++
++state 42:
++
++	externalDeclaration : SEMICOLON .  (reduce by rule 4)
++
++
++
++	.	reduce by rule 4
++
++
++state 43:
++
++	structOrUnionSpecifier : structOrUnion TYPE_NAME . LCURLY structDeclarationList RCURLY 
++	structOrUnionSpecifier : structOrUnion TYPE_NAME .  (reduce by rule 135)
++
++	LCURLY	shift 79
++
++
++	.	reduce by rule 135
++
++
++state 44:
++
++	structOrUnionSpecifier : structOrUnion ID . LCURLY structDeclarationList RCURLY 
++	structOrUnionSpecifier : structOrUnion ID .  (reduce by rule 134)
++
++	LCURLY	shift 80
++
++
++	.	reduce by rule 134
++
++
++state 45:
++
++	structOrUnionSpecifier : structOrUnion LCURLY . structDeclarationList RCURLY 
++
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPE_NAME	shift 19
++
++	typeSpecifier	goto 85
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 76
++	typeQualifierList	goto 84
++	specifierQualifierList	goto 83
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	structOrUnion	goto 2
++	structDeclarationList	goto 82
++	structDeclaration	goto 81
++
++	.	error
++
++
++state 46:
++
++	declaration : declaration1 SEMICOLON .  (reduce by rule 22)
++
++
++
++	.	reduce by rule 22
++
++
++state 47:
++
++	declarationList : declaration .  (reduce by rule 214)
++
++
++
++	.	reduce by rule 214
++
++
++state 48:
++
++	declarationList : declarationList . declaration 
++	functionDefinition : fDefDeclaration declarationList . compoundStatement 
++
++	LCURLY	shift 52
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++	TYPE_NAME	shift 19
++
++	compoundStatement	goto 87
++	declarationSpecifiers	goto 50
++	declarationModifiers	goto 49
++	storageClassSpecifier	goto 13
++	typeSpecifier	goto 12
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 10
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	declaration	goto 86
++	declaration1	goto 4
++	structOrUnion	goto 2
++
++	.	error
++
++
++state 49:
++
++	declarationSpecifiers : declarationModifiers . typeSpecifier reservedDeclarationSpecifier 
++	declarationModifiers : declarationModifiers . storageClassSpecifier 
++	declarationModifiers : declarationModifiers . typeQualifier 
++	declaration1 : declarationModifiers . notypeInitDeclaratorList 
++
++	LPAREN	shift 41
++	TIMES	shift 40
++	ID	shift 39
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++	TYPE_NAME	shift 19
++
++	notypeInitDeclarator	goto 59
++	notypeInitDeclaratorList	goto 58
++	pointer	goto 18
++	notypeDeclarator	goto 88
++	notypeDirectDeclarator	goto 16
++	storageClassSpecifier	goto 56
++	typeSpecifier	goto 55
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 54
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	structOrUnion	goto 2
++
++	.	error
++
++
++state 50:
++
++	declaration1 : declarationSpecifiers .  (reduce by rule 23)
++	declaration1 : declarationSpecifiers . initDeclaratorList 
++
++	LPAREN	shift 68
++	TIMES	shift 40
++	ID	shift 39
++	TYPE_NAME	shift 67
++
++	initDeclarator	goto 66
++	initDeclaratorList	goto 65
++	pointer	goto 64
++	declarator	goto 89
++	aftertypeDeclarator	goto 62
++	notypeDeclarator	goto 61
++	aftertypeDirectDeclarator	goto 60
++	notypeDirectDeclarator	goto 16
++
++	.	reduce by rule 23
++
++
++state 51:
++
++	functionDefinition : fDefDeclaration compoundStatement .  (reduce by rule 221)
++
++
++
++	.	reduce by rule 221
++
++
++state 52:
++
++	compoundStatement : LCURLY . pushScope declarationList ostatementlist popScope RCURLY 
++	compoundStatement : LCURLY . ostatementlist RCURLY 
++
++	SEMICOLON	shift 125
++	LPAREN	shift 124
++	LCURLY	shift 52
++	RCURLY	reduce by rule 27
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 115
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	EXTERN	reduce by rule 245
++	AUTO	reduce by rule 245
++	STATIC	reduce by rule 245
++	REGISTER	reduce by rule 245
++	CONST	reduce by rule 245
++	VOLATILE	reduce by rule 245
++	IF	shift 110
++	FOR	shift 109
++	DO	shift 108
++	SWITCH	shift 107
++	CASE	shift 106
++	DEFAULT	shift 105
++	WHILE	shift 104
++	RETURN	shift 103
++	BREAK	shift 102
++	CONTINUE	shift 101
++	GOTO	shift 100
++	CHAR	reduce by rule 245
++	DOUBLE	reduce by rule 245
++	ENUM	reduce by rule 245
++	FLOAT	reduce by rule 245
++	INT	reduce by rule 245
++	LONG	reduce by rule 245
++	SHORT	reduce by rule 245
++	STRUCT	reduce by rule 245
++	UNION	reduce by rule 245
++	UNSIGNED	reduce by rule 245
++	SIGNED	reduce by rule 245
++	VOID	reduce by rule 245
++	SIZEOF	shift 99
++	TYPEDEF	reduce by rule 245
++	TYPE_NAME	reduce by rule 245
++
++	statement	goto 98
++	ostatementlist	goto 97
++	statementlist	goto 96
++	compoundStatement	goto 95
++	expr	goto 94
++	exprWComma	goto 93
++	unaryOperator	goto 92
++	pushScope	goto 91
++	strings	goto 90
++
++	.	error
++
++
++state 53:
++
++	declarationSpecifiers : typeSpecifier reservedDeclarationSpecifier .  (reduce by rule 99)
++	reservedDeclarationSpecifier : reservedDeclarationSpecifier . specifierQualifierReserved 
++	reservedDeclarationSpecifier : reservedDeclarationSpecifier . storageClassSpecifier 
++
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++
++	specifierQualifierReserved	goto 131
++	storageClassSpecifier	goto 130
++	typeSpecifierReserved	goto 129
++	typeQualifier	goto 128
++	enumSpecifier	goto 127
++	structOrUnionSpecifier	goto 126
++	structOrUnion	goto 2
++
++	.	reduce by rule 99
++
++
++state 54:
++
++	declarationModifiers : declarationModifiers typeQualifier .  (reduce by rule 111)
++
++
++
++	.	reduce by rule 111
++
++
++state 55:
++
++	declarationSpecifiers : declarationModifiers typeSpecifier . reservedDeclarationSpecifier 
++
++
++	reservedDeclarationSpecifier	goto 132
++
++	.	reduce by rule 101
++
++
++state 56:
++
++	declarationModifiers : declarationModifiers storageClassSpecifier .  (reduce by rule 109)
++
++
++
++	.	reduce by rule 109
++
++
++state 57:
++
++	notypeInitDeclarator : notypeDeclarator .  (reduce by rule 176)
++	notypeInitDeclarator : notypeDeclarator . EQUALS initializer 
++	fDefDeclaration : declarationModifiers notypeDeclarator .  (reduce by rule 220)
++
++	SEMICOLON	reduce by rule 176
++	LCURLY	reduce by rule 220
++	COMMA	reduce by rule 176
++	EQUALS	shift 133
++	EXTERN	reduce by rule 220
++	AUTO	reduce by rule 220
++	STATIC	reduce by rule 220
++	REGISTER	reduce by rule 220
++	CONST	reduce by rule 220
++	VOLATILE	reduce by rule 220
++	CHAR	reduce by rule 220
++	DOUBLE	reduce by rule 220
++	ENUM	reduce by rule 220
++	FLOAT	reduce by rule 220
++	INT	reduce by rule 220
++	LONG	reduce by rule 220
++	SHORT	reduce by rule 220
++	STRUCT	reduce by rule 220
++	UNION	reduce by rule 220
++	UNSIGNED	reduce by rule 220
++	SIGNED	reduce by rule 220
++	VOID	reduce by rule 220
++	TYPEDEF	reduce by rule 220
++	TYPE_NAME	reduce by rule 220
++
++
++	.	error
++
++
++state 58:
++
++	notypeInitDeclaratorList : notypeInitDeclaratorList . COMMA initDeclarator 
++	declaration1 : declarationModifiers notypeInitDeclaratorList .  (reduce by rule 25)
++
++	COMMA	shift 134
++
++
++	.	reduce by rule 25
++
++
++state 59:
++
++	notypeInitDeclaratorList : notypeInitDeclarator .  (reduce by rule 174)
++
++
++
++	.	reduce by rule 174
++
++
++state 60:
++
++	aftertypeDeclarator : aftertypeDirectDeclarator .  (reduce by rule 180)
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LBRACE RBRACE 
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LBRACE expr RBRACE 
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN RPAREN 
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN parameterTypeList RPAREN 
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN identlist RPAREN 
++
++	LPAREN	shift 136
++	LBRACE	shift 135
++
++
++	.	reduce by rule 180
++
++
++state 61:
++
++	declarator : notypeDeclarator .  (reduce by rule 179)
++
++
++
++	.	reduce by rule 179
++
++
++state 62:
++
++	declarator : aftertypeDeclarator .  (reduce by rule 178)
++
++
++
++	.	reduce by rule 178
++
++
++state 63:
++
++	initDeclarator : declarator .  (reduce by rule 172)
++	initDeclarator : declarator . EQUALS initializer 
++	fDefDeclaration : declarationSpecifiers declarator .  (reduce by rule 219)
++
++	SEMICOLON	reduce by rule 172
++	LCURLY	reduce by rule 219
++	COMMA	reduce by rule 172
++	EQUALS	shift 137
++	EXTERN	reduce by rule 219
++	AUTO	reduce by rule 219
++	STATIC	reduce by rule 219
++	REGISTER	reduce by rule 219
++	CONST	reduce by rule 219
++	VOLATILE	reduce by rule 219
++	CHAR	reduce by rule 219
++	DOUBLE	reduce by rule 219
++	ENUM	reduce by rule 219
++	FLOAT	reduce by rule 219
++	INT	reduce by rule 219
++	LONG	reduce by rule 219
++	SHORT	reduce by rule 219
++	STRUCT	reduce by rule 219
++	UNION	reduce by rule 219
++	UNSIGNED	reduce by rule 219
++	SIGNED	reduce by rule 219
++	VOID	reduce by rule 219
++	TYPEDEF	reduce by rule 219
++	TYPE_NAME	reduce by rule 219
++
++
++	.	error
++
++
++state 64:
++
++	aftertypeDeclarator : pointer . aftertypeDirectDeclarator 
++	notypeDeclarator : pointer . notypeDirectDeclarator 
++
++	LPAREN	shift 68
++	ID	shift 39
++	TYPE_NAME	shift 67
++
++	aftertypeDirectDeclarator	goto 138
++	notypeDirectDeclarator	goto 71
++
++	.	error
++
++
++state 65:
++
++	initDeclaratorList : initDeclaratorList . COMMA initDeclarator 
++	declaration1 : declarationSpecifiers initDeclaratorList .  (reduce by rule 24)
++
++	COMMA	shift 139
++
++
++	.	reduce by rule 24
++
++
++state 66:
++
++	initDeclaratorList : initDeclarator .  (reduce by rule 170)
++
++
++
++	.	reduce by rule 170
++
++
++state 67:
++
++	aftertypeDirectDeclarator : TYPE_NAME .  (reduce by rule 190)
++
++
++
++	.	reduce by rule 190
++
++
++state 68:
++
++	aftertypeDirectDeclarator : LPAREN . aftertypeDeclarator RPAREN 
++	notypeDirectDeclarator : LPAREN . notypeDeclarator RPAREN 
++
++	LPAREN	shift 68
++	TIMES	shift 40
++	ID	shift 39
++	TYPE_NAME	shift 67
++
++	pointer	goto 64
++	aftertypeDeclarator	goto 140
++	notypeDeclarator	goto 78
++	aftertypeDirectDeclarator	goto 60
++	notypeDirectDeclarator	goto 16
++
++	.	error
++
++
++state 69:
++
++	notypeDirectDeclarator : notypeDirectDeclarator LBRACE . RBRACE 
++	notypeDirectDeclarator : notypeDirectDeclarator LBRACE . expr RBRACE 
++
++	LPAREN	shift 124
++	RBRACE	shift 143
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 141
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 70:
++
++	notypeDirectDeclarator : notypeDirectDeclarator LPAREN . RPAREN 
++	notypeDirectDeclarator : notypeDirectDeclarator LPAREN . parameterTypeList RPAREN 
++	notypeDirectDeclarator : notypeDirectDeclarator LPAREN . identlist RPAREN 
++
++	RPAREN	shift 151
++	ID	shift 150
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++	TYPE_NAME	shift 19
++
++	declarationSpecifiers	goto 149
++	declarationModifiers	goto 148
++	storageClassSpecifier	goto 13
++	typeSpecifier	goto 12
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 10
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	identlist	goto 147
++	parameterList	goto 146
++	parameterTypeList	goto 145
++	parameterDeclaration	goto 144
++	structOrUnion	goto 2
++
++	.	error
++
++
++state 71:
++
++	notypeDeclarator : pointer notypeDirectDeclarator .  (reduce by rule 183)
++	notypeDirectDeclarator : notypeDirectDeclarator . LBRACE RBRACE 
++	notypeDirectDeclarator : notypeDirectDeclarator . LBRACE expr RBRACE 
++	notypeDirectDeclarator : notypeDirectDeclarator . LPAREN RPAREN 
++	notypeDirectDeclarator : notypeDirectDeclarator . LPAREN parameterTypeList RPAREN 
++	notypeDirectDeclarator : notypeDirectDeclarator . LPAREN identlist RPAREN 
++
++	LPAREN	shift 70
++	LBRACE	shift 69
++
++
++	.	reduce by rule 183
++
++
++state 72:
++
++	enumSpecifier : ENUM TYPE_NAME . LCURLY enumeratorList trailingComma RCURLY 
++	enumSpecifier : ENUM TYPE_NAME .  (reduce by rule 158)
++
++	LCURLY	shift 152
++
++
++	.	reduce by rule 158
++
++
++state 73:
++
++	enumSpecifier : ENUM ID . LCURLY enumeratorList trailingComma RCURLY 
++	enumSpecifier : ENUM ID .  (reduce by rule 157)
++
++	LCURLY	shift 153
++
++
++	.	reduce by rule 157
++
++
++state 74:
++
++	enumSpecifier : ENUM LCURLY . enumeratorList trailingComma RCURLY 
++
++	ID	shift 156
++
++	enumeratorList	goto 155
++	enumerator	goto 154
++
++	.	error
++
++
++state 75:
++
++	pointer : TIMES typeQualifierList .  (reduce by rule 187)
++	pointer : TIMES typeQualifierList . pointer 
++
++	TIMES	shift 40
++
++	pointer	goto 157
++
++	.	reduce by rule 187
++
++
++state 76:
++
++	typeQualifierList : typeQualifier .  (reduce by rule 116)
++	typeQualifierList : typeQualifier . typeQualifierList 
++
++	CONST	shift 34
++	VOLATILE	shift 33
++
++	typeQualifier	goto 76
++	typeQualifierList	goto 158
++
++	.	reduce by rule 116
++
++
++state 77:
++
++	pointer : TIMES pointer .  (reduce by rule 188)
++
++
++
++	.	reduce by rule 188
++
++
++state 78:
++
++	notypeDirectDeclarator : LPAREN notypeDeclarator . RPAREN 
++
++	RPAREN	shift 159
++
++
++	.	error
++
++
++state 79:
++
++	structOrUnionSpecifier : structOrUnion TYPE_NAME LCURLY . structDeclarationList RCURLY 
++
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPE_NAME	shift 19
++
++	typeSpecifier	goto 85
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 76
++	typeQualifierList	goto 84
++	specifierQualifierList	goto 83
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	structOrUnion	goto 2
++	structDeclarationList	goto 160
++	structDeclaration	goto 81
++
++	.	error
++
++
++state 80:
++
++	structOrUnionSpecifier : structOrUnion ID LCURLY . structDeclarationList RCURLY 
++
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPE_NAME	shift 19
++
++	typeSpecifier	goto 85
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 76
++	typeQualifierList	goto 84
++	specifierQualifierList	goto 83
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	structOrUnion	goto 2
++	structDeclarationList	goto 161
++	structDeclaration	goto 81
++
++	.	error
++
++
++state 81:
++
++	structDeclarationList : structDeclaration .  (reduce by rule 138)
++
++
++
++	.	reduce by rule 138
++
++
++state 82:
++
++	structOrUnionSpecifier : structOrUnion LCURLY structDeclarationList . RCURLY 
++	structDeclarationList : structDeclarationList . structDeclaration 
++
++	RCURLY	shift 163
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPE_NAME	shift 19
++
++	typeSpecifier	goto 85
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 76
++	typeQualifierList	goto 84
++	specifierQualifierList	goto 83
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	structOrUnion	goto 2
++	structDeclaration	goto 162
++
++	.	error
++
++
++state 83:
++
++	structDeclaration : specifierQualifierList . structDeclaratorList SEMICOLON 
++
++	COLON	shift 167
++	LPAREN	shift 68
++	TIMES	shift 40
++	ID	shift 39
++	TYPE_NAME	shift 67
++
++	pointer	goto 64
++	declarator	goto 166
++	aftertypeDeclarator	goto 62
++	notypeDeclarator	goto 61
++	aftertypeDirectDeclarator	goto 60
++	notypeDirectDeclarator	goto 16
++	structDeclarator	goto 165
++	structDeclaratorList	goto 164
++
++	.	error
++
++
++state 84:
++
++	specifierQualifierList : typeQualifierList . typeSpecifier reservedSpecifierQualifiers 
++	structDeclaration : typeQualifierList . notypeStructDeclaratorList SEMICOLON 
++
++	COLON	shift 172
++	LPAREN	shift 41
++	TIMES	shift 40
++	ID	shift 39
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPE_NAME	shift 19
++
++	pointer	goto 18
++	notypeDeclarator	goto 171
++	notypeDirectDeclarator	goto 16
++	typeSpecifier	goto 170
++	typeSpecifierReserved	goto 11
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	structOrUnion	goto 2
++	notypeStructDeclarator	goto 169
++	notypeStructDeclaratorList	goto 168
++
++	.	error
++
++
++state 85:
++
++	specifierQualifierList : typeSpecifier . reservedSpecifierQualifiers 
++
++
++	reservedSpecifierQualifiers	goto 173
++
++	.	reduce by rule 114
++
++
++state 86:
++
++	declarationList : declarationList declaration .  (reduce by rule 215)
++
++
++
++	.	reduce by rule 215
++
++
++state 87:
++
++	functionDefinition : fDefDeclaration declarationList compoundStatement .  (reduce by rule 222)
++
++
++
++	.	reduce by rule 222
++
++
++state 88:
++
++	notypeInitDeclarator : notypeDeclarator .  (reduce by rule 176)
++	notypeInitDeclarator : notypeDeclarator . EQUALS initializer 
++
++	EQUALS	shift 133
++
++
++	.	reduce by rule 176
++
++
++state 89:
++
++	initDeclarator : declarator .  (reduce by rule 172)
++	initDeclarator : declarator . EQUALS initializer 
++
++	EQUALS	shift 137
++
++
++	.	reduce by rule 172
++
++
++state 90:
++
++	expr : strings .  (reduce by rule 88)
++
++
++
++	.	reduce by rule 88
++
++
++state 91:
++
++	compoundStatement : LCURLY pushScope . declarationList ostatementlist popScope RCURLY 
++
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++	TYPE_NAME	shift 19
++
++	declarationSpecifiers	goto 50
++	declarationModifiers	goto 49
++	storageClassSpecifier	goto 13
++	typeSpecifier	goto 12
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 10
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	declarationList	goto 174
++	declaration	goto 47
++	declaration1	goto 4
++	structOrUnion	goto 2
++
++	.	error
++
++
++state 92:
++
++	expr : unaryOperator . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 175
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 93:
++
++	statement : exprWComma . SEMICOLON 
++	exprWComma : exprWComma . COMMA expr 
++
++	SEMICOLON	shift 177
++	COMMA	shift 176
++
++
++	.	error
++
++
++state 94:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	exprWComma : expr .  (reduce by rule 91)
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 91
++
++
++state 95:
++
++	statement : compoundStatement .  (reduce by rule 14)
++
++
++
++	.	reduce by rule 14
++
++
++state 96:
++
++	ostatementlist : statementlist .  (reduce by rule 26)
++	statementlist : statementlist . statement 
++
++	SEMICOLON	shift 125
++	LPAREN	shift 124
++	LCURLY	shift 52
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 115
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	IF	shift 110
++	FOR	shift 109
++	DO	shift 108
++	SWITCH	shift 107
++	CASE	shift 106
++	DEFAULT	shift 105
++	WHILE	shift 104
++	RETURN	shift 103
++	BREAK	shift 102
++	CONTINUE	shift 101
++	GOTO	shift 100
++	SIZEOF	shift 99
++
++	statement	goto 214
++	compoundStatement	goto 95
++	expr	goto 94
++	exprWComma	goto 93
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	reduce by rule 26
++
++
++state 97:
++
++	compoundStatement : LCURLY ostatementlist . RCURLY 
++
++	RCURLY	shift 215
++
++
++	.	error
++
++
++state 98:
++
++	statementlist : statement .  (reduce by rule 28)
++
++
++
++	.	reduce by rule 28
++
++
++state 99:
++
++	expr : SIZEOF . expr 
++	expr : SIZEOF . LPAREN typeName RPAREN 
++
++	LPAREN	shift 217
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 216
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 100:
++
++	statement : GOTO . ID SEMICOLON 
++
++	ID	shift 218
++
++
++	.	error
++
++
++state 101:
++
++	statement : CONTINUE . SEMICOLON 
++
++	SEMICOLON	shift 219
++
++
++	.	error
++
++
++state 102:
++
++	statement : BREAK . SEMICOLON 
++
++	SEMICOLON	shift 220
++
++
++	.	error
++
++
++state 103:
++
++	statement : RETURN . opExpr SEMICOLON 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 94
++	opExpr	goto 222
++	exprWComma	goto 221
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	reduce by rule 93
++
++
++state 104:
++
++	statement : WHILE . LPAREN exprWComma RPAREN statement 
++
++	LPAREN	shift 223
++
++
++	.	error
++
++
++state 105:
++
++	statement : DEFAULT . COLON statement 
++
++	COLON	shift 224
++
++
++	.	error
++
++
++state 106:
++
++	statement : CASE . exprWComma COLON statement 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 94
++	exprWComma	goto 225
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 107:
++
++	statement : SWITCH . LPAREN exprWComma RPAREN statement 
++
++	LPAREN	shift 226
++
++
++	.	error
++
++
++state 108:
++
++	statement : DO . statement WHILE LPAREN exprWComma RPAREN SEMICOLON 
++
++	SEMICOLON	shift 125
++	LPAREN	shift 124
++	LCURLY	shift 52
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 115
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	IF	shift 110
++	FOR	shift 109
++	DO	shift 108
++	SWITCH	shift 107
++	CASE	shift 106
++	DEFAULT	shift 105
++	WHILE	shift 104
++	RETURN	shift 103
++	BREAK	shift 102
++	CONTINUE	shift 101
++	GOTO	shift 100
++	SIZEOF	shift 99
++
++	statement	goto 227
++	compoundStatement	goto 95
++	expr	goto 94
++	exprWComma	goto 93
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 109:
++
++	statement : FOR . LPAREN opExpr SEMICOLON opExpr SEMICOLON opExpr RPAREN statement 
++
++	LPAREN	shift 228
++
++
++	.	error
++
++
++state 110:
++
++	statement : IF . LPAREN exprWComma RPAREN statement 
++	statement : IF . LPAREN exprWComma RPAREN statement ELSE statement 
++
++	LPAREN	shift 229
++
++
++	.	error
++
++
++state 111:
++
++	expr : CCONST .  (reduce by rule 86)
++
++
++
++	.	reduce by rule 86
++
++
++state 112:
++
++	strings : STRING .  (reduce by rule 89)
++	strings : STRING . strings 
++
++	STRING	shift 112
++
++	strings	goto 230
++
++	.	reduce by rule 89
++
++
++state 113:
++
++	expr : REALNUM .  (reduce by rule 85)
++
++
++
++	.	reduce by rule 85
++
++
++state 114:
++
++	expr : DECNUM .  (reduce by rule 84)
++
++
++
++	.	reduce by rule 84
++
++
++state 115:
++
++	statement : ID . COLON statement 
++	expr : ID .  (reduce by rule 87)
++
++	COLON	shift 231
++
++
++	.	reduce by rule 87
++
++
++state 116:
++
++	expr : DEC . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 232
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 117:
++
++	expr : INC . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 233
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 118:
++
++	unaryOperator : TIMES .  (reduce by rule 33)
++
++
++
++	.	reduce by rule 33
++
++
++state 119:
++
++	unaryOperator : BANG .  (reduce by rule 37)
++
++
++
++	.	reduce by rule 37
++
++
++state 120:
++
++	unaryOperator : MINUS .  (reduce by rule 35)
++
++
++
++	.	reduce by rule 35
++
++
++state 121:
++
++	unaryOperator : PLUS .  (reduce by rule 34)
++
++
++
++	.	reduce by rule 34
++
++
++state 122:
++
++	unaryOperator : TILDE .  (reduce by rule 36)
++
++
++
++	.	reduce by rule 36
++
++
++state 123:
++
++	unaryOperator : AMP .  (reduce by rule 32)
++
++
++
++	.	reduce by rule 32
++
++
++state 124:
++
++	expr : LPAREN . typeName RPAREN expr 
++	expr : LPAREN . exprWComma RPAREN 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	SIZEOF	shift 99
++	TYPE_NAME	shift 19
++
++	expr	goto 94
++	exprWComma	goto 237
++	unaryOperator	goto 92
++	typeName	goto 236
++	typeSpecifier	goto 85
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 76
++	typeQualifierList	goto 235
++	specifierQualifierList	goto 234
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	structOrUnion	goto 2
++	strings	goto 90
++
++	.	error
++
++
++state 125:
++
++	statement : SEMICOLON .  (reduce by rule 21)
++
++
++
++	.	reduce by rule 21
++
++
++state 126:
++
++	specifierQualifierReserved : structOrUnionSpecifier .  (reduce by rule 106)
++
++
++
++	.	reduce by rule 106
++
++
++state 127:
++
++	specifierQualifierReserved : enumSpecifier .  (reduce by rule 107)
++
++
++
++	.	reduce by rule 107
++
++
++state 128:
++
++	specifierQualifierReserved : typeQualifier .  (reduce by rule 105)
++
++
++
++	.	reduce by rule 105
++
++
++state 129:
++
++	specifierQualifierReserved : typeSpecifierReserved .  (reduce by rule 104)
++
++
++
++	.	reduce by rule 104
++
++
++state 130:
++
++	reservedDeclarationSpecifier : reservedDeclarationSpecifier storageClassSpecifier .  (reduce by rule 103)
++
++
++
++	.	reduce by rule 103
++
++
++state 131:
++
++	reservedDeclarationSpecifier : reservedDeclarationSpecifier specifierQualifierReserved .  (reduce by rule 102)
++
++
++
++	.	reduce by rule 102
++
++
++state 132:
++
++	declarationSpecifiers : declarationModifiers typeSpecifier reservedDeclarationSpecifier .  (reduce by rule 100)
++	reservedDeclarationSpecifier : reservedDeclarationSpecifier . specifierQualifierReserved 
++	reservedDeclarationSpecifier : reservedDeclarationSpecifier . storageClassSpecifier 
++
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++
++	specifierQualifierReserved	goto 131
++	storageClassSpecifier	goto 130
++	typeSpecifierReserved	goto 129
++	typeQualifier	goto 128
++	enumSpecifier	goto 127
++	structOrUnionSpecifier	goto 126
++	structOrUnion	goto 2
++
++	.	reduce by rule 100
++
++
++state 133:
++
++	notypeInitDeclarator : notypeDeclarator EQUALS . initializer 
++
++	LPAREN	shift 124
++	LCURLY	shift 240
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 239
++	unaryOperator	goto 92
++	initializer	goto 238
++	strings	goto 90
++
++	.	error
++
++
++state 134:
++
++	notypeInitDeclaratorList : notypeInitDeclaratorList COMMA . initDeclarator 
++
++	LPAREN	shift 68
++	TIMES	shift 40
++	ID	shift 39
++	TYPE_NAME	shift 67
++
++	initDeclarator	goto 241
++	pointer	goto 64
++	declarator	goto 89
++	aftertypeDeclarator	goto 62
++	notypeDeclarator	goto 61
++	aftertypeDirectDeclarator	goto 60
++	notypeDirectDeclarator	goto 16
++
++	.	error
++
++
++state 135:
++
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator LBRACE . RBRACE 
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator LBRACE . expr RBRACE 
++
++	LPAREN	shift 124
++	RBRACE	shift 243
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 242
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 136:
++
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN . RPAREN 
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN . parameterTypeList RPAREN 
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN . identlist RPAREN 
++
++	RPAREN	shift 246
++	ID	shift 150
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++	TYPE_NAME	shift 19
++
++	declarationSpecifiers	goto 149
++	declarationModifiers	goto 148
++	storageClassSpecifier	goto 13
++	typeSpecifier	goto 12
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 10
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	identlist	goto 245
++	parameterList	goto 146
++	parameterTypeList	goto 244
++	parameterDeclaration	goto 144
++	structOrUnion	goto 2
++
++	.	error
++
++
++state 137:
++
++	initDeclarator : declarator EQUALS . initializer 
++
++	LPAREN	shift 124
++	LCURLY	shift 240
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 239
++	unaryOperator	goto 92
++	initializer	goto 247
++	strings	goto 90
++
++	.	error
++
++
++state 138:
++
++	aftertypeDeclarator : pointer aftertypeDirectDeclarator .  (reduce by rule 181)
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LBRACE RBRACE 
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LBRACE expr RBRACE 
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN RPAREN 
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN parameterTypeList RPAREN 
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN identlist RPAREN 
++
++	LPAREN	shift 136
++	LBRACE	shift 135
++
++
++	.	reduce by rule 181
++
++
++state 139:
++
++	initDeclaratorList : initDeclaratorList COMMA . initDeclarator 
++
++	LPAREN	shift 68
++	TIMES	shift 40
++	ID	shift 39
++	TYPE_NAME	shift 67
++
++	initDeclarator	goto 248
++	pointer	goto 64
++	declarator	goto 89
++	aftertypeDeclarator	goto 62
++	notypeDeclarator	goto 61
++	aftertypeDirectDeclarator	goto 60
++	notypeDirectDeclarator	goto 16
++
++	.	error
++
++
++state 140:
++
++	aftertypeDirectDeclarator : LPAREN aftertypeDeclarator . RPAREN 
++
++	RPAREN	shift 249
++
++
++	.	error
++
++
++state 141:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	notypeDirectDeclarator : notypeDirectDeclarator LBRACE expr . RBRACE 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	RBRACE	shift 250
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	error
++
++
++state 142:
++
++	expr : ID .  (reduce by rule 87)
++
++
++
++	.	reduce by rule 87
++
++
++state 143:
++
++	notypeDirectDeclarator : notypeDirectDeclarator LBRACE RBRACE .  (reduce by rule 199)
++
++
++
++	.	reduce by rule 199
++
++
++state 144:
++
++	parameterList : parameterDeclaration .  (reduce by rule 237)
++
++
++
++	.	reduce by rule 237
++
++
++state 145:
++
++	notypeDirectDeclarator : notypeDirectDeclarator LPAREN parameterTypeList . RPAREN 
++
++	RPAREN	shift 251
++
++
++	.	error
++
++
++state 146:
++
++	parameterList : parameterList . COMMA parameterDeclaration 
++	parameterTypeList : parameterList .  (reduce by rule 235)
++	parameterTypeList : parameterList . COMMA ELIPSIS 
++
++	COMMA	shift 252
++
++
++	.	reduce by rule 235
++
++
++state 147:
++
++	notypeDirectDeclarator : notypeDirectDeclarator LPAREN identlist . RPAREN 
++	identlist : identlist . COMMA ID 
++
++	RPAREN	shift 254
++	COMMA	shift 253
++
++
++	.	error
++
++
++state 148:
++
++	declarationSpecifiers : declarationModifiers . typeSpecifier reservedDeclarationSpecifier 
++	declarationModifiers : declarationModifiers . storageClassSpecifier 
++	declarationModifiers : declarationModifiers . typeQualifier 
++	parameterDeclaration : declarationModifiers . notypeDeclarator 
++	parameterDeclaration : declarationModifiers . abstractDeclarator 
++
++	LPAREN	shift 260
++	LBRACE	shift 259
++	TIMES	shift 40
++	ID	shift 39
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++	TYPE_NAME	shift 19
++
++	abstractDeclarator	goto 258
++	directAbstractDeclarator	goto 257
++	pointer	goto 256
++	notypeDeclarator	goto 255
++	notypeDirectDeclarator	goto 16
++	storageClassSpecifier	goto 56
++	typeSpecifier	goto 55
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 54
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	structOrUnion	goto 2
++
++	.	error
++
++
++state 149:
++
++	parameterDeclaration : declarationSpecifiers . notypeDeclarator 
++	parameterDeclaration : declarationSpecifiers . parmDeclarator 
++	parameterDeclaration : declarationSpecifiers .  (reduce by rule 241)
++	parameterDeclaration : declarationSpecifiers . abstractDeclarator 
++
++	LPAREN	shift 260
++	LBRACE	shift 259
++	TIMES	shift 40
++	ID	shift 39
++	TYPE_NAME	shift 266
++
++	abstractDeclarator	goto 265
++	directAbstractDeclarator	goto 257
++	pointer	goto 264
++	notypeDeclarator	goto 263
++	parmDeclarator	goto 262
++	notypeDirectDeclarator	goto 16
++	parmDirectDeclarator	goto 261
++
++	.	reduce by rule 241
++
++
++state 150:
++
++	identlist : ID .  (reduce by rule 216)
++
++
++
++	.	reduce by rule 216
++
++
++state 151:
++
++	notypeDirectDeclarator : notypeDirectDeclarator LPAREN RPAREN .  (reduce by rule 201)
++
++
++
++	.	reduce by rule 201
++
++
++state 152:
++
++	enumSpecifier : ENUM TYPE_NAME LCURLY . enumeratorList trailingComma RCURLY 
++
++	ID	shift 156
++
++	enumeratorList	goto 267
++	enumerator	goto 154
++
++	.	error
++
++
++state 153:
++
++	enumSpecifier : ENUM ID LCURLY . enumeratorList trailingComma RCURLY 
++
++	ID	shift 156
++
++	enumeratorList	goto 268
++	enumerator	goto 154
++
++	.	error
++
++
++state 154:
++
++	enumeratorList : enumerator .  (reduce by rule 160)
++
++
++
++	.	reduce by rule 160
++
++
++state 155:
++
++	enumeratorList : enumeratorList . COMMA enumerator 
++	enumSpecifier : ENUM LCURLY enumeratorList . trailingComma RCURLY 
++
++	COMMA	shift 270
++
++	trailingComma	goto 269
++
++	.	reduce by rule 168
++
++
++state 156:
++
++	enumerator : ID .  (reduce by rule 161)
++	enumerator : ID . EQUALS expr 
++
++	EQUALS	shift 271
++
++
++	.	reduce by rule 161
++
++
++state 157:
++
++	pointer : TIMES typeQualifierList pointer .  (reduce by rule 189)
++
++
++
++	.	reduce by rule 189
++
++
++state 158:
++
++	typeQualifierList : typeQualifier typeQualifierList .  (reduce by rule 117)
++
++
++
++	.	reduce by rule 117
++
++
++state 159:
++
++	notypeDirectDeclarator : LPAREN notypeDeclarator RPAREN .  (reduce by rule 198)
++
++
++
++	.	reduce by rule 198
++
++
++state 160:
++
++	structOrUnionSpecifier : structOrUnion TYPE_NAME LCURLY structDeclarationList . RCURLY 
++	structDeclarationList : structDeclarationList . structDeclaration 
++
++	RCURLY	shift 272
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPE_NAME	shift 19
++
++	typeSpecifier	goto 85
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 76
++	typeQualifierList	goto 84
++	specifierQualifierList	goto 83
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	structOrUnion	goto 2
++	structDeclaration	goto 162
++
++	.	error
++
++
++state 161:
++
++	structOrUnionSpecifier : structOrUnion ID LCURLY structDeclarationList . RCURLY 
++	structDeclarationList : structDeclarationList . structDeclaration 
++
++	RCURLY	shift 273
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPE_NAME	shift 19
++
++	typeSpecifier	goto 85
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 76
++	typeQualifierList	goto 84
++	specifierQualifierList	goto 83
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	structOrUnion	goto 2
++	structDeclaration	goto 162
++
++	.	error
++
++
++state 162:
++
++	structDeclarationList : structDeclarationList structDeclaration .  (reduce by rule 139)
++
++
++
++	.	reduce by rule 139
++
++
++state 163:
++
++	structOrUnionSpecifier : structOrUnion LCURLY structDeclarationList RCURLY .  (reduce by rule 131)
++
++
++
++	.	reduce by rule 131
++
++
++state 164:
++
++	structDeclaratorList : structDeclaratorList . COMMA structDeclarator 
++	structDeclaration : specifierQualifierList structDeclaratorList . SEMICOLON 
++
++	SEMICOLON	shift 275
++	COMMA	shift 274
++
++
++	.	error
++
++
++state 165:
++
++	structDeclaratorList : structDeclarator .  (reduce by rule 142)
++
++
++
++	.	reduce by rule 142
++
++
++state 166:
++
++	structDeclarator : declarator .  (reduce by rule 146)
++	structDeclarator : declarator . COLON expr 
++
++	COLON	shift 276
++
++
++	.	reduce by rule 146
++
++
++state 167:
++
++	structDeclarator : COLON . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 277
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 168:
++
++	notypeStructDeclaratorList : notypeStructDeclaratorList . COMMA structDeclarator 
++	structDeclaration : typeQualifierList notypeStructDeclaratorList . SEMICOLON 
++
++	SEMICOLON	shift 279
++	COMMA	shift 278
++
++
++	.	error
++
++
++state 169:
++
++	notypeStructDeclaratorList : notypeStructDeclarator .  (reduce by rule 144)
++
++
++
++	.	reduce by rule 144
++
++
++state 170:
++
++	specifierQualifierList : typeQualifierList typeSpecifier . reservedSpecifierQualifiers 
++
++
++	reservedSpecifierQualifiers	goto 280
++
++	.	reduce by rule 114
++
++
++state 171:
++
++	notypeStructDeclarator : notypeDeclarator .  (reduce by rule 149)
++	notypeStructDeclarator : notypeDeclarator . COLON expr 
++
++	COLON	shift 281
++
++
++	.	reduce by rule 149
++
++
++state 172:
++
++	notypeStructDeclarator : COLON . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 282
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 173:
++
++	reservedSpecifierQualifiers : reservedSpecifierQualifiers . specifierQualifierReserved 
++	specifierQualifierList : typeSpecifier reservedSpecifierQualifiers .  (reduce by rule 112)
++
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++
++	specifierQualifierReserved	goto 283
++	typeSpecifierReserved	goto 129
++	typeQualifier	goto 128
++	enumSpecifier	goto 127
++	structOrUnionSpecifier	goto 126
++	structOrUnion	goto 2
++
++	.	reduce by rule 112
++
++
++state 174:
++
++	compoundStatement : LCURLY pushScope declarationList . ostatementlist popScope RCURLY 
++	declarationList : declarationList . declaration 
++
++	SEMICOLON	shift 125
++	LPAREN	shift 124
++	LCURLY	shift 52
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 115
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	IF	shift 110
++	FOR	shift 109
++	DO	shift 108
++	SWITCH	shift 107
++	CASE	shift 106
++	DEFAULT	shift 105
++	WHILE	shift 104
++	RETURN	shift 103
++	BREAK	shift 102
++	CONTINUE	shift 101
++	GOTO	shift 100
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	SIZEOF	shift 99
++	TYPEDEF	shift 20
++	TYPE_NAME	shift 19
++
++	statement	goto 98
++	ostatementlist	goto 284
++	statementlist	goto 96
++	compoundStatement	goto 95
++	expr	goto 94
++	exprWComma	goto 93
++	unaryOperator	goto 92
++	declarationSpecifiers	goto 50
++	declarationModifiers	goto 49
++	storageClassSpecifier	goto 13
++	typeSpecifier	goto 12
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 10
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	declaration	goto 86
++	declaration1	goto 4
++	structOrUnion	goto 2
++	strings	goto 90
++
++	.	reduce by rule 27
++
++
++state 175:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : unaryOperator expr .  (reduce by rule 72)
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++
++
++	.	reduce by rule 72
++
++
++state 176:
++
++	exprWComma : exprWComma COMMA . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 285
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 177:
++
++	statement : exprWComma SEMICOLON .  (reduce by rule 20)
++
++
++
++	.	reduce by rule 20
++
++
++state 178:
++
++	expr : expr RSHIFT . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 286
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 179:
++
++	expr : expr LSHIFT . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 287
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 180:
++
++	expr : expr AND . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 288
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 181:
++
++	expr : expr OR . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 289
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 182:
++
++	expr : expr NEQ . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 290
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 183:
++
++	expr : expr EQ . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 291
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 184:
++
++	expr : expr GT . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 292
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 185:
++
++	expr : expr LT . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 293
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 186:
++
++	expr : expr GTE . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 294
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 187:
++
++	expr : expr LTE . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 295
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 188:
++
++	expr : expr RSHIFTEQUALS . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 296
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 189:
++
++	expr : expr LSHIFTEQUALS . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 297
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 190:
++
++	expr : expr ANDEQUALS . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 298
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 191:
++
++	expr : expr OREQUALS . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 299
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 192:
++
++	expr : expr DIVEQUALS . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 300
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 193:
++
++	expr : expr TIMESEQUALS . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 301
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 194:
++
++	expr : expr MODEQUALS . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 302
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 195:
++
++	expr : expr XOREQUALS . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 303
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 196:
++
++	expr : expr MINUSEQUALS . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 304
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 197:
++
++	expr : expr PLUSEQUALS . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 305
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 198:
++
++	expr : expr EQUALS . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 306
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 199:
++
++	expr : expr ARROW . ID 
++	expr : expr ARROW . TYPE_NAME 
++
++	ID	shift 308
++	TYPE_NAME	shift 307
++
++
++	.	error
++
++
++state 200:
++
++	expr : expr DEC .  (reduce by rule 69)
++
++
++
++	.	reduce by rule 69
++
++
++state 201:
++
++	expr : expr INC .  (reduce by rule 68)
++
++
++
++	.	reduce by rule 68
++
++
++state 202:
++
++	expr : expr TIMES . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 309
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 203:
++
++	expr : expr HAT . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 310
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 204:
++
++	expr : expr MINUS . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 311
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 205:
++
++	expr : expr PLUS . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 312
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 206:
++
++	expr : expr DIVIDE . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 313
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 207:
++
++	expr : expr BAR . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 314
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 208:
++
++	expr : expr AMP . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 315
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 209:
++
++	expr : expr PERCENT . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 316
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 210:
++
++	expr : expr QUESTION . exprWComma COLON expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 94
++	exprWComma	goto 317
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 211:
++
++	expr : expr DOT . ID 
++	expr : expr DOT . TYPE_NAME 
++
++	ID	shift 319
++	TYPE_NAME	shift 318
++
++
++	.	error
++
++
++state 212:
++
++	expr : expr LBRACE . exprWComma RBRACE 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 94
++	exprWComma	goto 320
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 213:
++
++	expr : expr LPAREN . RPAREN 
++	expr : expr LPAREN . argumentExprList RPAREN 
++
++	LPAREN	shift 124
++	RPAREN	shift 323
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 322
++	unaryOperator	goto 92
++	argumentExprList	goto 321
++	strings	goto 90
++
++	.	error
++
++
++state 214:
++
++	statementlist : statementlist statement .  (reduce by rule 29)
++
++
++
++	.	reduce by rule 29
++
++
++state 215:
++
++	compoundStatement : LCURLY ostatementlist RCURLY .  (reduce by rule 31)
++
++
++
++	.	reduce by rule 31
++
++
++state 216:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : SIZEOF expr .  (reduce by rule 73)
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++
++
++	.	reduce by rule 73
++
++
++state 217:
++
++	expr : LPAREN . typeName RPAREN expr 
++	expr : SIZEOF LPAREN . typeName RPAREN 
++	expr : LPAREN . exprWComma RPAREN 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	SIZEOF	shift 99
++	TYPE_NAME	shift 19
++
++	expr	goto 94
++	exprWComma	goto 237
++	unaryOperator	goto 92
++	typeName	goto 324
++	typeSpecifier	goto 85
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 76
++	typeQualifierList	goto 235
++	specifierQualifierList	goto 234
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	structOrUnion	goto 2
++	strings	goto 90
++
++	.	error
++
++
++state 218:
++
++	statement : GOTO ID . SEMICOLON 
++
++	SEMICOLON	shift 325
++
++
++	.	error
++
++
++state 219:
++
++	statement : CONTINUE SEMICOLON .  (reduce by rule 11)
++
++
++
++	.	reduce by rule 11
++
++
++state 220:
++
++	statement : BREAK SEMICOLON .  (reduce by rule 10)
++
++
++
++	.	reduce by rule 10
++
++
++state 221:
++
++	opExpr : exprWComma .  (reduce by rule 94)
++	exprWComma : exprWComma . COMMA expr 
++
++	COMMA	shift 176
++
++
++	.	reduce by rule 94
++
++
++state 222:
++
++	statement : RETURN opExpr . SEMICOLON 
++
++	SEMICOLON	shift 326
++
++
++	.	error
++
++
++state 223:
++
++	statement : WHILE LPAREN . exprWComma RPAREN statement 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 94
++	exprWComma	goto 327
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 224:
++
++	statement : DEFAULT COLON . statement 
++
++	SEMICOLON	shift 125
++	LPAREN	shift 124
++	LCURLY	shift 52
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 115
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	IF	shift 110
++	FOR	shift 109
++	DO	shift 108
++	SWITCH	shift 107
++	CASE	shift 106
++	DEFAULT	shift 105
++	WHILE	shift 104
++	RETURN	shift 103
++	BREAK	shift 102
++	CONTINUE	shift 101
++	GOTO	shift 100
++	SIZEOF	shift 99
++
++	statement	goto 328
++	compoundStatement	goto 95
++	expr	goto 94
++	exprWComma	goto 93
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 225:
++
++	statement : CASE exprWComma . COLON statement 
++	exprWComma : exprWComma . COMMA expr 
++
++	COLON	shift 329
++	COMMA	shift 176
++
++
++	.	error
++
++
++state 226:
++
++	statement : SWITCH LPAREN . exprWComma RPAREN statement 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 94
++	exprWComma	goto 330
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 227:
++
++	statement : DO statement . WHILE LPAREN exprWComma RPAREN SEMICOLON 
++
++	WHILE	shift 331
++
++
++	.	error
++
++
++state 228:
++
++	statement : FOR LPAREN . opExpr SEMICOLON opExpr SEMICOLON opExpr RPAREN statement 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 94
++	opExpr	goto 332
++	exprWComma	goto 221
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	reduce by rule 93
++
++
++state 229:
++
++	statement : IF LPAREN . exprWComma RPAREN statement 
++	statement : IF LPAREN . exprWComma RPAREN statement ELSE statement 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 94
++	exprWComma	goto 333
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 230:
++
++	strings : STRING strings .  (reduce by rule 90)
++
++
++
++	.	reduce by rule 90
++
++
++state 231:
++
++	statement : ID COLON . statement 
++
++	SEMICOLON	shift 125
++	LPAREN	shift 124
++	LCURLY	shift 52
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 115
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	IF	shift 110
++	FOR	shift 109
++	DO	shift 108
++	SWITCH	shift 107
++	CASE	shift 106
++	DEFAULT	shift 105
++	WHILE	shift 104
++	RETURN	shift 103
++	BREAK	shift 102
++	CONTINUE	shift 101
++	GOTO	shift 100
++	SIZEOF	shift 99
++
++	statement	goto 334
++	compoundStatement	goto 95
++	expr	goto 94
++	exprWComma	goto 93
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 232:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : DEC expr .  (reduce by rule 71)
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++
++
++	.	reduce by rule 71
++
++
++state 233:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : INC expr .  (reduce by rule 70)
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++
++
++	.	reduce by rule 70
++
++
++state 234:
++
++	typeName : specifierQualifierList .  (reduce by rule 97)
++	typeName : specifierQualifierList . abstractDeclarator 
++
++	LPAREN	shift 337
++	LBRACE	shift 259
++	TIMES	shift 40
++
++	abstractDeclarator	goto 336
++	directAbstractDeclarator	goto 257
++	pointer	goto 335
++
++	.	reduce by rule 97
++
++
++state 235:
++
++	specifierQualifierList : typeQualifierList . typeSpecifier reservedSpecifierQualifiers 
++
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPE_NAME	shift 19
++
++	typeSpecifier	goto 170
++	typeSpecifierReserved	goto 11
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	structOrUnion	goto 2
++
++	.	error
++
++
++state 236:
++
++	expr : LPAREN typeName . RPAREN expr 
++
++	RPAREN	shift 338
++
++
++	.	error
++
++
++state 237:
++
++	expr : LPAREN exprWComma . RPAREN 
++	exprWComma : exprWComma . COMMA expr 
++
++	RPAREN	shift 339
++	COMMA	shift 176
++
++
++	.	error
++
++
++state 238:
++
++	notypeInitDeclarator : notypeDeclarator EQUALS initializer .  (reduce by rule 177)
++
++
++
++	.	reduce by rule 177
++
++
++state 239:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	initializer : expr .  (reduce by rule 210)
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 210
++
++
++state 240:
++
++	initializer : LCURLY . initializerList trailingComma RCURLY 
++
++	LPAREN	shift 124
++	LCURLY	shift 240
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 239
++	unaryOperator	goto 92
++	initializer	goto 341
++	initializerList	goto 340
++	strings	goto 90
++
++	.	error
++
++
++state 241:
++
++	notypeInitDeclaratorList : notypeInitDeclaratorList COMMA initDeclarator .  (reduce by rule 175)
++
++
++
++	.	reduce by rule 175
++
++
++state 242:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator LBRACE expr . RBRACE 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	RBRACE	shift 342
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	error
++
++
++state 243:
++
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator LBRACE RBRACE .  (reduce by rule 192)
++
++
++
++	.	reduce by rule 192
++
++
++state 244:
++
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN parameterTypeList . RPAREN 
++
++	RPAREN	shift 343
++
++
++	.	error
++
++
++state 245:
++
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN identlist . RPAREN 
++	identlist : identlist . COMMA ID 
++
++	RPAREN	shift 344
++	COMMA	shift 253
++
++
++	.	error
++
++
++state 246:
++
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN RPAREN .  (reduce by rule 194)
++
++
++
++	.	reduce by rule 194
++
++
++state 247:
++
++	initDeclarator : declarator EQUALS initializer .  (reduce by rule 173)
++
++
++
++	.	reduce by rule 173
++
++
++state 248:
++
++	initDeclaratorList : initDeclaratorList COMMA initDeclarator .  (reduce by rule 171)
++
++
++
++	.	reduce by rule 171
++
++
++state 249:
++
++	aftertypeDirectDeclarator : LPAREN aftertypeDeclarator RPAREN .  (reduce by rule 191)
++
++
++
++	.	reduce by rule 191
++
++
++state 250:
++
++	notypeDirectDeclarator : notypeDirectDeclarator LBRACE expr RBRACE .  (reduce by rule 200)
++
++
++
++	.	reduce by rule 200
++
++
++state 251:
++
++	notypeDirectDeclarator : notypeDirectDeclarator LPAREN parameterTypeList RPAREN .  (reduce by rule 202)
++
++
++
++	.	reduce by rule 202
++
++
++state 252:
++
++	parameterList : parameterList COMMA . parameterDeclaration 
++	parameterTypeList : parameterList COMMA . ELIPSIS 
++
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++	ELIPSIS	shift 346
++	TYPE_NAME	shift 19
++
++	declarationSpecifiers	goto 149
++	declarationModifiers	goto 148
++	storageClassSpecifier	goto 13
++	typeSpecifier	goto 12
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 10
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	parameterDeclaration	goto 345
++	structOrUnion	goto 2
++
++	.	error
++
++
++state 253:
++
++	identlist : identlist COMMA . ID 
++
++	ID	shift 347
++
++
++	.	error
++
++
++state 254:
++
++	notypeDirectDeclarator : notypeDirectDeclarator LPAREN identlist RPAREN .  (reduce by rule 203)
++
++
++
++	.	reduce by rule 203
++
++
++state 255:
++
++	parameterDeclaration : declarationModifiers notypeDeclarator .  (reduce by rule 243)
++
++
++
++	.	reduce by rule 243
++
++
++state 256:
++
++	abstractDeclarator : pointer .  (reduce by rule 223)
++	abstractDeclarator : pointer . directAbstractDeclarator 
++	notypeDeclarator : pointer . notypeDirectDeclarator 
++
++	LPAREN	shift 260
++	LBRACE	shift 259
++	ID	shift 39
++
++	directAbstractDeclarator	goto 348
++	notypeDirectDeclarator	goto 71
++
++	.	reduce by rule 223
++
++
++state 257:
++
++	abstractDeclarator : directAbstractDeclarator .  (reduce by rule 224)
++	directAbstractDeclarator : directAbstractDeclarator . LBRACE RBRACE 
++	directAbstractDeclarator : directAbstractDeclarator . LBRACE expr RBRACE 
++	directAbstractDeclarator : directAbstractDeclarator . LPAREN RPAREN 
++	directAbstractDeclarator : directAbstractDeclarator . LPAREN parameterTypeList RPAREN 
++
++	LPAREN	shift 350
++	LBRACE	shift 349
++
++
++	.	reduce by rule 224
++
++
++state 258:
++
++	parameterDeclaration : declarationModifiers abstractDeclarator .  (reduce by rule 244)
++
++
++
++	.	reduce by rule 244
++
++
++state 259:
++
++	directAbstractDeclarator : LBRACE . RBRACE 
++	directAbstractDeclarator : LBRACE . expr RBRACE 
++
++	LPAREN	shift 124
++	RBRACE	shift 352
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 351
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 260:
++
++	directAbstractDeclarator : LPAREN . abstractDeclarator RPAREN 
++	directAbstractDeclarator : LPAREN . RPAREN 
++	directAbstractDeclarator : LPAREN . parameterTypeList RPAREN 
++	notypeDirectDeclarator : LPAREN . notypeDeclarator RPAREN 
++
++	LPAREN	shift 260
++	RPAREN	shift 355
++	LBRACE	shift 259
++	TIMES	shift 40
++	ID	shift 39
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++	TYPE_NAME	shift 19
++
++	abstractDeclarator	goto 354
++	directAbstractDeclarator	goto 257
++	pointer	goto 256
++	notypeDeclarator	goto 78
++	notypeDirectDeclarator	goto 16
++	declarationSpecifiers	goto 149
++	declarationModifiers	goto 148
++	storageClassSpecifier	goto 13
++	typeSpecifier	goto 12
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 10
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	parameterList	goto 146
++	parameterTypeList	goto 353
++	parameterDeclaration	goto 144
++	structOrUnion	goto 2
++
++	.	error
++
++
++state 261:
++
++	parmDeclarator : parmDirectDeclarator .  (reduce by rule 184)
++	parmDirectDeclarator : parmDirectDeclarator . LBRACE RBRACE 
++	parmDirectDeclarator : parmDirectDeclarator . LBRACE expr RBRACE 
++	parmDirectDeclarator : parmDirectDeclarator . LPAREN RPAREN 
++	parmDirectDeclarator : parmDirectDeclarator . LPAREN parameterTypeList RPAREN 
++	parmDirectDeclarator : parmDirectDeclarator . LPAREN identlist RPAREN 
++
++	LPAREN	shift 357
++	LBRACE	shift 356
++
++
++	.	reduce by rule 184
++
++
++state 262:
++
++	parameterDeclaration : declarationSpecifiers parmDeclarator .  (reduce by rule 240)
++
++
++
++	.	reduce by rule 240
++
++
++state 263:
++
++	parameterDeclaration : declarationSpecifiers notypeDeclarator .  (reduce by rule 239)
++
++
++
++	.	reduce by rule 239
++
++
++state 264:
++
++	abstractDeclarator : pointer .  (reduce by rule 223)
++	abstractDeclarator : pointer . directAbstractDeclarator 
++	notypeDeclarator : pointer . notypeDirectDeclarator 
++	parmDeclarator : pointer . parmDirectDeclarator 
++
++	LPAREN	shift 260
++	LBRACE	shift 259
++	ID	shift 39
++	TYPE_NAME	shift 266
++
++	directAbstractDeclarator	goto 348
++	notypeDirectDeclarator	goto 71
++	parmDirectDeclarator	goto 358
++
++	.	reduce by rule 223
++
++
++state 265:
++
++	parameterDeclaration : declarationSpecifiers abstractDeclarator .  (reduce by rule 242)
++
++
++
++	.	reduce by rule 242
++
++
++state 266:
++
++	parmDirectDeclarator : TYPE_NAME .  (reduce by rule 204)
++
++
++
++	.	reduce by rule 204
++
++
++state 267:
++
++	enumeratorList : enumeratorList . COMMA enumerator 
++	enumSpecifier : ENUM TYPE_NAME LCURLY enumeratorList . trailingComma RCURLY 
++
++	COMMA	shift 270
++
++	trailingComma	goto 359
++
++	.	reduce by rule 168
++
++
++state 268:
++
++	enumeratorList : enumeratorList . COMMA enumerator 
++	enumSpecifier : ENUM ID LCURLY enumeratorList . trailingComma RCURLY 
++
++	COMMA	shift 270
++
++	trailingComma	goto 360
++
++	.	reduce by rule 168
++
++
++state 269:
++
++	enumSpecifier : ENUM LCURLY enumeratorList trailingComma . RCURLY 
++
++	RCURLY	shift 361
++
++
++	.	error
++
++
++state 270:
++
++	trailingComma : COMMA .  (reduce by rule 169)
++	enumeratorList : enumeratorList COMMA . enumerator 
++
++	ID	shift 156
++
++	enumerator	goto 362
++
++	.	reduce by rule 169
++
++
++state 271:
++
++	enumerator : ID EQUALS . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 363
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 272:
++
++	structOrUnionSpecifier : structOrUnion TYPE_NAME LCURLY structDeclarationList RCURLY .  (reduce by rule 133)
++
++
++
++	.	reduce by rule 133
++
++
++state 273:
++
++	structOrUnionSpecifier : structOrUnion ID LCURLY structDeclarationList RCURLY .  (reduce by rule 132)
++
++
++
++	.	reduce by rule 132
++
++
++state 274:
++
++	structDeclaratorList : structDeclaratorList COMMA . structDeclarator 
++
++	COLON	shift 167
++	LPAREN	shift 68
++	TIMES	shift 40
++	ID	shift 39
++	TYPE_NAME	shift 67
++
++	pointer	goto 64
++	declarator	goto 166
++	aftertypeDeclarator	goto 62
++	notypeDeclarator	goto 61
++	aftertypeDirectDeclarator	goto 60
++	notypeDirectDeclarator	goto 16
++	structDeclarator	goto 364
++
++	.	error
++
++
++state 275:
++
++	structDeclaration : specifierQualifierList structDeclaratorList SEMICOLON .  (reduce by rule 140)
++
++
++
++	.	reduce by rule 140
++
++
++state 276:
++
++	structDeclarator : declarator COLON . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 365
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 277:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	structDeclarator : COLON expr .  (reduce by rule 147)
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 147
++
++
++state 278:
++
++	notypeStructDeclaratorList : notypeStructDeclaratorList COMMA . structDeclarator 
++
++	COLON	shift 167
++	LPAREN	shift 68
++	TIMES	shift 40
++	ID	shift 39
++	TYPE_NAME	shift 67
++
++	pointer	goto 64
++	declarator	goto 166
++	aftertypeDeclarator	goto 62
++	notypeDeclarator	goto 61
++	aftertypeDirectDeclarator	goto 60
++	notypeDirectDeclarator	goto 16
++	structDeclarator	goto 366
++
++	.	error
++
++
++state 279:
++
++	structDeclaration : typeQualifierList notypeStructDeclaratorList SEMICOLON .  (reduce by rule 141)
++
++
++
++	.	reduce by rule 141
++
++
++state 280:
++
++	reservedSpecifierQualifiers : reservedSpecifierQualifiers . specifierQualifierReserved 
++	specifierQualifierList : typeQualifierList typeSpecifier reservedSpecifierQualifiers .  (reduce by rule 113)
++
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++
++	specifierQualifierReserved	goto 283
++	typeSpecifierReserved	goto 129
++	typeQualifier	goto 128
++	enumSpecifier	goto 127
++	structOrUnionSpecifier	goto 126
++	structOrUnion	goto 2
++
++	.	reduce by rule 113
++
++
++state 281:
++
++	notypeStructDeclarator : notypeDeclarator COLON . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 367
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 282:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	notypeStructDeclarator : COLON expr .  (reduce by rule 150)
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 150
++
++
++state 283:
++
++	reservedSpecifierQualifiers : reservedSpecifierQualifiers specifierQualifierReserved .  (reduce by rule 115)
++
++
++
++	.	reduce by rule 115
++
++
++state 284:
++
++	compoundStatement : LCURLY pushScope declarationList ostatementlist . popScope RCURLY 
++
++
++	popScope	goto 368
++
++	.	reduce by rule 246
++
++
++state 285:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	exprWComma : exprWComma COMMA expr .  (reduce by rule 92)
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 92
++
++
++state 286:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr RSHIFT expr .  (reduce by rule 62)
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++
++
++	.	reduce by rule 62
++
++
++state 287:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr LSHIFT expr .  (reduce by rule 61)
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++
++
++	.	reduce by rule 61
++
++
++state 288:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr AND expr .  (reduce by rule 51)
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 51
++
++
++state 289:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr OR expr .  (reduce by rule 50)
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 50
++
++
++state 290:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr NEQ expr .  (reduce by rule 56)
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 56
++
++
++state 291:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr EQ expr .  (reduce by rule 55)
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 55
++
++
++state 292:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr GT expr .  (reduce by rule 58)
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 58
++
++
++state 293:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr LT expr .  (reduce by rule 57)
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 57
++
++
++state 294:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr GTE expr .  (reduce by rule 60)
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 60
++
++
++state 295:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr LTE expr .  (reduce by rule 59)
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 59
++
++
++state 296:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr RSHIFTEQUALS expr .  (reduce by rule 48)
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 48
++
++
++state 297:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr LSHIFTEQUALS expr .  (reduce by rule 47)
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 47
++
++
++state 298:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr ANDEQUALS expr .  (reduce by rule 46)
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 46
++
++
++state 299:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr OREQUALS expr .  (reduce by rule 45)
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 45
++
++
++state 300:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr DIVEQUALS expr .  (reduce by rule 42)
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 42
++
++
++state 301:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr TIMESEQUALS expr .  (reduce by rule 41)
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 41
++
++
++state 302:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr MODEQUALS expr .  (reduce by rule 43)
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 43
++
++
++state 303:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr XOREQUALS expr .  (reduce by rule 44)
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 44
++
++
++state 304:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr MINUSEQUALS expr .  (reduce by rule 40)
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 40
++
++
++state 305:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr PLUSEQUALS expr .  (reduce by rule 39)
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 39
++
++
++state 306:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr EQUALS expr .  (reduce by rule 49)
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 49
++
++
++state 307:
++
++	expr : expr ARROW TYPE_NAME .  (reduce by rule 82)
++
++
++
++	.	reduce by rule 82
++
++
++state 308:
++
++	expr : expr ARROW ID .  (reduce by rule 80)
++
++
++
++	.	reduce by rule 80
++
++
++state 309:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr TIMES expr .  (reduce by rule 65)
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++
++
++	.	reduce by rule 65
++
++
++state 310:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr HAT expr .  (reduce by rule 53)
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	AMP	shift 208
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 53
++
++
++state 311:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr MINUS expr .  (reduce by rule 64)
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	DIVIDE	shift 206
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++
++
++	.	reduce by rule 64
++
++
++state 312:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr PLUS expr .  (reduce by rule 63)
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	DIVIDE	shift 206
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++
++
++	.	reduce by rule 63
++
++
++state 313:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr DIVIDE expr .  (reduce by rule 66)
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++
++
++	.	reduce by rule 66
++
++
++state 314:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr BAR expr .  (reduce by rule 52)
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	AMP	shift 208
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 52
++
++
++state 315:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr AMP expr .  (reduce by rule 54)
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	PERCENT	shift 209
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 54
++
++
++state 316:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr PERCENT expr .  (reduce by rule 67)
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++
++
++	.	reduce by rule 67
++
++
++state 317:
++
++	expr : expr QUESTION exprWComma . COLON expr 
++	exprWComma : exprWComma . COMMA expr 
++
++	COLON	shift 369
++	COMMA	shift 176
++
++
++	.	error
++
++
++state 318:
++
++	expr : expr DOT TYPE_NAME .  (reduce by rule 81)
++
++
++
++	.	reduce by rule 81
++
++
++state 319:
++
++	expr : expr DOT ID .  (reduce by rule 79)
++
++
++
++	.	reduce by rule 79
++
++
++state 320:
++
++	expr : expr LBRACE exprWComma . RBRACE 
++	exprWComma : exprWComma . COMMA expr 
++
++	RBRACE	shift 370
++	COMMA	shift 176
++
++
++	.	error
++
++
++state 321:
++
++	expr : expr LPAREN argumentExprList . RPAREN 
++	argumentExprList : argumentExprList . COMMA expr 
++
++	RPAREN	shift 372
++	COMMA	shift 371
++
++
++	.	error
++
++
++state 322:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	argumentExprList : expr .  (reduce by rule 95)
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 95
++
++
++state 323:
++
++	expr : expr LPAREN RPAREN .  (reduce by rule 77)
++
++
++
++	.	reduce by rule 77
++
++
++state 324:
++
++	expr : LPAREN typeName . RPAREN expr 
++	expr : SIZEOF LPAREN typeName . RPAREN 
++
++	RPAREN	shift 373
++
++
++	.	error
++
++
++state 325:
++
++	statement : GOTO ID SEMICOLON .  (reduce by rule 13)
++
++
++
++	.	reduce by rule 13
++
++
++state 326:
++
++	statement : RETURN opExpr SEMICOLON .  (reduce by rule 12)
++
++
++
++	.	reduce by rule 12
++
++
++state 327:
++
++	statement : WHILE LPAREN exprWComma . RPAREN statement 
++	exprWComma : exprWComma . COMMA expr 
++
++	RPAREN	shift 374
++	COMMA	shift 176
++
++
++	.	error
++
++
++state 328:
++
++	statement : DEFAULT COLON statement .  (reduce by rule 16)
++
++
++
++	.	reduce by rule 16
++
++
++state 329:
++
++	statement : CASE exprWComma COLON . statement 
++
++	SEMICOLON	shift 125
++	LPAREN	shift 124
++	LCURLY	shift 52
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 115
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	IF	shift 110
++	FOR	shift 109
++	DO	shift 108
++	SWITCH	shift 107
++	CASE	shift 106
++	DEFAULT	shift 105
++	WHILE	shift 104
++	RETURN	shift 103
++	BREAK	shift 102
++	CONTINUE	shift 101
++	GOTO	shift 100
++	SIZEOF	shift 99
++
++	statement	goto 375
++	compoundStatement	goto 95
++	expr	goto 94
++	exprWComma	goto 93
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 330:
++
++	statement : SWITCH LPAREN exprWComma . RPAREN statement 
++	exprWComma : exprWComma . COMMA expr 
++
++	RPAREN	shift 376
++	COMMA	shift 176
++
++
++	.	error
++
++
++state 331:
++
++	statement : DO statement WHILE . LPAREN exprWComma RPAREN SEMICOLON 
++
++	LPAREN	shift 377
++
++
++	.	error
++
++
++state 332:
++
++	statement : FOR LPAREN opExpr . SEMICOLON opExpr SEMICOLON opExpr RPAREN statement 
++
++	SEMICOLON	shift 378
++
++
++	.	error
++
++
++state 333:
++
++	statement : IF LPAREN exprWComma . RPAREN statement 
++	statement : IF LPAREN exprWComma . RPAREN statement ELSE statement 
++	exprWComma : exprWComma . COMMA expr 
++
++	RPAREN	shift 379
++	COMMA	shift 176
++
++
++	.	error
++
++
++state 334:
++
++	statement : ID COLON statement .  (reduce by rule 15)
++
++
++
++	.	reduce by rule 15
++
++
++state 335:
++
++	abstractDeclarator : pointer .  (reduce by rule 223)
++	abstractDeclarator : pointer . directAbstractDeclarator 
++
++	LPAREN	shift 337
++	LBRACE	shift 259
++
++	directAbstractDeclarator	goto 348
++
++	.	reduce by rule 223
++
++
++state 336:
++
++	typeName : specifierQualifierList abstractDeclarator .  (reduce by rule 98)
++
++
++
++	.	reduce by rule 98
++
++
++state 337:
++
++	directAbstractDeclarator : LPAREN . abstractDeclarator RPAREN 
++	directAbstractDeclarator : LPAREN . RPAREN 
++	directAbstractDeclarator : LPAREN . parameterTypeList RPAREN 
++
++	LPAREN	shift 337
++	RPAREN	shift 355
++	LBRACE	shift 259
++	TIMES	shift 40
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++	TYPE_NAME	shift 19
++
++	abstractDeclarator	goto 354
++	directAbstractDeclarator	goto 257
++	pointer	goto 335
++	declarationSpecifiers	goto 149
++	declarationModifiers	goto 148
++	storageClassSpecifier	goto 13
++	typeSpecifier	goto 12
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 10
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	parameterList	goto 146
++	parameterTypeList	goto 353
++	parameterDeclaration	goto 144
++	structOrUnion	goto 2
++
++	.	error
++
++
++state 338:
++
++	expr : LPAREN typeName RPAREN . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 380
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 339:
++
++	expr : LPAREN exprWComma RPAREN .  (reduce by rule 83)
++
++
++
++	.	reduce by rule 83
++
++
++state 340:
++
++	initializer : LCURLY initializerList . trailingComma RCURLY 
++	initializerList : initializerList . COMMA initializer 
++
++	COMMA	shift 382
++
++	trailingComma	goto 381
++
++	.	reduce by rule 168
++
++
++state 341:
++
++	initializerList : initializer .  (reduce by rule 212)
++
++
++
++	.	reduce by rule 212
++
++
++state 342:
++
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator LBRACE expr RBRACE .  (reduce by rule 193)
++
++
++
++	.	reduce by rule 193
++
++
++state 343:
++
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN parameterTypeList RPAREN .  (reduce by rule 195)
++
++
++
++	.	reduce by rule 195
++
++
++state 344:
++
++	aftertypeDirectDeclarator : aftertypeDirectDeclarator LPAREN identlist RPAREN .  (reduce by rule 196)
++
++
++
++	.	reduce by rule 196
++
++
++state 345:
++
++	parameterList : parameterList COMMA parameterDeclaration .  (reduce by rule 238)
++
++
++
++	.	reduce by rule 238
++
++
++state 346:
++
++	parameterTypeList : parameterList COMMA ELIPSIS .  (reduce by rule 236)
++
++
++
++	.	reduce by rule 236
++
++
++state 347:
++
++	identlist : identlist COMMA ID .  (reduce by rule 217)
++
++
++
++	.	reduce by rule 217
++
++
++state 348:
++
++	abstractDeclarator : pointer directAbstractDeclarator .  (reduce by rule 225)
++	directAbstractDeclarator : directAbstractDeclarator . LBRACE RBRACE 
++	directAbstractDeclarator : directAbstractDeclarator . LBRACE expr RBRACE 
++	directAbstractDeclarator : directAbstractDeclarator . LPAREN RPAREN 
++	directAbstractDeclarator : directAbstractDeclarator . LPAREN parameterTypeList RPAREN 
++
++	LPAREN	shift 350
++	LBRACE	shift 349
++
++
++	.	reduce by rule 225
++
++
++state 349:
++
++	directAbstractDeclarator : directAbstractDeclarator LBRACE . RBRACE 
++	directAbstractDeclarator : directAbstractDeclarator LBRACE . expr RBRACE 
++
++	LPAREN	shift 124
++	RBRACE	shift 384
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 383
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 350:
++
++	directAbstractDeclarator : directAbstractDeclarator LPAREN . RPAREN 
++	directAbstractDeclarator : directAbstractDeclarator LPAREN . parameterTypeList RPAREN 
++
++	RPAREN	shift 386
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++	TYPE_NAME	shift 19
++
++	declarationSpecifiers	goto 149
++	declarationModifiers	goto 148
++	storageClassSpecifier	goto 13
++	typeSpecifier	goto 12
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 10
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	parameterList	goto 146
++	parameterTypeList	goto 385
++	parameterDeclaration	goto 144
++	structOrUnion	goto 2
++
++	.	error
++
++
++state 351:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	directAbstractDeclarator : LBRACE expr . RBRACE 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	RBRACE	shift 387
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	error
++
++
++state 352:
++
++	directAbstractDeclarator : LBRACE RBRACE .  (reduce by rule 227)
++
++
++
++	.	reduce by rule 227
++
++
++state 353:
++
++	directAbstractDeclarator : LPAREN parameterTypeList . RPAREN 
++
++	RPAREN	shift 388
++
++
++	.	error
++
++
++state 354:
++
++	directAbstractDeclarator : LPAREN abstractDeclarator . RPAREN 
++
++	RPAREN	shift 389
++
++
++	.	error
++
++
++state 355:
++
++	directAbstractDeclarator : LPAREN RPAREN .  (reduce by rule 231)
++
++
++
++	.	reduce by rule 231
++
++
++state 356:
++
++	parmDirectDeclarator : parmDirectDeclarator LBRACE . RBRACE 
++	parmDirectDeclarator : parmDirectDeclarator LBRACE . expr RBRACE 
++
++	LPAREN	shift 124
++	RBRACE	shift 391
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 390
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 357:
++
++	parmDirectDeclarator : parmDirectDeclarator LPAREN . RPAREN 
++	parmDirectDeclarator : parmDirectDeclarator LPAREN . parameterTypeList RPAREN 
++	parmDirectDeclarator : parmDirectDeclarator LPAREN . identlist RPAREN 
++
++	RPAREN	shift 394
++	ID	shift 150
++	EXTERN	shift 38
++	AUTO	shift 37
++	STATIC	shift 36
++	REGISTER	shift 35
++	CONST	shift 34
++	VOLATILE	shift 33
++	CHAR	shift 32
++	DOUBLE	shift 31
++	ENUM	shift 30
++	FLOAT	shift 29
++	INT	shift 28
++	LONG	shift 27
++	SHORT	shift 26
++	STRUCT	shift 25
++	UNION	shift 24
++	UNSIGNED	shift 23
++	SIGNED	shift 22
++	VOID	shift 21
++	TYPEDEF	shift 20
++	TYPE_NAME	shift 19
++
++	declarationSpecifiers	goto 149
++	declarationModifiers	goto 148
++	storageClassSpecifier	goto 13
++	typeSpecifier	goto 12
++	typeSpecifierReserved	goto 11
++	typeQualifier	goto 10
++	enumSpecifier	goto 9
++	structOrUnionSpecifier	goto 8
++	identlist	goto 393
++	parameterList	goto 146
++	parameterTypeList	goto 392
++	parameterDeclaration	goto 144
++	structOrUnion	goto 2
++
++	.	error
++
++
++state 358:
++
++	parmDeclarator : pointer parmDirectDeclarator .  (reduce by rule 185)
++	parmDirectDeclarator : parmDirectDeclarator . LBRACE RBRACE 
++	parmDirectDeclarator : parmDirectDeclarator . LBRACE expr RBRACE 
++	parmDirectDeclarator : parmDirectDeclarator . LPAREN RPAREN 
++	parmDirectDeclarator : parmDirectDeclarator . LPAREN parameterTypeList RPAREN 
++	parmDirectDeclarator : parmDirectDeclarator . LPAREN identlist RPAREN 
++
++	LPAREN	shift 357
++	LBRACE	shift 356
++
++
++	.	reduce by rule 185
++
++
++state 359:
++
++	enumSpecifier : ENUM TYPE_NAME LCURLY enumeratorList trailingComma . RCURLY 
++
++	RCURLY	shift 395
++
++
++	.	error
++
++
++state 360:
++
++	enumSpecifier : ENUM ID LCURLY enumeratorList trailingComma . RCURLY 
++
++	RCURLY	shift 396
++
++
++	.	error
++
++
++state 361:
++
++	enumSpecifier : ENUM LCURLY enumeratorList trailingComma RCURLY .  (reduce by rule 154)
++
++
++
++	.	reduce by rule 154
++
++
++state 362:
++
++	enumeratorList : enumeratorList COMMA enumerator .  (reduce by rule 159)
++
++
++
++	.	reduce by rule 159
++
++
++state 363:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	enumerator : ID EQUALS expr .  (reduce by rule 162)
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 162
++
++
++state 364:
++
++	structDeclaratorList : structDeclaratorList COMMA structDeclarator .  (reduce by rule 143)
++
++
++
++	.	reduce by rule 143
++
++
++state 365:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	structDeclarator : declarator COLON expr .  (reduce by rule 148)
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 148
++
++
++state 366:
++
++	notypeStructDeclaratorList : notypeStructDeclaratorList COMMA structDeclarator .  (reduce by rule 145)
++
++
++
++	.	reduce by rule 145
++
++
++state 367:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	notypeStructDeclarator : notypeDeclarator COLON expr .  (reduce by rule 151)
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 151
++
++
++state 368:
++
++	compoundStatement : LCURLY pushScope declarationList ostatementlist popScope . RCURLY 
++
++	RCURLY	shift 397
++
++
++	.	error
++
++
++state 369:
++
++	expr : expr QUESTION exprWComma COLON . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 398
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 370:
++
++	expr : expr LBRACE exprWComma RBRACE .  (reduce by rule 76)
++
++
++
++	.	reduce by rule 76
++
++
++state 371:
++
++	argumentExprList : argumentExprList COMMA . expr 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 399
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 372:
++
++	expr : expr LPAREN argumentExprList RPAREN .  (reduce by rule 78)
++
++
++
++	.	reduce by rule 78
++
++
++state 373:
++
++	expr : LPAREN typeName RPAREN . expr 
++	expr : SIZEOF LPAREN typeName RPAREN .  (reduce by rule 75)
++
++	LPAREN	shift 124
++	TILDE	shift 122
++	BANG	shift 119
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 380
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	reduce by rule 75
++
++
++state 374:
++
++	statement : WHILE LPAREN exprWComma RPAREN . statement 
++
++	SEMICOLON	shift 125
++	LPAREN	shift 124
++	LCURLY	shift 52
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 115
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	IF	shift 110
++	FOR	shift 109
++	DO	shift 108
++	SWITCH	shift 107
++	CASE	shift 106
++	DEFAULT	shift 105
++	WHILE	shift 104
++	RETURN	shift 103
++	BREAK	shift 102
++	CONTINUE	shift 101
++	GOTO	shift 100
++	SIZEOF	shift 99
++
++	statement	goto 400
++	compoundStatement	goto 95
++	expr	goto 94
++	exprWComma	goto 93
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 375:
++
++	statement : CASE exprWComma COLON statement .  (reduce by rule 17)
++
++
++
++	.	reduce by rule 17
++
++
++state 376:
++
++	statement : SWITCH LPAREN exprWComma RPAREN . statement 
++
++	SEMICOLON	shift 125
++	LPAREN	shift 124
++	LCURLY	shift 52
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 115
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	IF	shift 110
++	FOR	shift 109
++	DO	shift 108
++	SWITCH	shift 107
++	CASE	shift 106
++	DEFAULT	shift 105
++	WHILE	shift 104
++	RETURN	shift 103
++	BREAK	shift 102
++	CONTINUE	shift 101
++	GOTO	shift 100
++	SIZEOF	shift 99
++
++	statement	goto 401
++	compoundStatement	goto 95
++	expr	goto 94
++	exprWComma	goto 93
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 377:
++
++	statement : DO statement WHILE LPAREN . exprWComma RPAREN SEMICOLON 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 94
++	exprWComma	goto 402
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 378:
++
++	statement : FOR LPAREN opExpr SEMICOLON . opExpr SEMICOLON opExpr RPAREN statement 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 94
++	opExpr	goto 403
++	exprWComma	goto 221
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	reduce by rule 93
++
++
++state 379:
++
++	statement : IF LPAREN exprWComma RPAREN . statement 
++	statement : IF LPAREN exprWComma RPAREN . statement ELSE statement 
++
++	SEMICOLON	shift 125
++	LPAREN	shift 124
++	LCURLY	shift 52
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 115
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	IF	shift 110
++	FOR	shift 109
++	DO	shift 108
++	SWITCH	shift 107
++	CASE	shift 106
++	DEFAULT	shift 105
++	WHILE	shift 104
++	RETURN	shift 103
++	BREAK	shift 102
++	CONTINUE	shift 101
++	GOTO	shift 100
++	SIZEOF	shift 99
++
++	statement	goto 404
++	compoundStatement	goto 95
++	expr	goto 94
++	exprWComma	goto 93
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 380:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : LPAREN typeName RPAREN expr .  (reduce by rule 74)
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++
++
++	.	reduce by rule 74
++
++
++state 381:
++
++	initializer : LCURLY initializerList trailingComma . RCURLY 
++
++	RCURLY	shift 405
++
++
++	.	error
++
++
++state 382:
++
++	trailingComma : COMMA .  (reduce by rule 169)
++	initializerList : initializerList COMMA . initializer 
++
++	LPAREN	shift 124
++	LCURLY	shift 240
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 239
++	unaryOperator	goto 92
++	initializer	goto 406
++	strings	goto 90
++
++	.	reduce by rule 169
++
++
++state 383:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	directAbstractDeclarator : directAbstractDeclarator LBRACE expr . RBRACE 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	RBRACE	shift 407
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	error
++
++
++state 384:
++
++	directAbstractDeclarator : directAbstractDeclarator LBRACE RBRACE .  (reduce by rule 229)
++
++
++
++	.	reduce by rule 229
++
++
++state 385:
++
++	directAbstractDeclarator : directAbstractDeclarator LPAREN parameterTypeList . RPAREN 
++
++	RPAREN	shift 408
++
++
++	.	error
++
++
++state 386:
++
++	directAbstractDeclarator : directAbstractDeclarator LPAREN RPAREN .  (reduce by rule 233)
++
++
++
++	.	reduce by rule 233
++
++
++state 387:
++
++	directAbstractDeclarator : LBRACE expr RBRACE .  (reduce by rule 228)
++
++
++
++	.	reduce by rule 228
++
++
++state 388:
++
++	directAbstractDeclarator : LPAREN parameterTypeList RPAREN .  (reduce by rule 232)
++
++
++
++	.	reduce by rule 232
++
++
++state 389:
++
++	directAbstractDeclarator : LPAREN abstractDeclarator RPAREN .  (reduce by rule 226)
++
++
++
++	.	reduce by rule 226
++
++
++state 390:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	parmDirectDeclarator : parmDirectDeclarator LBRACE expr . RBRACE 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	RBRACE	shift 409
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	error
++
++
++state 391:
++
++	parmDirectDeclarator : parmDirectDeclarator LBRACE RBRACE .  (reduce by rule 205)
++
++
++
++	.	reduce by rule 205
++
++
++state 392:
++
++	parmDirectDeclarator : parmDirectDeclarator LPAREN parameterTypeList . RPAREN 
++
++	RPAREN	shift 410
++
++
++	.	error
++
++
++state 393:
++
++	parmDirectDeclarator : parmDirectDeclarator LPAREN identlist . RPAREN 
++	identlist : identlist . COMMA ID 
++
++	RPAREN	shift 411
++	COMMA	shift 253
++
++
++	.	error
++
++
++state 394:
++
++	parmDirectDeclarator : parmDirectDeclarator LPAREN RPAREN .  (reduce by rule 207)
++
++
++
++	.	reduce by rule 207
++
++
++state 395:
++
++	enumSpecifier : ENUM TYPE_NAME LCURLY enumeratorList trailingComma RCURLY .  (reduce by rule 156)
++
++
++
++	.	reduce by rule 156
++
++
++state 396:
++
++	enumSpecifier : ENUM ID LCURLY enumeratorList trailingComma RCURLY .  (reduce by rule 155)
++
++
++
++	.	reduce by rule 155
++
++
++state 397:
++
++	compoundStatement : LCURLY pushScope declarationList ostatementlist popScope RCURLY .  (reduce by rule 30)
++
++
++
++	.	reduce by rule 30
++
++
++state 398:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr QUESTION exprWComma COLON expr .  (reduce by rule 38)
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 38
++
++
++state 399:
++
++	expr : expr . QUESTION exprWComma COLON expr 
++	expr : expr . PLUSEQUALS expr 
++	expr : expr . MINUSEQUALS expr 
++	expr : expr . TIMESEQUALS expr 
++	expr : expr . DIVEQUALS expr 
++	expr : expr . MODEQUALS expr 
++	expr : expr . XOREQUALS expr 
++	expr : expr . OREQUALS expr 
++	expr : expr . ANDEQUALS expr 
++	expr : expr . LSHIFTEQUALS expr 
++	expr : expr . RSHIFTEQUALS expr 
++	expr : expr . EQUALS expr 
++	expr : expr . OR expr 
++	expr : expr . AND expr 
++	expr : expr . BAR expr 
++	expr : expr . HAT expr 
++	expr : expr . AMP expr 
++	expr : expr . EQ expr 
++	expr : expr . NEQ expr 
++	expr : expr . LT expr 
++	expr : expr . GT expr 
++	expr : expr . LTE expr 
++	expr : expr . GTE expr 
++	expr : expr . LSHIFT expr 
++	expr : expr . RSHIFT expr 
++	expr : expr . PLUS expr 
++	expr : expr . MINUS expr 
++	expr : expr . TIMES expr 
++	expr : expr . DIVIDE expr 
++	expr : expr . PERCENT expr 
++	expr : expr . INC 
++	expr : expr . DEC 
++	expr : expr . LBRACE exprWComma RBRACE 
++	expr : expr . LPAREN RPAREN 
++	expr : expr . LPAREN argumentExprList RPAREN 
++	expr : expr . DOT ID 
++	expr : expr . ARROW ID 
++	expr : expr . DOT TYPE_NAME 
++	expr : expr . ARROW TYPE_NAME 
++	argumentExprList : argumentExprList COMMA expr .  (reduce by rule 96)
++
++	LPAREN	shift 213
++	LBRACE	shift 212
++	DOT	shift 211
++	QUESTION	shift 210
++	PERCENT	shift 209
++	AMP	shift 208
++	BAR	shift 207
++	DIVIDE	shift 206
++	PLUS	shift 205
++	MINUS	shift 204
++	HAT	shift 203
++	TIMES	shift 202
++	INC	shift 201
++	DEC	shift 200
++	ARROW	shift 199
++	EQUALS	shift 198
++	PLUSEQUALS	shift 197
++	MINUSEQUALS	shift 196
++	XOREQUALS	shift 195
++	MODEQUALS	shift 194
++	TIMESEQUALS	shift 193
++	DIVEQUALS	shift 192
++	OREQUALS	shift 191
++	ANDEQUALS	shift 190
++	LSHIFTEQUALS	shift 189
++	RSHIFTEQUALS	shift 188
++	LTE	shift 187
++	GTE	shift 186
++	LT	shift 185
++	GT	shift 184
++	EQ	shift 183
++	NEQ	shift 182
++	OR	shift 181
++	AND	shift 180
++	LSHIFT	shift 179
++	RSHIFT	shift 178
++
++
++	.	reduce by rule 96
++
++
++state 400:
++
++	statement : WHILE LPAREN exprWComma RPAREN statement .  (reduce by rule 7)
++
++
++
++	.	reduce by rule 7
++
++
++state 401:
++
++	statement : SWITCH LPAREN exprWComma RPAREN statement .  (reduce by rule 8)
++
++
++
++	.	reduce by rule 8
++
++
++state 402:
++
++	statement : DO statement WHILE LPAREN exprWComma . RPAREN SEMICOLON 
++	exprWComma : exprWComma . COMMA expr 
++
++	RPAREN	shift 412
++	COMMA	shift 176
++
++
++	.	error
++
++
++state 403:
++
++	statement : FOR LPAREN opExpr SEMICOLON opExpr . SEMICOLON opExpr RPAREN statement 
++
++	SEMICOLON	shift 413
++
++
++	.	error
++
++error:  state 404: shift/reduce conflict (shift ELSE, reduce by rule 18)
++
++state 404:
++
++	statement : IF LPAREN exprWComma RPAREN statement .  (reduce by rule 18)
++	statement : IF LPAREN exprWComma RPAREN statement . ELSE statement 
++
++	ELSE	shift 414
++
++
++	.	reduce by rule 18
++
++
++state 405:
++
++	initializer : LCURLY initializerList trailingComma RCURLY .  (reduce by rule 211)
++
++
++
++	.	reduce by rule 211
++
++
++state 406:
++
++	initializerList : initializerList COMMA initializer .  (reduce by rule 213)
++
++
++
++	.	reduce by rule 213
++
++
++state 407:
++
++	directAbstractDeclarator : directAbstractDeclarator LBRACE expr RBRACE .  (reduce by rule 230)
++
++
++
++	.	reduce by rule 230
++
++
++state 408:
++
++	directAbstractDeclarator : directAbstractDeclarator LPAREN parameterTypeList RPAREN .  (reduce by rule 234)
++
++
++
++	.	reduce by rule 234
++
++
++state 409:
++
++	parmDirectDeclarator : parmDirectDeclarator LBRACE expr RBRACE .  (reduce by rule 206)
++
++
++
++	.	reduce by rule 206
++
++
++state 410:
++
++	parmDirectDeclarator : parmDirectDeclarator LPAREN parameterTypeList RPAREN .  (reduce by rule 208)
++
++
++
++	.	reduce by rule 208
++
++
++state 411:
++
++	parmDirectDeclarator : parmDirectDeclarator LPAREN identlist RPAREN .  (reduce by rule 209)
++
++
++
++	.	reduce by rule 209
++
++
++state 412:
++
++	statement : DO statement WHILE LPAREN exprWComma RPAREN . SEMICOLON 
++
++	SEMICOLON	shift 415
++
++
++	.	error
++
++
++state 413:
++
++	statement : FOR LPAREN opExpr SEMICOLON opExpr SEMICOLON . opExpr RPAREN statement 
++
++	LPAREN	shift 124
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 142
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	SIZEOF	shift 99
++
++	expr	goto 94
++	opExpr	goto 416
++	exprWComma	goto 221
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	reduce by rule 93
++
++
++state 414:
++
++	statement : IF LPAREN exprWComma RPAREN statement ELSE . statement 
++
++	SEMICOLON	shift 125
++	LPAREN	shift 124
++	LCURLY	shift 52
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 115
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	IF	shift 110
++	FOR	shift 109
++	DO	shift 108
++	SWITCH	shift 107
++	CASE	shift 106
++	DEFAULT	shift 105
++	WHILE	shift 104
++	RETURN	shift 103
++	BREAK	shift 102
++	CONTINUE	shift 101
++	GOTO	shift 100
++	SIZEOF	shift 99
++
++	statement	goto 417
++	compoundStatement	goto 95
++	expr	goto 94
++	exprWComma	goto 93
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 415:
++
++	statement : DO statement WHILE LPAREN exprWComma RPAREN SEMICOLON .  (reduce by rule 9)
++
++
++
++	.	reduce by rule 9
++
++
++state 416:
++
++	statement : FOR LPAREN opExpr SEMICOLON opExpr SEMICOLON opExpr . RPAREN statement 
++
++	RPAREN	shift 418
++
++
++	.	error
++
++
++state 417:
++
++	statement : IF LPAREN exprWComma RPAREN statement ELSE statement .  (reduce by rule 19)
++
++
++
++	.	reduce by rule 19
++
++
++state 418:
++
++	statement : FOR LPAREN opExpr SEMICOLON opExpr SEMICOLON opExpr RPAREN . statement 
++
++	SEMICOLON	shift 125
++	LPAREN	shift 124
++	LCURLY	shift 52
++	AMP	shift 123
++	TILDE	shift 122
++	PLUS	shift 121
++	MINUS	shift 120
++	BANG	shift 119
++	TIMES	shift 118
++	INC	shift 117
++	DEC	shift 116
++	ID	shift 115
++	DECNUM	shift 114
++	REALNUM	shift 113
++	STRING	shift 112
++	CCONST	shift 111
++	IF	shift 110
++	FOR	shift 109
++	DO	shift 108
++	SWITCH	shift 107
++	CASE	shift 106
++	DEFAULT	shift 105
++	WHILE	shift 104
++	RETURN	shift 103
++	BREAK	shift 102
++	CONTINUE	shift 101
++	GOTO	shift 100
++	SIZEOF	shift 99
++
++	statement	goto 419
++	compoundStatement	goto 95
++	expr	goto 94
++	exprWComma	goto 93
++	unaryOperator	goto 92
++	strings	goto 90
++
++	.	error
++
++
++state 419:
++
++	statement : FOR LPAREN opExpr SEMICOLON opExpr SEMICOLON opExpr RPAREN statement .  (reduce by rule 6)
++
++
++
++	.	reduce by rule 6
++
++
++state 420:
++
++
++	EOF	accept
++
++
++	.	error
++
++2243 of 3800 action table entries left after compaction
++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	2006-05-02 23:00:53.000000000 -0400
+@@ -0,0 +1,101 @@
++signature C_TOKENS =
++sig
++type ('a,'b) token
++type svalue
++val TYPE_NAME: (string) *  'a * 'a -> (svalue,'a) token
++val ELIPSIS:  'a * 'a -> (svalue,'a) token
++val UNARY:  'a * 'a -> (svalue,'a) token
++val TYPEDEF:  'a * 'a -> (svalue,'a) token
++val SIZEOF:  'a * 'a -> (svalue,'a) token
++val VOID:  'a * 'a -> (svalue,'a) token
++val SIGNED:  'a * 'a -> (svalue,'a) token
++val UNSIGNED:  'a * 'a -> (svalue,'a) token
++val UNION:  'a * 'a -> (svalue,'a) token
++val STRUCT:  'a * 'a -> (svalue,'a) token
++val SATURATE:  'a * 'a -> (svalue,'a) token
++val FRACTIONAL:  'a * 'a -> (svalue,'a) token
++val SHORT:  'a * 'a -> (svalue,'a) token
++val LONG:  'a * 'a -> (svalue,'a) token
++val INT:  'a * 'a -> (svalue,'a) token
++val FLOAT:  'a * 'a -> (svalue,'a) token
++val ENUM:  'a * 'a -> (svalue,'a) token
++val DOUBLE:  'a * 'a -> (svalue,'a) token
++val CHAR:  'a * 'a -> (svalue,'a) token
++val GOTO:  'a * 'a -> (svalue,'a) token
++val CONTINUE:  'a * 'a -> (svalue,'a) token
++val BREAK:  'a * 'a -> (svalue,'a) token
++val RETURN:  'a * 'a -> (svalue,'a) token
++val WHILE:  'a * 'a -> (svalue,'a) token
++val DEFAULT:  'a * 'a -> (svalue,'a) token
++val CASE:  'a * 'a -> (svalue,'a) token
++val SWITCH:  'a * 'a -> (svalue,'a) token
++val DO:  'a * 'a -> (svalue,'a) token
++val FOR:  'a * 'a -> (svalue,'a) token
++val ELSE:  'a * 'a -> (svalue,'a) token
++val THEN:  'a * 'a -> (svalue,'a) token
++val IF:  'a * 'a -> (svalue,'a) token
++val VOLATILE:  'a * 'a -> (svalue,'a) token
++val CONST:  'a * 'a -> (svalue,'a) token
++val REGISTER:  'a * 'a -> (svalue,'a) token
++val STATIC:  'a * 'a -> (svalue,'a) token
++val AUTO:  'a * 'a -> (svalue,'a) token
++val EXTERN:  'a * 'a -> (svalue,'a) token
++val CCONST: (LargeInt.int) *  'a * 'a -> (svalue,'a) token
++val STRING: (string) *  'a * 'a -> (svalue,'a) token
++val REALNUM: (real) *  'a * 'a -> (svalue,'a) token
++val DECNUM: (LargeInt.int) *  'a * 'a -> (svalue,'a) token
++val RSHIFT:  'a * 'a -> (svalue,'a) token
++val LSHIFT:  'a * 'a -> (svalue,'a) token
++val AND:  'a * 'a -> (svalue,'a) token
++val OR:  'a * 'a -> (svalue,'a) token
++val NEQ:  'a * 'a -> (svalue,'a) token
++val EQ:  'a * 'a -> (svalue,'a) token
++val GT:  'a * 'a -> (svalue,'a) token
++val LT:  'a * 'a -> (svalue,'a) token
++val GTE:  'a * 'a -> (svalue,'a) token
++val LTE:  'a * 'a -> (svalue,'a) token
++val RSHIFTEQUALS:  'a * 'a -> (svalue,'a) token
++val LSHIFTEQUALS:  'a * 'a -> (svalue,'a) token
++val ANDEQUALS:  'a * 'a -> (svalue,'a) token
++val OREQUALS:  'a * 'a -> (svalue,'a) token
++val DIVEQUALS:  'a * 'a -> (svalue,'a) token
++val TIMESEQUALS:  'a * 'a -> (svalue,'a) token
++val MODEQUALS:  'a * 'a -> (svalue,'a) token
++val XOREQUALS:  'a * 'a -> (svalue,'a) token
++val MINUSEQUALS:  'a * 'a -> (svalue,'a) token
++val PLUSEQUALS:  'a * 'a -> (svalue,'a) token
++val EQUALS:  'a * 'a -> (svalue,'a) token
++val ID: (string) *  'a * 'a -> (svalue,'a) token
++val ARROW:  'a * 'a -> (svalue,'a) token
++val DEC:  'a * 'a -> (svalue,'a) token
++val INC:  'a * 'a -> (svalue,'a) token
++val TIMES:  'a * 'a -> (svalue,'a) token
++val BANG:  'a * 'a -> (svalue,'a) token
++val HAT:  'a * 'a -> (svalue,'a) token
++val MINUS:  'a * 'a -> (svalue,'a) token
++val PLUS:  'a * 'a -> (svalue,'a) token
++val DIVIDE:  'a * 'a -> (svalue,'a) token
++val TILDE:  'a * 'a -> (svalue,'a) token
++val BAR:  'a * 'a -> (svalue,'a) token
++val AMP:  'a * 'a -> (svalue,'a) token
++val PERCENT:  'a * 'a -> (svalue,'a) token
++val QUESTION:  'a * 'a -> (svalue,'a) token
++val COMMA:  'a * 'a -> (svalue,'a) token
++val DOT:  'a * 'a -> (svalue,'a) token
++val RBRACE:  'a * 'a -> (svalue,'a) token
++val LBRACE:  'a * 'a -> (svalue,'a) token
++val RCURLY:  'a * 'a -> (svalue,'a) token
++val LCURLY:  'a * 'a -> (svalue,'a) token
++val RPAREN:  'a * 'a -> (svalue,'a) token
++val LPAREN:  'a * 'a -> (svalue,'a) token
++val SEMICOLON:  'a * 'a -> (svalue,'a) token
++val COLON:  'a * 'a -> (svalue,'a) token
++val EOF:  'a * 'a -> (svalue,'a) token
++end
++signature C_LRVALS=
++sig
++structure Tokens : C_TOKENS
++structure ParserData:PARSER_DATA
++sharing type ParserData.Token.token = Tokens.token
++sharing type ParserData.svalue = Tokens.svalue
++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	2005-11-21 11:29:22.000000000 -0500
-+++ ckit-mlton/src/parser/grammar/c.grm.sml	2005-11-21 11:29:23.000000000 -0500
-@@ -1866,10 +1866,11 @@
- (T 5) $$ (T 4) $$ (T 3) $$ (T 2) $$ (T 1) $$ (T 0)end
- structure Actions =
- struct 
+--- ckit/src/parser/grammar/c.grm.sml	1969-12-31 19:00:00.000000000 -0500
++++ ckit-mlton/src/parser/grammar/c.grm.sml	2006-05-02 23:00:53.000000000 -0400
+@@ -0,0 +1,3866 @@
++functor LrValsFun(structure Token : TOKEN 
++			    ) = 
++struct
++structure ParserData=
++struct
++structure Header = 
++struct
++(* DO NOT CHANGE THIS FILE -- this file was generated from cd.grm *)
++
++(* Copyright (c) 1998 by Lucent Technologies *)
++
++(* new comments from Satish Chandra, 6/21/99 *)
++(* Overriding design approach: 
++ *
++ * Accept all legal programs, but possibly some illegal ones at this stage. 
++ * Do not attempt to make a really tight grammar. Our tools are supposed to
++ * work on "correct" C programs (i.e. those that cc -ansi would compile without
++ * warnings). Of course, a type checker on the parse tree can report some errors
++ * as syntax errors.
++ *
++ * Note on MARK:
++ *
++ * externalDecl, statement, and expression are the non-terms that are marked.
++ * Compound statements are not separately marked.
++ * declarations eventually become either a statement or a externalDecl
++ *   if they are outside any function. They are marked accordingly.
++ *
++ * Note on function definitions:
++ *
++ * The order of the paramaters will always come from the FuncDecr.
++ * The types of the parameter may come from the second declaration list  
++ * (in K&R style)
++ *
++ * Note on the structure of the grammar:
++ *
++ * It is difficult to write a LALR(1) grammar based on the grammar given at
++ * the back of the K&R book. The basic difficulty is that both TYPE_NAME and
++ * ID are tokens that are strings, but it depends on the context whether
++ * a given string is to be treated as an ID or a TYPE_NAME.
++ * We have borrowed the solution used in GCC's parser specification. In this
++ * scheme, the lexer always return the token TYPE_NAME if a name has been 
++ * defined as a type name (via a typedef) in an applicable scope. The grammar 
++ * productions are heavily rearranged (from K&R's grammar) to do the right 
++ * thing. In this rearrangement, the basic idea is that a TYPE_NAME is  
++ * allowed to appear in a declaration as a plain identifier only after a type 
++ * specifier has previously appeared in the declaration. Also, a TYPE_NAME may 
++ * appear only once in a declaration as a type specifier.
++ *)
++
++(* old comments below *)
++(* Shortcomings *)
++(* 1. No floating-point whatsoever *)
++
++(* Notes on MARK:
++ * externalDecl and statement are the non-terms that are marked.
++ * Compound statements are not separately marked.
++ * expressions are not marked at all.
++ * declarations eventually become either a statement or a externalDecl
++ *   if they are outside any function. they are marked accordingly.
++ *)
++ 
++(* Overriding theme: accept all legal programs, but also some illegal ones at this
++ * stage. Do not attempt to make a really tight grammar. Our tools are supposed to
++ * work on "correct" C programs (i.e. those that cc -ansi would compile without
++ * warnings). Of course, a type checker on the parse tree can report some errors
++ * as syntax errors.
++ *)
++
++(* About function definitions:
++ * The order of the paramaters will always come from the FuncDecr thing 
++ * The types of the parameter may come from the second declaration list  (in K&R style)
++ *)
++
++open ParseTree (* PortingHelp *)
++
++fun markExternalDecl srcMap (d,left,right) = 
++    MARKexternalDecl(SourceMap.location srcMap (left,right), d)
++
++fun markDeclaration srcMap (d,left,right) = 
++    MARKdeclaration(SourceMap.location srcMap (left,right), d)
++
++fun markDeclarator srcMap (d,left,right) = 
++    MARKdeclarator(SourceMap.location srcMap (left,right), d)
++
++fun markStatement srcMap (s,left,right) = 
++    MARKstatement(SourceMap.location srcMap (left, right), s)
++
++fun markExpression srcMap (s,left,right) = 
++    MARKexpression(SourceMap.location srcMap (left, right), s)
++
++val unknown = {storage=[],qualifiers=[],specifiers=[]}:decltype
++
++(* this code duplicated in BuildAst in function processDeclarator *)
++fun ctypeDecrToTypeName (typ as {qualifiers, specifiers},decr) =
++      let fun mkTyp spc = {qualifiers=[], specifiers=[spc]}
++	  fun addQual q = {qualifiers=q::qualifiers, specifiers=specifiers}
++       in case decr
++	    of VarDecr x => (typ,SOME x)
++	     | PointerDecr x =>
++		ctypeDecrToTypeName (mkTyp (Pointer typ),x)
++	     | ArrayDecr (x,sz) =>
++		ctypeDecrToTypeName (mkTyp (Array (sz,typ)),x)
++	     | FuncDecr (x,lst) =>
++		ctypeDecrToTypeName (mkTyp (Function{retType=typ,params=lst}),x)
++	     | QualDecr (q,decr) =>
++		ctypeDecrToTypeName (addQual q, decr)
++	     | EmptyDecr => (typ, NONE)
++	     | EllipsesDecr => (mkTyp Ellipses, SOME("**ellipses**"))
++	     | DecrExt _ => (typ, NONE)  (* should call decr extension? *)
++	     | MARKdeclarator(loc, decr) => ctypeDecrToTypeName(typ, decr)
++      end
++
++fun dclr2str dcl = 
++  (case ctypeDecrToTypeName ({qualifiers=[],specifiers=[]}, dcl)
++     of (_,SOME s) => s
++      | (_,NONE) => "")
++
++fun combineDecltypes ( {qualifiers=q1,storage=st1,specifiers=sp1}
++	           , {qualifiers=q2,storage=st2,specifiers=sp2}
++	           ) =
++  {qualifiers=q1@q2,storage=st1@st2,specifiers=sp1@sp2}  (* @ ok *)
++
++fun applyPointer (PointerDecr x,rest) = PointerDecr (applyPointer (x,rest))
++  | applyPointer (QualDecr (q,x),rest) = QualDecr (q, applyPointer (x,rest))
++  | applyPointer (EmptyDecr, rest) = rest
++  | applyPointer (_, rest) = rest  
++    (* NCH/DBM[6/14/99]: this case can never occur  *)
++
++fun addStorage(st, {qualifiers,storage,specifiers}) =
++        {qualifiers=qualifiers,storage=st::storage,specifiers=specifiers}
++
++fun addQualifiers(qs, {qualifiers,storage,specifiers}) =
++	{qualifiers=qs@qualifiers,storage=storage,specifiers=specifiers} (* @ ok *)
++
++fun addQualifier(q, {qualifiers,storage,specifiers}) =
++	{qualifiers=q::qualifiers,storage=storage,specifiers=specifiers}
++
++fun addSpecifier(sp, {qualifiers,storage,specifiers}) =
++	{qualifiers=qualifiers,storage=storage,specifiers=sp::specifiers}
++
++val addAll = combineDecltypes
++
++fun loopQd (q::rst, acc) = loopQd(rst, QualDecr(q, acc))
++  | loopQd (nil, acc) = acc
++
++fun mkCtype typ = typ
++
++(* DBM: major kludge, using TYPEDEF as storage class *)
++fun insertDeclNames ({storage,...}: decltype, idl) =
++    case storage
++      of [TYPEDEF] =>  List.app (fn x as (dcl,_) => TypeDefs.addTdef (dclr2str dcl)) idl
++       | _ => List.app (fn x as (dcl,_) => TypeDefs.addNoTdef (dclr2str dcl)) idl
++
++fun insertFuncName dcl =
++  let
++    val name = dclr2str dcl
++  in
++    TypeDefs.addNoTdef name
++  end
++
++fun insertFuncParams (FuncDecr (_,params)) : unit = 
++     let
++       fun getName (ct, dclr) = dclr2str dclr
++       val names = map getName params
++     in
++       List.app TypeDefs.addNoTdef names
++     end
++  | insertFuncParams (ArrayDecr(dcl,_)) = insertFuncParams dcl
++  | insertFuncParams (PointerDecr dcl) = insertFuncParams dcl
++  | insertFuncParams _ = ()  (* this is actually an error, but it will be caught in
++		              * BuildAst when processing a PT.FunctionDef *)
++
++abstype 'a seq = SEQ of 'a list
++with val emptySeq = SEQ nil
++     fun singletonSeq x = SEQ[x]
++     fun addToSeq(x, SEQ yl) = SEQ(x :: yl)  (* add to end of sequence! *)
++  (* fun addListToEnd(xl, yl) = SEQ((List.rev xl) @ yl) *)
++     fun addOptToEnd(NONE, yl) = yl
++       | addOptToEnd(SOME x, SEQ yl) = SEQ(x :: yl)
++     fun seqToList(SEQ yl) = List.rev yl
++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\169\000\004\000\070\000\022\000\042\000\026\000\041\000\
++\\089\000\069\000\000\000\
++\\001\000\002\000\174\000\004\000\043\000\022\000\042\000\026\000\041\000\
++\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
++\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
++\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
++\\089\000\021\000\000\000\
++\\001\000\002\000\226\000\000\000\
++\\001\000\002\000\075\001\011\000\178\000\000\000\
++\\001\000\002\000\115\001\011\000\178\000\000\000\
++\\001\000\003\000\083\002\006\000\130\002\011\000\083\002\027\000\139\000\
++\\052\000\130\002\053\000\130\002\054\000\130\002\055\000\130\002\
++\\056\000\130\002\057\000\130\002\071\000\130\002\072\000\130\002\
++\\073\000\130\002\074\000\130\002\075\000\130\002\076\000\130\002\
++\\077\000\130\002\080\000\130\002\081\000\130\002\082\000\130\002\
++\\083\000\130\002\084\000\130\002\086\000\130\002\089\000\130\002\000\000\
++\\001\000\003\000\087\002\006\000\131\002\011\000\087\002\027\000\135\000\
++\\052\000\131\002\053\000\131\002\054\000\131\002\055\000\131\002\
++\\056\000\131\002\057\000\131\002\071\000\131\002\072\000\131\002\
++\\073\000\131\002\074\000\131\002\075\000\131\002\076\000\131\002\
++\\077\000\131\002\080\000\131\002\081\000\131\002\082\000\131\002\
++\\083\000\131\002\084\000\131\002\086\000\131\002\089\000\131\002\000\000\
++\\001\000\003\000\048\000\000\000\
++\\001\000\003\000\127\000\004\000\126\000\006\000\054\000\007\000\194\001\
++\\014\000\125\000\016\000\124\000\018\000\123\000\019\000\122\000\
++\\021\000\121\000\022\000\120\000\023\000\119\000\024\000\118\000\
++\\026\000\117\000\048\000\116\000\049\000\115\000\050\000\114\000\
++\\051\000\113\000\052\000\156\002\053\000\156\002\054\000\156\002\
++\\055\000\156\002\056\000\156\002\057\000\156\002\058\000\112\000\
++\\061\000\111\000\062\000\110\000\063\000\109\000\064\000\108\000\
++\\065\000\107\000\066\000\106\000\067\000\105\000\068\000\104\000\
++\\069\000\103\000\070\000\102\000\071\000\156\002\072\000\156\002\
++\\073\000\156\002\074\000\156\002\075\000\156\002\076\000\156\002\
++\\077\000\156\002\080\000\156\002\081\000\156\002\082\000\156\002\
++\\083\000\156\002\084\000\156\002\085\000\101\000\086\000\156\002\
++\\089\000\156\002\000\000\
++\\001\000\003\000\127\000\004\000\126\000\006\000\054\000\014\000\125\000\
++\\016\000\124\000\018\000\123\000\019\000\122\000\021\000\121\000\
++\\022\000\120\000\023\000\119\000\024\000\118\000\026\000\117\000\
++\\048\000\116\000\049\000\115\000\050\000\114\000\051\000\113\000\
++\\058\000\112\000\061\000\111\000\062\000\110\000\063\000\109\000\
++\\064\000\108\000\065\000\107\000\066\000\106\000\067\000\105\000\
++\\068\000\104\000\069\000\103\000\070\000\102\000\085\000\101\000\000\000\
++\\001\000\003\000\179\000\011\000\178\000\000\000\
++\\001\000\003\000\221\000\000\000\
++\\001\000\003\000\222\000\000\000\
++\\001\000\003\000\021\001\011\000\020\001\000\000\
++\\001\000\003\000\025\001\011\000\024\001\000\000\
++\\001\000\003\000\071\001\000\000\
++\\001\000\003\000\072\001\000\000\
++\\001\000\003\000\124\001\000\000\
++\\001\000\003\000\159\001\000\000\
++\\001\000\003\000\161\001\000\000\
++\\001\000\004\000\043\000\022\000\042\000\026\000\041\000\000\000\
++\\001\000\004\000\043\000\022\000\042\000\026\000\041\000\052\000\040\000\
++\\053\000\039\000\054\000\038\000\055\000\037\000\056\000\036\000\
++\\057\000\035\000\071\000\034\000\072\000\033\000\073\000\032\000\
++\\074\000\031\000\075\000\030\000\076\000\029\000\077\000\028\000\
++\\080\000\027\000\081\000\026\000\082\000\025\000\083\000\024\000\
++\\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
++\\001\000\004\000\043\000\026\000\041\000\000\000\
++\\001\000\004\000\070\000\022\000\042\000\026\000\041\000\089\000\069\000\000\000\
++\\001\000\004\000\070\000\026\000\041\000\089\000\069\000\000\000\
++\\001\000\004\000\126\000\005\000\069\001\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\126\000\006\000\242\000\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\126\000\009\000\145\000\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\126\000\009\000\245\000\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\126\000\009\000\098\001\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\126\000\009\000\130\001\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\126\000\009\000\137\001\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\126\000\014\000\125\000\016\000\124\000\018\000\123\000\
++\\019\000\122\000\021\000\121\000\022\000\120\000\023\000\119\000\
++\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
++\\050\000\114\000\051\000\113\000\056\000\036\000\057\000\035\000\
++\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
++\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
++\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
++\\085\000\101\000\089\000\021\000\000\000\
++\\001\000\004\000\126\000\014\000\125\000\016\000\124\000\018\000\123\000\
++\\019\000\122\000\021\000\121\000\022\000\120\000\023\000\119\000\
++\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
++\\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\215\000\008\000\214\000\009\000\252\000\010\000\213\000\
++\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
++\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
++\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
++\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
++\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
++\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\001\000\004\000\215\000\008\000\214\000\009\000\088\001\010\000\213\000\
++\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
++\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
++\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
++\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
++\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
++\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\001\000\004\000\215\000\008\000\214\000\009\000\133\001\010\000\213\000\
++\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
++\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
++\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
++\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
++\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
++\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\001\000\004\000\215\000\008\000\214\000\009\000\153\001\010\000\213\000\
++\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
++\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
++\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
++\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
++\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
++\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\001\000\004\000\215\000\008\000\214\000\009\000\155\001\010\000\213\000\
++\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
++\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
++\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
++\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
++\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
++\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\001\000\004\000\219\000\014\000\125\000\016\000\124\000\018\000\123\000\
++\\019\000\122\000\021\000\121\000\022\000\120\000\023\000\119\000\
++\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
++\\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\225\000\000\000\
++\\001\000\004\000\228\000\000\000\
++\\001\000\004\000\230\000\000\000\
++\\001\000\004\000\231\000\000\000\
++\\001\000\004\000\006\001\005\000\101\001\008\000\005\001\022\000\042\000\
++\\026\000\041\000\052\000\040\000\053\000\039\000\054\000\038\000\
++\\055\000\037\000\056\000\036\000\057\000\035\000\071\000\034\000\
++\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
++\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
++\\082\000\025\000\083\000\024\000\084\000\023\000\086\000\022\000\
++\\089\000\021\000\000\000\
++\\001\000\004\000\006\001\008\000\005\001\022\000\042\000\026\000\041\000\
++\\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
++\\001\000\004\000\083\001\005\000\101\001\008\000\005\001\022\000\042\000\
++\\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
++\\001\000\004\000\123\001\000\000\
++\\001\000\005\000\153\000\026\000\152\000\052\000\040\000\053\000\039\000\
++\\054\000\038\000\055\000\037\000\056\000\036\000\057\000\035\000\
++\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
++\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
++\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
++\\086\000\022\000\089\000\021\000\000\000\
++\\001\000\005\000\161\000\000\000\
++\\001\000\005\000\248\000\026\000\152\000\052\000\040\000\053\000\039\000\
++\\054\000\038\000\055\000\037\000\056\000\036\000\057\000\035\000\
++\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
++\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
++\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
++\\086\000\022\000\089\000\021\000\000\000\
++\\001\000\005\000\251\000\000\000\
++\\001\000\005\000\253\000\000\000\
++\\001\000\005\000\000\001\011\000\255\000\000\000\
++\\001\000\005\000\084\001\000\000\
++\\001\000\005\000\085\001\011\000\178\000\000\000\
++\\001\000\005\000\089\001\000\000\
++\\001\000\005\000\090\001\011\000\255\000\000\000\
++\\001\000\005\000\118\001\011\000\117\001\000\000\
++\\001\000\005\000\119\001\000\000\
++\\001\000\005\000\120\001\011\000\178\000\000\000\
++\\001\000\005\000\122\001\011\000\178\000\000\000\
++\\001\000\005\000\125\001\011\000\178\000\000\000\
++\\001\000\005\000\132\001\052\000\040\000\053\000\039\000\054\000\038\000\
++\\055\000\037\000\056\000\036\000\057\000\035\000\071\000\034\000\
++\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
++\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
++\\082\000\025\000\083\000\024\000\084\000\023\000\086\000\022\000\
++\\089\000\021\000\000\000\
++\\001\000\005\000\134\001\000\000\
++\\001\000\005\000\135\001\000\000\
++\\001\000\005\000\140\001\026\000\152\000\052\000\040\000\053\000\039\000\
++\\054\000\038\000\055\000\037\000\056\000\036\000\057\000\035\000\
++\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
++\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
++\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
++\\086\000\022\000\089\000\021\000\000\000\
++\\001\000\005\000\154\001\000\000\
++\\001\000\005\000\156\001\000\000\
++\\001\000\005\000\157\001\011\000\255\000\000\000\
++\\001\000\005\000\158\001\011\000\178\000\000\000\
++\\001\000\005\000\164\001\000\000\
++\\001\000\006\000\047\000\026\000\046\000\089\000\045\000\000\000\
++\\001\000\006\000\054\000\052\000\040\000\053\000\039\000\054\000\038\000\
++\\055\000\037\000\056\000\036\000\057\000\035\000\071\000\034\000\
++\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
++\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
++\\082\000\025\000\083\000\024\000\084\000\023\000\086\000\022\000\
++\\089\000\021\000\000\000\
++\\001\000\006\000\076\000\026\000\075\000\089\000\074\000\000\000\
++\\001\000\007\000\165\000\056\000\036\000\057\000\035\000\071\000\034\000\
++\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
++\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
++\\082\000\025\000\083\000\024\000\084\000\023\000\089\000\021\000\000\000\
++\\001\000\007\000\217\000\000\000\
++\\001\000\007\000\018\001\056\000\036\000\057\000\035\000\071\000\034\000\
++\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
++\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
++\\082\000\025\000\083\000\024\000\084\000\023\000\089\000\021\000\000\000\
++\\001\000\007\000\019\001\056\000\036\000\057\000\035\000\071\000\034\000\
++\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
++\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
++\\082\000\025\000\083\000\024\000\084\000\023\000\089\000\021\000\000\000\
++\\001\000\007\000\107\001\000\000\
++\\001\000\007\000\141\001\000\000\
++\\001\000\007\000\142\001\000\000\
++\\001\000\007\000\143\001\000\000\
++\\001\000\007\000\151\001\000\000\
++\\001\000\009\000\116\001\011\000\178\000\000\000\
++\\001\000\026\000\158\000\000\000\
++\\001\000\026\000\220\000\000\000\
++\\001\000\026\000\054\001\089\000\053\001\000\000\
++\\001\000\026\000\065\001\089\000\064\001\000\000\
++\\001\000\026\000\093\001\000\000\
++\\001\000\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\086\000\022\000\088\000\092\001\
++\\089\000\021\000\000\000\
++\\001\000\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
++\\001\000\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\089\000\021\000\000\000\
++\\001\000\066\000\077\001\000\000\
++\\001\000\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
++\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
++\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
++\\089\000\021\000\000\000\
++\\167\001\003\000\044\000\004\000\043\000\022\000\042\000\026\000\041\000\
++\\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
++\\168\001\000\000\
++\\169\001\000\000\
++\\170\001\000\000\
++\\171\001\000\000\
++\\172\001\000\000\
++\\173\001\000\000\
++\\174\001\000\000\
++\\175\001\000\000\
++\\176\001\000\000\
++\\177\001\000\000\
++\\178\001\000\000\
++\\179\001\000\000\
++\\180\001\000\000\
++\\181\001\000\000\
++\\182\001\000\000\
++\\183\001\000\000\
++\\184\001\000\000\
++\\185\001\060\000\160\001\000\000\
++\\186\001\000\000\
++\\187\001\000\000\
++\\188\001\000\000\
++\\189\001\000\000\
++\\190\001\004\000\070\000\022\000\042\000\026\000\041\000\089\000\069\000\000\000\
++\\191\001\011\000\141\000\000\000\
++\\192\001\011\000\136\000\000\000\
++\\193\001\003\000\127\000\004\000\126\000\006\000\054\000\014\000\125\000\
++\\016\000\124\000\018\000\123\000\019\000\122\000\021\000\121\000\
++\\022\000\120\000\023\000\119\000\024\000\118\000\026\000\117\000\
++\\048\000\116\000\049\000\115\000\050\000\114\000\051\000\113\000\
++\\058\000\112\000\061\000\111\000\062\000\110\000\063\000\109\000\
++\\064\000\108\000\065\000\107\000\066\000\106\000\067\000\105\000\
++\\068\000\104\000\069\000\103\000\070\000\102\000\085\000\101\000\000\000\
++\\194\001\003\000\127\000\004\000\126\000\006\000\054\000\014\000\125\000\
++\\016\000\124\000\018\000\123\000\019\000\122\000\021\000\121\000\
++\\022\000\120\000\023\000\119\000\024\000\118\000\026\000\117\000\
++\\048\000\116\000\049\000\115\000\050\000\114\000\051\000\113\000\
++\\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\058\000\112\000\061\000\111\000\
++\\062\000\110\000\063\000\109\000\064\000\108\000\065\000\107\000\
++\\066\000\106\000\067\000\105\000\068\000\104\000\069\000\103\000\
++\\070\000\102\000\071\000\034\000\072\000\033\000\073\000\032\000\
++\\074\000\031\000\075\000\030\000\076\000\029\000\077\000\028\000\
++\\080\000\027\000\081\000\026\000\082\000\025\000\083\000\024\000\
++\\084\000\023\000\085\000\101\000\086\000\022\000\089\000\021\000\000\000\
++\\195\001\000\000\
++\\196\001\000\000\
++\\197\001\000\000\
++\\198\001\000\000\
++\\199\001\000\000\
++\\200\001\000\000\
++\\201\001\000\000\
++\\202\001\000\000\
++\\203\001\000\000\
++\\204\001\000\000\
++\\205\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
++\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\206\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\207\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\208\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\209\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\210\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\211\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\212\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\213\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\214\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\215\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\216\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\217\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\014\000\210\000\015\000\209\000\017\000\208\000\018\000\207\000\
++\\019\000\206\000\020\000\205\000\022\000\204\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\218\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\014\000\210\000\015\000\209\000\017\000\208\000\018\000\207\000\
++\\019\000\206\000\020\000\205\000\022\000\204\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\046\000\181\000\047\000\180\000\000\000\
++\\219\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\014\000\210\000\017\000\208\000\018\000\207\000\019\000\206\000\
++\\020\000\205\000\022\000\204\000\023\000\203\000\024\000\202\000\
++\\025\000\201\000\038\000\189\000\039\000\188\000\040\000\187\000\
++\\041\000\186\000\042\000\185\000\043\000\184\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\220\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\014\000\210\000\017\000\208\000\018\000\207\000\019\000\206\000\
++\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
++\\038\000\189\000\039\000\188\000\040\000\187\000\041\000\186\000\
++\\042\000\185\000\043\000\184\000\046\000\181\000\047\000\180\000\000\000\
++\\221\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
++\\043\000\184\000\046\000\181\000\047\000\180\000\000\000\
++\\222\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\223\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\224\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\225\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\226\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\227\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\228\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\000\000\
++\\229\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\000\000\
++\\230\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\022\000\204\000\023\000\203\000\024\000\202\000\
++\\025\000\201\000\000\000\
++\\231\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\022\000\204\000\023\000\203\000\024\000\202\000\
++\\025\000\201\000\000\000\
++\\232\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\233\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\234\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\235\001\000\000\
++\\236\001\000\000\
++\\237\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\238\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\239\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\240\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\241\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\242\001\004\000\126\000\016\000\124\000\021\000\121\000\023\000\119\000\
++\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
++\\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\243\001\000\000\
++\\244\001\000\000\
++\\245\001\000\000\
++\\246\001\000\000\
++\\247\001\000\000\
++\\248\001\000\000\
++\\249\001\000\000\
++\\250\001\000\000\
++\\251\001\000\000\
++\\252\001\000\000\
++\\253\001\000\000\
++\\254\001\000\000\
++\\254\001\002\000\233\000\000\000\
++\\255\001\000\000\
++\\000\002\050\000\114\000\000\000\
++\\001\002\000\000\
++\\002\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\003\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\004\002\004\000\126\000\014\000\125\000\016\000\124\000\018\000\123\000\
++\\019\000\122\000\021\000\121\000\022\000\120\000\023\000\119\000\
++\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
++\\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\005\002\011\000\178\000\000\000\
++\\006\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\007\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\008\002\004\000\083\001\008\000\005\001\022\000\042\000\000\000\
++\\009\002\000\000\
++\\010\002\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\086\000\022\000\000\000\
++\\011\002\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\086\000\022\000\000\000\
++\\012\002\000\000\
++\\013\002\000\000\
++\\014\002\000\000\
++\\015\002\000\000\
++\\016\002\000\000\
++\\017\002\000\000\
++\\018\002\000\000\
++\\019\002\000\000\
++\\020\002\000\000\
++\\021\002\000\000\
++\\022\002\000\000\
++\\023\002\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\000\000\
++\\024\002\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\000\000\
++\\025\002\000\000\
++\\026\002\000\000\
++\\027\002\056\000\036\000\057\000\035\000\000\000\
++\\028\002\000\000\
++\\029\002\000\000\
++\\030\002\000\000\
++\\031\002\000\000\
++\\032\002\000\000\
++\\033\002\000\000\
++\\034\002\000\000\
++\\035\002\000\000\
++\\036\002\000\000\
++\\037\002\000\000\
++\\038\002\000\000\
++\\039\002\000\000\
++\\040\002\000\000\
++\\041\002\000\000\
++\\042\002\000\000\
++\\043\002\000\000\
++\\044\002\000\000\
++\\045\002\006\000\082\000\000\000\
++\\046\002\006\000\081\000\000\000\
++\\047\002\000\000\
++\\048\002\000\000\
++\\049\002\000\000\
++\\050\002\000\000\
++\\051\002\000\000\
++\\052\002\000\000\
++\\053\002\000\000\
++\\054\002\000\000\
++\\055\002\000\000\
++\\056\002\000\000\
++\\057\002\002\000\022\001\000\000\
++\\058\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\059\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\060\002\002\000\027\001\000\000\
++\\061\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\062\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\063\002\000\000\
++\\064\002\000\000\
++\\065\002\000\000\
++\\066\002\000\000\
++\\067\002\000\000\
++\\068\002\006\000\155\000\000\000\
++\\069\002\006\000\154\000\000\000\
++\\070\002\000\000\
++\\071\002\000\000\
++\\072\002\027\000\017\001\000\000\
++\\073\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\074\002\000\000\
++\\075\002\000\000\
++\\076\002\000\000\
++\\077\002\000\000\
++\\078\002\000\000\
++\\079\002\011\000\016\001\000\000\
++\\079\002\011\000\128\001\000\000\
++\\080\002\004\000\126\000\006\000\242\000\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\080\002\026\000\158\000\000\000\
++\\081\002\000\000\
++\\082\002\000\000\
++\\083\002\027\000\139\000\000\000\
++\\084\002\000\000\
++\\085\002\000\000\
++\\086\002\000\000\
++\\087\002\027\000\135\000\000\000\
++\\088\002\000\000\
++\\089\002\000\000\
++\\090\002\000\000\
++\\091\002\004\000\138\000\008\000\137\000\000\000\
++\\092\002\004\000\138\000\008\000\137\000\000\000\
++\\093\002\004\000\072\000\008\000\071\000\000\000\
++\\094\002\004\000\072\000\008\000\071\000\000\000\
++\\095\002\004\000\103\001\008\000\102\001\000\000\
++\\096\002\004\000\103\001\008\000\102\001\000\000\
++\\097\002\022\000\042\000\056\000\036\000\057\000\035\000\000\000\
++\\098\002\022\000\042\000\000\000\
++\\099\002\000\000\
++\\100\002\000\000\
++\\101\002\000\000\
++\\102\002\000\000\
++\\103\002\000\000\
++\\104\002\000\000\
++\\105\002\000\000\
++\\106\002\000\000\
++\\107\002\000\000\
++\\108\002\000\000\
++\\109\002\000\000\
++\\110\002\000\000\
++\\111\002\000\000\
++\\112\002\000\000\
++\\113\002\000\000\
++\\114\002\000\000\
++\\115\002\000\000\
++\\116\002\000\000\
++\\117\002\000\000\
++\\118\002\000\000\
++\\119\002\000\000\
++\\120\002\000\000\
++\\121\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\122\002\000\000\
++\\123\002\000\000\
++\\124\002\000\000\
++\\125\002\000\000\
++\\126\002\000\000\
++\\127\002\000\000\
++\\128\002\000\000\
++\\129\002\000\000\
++\\132\002\000\000\
++\\133\002\000\000\
++\\134\002\004\000\006\001\008\000\005\001\026\000\041\000\000\000\
++\\134\002\004\000\006\001\008\000\005\001\026\000\041\000\089\000\012\001\000\000\
++\\134\002\004\000\083\001\008\000\005\001\000\000\
++\\135\002\004\000\096\001\008\000\095\001\000\000\
++\\136\002\004\000\096\001\008\000\095\001\000\000\
++\\137\002\000\000\
++\\138\002\000\000\
++\\139\002\000\000\
++\\140\002\000\000\
++\\141\002\000\000\
++\\142\002\000\000\
++\\143\002\000\000\
++\\144\002\000\000\
++\\145\002\000\000\
++\\146\002\011\000\254\000\000\000\
++\\147\002\000\000\
++\\148\002\000\000\
++\\149\002\000\000\
++\\150\002\000\000\
++\\151\002\000\000\
++\\152\002\004\000\006\001\008\000\005\001\022\000\042\000\026\000\041\000\
++\\089\000\012\001\000\000\
++\\153\002\000\000\
++\\154\002\000\000\
++\\155\002\000\000\
++\\157\002\000\000\
++\"
++val actionRowNumbers =
++"\097\000\096\000\073\000\098\000\
++\\008\000\099\000\101\000\074\000\
++\\216\000\217\000\207\000\215\000\
++\\198\000\205\000\022\000\119\000\
++\\025\001\061\001\023\000\218\000\
++\\008\001\219\000\226\000\227\000\
++\\234\000\233\000\221\000\223\000\
++\\222\000\224\000\075\000\225\000\
++\\220\000\250\000\249\000\007\001\
++\\005\001\006\001\004\001\040\001\
++\\029\001\021\000\100\000\232\000\
++\\231\000\093\000\118\000\057\001\
++\\074\000\022\000\119\000\062\001\
++\\009\000\196\000\208\000\198\000\
++\\206\000\007\000\121\000\017\001\
++\\023\001\022\001\021\001\006\000\
++\\025\000\120\000\013\001\033\001\
++\\024\000\028\000\049\000\026\001\
++\\255\000\254\000\086\000\030\001\
++\\213\000\031\001\050\000\093\000\
++\\093\000\235\000\076\000\001\000\
++\\002\000\211\000\058\001\063\001\
++\\019\001\015\001\185\000\092\000\
++\\034\000\011\000\188\000\110\000\
++\\122\000\077\000\124\000\040\000\
++\\087\000\012\000\013\000\190\000\
++\\041\000\003\000\034\000\042\000\
++\\010\000\043\000\044\000\182\000\
++\\186\000\181\000\180\000\184\000\
++\\034\000\034\000\129\000\133\000\
++\\131\000\130\000\132\000\128\000\
++\\033\000\117\000\203\000\204\000\
++\\202\000\201\000\200\000\199\000\
++\\197\000\027\000\024\000\029\000\
++\\051\000\027\000\024\001\024\000\
++\\052\000\035\000\183\000\042\001\
++\\080\001\053\000\078\001\054\000\
++\\046\000\084\001\059\001\044\001\
++\\086\000\086\000\001\001\009\001\
++\\002\001\032\001\214\000\041\001\
++\\078\000\079\000\236\000\228\000\
++\\014\000\239\000\243\000\034\000\
++\\015\000\241\000\211\000\246\000\
++\\034\000\209\000\123\000\168\000\
++\\034\000\116\000\034\000\034\000\
++\\034\000\034\000\034\000\034\000\
++\\034\000\034\000\034\000\034\000\
++\\034\000\034\000\034\000\034\000\
++\\034\000\034\000\034\000\034\000\
++\\034\000\034\000\034\000\088\000\
++\\165\000\164\000\034\000\034\000\
++\\034\000\034\000\034\000\034\000\
++\\034\000\034\000\034\000\089\000\
++\\034\000\026\000\125\000\127\000\
++\\169\000\033\000\016\000\107\000\
++\\106\000\191\000\017\000\034\000\
++\\010\000\004\000\034\000\094\000\
++\\190\000\034\000\187\000\010\000\
++\\167\000\166\000\194\000\095\000\
++\\055\000\056\000\020\001\053\001\
++\\027\000\018\001\036\000\035\001\
++\\057\000\058\000\037\001\016\001\
++\\014\001\034\001\043\001\045\001\
++\\091\000\090\000\046\001\086\001\
++\\064\001\067\001\087\001\030\000\
++\\045\000\027\001\083\001\082\001\
++\\065\001\085\001\047\001\009\001\
++\\009\001\080\000\012\001\034\000\
++\\230\000\229\000\001\000\237\000\
++\\034\000\244\000\001\000\238\000\
++\\210\000\034\000\247\000\212\000\
++\\088\001\189\000\158\000\157\000\
++\\147\000\146\000\152\000\151\000\
++\\154\000\153\000\156\000\155\000\
++\\144\000\143\000\142\000\141\000\
++\\138\000\137\000\139\000\140\000\
++\\136\000\135\000\145\000\178\000\
++\\176\000\161\000\149\000\160\000\
++\\159\000\162\000\148\000\150\000\
++\\163\000\005\000\177\000\175\000\
++\\085\000\059\000\192\000\173\000\
++\\060\000\109\000\108\000\061\000\
++\\112\000\010\000\062\000\048\000\
++\\018\000\063\000\111\000\066\001\
++\\195\000\047\000\034\000\179\000\
++\\010\001\055\001\036\001\038\001\
++\\039\001\081\001\079\001\060\001\
++\\068\001\031\000\064\000\037\000\
++\\070\001\065\000\066\000\074\001\
++\\032\000\067\000\028\001\081\000\
++\\082\000\251\000\000\001\003\001\
++\\240\000\245\000\242\000\248\000\
++\\083\000\034\000\172\000\034\000\
++\\174\000\171\000\010\000\113\000\
++\\010\000\034\000\190\000\010\000\
++\\170\000\084\000\011\001\038\000\
++\\072\001\068\000\076\001\071\001\
++\\075\001\069\001\039\000\048\001\
++\\069\000\070\000\050\001\253\000\
++\\252\000\126\000\134\000\193\000\
++\\103\000\104\000\071\000\019\000\
++\\114\000\054\001\056\001\073\001\
++\\077\001\049\001\051\001\052\001\
++\\020\000\190\000\010\000\105\000\
++\\072\000\115\000\010\000\102\000\
++\\000\000"
++val gotoT =
++"\
++\\001\000\164\001\002\000\001\000\000\000\
++\\021\000\018\000\024\000\017\000\027\000\016\000\029\000\015\000\
++\\030\000\014\000\036\000\013\000\038\000\012\000\039\000\011\000\
++\\040\000\010\000\043\000\009\000\044\000\008\000\045\000\007\000\
++\\048\000\006\000\049\000\005\000\050\000\004\000\051\000\003\000\
++\\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\006\000\051\000\029\000\050\000\030\000\049\000\036\000\013\000\
++\\038\000\012\000\039\000\011\000\040\000\010\000\043\000\009\000\
++\\044\000\008\000\046\000\048\000\049\000\047\000\050\000\004\000\
++\\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\031\000\053\000\000\000\
++\\000\000\
++\\018\000\059\000\020\000\058\000\021\000\018\000\024\000\057\000\
++\\027\000\016\000\036\000\056\000\038\000\055\000\039\000\011\000\
++\\040\000\054\000\043\000\009\000\044\000\008\000\055\000\002\000\000\000\
++\\017\000\066\000\019\000\065\000\021\000\064\000\022\000\063\000\
++\\023\000\062\000\024\000\061\000\026\000\060\000\027\000\016\000\000\000\
++\\000\000\
++\\000\000\
++\\027\000\071\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\021\000\077\000\040\000\076\000\041\000\075\000\000\000\
++\\021\000\018\000\024\000\078\000\027\000\016\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
++\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\060\000\082\000\061\000\081\000\000\000\
++\\000\000\
++\\000\000\
++\\006\000\087\000\029\000\050\000\030\000\049\000\036\000\013\000\
++\\038\000\012\000\039\000\011\000\040\000\010\000\043\000\009\000\
++\\044\000\008\000\049\000\086\000\050\000\004\000\055\000\002\000\000\000\
++\\018\000\059\000\020\000\058\000\021\000\018\000\024\000\088\000\
++\\027\000\016\000\036\000\056\000\038\000\055\000\039\000\011\000\
++\\040\000\054\000\043\000\009\000\044\000\008\000\055\000\002\000\000\000\
++\\017\000\066\000\019\000\065\000\021\000\064\000\022\000\089\000\
++\\023\000\062\000\024\000\061\000\026\000\060\000\027\000\016\000\000\000\
++\\000\000\
++\\003\000\098\000\004\000\097\000\005\000\096\000\006\000\095\000\
++\\007\000\094\000\009\000\093\000\010\000\092\000\062\000\091\000\
++\\064\000\090\000\000\000\
++\\032\000\131\000\036\000\130\000\039\000\129\000\040\000\128\000\
++\\043\000\127\000\044\000\126\000\055\000\002\000\000\000\
++\\000\000\
++\\031\000\132\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\026\000\138\000\027\000\071\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\021\000\064\000\023\000\140\000\024\000\078\000\026\000\060\000\
++\\027\000\016\000\000\000\
++\\007\000\141\000\010\000\092\000\064\000\090\000\000\000\
++\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
++\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
++\\047\000\147\000\052\000\146\000\053\000\145\000\054\000\144\000\
++\\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\013\000\155\000\014\000\154\000\000\000\
++\\021\000\157\000\000\000\
++\\040\000\076\000\041\000\158\000\000\000\
++\\000\000\
++\\000\000\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
++\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\060\000\160\000\061\000\081\000\000\000\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
++\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\060\000\161\000\061\000\081\000\000\000\
++\\000\000\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
++\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\061\000\162\000\000\000\
++\\021\000\064\000\022\000\166\000\023\000\062\000\024\000\061\000\
++\\026\000\060\000\027\000\016\000\056\000\165\000\058\000\164\000\000\000\
++\\021\000\018\000\024\000\171\000\027\000\016\000\038\000\170\000\
++\\039\000\011\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\057\000\169\000\059\000\168\000\000\000\
++\\033\000\173\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\029\000\050\000\030\000\049\000\036\000\013\000\038\000\012\000\
++\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
++\\046\000\174\000\049\000\047\000\050\000\004\000\055\000\002\000\000\000\
++\\007\000\175\000\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\003\000\214\000\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\216\000\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\094\000\008\000\222\000\009\000\221\000\010\000\092\000\
++\\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\094\000\009\000\225\000\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\003\000\227\000\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\064\000\230\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\232\000\010\000\092\000\064\000\090\000\000\000\
++\\007\000\233\000\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\094\000\009\000\237\000\010\000\092\000\037\000\236\000\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\235\000\
++\\042\000\234\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\032\000\131\000\036\000\130\000\039\000\129\000\040\000\128\000\
++\\043\000\127\000\044\000\126\000\055\000\002\000\000\000\
++\\007\000\239\000\010\000\092\000\034\000\238\000\064\000\090\000\000\000\
++\\017\000\241\000\021\000\064\000\022\000\089\000\023\000\062\000\
++\\024\000\061\000\026\000\060\000\027\000\016\000\000\000\
++\\007\000\242\000\010\000\092\000\064\000\090\000\000\000\
++\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
++\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
++\\047\000\245\000\052\000\146\000\053\000\244\000\054\000\144\000\
++\\055\000\002\000\000\000\
++\\007\000\239\000\010\000\092\000\034\000\247\000\064\000\090\000\000\000\
++\\000\000\
++\\017\000\248\000\021\000\064\000\022\000\089\000\023\000\062\000\
++\\024\000\061\000\026\000\060\000\027\000\016\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\015\000\002\001\016\000\001\001\021\000\000\001\024\000\255\000\
++\\027\000\016\000\036\000\056\000\038\000\055\000\039\000\011\000\
++\\040\000\054\000\043\000\009\000\044\000\008\000\055\000\002\000\000\000\
++\\015\000\009\001\016\000\001\001\021\000\008\001\024\000\007\001\
++\\025\000\006\001\027\000\016\000\028\000\005\001\000\000\
++\\000\000\
++\\000\000\
++\\013\000\011\001\014\000\154\000\000\000\
++\\013\000\012\001\014\000\154\000\000\000\
++\\000\000\
++\\012\000\013\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
++\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\061\000\162\000\000\000\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
++\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\061\000\162\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\021\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\033\000\024\001\000\000\
++\\000\000\
++\\007\000\026\001\010\000\092\000\064\000\090\000\000\000\
++\\032\000\027\001\039\000\129\000\040\000\128\000\043\000\127\000\
++\\044\000\126\000\055\000\002\000\000\000\
++\\003\000\098\000\004\000\028\001\005\000\096\000\006\000\095\000\
++\\007\000\094\000\009\000\093\000\010\000\092\000\029\000\050\000\
++\\030\000\049\000\036\000\013\000\038\000\012\000\039\000\011\000\
++\\040\000\010\000\043\000\009\000\044\000\008\000\049\000\086\000\
++\\050\000\004\000\055\000\002\000\064\000\090\000\000\000\
++\\000\000\
++\\007\000\029\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\007\000\030\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\031\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\032\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\033\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\034\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\035\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\036\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\037\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\038\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\039\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\040\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\041\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\042\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\043\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\044\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\045\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\046\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\047\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\048\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\049\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\050\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\053\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\054\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\055\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\056\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\057\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\058\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\059\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\060\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\094\000\009\000\061\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\007\000\094\000\009\000\064\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\066\001\010\000\092\000\011\000\065\001\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\094\000\009\000\237\000\010\000\092\000\037\000\068\001\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\235\000\
++\\042\000\234\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\094\000\009\000\071\001\010\000\092\000\064\000\090\000\000\000\
++\\003\000\072\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\007\000\094\000\009\000\074\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\007\000\094\000\008\000\076\001\009\000\221\000\010\000\092\000\
++\\064\000\090\000\000\000\
++\\007\000\094\000\009\000\077\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\003\000\078\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\015\000\080\001\016\000\001\001\021\000\079\001\000\000\
++\\038\000\170\000\039\000\011\000\043\000\009\000\044\000\008\000\
++\\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\239\000\010\000\092\000\034\000\085\001\035\000\084\001\
++\\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
++\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
++\\054\000\089\001\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\016\000\092\001\027\000\071\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\095\001\010\000\092\000\064\000\090\000\000\000\
++\\015\000\098\001\016\000\001\001\021\000\000\001\024\000\078\000\
++\\027\000\016\000\029\000\149\000\030\000\148\000\036\000\013\000\
++\\038\000\012\000\039\000\011\000\040\000\010\000\043\000\009\000\
++\\044\000\008\000\052\000\146\000\053\000\097\001\054\000\144\000\
++\\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\016\000\092\001\027\000\071\000\028\000\102\001\000\000\
++\\000\000\
++\\000\000\
++\\012\000\103\001\000\000\
++\\012\000\104\001\000\000\
++\\000\000\
++\\014\000\106\001\000\000\
++\\007\000\107\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\021\000\064\000\022\000\166\000\023\000\062\000\024\000\061\000\
++\\026\000\060\000\027\000\016\000\056\000\108\001\000\000\
++\\000\000\
++\\007\000\109\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\021\000\064\000\022\000\166\000\023\000\062\000\024\000\061\000\
++\\026\000\060\000\027\000\016\000\056\000\110\001\000\000\
++\\000\000\
++\\032\000\027\001\039\000\129\000\040\000\128\000\043\000\127\000\
++\\044\000\126\000\055\000\002\000\000\000\
++\\007\000\111\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\063\000\112\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\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\003\000\119\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\016\000\092\001\000\000\
++\\000\000\
++\\015\000\098\001\016\000\001\001\021\000\079\001\029\000\149\000\
++\\030\000\148\000\036\000\013\000\038\000\012\000\039\000\011\000\
++\\040\000\010\000\043\000\009\000\044\000\008\000\052\000\146\000\
++\\053\000\097\001\054\000\144\000\055\000\002\000\000\000\
++\\007\000\124\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\012\000\125\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\127\001\010\000\092\000\064\000\090\000\000\000\
++\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
++\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
++\\052\000\146\000\053\000\129\001\054\000\144\000\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\134\001\010\000\092\000\064\000\090\000\000\000\
++\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
++\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
++\\047\000\137\001\052\000\146\000\053\000\136\001\054\000\144\000\
++\\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\142\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\007\000\143\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\007\000\124\001\010\000\092\000\064\000\090\000\000\000\
++\\003\000\144\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\003\000\145\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\007\000\094\000\009\000\146\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\094\000\008\000\147\001\009\000\221\000\010\000\092\000\
++\\064\000\090\000\000\000\
++\\003\000\148\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\239\000\010\000\092\000\034\000\150\001\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\094\000\008\000\160\001\009\000\221\000\010\000\092\000\
++\\064\000\090\000\000\000\
++\\003\000\161\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\003\000\163\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\"
++val numstates = 421
++val numrules = 247
++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 = SourceMap.sourcemap
++structure MlyValue = 
++struct
++datatype svalue = VOID' | ntVOID of unit | TYPE_NAME of  (string)
++ | CCONST of  (LargeInt.int) | STRING of  (string)
++ | REALNUM of  (real) | DECNUM of  (LargeInt.int) | ID of  (string)
++ | strings of  (string) | popScope of  (unit) | pushScope of  (unit)
++ | structDeclaration of  ( ( ctype * (declarator * expression) list ) )
++ | structDeclarationList of  ( ( ctype * (declarator * expression) list )  seq)
++ | notypeStructDeclaratorList of  ( ( declarator * expression )  seq)
++ | structDeclaratorList of  ( ( declarator * expression )  seq)
++ | notypeStructDeclarator of  ( ( declarator * expression ) )
++ | structDeclarator of  ( ( declarator * expression ) )
++ | structOrUnion of  (bool)
++ | parameterDeclaration of  ( ( decltype * declarator ) )
++ | parameterTypeList of  ( ( decltype * declarator )  list)
++ | parameterList of  ( ( decltype * declarator )  seq)
++ | externalDeclaration of  (externalDecl option)
++ | declaration1 of  (declaration) | declaration of  (declaration)
++ | functionDefinition of  (externalDecl)
++ | identlist of  ( ( string * int * int )  seq)
++ | declarationList of  (declaration seq)
++ | fDefDeclaration of  ( ( decltype * declarator ) )
++ | structOrUnionSpecifier of  (specifier)
++ | enumSpecifier of  (specifier) | specifierQualifierList of  (ctype)
++ | typeQualifierList of  (qualifier list)
++ | typeQualifier of  (qualifier)
++ | typeSpecifierReserved of  (specifier)
++ | typeSpecifier of  (specifier) | typeName of  (ctype)
++ | storageClassSpecifier of  (storage)
++ | initializerList of  (expression seq) | initializer of  (expression)
++ | reservedSpecifierQualifiers of  (ctype)
++ | specifierQualifierReserved of  (ctype)
++ | reservedDeclarationSpecifier of  (decltype)
++ | declarationModifiers of  (decltype)
++ | declarationSpecifiers of  (decltype)
++ | parmDirectDeclarator of  (declarator)
++ | notypeDirectDeclarator of  (declarator)
++ | aftertypeDirectDeclarator of  (declarator)
++ | parmDeclarator of  (declarator) | notypeDeclarator of  (declarator)
++ | aftertypeDeclarator of  (declarator) | declarator of  (declarator)
++ | pointer of  (declarator)
++ | notypeInitDeclaratorList of  ( ( declarator * expression )  seq)
++ | initDeclaratorList of  ( ( declarator * expression )  seq)
++ | notypeInitDeclarator of  ( ( declarator * expression ) )
++ | initDeclarator of  ( ( declarator * expression ) )
++ | directAbstractDeclarator of  (declarator)
++ | abstractDeclarator of  (declarator)
++ | enumerator of  ( ( string * expression ) )
++ | enumeratorList of  ( ( string * expression )  seq)
++ | trailingComma of  (bool) | argumentExprList of  (expression seq)
++ | unaryOperator of  (operator) | exprWComma of  (expression)
++ | opExpr of  (expression) | expr of  (expression)
++ | compoundStatement of  (statement)
++ | statementlist of  (statement seq)
++ | ostatementlist of  (statement list) | statement of  (statement)
++ | tu of  (externalDecl seq) | translationUnit of  (externalDecl list)
++end
++type svalue = MlyValue.svalue
++type result = externalDecl list
++end
++structure EC=
++struct
++open LrTable
++infix 5 $$
++fun x $$ y = y::x
++val is_keyword =
++fn (T 11) => true | (T 57) => true | (T 58) => true | (T 59) => true
++ | (T 60) => true | (T 61) => true | (T 62) => true | (T 63) => true
++ | (T 64) => true | (T 65) => true | (T 66) => true | (T 67) => true
++ | (T 68) => true | (T 69) => true | _ => false
++val preferred_change : (term list * term list) list = 
++(nil
++ $$ (T 25),nil
++ $$ (T 88))::
++nil
++val noShift = 
++fn (T 0) => true | _ => false
++val showTerminal =
++fn (T 0) => "EOF"
++  | (T 1) => "COLON"
++  | (T 2) => "SEMICOLON"
++  | (T 3) => "LPAREN"
++  | (T 4) => "RPAREN"
++  | (T 5) => "LCURLY"
++  | (T 6) => "RCURLY"
++  | (T 7) => "LBRACE"
++  | (T 8) => "RBRACE"
++  | (T 9) => "DOT"
++  | (T 10) => "COMMA"
++  | (T 11) => "QUESTION"
++  | (T 12) => "PERCENT"
++  | (T 13) => "AMP"
++  | (T 14) => "BAR"
++  | (T 15) => "TILDE"
++  | (T 16) => "DIVIDE"
++  | (T 17) => "PLUS"
++  | (T 18) => "MINUS"
++  | (T 19) => "HAT"
++  | (T 20) => "BANG"
++  | (T 21) => "TIMES"
++  | (T 22) => "INC"
++  | (T 23) => "DEC"
++  | (T 24) => "ARROW"
++  | (T 25) => "ID"
++  | (T 26) => "EQUALS"
++  | (T 27) => "PLUSEQUALS"
++  | (T 28) => "MINUSEQUALS"
++  | (T 29) => "XOREQUALS"
++  | (T 30) => "MODEQUALS"
++  | (T 31) => "TIMESEQUALS"
++  | (T 32) => "DIVEQUALS"
++  | (T 33) => "OREQUALS"
++  | (T 34) => "ANDEQUALS"
++  | (T 35) => "LSHIFTEQUALS"
++  | (T 36) => "RSHIFTEQUALS"
++  | (T 37) => "LTE"
++  | (T 38) => "GTE"
++  | (T 39) => "LT"
++  | (T 40) => "GT"
++  | (T 41) => "EQ"
++  | (T 42) => "NEQ"
++  | (T 43) => "OR"
++  | (T 44) => "AND"
++  | (T 45) => "LSHIFT"
++  | (T 46) => "RSHIFT"
++  | (T 47) => "DECNUM"
++  | (T 48) => "REALNUM"
++  | (T 49) => "STRING"
++  | (T 50) => "CCONST"
++  | (T 51) => "EXTERN"
++  | (T 52) => "AUTO"
++  | (T 53) => "STATIC"
++  | (T 54) => "REGISTER"
++  | (T 55) => "CONST"
++  | (T 56) => "VOLATILE"
++  | (T 57) => "IF"
++  | (T 58) => "THEN"
++  | (T 59) => "ELSE"
++  | (T 60) => "FOR"
++  | (T 61) => "DO"
++  | (T 62) => "SWITCH"
++  | (T 63) => "CASE"
++  | (T 64) => "DEFAULT"
++  | (T 65) => "WHILE"
++  | (T 66) => "RETURN"
++  | (T 67) => "BREAK"
++  | (T 68) => "CONTINUE"
++  | (T 69) => "GOTO"
++  | (T 70) => "CHAR"
++  | (T 71) => "DOUBLE"
++  | (T 72) => "ENUM"
++  | (T 73) => "FLOAT"
++  | (T 74) => "INT"
++  | (T 75) => "LONG"
++  | (T 76) => "SHORT"
++  | (T 77) => "FRACTIONAL"
++  | (T 78) => "SATURATE"
++  | (T 79) => "STRUCT"
++  | (T 80) => "UNION"
++  | (T 81) => "UNSIGNED"
++  | (T 82) => "SIGNED"
++  | (T 83) => "VOID"
++  | (T 84) => "SIZEOF"
++  | (T 85) => "TYPEDEF"
++  | (T 86) => "UNARY"
++  | (T 87) => "ELIPSIS"
++  | (T 88) => "TYPE_NAME"
++  | _ => "bogus-term"
++local open Header in
++val errtermvalue=
++fn (T 88) => MlyValue.TYPE_NAME((
++Error.hint "Likely cause: missing typedef declaration.\n"; "bogus")) | 
++_ => MlyValue.VOID'
++end
++val terms : term list = nil
++ $$ (T 87) $$ (T 86) $$ (T 85) $$ (T 84) $$ (T 83) $$ (T 82) $$ (T 81)
++ $$ (T 80) $$ (T 79) $$ (T 78) $$ (T 77) $$ (T 76) $$ (T 75) $$ (T 74)
++ $$ (T 73) $$ (T 72) $$ (T 71) $$ (T 70) $$ (T 69) $$ (T 68) $$ (T 67)
++ $$ (T 66) $$ (T 65) $$ (T 64) $$ (T 63) $$ (T 62) $$ (T 61) $$ (T 60)
++ $$ (T 59) $$ (T 58) $$ (T 57) $$ (T 56) $$ (T 55) $$ (T 54) $$ (T 53)
++ $$ (T 52) $$ (T 51) $$ (T 46) $$ (T 45) $$ (T 44) $$ (T 43) $$ (T 42)
++ $$ (T 41) $$ (T 40) $$ (T 39) $$ (T 38) $$ (T 37) $$ (T 36) $$ (T 35)
++ $$ (T 34) $$ (T 33) $$ (T 32) $$ (T 31) $$ (T 30) $$ (T 29) $$ (T 28)
++ $$ (T 27) $$ (T 26) $$ (T 24) $$ (T 23) $$ (T 22) $$ (T 21) $$ (T 20)
++ $$ (T 19) $$ (T 18) $$ (T 17) $$ (T 16) $$ (T 15) $$ (T 14) $$ (T 13)
++ $$ (T 12) $$ (T 11) $$ (T 10) $$ (T 9) $$ (T 8) $$ (T 7) $$ (T 6) $$ 
++(T 5) $$ (T 4) $$ (T 3) $$ (T 2) $$ (T 1) $$ (T 0)end
++structure Actions =
++struct 
 +type int = Int.int
- exception mlyAction of int
- local open Header in
- val actions = 
--fn (i392,defaultPos,stack,
++exception mlyAction of int
++local open Header in
++val actions = 
 +fn (i392:int,defaultPos,stack,
-     (srcMap):arg) =>
- case (i392,stack)
- of  ( 0, ( ( _, ( MlyValue.tu tu, tu1left, tu1right)) :: rest671)) =>
++    (srcMap):arg) =>
++case (i392,stack)
++of  ( 0, ( ( _, ( MlyValue.tu tu, tu1left, tu1right)) :: rest671)) =>
++ let val  result = MlyValue.translationUnit (seqToList tu)
++ in ( LrTable.NT 0, ( result, tu1left, tu1right), rest671)
++end
++|  ( 1, ( rest671)) => let val  result = MlyValue.tu (emptySeq)
++ in ( LrTable.NT 1, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 2, ( ( _, ( MlyValue.externalDeclaration externalDeclaration, _, 
++externalDeclaration1right)) :: ( _, ( MlyValue.tu tu, tu1left, _)) :: 
++rest671)) => let val  result = MlyValue.tu (
++addOptToEnd(externalDeclaration, tu))
++ in ( LrTable.NT 1, ( result, tu1left, externalDeclaration1right), 
++rest671)
++end
++|  ( 3, ( ( _, ( MlyValue.declaration declaration, (declarationleft
++ as declaration1left), (declarationright as declaration1right))) :: 
++rest671)) => let val  result = MlyValue.externalDeclaration (
++SOME(markExternalDecl srcMap (ExternalDecl declaration,
++						                       declarationleft,
++								       declarationright))
++)
++ in ( LrTable.NT 50, ( result, declaration1left, declaration1right), 
++rest671)
++end
++|  ( 4, ( ( _, ( _, SEMICOLON1left, SEMICOLON1right)) :: rest671)) =>
++ let val  result = MlyValue.externalDeclaration (NONE)
++ in ( LrTable.NT 50, ( result, SEMICOLON1left, SEMICOLON1right), 
++rest671)
++end
++|  ( 5, ( ( _, ( MlyValue.functionDefinition functionDefinition, (
++functionDefinitionleft as functionDefinition1left), (
++functionDefinitionright as functionDefinition1right))) :: rest671)) =>
++ let val  result = MlyValue.externalDeclaration (
++SOME(markExternalDecl srcMap (functionDefinition,
++						   	               functionDefinitionleft,
++							               functionDefinitionright))
++)
++ in ( LrTable.NT 50, ( result, functionDefinition1left, 
++functionDefinition1right), rest671)
++end
++|  ( 6, ( ( _, ( MlyValue.statement statement, _, (statementright as 
++statement1right))) :: _ :: ( _, ( MlyValue.opExpr opExpr3, _, _)) :: _
++ :: ( _, ( MlyValue.opExpr opExpr2, _, _)) :: _ :: ( _, ( 
++MlyValue.opExpr opExpr1, _, _)) :: _ :: ( _, ( _, (FORleft as FOR1left
++), _)) :: rest671)) => let val  result = MlyValue.statement (
++markStatement srcMap (For(opExpr1,opExpr2,opExpr3,statement),
++							FORleft, statementright)
++)
++ in ( LrTable.NT 2, ( result, FOR1left, statement1right), rest671)
++end
++|  ( 7, ( ( _, ( MlyValue.statement statement, _, (statementright as 
++statement1right))) :: _ :: ( _, ( MlyValue.exprWComma exprWComma, _, _
++)) :: _ :: ( _, ( _, (WHILEleft as WHILE1left), _)) :: rest671)) =>
++ let val  result = MlyValue.statement (
++markStatement srcMap (While(exprWComma,statement),
++							WHILEleft, statementright)
++)
++ in ( LrTable.NT 2, ( result, WHILE1left, statement1right), rest671)
++
++end
++|  ( 8, ( ( _, ( MlyValue.statement statement, _, (statementright as 
++statement1right))) :: _ :: ( _, ( MlyValue.exprWComma exprWComma, _, _
++)) :: _ :: ( _, ( _, (SWITCHleft as SWITCH1left), _)) :: rest671)) =>
++ let val  result = MlyValue.statement (
++markStatement srcMap (Switch(exprWComma,statement),
++							SWITCHleft, statementright)
++)
++ in ( LrTable.NT 2, ( result, SWITCH1left, statement1right), rest671)
++
++end
++|  ( 9, ( ( _, ( _, _, (SEMICOLONright as SEMICOLON1right))) :: _ :: (
++ _, ( MlyValue.exprWComma exprWComma, _, _)) :: _ :: _ :: ( _, ( 
++MlyValue.statement statement, _, _)) :: ( _, ( _, (DOleft as DO1left),
++ _)) :: rest671)) => let val  result = MlyValue.statement (
++markStatement srcMap (Do(exprWComma,statement),
++							DOleft, SEMICOLONright)
++)
++ in ( LrTable.NT 2, ( result, DO1left, SEMICOLON1right), rest671)
++end
++|  ( 10, ( ( _, ( _, _, (SEMICOLONright as SEMICOLON1right))) :: ( _, 
++( _, (BREAKleft as BREAK1left), _)) :: rest671)) => let val  result = 
++MlyValue.statement (
++markStatement srcMap (Break, 
++							BREAKleft, SEMICOLONright))
++ in ( LrTable.NT 2, ( result, BREAK1left, SEMICOLON1right), rest671)
++
++end
++|  ( 11, ( ( _, ( _, _, (SEMICOLONright as SEMICOLON1right))) :: ( _, 
++( _, (CONTINUEleft as CONTINUE1left), _)) :: rest671)) => let val  
++result = MlyValue.statement (
++markStatement srcMap (Continue, 
++							CONTINUEleft, SEMICOLONright))
++ in ( LrTable.NT 2, ( result, CONTINUE1left, SEMICOLON1right), rest671
++)
++end
++|  ( 12, ( ( _, ( _, _, (SEMICOLONright as SEMICOLON1right))) :: ( _, 
++( MlyValue.opExpr opExpr, _, _)) :: ( _, ( _, (RETURNleft as 
++RETURN1left), _)) :: rest671)) => let val  result = MlyValue.statement
++ (
++markStatement srcMap (Return(opExpr), 
++							RETURNleft, SEMICOLONright)
++)
++ in ( LrTable.NT 2, ( result, RETURN1left, SEMICOLON1right), rest671)
++
++end
++|  ( 13, ( ( _, ( _, _, (SEMICOLONright as SEMICOLON1right))) :: ( _, 
++( MlyValue.ID ID, _, _)) :: ( _, ( _, (GOTOleft as GOTO1left), _)) :: 
++rest671)) => let val  result = MlyValue.statement (
++markStatement srcMap (Goto(ID), 
++							GOTOleft, SEMICOLONright))
++ in ( LrTable.NT 2, ( result, GOTO1left, SEMICOLON1right), rest671)
++
++end
++|  ( 14, ( ( _, ( MlyValue.compoundStatement compoundStatement, 
++compoundStatement1left, compoundStatement1right)) :: rest671)) => let
++ val  result = MlyValue.statement (compoundStatement)
++ in ( LrTable.NT 2, ( result, compoundStatement1left, 
++compoundStatement1right), rest671)
++end
++|  ( 15, ( ( _, ( MlyValue.statement statement, _, (statementright as 
++statement1right))) :: _ :: ( _, ( MlyValue.ID ID, (IDleft as ID1left),
++ _)) :: rest671)) => let val  result = MlyValue.statement (
++markStatement srcMap (Labeled(ID,statement),
++							IDleft,statementright)
++)
++ in ( LrTable.NT 2, ( result, ID1left, statement1right), rest671)
++end
++|  ( 16, ( ( _, ( MlyValue.statement statement, _, (statementright as 
++statement1right))) :: _ :: ( _, ( _, (DEFAULTleft as DEFAULT1left), _)
++) :: rest671)) => let val  result = MlyValue.statement (
++markStatement srcMap (DefaultLabel(statement),
++							DEFAULTleft, statementright)
++)
++ in ( LrTable.NT 2, ( result, DEFAULT1left, statement1right), rest671)
++
++end
++|  ( 17, ( ( _, ( MlyValue.statement statement, _, (statementright as 
++statement1right))) :: _ :: ( _, ( MlyValue.exprWComma exprWComma, _, _
++)) :: ( _, ( _, (CASEleft as CASE1left), _)) :: rest671)) => let val  
++result = MlyValue.statement (
++markStatement srcMap (CaseLabel(exprWComma,statement),
++							CASEleft, statementright)
++)
++ in ( LrTable.NT 2, ( result, CASE1left, statement1right), rest671)
++
++end
++|  ( 18, ( ( _, ( MlyValue.statement statement, _, (statementright as 
++statement1right))) :: _ :: ( _, ( MlyValue.exprWComma exprWComma, _, _
++)) :: _ :: ( _, ( _, (IFleft as IF1left), _)) :: rest671)) => let val 
++ result = MlyValue.statement (
++markStatement srcMap (IfThen(exprWComma,statement),
++							IFleft, statementright)
++)
++ in ( LrTable.NT 2, ( result, IF1left, statement1right), rest671)
++end
++|  ( 19, ( ( _, ( MlyValue.statement statement2, _, statement2right))
++ :: _ :: ( _, ( MlyValue.statement statement1, _, _)) :: _ :: ( _, ( 
++MlyValue.exprWComma exprWComma, _, _)) :: _ :: ( _, ( _, (IFleft as 
++IF1left), _)) :: rest671)) => let val  result = MlyValue.statement (
++markStatement srcMap (IfThenElse(exprWComma,statement1,statement2),
++							IFleft,
++							statement2right)
++)
++ in ( LrTable.NT 2, ( result, IF1left, statement2right), rest671)
++end
++|  ( 20, ( ( _, ( _, _, (SEMICOLONright as SEMICOLON1right))) :: ( _, 
++( MlyValue.exprWComma exprWComma, (exprWCommaleft as exprWComma1left),
++ _)) :: rest671)) => let val  result = MlyValue.statement (
++markStatement srcMap (Expr(exprWComma),
++							exprWCommaleft, SEMICOLONright)
++)
++ in ( LrTable.NT 2, ( result, exprWComma1left, SEMICOLON1right), 
++rest671)
++end
++|  ( 21, ( ( _, ( _, (SEMICOLONleft as SEMICOLON1left), (
++SEMICOLONright as SEMICOLON1right))) :: rest671)) => let val  result =
++ MlyValue.statement (
++markStatement srcMap (Expr(EmptyExpr),
++							SEMICOLONleft, SEMICOLONright)
++)
++ in ( LrTable.NT 2, ( result, SEMICOLON1left, SEMICOLON1right), 
++rest671)
++end
++|  ( 22, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( 
++MlyValue.declaration1 declaration1, declaration11left, _)) :: rest671)
++) => let val  result = MlyValue.declaration (declaration1)
++ in ( LrTable.NT 48, ( result, declaration11left, SEMICOLON1right), 
++rest671)
++end
++|  ( 23, ( ( _, ( MlyValue.declarationSpecifiers declarationSpecifiers
++, (declarationSpecifiersleft as declarationSpecifiers1left), (
++declarationSpecifiersright as declarationSpecifiers1right))) :: 
++rest671)) => let val  result = MlyValue.declaration1 (
++insertDeclNames (declarationSpecifiers, []);
++		 markDeclaration srcMap
++		   (Declaration(declarationSpecifiers, []), 
++		    declarationSpecifiersleft, declarationSpecifiersright)
++)
++ in ( LrTable.NT 49, ( result, declarationSpecifiers1left, 
++declarationSpecifiers1right), rest671)
++end
++|  ( 24, ( ( _, ( MlyValue.initDeclaratorList initDeclaratorList, _, (
++initDeclaratorListright as initDeclaratorList1right))) :: ( _, ( 
++MlyValue.declarationSpecifiers declarationSpecifiers, (
++declarationSpecifiersleft as declarationSpecifiers1left), _)) :: 
++rest671)) => let val  result = MlyValue.declaration1 (
++let val decl = (declarationSpecifiers, seqToList initDeclaratorList)
++		  in insertDeclNames decl;
++		     markDeclaration srcMap
++		       (Declaration decl, declarationSpecifiersleft, initDeclaratorListright)
++	         end
++)
++ in ( LrTable.NT 49, ( result, declarationSpecifiers1left, 
++initDeclaratorList1right), rest671)
++end
++|  ( 25, ( ( _, ( MlyValue.notypeInitDeclaratorList 
++notypeInitDeclaratorList, _, (notypeInitDeclaratorListright as 
++notypeInitDeclaratorList1right))) :: ( _, ( 
++MlyValue.declarationModifiers declarationModifiers, (
++declarationModifiersleft as declarationModifiers1left), _)) :: rest671
++)) => let val  result = MlyValue.declaration1 (
++let val decl = (declarationModifiers, seqToList notypeInitDeclaratorList)
++		  in insertDeclNames decl;
++		     markDeclaration srcMap
++		       (Declaration decl, declarationModifiersleft, notypeInitDeclaratorListright)
++	         end
++)
++ in ( LrTable.NT 49, ( result, declarationModifiers1left, 
++notypeInitDeclaratorList1right), rest671)
++end
++|  ( 26, ( ( _, ( MlyValue.statementlist statementlist, 
++statementlist1left, statementlist1right)) :: rest671)) => let val  
++result = MlyValue.ostatementlist (seqToList statementlist)
++ in ( LrTable.NT 3, ( result, statementlist1left, statementlist1right)
++, rest671)
++end
++|  ( 27, ( rest671)) => let val  result = MlyValue.ostatementlist ([])
++ in ( LrTable.NT 3, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 28, ( ( _, ( MlyValue.statement statement, statement1left, 
++statement1right)) :: rest671)) => let val  result = 
++MlyValue.statementlist (singletonSeq statement)
++ in ( LrTable.NT 4, ( result, statement1left, statement1right), 
++rest671)
++end
++|  ( 29, ( ( _, ( MlyValue.statement statement, _, statement1right))
++ :: ( _, ( MlyValue.statementlist statementlist, statementlist1left, _
++)) :: rest671)) => let val  result = MlyValue.statementlist (
++addToSeq(statement, statementlist))
++ in ( LrTable.NT 4, ( result, statementlist1left, statement1right), 
++rest671)
++end
++|  ( 30, ( ( _, ( _, _, (RCURLYright as RCURLY1right))) :: _ :: ( _, (
++ MlyValue.ostatementlist ostatementlist, _, _)) :: ( _, ( 
++MlyValue.declarationList declarationList, _, _)) :: _ :: ( _, ( _, (
++LCURLYleft as LCURLY1left), _)) :: rest671)) => let val  result = 
++MlyValue.compoundStatement (
++markStatement srcMap (Compound ((map Decl (seqToList declarationList)) @ ostatementlist), LCURLYleft, RCURLYright)
++)
++ in ( LrTable.NT 5, ( result, LCURLY1left, RCURLY1right), rest671)
++end
++|  ( 31, ( ( _, ( _, _, (RCURLYright as RCURLY1right))) :: ( _, ( 
++MlyValue.ostatementlist ostatementlist, _, _)) :: ( _, ( _, (
++LCURLYleft as LCURLY1left), _)) :: rest671)) => let val  result = 
++MlyValue.compoundStatement (
++markStatement srcMap (Compound (ostatementlist), LCURLYleft, RCURLYright)
++)
++ in ( LrTable.NT 5, ( result, LCURLY1left, RCURLY1right), rest671)
++end
++|  ( 32, ( ( _, ( _, AMP1left, AMP1right)) :: rest671)) => let val  
++result = MlyValue.unaryOperator (AddrOf)
++ in ( LrTable.NT 9, ( result, AMP1left, AMP1right), rest671)
++end
++|  ( 33, ( ( _, ( _, TIMES1left, TIMES1right)) :: rest671)) => let
++ val  result = MlyValue.unaryOperator (Star)
++ in ( LrTable.NT 9, ( result, TIMES1left, TIMES1right), rest671)
++end
++|  ( 34, ( ( _, ( _, PLUS1left, PLUS1right)) :: rest671)) => let val  
++result = MlyValue.unaryOperator (Uplus)
++ in ( LrTable.NT 9, ( result, PLUS1left, PLUS1right), rest671)
++end
++|  ( 35, ( ( _, ( _, MINUS1left, MINUS1right)) :: rest671)) => let
++ val  result = MlyValue.unaryOperator (Negate)
++ in ( LrTable.NT 9, ( result, MINUS1left, MINUS1right), rest671)
++end
++|  ( 36, ( ( _, ( _, TILDE1left, TILDE1right)) :: rest671)) => let
++ val  result = MlyValue.unaryOperator (BitNot)
++ in ( LrTable.NT 9, ( result, TILDE1left, TILDE1right), rest671)
++end
++|  ( 37, ( ( _, ( _, BANG1left, BANG1right)) :: rest671)) => let val  
++result = MlyValue.unaryOperator (Not)
++ in ( LrTable.NT 9, ( result, BANG1left, BANG1right), rest671)
++end
++|  ( 38, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.exprWComma exprWComma1, _, _)) :: _ :: ( _, ( MlyValue.expr 
++expr1, expr1left, _)) :: rest671)) => let val  result = MlyValue.expr
++ (
++markExpression srcMap (QuestionColon(expr1,exprWComma1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 39, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(PlusAssign,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 40, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(MinusAssign,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 41, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(TimesAssign,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 42, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(DivAssign,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 43, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(ModAssign,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 44, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(XorAssign,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 45, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(OrAssign,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 46, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(AndAssign,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 47, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(LshiftAssign,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 48, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(RshiftAssign,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 49, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Assign,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 50, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Or,expr1,expr2),expr1left,expr2right))
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 51, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(And,expr1,expr2),expr1left,expr2right))
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 52, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(BitOr,expr1,expr2),expr1left,expr2right))
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 53, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(BitXor,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 54, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(BitAnd,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 55, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Eq,expr1,expr2),expr1left,expr2right))
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 56, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Neq,expr1,expr2),expr1left,expr2right))
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 57, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Lt,expr1,expr2),expr1left,expr2right))
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 58, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Gt,expr1,expr2),expr1left,expr2right))
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 59, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Lte,expr1,expr2),expr1left,expr2right))
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 60, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Gte,expr1,expr2),expr1left,expr2right))
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 61, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Lshift,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 62, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Rshift,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 63, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Plus,expr1,expr2),expr1left,expr2right))
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 64, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Minus,expr1,expr2),expr1left,expr2right))
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 65, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Times,expr1,expr2),expr1left,expr2right))
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 66, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Divide,expr1,expr2),expr1left,expr2right)
++)
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 67, ( ( _, ( MlyValue.expr expr2, _, expr2right)) :: _ :: ( _, ( 
++MlyValue.expr expr1, expr1left, _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Mod,expr1,expr2),expr1left,expr2right))
++ in ( LrTable.NT 6, ( result, expr1left, expr2right), rest671)
++end
++|  ( 68, ( ( _, ( _, _, (INCright as INC1right))) :: ( _, ( 
++MlyValue.expr expr, (exprleft as expr1left), _)) :: rest671)) => let
++ val  result = MlyValue.expr (
++markExpression srcMap (Unop(PostInc,expr),exprleft,INCright))
++ in ( LrTable.NT 6, ( result, expr1left, INC1right), rest671)
++end
++|  ( 69, ( ( _, ( _, _, (DECright as DEC1right))) :: ( _, ( 
++MlyValue.expr expr, (exprleft as expr1left), _)) :: rest671)) => let
++ val  result = MlyValue.expr (
++markExpression srcMap (Unop(PostDec,expr),exprleft,DECright))
++ in ( LrTable.NT 6, ( result, expr1left, DEC1right), rest671)
++end
++|  ( 70, ( ( _, ( MlyValue.expr expr, _, (exprright as expr1right)))
++ :: ( _, ( _, (INCleft as INC1left), _)) :: rest671)) => let val  
++result = MlyValue.expr (
++markExpression srcMap (Unop(PreInc,expr),INCleft,exprright))
++ in ( LrTable.NT 6, ( result, INC1left, expr1right), rest671)
++end
++|  ( 71, ( ( _, ( MlyValue.expr expr, _, (exprright as expr1right)))
++ :: ( _, ( _, (DECleft as DEC1left), _)) :: rest671)) => let val  
++result = MlyValue.expr (
++markExpression srcMap (Unop(PreDec,expr),DECleft,exprright))
++ in ( LrTable.NT 6, ( result, DEC1left, expr1right), rest671)
++end
++|  ( 72, ( ( _, ( MlyValue.expr expr, _, (exprright as expr1right)))
++ :: ( _, ( MlyValue.unaryOperator unaryOperator, (unaryOperatorleft
++ as unaryOperator1left), _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Unop(unaryOperator,expr),unaryOperatorleft,exprright)
++)
++ in ( LrTable.NT 6, ( result, unaryOperator1left, expr1right), rest671
++)
++end
++|  ( 73, ( ( _, ( MlyValue.expr expr, _, (exprright as expr1right)))
++ :: ( _, ( _, (SIZEOFleft as SIZEOF1left), _)) :: rest671)) => let
++ val  result = MlyValue.expr (
++markExpression srcMap (Unop(Sizeof,expr),SIZEOFleft,exprright))
++ in ( LrTable.NT 6, ( result, SIZEOF1left, expr1right), rest671)
++end
++|  ( 74, ( ( _, ( MlyValue.expr expr, _, (exprright as expr1right)))
++ :: _ :: ( _, ( MlyValue.typeName typeName, _, _)) :: ( _, ( _, (
++LPARENleft as LPAREN1left), _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Cast (typeName,expr),LPARENleft,exprright))
++ in ( LrTable.NT 6, ( result, LPAREN1left, expr1right), rest671)
++end
++|  ( 75, ( ( _, ( _, _, (RPARENright as RPAREN1right))) :: ( _, ( 
++MlyValue.typeName typeName, _, _)) :: _ :: ( _, ( _, (SIZEOFleft as 
++SIZEOF1left), _)) :: rest671)) => let val  result = MlyValue.expr (
++markExpression srcMap (Unop(SizeofType typeName,EmptyExpr),SIZEOFleft,RPARENright)
++)
++ in ( LrTable.NT 6, ( result, SIZEOF1left, RPAREN1right), rest671)
++end
++|  ( 76, ( ( _, ( _, _, (RBRACEright as RBRACE1right))) :: ( _, ( 
++MlyValue.exprWComma exprWComma, _, _)) :: _ :: ( _, ( MlyValue.expr 
++expr, (exprleft as expr1left), _)) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (Binop(Sub,expr,exprWComma),exprleft,RBRACEright)
++)
++ in ( LrTable.NT 6, ( result, expr1left, RBRACE1right), rest671)
++end
++|  ( 77, ( ( _, ( _, _, (RPARENright as RPAREN1right))) :: _ :: ( _, (
++ MlyValue.expr expr, (exprleft as expr1left), _)) :: rest671)) => let
++ val  result = MlyValue.expr (
++markExpression srcMap (Call(expr,[]),exprleft,RPARENright))
++ in ( LrTable.NT 6, ( result, expr1left, RPAREN1right), rest671)
++end
++|  ( 78, ( ( _, ( _, _, (RPARENright as RPAREN1right))) :: ( _, ( 
++MlyValue.argumentExprList argumentExprList, _, _)) :: _ :: ( _, ( 
++MlyValue.expr expr, (exprleft as expr1left), _)) :: rest671)) => let
++ val  result = MlyValue.expr (
++markExpression srcMap (Call(expr, seqToList argumentExprList),exprleft,RPARENright)
++)
++ in ( LrTable.NT 6, ( result, expr1left, RPAREN1right), rest671)
++end
++|  ( 79, ( ( _, ( MlyValue.ID ID, _, (IDright as ID1right))) :: _ :: (
++ _, ( MlyValue.expr expr, (exprleft as expr1left), _)) :: rest671)) =>
++ let val  result = MlyValue.expr (
++markExpression srcMap (Binop(Dot,expr,Id(ID)),exprleft,IDright))
++ in ( LrTable.NT 6, ( result, expr1left, ID1right), rest671)
++end
++|  ( 80, ( ( _, ( MlyValue.ID ID, _, (IDright as ID1right))) :: _ :: (
++ _, ( MlyValue.expr expr, (exprleft as expr1left), _)) :: rest671)) =>
++ let val  result = MlyValue.expr (
++markExpression srcMap (Binop(Arrow,expr,Id(ID)),exprleft,IDright))
++ in ( LrTable.NT 6, ( result, expr1left, ID1right), rest671)
++end
++|  ( 81, ( ( _, ( MlyValue.TYPE_NAME TYPE_NAME, _, (TYPE_NAMEright as 
++TYPE_NAME1right))) :: _ :: ( _, ( MlyValue.expr expr, (exprleft as 
++expr1left), _)) :: rest671)) => let val  result = MlyValue.expr (
++markExpression srcMap (Binop(Dot,expr,Id(TYPE_NAME)),exprleft,TYPE_NAMEright)
++)
++ in ( LrTable.NT 6, ( result, expr1left, TYPE_NAME1right), rest671)
++
++end
++|  ( 82, ( ( _, ( MlyValue.TYPE_NAME TYPE_NAME, _, (TYPE_NAMEright as 
++TYPE_NAME1right))) :: _ :: ( _, ( MlyValue.expr expr, (exprleft as 
++expr1left), _)) :: rest671)) => let val  result = MlyValue.expr (
++markExpression srcMap (Binop(Arrow,expr,Id(TYPE_NAME)),exprleft,TYPE_NAMEright)
++)
++ in ( LrTable.NT 6, ( result, expr1left, TYPE_NAME1right), rest671)
++
++end
++|  ( 83, ( ( _, ( _, _, (RPARENright as RPAREN1right))) :: ( _, ( 
++MlyValue.exprWComma exprWComma, _, _)) :: ( _, ( _, (LPARENleft as 
++LPAREN1left), _)) :: rest671)) => let val  result = MlyValue.expr (
++markExpression srcMap (exprWComma,LPARENleft,RPARENright))
++ in ( LrTable.NT 6, ( result, LPAREN1left, RPAREN1right), rest671)
++end
++|  ( 84, ( ( _, ( MlyValue.DECNUM DECNUM, (DECNUMleft as DECNUM1left),
++ (DECNUMright as DECNUM1right))) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (IntConst DECNUM,DECNUMleft,DECNUMright))
++ in ( LrTable.NT 6, ( result, DECNUM1left, DECNUM1right), rest671)
++end
++|  ( 85, ( ( _, ( MlyValue.REALNUM REALNUM, (REALNUMleft as 
++REALNUM1left), (REALNUMright as REALNUM1right))) :: rest671)) => let
++ val  result = MlyValue.expr (
++markExpression srcMap (RealConst REALNUM, REALNUMleft,REALNUMright))
++ in ( LrTable.NT 6, ( result, REALNUM1left, REALNUM1right), rest671)
++
++end
++|  ( 86, ( ( _, ( MlyValue.CCONST CCONST, (CCONSTleft as CCONST1left),
++ (CCONSTright as CCONST1right))) :: rest671)) => let val  result = 
++MlyValue.expr (
++markExpression srcMap (IntConst CCONST, CCONSTleft,CCONSTright))
++ in ( LrTable.NT 6, ( result, CCONST1left, CCONST1right), rest671)
++end
++|  ( 87, ( ( _, ( MlyValue.ID ID, (IDleft as ID1left), (IDright as 
++ID1right))) :: rest671)) => let val  result = MlyValue.expr (
++markExpression srcMap (Id(ID), IDleft, IDright))
++ in ( LrTable.NT 6, ( result, ID1left, ID1right), rest671)
++end
++|  ( 88, ( ( _, ( MlyValue.strings strings, (stringsleft as 
++strings1left), (stringsright as strings1right))) :: rest671)) => let
++ val  result = MlyValue.expr (
++markExpression srcMap (String(strings),stringsleft,stringsright))
++ in ( LrTable.NT 6, ( result, strings1left, strings1right), rest671)
++
++end
++|  ( 89, ( ( _, ( MlyValue.STRING STRING, STRING1left, STRING1right))
++ :: rest671)) => let val  result = MlyValue.strings (STRING)
++ in ( LrTable.NT 63, ( result, STRING1left, STRING1right), rest671)
++
++end
++|  ( 90, ( ( _, ( MlyValue.strings strings, _, strings1right)) :: ( _,
++ ( MlyValue.STRING STRING, STRING1left, _)) :: rest671)) => let val  
++result = MlyValue.strings (STRING ^ strings)
++ in ( LrTable.NT 63, ( result, STRING1left, strings1right), rest671)
++
++end
++|  ( 91, ( ( _, ( MlyValue.expr expr, expr1left, expr1right)) :: 
++rest671)) => let val  result = MlyValue.exprWComma (expr)
++ in ( LrTable.NT 8, ( result, expr1left, expr1right), rest671)
++end
++|  ( 92, ( ( _, ( MlyValue.expr expr, _, (exprright as expr1right)))
++ :: _ :: ( _, ( MlyValue.exprWComma exprWComma, (exprWCommaleft as 
++exprWComma1left), _)) :: rest671)) => let val  result = 
++MlyValue.exprWComma (
++markExpression srcMap (Binop(Comma,exprWComma,expr),exprWCommaleft,exprright)
++)
++ in ( LrTable.NT 8, ( result, exprWComma1left, expr1right), rest671)
++
++end
++|  ( 93, ( rest671)) => let val  result = MlyValue.opExpr (EmptyExpr)
++ in ( LrTable.NT 7, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 94, ( ( _, ( MlyValue.exprWComma exprWComma, exprWComma1left, 
++exprWComma1right)) :: rest671)) => let val  result = MlyValue.opExpr (
++exprWComma)
++ in ( LrTable.NT 7, ( result, exprWComma1left, exprWComma1right), 
++rest671)
++end
++|  ( 95, ( ( _, ( MlyValue.expr expr, expr1left, expr1right)) :: 
++rest671)) => let val  result = MlyValue.argumentExprList (
++singletonSeq expr)
++ in ( LrTable.NT 10, ( result, expr1left, expr1right), rest671)
++end
++|  ( 96, ( ( _, ( MlyValue.expr expr, _, expr1right)) :: _ :: ( _, ( 
++MlyValue.argumentExprList argumentExprList, argumentExprList1left, _))
++ :: rest671)) => let val  result = MlyValue.argumentExprList (
++addToSeq(expr, argumentExprList))
++ in ( LrTable.NT 10, ( result, argumentExprList1left, expr1right), 
++rest671)
++end
++|  ( 97, ( ( _, ( MlyValue.specifierQualifierList 
++specifierQualifierList, specifierQualifierList1left, 
++specifierQualifierList1right)) :: rest671)) => let val  result = 
++MlyValue.typeName (specifierQualifierList)
++ in ( LrTable.NT 36, ( result, specifierQualifierList1left, 
++specifierQualifierList1right), rest671)
++end
++|  ( 98, ( ( _, ( MlyValue.abstractDeclarator abstractDeclarator, _, 
++abstractDeclarator1right)) :: ( _, ( MlyValue.specifierQualifierList 
++specifierQualifierList, specifierQualifierList1left, _)) :: rest671))
++ => let val  result = MlyValue.typeName (
++#1 (ctypeDecrToTypeName (specifierQualifierList, abstractDeclarator)))
++ in ( LrTable.NT 36, ( result, specifierQualifierList1left, 
++abstractDeclarator1right), rest671)
++end
++|  ( 99, ( ( _, ( MlyValue.reservedDeclarationSpecifier 
++reservedDeclarationSpecifier, _, reservedDeclarationSpecifier1right))
++ :: ( _, ( MlyValue.typeSpecifier typeSpecifier, typeSpecifier1left, _
++)) :: rest671)) => let val  result = MlyValue.declarationSpecifiers (
++addSpecifier (typeSpecifier,
++						        reservedDeclarationSpecifier)
++)
++ in ( LrTable.NT 28, ( result, typeSpecifier1left, 
++reservedDeclarationSpecifier1right), rest671)
++end
++|  ( 100, ( ( _, ( MlyValue.reservedDeclarationSpecifier 
++reservedDeclarationSpecifier, _, reservedDeclarationSpecifier1right))
++ :: ( _, ( MlyValue.typeSpecifier typeSpecifier, _, _)) :: ( _, ( 
++MlyValue.declarationModifiers declarationModifiers, 
++declarationModifiers1left, _)) :: rest671)) => let val  result = 
++MlyValue.declarationSpecifiers (
++addAll (declarationModifiers,
++                                                  addSpecifier (typeSpecifier,
++							         reservedDeclarationSpecifier))
++)
++ in ( LrTable.NT 28, ( result, declarationModifiers1left, 
++reservedDeclarationSpecifier1right), rest671)
++end
++|  ( 101, ( rest671)) => let val  result = 
++MlyValue.reservedDeclarationSpecifier (unknown)
++ in ( LrTable.NT 30, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 102, ( ( _, ( MlyValue.specifierQualifierReserved 
++specifierQualifierReserved, _, specifierQualifierReserved1right)) :: (
++ _, ( MlyValue.reservedDeclarationSpecifier 
++reservedDeclarationSpecifier, reservedDeclarationSpecifier1left, _))
++ :: rest671)) => let val  result = 
++MlyValue.reservedDeclarationSpecifier (
++let val {qualifiers,specifiers} = specifierQualifierReserved
++					     val decltype = {qualifiers=qualifiers,specifiers=specifiers,storage=[]}
++	   				 in addAll (decltype, reservedDeclarationSpecifier) end 
++)
++ in ( LrTable.NT 30, ( result, reservedDeclarationSpecifier1left, 
++specifierQualifierReserved1right), rest671)
++end
++|  ( 103, ( ( _, ( MlyValue.storageClassSpecifier 
++storageClassSpecifier, _, storageClassSpecifier1right)) :: ( _, ( 
++MlyValue.reservedDeclarationSpecifier reservedDeclarationSpecifier, 
++reservedDeclarationSpecifier1left, _)) :: rest671)) => let val  result
++ = MlyValue.reservedDeclarationSpecifier (
++addStorage (storageClassSpecifier,
++                                                      reservedDeclarationSpecifier)
++)
++ in ( LrTable.NT 30, ( result, reservedDeclarationSpecifier1left, 
++storageClassSpecifier1right), rest671)
++end
++|  ( 104, ( ( _, ( MlyValue.typeSpecifierReserved 
++typeSpecifierReserved, typeSpecifierReserved1left, 
++typeSpecifierReserved1right)) :: rest671)) => let val  result = 
++MlyValue.specifierQualifierReserved (
++{qualifiers=[],specifiers=[typeSpecifierReserved]})
++ in ( LrTable.NT 31, ( result, typeSpecifierReserved1left, 
++typeSpecifierReserved1right), rest671)
++end
++|  ( 105, ( ( _, ( MlyValue.typeQualifier typeQualifier, 
++typeQualifier1left, typeQualifier1right)) :: rest671)) => let val  
++result = MlyValue.specifierQualifierReserved (
++{qualifiers=[typeQualifier],specifiers=[]})
++ in ( LrTable.NT 31, ( result, typeQualifier1left, typeQualifier1right
++), rest671)
++end
++|  ( 106, ( ( _, ( MlyValue.structOrUnionSpecifier 
++structOrUnionSpecifier, structOrUnionSpecifier1left, 
++structOrUnionSpecifier1right)) :: rest671)) => let val  result = 
++MlyValue.specifierQualifierReserved (
++{qualifiers=[],specifiers=[structOrUnionSpecifier]})
++ in ( LrTable.NT 31, ( result, structOrUnionSpecifier1left, 
++structOrUnionSpecifier1right), rest671)
++end
++|  ( 107, ( ( _, ( MlyValue.enumSpecifier enumSpecifier, 
++enumSpecifier1left, enumSpecifier1right)) :: rest671)) => let val  
++result = MlyValue.specifierQualifierReserved (
++{qualifiers=[],specifiers=[enumSpecifier]})
++ in ( LrTable.NT 31, ( result, enumSpecifier1left, enumSpecifier1right
++), rest671)
++end
++|  ( 108, ( ( _, ( MlyValue.storageClassSpecifier 
++storageClassSpecifier, storageClassSpecifier1left, 
++storageClassSpecifier1right)) :: rest671)) => let val  result = 
++MlyValue.declarationModifiers (
++{storage = [storageClassSpecifier],
++					  qualifiers = [],
++					  specifiers = []}
++)
++ in ( LrTable.NT 29, ( result, storageClassSpecifier1left, 
++storageClassSpecifier1right), rest671)
++end
++|  ( 109, ( ( _, ( MlyValue.storageClassSpecifier 
++storageClassSpecifier, _, storageClassSpecifier1right)) :: ( _, ( 
++MlyValue.declarationModifiers declarationModifiers, 
++declarationModifiers1left, _)) :: rest671)) => let val  result = 
++MlyValue.declarationModifiers (
++addStorage(storageClassSpecifier,declarationModifiers))
++ in ( LrTable.NT 29, ( result, declarationModifiers1left, 
++storageClassSpecifier1right), rest671)
++end
++|  ( 110, ( ( _, ( MlyValue.typeQualifier typeQualifier, 
++typeQualifier1left, typeQualifier1right)) :: rest671)) => let val  
++result = MlyValue.declarationModifiers (
++{specifiers = [],
++	 				  storage = [], 
++					  qualifiers = [typeQualifier]}
++)
++ in ( LrTable.NT 29, ( result, typeQualifier1left, typeQualifier1right
++), rest671)
++end
++|  ( 111, ( ( _, ( MlyValue.typeQualifier typeQualifier, _, 
++typeQualifier1right)) :: ( _, ( MlyValue.declarationModifiers 
++declarationModifiers, declarationModifiers1left, _)) :: rest671)) =>
++ let val  result = MlyValue.declarationModifiers (
++addQualifier(typeQualifier, declarationModifiers))
++ in ( LrTable.NT 29, ( result, declarationModifiers1left, 
++typeQualifier1right), rest671)
++end
++|  ( 112, ( ( _, ( MlyValue.reservedSpecifierQualifiers 
++reservedSpecifierQualifiers, _, reservedSpecifierQualifiers1right)) ::
++ ( _, ( MlyValue.typeSpecifier typeSpecifier, typeSpecifier1left, _))
++ :: rest671)) => let val  result = MlyValue.specifierQualifierList (
++let val {specifiers, qualifiers} = reservedSpecifierQualifiers
++	                                 in {specifiers=typeSpecifier::specifiers,qualifiers=qualifiers} end
++)
++ in ( LrTable.NT 41, ( result, typeSpecifier1left, 
++reservedSpecifierQualifiers1right), rest671)
++end
++|  ( 113, ( ( _, ( MlyValue.reservedSpecifierQualifiers 
++reservedSpecifierQualifiers, _, reservedSpecifierQualifiers1right)) ::
++ ( _, ( MlyValue.typeSpecifier typeSpecifier, _, _)) :: ( _, ( 
++MlyValue.typeQualifierList typeQualifierList, typeQualifierList1left,
++ _)) :: rest671)) => let val  result = MlyValue.specifierQualifierList
++ (
++let val {specifiers, qualifiers} = reservedSpecifierQualifiers
++	                                 in {specifiers=typeSpecifier::specifiers
++					    ,qualifiers=typeQualifierList@qualifiers
++                                            }
++                                         end
++)
++ in ( LrTable.NT 41, ( result, typeQualifierList1left, 
++reservedSpecifierQualifiers1right), rest671)
++end
++|  ( 114, ( rest671)) => let val  result = 
++MlyValue.reservedSpecifierQualifiers ({qualifiers=[],specifiers=[]})
++ in ( LrTable.NT 32, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 115, ( ( _, ( MlyValue.specifierQualifierReserved 
++specifierQualifierReserved, _, specifierQualifierReserved1right)) :: (
++ _, ( MlyValue.reservedSpecifierQualifiers reservedSpecifierQualifiers
++, reservedSpecifierQualifiers1left, _)) :: rest671)) => let val  
++result = MlyValue.reservedSpecifierQualifiers (
++let val {specifiers=s1, qualifiers=q1} = reservedSpecifierQualifiers
++					     val {specifiers=s2, qualifiers=q2} = specifierQualifierReserved
++	                                 in {specifiers=s1@s2, qualifiers=q1@q2} end
++)
++ in ( LrTable.NT 32, ( result, reservedSpecifierQualifiers1left, 
++specifierQualifierReserved1right), rest671)
++end
++|  ( 116, ( ( _, ( MlyValue.typeQualifier typeQualifier, 
++typeQualifier1left, typeQualifier1right)) :: rest671)) => let val  
++result = MlyValue.typeQualifierList ([typeQualifier])
++ in ( LrTable.NT 40, ( result, typeQualifier1left, typeQualifier1right
++), rest671)
++end
++|  ( 117, ( ( _, ( MlyValue.typeQualifierList typeQualifierList, _, 
++typeQualifierList1right)) :: ( _, ( MlyValue.typeQualifier 
++typeQualifier, typeQualifier1left, _)) :: rest671)) => let val  result
++ = MlyValue.typeQualifierList (typeQualifier::typeQualifierList)
++ in ( LrTable.NT 40, ( result, typeQualifier1left, 
++typeQualifierList1right), rest671)
++end
++|  ( 118, ( ( _, ( MlyValue.typeSpecifierReserved 
++typeSpecifierReserved, typeSpecifierReserved1left, 
++typeSpecifierReserved1right)) :: rest671)) => let val  result = 
++MlyValue.typeSpecifier (typeSpecifierReserved)
++ in ( LrTable.NT 37, ( result, typeSpecifierReserved1left, 
++typeSpecifierReserved1right), rest671)
++end
++|  ( 119, ( ( _, ( MlyValue.structOrUnionSpecifier 
++structOrUnionSpecifier, structOrUnionSpecifier1left, 
++structOrUnionSpecifier1right)) :: rest671)) => let val  result = 
++MlyValue.typeSpecifier (structOrUnionSpecifier)
++ in ( LrTable.NT 37, ( result, structOrUnionSpecifier1left, 
++structOrUnionSpecifier1right), rest671)
++end
++|  ( 120, ( ( _, ( MlyValue.enumSpecifier enumSpecifier, 
++enumSpecifier1left, enumSpecifier1right)) :: rest671)) => let val  
++result = MlyValue.typeSpecifier (enumSpecifier)
++ in ( LrTable.NT 37, ( result, enumSpecifier1left, enumSpecifier1right
++), rest671)
++end
++|  ( 121, ( ( _, ( MlyValue.TYPE_NAME TYPE_NAME, TYPE_NAME1left, 
++TYPE_NAME1right)) :: rest671)) => let val  result = 
++MlyValue.typeSpecifier (TypedefName TYPE_NAME)
++ in ( LrTable.NT 37, ( result, TYPE_NAME1left, TYPE_NAME1right), 
++rest671)
++end
++|  ( 122, ( ( _, ( _, VOID1left, VOID1right)) :: rest671)) => let val 
++ result = MlyValue.typeSpecifierReserved (Void)
++ in ( LrTable.NT 38, ( result, VOID1left, VOID1right), rest671)
++end
++|  ( 123, ( ( _, ( _, CHAR1left, CHAR1right)) :: rest671)) => let val 
++ result = MlyValue.typeSpecifierReserved (Char)
++ in ( LrTable.NT 38, ( result, CHAR1left, CHAR1right), rest671)
++end
++|  ( 124, ( ( _, ( _, SHORT1left, SHORT1right)) :: rest671)) => let
++ val  result = MlyValue.typeSpecifierReserved (Short)
++ in ( LrTable.NT 38, ( result, SHORT1left, SHORT1right), rest671)
++end
++|  ( 125, ( ( _, ( _, INT1left, INT1right)) :: rest671)) => let val  
++result = MlyValue.typeSpecifierReserved (Int)
++ in ( LrTable.NT 38, ( result, INT1left, INT1right), rest671)
++end
++|  ( 126, ( ( _, ( _, LONG1left, LONG1right)) :: rest671)) => let val 
++ result = MlyValue.typeSpecifierReserved (Long)
++ in ( LrTable.NT 38, ( result, LONG1left, LONG1right), rest671)
++end
++|  ( 127, ( ( _, ( _, FLOAT1left, FLOAT1right)) :: rest671)) => let
++ val  result = MlyValue.typeSpecifierReserved (Float)
++ in ( LrTable.NT 38, ( result, FLOAT1left, FLOAT1right), rest671)
++end
++|  ( 128, ( ( _, ( _, DOUBLE1left, DOUBLE1right)) :: rest671)) => let
++ val  result = MlyValue.typeSpecifierReserved (Double)
++ in ( LrTable.NT 38, ( result, DOUBLE1left, DOUBLE1right), rest671)
++
++end
++|  ( 129, ( ( _, ( _, SIGNED1left, SIGNED1right)) :: rest671)) => let
++ val  result = MlyValue.typeSpecifierReserved (Signed)
++ in ( LrTable.NT 38, ( result, SIGNED1left, SIGNED1right), rest671)
++
++end
++|  ( 130, ( ( _, ( _, UNSIGNED1left, UNSIGNED1right)) :: rest671)) =>
++ let val  result = MlyValue.typeSpecifierReserved (Unsigned)
++ in ( LrTable.NT 38, ( result, UNSIGNED1left, UNSIGNED1right), rest671
++)
++end
++|  ( 131, ( ( _, ( _, _, RCURLY1right)) :: ( _, ( 
++MlyValue.structDeclarationList structDeclarationList, _, _)) :: _ :: (
++ _, ( MlyValue.structOrUnion structOrUnion, structOrUnion1left, _)) ::
++ rest671)) => let val  result = MlyValue.structOrUnionSpecifier (
++Struct{isStruct=structOrUnion, tagOpt=NONE, members=seqToList structDeclarationList}
++)
++ in ( LrTable.NT 43, ( result, structOrUnion1left, RCURLY1right), 
++rest671)
++end
++|  ( 132, ( ( _, ( _, _, RCURLY1right)) :: ( _, ( 
++MlyValue.structDeclarationList structDeclarationList, _, _)) :: _ :: (
++ _, ( MlyValue.ID ID, _, _)) :: ( _, ( MlyValue.structOrUnion 
++structOrUnion, structOrUnion1left, _)) :: rest671)) => let val  result
++ = MlyValue.structOrUnionSpecifier (
++Struct{isStruct=structOrUnion, tagOpt=SOME ID, members=seqToList structDeclarationList}
++)
++ in ( LrTable.NT 43, ( result, structOrUnion1left, RCURLY1right), 
++rest671)
++end
++|  ( 133, ( ( _, ( _, _, RCURLY1right)) :: ( _, ( 
++MlyValue.structDeclarationList structDeclarationList, _, _)) :: _ :: (
++ _, ( MlyValue.TYPE_NAME TYPE_NAME, _, _)) :: ( _, ( 
++MlyValue.structOrUnion structOrUnion, structOrUnion1left, _)) :: 
++rest671)) => let val  result = MlyValue.structOrUnionSpecifier (
++Struct{isStruct=structOrUnion, tagOpt=SOME TYPE_NAME, members=seqToList structDeclarationList}
++)
++ in ( LrTable.NT 43, ( result, structOrUnion1left, RCURLY1right), 
++rest671)
++end
++|  ( 134, ( ( _, ( MlyValue.ID ID, _, ID1right)) :: ( _, ( 
++MlyValue.structOrUnion structOrUnion, structOrUnion1left, _)) :: 
++rest671)) => let val  result = MlyValue.structOrUnionSpecifier (
++StructTag {isStruct=structOrUnion, name=ID})
++ in ( LrTable.NT 43, ( result, structOrUnion1left, ID1right), rest671)
++
++end
++|  ( 135, ( ( _, ( MlyValue.TYPE_NAME TYPE_NAME, _, TYPE_NAME1right))
++ :: ( _, ( MlyValue.structOrUnion structOrUnion, structOrUnion1left, _
++)) :: rest671)) => let val  result = MlyValue.structOrUnionSpecifier (
++StructTag {isStruct=structOrUnion, name=TYPE_NAME})
++ in ( LrTable.NT 43, ( result, structOrUnion1left, TYPE_NAME1right), 
++rest671)
++end
++|  ( 136, ( ( _, ( _, STRUCT1left, STRUCT1right)) :: rest671)) => let
++ val  result = MlyValue.structOrUnion (true)
++ in ( LrTable.NT 54, ( result, STRUCT1left, STRUCT1right), rest671)
++
++end
++|  ( 137, ( ( _, ( _, UNION1left, UNION1right)) :: rest671)) => let
++ val  result = MlyValue.structOrUnion (false)
++ in ( LrTable.NT 54, ( result, UNION1left, UNION1right), rest671)
++end
++|  ( 138, ( ( _, ( MlyValue.structDeclaration structDeclaration, 
++structDeclaration1left, structDeclaration1right)) :: rest671)) => let
++ val  result = MlyValue.structDeclarationList (
++singletonSeq structDeclaration)
++ in ( LrTable.NT 59, ( result, structDeclaration1left, 
++structDeclaration1right), rest671)
++end
++|  ( 139, ( ( _, ( MlyValue.structDeclaration structDeclaration, _, 
++structDeclaration1right)) :: ( _, ( MlyValue.structDeclarationList 
++structDeclarationList, structDeclarationList1left, _)) :: rest671)) =>
++ let val  result = MlyValue.structDeclarationList (
++addToSeq(structDeclaration, structDeclarationList))
++ in ( LrTable.NT 59, ( result, structDeclarationList1left, 
++structDeclaration1right), rest671)
++end
++|  ( 140, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( 
++MlyValue.structDeclaratorList structDeclaratorList, _, _)) :: ( _, ( 
++MlyValue.specifierQualifierList specifierQualifierList, 
++specifierQualifierList1left, _)) :: rest671)) => let val  result = 
++MlyValue.structDeclaration (
++(specifierQualifierList, seqToList structDeclaratorList))
++ in ( LrTable.NT 60, ( result, specifierQualifierList1left, 
++SEMICOLON1right), rest671)
++end
++|  ( 141, ( ( _, ( _, _, SEMICOLON1right)) :: ( _, ( 
++MlyValue.notypeStructDeclaratorList notypeStructDeclaratorList, _, _))
++ :: ( _, ( MlyValue.typeQualifierList typeQualifierList, 
++typeQualifierList1left, _)) :: rest671)) => let val  result = 
++MlyValue.structDeclaration (
++let
++					    val ct = {qualifiers=typeQualifierList, specifiers=[]}
++					 in
++					   (ct, seqToList notypeStructDeclaratorList)
++					 end
++)
++ in ( LrTable.NT 60, ( result, typeQualifierList1left, SEMICOLON1right
++), rest671)
++end
++|  ( 142, ( ( _, ( MlyValue.structDeclarator structDeclarator, 
++structDeclarator1left, structDeclarator1right)) :: rest671)) => let
++ val  result = MlyValue.structDeclaratorList (
++singletonSeq structDeclarator)
++ in ( LrTable.NT 57, ( result, structDeclarator1left, 
++structDeclarator1right), rest671)
++end
++|  ( 143, ( ( _, ( MlyValue.structDeclarator structDeclarator, _, 
++structDeclarator1right)) :: _ :: ( _, ( MlyValue.structDeclaratorList 
++structDeclaratorList, structDeclaratorList1left, _)) :: rest671)) =>
++ let val  result = MlyValue.structDeclaratorList (
++addToSeq(structDeclarator, structDeclaratorList))
++ in ( LrTable.NT 57, ( result, structDeclaratorList1left, 
++structDeclarator1right), rest671)
++end
++|  ( 144, ( ( _, ( MlyValue.notypeStructDeclarator 
++notypeStructDeclarator, notypeStructDeclarator1left, 
++notypeStructDeclarator1right)) :: rest671)) => let val  result = 
++MlyValue.notypeStructDeclaratorList (
++singletonSeq notypeStructDeclarator)
++ in ( LrTable.NT 58, ( result, notypeStructDeclarator1left, 
++notypeStructDeclarator1right), rest671)
++end
++|  ( 145, ( ( _, ( MlyValue.structDeclarator structDeclarator, _, 
++structDeclarator1right)) :: _ :: ( _, ( 
++MlyValue.notypeStructDeclaratorList notypeStructDeclaratorList, 
++notypeStructDeclaratorList1left, _)) :: rest671)) => let val  result =
++ MlyValue.notypeStructDeclaratorList (
++addToSeq(structDeclarator, notypeStructDeclaratorList))
++ in ( LrTable.NT 58, ( result, notypeStructDeclaratorList1left, 
++structDeclarator1right), rest671)
++end
++|  ( 146, ( ( _, ( MlyValue.declarator declarator, declarator1left, 
++declarator1right)) :: rest671)) => let val  result = 
++MlyValue.structDeclarator (declarator, EmptyExpr)
++ in ( LrTable.NT 55, ( result, declarator1left, declarator1right), 
++rest671)
++end
++|  ( 147, ( ( _, ( MlyValue.expr expr, _, expr1right)) :: ( _, ( _, 
++COLON1left, _)) :: rest671)) => let val  result = 
++MlyValue.structDeclarator (EmptyDecr, expr)
++ in ( LrTable.NT 55, ( result, COLON1left, expr1right), rest671)
++end
++|  ( 148, ( ( _, ( MlyValue.expr expr, _, expr1right)) :: _ :: ( _, ( 
++MlyValue.declarator declarator, declarator1left, _)) :: rest671)) =>
++ let val  result = MlyValue.structDeclarator (declarator, expr)
++ in ( LrTable.NT 55, ( result, declarator1left, expr1right), rest671)
++
++end
++|  ( 149, ( ( _, ( MlyValue.notypeDeclarator notypeDeclarator, 
++notypeDeclarator1left, notypeDeclarator1right)) :: rest671)) => let
++ val  result = MlyValue.notypeStructDeclarator (
++notypeDeclarator, EmptyExpr)
++ in ( LrTable.NT 56, ( result, notypeDeclarator1left, 
++notypeDeclarator1right), rest671)
++end
++|  ( 150, ( ( _, ( MlyValue.expr expr, _, expr1right)) :: ( _, ( _, 
++COLON1left, _)) :: rest671)) => let val  result = 
++MlyValue.notypeStructDeclarator (EmptyDecr, expr)
++ in ( LrTable.NT 56, ( result, COLON1left, expr1right), rest671)
++end
++|  ( 151, ( ( _, ( MlyValue.expr expr, _, expr1right)) :: _ :: ( _, ( 
++MlyValue.notypeDeclarator notypeDeclarator, notypeDeclarator1left, _))
++ :: rest671)) => let val  result = MlyValue.notypeStructDeclarator (
++notypeDeclarator, expr)
++ in ( LrTable.NT 56, ( result, notypeDeclarator1left, expr1right), 
++rest671)
++end
++|  ( 152, ( ( _, ( _, CONST1left, CONST1right)) :: rest671)) => let
++ val  result = MlyValue.typeQualifier (CONST)
++ in ( LrTable.NT 39, ( result, CONST1left, CONST1right), rest671)
++end
++|  ( 153, ( ( _, ( _, VOLATILE1left, VOLATILE1right)) :: rest671)) =>
++ let val  result = MlyValue.typeQualifier (VOLATILE)
++ in ( LrTable.NT 39, ( result, VOLATILE1left, VOLATILE1right), rest671
++)
++end
++|  ( 154, ( ( _, ( _, _, RCURLY1right)) :: ( _, ( 
++MlyValue.trailingComma trailingComma, _, _)) :: ( _, ( 
++MlyValue.enumeratorList enumeratorList, _, _)) :: _ :: ( _, ( _, 
++ENUM1left, _)) :: rest671)) => let val  result = 
++MlyValue.enumSpecifier (
++Enum{tagOpt=NONE, enumerators=seqToList enumeratorList, trailingComma=trailingComma}
++)
++ in ( LrTable.NT 42, ( result, ENUM1left, RCURLY1right), rest671)
++end
++|  ( 155, ( ( _, ( _, _, RCURLY1right)) :: ( _, ( 
++MlyValue.trailingComma trailingComma, _, _)) :: ( _, ( 
++MlyValue.enumeratorList enumeratorList, _, _)) :: _ :: ( _, ( 
++MlyValue.ID ID, _, _)) :: ( _, ( _, ENUM1left, _)) :: rest671)) => let
++ val  result = MlyValue.enumSpecifier (
++Enum{tagOpt=SOME(ID), enumerators=seqToList enumeratorList, trailingComma=trailingComma}
++)
++ in ( LrTable.NT 42, ( result, ENUM1left, RCURLY1right), rest671)
++end
++|  ( 156, ( ( _, ( _, _, RCURLY1right)) :: ( _, ( 
++MlyValue.trailingComma trailingComma, _, _)) :: ( _, ( 
++MlyValue.enumeratorList enumeratorList, _, _)) :: _ :: ( _, ( 
++MlyValue.TYPE_NAME TYPE_NAME, _, _)) :: ( _, ( _, ENUM1left, _)) :: 
++rest671)) => let val  result = MlyValue.enumSpecifier (
++Enum{tagOpt=SOME(TYPE_NAME), enumerators=seqToList enumeratorList, trailingComma=trailingComma}
++)
++ in ( LrTable.NT 42, ( result, ENUM1left, RCURLY1right), rest671)
++end
++|  ( 157, ( ( _, ( MlyValue.ID ID, _, ID1right)) :: ( _, ( _, 
++ENUM1left, _)) :: rest671)) => let val  result = 
++MlyValue.enumSpecifier (EnumTag(ID))
++ in ( LrTable.NT 42, ( result, ENUM1left, ID1right), rest671)
++end
++|  ( 158, ( ( _, ( MlyValue.TYPE_NAME TYPE_NAME, _, TYPE_NAME1right))
++ :: ( _, ( _, ENUM1left, _)) :: rest671)) => let val  result = 
++MlyValue.enumSpecifier (EnumTag(TYPE_NAME))
++ in ( LrTable.NT 42, ( result, ENUM1left, TYPE_NAME1right), rest671)
++
++end
++|  ( 159, ( ( _, ( MlyValue.enumerator enumerator, _, enumerator1right
++)) :: _ :: ( _, ( MlyValue.enumeratorList enumeratorList, 
++enumeratorList1left, _)) :: rest671)) => let val  result = 
++MlyValue.enumeratorList (addToSeq(enumerator, enumeratorList))
++ in ( LrTable.NT 12, ( result, enumeratorList1left, enumerator1right),
++ rest671)
++end
++|  ( 160, ( ( _, ( MlyValue.enumerator enumerator, enumerator1left, 
++enumerator1right)) :: rest671)) => let val  result = 
++MlyValue.enumeratorList (
++(TypeDefs.addNoTdef(#1(enumerator)));
++					 singletonSeq enumerator)
++ in ( LrTable.NT 12, ( result, enumerator1left, enumerator1right), 
++rest671)
++end
++|  ( 161, ( ( _, ( MlyValue.ID ID, ID1left, ID1right)) :: rest671)) =>
++ let val  result = MlyValue.enumerator ((ID,ParseTree.EmptyExpr))
++ in ( LrTable.NT 13, ( result, ID1left, ID1right), rest671)
++end
++|  ( 162, ( ( _, ( MlyValue.expr expr, _, expr1right)) :: _ :: ( _, ( 
++MlyValue.ID ID, ID1left, _)) :: rest671)) => let val  result = 
++MlyValue.enumerator (ID,expr)
++ in ( LrTable.NT 13, ( result, ID1left, expr1right), rest671)
++end
++|  ( 163, ( ( _, ( _, EXTERN1left, EXTERN1right)) :: rest671)) => let
++ val  result = MlyValue.storageClassSpecifier (EXTERN)
++ in ( LrTable.NT 35, ( result, EXTERN1left, EXTERN1right), rest671)
++
++end
++|  ( 164, ( ( _, ( _, STATIC1left, STATIC1right)) :: rest671)) => let
++ val  result = MlyValue.storageClassSpecifier (STATIC)
++ in ( LrTable.NT 35, ( result, STATIC1left, STATIC1right), rest671)
++
++end
++|  ( 165, ( ( _, ( _, AUTO1left, AUTO1right)) :: rest671)) => let val 
++ result = MlyValue.storageClassSpecifier (AUTO)
++ in ( LrTable.NT 35, ( result, AUTO1left, AUTO1right), rest671)
++end
++|  ( 166, ( ( _, ( _, REGISTER1left, REGISTER1right)) :: rest671)) =>
++ let val  result = MlyValue.storageClassSpecifier (REGISTER)
++ in ( LrTable.NT 35, ( result, REGISTER1left, REGISTER1right), rest671
++)
++end
++|  ( 167, ( ( _, ( _, TYPEDEF1left, TYPEDEF1right)) :: rest671)) =>
++ let val  result = MlyValue.storageClassSpecifier (TYPEDEF)
++ in ( LrTable.NT 35, ( result, TYPEDEF1left, TYPEDEF1right), rest671)
++
++end
++|  ( 168, ( rest671)) => let val  result = MlyValue.trailingComma (
++false)
++ in ( LrTable.NT 11, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 169, ( ( _, ( _, COMMA1left, COMMA1right)) :: rest671)) => let
++ val  result = MlyValue.trailingComma (true)
++ in ( LrTable.NT 11, ( result, COMMA1left, COMMA1right), rest671)
++end
++|  ( 170, ( ( _, ( MlyValue.initDeclarator initDeclarator, 
++initDeclarator1left, initDeclarator1right)) :: rest671)) => let val  
++result = MlyValue.initDeclaratorList (singletonSeq initDeclarator)
++ in ( LrTable.NT 18, ( result, initDeclarator1left, 
++initDeclarator1right), rest671)
++end
++|  ( 171, ( ( _, ( MlyValue.initDeclarator initDeclarator, _, 
++initDeclarator1right)) :: _ :: ( _, ( MlyValue.initDeclaratorList 
++initDeclaratorList, initDeclaratorList1left, _)) :: rest671)) => let
++ val  result = MlyValue.initDeclaratorList (
++addToSeq(initDeclarator, initDeclaratorList))
++ in ( LrTable.NT 18, ( result, initDeclaratorList1left, 
++initDeclarator1right), rest671)
++end
++|  ( 172, ( ( _, ( MlyValue.declarator declarator, declarator1left, 
++declarator1right)) :: rest671)) => let val  result = 
++MlyValue.initDeclarator ((declarator,EmptyExpr))
++ in ( LrTable.NT 16, ( result, declarator1left, declarator1right), 
++rest671)
++end
++|  ( 173, ( ( _, ( MlyValue.initializer initializer, _, 
++initializer1right)) :: _ :: ( _, ( MlyValue.declarator declarator, 
++declarator1left, _)) :: rest671)) => let val  result = 
++MlyValue.initDeclarator (declarator,initializer)
++ in ( LrTable.NT 16, ( result, declarator1left, initializer1right), 
++rest671)
++end
++|  ( 174, ( ( _, ( MlyValue.notypeInitDeclarator notypeInitDeclarator,
++ notypeInitDeclarator1left, notypeInitDeclarator1right)) :: rest671))
++ => let val  result = MlyValue.notypeInitDeclaratorList (
++singletonSeq notypeInitDeclarator)
++ in ( LrTable.NT 19, ( result, notypeInitDeclarator1left, 
++notypeInitDeclarator1right), rest671)
++end
++|  ( 175, ( ( _, ( MlyValue.initDeclarator initDeclarator, _, 
++initDeclarator1right)) :: _ :: ( _, ( 
++MlyValue.notypeInitDeclaratorList notypeInitDeclaratorList, 
++notypeInitDeclaratorList1left, _)) :: rest671)) => let val  result = 
++MlyValue.notypeInitDeclaratorList (
++addToSeq(initDeclarator, notypeInitDeclaratorList))
++ in ( LrTable.NT 19, ( result, notypeInitDeclaratorList1left, 
++initDeclarator1right), rest671)
++end
++|  ( 176, ( ( _, ( MlyValue.notypeDeclarator notypeDeclarator, 
++notypeDeclarator1left, notypeDeclarator1right)) :: rest671)) => let
++ val  result = MlyValue.notypeInitDeclarator (
++(notypeDeclarator,EmptyExpr))
++ in ( LrTable.NT 17, ( result, notypeDeclarator1left, 
++notypeDeclarator1right), rest671)
++end
++|  ( 177, ( ( _, ( MlyValue.initializer initializer, _, 
++initializer1right)) :: _ :: ( _, ( MlyValue.notypeDeclarator 
++notypeDeclarator, notypeDeclarator1left, _)) :: rest671)) => let val  
++result = MlyValue.notypeInitDeclarator (notypeDeclarator,initializer)
++ in ( LrTable.NT 17, ( result, notypeDeclarator1left, 
++initializer1right), rest671)
++end
++|  ( 178, ( ( _, ( MlyValue.aftertypeDeclarator aftertypeDeclarator, 
++aftertypeDeclarator1left, aftertypeDeclarator1right)) :: rest671)) =>
++ let val  result = MlyValue.declarator (aftertypeDeclarator)
++ in ( LrTable.NT 21, ( result, aftertypeDeclarator1left, 
++aftertypeDeclarator1right), rest671)
++end
++|  ( 179, ( ( _, ( MlyValue.notypeDeclarator notypeDeclarator, 
++notypeDeclarator1left, notypeDeclarator1right)) :: rest671)) => let
++ val  result = MlyValue.declarator (notypeDeclarator)
++ in ( LrTable.NT 21, ( result, notypeDeclarator1left, 
++notypeDeclarator1right), rest671)
++end
++|  ( 180, ( ( _, ( MlyValue.aftertypeDirectDeclarator 
++aftertypeDirectDeclarator, aftertypeDirectDeclarator1left, 
++aftertypeDirectDeclarator1right)) :: rest671)) => let val  result = 
++MlyValue.aftertypeDeclarator (aftertypeDirectDeclarator)
++ in ( LrTable.NT 22, ( result, aftertypeDirectDeclarator1left, 
++aftertypeDirectDeclarator1right), rest671)
++end
++|  ( 181, ( ( _, ( MlyValue.aftertypeDirectDeclarator 
++aftertypeDirectDeclarator, _, aftertypeDirectDeclarator1right)) :: ( _
++, ( MlyValue.pointer pointer, pointer1left, _)) :: rest671)) => let
++ val  result = MlyValue.aftertypeDeclarator (
++applyPointer(pointer,aftertypeDirectDeclarator))
++ in ( LrTable.NT 22, ( result, pointer1left, 
++aftertypeDirectDeclarator1right), rest671)
++end
++|  ( 182, ( ( _, ( MlyValue.notypeDirectDeclarator 
++notypeDirectDeclarator, notypeDirectDeclarator1left, 
++notypeDirectDeclarator1right)) :: rest671)) => let val  result = 
++MlyValue.notypeDeclarator (notypeDirectDeclarator)
++ in ( LrTable.NT 23, ( result, notypeDirectDeclarator1left, 
++notypeDirectDeclarator1right), rest671)
++end
++|  ( 183, ( ( _, ( MlyValue.notypeDirectDeclarator 
++notypeDirectDeclarator, _, notypeDirectDeclarator1right)) :: ( _, ( 
++MlyValue.pointer pointer, pointer1left, _)) :: rest671)) => let val  
++result = MlyValue.notypeDeclarator (
++applyPointer(pointer, notypeDirectDeclarator))
++ in ( LrTable.NT 23, ( result, pointer1left, 
++notypeDirectDeclarator1right), rest671)
++end
++|  ( 184, ( ( _, ( MlyValue.parmDirectDeclarator parmDirectDeclarator,
++ parmDirectDeclarator1left, parmDirectDeclarator1right)) :: rest671))
++ => let val  result = MlyValue.parmDeclarator (parmDirectDeclarator)
++ in ( LrTable.NT 24, ( result, parmDirectDeclarator1left, 
++parmDirectDeclarator1right), rest671)
++end
++|  ( 185, ( ( _, ( MlyValue.parmDirectDeclarator parmDirectDeclarator,
++ _, parmDirectDeclarator1right)) :: ( _, ( MlyValue.pointer pointer, 
++pointer1left, _)) :: rest671)) => let val  result = 
++MlyValue.parmDeclarator (applyPointer(pointer, parmDirectDeclarator))
++ in ( LrTable.NT 24, ( result, pointer1left, 
++parmDirectDeclarator1right), rest671)
++end
++|  ( 186, ( ( _, ( _, TIMES1left, TIMES1right)) :: rest671)) => let
++ val  result = MlyValue.pointer (PointerDecr(EmptyDecr))
++ in ( LrTable.NT 20, ( result, TIMES1left, TIMES1right), rest671)
++end
++|  ( 187, ( ( _, ( MlyValue.typeQualifierList typeQualifierList, _, 
++typeQualifierList1right)) :: ( _, ( _, TIMES1left, _)) :: rest671)) =>
++ let val  result = MlyValue.pointer (
++PointerDecr(loopQd(typeQualifierList,EmptyDecr)))
++ in ( LrTable.NT 20, ( result, TIMES1left, typeQualifierList1right), 
++rest671)
++end
++|  ( 188, ( ( _, ( MlyValue.pointer pointer, _, pointer1right)) :: ( _
++, ( _, TIMES1left, _)) :: rest671)) => let val  result = 
++MlyValue.pointer (PointerDecr(pointer))
++ in ( LrTable.NT 20, ( result, TIMES1left, pointer1right), rest671)
++
++end
++|  ( 189, ( ( _, ( MlyValue.pointer pointer, _, pointer1right)) :: ( _
++, ( MlyValue.typeQualifierList typeQualifierList, _, _)) :: ( _, ( _, 
++TIMES1left, _)) :: rest671)) => let val  result = MlyValue.pointer (
++PointerDecr(loopQd(typeQualifierList,pointer)))
++ in ( LrTable.NT 20, ( result, TIMES1left, pointer1right), rest671)
++
++end
++|  ( 190, ( ( _, ( MlyValue.TYPE_NAME TYPE_NAME, (TYPE_NAMEleft as 
++TYPE_NAME1left), (TYPE_NAMEright as TYPE_NAME1right))) :: rest671)) =>
++ let val  result = MlyValue.aftertypeDirectDeclarator (
++markDeclarator srcMap (VarDecr TYPE_NAME,TYPE_NAMEleft,TYPE_NAMEright)
++)
++ in ( LrTable.NT 25, ( result, TYPE_NAME1left, TYPE_NAME1right), 
++rest671)
++end
++|  ( 191, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
++MlyValue.aftertypeDeclarator aftertypeDeclarator, _, _)) :: ( _, ( _, 
++LPAREN1left, _)) :: rest671)) => let val  result = 
++MlyValue.aftertypeDirectDeclarator (aftertypeDeclarator)
++ in ( LrTable.NT 25, ( result, LPAREN1left, RPAREN1right), rest671)
++
++end
++|  ( 192, ( ( _, ( _, _, RBRACE1right)) :: _ :: ( _, ( 
++MlyValue.aftertypeDirectDeclarator aftertypeDirectDeclarator, 
++aftertypeDirectDeclarator1left, _)) :: rest671)) => let val  result = 
++MlyValue.aftertypeDirectDeclarator (
++ArrayDecr (aftertypeDirectDeclarator,EmptyExpr))
++ in ( LrTable.NT 25, ( result, aftertypeDirectDeclarator1left, 
++RBRACE1right), rest671)
++end
++|  ( 193, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.expr expr,
++ _, _)) :: _ :: ( _, ( MlyValue.aftertypeDirectDeclarator 
++aftertypeDirectDeclarator, aftertypeDirectDeclarator1left, _)) :: 
++rest671)) => let val  result = MlyValue.aftertypeDirectDeclarator (
++ArrayDecr (aftertypeDirectDeclarator,expr))
++ in ( LrTable.NT 25, ( result, aftertypeDirectDeclarator1left, 
++RBRACE1right), rest671)
++end
++|  ( 194, ( ( _, ( _, _, RPAREN1right)) :: _ :: ( _, ( 
++MlyValue.aftertypeDirectDeclarator aftertypeDirectDeclarator, 
++aftertypeDirectDeclarator1left, _)) :: rest671)) => let val  result = 
++MlyValue.aftertypeDirectDeclarator (
++FuncDecr (aftertypeDirectDeclarator,nil))
++ in ( LrTable.NT 25, ( result, aftertypeDirectDeclarator1left, 
++RPAREN1right), rest671)
++end
++|  ( 195, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
++MlyValue.parameterTypeList parameterTypeList, _, _)) :: _ :: ( _, ( 
++MlyValue.aftertypeDirectDeclarator aftertypeDirectDeclarator, 
++aftertypeDirectDeclarator1left, _)) :: rest671)) => let val  result = 
++MlyValue.aftertypeDirectDeclarator (
++FuncDecr (aftertypeDirectDeclarator,parameterTypeList))
++ in ( LrTable.NT 25, ( result, aftertypeDirectDeclarator1left, 
++RPAREN1right), rest671)
++end
++|  ( 196, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.identlist 
++identlist, _, _)) :: _ :: ( _, ( MlyValue.aftertypeDirectDeclarator 
++aftertypeDirectDeclarator, aftertypeDirectDeclarator1left, _)) :: 
++rest671)) => let val  result = MlyValue.aftertypeDirectDeclarator (
++FuncDecr (aftertypeDirectDeclarator,
++					    map (fn (x,y,z) => (unknown,markDeclarator srcMap (VarDecr x,y,z))) (seqToList identlist))
++)
++ in ( LrTable.NT 25, ( result, aftertypeDirectDeclarator1left, 
++RPAREN1right), rest671)
++end
++|  ( 197, ( ( _, ( MlyValue.ID ID, (IDleft as ID1left), (IDright as 
++ID1right))) :: rest671)) => let val  result = 
++MlyValue.notypeDirectDeclarator (
++markDeclarator srcMap (VarDecr ID,IDleft,IDright))
++ in ( LrTable.NT 26, ( result, ID1left, ID1right), rest671)
++end
++|  ( 198, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
++MlyValue.notypeDeclarator notypeDeclarator, _, _)) :: ( _, ( _, 
++LPAREN1left, _)) :: rest671)) => let val  result = 
++MlyValue.notypeDirectDeclarator (notypeDeclarator)
++ in ( LrTable.NT 26, ( result, LPAREN1left, RPAREN1right), rest671)
++
++end
++|  ( 199, ( ( _, ( _, _, RBRACE1right)) :: _ :: ( _, ( 
++MlyValue.notypeDirectDeclarator notypeDirectDeclarator, 
++notypeDirectDeclarator1left, _)) :: rest671)) => let val  result = 
++MlyValue.notypeDirectDeclarator (
++ArrayDecr (notypeDirectDeclarator,EmptyExpr))
++ in ( LrTable.NT 26, ( result, notypeDirectDeclarator1left, 
++RBRACE1right), rest671)
++end
++|  ( 200, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.expr expr,
++ _, _)) :: _ :: ( _, ( MlyValue.notypeDirectDeclarator 
++notypeDirectDeclarator, notypeDirectDeclarator1left, _)) :: rest671))
++ => let val  result = MlyValue.notypeDirectDeclarator (
++ArrayDecr (notypeDirectDeclarator,expr))
++ in ( LrTable.NT 26, ( result, notypeDirectDeclarator1left, 
++RBRACE1right), rest671)
++end
++|  ( 201, ( ( _, ( _, _, RPAREN1right)) :: _ :: ( _, ( 
++MlyValue.notypeDirectDeclarator notypeDirectDeclarator, 
++notypeDirectDeclarator1left, _)) :: rest671)) => let val  result = 
++MlyValue.notypeDirectDeclarator (FuncDecr (notypeDirectDeclarator,nil)
++)
++ in ( LrTable.NT 26, ( result, notypeDirectDeclarator1left, 
++RPAREN1right), rest671)
++end
++|  ( 202, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
++MlyValue.parameterTypeList parameterTypeList, _, _)) :: _ :: ( _, ( 
++MlyValue.notypeDirectDeclarator notypeDirectDeclarator, 
++notypeDirectDeclarator1left, _)) :: rest671)) => let val  result = 
++MlyValue.notypeDirectDeclarator (
++FuncDecr (notypeDirectDeclarator,parameterTypeList))
++ in ( LrTable.NT 26, ( result, notypeDirectDeclarator1left, 
++RPAREN1right), rest671)
++end
++|  ( 203, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.identlist 
++identlist, _, _)) :: _ :: ( _, ( MlyValue.notypeDirectDeclarator 
++notypeDirectDeclarator, notypeDirectDeclarator1left, _)) :: rest671))
++ => let val  result = MlyValue.notypeDirectDeclarator (
++FuncDecr (notypeDirectDeclarator,
++ 						   map (fn (x,y,z) => (unknown,markDeclarator srcMap (VarDecr x,y,z))) (seqToList identlist))
++)
++ in ( LrTable.NT 26, ( result, notypeDirectDeclarator1left, 
++RPAREN1right), rest671)
++end
++|  ( 204, ( ( _, ( MlyValue.TYPE_NAME TYPE_NAME, (TYPE_NAMEleft as 
++TYPE_NAME1left), (TYPE_NAMEright as TYPE_NAME1right))) :: rest671)) =>
++ let val  result = MlyValue.parmDirectDeclarator (
++markDeclarator srcMap (VarDecr TYPE_NAME,TYPE_NAMEleft,TYPE_NAMEright)
++)
++ in ( LrTable.NT 27, ( result, TYPE_NAME1left, TYPE_NAME1right), 
++rest671)
++end
++|  ( 205, ( ( _, ( _, _, RBRACE1right)) :: _ :: ( _, ( 
++MlyValue.parmDirectDeclarator parmDirectDeclarator, 
++parmDirectDeclarator1left, _)) :: rest671)) => let val  result = 
++MlyValue.parmDirectDeclarator (
++ArrayDecr (parmDirectDeclarator,EmptyExpr))
++ in ( LrTable.NT 27, ( result, parmDirectDeclarator1left, RBRACE1right
++), rest671)
++end
++|  ( 206, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.expr expr,
++ _, _)) :: _ :: ( _, ( MlyValue.parmDirectDeclarator 
++parmDirectDeclarator, parmDirectDeclarator1left, _)) :: rest671)) =>
++ let val  result = MlyValue.parmDirectDeclarator (
++ArrayDecr (parmDirectDeclarator,expr))
++ in ( LrTable.NT 27, ( result, parmDirectDeclarator1left, RBRACE1right
++), rest671)
++end
++|  ( 207, ( ( _, ( _, _, RPAREN1right)) :: _ :: ( _, ( 
++MlyValue.parmDirectDeclarator parmDirectDeclarator, 
++parmDirectDeclarator1left, _)) :: rest671)) => let val  result = 
++MlyValue.parmDirectDeclarator (FuncDecr (parmDirectDeclarator,nil))
++ in ( LrTable.NT 27, ( result, parmDirectDeclarator1left, RPAREN1right
++), rest671)
++end
++|  ( 208, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
++MlyValue.parameterTypeList parameterTypeList, _, _)) :: _ :: ( _, ( 
++MlyValue.parmDirectDeclarator parmDirectDeclarator, 
++parmDirectDeclarator1left, _)) :: rest671)) => let val  result = 
++MlyValue.parmDirectDeclarator (
++FuncDecr (parmDirectDeclarator,parameterTypeList))
++ in ( LrTable.NT 27, ( result, parmDirectDeclarator1left, RPAREN1right
++), rest671)
++end
++|  ( 209, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( MlyValue.identlist 
++identlist, _, _)) :: _ :: ( _, ( MlyValue.parmDirectDeclarator 
++parmDirectDeclarator, parmDirectDeclarator1left, _)) :: rest671)) =>
++ let val  result = MlyValue.parmDirectDeclarator (
++FuncDecr (parmDirectDeclarator,
++						    map (fn (x,y,z) => (unknown,markDeclarator srcMap (VarDecr x,y,z))) (seqToList identlist))
++)
++ in ( LrTable.NT 27, ( result, parmDirectDeclarator1left, RPAREN1right
++), rest671)
++end
++|  ( 210, ( ( _, ( MlyValue.expr expr, expr1left, expr1right)) :: 
++rest671)) => let val  result = MlyValue.initializer (expr)
++ in ( LrTable.NT 33, ( result, expr1left, expr1right), rest671)
++end
++|  ( 211, ( ( _, ( _, _, (RCURLYright as RCURLY1right))) :: _ :: ( _, 
++( MlyValue.initializerList initializerList, _, _)) :: ( _, ( _, (
++LCURLYleft as LCURLY1left), _)) :: rest671)) => let val  result = 
++MlyValue.initializer (
++markExpression srcMap (InitList(seqToList initializerList),LCURLYleft,RCURLYright)
++)
++ in ( LrTable.NT 33, ( result, LCURLY1left, RCURLY1right), rest671)
++
++end
++|  ( 212, ( ( _, ( MlyValue.initializer initializer, initializer1left,
++ initializer1right)) :: rest671)) => let val  result = 
++MlyValue.initializerList (singletonSeq initializer)
++ in ( LrTable.NT 34, ( result, initializer1left, initializer1right), 
++rest671)
++end
++|  ( 213, ( ( _, ( MlyValue.initializer initializer, _, 
++initializer1right)) :: _ :: ( _, ( MlyValue.initializerList 
++initializerList, initializerList1left, _)) :: rest671)) => let val  
++result = MlyValue.initializerList (
++addToSeq(initializer, initializerList))
++ in ( LrTable.NT 34, ( result, initializerList1left, initializer1right
++), rest671)
++end
++|  ( 214, ( ( _, ( MlyValue.declaration declaration, (declarationleft
++ as declaration1left), (declarationright as declaration1right))) :: 
++rest671)) => let val  result = MlyValue.declarationList (
++singletonSeq(markDeclaration srcMap (declaration,
++									      declarationleft,
++								              declarationright))
++)
++ in ( LrTable.NT 45, ( result, declaration1left, declaration1right), 
++rest671)
++end
++|  ( 215, ( ( _, ( MlyValue.declaration declaration, declarationleft,
++ (declarationright as declaration1right))) :: ( _, ( 
++MlyValue.declarationList declarationList, declarationList1left, _)) ::
++ rest671)) => let val  result = MlyValue.declarationList (
++addToSeq(markDeclaration srcMap (declaration,
++							            	  declarationleft,
++									  declarationright),
++						  declarationList)
++)
++ in ( LrTable.NT 45, ( result, declarationList1left, declaration1right
++), rest671)
++end
++|  ( 216, ( ( _, ( MlyValue.ID ID, (IDleft as ID1left), (IDright as 
++ID1right))) :: rest671)) => let val  result = MlyValue.identlist (
++singletonSeq (ID,IDleft,IDright))
++ in ( LrTable.NT 46, ( result, ID1left, ID1right), rest671)
++end
++|  ( 217, ( ( _, ( MlyValue.ID ID, IDleft, (IDright as ID1right))) ::
++ _ :: ( _, ( MlyValue.identlist identlist, identlist1left, _)) :: 
++rest671)) => let val  result = MlyValue.identlist (
++addToSeq((ID,IDleft,IDright),identlist))
++ in ( LrTable.NT 46, ( result, identlist1left, ID1right), rest671)
++end
++|  ( 218, ( ( _, ( MlyValue.notypeDeclarator notypeDeclarator, 
++notypeDeclarator1left, notypeDeclarator1right)) :: rest671)) => let
++ val  result = MlyValue.fDefDeclaration (
++insertFuncName(notypeDeclarator);
++					 TypeDefs.pushScope();
++					 insertFuncParams(notypeDeclarator);
++					 (unknown, notypeDeclarator)
++)
++ in ( LrTable.NT 44, ( result, notypeDeclarator1left, 
++notypeDeclarator1right), rest671)
++end
++|  ( 219, ( ( _, ( MlyValue.declarator declarator, _, declarator1right
++)) :: ( _, ( MlyValue.declarationSpecifiers declarationSpecifiers, 
++declarationSpecifiers1left, _)) :: rest671)) => let val  result = 
++MlyValue.fDefDeclaration (
++insertFuncName(declarator);
++					 TypeDefs.pushScope();
++					 insertFuncParams(declarator);
++					 (declarationSpecifiers, declarator)
++)
++ in ( LrTable.NT 44, ( result, declarationSpecifiers1left, 
++declarator1right), rest671)
++end
++|  ( 220, ( ( _, ( MlyValue.notypeDeclarator notypeDeclarator, _, 
++notypeDeclarator1right)) :: ( _, ( MlyValue.declarationModifiers 
++declarationModifiers, declarationModifiers1left, _)) :: rest671)) =>
++ let val  result = MlyValue.fDefDeclaration (
++insertFuncName(notypeDeclarator);
++					 TypeDefs.pushScope();
++					 insertFuncParams(notypeDeclarator);
++					 (declarationModifiers, notypeDeclarator)
++)
++ in ( LrTable.NT 44, ( result, declarationModifiers1left, 
++notypeDeclarator1right), rest671)
++end
++|  ( 221, ( ( _, ( MlyValue.compoundStatement compoundStatement, _, 
++compoundStatement1right)) :: ( _, ( MlyValue.fDefDeclaration 
++fDefDeclaration, fDefDeclaration1left, _)) :: rest671)) => let val  
++result = MlyValue.functionDefinition (
++TypeDefs.popScope();
++					 FunctionDef
++					    {retType = #1 fDefDeclaration,
++					     funDecr = #2 fDefDeclaration,
++                                             krParams = [],
++                                             body = compoundStatement}
++)
++ in ( LrTable.NT 47, ( result, fDefDeclaration1left, 
++compoundStatement1right), rest671)
++end
++|  ( 222, ( ( _, ( MlyValue.compoundStatement compoundStatement, _, 
++compoundStatement1right)) :: ( _, ( MlyValue.declarationList 
++declarationList, _, _)) :: ( _, ( MlyValue.fDefDeclaration 
++fDefDeclaration, fDefDeclaration1left, _)) :: rest671)) => let val  
++result = MlyValue.functionDefinition (
++TypeDefs.popScope();
++					 FunctionDef 
++					    {retType = #1 fDefDeclaration,
++					     funDecr = #2 fDefDeclaration,
++                                             krParams = seqToList declarationList,
++                                             body = compoundStatement}
++)
++ in ( LrTable.NT 47, ( result, fDefDeclaration1left, 
++compoundStatement1right), rest671)
++end
++|  ( 223, ( ( _, ( MlyValue.pointer pointer, pointer1left, 
++pointer1right)) :: rest671)) => let val  result = 
++MlyValue.abstractDeclarator (applyPointer (pointer, EmptyDecr))
++ in ( LrTable.NT 14, ( result, pointer1left, pointer1right), rest671)
++
++end
++|  ( 224, ( ( _, ( MlyValue.directAbstractDeclarator 
++directAbstractDeclarator, directAbstractDeclarator1left, 
++directAbstractDeclarator1right)) :: rest671)) => let val  result = 
++MlyValue.abstractDeclarator (directAbstractDeclarator)
++ in ( LrTable.NT 14, ( result, directAbstractDeclarator1left, 
++directAbstractDeclarator1right), rest671)
++end
++|  ( 225, ( ( _, ( MlyValue.directAbstractDeclarator 
++directAbstractDeclarator, _, directAbstractDeclarator1right)) :: ( _, 
++( MlyValue.pointer pointer, pointer1left, _)) :: rest671)) => let val 
++ result = MlyValue.abstractDeclarator (
++applyPointer(pointer, directAbstractDeclarator))
++ in ( LrTable.NT 14, ( result, pointer1left, 
++directAbstractDeclarator1right), rest671)
++end
++|  ( 226, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
++MlyValue.abstractDeclarator abstractDeclarator, _, _)) :: ( _, ( _, 
++LPAREN1left, _)) :: rest671)) => let val  result = 
++MlyValue.directAbstractDeclarator (abstractDeclarator)
++ in ( LrTable.NT 15, ( result, LPAREN1left, RPAREN1right), rest671)
++
++end
++|  ( 227, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( _, LBRACE1left, _))
++ :: rest671)) => let val  result = MlyValue.directAbstractDeclarator (
++ArrayDecr(EmptyDecr, EmptyExpr))
++ in ( LrTable.NT 15, ( result, LBRACE1left, RBRACE1right), rest671)
++
++end
++|  ( 228, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.expr expr,
++ _, _)) :: ( _, ( _, LBRACE1left, _)) :: rest671)) => let val  result
++ = MlyValue.directAbstractDeclarator (ArrayDecr(EmptyDecr, expr))
++ in ( LrTable.NT 15, ( result, LBRACE1left, RBRACE1right), rest671)
++
++end
++|  ( 229, ( ( _, ( _, _, RBRACE1right)) :: _ :: ( _, ( 
++MlyValue.directAbstractDeclarator directAbstractDeclarator, 
++directAbstractDeclarator1left, _)) :: rest671)) => let val  result = 
++MlyValue.directAbstractDeclarator (
++ArrayDecr (directAbstractDeclarator,EmptyExpr))
++ in ( LrTable.NT 15, ( result, directAbstractDeclarator1left, 
++RBRACE1right), rest671)
++end
++|  ( 230, ( ( _, ( _, _, RBRACE1right)) :: ( _, ( MlyValue.expr expr,
++ _, _)) :: _ :: ( _, ( MlyValue.directAbstractDeclarator 
++directAbstractDeclarator, directAbstractDeclarator1left, _)) :: 
++rest671)) => let val  result = MlyValue.directAbstractDeclarator (
++ArrayDecr (directAbstractDeclarator,expr))
++ in ( LrTable.NT 15, ( result, directAbstractDeclarator1left, 
++RBRACE1right), rest671)
++end
++|  ( 231, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( _, LPAREN1left, _))
++ :: rest671)) => let val  result = MlyValue.directAbstractDeclarator (
++FuncDecr (EmptyDecr ,nil))
++ in ( LrTable.NT 15, ( result, LPAREN1left, RPAREN1right), rest671)
++
++end
++|  ( 232, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
++MlyValue.parameterTypeList parameterTypeList, _, _)) :: ( _, ( _, 
++LPAREN1left, _)) :: rest671)) => let val  result = 
++MlyValue.directAbstractDeclarator (
++FuncDecr (EmptyDecr, parameterTypeList))
++ in ( LrTable.NT 15, ( result, LPAREN1left, RPAREN1right), rest671)
++
++end
++|  ( 233, ( ( _, ( _, _, RPAREN1right)) :: _ :: ( _, ( 
++MlyValue.directAbstractDeclarator directAbstractDeclarator, 
++directAbstractDeclarator1left, _)) :: rest671)) => let val  result = 
++MlyValue.directAbstractDeclarator (
++FuncDecr (directAbstractDeclarator,nil))
++ in ( LrTable.NT 15, ( result, directAbstractDeclarator1left, 
++RPAREN1right), rest671)
++end
++|  ( 234, ( ( _, ( _, _, RPAREN1right)) :: ( _, ( 
++MlyValue.parameterTypeList parameterTypeList, _, _)) :: _ :: ( _, ( 
++MlyValue.directAbstractDeclarator directAbstractDeclarator, 
++directAbstractDeclarator1left, _)) :: rest671)) => let val  result = 
++MlyValue.directAbstractDeclarator (
++FuncDecr (directAbstractDeclarator, parameterTypeList))
++ in ( LrTable.NT 15, ( result, directAbstractDeclarator1left, 
++RPAREN1right), rest671)
++end
++|  ( 235, ( ( _, ( MlyValue.parameterList parameterList, 
++parameterList1left, parameterList1right)) :: rest671)) => let val  
++result = MlyValue.parameterTypeList (seqToList parameterList)
++ in ( LrTable.NT 52, ( result, parameterList1left, parameterList1right
++), rest671)
++end
++|  ( 236, ( ( _, ( _, _, ELIPSIS1right)) :: _ :: ( _, ( 
++MlyValue.parameterList parameterList, parameterList1left, _)) :: 
++rest671)) => let val  result = MlyValue.parameterTypeList (
++let val decltype = {specifiers=[Ellipses],qualifiers=[],storage=[]}
++	        		 in (seqToList parameterList) @ [(decltype, EllipsesDecr)] end
++)
++ in ( LrTable.NT 52, ( result, parameterList1left, ELIPSIS1right), 
++rest671)
++end
++|  ( 237, ( ( _, ( MlyValue.parameterDeclaration parameterDeclaration,
++ (parameterDeclarationleft as parameterDeclaration1left), (
++parameterDeclarationright as parameterDeclaration1right))) :: rest671)
++) => let val  result = MlyValue.parameterList (
++singletonSeq(#1 parameterDeclaration,
++                                              markDeclarator srcMap (#2 parameterDeclaration,
++							             parameterDeclarationleft,
++								     parameterDeclarationright))
++)
++ in ( LrTable.NT 51, ( result, parameterDeclaration1left, 
++parameterDeclaration1right), rest671)
++end
++|  ( 238, ( ( _, ( MlyValue.parameterDeclaration parameterDeclaration,
++ parameterDeclarationleft, (parameterDeclarationright as 
++parameterDeclaration1right))) :: _ :: ( _, ( MlyValue.parameterList 
++parameterList, parameterList1left, _)) :: rest671)) => let val  result
++ = MlyValue.parameterList (
++addToSeq((#1 parameterDeclaration,
++	                                           markDeclarator
++	                                            srcMap 
++                                                     (#2 parameterDeclaration,
++						      parameterDeclarationleft,
++						      parameterDeclarationright)),
++					  parameterList)
++)
++ in ( LrTable.NT 51, ( result, parameterList1left, 
++parameterDeclaration1right), rest671)
++end
++|  ( 239, ( ( _, ( MlyValue.notypeDeclarator notypeDeclarator, _, 
++notypeDeclarator1right)) :: ( _, ( MlyValue.declarationSpecifiers 
++declarationSpecifiers, declarationSpecifiers1left, _)) :: rest671)) =>
++ let val  result = MlyValue.parameterDeclaration (
++(declarationSpecifiers, notypeDeclarator))
++ in ( LrTable.NT 53, ( result, declarationSpecifiers1left, 
++notypeDeclarator1right), rest671)
++end
++|  ( 240, ( ( _, ( MlyValue.parmDeclarator parmDeclarator, _, 
++parmDeclarator1right)) :: ( _, ( MlyValue.declarationSpecifiers 
++declarationSpecifiers, declarationSpecifiers1left, _)) :: rest671)) =>
++ let val  result = MlyValue.parameterDeclaration (
++(declarationSpecifiers, parmDeclarator))
++ in ( LrTable.NT 53, ( result, declarationSpecifiers1left, 
++parmDeclarator1right), rest671)
++end
++|  ( 241, ( ( _, ( MlyValue.declarationSpecifiers 
++declarationSpecifiers, declarationSpecifiers1left, 
++declarationSpecifiers1right)) :: rest671)) => let val  result = 
++MlyValue.parameterDeclaration ((declarationSpecifiers, EmptyDecr))
++ in ( LrTable.NT 53, ( result, declarationSpecifiers1left, 
++declarationSpecifiers1right), rest671)
++end
++|  ( 242, ( ( _, ( MlyValue.abstractDeclarator abstractDeclarator, _, 
++abstractDeclarator1right)) :: ( _, ( MlyValue.declarationSpecifiers 
++declarationSpecifiers, declarationSpecifiers1left, _)) :: rest671)) =>
++ let val  result = MlyValue.parameterDeclaration (
++(declarationSpecifiers, abstractDeclarator))
++ in ( LrTable.NT 53, ( result, declarationSpecifiers1left, 
++abstractDeclarator1right), rest671)
++end
++|  ( 243, ( ( _, ( MlyValue.notypeDeclarator notypeDeclarator, _, 
++notypeDeclarator1right)) :: ( _, ( MlyValue.declarationModifiers 
++declarationModifiers, declarationModifiers1left, _)) :: rest671)) =>
++ let val  result = MlyValue.parameterDeclaration (
++(declarationModifiers, notypeDeclarator))
++ in ( LrTable.NT 53, ( result, declarationModifiers1left, 
++notypeDeclarator1right), rest671)
++end
++|  ( 244, ( ( _, ( MlyValue.abstractDeclarator abstractDeclarator, _, 
++abstractDeclarator1right)) :: ( _, ( MlyValue.declarationModifiers 
++declarationModifiers, declarationModifiers1left, _)) :: rest671)) =>
++ let val  result = MlyValue.parameterDeclaration (
++(declarationModifiers, abstractDeclarator))
++ in ( LrTable.NT 53, ( result, declarationModifiers1left, 
++abstractDeclarator1right), rest671)
++end
++|  ( 245, ( rest671)) => let val  result = MlyValue.pushScope (
++TypeDefs.pushScope())
++ in ( LrTable.NT 61, ( result, defaultPos, defaultPos), rest671)
++end
++|  ( 246, ( rest671)) => let val  result = MlyValue.popScope (
++TypeDefs.popScope())
++ in ( LrTable.NT 62, ( result, defaultPos, defaultPos), rest671)
++end
++| _ => raise (mlyAction i392)
++end
++val void = MlyValue.VOID'
++val extract = fn a => (fn MlyValue.translationUnit x => x
++| _ => let exception ParseInternal
++	in raise ParseInternal end) a 
++end
++end
++structure Tokens : C_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 COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(
++ParserData.MlyValue.VOID',p1,p2))
++fun SEMICOLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(
++ParserData.MlyValue.VOID',p1,p2))
++fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LCURLY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(
++ParserData.MlyValue.VOID',p1,p2))
++fun RCURLY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(
++ParserData.MlyValue.VOID',p1,p2))
++fun RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(
++ParserData.MlyValue.VOID',p1,p2))
++fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(
++ParserData.MlyValue.VOID',p1,p2))
++fun QUESTION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(
++ParserData.MlyValue.VOID',p1,p2))
++fun PERCENT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(
++ParserData.MlyValue.VOID',p1,p2))
++fun AMP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(
++ParserData.MlyValue.VOID',p1,p2))
++fun BAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(
++ParserData.MlyValue.VOID',p1,p2))
++fun TILDE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DIVIDE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(
++ParserData.MlyValue.VOID',p1,p2))
++fun PLUS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(
++ParserData.MlyValue.VOID',p1,p2))
++fun MINUS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(
++ParserData.MlyValue.VOID',p1,p2))
++fun HAT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(
++ParserData.MlyValue.VOID',p1,p2))
++fun BANG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,(
++ParserData.MlyValue.VOID',p1,p2))
++fun TIMES (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,(
++ParserData.MlyValue.VOID',p1,p2))
++fun INC (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DEC (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,(
++ParserData.MlyValue.VOID',p1,p2))
++fun ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,(
++ParserData.MlyValue.VOID',p1,p2))
++fun ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,(
++ParserData.MlyValue.ID i,p1,p2))
++fun EQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,(
++ParserData.MlyValue.VOID',p1,p2))
++fun PLUSEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,(
++ParserData.MlyValue.VOID',p1,p2))
++fun MINUSEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,(
++ParserData.MlyValue.VOID',p1,p2))
++fun XOREQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,(
++ParserData.MlyValue.VOID',p1,p2))
++fun MODEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,(
++ParserData.MlyValue.VOID',p1,p2))
++fun TIMESEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DIVEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,(
++ParserData.MlyValue.VOID',p1,p2))
++fun OREQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,(
++ParserData.MlyValue.VOID',p1,p2))
++fun ANDEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LSHIFTEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,(
++ParserData.MlyValue.VOID',p1,p2))
++fun RSHIFTEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LTE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,(
++ParserData.MlyValue.VOID',p1,p2))
++fun GTE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,(
++ParserData.MlyValue.VOID',p1,p2))
++fun GT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,(
++ParserData.MlyValue.VOID',p1,p2))
++fun EQ (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,(
++ParserData.MlyValue.VOID',p1,p2))
++fun NEQ (p1,p2) = Token.TOKEN (ParserData.LrTable.T 42,(
++ParserData.MlyValue.VOID',p1,p2))
++fun OR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 43,(
++ParserData.MlyValue.VOID',p1,p2))
++fun AND (p1,p2) = Token.TOKEN (ParserData.LrTable.T 44,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LSHIFT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 45,(
++ParserData.MlyValue.VOID',p1,p2))
++fun RSHIFT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 46,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DECNUM (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 47,(
++ParserData.MlyValue.DECNUM i,p1,p2))
++fun REALNUM (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 48,(
++ParserData.MlyValue.REALNUM i,p1,p2))
++fun STRING (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 49,(
++ParserData.MlyValue.STRING i,p1,p2))
++fun CCONST (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 50,(
++ParserData.MlyValue.CCONST i,p1,p2))
++fun EXTERN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 51,(
++ParserData.MlyValue.VOID',p1,p2))
++fun AUTO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 52,(
++ParserData.MlyValue.VOID',p1,p2))
++fun STATIC (p1,p2) = Token.TOKEN (ParserData.LrTable.T 53,(
++ParserData.MlyValue.VOID',p1,p2))
++fun REGISTER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 54,(
++ParserData.MlyValue.VOID',p1,p2))
++fun CONST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 55,(
++ParserData.MlyValue.VOID',p1,p2))
++fun VOLATILE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 56,(
++ParserData.MlyValue.VOID',p1,p2))
++fun IF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 57,(
++ParserData.MlyValue.VOID',p1,p2))
++fun THEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 58,(
++ParserData.MlyValue.VOID',p1,p2))
++fun ELSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 59,(
++ParserData.MlyValue.VOID',p1,p2))
++fun FOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 60,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 61,(
++ParserData.MlyValue.VOID',p1,p2))
++fun SWITCH (p1,p2) = Token.TOKEN (ParserData.LrTable.T 62,(
++ParserData.MlyValue.VOID',p1,p2))
++fun CASE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 63,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DEFAULT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 64,(
++ParserData.MlyValue.VOID',p1,p2))
++fun WHILE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 65,(
++ParserData.MlyValue.VOID',p1,p2))
++fun RETURN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 66,(
++ParserData.MlyValue.VOID',p1,p2))
++fun BREAK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 67,(
++ParserData.MlyValue.VOID',p1,p2))
++fun CONTINUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 68,(
++ParserData.MlyValue.VOID',p1,p2))
++fun GOTO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 69,(
++ParserData.MlyValue.VOID',p1,p2))
++fun CHAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 70,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DOUBLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 71,(
++ParserData.MlyValue.VOID',p1,p2))
++fun ENUM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 72,(
++ParserData.MlyValue.VOID',p1,p2))
++fun FLOAT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 73,(
++ParserData.MlyValue.VOID',p1,p2))
++fun INT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 74,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LONG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 75,(
++ParserData.MlyValue.VOID',p1,p2))
++fun SHORT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 76,(
++ParserData.MlyValue.VOID',p1,p2))
++fun FRACTIONAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 77,(
++ParserData.MlyValue.VOID',p1,p2))
++fun SATURATE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 78,(
++ParserData.MlyValue.VOID',p1,p2))
++fun STRUCT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 79,(
++ParserData.MlyValue.VOID',p1,p2))
++fun UNION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 80,(
++ParserData.MlyValue.VOID',p1,p2))
++fun UNSIGNED (p1,p2) = Token.TOKEN (ParserData.LrTable.T 81,(
++ParserData.MlyValue.VOID',p1,p2))
++fun SIGNED (p1,p2) = Token.TOKEN (ParserData.LrTable.T 82,(
++ParserData.MlyValue.VOID',p1,p2))
++fun VOID (p1,p2) = Token.TOKEN (ParserData.LrTable.T 83,(
++ParserData.MlyValue.VOID',p1,p2))
++fun SIZEOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 84,(
++ParserData.MlyValue.VOID',p1,p2))
++fun TYPEDEF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 85,(
++ParserData.MlyValue.VOID',p1,p2))
++fun UNARY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 86,(
++ParserData.MlyValue.VOID',p1,p2))
++fun ELIPSIS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 87,(
++ParserData.MlyValue.VOID',p1,p2))
++fun TYPE_NAME (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 88,(
++ParserData.MlyValue.TYPE_NAME i,p1,p2))
++end
++end
+diff -Naur ckit/src/parser/grammar/c.grm.sml.orig ckit-mlton/src/parser/grammar/c.grm.sml.orig
+--- ckit/src/parser/grammar/c.grm.sml.orig	1969-12-31 19:00:00.000000000 -0500
++++ ckit-mlton/src/parser/grammar/c.grm.sml.orig	2004-10-26 12:09:49.000000000 -0400
+@@ -0,0 +1,3491 @@
++functor LrValsFun(structure Token : TOKEN 
++			    ) = 
++struct
++structure ParserData=
++struct
++structure Header = 
++struct
++(* DO NOT CHANGE THIS FILE -- this file was generated from cd.grm *)
++
++(* Copyright (c) 1998 by Lucent Technologies *)
++
++(* new comments from Satish Chandra, 6/21/99 *)
++(* Overriding design approach: 
++ *
++ * Accept all legal programs, but possibly some illegal ones at this stage. 
++ * Do not attempt to make a really tight grammar. Our tools are supposed to
++ * work on "correct" C programs (i.e. those that cc -ansi would compile without
++ * warnings). Of course, a type checker on the parse tree can report some errors
++ * as syntax errors.
++ *
++ * Note on MARK:
++ *
++ * externalDecl, statement, and expression are the non-terms that are marked.
++ * Compound statements are not separately marked.
++ * declarations eventually become either a statement or a externalDecl
++ *   if they are outside any function. They are marked accordingly.
++ *
++ * Note on function definitions:
++ *
++ * The order of the paramaters will always come from the FuncDecr.
++ * The types of the parameter may come from the second declaration list  
++ * (in K&R style)
++ *
++ * Note on the structure of the grammar:
++ *
++ * It is difficult to write a LALR(1) grammar based on the grammar given at
++ * the back of the K&R book. The basic difficulty is that both TYPE_NAME and
++ * ID are tokens that are strings, but it depends on the context whether
++ * a given string is to be treated as an ID or a TYPE_NAME.
++ * We have borrowed the solution used in GCC's parser specification. In this
++ * scheme, the lexer always return the token TYPE_NAME if a name has been 
++ * defined as a type name (via a typedef) in an applicable scope. The grammar 
++ * productions are heavily rearranged (from K&R's grammar) to do the right 
++ * thing. In this rearrangement, the basic idea is that a TYPE_NAME is  
++ * allowed to appear in a declaration as a plain identifier only after a type 
++ * specifier has previously appeared in the declaration. Also, a TYPE_NAME may 
++ * appear only once in a declaration as a type specifier.
++ *)
++
++(* old comments below *)
++(* Shortcomings *)
++(* 1. No floating-point whatsoever *)
++
++(* Notes on MARK:
++ * externalDecl and statement are the non-terms that are marked.
++ * Compound statements are not separately marked.
++ * expressions are not marked at all.
++ * declarations eventually become either a statement or a externalDecl
++ *   if they are outside any function. they are marked accordingly.
++ *)
++ 
++(* Overriding theme: accept all legal programs, but also some illegal ones at this
++ * stage. Do not attempt to make a really tight grammar. Our tools are supposed to
++ * work on "correct" C programs (i.e. those that cc -ansi would compile without
++ * warnings). Of course, a type checker on the parse tree can report some errors
++ * as syntax errors.
++ *)
++
++(* About function definitions:
++ * The order of the paramaters will always come from the FuncDecr thing 
++ * The types of the parameter may come from the second declaration list  (in K&R style)
++ *)
++
++open ParseTree (* PortingHelp *)
++
++fun markExternalDecl srcMap (d,left,right) = 
++    MARKexternalDecl(SourceMap.location srcMap (left,right), d)
++
++fun markDeclaration srcMap (d,left,right) = 
++    MARKdeclaration(SourceMap.location srcMap (left,right), d)
++
++fun markDeclarator srcMap (d,left,right) = 
++    MARKdeclarator(SourceMap.location srcMap (left,right), d)
++
++fun markStatement srcMap (s,left,right) = 
++    MARKstatement(SourceMap.location srcMap (left, right), s)
++
++fun markExpression srcMap (s,left,right) = 
++    MARKexpression(SourceMap.location srcMap (left, right), s)
++
++val unknown = {storage=[],qualifiers=[],specifiers=[]}:decltype
++
++(* this code duplicated in BuildAst in function processDeclarator *)
++fun ctypeDecrToTypeName (typ as {qualifiers, specifiers},decr) =
++      let fun mkTyp spc = {qualifiers=[], specifiers=[spc]}
++	  fun addQual q = {qualifiers=q::qualifiers, specifiers=specifiers}
++       in case decr
++	    of VarDecr x => (typ,SOME x)
++	     | PointerDecr x =>
++		ctypeDecrToTypeName (mkTyp (Pointer typ),x)
++	     | ArrayDecr (x,sz) =>
++		ctypeDecrToTypeName (mkTyp (Array (sz,typ)),x)
++	     | FuncDecr (x,lst) =>
++		ctypeDecrToTypeName (mkTyp (Function{retType=typ,params=lst}),x)
++	     | QualDecr (q,decr) =>
++		ctypeDecrToTypeName (addQual q, decr)
++	     | EmptyDecr => (typ, NONE)
++	     | EllipsesDecr => (mkTyp Ellipses, SOME("**ellipses**"))
++	     | DecrExt _ => (typ, NONE)  (* should call decr extension? *)
++	     | MARKdeclarator(loc, decr) => ctypeDecrToTypeName(typ, decr)
++      end
++
++fun dclr2str dcl = 
++  (case ctypeDecrToTypeName ({qualifiers=[],specifiers=[]}, dcl)
++     of (_,SOME s) => s
++      | (_,NONE) => "")
++
++fun combineDecltypes ( {qualifiers=q1,storage=st1,specifiers=sp1}
++	           , {qualifiers=q2,storage=st2,specifiers=sp2}
++	           ) =
++  {qualifiers=q1@q2,storage=st1@st2,specifiers=sp1@sp2}  (* @ ok *)
++
++fun applyPointer (PointerDecr x,rest) = PointerDecr (applyPointer (x,rest))
++  | applyPointer (QualDecr (q,x),rest) = QualDecr (q, applyPointer (x,rest))
++  | applyPointer (EmptyDecr, rest) = rest
++  | applyPointer (_, rest) = rest  
++    (* NCH/DBM[6/14/99]: this case can never occur  *)
++
++fun addStorage(st, {qualifiers,storage,specifiers}) =
++        {qualifiers=qualifiers,storage=st::storage,specifiers=specifiers}
++
++fun addQualifiers(qs, {qualifiers,storage,specifiers}) =
++	{qualifiers=qs@qualifiers,storage=storage,specifiers=specifiers} (* @ ok *)
++
++fun addQualifier(q, {qualifiers,storage,specifiers}) =
++	{qualifiers=q::qualifiers,storage=storage,specifiers=specifiers}
++
++fun addSpecifier(sp, {qualifiers,storage,specifiers}) =
++	{qualifiers=qualifiers,storage=storage,specifiers=sp::specifiers}
++
++val addAll = combineDecltypes
++
++fun loopQd (q::rst, acc) = loopQd(rst, QualDecr(q, acc))
++  | loopQd (nil, acc) = acc
++
++fun mkCtype typ = typ
++
++(* DBM: major kludge, using TYPEDEF as storage class *)
++fun insertDeclNames ({storage,...}: decltype, idl) =
++    case storage
++      of [TYPEDEF] =>  List.app (fn x as (dcl,_) => TypeDefs.addTdef (dclr2str dcl)) idl
++       | _ => List.app (fn x as (dcl,_) => TypeDefs.addNoTdef (dclr2str dcl)) idl
++
++fun insertFuncName dcl =
++  let
++    val name = dclr2str dcl
++  in
++    TypeDefs.addNoTdef name
++  end
++
++fun insertFuncParams (FuncDecr (_,params)) : unit = 
++     let
++       fun getName (ct, dclr) = dclr2str dclr
++       val names = map getName params
++     in
++       List.app TypeDefs.addNoTdef names
++     end
++  | insertFuncParams (ArrayDecr(dcl,_)) = insertFuncParams dcl
++  | insertFuncParams (PointerDecr dcl) = insertFuncParams dcl
++  | insertFuncParams _ = ()  (* this is actually an error, but it will be caught in
++		              * BuildAst when processing a PT.FunctionDef *)
++
++abstype 'a seq = SEQ of 'a list
++with val emptySeq = SEQ nil
++     fun singletonSeq x = SEQ[x]
++     fun addToSeq(x, SEQ yl) = SEQ(x :: yl)  (* add to end of sequence! *)
++  (* fun addListToEnd(xl, yl) = SEQ((List.rev xl) @ yl) *)
++     fun addOptToEnd(NONE, yl) = yl
++       | addOptToEnd(SOME x, SEQ yl) = SEQ(x :: yl)
++     fun seqToList(SEQ yl) = List.rev yl
++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\169\000\004\000\070\000\022\000\042\000\026\000\041\000\
++\\089\000\069\000\000\000\
++\\001\000\002\000\174\000\004\000\043\000\022\000\042\000\026\000\041\000\
++\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
++\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
++\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
++\\089\000\021\000\000\000\
++\\001\000\002\000\226\000\000\000\
++\\001\000\002\000\075\001\011\000\178\000\000\000\
++\\001\000\002\000\115\001\011\000\178\000\000\000\
++\\001\000\003\000\083\002\006\000\130\002\011\000\083\002\027\000\139\000\
++\\052\000\130\002\053\000\130\002\054\000\130\002\055\000\130\002\
++\\056\000\130\002\057\000\130\002\071\000\130\002\072\000\130\002\
++\\073\000\130\002\074\000\130\002\075\000\130\002\076\000\130\002\
++\\077\000\130\002\080\000\130\002\081\000\130\002\082\000\130\002\
++\\083\000\130\002\084\000\130\002\086\000\130\002\089\000\130\002\000\000\
++\\001\000\003\000\087\002\006\000\131\002\011\000\087\002\027\000\135\000\
++\\052\000\131\002\053\000\131\002\054\000\131\002\055\000\131\002\
++\\056\000\131\002\057\000\131\002\071\000\131\002\072\000\131\002\
++\\073\000\131\002\074\000\131\002\075\000\131\002\076\000\131\002\
++\\077\000\131\002\080\000\131\002\081\000\131\002\082\000\131\002\
++\\083\000\131\002\084\000\131\002\086\000\131\002\089\000\131\002\000\000\
++\\001\000\003\000\048\000\000\000\
++\\001\000\003\000\127\000\004\000\126\000\006\000\054\000\007\000\194\001\
++\\014\000\125\000\016\000\124\000\018\000\123\000\019\000\122\000\
++\\021\000\121\000\022\000\120\000\023\000\119\000\024\000\118\000\
++\\026\000\117\000\048\000\116\000\049\000\115\000\050\000\114\000\
++\\051\000\113\000\052\000\156\002\053\000\156\002\054\000\156\002\
++\\055\000\156\002\056\000\156\002\057\000\156\002\058\000\112\000\
++\\061\000\111\000\062\000\110\000\063\000\109\000\064\000\108\000\
++\\065\000\107\000\066\000\106\000\067\000\105\000\068\000\104\000\
++\\069\000\103\000\070\000\102\000\071\000\156\002\072\000\156\002\
++\\073\000\156\002\074\000\156\002\075\000\156\002\076\000\156\002\
++\\077\000\156\002\080\000\156\002\081\000\156\002\082\000\156\002\
++\\083\000\156\002\084\000\156\002\085\000\101\000\086\000\156\002\
++\\089\000\156\002\000\000\
++\\001\000\003\000\127\000\004\000\126\000\006\000\054\000\014\000\125\000\
++\\016\000\124\000\018\000\123\000\019\000\122\000\021\000\121\000\
++\\022\000\120\000\023\000\119\000\024\000\118\000\026\000\117\000\
++\\048\000\116\000\049\000\115\000\050\000\114\000\051\000\113\000\
++\\058\000\112\000\061\000\111\000\062\000\110\000\063\000\109\000\
++\\064\000\108\000\065\000\107\000\066\000\106\000\067\000\105\000\
++\\068\000\104\000\069\000\103\000\070\000\102\000\085\000\101\000\000\000\
++\\001\000\003\000\179\000\011\000\178\000\000\000\
++\\001\000\003\000\221\000\000\000\
++\\001\000\003\000\222\000\000\000\
++\\001\000\003\000\021\001\011\000\020\001\000\000\
++\\001\000\003\000\025\001\011\000\024\001\000\000\
++\\001\000\003\000\071\001\000\000\
++\\001\000\003\000\072\001\000\000\
++\\001\000\003\000\124\001\000\000\
++\\001\000\003\000\159\001\000\000\
++\\001\000\003\000\161\001\000\000\
++\\001\000\004\000\043\000\022\000\042\000\026\000\041\000\000\000\
++\\001\000\004\000\043\000\022\000\042\000\026\000\041\000\052\000\040\000\
++\\053\000\039\000\054\000\038\000\055\000\037\000\056\000\036\000\
++\\057\000\035\000\071\000\034\000\072\000\033\000\073\000\032\000\
++\\074\000\031\000\075\000\030\000\076\000\029\000\077\000\028\000\
++\\080\000\027\000\081\000\026\000\082\000\025\000\083\000\024\000\
++\\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
++\\001\000\004\000\043\000\026\000\041\000\000\000\
++\\001\000\004\000\070\000\022\000\042\000\026\000\041\000\089\000\069\000\000\000\
++\\001\000\004\000\070\000\026\000\041\000\089\000\069\000\000\000\
++\\001\000\004\000\126\000\005\000\069\001\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\126\000\006\000\242\000\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\126\000\009\000\145\000\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\126\000\009\000\245\000\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\126\000\009\000\098\001\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\126\000\009\000\130\001\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\126\000\009\000\137\001\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\126\000\014\000\125\000\016\000\124\000\018\000\123\000\
++\\019\000\122\000\021\000\121\000\022\000\120\000\023\000\119\000\
++\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
++\\050\000\114\000\051\000\113\000\056\000\036\000\057\000\035\000\
++\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
++\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
++\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
++\\085\000\101\000\089\000\021\000\000\000\
++\\001\000\004\000\126\000\014\000\125\000\016\000\124\000\018\000\123\000\
++\\019\000\122\000\021\000\121\000\022\000\120\000\023\000\119\000\
++\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
++\\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\215\000\008\000\214\000\009\000\252\000\010\000\213\000\
++\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
++\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
++\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
++\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
++\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
++\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\001\000\004\000\215\000\008\000\214\000\009\000\088\001\010\000\213\000\
++\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
++\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
++\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
++\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
++\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
++\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\001\000\004\000\215\000\008\000\214\000\009\000\133\001\010\000\213\000\
++\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
++\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
++\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
++\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
++\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
++\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\001\000\004\000\215\000\008\000\214\000\009\000\153\001\010\000\213\000\
++\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
++\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
++\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
++\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
++\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
++\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\001\000\004\000\215\000\008\000\214\000\009\000\155\001\010\000\213\000\
++\\012\000\212\000\013\000\211\000\014\000\210\000\015\000\209\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\020\000\205\000\
++\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
++\\027\000\200\000\028\000\199\000\029\000\198\000\030\000\197\000\
++\\031\000\196\000\032\000\195\000\033\000\194\000\034\000\193\000\
++\\035\000\192\000\036\000\191\000\037\000\190\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
++\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\001\000\004\000\219\000\014\000\125\000\016\000\124\000\018\000\123\000\
++\\019\000\122\000\021\000\121\000\022\000\120\000\023\000\119\000\
++\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
++\\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\001\000\004\000\225\000\000\000\
++\\001\000\004\000\228\000\000\000\
++\\001\000\004\000\230\000\000\000\
++\\001\000\004\000\231\000\000\000\
++\\001\000\004\000\006\001\005\000\101\001\008\000\005\001\022\000\042\000\
++\\026\000\041\000\052\000\040\000\053\000\039\000\054\000\038\000\
++\\055\000\037\000\056\000\036\000\057\000\035\000\071\000\034\000\
++\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
++\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
++\\082\000\025\000\083\000\024\000\084\000\023\000\086\000\022\000\
++\\089\000\021\000\000\000\
++\\001\000\004\000\006\001\008\000\005\001\022\000\042\000\026\000\041\000\
++\\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
++\\001\000\004\000\083\001\005\000\101\001\008\000\005\001\022\000\042\000\
++\\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
++\\001\000\004\000\123\001\000\000\
++\\001\000\005\000\153\000\026\000\152\000\052\000\040\000\053\000\039\000\
++\\054\000\038\000\055\000\037\000\056\000\036\000\057\000\035\000\
++\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
++\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
++\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
++\\086\000\022\000\089\000\021\000\000\000\
++\\001\000\005\000\161\000\000\000\
++\\001\000\005\000\248\000\026\000\152\000\052\000\040\000\053\000\039\000\
++\\054\000\038\000\055\000\037\000\056\000\036\000\057\000\035\000\
++\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
++\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
++\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
++\\086\000\022\000\089\000\021\000\000\000\
++\\001\000\005\000\251\000\000\000\
++\\001\000\005\000\253\000\000\000\
++\\001\000\005\000\000\001\011\000\255\000\000\000\
++\\001\000\005\000\084\001\000\000\
++\\001\000\005\000\085\001\011\000\178\000\000\000\
++\\001\000\005\000\089\001\000\000\
++\\001\000\005\000\090\001\011\000\255\000\000\000\
++\\001\000\005\000\118\001\011\000\117\001\000\000\
++\\001\000\005\000\119\001\000\000\
++\\001\000\005\000\120\001\011\000\178\000\000\000\
++\\001\000\005\000\122\001\011\000\178\000\000\000\
++\\001\000\005\000\125\001\011\000\178\000\000\000\
++\\001\000\005\000\132\001\052\000\040\000\053\000\039\000\054\000\038\000\
++\\055\000\037\000\056\000\036\000\057\000\035\000\071\000\034\000\
++\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
++\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
++\\082\000\025\000\083\000\024\000\084\000\023\000\086\000\022\000\
++\\089\000\021\000\000\000\
++\\001\000\005\000\134\001\000\000\
++\\001\000\005\000\135\001\000\000\
++\\001\000\005\000\140\001\026\000\152\000\052\000\040\000\053\000\039\000\
++\\054\000\038\000\055\000\037\000\056\000\036\000\057\000\035\000\
++\\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
++\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
++\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
++\\086\000\022\000\089\000\021\000\000\000\
++\\001\000\005\000\154\001\000\000\
++\\001\000\005\000\156\001\000\000\
++\\001\000\005\000\157\001\011\000\255\000\000\000\
++\\001\000\005\000\158\001\011\000\178\000\000\000\
++\\001\000\005\000\164\001\000\000\
++\\001\000\006\000\047\000\026\000\046\000\089\000\045\000\000\000\
++\\001\000\006\000\054\000\052\000\040\000\053\000\039\000\054\000\038\000\
++\\055\000\037\000\056\000\036\000\057\000\035\000\071\000\034\000\
++\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
++\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
++\\082\000\025\000\083\000\024\000\084\000\023\000\086\000\022\000\
++\\089\000\021\000\000\000\
++\\001\000\006\000\076\000\026\000\075\000\089\000\074\000\000\000\
++\\001\000\007\000\165\000\056\000\036\000\057\000\035\000\071\000\034\000\
++\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
++\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
++\\082\000\025\000\083\000\024\000\084\000\023\000\089\000\021\000\000\000\
++\\001\000\007\000\217\000\000\000\
++\\001\000\007\000\018\001\056\000\036\000\057\000\035\000\071\000\034\000\
++\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
++\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
++\\082\000\025\000\083\000\024\000\084\000\023\000\089\000\021\000\000\000\
++\\001\000\007\000\019\001\056\000\036\000\057\000\035\000\071\000\034\000\
++\\072\000\033\000\073\000\032\000\074\000\031\000\075\000\030\000\
++\\076\000\029\000\077\000\028\000\080\000\027\000\081\000\026\000\
++\\082\000\025\000\083\000\024\000\084\000\023\000\089\000\021\000\000\000\
++\\001\000\007\000\107\001\000\000\
++\\001\000\007\000\141\001\000\000\
++\\001\000\007\000\142\001\000\000\
++\\001\000\007\000\143\001\000\000\
++\\001\000\007\000\151\001\000\000\
++\\001\000\009\000\116\001\011\000\178\000\000\000\
++\\001\000\026\000\158\000\000\000\
++\\001\000\026\000\220\000\000\000\
++\\001\000\026\000\054\001\089\000\053\001\000\000\
++\\001\000\026\000\065\001\089\000\064\001\000\000\
++\\001\000\026\000\093\001\000\000\
++\\001\000\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\086\000\022\000\088\000\092\001\
++\\089\000\021\000\000\000\
++\\001\000\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
++\\001\000\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\089\000\021\000\000\000\
++\\001\000\066\000\077\001\000\000\
++\\001\000\071\000\034\000\072\000\033\000\073\000\032\000\074\000\031\000\
++\\075\000\030\000\076\000\029\000\077\000\028\000\080\000\027\000\
++\\081\000\026\000\082\000\025\000\083\000\024\000\084\000\023\000\
++\\089\000\021\000\000\000\
++\\167\001\003\000\044\000\004\000\043\000\022\000\042\000\026\000\041\000\
++\\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\086\000\022\000\089\000\021\000\000\000\
++\\168\001\000\000\
++\\169\001\000\000\
++\\170\001\000\000\
++\\171\001\000\000\
++\\172\001\000\000\
++\\173\001\000\000\
++\\174\001\000\000\
++\\175\001\000\000\
++\\176\001\000\000\
++\\177\001\000\000\
++\\178\001\000\000\
++\\179\001\000\000\
++\\180\001\000\000\
++\\181\001\000\000\
++\\182\001\000\000\
++\\183\001\000\000\
++\\184\001\000\000\
++\\185\001\060\000\160\001\000\000\
++\\186\001\000\000\
++\\187\001\000\000\
++\\188\001\000\000\
++\\189\001\000\000\
++\\190\001\004\000\070\000\022\000\042\000\026\000\041\000\089\000\069\000\000\000\
++\\191\001\011\000\141\000\000\000\
++\\192\001\011\000\136\000\000\000\
++\\193\001\003\000\127\000\004\000\126\000\006\000\054\000\014\000\125\000\
++\\016\000\124\000\018\000\123\000\019\000\122\000\021\000\121\000\
++\\022\000\120\000\023\000\119\000\024\000\118\000\026\000\117\000\
++\\048\000\116\000\049\000\115\000\050\000\114\000\051\000\113\000\
++\\058\000\112\000\061\000\111\000\062\000\110\000\063\000\109\000\
++\\064\000\108\000\065\000\107\000\066\000\106\000\067\000\105\000\
++\\068\000\104\000\069\000\103\000\070\000\102\000\085\000\101\000\000\000\
++\\194\001\003\000\127\000\004\000\126\000\006\000\054\000\014\000\125\000\
++\\016\000\124\000\018\000\123\000\019\000\122\000\021\000\121\000\
++\\022\000\120\000\023\000\119\000\024\000\118\000\026\000\117\000\
++\\048\000\116\000\049\000\115\000\050\000\114\000\051\000\113\000\
++\\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\058\000\112\000\061\000\111\000\
++\\062\000\110\000\063\000\109\000\064\000\108\000\065\000\107\000\
++\\066\000\106\000\067\000\105\000\068\000\104\000\069\000\103\000\
++\\070\000\102\000\071\000\034\000\072\000\033\000\073\000\032\000\
++\\074\000\031\000\075\000\030\000\076\000\029\000\077\000\028\000\
++\\080\000\027\000\081\000\026\000\082\000\025\000\083\000\024\000\
++\\084\000\023\000\085\000\101\000\086\000\022\000\089\000\021\000\000\000\
++\\195\001\000\000\
++\\196\001\000\000\
++\\197\001\000\000\
++\\198\001\000\000\
++\\199\001\000\000\
++\\200\001\000\000\
++\\201\001\000\000\
++\\202\001\000\000\
++\\203\001\000\000\
++\\204\001\000\000\
++\\205\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
++\\043\000\184\000\044\000\183\000\045\000\182\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\206\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\207\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\208\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\209\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\210\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\211\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\212\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\213\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\214\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\215\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\216\001\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\217\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\014\000\210\000\015\000\209\000\017\000\208\000\018\000\207\000\
++\\019\000\206\000\020\000\205\000\022\000\204\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\218\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\014\000\210\000\015\000\209\000\017\000\208\000\018\000\207\000\
++\\019\000\206\000\020\000\205\000\022\000\204\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\046\000\181\000\047\000\180\000\000\000\
++\\219\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\014\000\210\000\017\000\208\000\018\000\207\000\019\000\206\000\
++\\020\000\205\000\022\000\204\000\023\000\203\000\024\000\202\000\
++\\025\000\201\000\038\000\189\000\039\000\188\000\040\000\187\000\
++\\041\000\186\000\042\000\185\000\043\000\184\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\220\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\014\000\210\000\017\000\208\000\018\000\207\000\019\000\206\000\
++\\022\000\204\000\023\000\203\000\024\000\202\000\025\000\201\000\
++\\038\000\189\000\039\000\188\000\040\000\187\000\041\000\186\000\
++\\042\000\185\000\043\000\184\000\046\000\181\000\047\000\180\000\000\000\
++\\221\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\042\000\185\000\
++\\043\000\184\000\046\000\181\000\047\000\180\000\000\000\
++\\222\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\223\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\038\000\189\000\
++\\039\000\188\000\040\000\187\000\041\000\186\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\224\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\225\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\226\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\227\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\046\000\181\000\
++\\047\000\180\000\000\000\
++\\228\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\000\000\
++\\229\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\018\000\207\000\019\000\206\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\000\000\
++\\230\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\022\000\204\000\023\000\203\000\024\000\202\000\
++\\025\000\201\000\000\000\
++\\231\001\004\000\215\000\008\000\214\000\010\000\213\000\013\000\211\000\
++\\017\000\208\000\022\000\204\000\023\000\203\000\024\000\202\000\
++\\025\000\201\000\000\000\
++\\232\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\233\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\234\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\235\001\000\000\
++\\236\001\000\000\
++\\237\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\238\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\239\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\240\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\241\001\004\000\215\000\008\000\214\000\010\000\213\000\023\000\203\000\
++\\024\000\202\000\025\000\201\000\000\000\
++\\242\001\004\000\126\000\016\000\124\000\021\000\121\000\023\000\119\000\
++\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
++\\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\243\001\000\000\
++\\244\001\000\000\
++\\245\001\000\000\
++\\246\001\000\000\
++\\247\001\000\000\
++\\248\001\000\000\
++\\249\001\000\000\
++\\250\001\000\000\
++\\251\001\000\000\
++\\252\001\000\000\
++\\253\001\000\000\
++\\254\001\000\000\
++\\254\001\002\000\233\000\000\000\
++\\255\001\000\000\
++\\000\002\050\000\114\000\000\000\
++\\001\002\000\000\
++\\002\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\003\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\004\002\004\000\126\000\014\000\125\000\016\000\124\000\018\000\123\000\
++\\019\000\122\000\021\000\121\000\022\000\120\000\023\000\119\000\
++\\024\000\118\000\026\000\144\000\048\000\116\000\049\000\115\000\
++\\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\005\002\011\000\178\000\000\000\
++\\006\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\007\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\008\002\004\000\083\001\008\000\005\001\022\000\042\000\000\000\
++\\009\002\000\000\
++\\010\002\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\086\000\022\000\000\000\
++\\011\002\052\000\040\000\053\000\039\000\054\000\038\000\055\000\037\000\
++\\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\086\000\022\000\000\000\
++\\012\002\000\000\
++\\013\002\000\000\
++\\014\002\000\000\
++\\015\002\000\000\
++\\016\002\000\000\
++\\017\002\000\000\
++\\018\002\000\000\
++\\019\002\000\000\
++\\020\002\000\000\
++\\021\002\000\000\
++\\022\002\000\000\
++\\023\002\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\000\000\
++\\024\002\056\000\036\000\057\000\035\000\071\000\034\000\072\000\033\000\
++\\073\000\032\000\074\000\031\000\075\000\030\000\076\000\029\000\
++\\077\000\028\000\080\000\027\000\081\000\026\000\082\000\025\000\
++\\083\000\024\000\084\000\023\000\000\000\
++\\025\002\000\000\
++\\026\002\000\000\
++\\027\002\056\000\036\000\057\000\035\000\000\000\
++\\028\002\000\000\
++\\029\002\000\000\
++\\030\002\000\000\
++\\031\002\000\000\
++\\032\002\000\000\
++\\033\002\000\000\
++\\034\002\000\000\
++\\035\002\000\000\
++\\036\002\000\000\
++\\037\002\000\000\
++\\038\002\000\000\
++\\039\002\000\000\
++\\040\002\000\000\
++\\041\002\000\000\
++\\042\002\000\000\
++\\043\002\000\000\
++\\044\002\000\000\
++\\045\002\006\000\082\000\000\000\
++\\046\002\006\000\081\000\000\000\
++\\047\002\000\000\
++\\048\002\000\000\
++\\049\002\000\000\
++\\050\002\000\000\
++\\051\002\000\000\
++\\052\002\000\000\
++\\053\002\000\000\
++\\054\002\000\000\
++\\055\002\000\000\
++\\056\002\000\000\
++\\057\002\002\000\022\001\000\000\
++\\058\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\059\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\060\002\002\000\027\001\000\000\
++\\061\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\062\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\063\002\000\000\
++\\064\002\000\000\
++\\065\002\000\000\
++\\066\002\000\000\
++\\067\002\000\000\
++\\068\002\006\000\155\000\000\000\
++\\069\002\006\000\154\000\000\000\
++\\070\002\000\000\
++\\071\002\000\000\
++\\072\002\027\000\017\001\000\000\
++\\073\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\074\002\000\000\
++\\075\002\000\000\
++\\076\002\000\000\
++\\077\002\000\000\
++\\078\002\000\000\
++\\079\002\011\000\016\001\000\000\
++\\079\002\011\000\128\001\000\000\
++\\080\002\004\000\126\000\006\000\242\000\014\000\125\000\016\000\124\000\
++\\018\000\123\000\019\000\122\000\021\000\121\000\022\000\120\000\
++\\023\000\119\000\024\000\118\000\026\000\144\000\048\000\116\000\
++\\049\000\115\000\050\000\114\000\051\000\113\000\085\000\101\000\000\000\
++\\080\002\026\000\158\000\000\000\
++\\081\002\000\000\
++\\082\002\000\000\
++\\083\002\027\000\139\000\000\000\
++\\084\002\000\000\
++\\085\002\000\000\
++\\086\002\000\000\
++\\087\002\027\000\135\000\000\000\
++\\088\002\000\000\
++\\089\002\000\000\
++\\090\002\000\000\
++\\091\002\004\000\138\000\008\000\137\000\000\000\
++\\092\002\004\000\138\000\008\000\137\000\000\000\
++\\093\002\004\000\072\000\008\000\071\000\000\000\
++\\094\002\004\000\072\000\008\000\071\000\000\000\
++\\095\002\004\000\103\001\008\000\102\001\000\000\
++\\096\002\004\000\103\001\008\000\102\001\000\000\
++\\097\002\022\000\042\000\056\000\036\000\057\000\035\000\000\000\
++\\098\002\022\000\042\000\000\000\
++\\099\002\000\000\
++\\100\002\000\000\
++\\101\002\000\000\
++\\102\002\000\000\
++\\103\002\000\000\
++\\104\002\000\000\
++\\105\002\000\000\
++\\106\002\000\000\
++\\107\002\000\000\
++\\108\002\000\000\
++\\109\002\000\000\
++\\110\002\000\000\
++\\111\002\000\000\
++\\112\002\000\000\
++\\113\002\000\000\
++\\114\002\000\000\
++\\115\002\000\000\
++\\116\002\000\000\
++\\117\002\000\000\
++\\118\002\000\000\
++\\119\002\000\000\
++\\120\002\000\000\
++\\121\002\004\000\215\000\008\000\214\000\010\000\213\000\012\000\212\000\
++\\013\000\211\000\014\000\210\000\015\000\209\000\017\000\208\000\
++\\018\000\207\000\019\000\206\000\020\000\205\000\022\000\204\000\
++\\023\000\203\000\024\000\202\000\025\000\201\000\027\000\200\000\
++\\028\000\199\000\029\000\198\000\030\000\197\000\031\000\196\000\
++\\032\000\195\000\033\000\194\000\034\000\193\000\035\000\192\000\
++\\036\000\191\000\037\000\190\000\038\000\189\000\039\000\188\000\
++\\040\000\187\000\041\000\186\000\042\000\185\000\043\000\184\000\
++\\044\000\183\000\045\000\182\000\046\000\181\000\047\000\180\000\000\000\
++\\122\002\000\000\
++\\123\002\000\000\
++\\124\002\000\000\
++\\125\002\000\000\
++\\126\002\000\000\
++\\127\002\000\000\
++\\128\002\000\000\
++\\129\002\000\000\
++\\132\002\000\000\
++\\133\002\000\000\
++\\134\002\004\000\006\001\008\000\005\001\026\000\041\000\000\000\
++\\134\002\004\000\006\001\008\000\005\001\026\000\041\000\089\000\012\001\000\000\
++\\134\002\004\000\083\001\008\000\005\001\000\000\
++\\135\002\004\000\096\001\008\000\095\001\000\000\
++\\136\002\004\000\096\001\008\000\095\001\000\000\
++\\137\002\000\000\
++\\138\002\000\000\
++\\139\002\000\000\
++\\140\002\000\000\
++\\141\002\000\000\
++\\142\002\000\000\
++\\143\002\000\000\
++\\144\002\000\000\
++\\145\002\000\000\
++\\146\002\011\000\254\000\000\000\
++\\147\002\000\000\
++\\148\002\000\000\
++\\149\002\000\000\
++\\150\002\000\000\
++\\151\002\000\000\
++\\152\002\004\000\006\001\008\000\005\001\022\000\042\000\026\000\041\000\
++\\089\000\012\001\000\000\
++\\153\002\000\000\
++\\154\002\000\000\
++\\155\002\000\000\
++\\157\002\000\000\
++\"
++val actionRowNumbers =
++"\097\000\096\000\073\000\098\000\
++\\008\000\099\000\101\000\074\000\
++\\216\000\217\000\207\000\215\000\
++\\198\000\205\000\022\000\119\000\
++\\025\001\061\001\023\000\218\000\
++\\008\001\219\000\226\000\227\000\
++\\234\000\233\000\221\000\223\000\
++\\222\000\224\000\075\000\225\000\
++\\220\000\250\000\249\000\007\001\
++\\005\001\006\001\004\001\040\001\
++\\029\001\021\000\100\000\232\000\
++\\231\000\093\000\118\000\057\001\
++\\074\000\022\000\119\000\062\001\
++\\009\000\196\000\208\000\198\000\
++\\206\000\007\000\121\000\017\001\
++\\023\001\022\001\021\001\006\000\
++\\025\000\120\000\013\001\033\001\
++\\024\000\028\000\049\000\026\001\
++\\255\000\254\000\086\000\030\001\
++\\213\000\031\001\050\000\093\000\
++\\093\000\235\000\076\000\001\000\
++\\002\000\211\000\058\001\063\001\
++\\019\001\015\001\185\000\092\000\
++\\034\000\011\000\188\000\110\000\
++\\122\000\077\000\124\000\040\000\
++\\087\000\012\000\013\000\190\000\
++\\041\000\003\000\034\000\042\000\
++\\010\000\043\000\044\000\182\000\
++\\186\000\181\000\180\000\184\000\
++\\034\000\034\000\129\000\133\000\
++\\131\000\130\000\132\000\128\000\
++\\033\000\117\000\203\000\204\000\
++\\202\000\201\000\200\000\199\000\
++\\197\000\027\000\024\000\029\000\
++\\051\000\027\000\024\001\024\000\
++\\052\000\035\000\183\000\042\001\
++\\080\001\053\000\078\001\054\000\
++\\046\000\084\001\059\001\044\001\
++\\086\000\086\000\001\001\009\001\
++\\002\001\032\001\214\000\041\001\
++\\078\000\079\000\236\000\228\000\
++\\014\000\239\000\243\000\034\000\
++\\015\000\241\000\211\000\246\000\
++\\034\000\209\000\123\000\168\000\
++\\034\000\116\000\034\000\034\000\
++\\034\000\034\000\034\000\034\000\
++\\034\000\034\000\034\000\034\000\
++\\034\000\034\000\034\000\034\000\
++\\034\000\034\000\034\000\034\000\
++\\034\000\034\000\034\000\088\000\
++\\165\000\164\000\034\000\034\000\
++\\034\000\034\000\034\000\034\000\
++\\034\000\034\000\034\000\089\000\
++\\034\000\026\000\125\000\127\000\
++\\169\000\033\000\016\000\107\000\
++\\106\000\191\000\017\000\034\000\
++\\010\000\004\000\034\000\094\000\
++\\190\000\034\000\187\000\010\000\
++\\167\000\166\000\194\000\095\000\
++\\055\000\056\000\020\001\053\001\
++\\027\000\018\001\036\000\035\001\
++\\057\000\058\000\037\001\016\001\
++\\014\001\034\001\043\001\045\001\
++\\091\000\090\000\046\001\086\001\
++\\064\001\067\001\087\001\030\000\
++\\045\000\027\001\083\001\082\001\
++\\065\001\085\001\047\001\009\001\
++\\009\001\080\000\012\001\034\000\
++\\230\000\229\000\001\000\237\000\
++\\034\000\244\000\001\000\238\000\
++\\210\000\034\000\247\000\212\000\
++\\088\001\189\000\158\000\157\000\
++\\147\000\146\000\152\000\151\000\
++\\154\000\153\000\156\000\155\000\
++\\144\000\143\000\142\000\141\000\
++\\138\000\137\000\139\000\140\000\
++\\136\000\135\000\145\000\178\000\
++\\176\000\161\000\149\000\160\000\
++\\159\000\162\000\148\000\150\000\
++\\163\000\005\000\177\000\175\000\
++\\085\000\059\000\192\000\173\000\
++\\060\000\109\000\108\000\061\000\
++\\112\000\010\000\062\000\048\000\
++\\018\000\063\000\111\000\066\001\
++\\195\000\047\000\034\000\179\000\
++\\010\001\055\001\036\001\038\001\
++\\039\001\081\001\079\001\060\001\
++\\068\001\031\000\064\000\037\000\
++\\070\001\065\000\066\000\074\001\
++\\032\000\067\000\028\001\081\000\
++\\082\000\251\000\000\001\003\001\
++\\240\000\245\000\242\000\248\000\
++\\083\000\034\000\172\000\034\000\
++\\174\000\171\000\010\000\113\000\
++\\010\000\034\000\190\000\010\000\
++\\170\000\084\000\011\001\038\000\
++\\072\001\068\000\076\001\071\001\
++\\075\001\069\001\039\000\048\001\
++\\069\000\070\000\050\001\253\000\
++\\252\000\126\000\134\000\193\000\
++\\103\000\104\000\071\000\019\000\
++\\114\000\054\001\056\001\073\001\
++\\077\001\049\001\051\001\052\001\
++\\020\000\190\000\010\000\105\000\
++\\072\000\115\000\010\000\102\000\
++\\000\000"
++val gotoT =
++"\
++\\001\000\164\001\002\000\001\000\000\000\
++\\021\000\018\000\024\000\017\000\027\000\016\000\029\000\015\000\
++\\030\000\014\000\036\000\013\000\038\000\012\000\039\000\011\000\
++\\040\000\010\000\043\000\009\000\044\000\008\000\045\000\007\000\
++\\048\000\006\000\049\000\005\000\050\000\004\000\051\000\003\000\
++\\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\006\000\051\000\029\000\050\000\030\000\049\000\036\000\013\000\
++\\038\000\012\000\039\000\011\000\040\000\010\000\043\000\009\000\
++\\044\000\008\000\046\000\048\000\049\000\047\000\050\000\004\000\
++\\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\031\000\053\000\000\000\
++\\000\000\
++\\018\000\059\000\020\000\058\000\021\000\018\000\024\000\057\000\
++\\027\000\016\000\036\000\056\000\038\000\055\000\039\000\011\000\
++\\040\000\054\000\043\000\009\000\044\000\008\000\055\000\002\000\000\000\
++\\017\000\066\000\019\000\065\000\021\000\064\000\022\000\063\000\
++\\023\000\062\000\024\000\061\000\026\000\060\000\027\000\016\000\000\000\
++\\000\000\
++\\000\000\
++\\027\000\071\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\021\000\077\000\040\000\076\000\041\000\075\000\000\000\
++\\021\000\018\000\024\000\078\000\027\000\016\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
++\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\060\000\082\000\061\000\081\000\000\000\
++\\000\000\
++\\000\000\
++\\006\000\087\000\029\000\050\000\030\000\049\000\036\000\013\000\
++\\038\000\012\000\039\000\011\000\040\000\010\000\043\000\009\000\
++\\044\000\008\000\049\000\086\000\050\000\004\000\055\000\002\000\000\000\
++\\018\000\059\000\020\000\058\000\021\000\018\000\024\000\088\000\
++\\027\000\016\000\036\000\056\000\038\000\055\000\039\000\011\000\
++\\040\000\054\000\043\000\009\000\044\000\008\000\055\000\002\000\000\000\
++\\017\000\066\000\019\000\065\000\021\000\064\000\022\000\089\000\
++\\023\000\062\000\024\000\061\000\026\000\060\000\027\000\016\000\000\000\
++\\000\000\
++\\003\000\098\000\004\000\097\000\005\000\096\000\006\000\095\000\
++\\007\000\094\000\009\000\093\000\010\000\092\000\062\000\091\000\
++\\064\000\090\000\000\000\
++\\032\000\131\000\036\000\130\000\039\000\129\000\040\000\128\000\
++\\043\000\127\000\044\000\126\000\055\000\002\000\000\000\
++\\000\000\
++\\031\000\132\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\026\000\138\000\027\000\071\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\021\000\064\000\023\000\140\000\024\000\078\000\026\000\060\000\
++\\027\000\016\000\000\000\
++\\007\000\141\000\010\000\092\000\064\000\090\000\000\000\
++\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
++\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
++\\047\000\147\000\052\000\146\000\053\000\145\000\054\000\144\000\
++\\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\013\000\155\000\014\000\154\000\000\000\
++\\021\000\157\000\000\000\
++\\040\000\076\000\041\000\158\000\000\000\
++\\000\000\
++\\000\000\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
++\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\060\000\160\000\061\000\081\000\000\000\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
++\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\060\000\161\000\061\000\081\000\000\000\
++\\000\000\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
++\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\061\000\162\000\000\000\
++\\021\000\064\000\022\000\166\000\023\000\062\000\024\000\061\000\
++\\026\000\060\000\027\000\016\000\056\000\165\000\058\000\164\000\000\000\
++\\021\000\018\000\024\000\171\000\027\000\016\000\038\000\170\000\
++\\039\000\011\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\057\000\169\000\059\000\168\000\000\000\
++\\033\000\173\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\029\000\050\000\030\000\049\000\036\000\013\000\038\000\012\000\
++\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
++\\046\000\174\000\049\000\047\000\050\000\004\000\055\000\002\000\000\000\
++\\007\000\175\000\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\003\000\214\000\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\216\000\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\094\000\008\000\222\000\009\000\221\000\010\000\092\000\
++\\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\094\000\009\000\225\000\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\003\000\227\000\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\064\000\230\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\232\000\010\000\092\000\064\000\090\000\000\000\
++\\007\000\233\000\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\094\000\009\000\237\000\010\000\092\000\037\000\236\000\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\235\000\
++\\042\000\234\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\032\000\131\000\036\000\130\000\039\000\129\000\040\000\128\000\
++\\043\000\127\000\044\000\126\000\055\000\002\000\000\000\
++\\007\000\239\000\010\000\092\000\034\000\238\000\064\000\090\000\000\000\
++\\017\000\241\000\021\000\064\000\022\000\089\000\023\000\062\000\
++\\024\000\061\000\026\000\060\000\027\000\016\000\000\000\
++\\007\000\242\000\010\000\092\000\064\000\090\000\000\000\
++\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
++\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
++\\047\000\245\000\052\000\146\000\053\000\244\000\054\000\144\000\
++\\055\000\002\000\000\000\
++\\007\000\239\000\010\000\092\000\034\000\247\000\064\000\090\000\000\000\
++\\000\000\
++\\017\000\248\000\021\000\064\000\022\000\089\000\023\000\062\000\
++\\024\000\061\000\026\000\060\000\027\000\016\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\015\000\002\001\016\000\001\001\021\000\000\001\024\000\255\000\
++\\027\000\016\000\036\000\056\000\038\000\055\000\039\000\011\000\
++\\040\000\054\000\043\000\009\000\044\000\008\000\055\000\002\000\000\000\
++\\015\000\009\001\016\000\001\001\021\000\008\001\024\000\007\001\
++\\025\000\006\001\027\000\016\000\028\000\005\001\000\000\
++\\000\000\
++\\000\000\
++\\013\000\011\001\014\000\154\000\000\000\
++\\013\000\012\001\014\000\154\000\000\000\
++\\000\000\
++\\012\000\013\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
++\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\061\000\162\000\000\000\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\084\000\
++\\042\000\083\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\061\000\162\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\021\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\033\000\024\001\000\000\
++\\000\000\
++\\007\000\026\001\010\000\092\000\064\000\090\000\000\000\
++\\032\000\027\001\039\000\129\000\040\000\128\000\043\000\127\000\
++\\044\000\126\000\055\000\002\000\000\000\
++\\003\000\098\000\004\000\028\001\005\000\096\000\006\000\095\000\
++\\007\000\094\000\009\000\093\000\010\000\092\000\029\000\050\000\
++\\030\000\049\000\036\000\013\000\038\000\012\000\039\000\011\000\
++\\040\000\010\000\043\000\009\000\044\000\008\000\049\000\086\000\
++\\050\000\004\000\055\000\002\000\064\000\090\000\000\000\
++\\000\000\
++\\007\000\029\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\007\000\030\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\031\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\032\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\033\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\034\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\035\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\036\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\037\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\038\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\039\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\040\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\041\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\042\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\043\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\044\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\045\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\046\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\047\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\048\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\049\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\050\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\053\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\054\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\055\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\056\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\057\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\058\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\059\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\060\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\094\000\009\000\061\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\007\000\094\000\009\000\064\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\066\001\010\000\092\000\011\000\065\001\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\094\000\009\000\237\000\010\000\092\000\037\000\068\001\
++\\038\000\085\000\039\000\011\000\040\000\076\000\041\000\235\000\
++\\042\000\234\000\043\000\009\000\044\000\008\000\055\000\002\000\
++\\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\094\000\009\000\071\001\010\000\092\000\064\000\090\000\000\000\
++\\003\000\072\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\007\000\094\000\009\000\074\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\007\000\094\000\008\000\076\001\009\000\221\000\010\000\092\000\
++\\064\000\090\000\000\000\
++\\007\000\094\000\009\000\077\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\003\000\078\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\015\000\080\001\016\000\001\001\021\000\079\001\000\000\
++\\038\000\170\000\039\000\011\000\043\000\009\000\044\000\008\000\
++\\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\239\000\010\000\092\000\034\000\085\001\035\000\084\001\
++\\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
++\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
++\\054\000\089\001\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\016\000\092\001\027\000\071\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\095\001\010\000\092\000\064\000\090\000\000\000\
++\\015\000\098\001\016\000\001\001\021\000\000\001\024\000\078\000\
++\\027\000\016\000\029\000\149\000\030\000\148\000\036\000\013\000\
++\\038\000\012\000\039\000\011\000\040\000\010\000\043\000\009\000\
++\\044\000\008\000\052\000\146\000\053\000\097\001\054\000\144\000\
++\\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\016\000\092\001\027\000\071\000\028\000\102\001\000\000\
++\\000\000\
++\\000\000\
++\\012\000\103\001\000\000\
++\\012\000\104\001\000\000\
++\\000\000\
++\\014\000\106\001\000\000\
++\\007\000\107\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\021\000\064\000\022\000\166\000\023\000\062\000\024\000\061\000\
++\\026\000\060\000\027\000\016\000\056\000\108\001\000\000\
++\\000\000\
++\\007\000\109\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\021\000\064\000\022\000\166\000\023\000\062\000\024\000\061\000\
++\\026\000\060\000\027\000\016\000\056\000\110\001\000\000\
++\\000\000\
++\\032\000\027\001\039\000\129\000\040\000\128\000\043\000\127\000\
++\\044\000\126\000\055\000\002\000\000\000\
++\\007\000\111\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\063\000\112\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\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\003\000\119\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\016\000\092\001\000\000\
++\\000\000\
++\\015\000\098\001\016\000\001\001\021\000\079\001\029\000\149\000\
++\\030\000\148\000\036\000\013\000\038\000\012\000\039\000\011\000\
++\\040\000\010\000\043\000\009\000\044\000\008\000\052\000\146\000\
++\\053\000\097\001\054\000\144\000\055\000\002\000\000\000\
++\\007\000\124\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\012\000\125\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\127\001\010\000\092\000\064\000\090\000\000\000\
++\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
++\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
++\\052\000\146\000\053\000\129\001\054\000\144\000\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\134\001\010\000\092\000\064\000\090\000\000\000\
++\\029\000\149\000\030\000\148\000\036\000\013\000\038\000\012\000\
++\\039\000\011\000\040\000\010\000\043\000\009\000\044\000\008\000\
++\\047\000\137\001\052\000\146\000\053\000\136\001\054\000\144\000\
++\\055\000\002\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\142\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\007\000\143\001\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\007\000\124\001\010\000\092\000\064\000\090\000\000\000\
++\\003\000\144\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\003\000\145\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\007\000\094\000\009\000\146\001\010\000\092\000\064\000\090\000\000\000\
++\\007\000\094\000\008\000\147\001\009\000\221\000\010\000\092\000\
++\\064\000\090\000\000\000\
++\\003\000\148\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\007\000\239\000\010\000\092\000\034\000\150\001\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\094\000\008\000\160\001\009\000\221\000\010\000\092\000\
++\\064\000\090\000\000\000\
++\\003\000\161\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\003\000\163\001\006\000\095\000\007\000\094\000\009\000\093\000\
++\\010\000\092\000\064\000\090\000\000\000\
++\\000\000\
++\\000\000\
++\"
++val numstates = 421
++val numrules = 247
++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 = SourceMap.sourcemap
++structure MlyValue = 
++struct
++datatype svalue = VOID' | ntVOID of unit | TYPE_NAME of  (string)
++ | CCONST of  (LargeInt.int) | STRING of  (string)
++ | REALNUM of  (real) | DECNUM of  (LargeInt.int) | ID of  (string)
++ | strings of  (string) | popScope of  (unit) | pushScope of  (unit)
++ | structDeclaration of  ( ( ctype * (declarator * expression) list ) )
++ | structDeclarationList of  ( ( ctype * (declarator * expression) list )  seq)
++ | notypeStructDeclaratorList of  ( ( declarator * expression )  seq)
++ | structDeclaratorList of  ( ( declarator * expression )  seq)
++ | notypeStructDeclarator of  ( ( declarator * expression ) )
++ | structDeclarator of  ( ( declarator * expression ) )
++ | structOrUnion of  (bool)
++ | parameterDeclaration of  ( ( decltype * declarator ) )
++ | parameterTypeList of  ( ( decltype * declarator )  list)
++ | parameterList of  ( ( decltype * declarator )  seq)
++ | externalDeclaration of  (externalDecl option)
++ | declaration1 of  (declaration) | declaration of  (declaration)
++ | functionDefinition of  (externalDecl)
++ | identlist of  ( ( string * int * int )  seq)
++ | declarationList of  (declaration seq)
++ | fDefDeclaration of  ( ( decltype * declarator ) )
++ | structOrUnionSpecifier of  (specifier)
++ | enumSpecifier of  (specifier) | specifierQualifierList of  (ctype)
++ | typeQualifierList of  (qualifier list)
++ | typeQualifier of  (qualifier)
++ | typeSpecifierReserved of  (specifier)
++ | typeSpecifier of  (specifier) | typeName of  (ctype)
++ | storageClassSpecifier of  (storage)
++ | initializerList of  (expression seq) | initializer of  (expression)
++ | reservedSpecifierQualifiers of  (ctype)
++ | specifierQualifierReserved of  (ctype)
++ | reservedDeclarationSpecifier of  (decltype)
++ | declarationModifiers of  (decltype)
++ | declarationSpecifiers of  (decltype)
++ | parmDirectDeclarator of  (declarator)
++ | notypeDirectDeclarator of  (declarator)
++ | aftertypeDirectDeclarator of  (declarator)
++ | parmDeclarator of  (declarator) | notypeDeclarator of  (declarator)
++ | aftertypeDeclarator of  (declarator) | declarator of  (declarator)
++ | pointer of  (declarator)
++ | notypeInitDeclaratorList of  ( ( declarator * expression )  seq)
++ | initDeclaratorList of  ( ( declarator * expression )  seq)
++ | notypeInitDeclarator of  ( ( declarator * expression ) )
++ | initDeclarator of  ( ( declarator * expression ) )
++ | directAbstractDeclarator of  (declarator)
++ | abstractDeclarator of  (declarator)
++ | enumerator of  ( ( string * expression ) )
++ | enumeratorList of  ( ( string * expression )  seq)
++ | trailingComma of  (bool) | argumentExprList of  (expression seq)
++ | unaryOperator of  (operator) | exprWComma of  (expression)
++ | opExpr of  (expression) | expr of  (expression)
++ | compoundStatement of  (statement)
++ | statementlist of  (statement seq)
++ | ostatementlist of  (statement list) | statement of  (statement)
++ | tu of  (externalDecl seq) | translationUnit of  (externalDecl list)
++end
++type svalue = MlyValue.svalue
++type result = externalDecl list
++end
++structure EC=
++struct
++open LrTable
++infix 5 $$
++fun x $$ y = y::x
++val is_keyword =
++fn (T 11) => true | (T 57) => true | (T 58) => true | (T 59) => true
++ | (T 60) => true | (T 61) => true | (T 62) => true | (T 63) => true
++ | (T 64) => true | (T 65) => true | (T 66) => true | (T 67) => true
++ | (T 68) => true | (T 69) => true | _ => false
++val preferred_change : (term list * term list) list = 
++(nil
++ $$ (T 25),nil
++ $$ (T 88))::
++nil
++val noShift = 
++fn (T 0) => true | _ => false
++val showTerminal =
++fn (T 0) => "EOF"
++  | (T 1) => "COLON"
++  | (T 2) => "SEMICOLON"
++  | (T 3) => "LPAREN"
++  | (T 4) => "RPAREN"
++  | (T 5) => "LCURLY"
++  | (T 6) => "RCURLY"
++  | (T 7) => "LBRACE"
++  | (T 8) => "RBRACE"
++  | (T 9) => "DOT"
++  | (T 10) => "COMMA"
++  | (T 11) => "QUESTION"
++  | (T 12) => "PERCENT"
++  | (T 13) => "AMP"
++  | (T 14) => "BAR"
++  | (T 15) => "TILDE"
++  | (T 16) => "DIVIDE"
++  | (T 17) => "PLUS"
++  | (T 18) => "MINUS"
++  | (T 19) => "HAT"
++  | (T 20) => "BANG"
++  | (T 21) => "TIMES"
++  | (T 22) => "INC"
++  | (T 23) => "DEC"
++  | (T 24) => "ARROW"
++  | (T 25) => "ID"
++  | (T 26) => "EQUALS"
++  | (T 27) => "PLUSEQUALS"
++  | (T 28) => "MINUSEQUALS"
++  | (T 29) => "XOREQUALS"
++  | (T 30) => "MODEQUALS"
++  | (T 31) => "TIMESEQUALS"
++  | (T 32) => "DIVEQUALS"
++  | (T 33) => "OREQUALS"
++  | (T 34) => "ANDEQUALS"
++  | (T 35) => "LSHIFTEQUALS"
++  | (T 36) => "RSHIFTEQUALS"
++  | (T 37) => "LTE"
++  | (T 38) => "GTE"
++  | (T 39) => "LT"
++  | (T 40) => "GT"
++  | (T 41) => "EQ"
++  | (T 42) => "NEQ"
++  | (T 43) => "OR"
++  | (T 44) => "AND"
++  | (T 45) => "LSHIFT"
++  | (T 46) => "RSHIFT"
++  | (T 47) => "DECNUM"
++  | (T 48) => "REALNUM"
++  | (T 49) => "STRING"
++  | (T 50) => "CCONST"
++  | (T 51) => "EXTERN"
++  | (T 52) => "AUTO"
++  | (T 53) => "STATIC"
++  | (T 54) => "REGISTER"
++  | (T 55) => "CONST"
++  | (T 56) => "VOLATILE"
++  | (T 57) => "IF"
++  | (T 58) => "THEN"
++  | (T 59) => "ELSE"
++  | (T 60) => "FOR"
++  | (T 61) => "DO"
++  | (T 62) => "SWITCH"
++  | (T 63) => "CASE"
++  | (T 64) => "DEFAULT"
++  | (T 65) => "WHILE"
++  | (T 66) => "RETURN"
++  | (T 67) => "BREAK"
++  | (T 68) => "CONTINUE"
++  | (T 69) => "GOTO"
++  | (T 70) => "CHAR"
++  | (T 71) => "DOUBLE"
++  | (T 72) => "ENUM"
++  | (T 73) => "FLOAT"
++  | (T 74) => "INT"
++  | (T 75) => "LONG"
++  | (T 76) => "SHORT"
++  | (T 77) => "FRACTIONAL"
++  | (T 78) => "SATURATE"
++  | (T 79) => "STRUCT"
++  | (T 80) => "UNION"
++  | (T 81) => "UNSIGNED"
++  | (T 82) => "SIGNED"
++  | (T 83) => "VOID"
++  | (T 84) => "SIZEOF"
++  | (T 85) => "TYPEDEF"
++  | (T 86) => "UNARY"
++  | (T 87) => "ELIPSIS"
++  | (T 88) => "TYPE_NAME"
++  | _ => "bogus-term"
++local open Header in
++val errtermvalue=
++fn (T 88) => MlyValue.TYPE_NAME((
++Error.hint "Likely cause: missing typedef declaration.\n"; "bogus")) | 
++_ => MlyValue.VOID'
++end
++val terms : term list = nil
++ $$ (T 87) $$ (T 86) $$ (T 85) $$ (T 84) $$ (T 83) $$ (T 82) $$ (T 81)
++ $$ (T 80) $$ (T 79) $$ (T 78) $$ (T 77) $$ (T 76) $$ (T 75) $$ (T 74)
++ $$ (T 73) $$ (T 72) $$ (T 71) $$ (T 70) $$ (T 69) $$ (T 68) $$ (T 67)
++ $$ (T 66) $$ (T 65) $$ (T 64) $$ (T 63) $$ (T 62) $$ (T 61) $$ (T 60)
++ $$ (T 59) $$ (T 58) $$ (T 57) $$ (T 56) $$ (T 55) $$ (T 54) $$ (T 53)
++ $$ (T 52) $$ (T 51) $$ (T 46) $$ (T 45) $$ (T 44) $$ (T 43) $$ (T 42)
++ $$ (T 41) $$ (T 40) $$ (T 39) $$ (T 38) $$ (T 37) $$ (T 36) $$ (T 35)
++ $$ (T 34) $$ (T 33) $$ (T 32) $$ (T 31) $$ (T 30) $$ (T 29) $$ (T 28)
++ $$ (T 27) $$ (T 26) $$ (T 24) $$ (T 23) $$ (T 22) $$ (T 21) $$ (T 20)
++ $$ (T 19) $$ (T 18) $$ (T 17) $$ (T 16) $$ (T 15) $$ (T 14) $$ (T 13)
++ $$ (T 12) $$ (T 11) $$ (T 10) $$ (T 9) $$ (T 8) $$ (T 7) $$ (T 6) $$ 
++(T 5) $$ (T 4) $$ (T 3) $$ (T 2) $$ (T 1) $$ (T 0)end
++structure Actions =
++struct 
++exception mlyAction of int
++local open Header in
++val actions = 
++fn (i392,defaultPos,stack,
++    (srcMap):arg) =>
++case (i392,stack)
++of (0,(_,(MlyValue.tu tu,tu1left,tu1right))::rest671) => let val 
++result=MlyValue.translationUnit((seqToList tu))
++ in (LrTable.NT 0,(result,tu1left,tu1right),rest671) end
++| (1,rest671) => let val result=MlyValue.tu((emptySeq))
++ in (LrTable.NT 1,(result,defaultPos,defaultPos),rest671) end
++| (2,(_,(MlyValue.externalDeclaration externalDeclaration,_,
++externalDeclaration1right))::(_,(MlyValue.tu tu,tu1left,_))::rest671)
++ => let val result=MlyValue.tu((addOptToEnd(externalDeclaration, tu)))
++ in (LrTable.NT 1,(result,tu1left,externalDeclaration1right),rest671)
++ end
++| (3,(_,(MlyValue.declaration declaration,declarationleft as 
++declaration1left,declarationright as declaration1right))::rest671) => 
++let val result=MlyValue.externalDeclaration((
++SOME(markExternalDecl srcMap (ExternalDecl declaration,
++						                       declarationleft,
++								       declarationright))
++))
++ in (LrTable.NT 50,(result,declaration1left,declaration1right),rest671
++) end
++| (4,(_,(_,SEMICOLON1left,SEMICOLON1right))::rest671) => let val 
++result=MlyValue.externalDeclaration((NONE))
++ in (LrTable.NT 50,(result,SEMICOLON1left,SEMICOLON1right),rest671)
++ end
++| (5,(_,(MlyValue.functionDefinition functionDefinition,
++functionDefinitionleft as functionDefinition1left,
++functionDefinitionright as functionDefinition1right))::rest671) => 
++let val result=MlyValue.externalDeclaration((
++SOME(markExternalDecl srcMap (functionDefinition,
++						   	               functionDefinitionleft,
++							               functionDefinitionright))
++))
++ in (LrTable.NT 50,(result,functionDefinition1left,
++functionDefinition1right),rest671) end
++| (6,(_,(MlyValue.statement statement,_,statementright as 
++statement1right))::_::(_,(MlyValue.opExpr opExpr3,_,_))::_::(_,(
++MlyValue.opExpr opExpr2,_,_))::_::(_,(MlyValue.opExpr opExpr1,_,_))::_
++::(_,(_,FORleft as FOR1left,_))::rest671) => let val result=
++MlyValue.statement((
++markStatement srcMap (For(opExpr1,opExpr2,opExpr3,statement),
++							FORleft, statementright)
++))
++ in (LrTable.NT 2,(result,FOR1left,statement1right),rest671) end
++| (7,(_,(MlyValue.statement statement,_,statementright as 
++statement1right))::_::(_,(MlyValue.exprWComma exprWComma,_,_))::_::(_,
++(_,WHILEleft as WHILE1left,_))::rest671) => let val result=
++MlyValue.statement((
++markStatement srcMap (While(exprWComma,statement),
++							WHILEleft, statementright)
++))
++ in (LrTable.NT 2,(result,WHILE1left,statement1right),rest671) end
++| (8,(_,(MlyValue.statement statement,_,statementright as 
++statement1right))::_::(_,(MlyValue.exprWComma exprWComma,_,_))::_::(_,
++(_,SWITCHleft as SWITCH1left,_))::rest671) => let val result=
++MlyValue.statement((
++markStatement srcMap (Switch(exprWComma,statement),
++							SWITCHleft, statementright)
++))
++ in (LrTable.NT 2,(result,SWITCH1left,statement1right),rest671) end
++| (9,(_,(_,_,SEMICOLONright as SEMICOLON1right))::_::(_,(
++MlyValue.exprWComma exprWComma,_,_))::_::_::(_,(MlyValue.statement 
++statement,_,_))::(_,(_,DOleft as DO1left,_))::rest671) => let val 
++result=MlyValue.statement((
++markStatement srcMap (Do(exprWComma,statement),
++							DOleft, SEMICOLONright)
++))
++ in (LrTable.NT 2,(result,DO1left,SEMICOLON1right),rest671) end
++| (10,(_,(_,_,SEMICOLONright as SEMICOLON1right))::(_,(_,BREAKleft as 
++BREAK1left,_))::rest671) => let val result=MlyValue.statement((
++markStatement srcMap (Break, 
++							BREAKleft, SEMICOLONright)))
++ in (LrTable.NT 2,(result,BREAK1left,SEMICOLON1right),rest671) end
++| (11,(_,(_,_,SEMICOLONright as SEMICOLON1right))::(_,(_,CONTINUEleft
++ as CONTINUE1left,_))::rest671) => let val result=MlyValue.statement((
++markStatement srcMap (Continue, 
++							CONTINUEleft, SEMICOLONright))
++)
++ in (LrTable.NT 2,(result,CONTINUE1left,SEMICOLON1right),rest671) end
++| (12,(_,(_,_,SEMICOLONright as SEMICOLON1right))::(_,(MlyValue.opExpr
++ opExpr,_,_))::(_,(_,RETURNleft as RETURN1left,_))::rest671) => let 
++val result=MlyValue.statement((
++markStatement srcMap (Return(opExpr), 
++							RETURNleft, SEMICOLONright)
++))
++ in (LrTable.NT 2,(result,RETURN1left,SEMICOLON1right),rest671) end
++| (13,(_,(_,_,SEMICOLONright as SEMICOLON1right))::(_,(MlyValue.ID ID,
++_,_))::(_,(_,GOTOleft as GOTO1left,_))::rest671) => let val result=
++MlyValue.statement((
++markStatement srcMap (Goto(ID), 
++							GOTOleft, SEMICOLONright)))
++ in (LrTable.NT 2,(result,GOTO1left,SEMICOLON1right),rest671) end
++| (14,(_,(MlyValue.compoundStatement compoundStatement,
++compoundStatement1left,compoundStatement1right))::rest671) => let val 
++result=MlyValue.statement((compoundStatement))
++ in (LrTable.NT 2,(result,compoundStatement1left,
++compoundStatement1right),rest671) end
++| (15,(_,(MlyValue.statement statement,_,statementright as 
++statement1right))::_::(_,(MlyValue.ID ID,IDleft as ID1left,_))::
++rest671) => let val result=MlyValue.statement((
++markStatement srcMap (Labeled(ID,statement),
++							IDleft,statementright)
++))
++ in (LrTable.NT 2,(result,ID1left,statement1right),rest671) end
++| (16,(_,(MlyValue.statement statement,_,statementright as 
++statement1right))::_::(_,(_,DEFAULTleft as DEFAULT1left,_))::rest671)
++ => let val result=MlyValue.statement((
++markStatement srcMap (DefaultLabel(statement),
++							DEFAULTleft, statementright)
++))
++ in (LrTable.NT 2,(result,DEFAULT1left,statement1right),rest671) end
++| (17,(_,(MlyValue.statement statement,_,statementright as 
++statement1right))::_::(_,(MlyValue.exprWComma exprWComma,_,_))::(_,(_,
++CASEleft as CASE1left,_))::rest671) => let val result=
++MlyValue.statement((
++markStatement srcMap (CaseLabel(exprWComma,statement),
++							CASEleft, statementright)
++))
++ in (LrTable.NT 2,(result,CASE1left,statement1right),rest671) end
++| (18,(_,(MlyValue.statement statement,_,statementright as 
++statement1right))::_::(_,(MlyValue.exprWComma exprWComma,_,_))::_::(_,
++(_,IFleft as IF1left,_))::rest671) => let val result=
++MlyValue.statement((
++markStatement srcMap (IfThen(exprWComma,statement),
++							IFleft, statementright)
++))
++ in (LrTable.NT 2,(result,IF1left,statement1right),rest671) end
++| (19,(_,(MlyValue.statement statement2,_,statement2right))::_::(_,(
++MlyValue.statement statement1,_,_))::_::(_,(MlyValue.exprWComma 
++exprWComma,_,_))::_::(_,(_,IFleft as IF1left,_))::rest671) => let val 
++result=MlyValue.statement((
++markStatement srcMap (IfThenElse(exprWComma,statement1,statement2),
++							IFleft,
++							statement2right)
++))
++ in (LrTable.NT 2,(result,IF1left,statement2right),rest671) end
++| (20,(_,(_,_,SEMICOLONright as SEMICOLON1right))::(_,(
++MlyValue.exprWComma exprWComma,exprWCommaleft as exprWComma1left,_))::
++rest671) => let val result=MlyValue.statement((
++markStatement srcMap (Expr(exprWComma),
++							exprWCommaleft, SEMICOLONright)
++))
++ in (LrTable.NT 2,(result,exprWComma1left,SEMICOLON1right),rest671)
++ end
++| (21,(_,(_,SEMICOLONleft as SEMICOLON1left,SEMICOLONright as 
++SEMICOLON1right))::rest671) => let val result=MlyValue.statement((
++markStatement srcMap (Expr(EmptyExpr),
++							SEMICOLONleft, SEMICOLONright)
++))
++ in (LrTable.NT 2,(result,SEMICOLON1left,SEMICOLON1right),rest671) end
++| (22,(_,(_,_,SEMICOLON1right))::(_,(MlyValue.declaration1 
++declaration1,declaration11left,_))::rest671) => let val result=
++MlyValue.declaration((declaration1))
++ in (LrTable.NT 48,(result,declaration11left,SEMICOLON1right),rest671)
++ end
++| (23,(_,(MlyValue.declarationSpecifiers declarationSpecifiers,
++declarationSpecifiersleft as declarationSpecifiers1left,
++declarationSpecifiersright as declarationSpecifiers1right))::rest671)
++ => let val result=MlyValue.declaration1((
++insertDeclNames (declarationSpecifiers, []);
++		 markDeclaration srcMap
++		   (Declaration(declarationSpecifiers, []), 
++		    declarationSpecifiersleft, declarationSpecifiersright)
++))
++ in (LrTable.NT 49,(result,declarationSpecifiers1left,
++declarationSpecifiers1right),rest671) end
++| (24,(_,(MlyValue.initDeclaratorList initDeclaratorList,_,
++initDeclaratorListright as initDeclaratorList1right))::(_,(
++MlyValue.declarationSpecifiers declarationSpecifiers,
++declarationSpecifiersleft as declarationSpecifiers1left,_))::rest671)
++ => let val result=MlyValue.declaration1((
++let val decl = (declarationSpecifiers, seqToList initDeclaratorList)
++		  in insertDeclNames decl;
++		     markDeclaration srcMap
++		       (Declaration decl, declarationSpecifiersleft, initDeclaratorListright)
++	         end
++))
++ in (LrTable.NT 49,(result,declarationSpecifiers1left,
++initDeclaratorList1right),rest671) end
++| (25,(_,(MlyValue.notypeInitDeclaratorList notypeInitDeclaratorList,_
++,notypeInitDeclaratorListright as notypeInitDeclaratorList1right))::(_
++,(MlyValue.declarationModifiers declarationModifiers,
++declarationModifiersleft as declarationModifiers1left,_))::rest671)
++ => let val result=MlyValue.declaration1((
++let val decl = (declarationModifiers, seqToList notypeInitDeclaratorList)
++		  in insertDeclNames decl;
++		     markDeclaration srcMap
++		       (Declaration decl, declarationModifiersleft, notypeInitDeclaratorListright)
++	         end
++))
++ in (LrTable.NT 49,(result,declarationModifiers1left,
++notypeInitDeclaratorList1right),rest671) end
++| (26,(_,(MlyValue.statementlist statementlist,statementlist1left,
++statementlist1right))::rest671) => let val result=
++MlyValue.ostatementlist((seqToList statementlist))
++ in (LrTable.NT 3,(result,statementlist1left,statementlist1right),
++rest671) end
++| (27,rest671) => let val result=MlyValue.ostatementlist(([]))
++ in (LrTable.NT 3,(result,defaultPos,defaultPos),rest671) end
++| (28,(_,(MlyValue.statement statement,statement1left,statement1right)
++)::rest671) => let val result=MlyValue.statementlist((
++singletonSeq statement))
++ in (LrTable.NT 4,(result,statement1left,statement1right),rest671) end
++| (29,(_,(MlyValue.statement statement,_,statement1right))::(_,(
++MlyValue.statementlist statementlist,statementlist1left,_))::rest671)
++ => let val result=MlyValue.statementlist((
++addToSeq(statement, statementlist)))
++ in (LrTable.NT 4,(result,statementlist1left,statement1right),rest671)
++ end
++| (30,(_,(_,_,RCURLYright as RCURLY1right))::_::(_,(
++MlyValue.ostatementlist ostatementlist,_,_))::(_,(
++MlyValue.declarationList declarationList,_,_))::_::(_,(_,LCURLYleft
++ as LCURLY1left,_))::rest671) => let val result=
++MlyValue.compoundStatement((
++markStatement srcMap (Compound ((map Decl (seqToList declarationList)) @ ostatementlist), LCURLYleft, RCURLYright)
++))
++ in (LrTable.NT 5,(result,LCURLY1left,RCURLY1right),rest671) end
++| (31,(_,(_,_,RCURLYright as RCURLY1right))::(_,(
++MlyValue.ostatementlist ostatementlist,_,_))::(_,(_,LCURLYleft as 
++LCURLY1left,_))::rest671) => let val result=MlyValue.compoundStatement
++((
++markStatement srcMap (Compound (ostatementlist), LCURLYleft, RCURLYright)
++))
++ in (LrTable.NT 5,(result,LCURLY1left,RCURLY1right),rest671) end
++| (32,(_,(_,AMP1left,AMP1right))::rest671) => let val result=
++MlyValue.unaryOperator((AddrOf))
++ in (LrTable.NT 9,(result,AMP1left,AMP1right),rest671) end
++| (33,(_,(_,TIMES1left,TIMES1right))::rest671) => let val result=
++MlyValue.unaryOperator((Star))
++ in (LrTable.NT 9,(result,TIMES1left,TIMES1right),rest671) end
++| (34,(_,(_,PLUS1left,PLUS1right))::rest671) => let val result=
++MlyValue.unaryOperator((Uplus))
++ in (LrTable.NT 9,(result,PLUS1left,PLUS1right),rest671) end
++| (35,(_,(_,MINUS1left,MINUS1right))::rest671) => let val result=
++MlyValue.unaryOperator((Negate))
++ in (LrTable.NT 9,(result,MINUS1left,MINUS1right),rest671) end
++| (36,(_,(_,TILDE1left,TILDE1right))::rest671) => let val result=
++MlyValue.unaryOperator((BitNot))
++ in (LrTable.NT 9,(result,TILDE1left,TILDE1right),rest671) end
++| (37,(_,(_,BANG1left,BANG1right))::rest671) => let val result=
++MlyValue.unaryOperator((Not))
++ in (LrTable.NT 9,(result,BANG1left,BANG1right),rest671) end
++| (38,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(
++MlyValue.exprWComma exprWComma1,_,_))::_::(_,(MlyValue.expr expr1,
++expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (QuestionColon(expr1,exprWComma1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (39,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(PlusAssign,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (40,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(MinusAssign,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (41,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(TimesAssign,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (42,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(DivAssign,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (43,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(ModAssign,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (44,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(XorAssign,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (45,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(OrAssign,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (46,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(AndAssign,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (47,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(LshiftAssign,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (48,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(RshiftAssign,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (49,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Assign,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (50,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Or,expr1,expr2),expr1left,expr2right)))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (51,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(And,expr1,expr2),expr1left,expr2right)))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (52,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(BitOr,expr1,expr2),expr1left,expr2right))
++)
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (53,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(BitXor,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (54,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(BitAnd,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (55,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Eq,expr1,expr2),expr1left,expr2right)))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (56,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Neq,expr1,expr2),expr1left,expr2right)))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (57,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Lt,expr1,expr2),expr1left,expr2right)))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (58,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Gt,expr1,expr2),expr1left,expr2right)))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (59,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Lte,expr1,expr2),expr1left,expr2right)))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (60,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Gte,expr1,expr2),expr1left,expr2right)))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (61,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Lshift,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (62,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Rshift,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (63,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Plus,expr1,expr2),expr1left,expr2right)))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (64,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Minus,expr1,expr2),expr1left,expr2right))
++)
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (65,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Times,expr1,expr2),expr1left,expr2right))
++)
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (66,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Divide,expr1,expr2),expr1left,expr2right)
++))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (67,(_,(MlyValue.expr expr2,_,expr2right))::_::(_,(MlyValue.expr 
++expr1,expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Mod,expr1,expr2),expr1left,expr2right)))
++ in (LrTable.NT 6,(result,expr1left,expr2right),rest671) end
++| (68,(_,(_,_,INCright as INC1right))::(_,(MlyValue.expr expr,exprleft
++ as expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Unop(PostInc,expr),exprleft,INCright)))
++ in (LrTable.NT 6,(result,expr1left,INC1right),rest671) end
++| (69,(_,(_,_,DECright as DEC1right))::(_,(MlyValue.expr expr,exprleft
++ as expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Unop(PostDec,expr),exprleft,DECright)))
++ in (LrTable.NT 6,(result,expr1left,DEC1right),rest671) end
++| (70,(_,(MlyValue.expr expr,_,exprright as expr1right))::(_,(_,
++INCleft as INC1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Unop(PreInc,expr),INCleft,exprright)))
++ in (LrTable.NT 6,(result,INC1left,expr1right),rest671) end
++| (71,(_,(MlyValue.expr expr,_,exprright as expr1right))::(_,(_,
++DECleft as DEC1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Unop(PreDec,expr),DECleft,exprright)))
++ in (LrTable.NT 6,(result,DEC1left,expr1right),rest671) end
++| (72,(_,(MlyValue.expr expr,_,exprright as expr1right))::(_,(
++MlyValue.unaryOperator unaryOperator,unaryOperatorleft as 
++unaryOperator1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Unop(unaryOperator,expr),unaryOperatorleft,exprright)
++))
++ in (LrTable.NT 6,(result,unaryOperator1left,expr1right),rest671) end
++| (73,(_,(MlyValue.expr expr,_,exprright as expr1right))::(_,(_,
++SIZEOFleft as SIZEOF1left,_))::rest671) => let val result=
++MlyValue.expr((
++markExpression srcMap (Unop(Sizeof,expr),SIZEOFleft,exprright)))
++ in (LrTable.NT 6,(result,SIZEOF1left,expr1right),rest671) end
++| (74,(_,(MlyValue.expr expr,_,exprright as expr1right))::_::(_,(
++MlyValue.typeName typeName,_,_))::(_,(_,LPARENleft as LPAREN1left,_))
++::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Cast (typeName,expr),LPARENleft,exprright)))
++ in (LrTable.NT 6,(result,LPAREN1left,expr1right),rest671) end
++| (75,(_,(_,_,RPARENright as RPAREN1right))::(_,(MlyValue.typeName 
++typeName,_,_))::_::(_,(_,SIZEOFleft as SIZEOF1left,_))::rest671) => 
++let val result=MlyValue.expr((
++markExpression srcMap (Unop(SizeofType typeName,EmptyExpr),SIZEOFleft,RPARENright)
++))
++ in (LrTable.NT 6,(result,SIZEOF1left,RPAREN1right),rest671) end
++| (76,(_,(_,_,RBRACEright as RBRACE1right))::(_,(MlyValue.exprWComma 
++exprWComma,_,_))::_::(_,(MlyValue.expr expr,exprleft as expr1left,_))
++::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Sub,expr,exprWComma),exprleft,RBRACEright)
++))
++ in (LrTable.NT 6,(result,expr1left,RBRACE1right),rest671) end
++| (77,(_,(_,_,RPARENright as RPAREN1right))::_::(_,(MlyValue.expr expr
++,exprleft as expr1left,_))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Call(expr,[]),exprleft,RPARENright)))
++ in (LrTable.NT 6,(result,expr1left,RPAREN1right),rest671) end
++| (78,(_,(_,_,RPARENright as RPAREN1right))::(_,(
++MlyValue.argumentExprList argumentExprList,_,_))::_::(_,(MlyValue.expr
++ expr,exprleft as expr1left,_))::rest671) => let val result=
++MlyValue.expr((
++markExpression srcMap (Call(expr, seqToList argumentExprList),exprleft,RPARENright)
++))
++ in (LrTable.NT 6,(result,expr1left,RPAREN1right),rest671) end
++| (79,(_,(MlyValue.ID ID,_,IDright as ID1right))::_::(_,(MlyValue.expr
++ expr,exprleft as expr1left,_))::rest671) => let val result=
++MlyValue.expr((
++markExpression srcMap (Binop(Dot,expr,Id(ID)),exprleft,IDright)))
++ in (LrTable.NT 6,(result,expr1left,ID1right),rest671) end
++| (80,(_,(MlyValue.ID ID,_,IDright as ID1right))::_::(_,(MlyValue.expr
++ expr,exprleft as expr1left,_))::rest671) => let val result=
++MlyValue.expr((
++markExpression srcMap (Binop(Arrow,expr,Id(ID)),exprleft,IDright)))
++ in (LrTable.NT 6,(result,expr1left,ID1right),rest671) end
++| (81,(_,(MlyValue.TYPE_NAME TYPE_NAME,_,TYPE_NAMEright as 
++TYPE_NAME1right))::_::(_,(MlyValue.expr expr,exprleft as expr1left,_))
++::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Dot,expr,Id(TYPE_NAME)),exprleft,TYPE_NAMEright)
++))
++ in (LrTable.NT 6,(result,expr1left,TYPE_NAME1right),rest671) end
++| (82,(_,(MlyValue.TYPE_NAME TYPE_NAME,_,TYPE_NAMEright as 
++TYPE_NAME1right))::_::(_,(MlyValue.expr expr,exprleft as expr1left,_))
++::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Binop(Arrow,expr,Id(TYPE_NAME)),exprleft,TYPE_NAMEright)
++))
++ in (LrTable.NT 6,(result,expr1left,TYPE_NAME1right),rest671) end
++| (83,(_,(_,_,RPARENright as RPAREN1right))::(_,(MlyValue.exprWComma 
++exprWComma,_,_))::(_,(_,LPARENleft as LPAREN1left,_))::rest671) => 
++let val result=MlyValue.expr((
++markExpression srcMap (exprWComma,LPARENleft,RPARENright)))
++ in (LrTable.NT 6,(result,LPAREN1left,RPAREN1right),rest671) end
++| (84,(_,(MlyValue.DECNUM DECNUM,DECNUMleft as DECNUM1left,DECNUMright
++ as DECNUM1right))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (IntConst DECNUM,DECNUMleft,DECNUMright)))
++ in (LrTable.NT 6,(result,DECNUM1left,DECNUM1right),rest671) end
++| (85,(_,(MlyValue.REALNUM REALNUM,REALNUMleft as REALNUM1left,
++REALNUMright as REALNUM1right))::rest671) => let val result=
++MlyValue.expr((
++markExpression srcMap (RealConst REALNUM, REALNUMleft,REALNUMright)))
++ in (LrTable.NT 6,(result,REALNUM1left,REALNUM1right),rest671) end
++| (86,(_,(MlyValue.CCONST CCONST,CCONSTleft as CCONST1left,CCONSTright
++ as CCONST1right))::rest671) => let val result=MlyValue.expr((
++markExpression srcMap (IntConst CCONST, CCONSTleft,CCONSTright)))
++ in (LrTable.NT 6,(result,CCONST1left,CCONST1right),rest671) end
++| (87,(_,(MlyValue.ID ID,IDleft as ID1left,IDright as ID1right))::
++rest671) => let val result=MlyValue.expr((
++markExpression srcMap (Id(ID), IDleft, IDright)))
++ in (LrTable.NT 6,(result,ID1left,ID1right),rest671) end
++| (88,(_,(MlyValue.strings strings,stringsleft as strings1left,
++stringsright as strings1right))::rest671) => let val result=
++MlyValue.expr((
++markExpression srcMap (String(strings),stringsleft,stringsright)))
++ in (LrTable.NT 6,(result,strings1left,strings1right),rest671) end
++| (89,(_,(MlyValue.STRING STRING,STRING1left,STRING1right))::rest671)
++ => let val result=MlyValue.strings((STRING))
++ in (LrTable.NT 63,(result,STRING1left,STRING1right),rest671) end
++| (90,(_,(MlyValue.strings strings,_,strings1right))::(_,(
++MlyValue.STRING STRING,STRING1left,_))::rest671) => let val result=
++MlyValue.strings((STRING ^ strings))
++ in (LrTable.NT 63,(result,STRING1left,strings1right),rest671) end
++| (91,(_,(MlyValue.expr expr,expr1left,expr1right))::rest671) => let 
++val result=MlyValue.exprWComma((expr))
++ in (LrTable.NT 8,(result,expr1left,expr1right),rest671) end
++| (92,(_,(MlyValue.expr expr,_,exprright as expr1right))::_::(_,(
++MlyValue.exprWComma exprWComma,exprWCommaleft as exprWComma1left,_))::
++rest671) => let val result=MlyValue.exprWComma((
++markExpression srcMap (Binop(Comma,exprWComma,expr),exprWCommaleft,exprright)
++))
++ in (LrTable.NT 8,(result,exprWComma1left,expr1right),rest671) end
++| (93,rest671) => let val result=MlyValue.opExpr((EmptyExpr))
++ in (LrTable.NT 7,(result,defaultPos,defaultPos),rest671) end
++| (94,(_,(MlyValue.exprWComma exprWComma,exprWComma1left,
++exprWComma1right))::rest671) => let val result=MlyValue.opExpr((
++exprWComma))
++ in (LrTable.NT 7,(result,exprWComma1left,exprWComma1right),rest671)
++ end
++| (95,(_,(MlyValue.expr expr,expr1left,expr1right))::rest671) => let 
++val result=MlyValue.argumentExprList((singletonSeq expr))
++ in (LrTable.NT 10,(result,expr1left,expr1right),rest671) end
++| (96,(_,(MlyValue.expr expr,_,expr1right))::_::(_,(
++MlyValue.argumentExprList argumentExprList,argumentExprList1left,_))::
++rest671) => let val result=MlyValue.argumentExprList((
++addToSeq(expr, argumentExprList)))
++ in (LrTable.NT 10,(result,argumentExprList1left,expr1right),rest671)
++ end
++| (97,(_,(MlyValue.specifierQualifierList specifierQualifierList,
++specifierQualifierList1left,specifierQualifierList1right))::rest671)
++ => let val result=MlyValue.typeName((specifierQualifierList))
++ in (LrTable.NT 36,(result,specifierQualifierList1left,
++specifierQualifierList1right),rest671) end
++| (98,(_,(MlyValue.abstractDeclarator abstractDeclarator,_,
++abstractDeclarator1right))::(_,(MlyValue.specifierQualifierList 
++specifierQualifierList,specifierQualifierList1left,_))::rest671) => 
++let val result=MlyValue.typeName((
++#1 (ctypeDecrToTypeName (specifierQualifierList, abstractDeclarator)))
++)
++ in (LrTable.NT 36,(result,specifierQualifierList1left,
++abstractDeclarator1right),rest671) end
++| (99,(_,(MlyValue.reservedDeclarationSpecifier 
++reservedDeclarationSpecifier,_,reservedDeclarationSpecifier1right))::(
++_,(MlyValue.typeSpecifier typeSpecifier,typeSpecifier1left,_))::
++rest671) => let val result=MlyValue.declarationSpecifiers((
++addSpecifier (typeSpecifier,
++						        reservedDeclarationSpecifier)
++))
++ in (LrTable.NT 28,(result,typeSpecifier1left,
++reservedDeclarationSpecifier1right),rest671) end
++| (100,(_,(MlyValue.reservedDeclarationSpecifier 
++reservedDeclarationSpecifier,_,reservedDeclarationSpecifier1right))::(
++_,(MlyValue.typeSpecifier typeSpecifier,_,_))::(_,(
++MlyValue.declarationModifiers declarationModifiers,
++declarationModifiers1left,_))::rest671) => let val result=
++MlyValue.declarationSpecifiers((
++addAll (declarationModifiers,
++                                                  addSpecifier (typeSpecifier,
++							         reservedDeclarationSpecifier))
++))
++ in (LrTable.NT 28,(result,declarationModifiers1left,
++reservedDeclarationSpecifier1right),rest671) end
++| (101,rest671) => let val result=
++MlyValue.reservedDeclarationSpecifier((unknown))
++ in (LrTable.NT 30,(result,defaultPos,defaultPos),rest671) end
++| (102,(_,(MlyValue.specifierQualifierReserved 
++specifierQualifierReserved,_,specifierQualifierReserved1right))::(_,(
++MlyValue.reservedDeclarationSpecifier reservedDeclarationSpecifier,
++reservedDeclarationSpecifier1left,_))::rest671) => let val result=
++MlyValue.reservedDeclarationSpecifier((
++let val {qualifiers,specifiers} = specifierQualifierReserved
++					     val decltype = {qualifiers=qualifiers,specifiers=specifiers,storage=[]}
++	   				 in addAll (decltype, reservedDeclarationSpecifier) end 
++))
++ in (LrTable.NT 30,(result,reservedDeclarationSpecifier1left,
++specifierQualifierReserved1right),rest671) end
++| (103,(_,(MlyValue.storageClassSpecifier storageClassSpecifier,_,
++storageClassSpecifier1right))::(_,(
++MlyValue.reservedDeclarationSpecifier reservedDeclarationSpecifier,
++reservedDeclarationSpecifier1left,_))::rest671) => let val result=
++MlyValue.reservedDeclarationSpecifier((
++addStorage (storageClassSpecifier,
++                                                      reservedDeclarationSpecifier)
++))
++ in (LrTable.NT 30,(result,reservedDeclarationSpecifier1left,
++storageClassSpecifier1right),rest671) end
++| (104,(_,(MlyValue.typeSpecifierReserved typeSpecifierReserved,
++typeSpecifierReserved1left,typeSpecifierReserved1right))::rest671) => 
++let val result=MlyValue.specifierQualifierReserved((
++{qualifiers=[],specifiers=[typeSpecifierReserved]}))
++ in (LrTable.NT 31,(result,typeSpecifierReserved1left,
++typeSpecifierReserved1right),rest671) end
++| (105,(_,(MlyValue.typeQualifier typeQualifier,typeQualifier1left,
++typeQualifier1right))::rest671) => let val result=
++MlyValue.specifierQualifierReserved((
++{qualifiers=[typeQualifier],specifiers=[]}))
++ in (LrTable.NT 31,(result,typeQualifier1left,typeQualifier1right),
++rest671) end
++| (106,(_,(MlyValue.structOrUnionSpecifier structOrUnionSpecifier,
++structOrUnionSpecifier1left,structOrUnionSpecifier1right))::rest671)
++ => let val result=MlyValue.specifierQualifierReserved((
++{qualifiers=[],specifiers=[structOrUnionSpecifier]}))
++ in (LrTable.NT 31,(result,structOrUnionSpecifier1left,
++structOrUnionSpecifier1right),rest671) end
++| (107,(_,(MlyValue.enumSpecifier enumSpecifier,enumSpecifier1left,
++enumSpecifier1right))::rest671) => let val result=
++MlyValue.specifierQualifierReserved((
++{qualifiers=[],specifiers=[enumSpecifier]}))
++ in (LrTable.NT 31,(result,enumSpecifier1left,enumSpecifier1right),
++rest671) end
++| (108,(_,(MlyValue.storageClassSpecifier storageClassSpecifier,
++storageClassSpecifier1left,storageClassSpecifier1right))::rest671) => 
++let val result=MlyValue.declarationModifiers((
++{storage = [storageClassSpecifier],
++					  qualifiers = [],
++					  specifiers = []}
++))
++ in (LrTable.NT 29,(result,storageClassSpecifier1left,
++storageClassSpecifier1right),rest671) end
++| (109,(_,(MlyValue.storageClassSpecifier storageClassSpecifier,_,
++storageClassSpecifier1right))::(_,(MlyValue.declarationModifiers 
++declarationModifiers,declarationModifiers1left,_))::rest671) => let 
++val result=MlyValue.declarationModifiers((
++addStorage(storageClassSpecifier,declarationModifiers)))
++ in (LrTable.NT 29,(result,declarationModifiers1left,
++storageClassSpecifier1right),rest671) end
++| (110,(_,(MlyValue.typeQualifier typeQualifier,typeQualifier1left,
++typeQualifier1right))::rest671) => let val result=
++MlyValue.declarationModifiers((
++{specifiers = [],
++	 				  storage = [], 
++					  qualifiers = [typeQualifier]}
++))
++ in (LrTable.NT 29,(result,typeQualifier1left,typeQualifier1right),
++rest671) end
++| (111,(_,(MlyValue.typeQualifier typeQualifier,_,typeQualifier1right)
++)::(_,(MlyValue.declarationModifiers declarationModifiers,
++declarationModifiers1left,_))::rest671) => let val result=
++MlyValue.declarationModifiers((
++addQualifier(typeQualifier, declarationModifiers)))
++ in (LrTable.NT 29,(result,declarationModifiers1left,
++typeQualifier1right),rest671) end
++| (112,(_,(MlyValue.reservedSpecifierQualifiers 
++reservedSpecifierQualifiers,_,reservedSpecifierQualifiers1right))::(_,
++(MlyValue.typeSpecifier typeSpecifier,typeSpecifier1left,_))::rest671)
++ => let val result=MlyValue.specifierQualifierList((
++let val {specifiers, qualifiers} = reservedSpecifierQualifiers
++	                                 in {specifiers=typeSpecifier::specifiers,qualifiers=qualifiers} end
++))
++ in (LrTable.NT 41,(result,typeSpecifier1left,
++reservedSpecifierQualifiers1right),rest671) end
++| (113,(_,(MlyValue.reservedSpecifierQualifiers 
++reservedSpecifierQualifiers,_,reservedSpecifierQualifiers1right))::(_,
++(MlyValue.typeSpecifier typeSpecifier,_,_))::(_,(
++MlyValue.typeQualifierList typeQualifierList,typeQualifierList1left,_)
++)::rest671) => let val result=MlyValue.specifierQualifierList((
++let val {specifiers, qualifiers} = reservedSpecifierQualifiers
++	                                 in {specifiers=typeSpecifier::specifiers
++					    ,qualifiers=typeQualifierList@qualifiers
++                                            }
++                                         end
++))
++ in (LrTable.NT 41,(result,typeQualifierList1left,
++reservedSpecifierQualifiers1right),rest671) end
++| (114,rest671) => let val result=MlyValue.reservedSpecifierQualifiers
++(({qualifiers=[],specifiers=[]}))
++ in (LrTable.NT 32,(result,defaultPos,defaultPos),rest671) end
++| (115,(_,(MlyValue.specifierQualifierReserved 
++specifierQualifierReserved,_,specifierQualifierReserved1right))::(_,(
++MlyValue.reservedSpecifierQualifiers reservedSpecifierQualifiers,
++reservedSpecifierQualifiers1left,_))::rest671) => let val result=
++MlyValue.reservedSpecifierQualifiers((
++let val {specifiers=s1, qualifiers=q1} = reservedSpecifierQualifiers
++					     val {specifiers=s2, qualifiers=q2} = specifierQualifierReserved
++	                                 in {specifiers=s1@s2, qualifiers=q1@q2} end
++))
++ in (LrTable.NT 32,(result,reservedSpecifierQualifiers1left,
++specifierQualifierReserved1right),rest671) end
++| (116,(_,(MlyValue.typeQualifier typeQualifier,typeQualifier1left,
++typeQualifier1right))::rest671) => let val result=
++MlyValue.typeQualifierList(([typeQualifier]))
++ in (LrTable.NT 40,(result,typeQualifier1left,typeQualifier1right),
++rest671) end
++| (117,(_,(MlyValue.typeQualifierList typeQualifierList,_,
++typeQualifierList1right))::(_,(MlyValue.typeQualifier typeQualifier,
++typeQualifier1left,_))::rest671) => let val result=
++MlyValue.typeQualifierList((typeQualifier::typeQualifierList))
++ in (LrTable.NT 40,(result,typeQualifier1left,typeQualifierList1right)
++,rest671) end
++| (118,(_,(MlyValue.typeSpecifierReserved typeSpecifierReserved,
++typeSpecifierReserved1left,typeSpecifierReserved1right))::rest671) => 
++let val result=MlyValue.typeSpecifier((typeSpecifierReserved))
++ in (LrTable.NT 37,(result,typeSpecifierReserved1left,
++typeSpecifierReserved1right),rest671) end
++| (119,(_,(MlyValue.structOrUnionSpecifier structOrUnionSpecifier,
++structOrUnionSpecifier1left,structOrUnionSpecifier1right))::rest671)
++ => let val result=MlyValue.typeSpecifier((structOrUnionSpecifier))
++ in (LrTable.NT 37,(result,structOrUnionSpecifier1left,
++structOrUnionSpecifier1right),rest671) end
++| (120,(_,(MlyValue.enumSpecifier enumSpecifier,enumSpecifier1left,
++enumSpecifier1right))::rest671) => let val result=
++MlyValue.typeSpecifier((enumSpecifier))
++ in (LrTable.NT 37,(result,enumSpecifier1left,enumSpecifier1right),
++rest671) end
++| (121,(_,(MlyValue.TYPE_NAME TYPE_NAME,TYPE_NAME1left,TYPE_NAME1right
++))::rest671) => let val result=MlyValue.typeSpecifier((
++TypedefName TYPE_NAME))
++ in (LrTable.NT 37,(result,TYPE_NAME1left,TYPE_NAME1right),rest671)
++ end
++| (122,(_,(_,VOID1left,VOID1right))::rest671) => let val result=
++MlyValue.typeSpecifierReserved((Void))
++ in (LrTable.NT 38,(result,VOID1left,VOID1right),rest671) end
++| (123,(_,(_,CHAR1left,CHAR1right))::rest671) => let val result=
++MlyValue.typeSpecifierReserved((Char))
++ in (LrTable.NT 38,(result,CHAR1left,CHAR1right),rest671) end
++| (124,(_,(_,SHORT1left,SHORT1right))::rest671) => let val result=
++MlyValue.typeSpecifierReserved((Short))
++ in (LrTable.NT 38,(result,SHORT1left,SHORT1right),rest671) end
++| (125,(_,(_,INT1left,INT1right))::rest671) => let val result=
++MlyValue.typeSpecifierReserved((Int))
++ in (LrTable.NT 38,(result,INT1left,INT1right),rest671) end
++| (126,(_,(_,LONG1left,LONG1right))::rest671) => let val result=
++MlyValue.typeSpecifierReserved((Long))
++ in (LrTable.NT 38,(result,LONG1left,LONG1right),rest671) end
++| (127,(_,(_,FLOAT1left,FLOAT1right))::rest671) => let val result=
++MlyValue.typeSpecifierReserved((Float))
++ in (LrTable.NT 38,(result,FLOAT1left,FLOAT1right),rest671) end
++| (128,(_,(_,DOUBLE1left,DOUBLE1right))::rest671) => let val result=
++MlyValue.typeSpecifierReserved((Double))
++ in (LrTable.NT 38,(result,DOUBLE1left,DOUBLE1right),rest671) end
++| (129,(_,(_,SIGNED1left,SIGNED1right))::rest671) => let val result=
++MlyValue.typeSpecifierReserved((Signed))
++ in (LrTable.NT 38,(result,SIGNED1left,SIGNED1right),rest671) end
++| (130,(_,(_,UNSIGNED1left,UNSIGNED1right))::rest671) => let val 
++result=MlyValue.typeSpecifierReserved((Unsigned))
++ in (LrTable.NT 38,(result,UNSIGNED1left,UNSIGNED1right),rest671) end
++| (131,(_,(_,_,RCURLY1right))::(_,(MlyValue.structDeclarationList 
++structDeclarationList,_,_))::_::(_,(MlyValue.structOrUnion 
++structOrUnion,structOrUnion1left,_))::rest671) => let val result=
++MlyValue.structOrUnionSpecifier((
++Struct{isStruct=structOrUnion, tagOpt=NONE, members=seqToList structDeclarationList}
++))
++ in (LrTable.NT 43,(result,structOrUnion1left,RCURLY1right),rest671)
++ end
++| (132,(_,(_,_,RCURLY1right))::(_,(MlyValue.structDeclarationList 
++structDeclarationList,_,_))::_::(_,(MlyValue.ID ID,_,_))::(_,(
++MlyValue.structOrUnion structOrUnion,structOrUnion1left,_))::rest671)
++ => let val result=MlyValue.structOrUnionSpecifier((
++Struct{isStruct=structOrUnion, tagOpt=SOME ID, members=seqToList structDeclarationList}
++))
++ in (LrTable.NT 43,(result,structOrUnion1left,RCURLY1right),rest671)
++ end
++| (133,(_,(_,_,RCURLY1right))::(_,(MlyValue.structDeclarationList 
++structDeclarationList,_,_))::_::(_,(MlyValue.TYPE_NAME TYPE_NAME,_,_))
++::(_,(MlyValue.structOrUnion structOrUnion,structOrUnion1left,_))::
++rest671) => let val result=MlyValue.structOrUnionSpecifier((
++Struct{isStruct=structOrUnion, tagOpt=SOME TYPE_NAME, members=seqToList structDeclarationList}
++))
++ in (LrTable.NT 43,(result,structOrUnion1left,RCURLY1right),rest671)
++ end
++| (134,(_,(MlyValue.ID ID,_,ID1right))::(_,(MlyValue.structOrUnion 
++structOrUnion,structOrUnion1left,_))::rest671) => let val result=
++MlyValue.structOrUnionSpecifier((
++StructTag {isStruct=structOrUnion, name=ID}))
++ in (LrTable.NT 43,(result,structOrUnion1left,ID1right),rest671) end
++| (135,(_,(MlyValue.TYPE_NAME TYPE_NAME,_,TYPE_NAME1right))::(_,(
++MlyValue.structOrUnion structOrUnion,structOrUnion1left,_))::rest671)
++ => let val result=MlyValue.structOrUnionSpecifier((
++StructTag {isStruct=structOrUnion, name=TYPE_NAME}))
++ in (LrTable.NT 43,(result,structOrUnion1left,TYPE_NAME1right),rest671
++) end
++| (136,(_,(_,STRUCT1left,STRUCT1right))::rest671) => let val result=
++MlyValue.structOrUnion((true))
++ in (LrTable.NT 54,(result,STRUCT1left,STRUCT1right),rest671) end
++| (137,(_,(_,UNION1left,UNION1right))::rest671) => let val result=
++MlyValue.structOrUnion((false))
++ in (LrTable.NT 54,(result,UNION1left,UNION1right),rest671) end
++| (138,(_,(MlyValue.structDeclaration structDeclaration,
++structDeclaration1left,structDeclaration1right))::rest671) => let val 
++result=MlyValue.structDeclarationList((singletonSeq structDeclaration)
++)
++ in (LrTable.NT 59,(result,structDeclaration1left,
++structDeclaration1right),rest671) end
++| (139,(_,(MlyValue.structDeclaration structDeclaration,_,
++structDeclaration1right))::(_,(MlyValue.structDeclarationList 
++structDeclarationList,structDeclarationList1left,_))::rest671) => let 
++val result=MlyValue.structDeclarationList((
++addToSeq(structDeclaration, structDeclarationList)))
++ in (LrTable.NT 59,(result,structDeclarationList1left,
++structDeclaration1right),rest671) end
++| (140,(_,(_,_,SEMICOLON1right))::(_,(MlyValue.structDeclaratorList 
++structDeclaratorList,_,_))::(_,(MlyValue.specifierQualifierList 
++specifierQualifierList,specifierQualifierList1left,_))::rest671) => 
++let val result=MlyValue.structDeclaration((
++(specifierQualifierList, seqToList structDeclaratorList)))
++ in (LrTable.NT 60,(result,specifierQualifierList1left,SEMICOLON1right
++),rest671) end
++| (141,(_,(_,_,SEMICOLON1right))::(_,(
++MlyValue.notypeStructDeclaratorList notypeStructDeclaratorList,_,_))::
++(_,(MlyValue.typeQualifierList typeQualifierList,
++typeQualifierList1left,_))::rest671) => let val result=
++MlyValue.structDeclaration((
++let
++					    val ct = {qualifiers=typeQualifierList, specifiers=[]}
++					 in
++					   (ct, seqToList notypeStructDeclaratorList)
++					 end
++))
++ in (LrTable.NT 60,(result,typeQualifierList1left,SEMICOLON1right),
++rest671) end
++| (142,(_,(MlyValue.structDeclarator structDeclarator,
++structDeclarator1left,structDeclarator1right))::rest671) => let val 
++result=MlyValue.structDeclaratorList((singletonSeq structDeclarator))
++ in (LrTable.NT 57,(result,structDeclarator1left,
++structDeclarator1right),rest671) end
++| (143,(_,(MlyValue.structDeclarator structDeclarator,_,
++structDeclarator1right))::_::(_,(MlyValue.structDeclaratorList 
++structDeclaratorList,structDeclaratorList1left,_))::rest671) => let 
++val result=MlyValue.structDeclaratorList((
++addToSeq(structDeclarator, structDeclaratorList)))
++ in (LrTable.NT 57,(result,structDeclaratorList1left,
++structDeclarator1right),rest671) end
++| (144,(_,(MlyValue.notypeStructDeclarator notypeStructDeclarator,
++notypeStructDeclarator1left,notypeStructDeclarator1right))::rest671)
++ => let val result=MlyValue.notypeStructDeclaratorList((
++singletonSeq notypeStructDeclarator))
++ in (LrTable.NT 58,(result,notypeStructDeclarator1left,
++notypeStructDeclarator1right),rest671) end
++| (145,(_,(MlyValue.structDeclarator structDeclarator,_,
++structDeclarator1right))::_::(_,(MlyValue.notypeStructDeclaratorList 
++notypeStructDeclaratorList,notypeStructDeclaratorList1left,_))::
++rest671) => let val result=MlyValue.notypeStructDeclaratorList((
++addToSeq(structDeclarator, notypeStructDeclaratorList)))
++ in (LrTable.NT 58,(result,notypeStructDeclaratorList1left,
++structDeclarator1right),rest671) end
++| (146,(_,(MlyValue.declarator declarator,declarator1left,
++declarator1right))::rest671) => let val result=
++MlyValue.structDeclarator((declarator, EmptyExpr))
++ in (LrTable.NT 55,(result,declarator1left,declarator1right),rest671)
++ end
++| (147,(_,(MlyValue.expr expr,_,expr1right))::(_,(_,COLON1left,_))::
++rest671) => let val result=MlyValue.structDeclarator((EmptyDecr, expr)
++)
++ in (LrTable.NT 55,(result,COLON1left,expr1right),rest671) end
++| (148,(_,(MlyValue.expr expr,_,expr1right))::_::(_,(
++MlyValue.declarator declarator,declarator1left,_))::rest671) => let 
++val result=MlyValue.structDeclarator((declarator, expr))
++ in (LrTable.NT 55,(result,declarator1left,expr1right),rest671) end
++| (149,(_,(MlyValue.notypeDeclarator notypeDeclarator,
++notypeDeclarator1left,notypeDeclarator1right))::rest671) => let val 
++result=MlyValue.notypeStructDeclarator((notypeDeclarator, EmptyExpr))
++ in (LrTable.NT 56,(result,notypeDeclarator1left,
++notypeDeclarator1right),rest671) end
++| (150,(_,(MlyValue.expr expr,_,expr1right))::(_,(_,COLON1left,_))::
++rest671) => let val result=MlyValue.notypeStructDeclarator((
++EmptyDecr, expr))
++ in (LrTable.NT 56,(result,COLON1left,expr1right),rest671) end
++| (151,(_,(MlyValue.expr expr,_,expr1right))::_::(_,(
++MlyValue.notypeDeclarator notypeDeclarator,notypeDeclarator1left,_))::
++rest671) => let val result=MlyValue.notypeStructDeclarator((
++notypeDeclarator, expr))
++ in (LrTable.NT 56,(result,notypeDeclarator1left,expr1right),rest671)
++ end
++| (152,(_,(_,CONST1left,CONST1right))::rest671) => let val result=
++MlyValue.typeQualifier((CONST))
++ in (LrTable.NT 39,(result,CONST1left,CONST1right),rest671) end
++| (153,(_,(_,VOLATILE1left,VOLATILE1right))::rest671) => let val 
++result=MlyValue.typeQualifier((VOLATILE))
++ in (LrTable.NT 39,(result,VOLATILE1left,VOLATILE1right),rest671) end
++| (154,(_,(_,_,RCURLY1right))::(_,(MlyValue.trailingComma 
++trailingComma,_,_))::(_,(MlyValue.enumeratorList enumeratorList,_,_))
++::_::(_,(_,ENUM1left,_))::rest671) => let val result=
++MlyValue.enumSpecifier((
++Enum{tagOpt=NONE, enumerators=seqToList enumeratorList, trailingComma=trailingComma}
++))
++ in (LrTable.NT 42,(result,ENUM1left,RCURLY1right),rest671) end
++| (155,(_,(_,_,RCURLY1right))::(_,(MlyValue.trailingComma 
++trailingComma,_,_))::(_,(MlyValue.enumeratorList enumeratorList,_,_))
++::_::(_,(MlyValue.ID ID,_,_))::(_,(_,ENUM1left,_))::rest671) => let 
++val result=MlyValue.enumSpecifier((
++Enum{tagOpt=SOME(ID), enumerators=seqToList enumeratorList, trailingComma=trailingComma}
++))
++ in (LrTable.NT 42,(result,ENUM1left,RCURLY1right),rest671) end
++| (156,(_,(_,_,RCURLY1right))::(_,(MlyValue.trailingComma 
++trailingComma,_,_))::(_,(MlyValue.enumeratorList enumeratorList,_,_))
++::_::(_,(MlyValue.TYPE_NAME TYPE_NAME,_,_))::(_,(_,ENUM1left,_))::
++rest671) => let val result=MlyValue.enumSpecifier((
++Enum{tagOpt=SOME(TYPE_NAME), enumerators=seqToList enumeratorList, trailingComma=trailingComma}
++))
++ in (LrTable.NT 42,(result,ENUM1left,RCURLY1right),rest671) end
++| (157,(_,(MlyValue.ID ID,_,ID1right))::(_,(_,ENUM1left,_))::rest671)
++ => let val result=MlyValue.enumSpecifier((EnumTag(ID)))
++ in (LrTable.NT 42,(result,ENUM1left,ID1right),rest671) end
++| (158,(_,(MlyValue.TYPE_NAME TYPE_NAME,_,TYPE_NAME1right))::(_,(_,
++ENUM1left,_))::rest671) => let val result=MlyValue.enumSpecifier((
++EnumTag(TYPE_NAME)))
++ in (LrTable.NT 42,(result,ENUM1left,TYPE_NAME1right),rest671) end
++| (159,(_,(MlyValue.enumerator enumerator,_,enumerator1right))::_::(_,
++(MlyValue.enumeratorList enumeratorList,enumeratorList1left,_))::
++rest671) => let val result=MlyValue.enumeratorList((
++addToSeq(enumerator, enumeratorList)))
++ in (LrTable.NT 12,(result,enumeratorList1left,enumerator1right),
++rest671) end
++| (160,(_,(MlyValue.enumerator enumerator,enumerator1left,
++enumerator1right))::rest671) => let val result=MlyValue.enumeratorList
++(((TypeDefs.addNoTdef(#1(enumerator)));
++					 singletonSeq enumerator)
++)
++ in (LrTable.NT 12,(result,enumerator1left,enumerator1right),rest671)
++ end
++| (161,(_,(MlyValue.ID ID,ID1left,ID1right))::rest671) => let val 
++result=MlyValue.enumerator(((ID,ParseTree.EmptyExpr)))
++ in (LrTable.NT 13,(result,ID1left,ID1right),rest671) end
++| (162,(_,(MlyValue.expr expr,_,expr1right))::_::(_,(MlyValue.ID ID,
++ID1left,_))::rest671) => let val result=MlyValue.enumerator((ID,expr))
++ in (LrTable.NT 13,(result,ID1left,expr1right),rest671) end
++| (163,(_,(_,EXTERN1left,EXTERN1right))::rest671) => let val result=
++MlyValue.storageClassSpecifier((EXTERN))
++ in (LrTable.NT 35,(result,EXTERN1left,EXTERN1right),rest671) end
++| (164,(_,(_,STATIC1left,STATIC1right))::rest671) => let val result=
++MlyValue.storageClassSpecifier((STATIC))
++ in (LrTable.NT 35,(result,STATIC1left,STATIC1right),rest671) end
++| (165,(_,(_,AUTO1left,AUTO1right))::rest671) => let val result=
++MlyValue.storageClassSpecifier((AUTO))
++ in (LrTable.NT 35,(result,AUTO1left,AUTO1right),rest671) end
++| (166,(_,(_,REGISTER1left,REGISTER1right))::rest671) => let val 
++result=MlyValue.storageClassSpecifier((REGISTER))
++ in (LrTable.NT 35,(result,REGISTER1left,REGISTER1right),rest671) end
++| (167,(_,(_,TYPEDEF1left,TYPEDEF1right))::rest671) => let val result=
++MlyValue.storageClassSpecifier((TYPEDEF))
++ in (LrTable.NT 35,(result,TYPEDEF1left,TYPEDEF1right),rest671) end
++| (168,rest671) => let val result=MlyValue.trailingComma((false))
++ in (LrTable.NT 11,(result,defaultPos,defaultPos),rest671) end
++| (169,(_,(_,COMMA1left,COMMA1right))::rest671) => let val result=
++MlyValue.trailingComma((true))
++ in (LrTable.NT 11,(result,COMMA1left,COMMA1right),rest671) end
++| (170,(_,(MlyValue.initDeclarator initDeclarator,initDeclarator1left,
++initDeclarator1right))::rest671) => let val result=
++MlyValue.initDeclaratorList((singletonSeq initDeclarator))
++ in (LrTable.NT 18,(result,initDeclarator1left,initDeclarator1right),
++rest671) end
++| (171,(_,(MlyValue.initDeclarator initDeclarator,_,
++initDeclarator1right))::_::(_,(MlyValue.initDeclaratorList 
++initDeclaratorList,initDeclaratorList1left,_))::rest671) => let val 
++result=MlyValue.initDeclaratorList((
++addToSeq(initDeclarator, initDeclaratorList)))
++ in (LrTable.NT 18,(result,initDeclaratorList1left,
++initDeclarator1right),rest671) end
++| (172,(_,(MlyValue.declarator declarator,declarator1left,
++declarator1right))::rest671) => let val result=MlyValue.initDeclarator
++(((declarator,EmptyExpr)))
++ in (LrTable.NT 16,(result,declarator1left,declarator1right),rest671)
++ end
++| (173,(_,(MlyValue.initializer initializer,_,initializer1right))::_::
++(_,(MlyValue.declarator declarator,declarator1left,_))::rest671) => 
++let val result=MlyValue.initDeclarator((declarator,initializer))
++ in (LrTable.NT 16,(result,declarator1left,initializer1right),rest671)
++ end
++| (174,(_,(MlyValue.notypeInitDeclarator notypeInitDeclarator,
++notypeInitDeclarator1left,notypeInitDeclarator1right))::rest671) => 
++let val result=MlyValue.notypeInitDeclaratorList((
++singletonSeq notypeInitDeclarator))
++ in (LrTable.NT 19,(result,notypeInitDeclarator1left,
++notypeInitDeclarator1right),rest671) end
++| (175,(_,(MlyValue.initDeclarator initDeclarator,_,
++initDeclarator1right))::_::(_,(MlyValue.notypeInitDeclaratorList 
++notypeInitDeclaratorList,notypeInitDeclaratorList1left,_))::rest671)
++ => let val result=MlyValue.notypeInitDeclaratorList((
++addToSeq(initDeclarator, notypeInitDeclaratorList)))
++ in (LrTable.NT 19,(result,notypeInitDeclaratorList1left,
++initDeclarator1right),rest671) end
++| (176,(_,(MlyValue.notypeDeclarator notypeDeclarator,
++notypeDeclarator1left,notypeDeclarator1right))::rest671) => let val 
++result=MlyValue.notypeInitDeclarator(((notypeDeclarator,EmptyExpr)))
++ in (LrTable.NT 17,(result,notypeDeclarator1left,
++notypeDeclarator1right),rest671) end
++| (177,(_,(MlyValue.initializer initializer,_,initializer1right))::_::
++(_,(MlyValue.notypeDeclarator notypeDeclarator,notypeDeclarator1left,_
++))::rest671) => let val result=MlyValue.notypeInitDeclarator((
++notypeDeclarator,initializer))
++ in (LrTable.NT 17,(result,notypeDeclarator1left,initializer1right),
++rest671) end
++| (178,(_,(MlyValue.aftertypeDeclarator aftertypeDeclarator,
++aftertypeDeclarator1left,aftertypeDeclarator1right))::rest671) => let 
++val result=MlyValue.declarator((aftertypeDeclarator))
++ in (LrTable.NT 21,(result,aftertypeDeclarator1left,
++aftertypeDeclarator1right),rest671) end
++| (179,(_,(MlyValue.notypeDeclarator notypeDeclarator,
++notypeDeclarator1left,notypeDeclarator1right))::rest671) => let val 
++result=MlyValue.declarator((notypeDeclarator))
++ in (LrTable.NT 21,(result,notypeDeclarator1left,
++notypeDeclarator1right),rest671) end
++| (180,(_,(MlyValue.aftertypeDirectDeclarator 
++aftertypeDirectDeclarator,aftertypeDirectDeclarator1left,
++aftertypeDirectDeclarator1right))::rest671) => let val result=
++MlyValue.aftertypeDeclarator((aftertypeDirectDeclarator))
++ in (LrTable.NT 22,(result,aftertypeDirectDeclarator1left,
++aftertypeDirectDeclarator1right),rest671) end
++| (181,(_,(MlyValue.aftertypeDirectDeclarator 
++aftertypeDirectDeclarator,_,aftertypeDirectDeclarator1right))::(_,(
++MlyValue.pointer pointer,pointer1left,_))::rest671) => let val result=
++MlyValue.aftertypeDeclarator((
++applyPointer(pointer,aftertypeDirectDeclarator)))
++ in (LrTable.NT 22,(result,pointer1left,
++aftertypeDirectDeclarator1right),rest671) end
++| (182,(_,(MlyValue.notypeDirectDeclarator notypeDirectDeclarator,
++notypeDirectDeclarator1left,notypeDirectDeclarator1right))::rest671)
++ => let val result=MlyValue.notypeDeclarator((notypeDirectDeclarator))
++ in (LrTable.NT 23,(result,notypeDirectDeclarator1left,
++notypeDirectDeclarator1right),rest671) end
++| (183,(_,(MlyValue.notypeDirectDeclarator notypeDirectDeclarator,_,
++notypeDirectDeclarator1right))::(_,(MlyValue.pointer pointer,
++pointer1left,_))::rest671) => let val result=MlyValue.notypeDeclarator
++((applyPointer(pointer, notypeDirectDeclarator)))
++ in (LrTable.NT 23,(result,pointer1left,notypeDirectDeclarator1right),
++rest671) end
++| (184,(_,(MlyValue.parmDirectDeclarator parmDirectDeclarator,
++parmDirectDeclarator1left,parmDirectDeclarator1right))::rest671) => 
++let val result=MlyValue.parmDeclarator((parmDirectDeclarator))
++ in (LrTable.NT 24,(result,parmDirectDeclarator1left,
++parmDirectDeclarator1right),rest671) end
++| (185,(_,(MlyValue.parmDirectDeclarator parmDirectDeclarator,_,
++parmDirectDeclarator1right))::(_,(MlyValue.pointer pointer,
++pointer1left,_))::rest671) => let val result=MlyValue.parmDeclarator((
++applyPointer(pointer, parmDirectDeclarator)))
++ in (LrTable.NT 24,(result,pointer1left,parmDirectDeclarator1right),
++rest671) end
++| (186,(_,(_,TIMES1left,TIMES1right))::rest671) => let val result=
++MlyValue.pointer((PointerDecr(EmptyDecr)))
++ in (LrTable.NT 20,(result,TIMES1left,TIMES1right),rest671) end
++| (187,(_,(MlyValue.typeQualifierList typeQualifierList,_,
++typeQualifierList1right))::(_,(_,TIMES1left,_))::rest671) => let val 
++result=MlyValue.pointer((
++PointerDecr(loopQd(typeQualifierList,EmptyDecr))))
++ in (LrTable.NT 20,(result,TIMES1left,typeQualifierList1right),rest671
++) end
++| (188,(_,(MlyValue.pointer pointer,_,pointer1right))::(_,(_,
++TIMES1left,_))::rest671) => let val result=MlyValue.pointer((
++PointerDecr(pointer)))
++ in (LrTable.NT 20,(result,TIMES1left,pointer1right),rest671) end
++| (189,(_,(MlyValue.pointer pointer,_,pointer1right))::(_,(
++MlyValue.typeQualifierList typeQualifierList,_,_))::(_,(_,TIMES1left,_
++))::rest671) => let val result=MlyValue.pointer((
++PointerDecr(loopQd(typeQualifierList,pointer))))
++ in (LrTable.NT 20,(result,TIMES1left,pointer1right),rest671) end
++| (190,(_,(MlyValue.TYPE_NAME TYPE_NAME,TYPE_NAMEleft as 
++TYPE_NAME1left,TYPE_NAMEright as TYPE_NAME1right))::rest671) => let 
++val result=MlyValue.aftertypeDirectDeclarator((
++markDeclarator srcMap (VarDecr TYPE_NAME,TYPE_NAMEleft,TYPE_NAMEright)
++))
++ in (LrTable.NT 25,(result,TYPE_NAME1left,TYPE_NAME1right),rest671)
++ end
++| (191,(_,(_,_,RPAREN1right))::(_,(MlyValue.aftertypeDeclarator 
++aftertypeDeclarator,_,_))::(_,(_,LPAREN1left,_))::rest671) => let val 
++result=MlyValue.aftertypeDirectDeclarator((aftertypeDeclarator))
++ in (LrTable.NT 25,(result,LPAREN1left,RPAREN1right),rest671) end
++| (192,(_,(_,_,RBRACE1right))::_::(_,(
++MlyValue.aftertypeDirectDeclarator aftertypeDirectDeclarator,
++aftertypeDirectDeclarator1left,_))::rest671) => let val result=
++MlyValue.aftertypeDirectDeclarator((
++ArrayDecr (aftertypeDirectDeclarator,EmptyExpr)))
++ in (LrTable.NT 25,(result,aftertypeDirectDeclarator1left,RBRACE1right
++),rest671) end
++| (193,(_,(_,_,RBRACE1right))::(_,(MlyValue.expr expr,_,_))::_::(_,(
++MlyValue.aftertypeDirectDeclarator aftertypeDirectDeclarator,
++aftertypeDirectDeclarator1left,_))::rest671) => let val result=
++MlyValue.aftertypeDirectDeclarator((
++ArrayDecr (aftertypeDirectDeclarator,expr)))
++ in (LrTable.NT 25,(result,aftertypeDirectDeclarator1left,RBRACE1right
++),rest671) end
++| (194,(_,(_,_,RPAREN1right))::_::(_,(
++MlyValue.aftertypeDirectDeclarator aftertypeDirectDeclarator,
++aftertypeDirectDeclarator1left,_))::rest671) => let val result=
++MlyValue.aftertypeDirectDeclarator((
++FuncDecr (aftertypeDirectDeclarator,nil)))
++ in (LrTable.NT 25,(result,aftertypeDirectDeclarator1left,RPAREN1right
++),rest671) end
++| (195,(_,(_,_,RPAREN1right))::(_,(MlyValue.parameterTypeList 
++parameterTypeList,_,_))::_::(_,(MlyValue.aftertypeDirectDeclarator 
++aftertypeDirectDeclarator,aftertypeDirectDeclarator1left,_))::rest671)
++ => let val result=MlyValue.aftertypeDirectDeclarator((
++FuncDecr (aftertypeDirectDeclarator,parameterTypeList)))
++ in (LrTable.NT 25,(result,aftertypeDirectDeclarator1left,RPAREN1right
++),rest671) end
++| (196,(_,(_,_,RPAREN1right))::(_,(MlyValue.identlist identlist,_,_))
++::_::(_,(MlyValue.aftertypeDirectDeclarator aftertypeDirectDeclarator,
++aftertypeDirectDeclarator1left,_))::rest671) => let val result=
++MlyValue.aftertypeDirectDeclarator((
++FuncDecr (aftertypeDirectDeclarator,
++					    map (fn (x,y,z) => (unknown,markDeclarator srcMap (VarDecr x,y,z))) (seqToList identlist))
++))
++ in (LrTable.NT 25,(result,aftertypeDirectDeclarator1left,RPAREN1right
++),rest671) end
++| (197,(_,(MlyValue.ID ID,IDleft as ID1left,IDright as ID1right))::
++rest671) => let val result=MlyValue.notypeDirectDeclarator((
++markDeclarator srcMap (VarDecr ID,IDleft,IDright)))
++ in (LrTable.NT 26,(result,ID1left,ID1right),rest671) end
++| (198,(_,(_,_,RPAREN1right))::(_,(MlyValue.notypeDeclarator 
++notypeDeclarator,_,_))::(_,(_,LPAREN1left,_))::rest671) => let val 
++result=MlyValue.notypeDirectDeclarator((notypeDeclarator))
++ in (LrTable.NT 26,(result,LPAREN1left,RPAREN1right),rest671) end
++| (199,(_,(_,_,RBRACE1right))::_::(_,(MlyValue.notypeDirectDeclarator 
++notypeDirectDeclarator,notypeDirectDeclarator1left,_))::rest671) => 
++let val result=MlyValue.notypeDirectDeclarator((
++ArrayDecr (notypeDirectDeclarator,EmptyExpr)))
++ in (LrTable.NT 26,(result,notypeDirectDeclarator1left,RBRACE1right),
++rest671) end
++| (200,(_,(_,_,RBRACE1right))::(_,(MlyValue.expr expr,_,_))::_::(_,(
++MlyValue.notypeDirectDeclarator notypeDirectDeclarator,
++notypeDirectDeclarator1left,_))::rest671) => let val result=
++MlyValue.notypeDirectDeclarator((
++ArrayDecr (notypeDirectDeclarator,expr)))
++ in (LrTable.NT 26,(result,notypeDirectDeclarator1left,RBRACE1right),
++rest671) end
++| (201,(_,(_,_,RPAREN1right))::_::(_,(MlyValue.notypeDirectDeclarator 
++notypeDirectDeclarator,notypeDirectDeclarator1left,_))::rest671) => 
++let val result=MlyValue.notypeDirectDeclarator((
++FuncDecr (notypeDirectDeclarator,nil)))
++ in (LrTable.NT 26,(result,notypeDirectDeclarator1left,RPAREN1right),
++rest671) end
++| (202,(_,(_,_,RPAREN1right))::(_,(MlyValue.parameterTypeList 
++parameterTypeList,_,_))::_::(_,(MlyValue.notypeDirectDeclarator 
++notypeDirectDeclarator,notypeDirectDeclarator1left,_))::rest671) => 
++let val result=MlyValue.notypeDirectDeclarator((
++FuncDecr (notypeDirectDeclarator,parameterTypeList)))
++ in (LrTable.NT 26,(result,notypeDirectDeclarator1left,RPAREN1right),
++rest671) end
++| (203,(_,(_,_,RPAREN1right))::(_,(MlyValue.identlist identlist,_,_))
++::_::(_,(MlyValue.notypeDirectDeclarator notypeDirectDeclarator,
++notypeDirectDeclarator1left,_))::rest671) => let val result=
++MlyValue.notypeDirectDeclarator((
++FuncDecr (notypeDirectDeclarator,
++ 						   map (fn (x,y,z) => (unknown,markDeclarator srcMap (VarDecr x,y,z))) (seqToList identlist))
++))
++ in (LrTable.NT 26,(result,notypeDirectDeclarator1left,RPAREN1right),
++rest671) end
++| (204,(_,(MlyValue.TYPE_NAME TYPE_NAME,TYPE_NAMEleft as 
++TYPE_NAME1left,TYPE_NAMEright as TYPE_NAME1right))::rest671) => let 
++val result=MlyValue.parmDirectDeclarator((
++markDeclarator srcMap (VarDecr TYPE_NAME,TYPE_NAMEleft,TYPE_NAMEright)
++))
++ in (LrTable.NT 27,(result,TYPE_NAME1left,TYPE_NAME1right),rest671)
++ end
++| (205,(_,(_,_,RBRACE1right))::_::(_,(MlyValue.parmDirectDeclarator 
++parmDirectDeclarator,parmDirectDeclarator1left,_))::rest671) => let 
++val result=MlyValue.parmDirectDeclarator((
++ArrayDecr (parmDirectDeclarator,EmptyExpr)))
++ in (LrTable.NT 27,(result,parmDirectDeclarator1left,RBRACE1right),
++rest671) end
++| (206,(_,(_,_,RBRACE1right))::(_,(MlyValue.expr expr,_,_))::_::(_,(
++MlyValue.parmDirectDeclarator parmDirectDeclarator,
++parmDirectDeclarator1left,_))::rest671) => let val result=
++MlyValue.parmDirectDeclarator((ArrayDecr (parmDirectDeclarator,expr)))
++ in (LrTable.NT 27,(result,parmDirectDeclarator1left,RBRACE1right),
++rest671) end
++| (207,(_,(_,_,RPAREN1right))::_::(_,(MlyValue.parmDirectDeclarator 
++parmDirectDeclarator,parmDirectDeclarator1left,_))::rest671) => let 
++val result=MlyValue.parmDirectDeclarator((
++FuncDecr (parmDirectDeclarator,nil)))
++ in (LrTable.NT 27,(result,parmDirectDeclarator1left,RPAREN1right),
++rest671) end
++| (208,(_,(_,_,RPAREN1right))::(_,(MlyValue.parameterTypeList 
++parameterTypeList,_,_))::_::(_,(MlyValue.parmDirectDeclarator 
++parmDirectDeclarator,parmDirectDeclarator1left,_))::rest671) => let 
++val result=MlyValue.parmDirectDeclarator((
++FuncDecr (parmDirectDeclarator,parameterTypeList)))
++ in (LrTable.NT 27,(result,parmDirectDeclarator1left,RPAREN1right),
++rest671) end
++| (209,(_,(_,_,RPAREN1right))::(_,(MlyValue.identlist identlist,_,_))
++::_::(_,(MlyValue.parmDirectDeclarator parmDirectDeclarator,
++parmDirectDeclarator1left,_))::rest671) => let val result=
++MlyValue.parmDirectDeclarator((
++FuncDecr (parmDirectDeclarator,
++						    map (fn (x,y,z) => (unknown,markDeclarator srcMap (VarDecr x,y,z))) (seqToList identlist))
++))
++ in (LrTable.NT 27,(result,parmDirectDeclarator1left,RPAREN1right),
++rest671) end
++| (210,(_,(MlyValue.expr expr,expr1left,expr1right))::rest671) => let 
++val result=MlyValue.initializer((expr))
++ in (LrTable.NT 33,(result,expr1left,expr1right),rest671) end
++| (211,(_,(_,_,RCURLYright as RCURLY1right))::_::(_,(
++MlyValue.initializerList initializerList,_,_))::(_,(_,LCURLYleft as 
++LCURLY1left,_))::rest671) => let val result=MlyValue.initializer((
++markExpression srcMap (InitList(seqToList initializerList),LCURLYleft,RCURLYright)
++))
++ in (LrTable.NT 33,(result,LCURLY1left,RCURLY1right),rest671) end
++| (212,(_,(MlyValue.initializer initializer,initializer1left,
++initializer1right))::rest671) => let val result=
++MlyValue.initializerList((singletonSeq initializer))
++ in (LrTable.NT 34,(result,initializer1left,initializer1right),rest671
++) end
++| (213,(_,(MlyValue.initializer initializer,_,initializer1right))::_::
++(_,(MlyValue.initializerList initializerList,initializerList1left,_))
++::rest671) => let val result=MlyValue.initializerList((
++addToSeq(initializer, initializerList)))
++ in (LrTable.NT 34,(result,initializerList1left,initializer1right),
++rest671) end
++| (214,(_,(MlyValue.declaration declaration,declarationleft as 
++declaration1left,declarationright as declaration1right))::rest671) => 
++let val result=MlyValue.declarationList((
++singletonSeq(markDeclaration srcMap (declaration,
++									      declarationleft,
++								              declarationright))
++))
++ in (LrTable.NT 45,(result,declaration1left,declaration1right),rest671
++) end
++| (215,(_,(MlyValue.declaration declaration,declarationleft,
++declarationright as declaration1right))::(_,(MlyValue.declarationList 
++declarationList,declarationList1left,_))::rest671) => let val result=
++MlyValue.declarationList((
++addToSeq(markDeclaration srcMap (declaration,
++							            	  declarationleft,
++									  declarationright),
++						  declarationList)
++))
++ in (LrTable.NT 45,(result,declarationList1left,declaration1right),
++rest671) end
++| (216,(_,(MlyValue.ID ID,IDleft as ID1left,IDright as ID1right))::
++rest671) => let val result=MlyValue.identlist((
++singletonSeq (ID,IDleft,IDright)))
++ in (LrTable.NT 46,(result,ID1left,ID1right),rest671) end
++| (217,(_,(MlyValue.ID ID,IDleft,IDright as ID1right))::_::(_,(
++MlyValue.identlist identlist,identlist1left,_))::rest671) => let val 
++result=MlyValue.identlist((addToSeq((ID,IDleft,IDright),identlist)))
++ in (LrTable.NT 46,(result,identlist1left,ID1right),rest671) end
++| (218,(_,(MlyValue.notypeDeclarator notypeDeclarator,
++notypeDeclarator1left,notypeDeclarator1right))::rest671) => let val 
++result=MlyValue.fDefDeclaration((
++insertFuncName(notypeDeclarator);
++					 TypeDefs.pushScope();
++					 insertFuncParams(notypeDeclarator);
++					 (unknown, notypeDeclarator)
++))
++ in (LrTable.NT 44,(result,notypeDeclarator1left,
++notypeDeclarator1right),rest671) end
++| (219,(_,(MlyValue.declarator declarator,_,declarator1right))::(_,(
++MlyValue.declarationSpecifiers declarationSpecifiers,
++declarationSpecifiers1left,_))::rest671) => let val result=
++MlyValue.fDefDeclaration((
++insertFuncName(declarator);
++					 TypeDefs.pushScope();
++					 insertFuncParams(declarator);
++					 (declarationSpecifiers, declarator)
++))
++ in (LrTable.NT 44,(result,declarationSpecifiers1left,declarator1right
++),rest671) end
++| (220,(_,(MlyValue.notypeDeclarator notypeDeclarator,_,
++notypeDeclarator1right))::(_,(MlyValue.declarationModifiers 
++declarationModifiers,declarationModifiers1left,_))::rest671) => let 
++val result=MlyValue.fDefDeclaration((
++insertFuncName(notypeDeclarator);
++					 TypeDefs.pushScope();
++					 insertFuncParams(notypeDeclarator);
++					 (declarationModifiers, notypeDeclarator)
++))
++ in (LrTable.NT 44,(result,declarationModifiers1left,
++notypeDeclarator1right),rest671) end
++| (221,(_,(MlyValue.compoundStatement compoundStatement,_,
++compoundStatement1right))::(_,(MlyValue.fDefDeclaration 
++fDefDeclaration,fDefDeclaration1left,_))::rest671) => let val result=
++MlyValue.functionDefinition((
++TypeDefs.popScope();
++					 FunctionDef
++					    {retType = #1 fDefDeclaration,
++					     funDecr = #2 fDefDeclaration,
++                                             krParams = [],
++                                             body = compoundStatement}
++))
++ in (LrTable.NT 47,(result,fDefDeclaration1left,
++compoundStatement1right),rest671) end
++| (222,(_,(MlyValue.compoundStatement compoundStatement,_,
++compoundStatement1right))::(_,(MlyValue.declarationList 
++declarationList,_,_))::(_,(MlyValue.fDefDeclaration fDefDeclaration,
++fDefDeclaration1left,_))::rest671) => let val result=
++MlyValue.functionDefinition((
++TypeDefs.popScope();
++					 FunctionDef 
++					    {retType = #1 fDefDeclaration,
++					     funDecr = #2 fDefDeclaration,
++                                             krParams = seqToList declarationList,
++                                             body = compoundStatement}
++))
++ in (LrTable.NT 47,(result,fDefDeclaration1left,
++compoundStatement1right),rest671) end
++| (223,(_,(MlyValue.pointer pointer,pointer1left,pointer1right))::
++rest671) => let val result=MlyValue.abstractDeclarator((
++applyPointer (pointer, EmptyDecr)))
++ in (LrTable.NT 14,(result,pointer1left,pointer1right),rest671) end
++| (224,(_,(MlyValue.directAbstractDeclarator directAbstractDeclarator,
++directAbstractDeclarator1left,directAbstractDeclarator1right))::
++rest671) => let val result=MlyValue.abstractDeclarator((
++directAbstractDeclarator))
++ in (LrTable.NT 14,(result,directAbstractDeclarator1left,
++directAbstractDeclarator1right),rest671) end
++| (225,(_,(MlyValue.directAbstractDeclarator directAbstractDeclarator,
++_,directAbstractDeclarator1right))::(_,(MlyValue.pointer pointer,
++pointer1left,_))::rest671) => let val result=
++MlyValue.abstractDeclarator((
++applyPointer(pointer, directAbstractDeclarator)))
++ in (LrTable.NT 14,(result,pointer1left,directAbstractDeclarator1right
++),rest671) end
++| (226,(_,(_,_,RPAREN1right))::(_,(MlyValue.abstractDeclarator 
++abstractDeclarator,_,_))::(_,(_,LPAREN1left,_))::rest671) => let val 
++result=MlyValue.directAbstractDeclarator((abstractDeclarator))
++ in (LrTable.NT 15,(result,LPAREN1left,RPAREN1right),rest671) end
++| (227,(_,(_,_,RBRACE1right))::(_,(_,LBRACE1left,_))::rest671) => let 
++val result=MlyValue.directAbstractDeclarator((
++ArrayDecr(EmptyDecr, EmptyExpr)))
++ in (LrTable.NT 15,(result,LBRACE1left,RBRACE1right),rest671) end
++| (228,(_,(_,_,RBRACE1right))::(_,(MlyValue.expr expr,_,_))::(_,(_,
++LBRACE1left,_))::rest671) => let val result=
++MlyValue.directAbstractDeclarator((ArrayDecr(EmptyDecr, expr)))
++ in (LrTable.NT 15,(result,LBRACE1left,RBRACE1right),rest671) end
++| (229,(_,(_,_,RBRACE1right))::_::(_,(
++MlyValue.directAbstractDeclarator directAbstractDeclarator,
++directAbstractDeclarator1left,_))::rest671) => let val result=
++MlyValue.directAbstractDeclarator((
++ArrayDecr (directAbstractDeclarator,EmptyExpr)))
++ in (LrTable.NT 15,(result,directAbstractDeclarator1left,RBRACE1right)
++,rest671) end
++| (230,(_,(_,_,RBRACE1right))::(_,(MlyValue.expr expr,_,_))::_::(_,(
++MlyValue.directAbstractDeclarator directAbstractDeclarator,
++directAbstractDeclarator1left,_))::rest671) => let val result=
++MlyValue.directAbstractDeclarator((
++ArrayDecr (directAbstractDeclarator,expr)))
++ in (LrTable.NT 15,(result,directAbstractDeclarator1left,RBRACE1right)
++,rest671) end
++| (231,(_,(_,_,RPAREN1right))::(_,(_,LPAREN1left,_))::rest671) => let 
++val result=MlyValue.directAbstractDeclarator((
++FuncDecr (EmptyDecr ,nil)))
++ in (LrTable.NT 15,(result,LPAREN1left,RPAREN1right),rest671) end
++| (232,(_,(_,_,RPAREN1right))::(_,(MlyValue.parameterTypeList 
++parameterTypeList,_,_))::(_,(_,LPAREN1left,_))::rest671) => let val 
++result=MlyValue.directAbstractDeclarator((
++FuncDecr (EmptyDecr, parameterTypeList)))
++ in (LrTable.NT 15,(result,LPAREN1left,RPAREN1right),rest671) end
++| (233,(_,(_,_,RPAREN1right))::_::(_,(
++MlyValue.directAbstractDeclarator directAbstractDeclarator,
++directAbstractDeclarator1left,_))::rest671) => let val result=
++MlyValue.directAbstractDeclarator((
++FuncDecr (directAbstractDeclarator,nil)))
++ in (LrTable.NT 15,(result,directAbstractDeclarator1left,RPAREN1right)
++,rest671) end
++| (234,(_,(_,_,RPAREN1right))::(_,(MlyValue.parameterTypeList 
++parameterTypeList,_,_))::_::(_,(MlyValue.directAbstractDeclarator 
++directAbstractDeclarator,directAbstractDeclarator1left,_))::rest671)
++ => let val result=MlyValue.directAbstractDeclarator((
++FuncDecr (directAbstractDeclarator, parameterTypeList)))
++ in (LrTable.NT 15,(result,directAbstractDeclarator1left,RPAREN1right)
++,rest671) end
++| (235,(_,(MlyValue.parameterList parameterList,parameterList1left,
++parameterList1right))::rest671) => let val result=
++MlyValue.parameterTypeList((seqToList parameterList))
++ in (LrTable.NT 52,(result,parameterList1left,parameterList1right),
++rest671) end
++| (236,(_,(_,_,ELIPSIS1right))::_::(_,(MlyValue.parameterList 
++parameterList,parameterList1left,_))::rest671) => let val result=
++MlyValue.parameterTypeList((
++let val decltype = {specifiers=[Ellipses],qualifiers=[],storage=[]}
++	        		 in (seqToList parameterList) @ [(decltype, EllipsesDecr)] end
++))
++ in (LrTable.NT 52,(result,parameterList1left,ELIPSIS1right),rest671)
++ end
++| (237,(_,(MlyValue.parameterDeclaration parameterDeclaration,
++parameterDeclarationleft as parameterDeclaration1left,
++parameterDeclarationright as parameterDeclaration1right))::rest671)
++ => let val result=MlyValue.parameterList((
++singletonSeq(#1 parameterDeclaration,
++                                              markDeclarator srcMap (#2 parameterDeclaration,
++							             parameterDeclarationleft,
++								     parameterDeclarationright))
++))
++ in (LrTable.NT 51,(result,parameterDeclaration1left,
++parameterDeclaration1right),rest671) end
++| (238,(_,(MlyValue.parameterDeclaration parameterDeclaration,
++parameterDeclarationleft,parameterDeclarationright as 
++parameterDeclaration1right))::_::(_,(MlyValue.parameterList 
++parameterList,parameterList1left,_))::rest671) => let val result=
++MlyValue.parameterList((
++addToSeq((#1 parameterDeclaration,
++	                                           markDeclarator
++	                                            srcMap 
++                                                     (#2 parameterDeclaration,
++						      parameterDeclarationleft,
++						      parameterDeclarationright)),
++					  parameterList)
++))
++ in (LrTable.NT 51,(result,parameterList1left,
++parameterDeclaration1right),rest671) end
++| (239,(_,(MlyValue.notypeDeclarator notypeDeclarator,_,
++notypeDeclarator1right))::(_,(MlyValue.declarationSpecifiers 
++declarationSpecifiers,declarationSpecifiers1left,_))::rest671) => let 
++val result=MlyValue.parameterDeclaration((
++(declarationSpecifiers, notypeDeclarator)))
++ in (LrTable.NT 53,(result,declarationSpecifiers1left,
++notypeDeclarator1right),rest671) end
++| (240,(_,(MlyValue.parmDeclarator parmDeclarator,_,
++parmDeclarator1right))::(_,(MlyValue.declarationSpecifiers 
++declarationSpecifiers,declarationSpecifiers1left,_))::rest671) => let 
++val result=MlyValue.parameterDeclaration((
++(declarationSpecifiers, parmDeclarator)))
++ in (LrTable.NT 53,(result,declarationSpecifiers1left,
++parmDeclarator1right),rest671) end
++| (241,(_,(MlyValue.declarationSpecifiers declarationSpecifiers,
++declarationSpecifiers1left,declarationSpecifiers1right))::rest671) => 
++let val result=MlyValue.parameterDeclaration((
++(declarationSpecifiers, EmptyDecr)))
++ in (LrTable.NT 53,(result,declarationSpecifiers1left,
++declarationSpecifiers1right),rest671) end
++| (242,(_,(MlyValue.abstractDeclarator abstractDeclarator,_,
++abstractDeclarator1right))::(_,(MlyValue.declarationSpecifiers 
++declarationSpecifiers,declarationSpecifiers1left,_))::rest671) => let 
++val result=MlyValue.parameterDeclaration((
++(declarationSpecifiers, abstractDeclarator)))
++ in (LrTable.NT 53,(result,declarationSpecifiers1left,
++abstractDeclarator1right),rest671) end
++| (243,(_,(MlyValue.notypeDeclarator notypeDeclarator,_,
++notypeDeclarator1right))::(_,(MlyValue.declarationModifiers 
++declarationModifiers,declarationModifiers1left,_))::rest671) => let 
++val result=MlyValue.parameterDeclaration((
++(declarationModifiers, notypeDeclarator)))
++ in (LrTable.NT 53,(result,declarationModifiers1left,
++notypeDeclarator1right),rest671) end
++| (244,(_,(MlyValue.abstractDeclarator abstractDeclarator,_,
++abstractDeclarator1right))::(_,(MlyValue.declarationModifiers 
++declarationModifiers,declarationModifiers1left,_))::rest671) => let 
++val result=MlyValue.parameterDeclaration((
++(declarationModifiers, abstractDeclarator)))
++ in (LrTable.NT 53,(result,declarationModifiers1left,
++abstractDeclarator1right),rest671) end
++| (245,rest671) => let val result=MlyValue.pushScope((
++TypeDefs.pushScope()))
++ in (LrTable.NT 61,(result,defaultPos,defaultPos),rest671) end
++| (246,rest671) => let val result=MlyValue.popScope((
++TypeDefs.popScope()))
++ in (LrTable.NT 62,(result,defaultPos,defaultPos),rest671) end
++| _ => raise (mlyAction i392)
++end
++val void = MlyValue.VOID'
++val extract = fn a => (fn MlyValue.translationUnit x => x
++| _ => let exception ParseInternal
++	in raise ParseInternal end) a 
++end
++end
++structure Tokens : C_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 COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(
++ParserData.MlyValue.VOID',p1,p2))
++fun SEMICOLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(
++ParserData.MlyValue.VOID',p1,p2))
++fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LCURLY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(
++ParserData.MlyValue.VOID',p1,p2))
++fun RCURLY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(
++ParserData.MlyValue.VOID',p1,p2))
++fun RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(
++ParserData.MlyValue.VOID',p1,p2))
++fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(
++ParserData.MlyValue.VOID',p1,p2))
++fun QUESTION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(
++ParserData.MlyValue.VOID',p1,p2))
++fun PERCENT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(
++ParserData.MlyValue.VOID',p1,p2))
++fun AMP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(
++ParserData.MlyValue.VOID',p1,p2))
++fun BAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(
++ParserData.MlyValue.VOID',p1,p2))
++fun TILDE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DIVIDE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(
++ParserData.MlyValue.VOID',p1,p2))
++fun PLUS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(
++ParserData.MlyValue.VOID',p1,p2))
++fun MINUS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(
++ParserData.MlyValue.VOID',p1,p2))
++fun HAT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(
++ParserData.MlyValue.VOID',p1,p2))
++fun BANG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,(
++ParserData.MlyValue.VOID',p1,p2))
++fun TIMES (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,(
++ParserData.MlyValue.VOID',p1,p2))
++fun INC (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DEC (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,(
++ParserData.MlyValue.VOID',p1,p2))
++fun ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,(
++ParserData.MlyValue.VOID',p1,p2))
++fun ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,(
++ParserData.MlyValue.ID i,p1,p2))
++fun EQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,(
++ParserData.MlyValue.VOID',p1,p2))
++fun PLUSEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,(
++ParserData.MlyValue.VOID',p1,p2))
++fun MINUSEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,(
++ParserData.MlyValue.VOID',p1,p2))
++fun XOREQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,(
++ParserData.MlyValue.VOID',p1,p2))
++fun MODEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,(
++ParserData.MlyValue.VOID',p1,p2))
++fun TIMESEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DIVEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,(
++ParserData.MlyValue.VOID',p1,p2))
++fun OREQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,(
++ParserData.MlyValue.VOID',p1,p2))
++fun ANDEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LSHIFTEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,(
++ParserData.MlyValue.VOID',p1,p2))
++fun RSHIFTEQUALS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LTE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,(
++ParserData.MlyValue.VOID',p1,p2))
++fun GTE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,(
++ParserData.MlyValue.VOID',p1,p2))
++fun GT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,(
++ParserData.MlyValue.VOID',p1,p2))
++fun EQ (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,(
++ParserData.MlyValue.VOID',p1,p2))
++fun NEQ (p1,p2) = Token.TOKEN (ParserData.LrTable.T 42,(
++ParserData.MlyValue.VOID',p1,p2))
++fun OR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 43,(
++ParserData.MlyValue.VOID',p1,p2))
++fun AND (p1,p2) = Token.TOKEN (ParserData.LrTable.T 44,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LSHIFT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 45,(
++ParserData.MlyValue.VOID',p1,p2))
++fun RSHIFT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 46,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DECNUM (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 47,(
++ParserData.MlyValue.DECNUM i,p1,p2))
++fun REALNUM (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 48,(
++ParserData.MlyValue.REALNUM i,p1,p2))
++fun STRING (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 49,(
++ParserData.MlyValue.STRING i,p1,p2))
++fun CCONST (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 50,(
++ParserData.MlyValue.CCONST i,p1,p2))
++fun EXTERN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 51,(
++ParserData.MlyValue.VOID',p1,p2))
++fun AUTO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 52,(
++ParserData.MlyValue.VOID',p1,p2))
++fun STATIC (p1,p2) = Token.TOKEN (ParserData.LrTable.T 53,(
++ParserData.MlyValue.VOID',p1,p2))
++fun REGISTER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 54,(
++ParserData.MlyValue.VOID',p1,p2))
++fun CONST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 55,(
++ParserData.MlyValue.VOID',p1,p2))
++fun VOLATILE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 56,(
++ParserData.MlyValue.VOID',p1,p2))
++fun IF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 57,(
++ParserData.MlyValue.VOID',p1,p2))
++fun THEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 58,(
++ParserData.MlyValue.VOID',p1,p2))
++fun ELSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 59,(
++ParserData.MlyValue.VOID',p1,p2))
++fun FOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 60,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 61,(
++ParserData.MlyValue.VOID',p1,p2))
++fun SWITCH (p1,p2) = Token.TOKEN (ParserData.LrTable.T 62,(
++ParserData.MlyValue.VOID',p1,p2))
++fun CASE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 63,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DEFAULT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 64,(
++ParserData.MlyValue.VOID',p1,p2))
++fun WHILE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 65,(
++ParserData.MlyValue.VOID',p1,p2))
++fun RETURN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 66,(
++ParserData.MlyValue.VOID',p1,p2))
++fun BREAK (p1,p2) = Token.TOKEN (ParserData.LrTable.T 67,(
++ParserData.MlyValue.VOID',p1,p2))
++fun CONTINUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 68,(
++ParserData.MlyValue.VOID',p1,p2))
++fun GOTO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 69,(
++ParserData.MlyValue.VOID',p1,p2))
++fun CHAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 70,(
++ParserData.MlyValue.VOID',p1,p2))
++fun DOUBLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 71,(
++ParserData.MlyValue.VOID',p1,p2))
++fun ENUM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 72,(
++ParserData.MlyValue.VOID',p1,p2))
++fun FLOAT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 73,(
++ParserData.MlyValue.VOID',p1,p2))
++fun INT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 74,(
++ParserData.MlyValue.VOID',p1,p2))
++fun LONG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 75,(
++ParserData.MlyValue.VOID',p1,p2))
++fun SHORT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 76,(
++ParserData.MlyValue.VOID',p1,p2))
++fun FRACTIONAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 77,(
++ParserData.MlyValue.VOID',p1,p2))
++fun SATURATE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 78,(
++ParserData.MlyValue.VOID',p1,p2))
++fun STRUCT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 79,(
++ParserData.MlyValue.VOID',p1,p2))
++fun UNION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 80,(
++ParserData.MlyValue.VOID',p1,p2))
++fun UNSIGNED (p1,p2) = Token.TOKEN (ParserData.LrTable.T 81,(
++ParserData.MlyValue.VOID',p1,p2))
++fun SIGNED (p1,p2) = Token.TOKEN (ParserData.LrTable.T 82,(
++ParserData.MlyValue.VOID',p1,p2))
++fun VOID (p1,p2) = Token.TOKEN (ParserData.LrTable.T 83,(
++ParserData.MlyValue.VOID',p1,p2))
++fun SIZEOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 84,(
++ParserData.MlyValue.VOID',p1,p2))
++fun TYPEDEF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 85,(
++ParserData.MlyValue.VOID',p1,p2))
++fun UNARY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 86,(
++ParserData.MlyValue.VOID',p1,p2))
++fun ELIPSIS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 87,(
++ParserData.MlyValue.VOID',p1,p2))
++fun TYPE_NAME (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 88,(
++ParserData.MlyValue.TYPE_NAME i,p1,p2))
++end
++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	2005-11-21 11:29:21.000000000 -0500
-+++ ckit-mlton/src/parser/grammar/c.lex.sml	2005-11-21 11:29:21.000000000 -0500
-@@ -1,3 +1,4 @@
+--- ckit/src/parser/grammar/c.lex.sml	1969-12-31 19:00:00.000000000 -0500
++++ ckit-mlton/src/parser/grammar/c.lex.sml	2006-05-02 23:00:53.000000000 -0400
+@@ -0,0 +1,1053 @@
 +type int = Int.int
- functor CLexFun(structure Tokens : C_TOKENS 
- 			 structure TokTable : TOKENTABLE 
- 			 sharing TokTable.Tokens = Tokens)=
-@@ -758,7 +759,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) 
++functor CLexFun(structure Tokens : C_TOKENS 
++			 structure TokTable : TOKENTABLE 
++			 sharing TokTable.Tokens = Tokens)=
++   struct
++    structure UserDeclarations =
++      struct
++(* Copyright (c) 1998 by Lucent Technologies *)
++
++(*
++ * The following replacement for c.lex should give correct (ANSI)
++ * In particular, we don't allow
++ * 
++ * char *t = "abd
++ * lkj";
++ * 
++ * GCC accepts this, but SGI cc does not. This program is not ANSI
++ * compliant.
++ *)
++
++type svalue = Tokens.svalue
++type pos = int
++type lexresult = (svalue,pos) Tokens.token
++type errWarn = {err: pos*pos*string->unit, warn: pos*pos*string->unit}
++type lexarg =  {comLevel : int ref, 
++                sourceMap : SourceMap.sourcemap,
++		charlist : string list ref,
++		stringstart : int ref,  (* start of current string or comment*)
++	        errWarn: errWarn}
++
++type arg = lexarg
++type ('a,'b) token = ('a,'b) Tokens.token
++
++fun ordof (s, i) = Char.ord (String.sub (s, i))
++fun dec (iRef : int ref) = iRef := (!iRef) - 1
++fun inc (iRef : int ref) = iRef := (!iRef) + 1
++fun chr i = String.str(Char.chr i)
++fun ord s = Char.ord(String.sub(s, 0))
++fun explode s = CharVector.foldr (fn (c, l) => str c :: l) [] s
++fun implode strList = String.concat strList
++fun hd [] = (print "c.lex: hd of empty\n";
++	     raise Empty)
++  | hd (h :: l)	= h
++
++val eof = fn ({comLevel,errWarn,sourceMap,stringstart,charlist}:lexarg) => 
++	   let val pos = Int.max(!stringstart+2, SourceMap.currPos sourceMap)
++	    in if !comLevel>0 then (#err errWarn) (!stringstart,pos, "unclosed comment" )
++		  	      else ();
++	       Tokens.EOF(pos,pos)
++	   end	
++fun addString (charlist,s:string) = charlist := s :: (!charlist)
++fun makeString charlist = (implode(rev(!charlist)) before charlist := nil)
++
++fun mkHexInt (s,a,b,errWarn:errWarn)=((case (StringCvt.scanString (LargeInt.scan StringCvt.HEX) s) of
++		  SOME i => i
++		| _ => ((#err errWarn)(a,b,"trouble in parsing int");Int.toLarge(0)))
++			handle OverFlow => ((#err errWarn)(a,b,"large int const");Int.toLarge(0)))
++
++fun mkHexChar (args as (s, a, b, errWarn:errWarn)) : int (* returns a character sized integer *) = 
++	let val i = mkHexInt args
++	in
++	  if (i>255) then 
++	    ((#warn errWarn) (a,b,"overflow in hexadecimal escape sequence");
++	    IntInf.toInt(i mod 256))
++	  else
++       	    IntInf.toInt i
++        end	
++
++fun mkOctInt (s,a,b,errWarn:errWarn)
++	= ((case (StringCvt.scanString (LargeInt.scan StringCvt.OCT) s) of
++		  SOME i => i
++		| _ => ((#err errWarn)(a,b,"trouble in parsing int");Int.toLarge(0)))
++			handle OverFlow => ((#err errWarn)(a,b,"large int const");Int.toLarge(0)))
++
++
++fun mkOctChar (args as (s, a, b, errWarn:errWarn)) (* returns a character sized integer *) = 
++	let val i = mkOctInt args
++	in
++	  if (i>255) then 
++	    ((#warn errWarn) (a,b,"overflow in octal escape sequence");
++	    IntInf.toInt(i mod 256))
++	  else
++       	    IntInf.toInt i
++        end	
++
++fun mkInt (s,a,b,errWarn:errWarn) = ((case (StringCvt.scanString (LargeInt.scan StringCvt.DEC) s) of
++		  SOME i => i
++		| _ => ((#err errWarn)(a,b,"trouble in parsing int");Int.toLarge(0)))
++			handle OverFlow => ((#err errWarn)(a,b,"large int const");Int.toLarge(0)))
++
++fun mkRealNum (s,a,b,errWarn:errWarn) = ((case (StringCvt.scanString Real.scan s) of
++		   SOME r => r
++		 | _ => ((#err errWarn)(a,b,"trouble in parsing real");0.0))
++			handle OverFlow => ((#err errWarn)(a,b,"large real const"); 0.0))
++
++val backslasha = 7
++
++fun special_char(c,fst,last,errWarn:errWarn) =
++		(case c of
++			"\\a" => 7
++		      | "\\b" => 8
++		      | "\\f" => 12
++		      | "\\n" => 10
++		      | "\\r" => 13
++		      | "\\t" => 9
++		      | "\\v" => 11
++	              | _ => ordof(c,1)
++	                      (* strictly speaking, should only handle
++                                \?, \\, \", \', but it is common
++                                to simply ignore slash, and just use next char *)
++		)
++
++
++(* Notes on lexer states:
++   INITIAL -- predefined start state and the default token state
++   S -- inside a string (entered from INTITAL with ")
++   C -- inside a comment (entered from INITIAL with /* )
++ *)
++
++
++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"
++),
++ (1, 
++"\007\007\007\007\007\007\007\007\007\095\097\007\095\007\007\007\
++\\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
++\\095\093\092\007\007\090\087\073\072\071\069\066\065\061\057\054\
++\\044\033\033\033\033\033\033\033\033\033\032\031\027\025\021\020\
++\\007\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\019\007\018\016\014\
++\\007\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\013\010\009\008\007\
++\\007"
++),
++ (2, 
++"\007\007\007\007\007\007\007\007\007\101\097\007\101\007\007\007\
++\\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\
++\\101\093\092\098\007\090\087\073\072\071\069\066\065\061\057\054\
++\\044\033\033\033\033\033\033\033\033\033\032\031\027\025\021\020\
++\\007\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\019\007\018\016\014\
++\\007\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\013\010\009\008\007\
++\\007"
++),
++ (3, 
++"\103\103\103\103\103\103\103\103\103\106\097\103\106\103\103\103\
++\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
++\\106\103\103\103\103\103\103\103\103\103\104\103\103\103\103\103\
++\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
++\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
++\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
++\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
++\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
++\\103"
++),
++ (4, 
++"\103\103\103\103\103\103\103\103\103\108\097\103\108\103\103\103\
++\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
++\\108\103\103\107\103\103\103\103\103\103\104\103\103\103\103\103\
++\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
++\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
++\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
++\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
++\\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\103\
++\\103"
++),
++ (5, 
++"\109\109\109\109\109\109\109\109\109\109\122\109\109\109\109\109\
++\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
++\\109\109\121\109\109\109\109\109\109\109\109\109\109\109\109\109\
++\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
++\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
++\\109\109\109\109\109\109\109\109\109\109\109\109\110\109\109\109\
++\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
++\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
++\\109"
++),
++ (10, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\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\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\011\000\000\000\
++\\000"
++),
++ (14, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\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\015\015\015\015\015\015\015\015\015\000\000\000\000\000\000\
++\\000\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
++\\015\015\015\015\015\015\015\015\015\015\015\000\000\000\000\015\
++\\000\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\
++\\015\015\015\015\015\015\015\015\015\015\015\000\000\000\000\000\
++\\000"
++),
++ (16, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\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\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (21, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\024\022\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (22, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (25, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\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\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (27, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\029\028\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (29, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\030\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (33, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\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\000\
++\\041\041\041\041\041\041\041\041\041\041\000\000\000\000\000\000\
++\\000\000\000\000\000\037\000\000\000\000\000\000\036\000\000\000\
++\\000\000\000\000\000\034\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\037\000\000\000\000\000\000\036\000\000\000\
++\\000\000\000\000\000\034\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (34, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\035\000\000\000\
++\\000\000\000\000\000\035\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\035\000\000\000\
++\\000\000\000\000\000\035\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (37, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\040\000\040\000\000\
++\\038\038\038\038\038\038\038\038\038\038\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (38, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\038\038\038\038\038\038\038\038\038\038\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\039\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\039\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (40, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\038\038\038\038\038\038\038\038\038\038\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (42, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\043\043\043\043\043\043\043\043\043\043\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (43, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\043\043\043\043\043\043\043\043\043\043\000\000\000\000\000\000\
++\\000\000\000\000\000\037\000\000\000\000\000\000\039\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\039\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (44, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\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\000\
++\\050\050\050\050\050\050\050\050\049\049\000\000\000\000\000\000\
++\\000\000\000\000\000\037\000\000\000\000\000\000\036\000\000\000\
++\\000\000\000\000\000\034\000\000\045\000\000\000\000\000\000\000\
++\\000\000\000\000\000\037\000\000\000\000\000\000\036\000\000\000\
++\\000\000\000\000\000\034\000\000\045\000\000\000\000\000\000\000\
++\\000"
++),
++ (45, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\000\
++\\000\046\046\046\046\046\046\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\046\046\046\046\046\046\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (46, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\046\046\046\046\046\046\046\046\046\046\000\000\000\000\000\000\
++\\000\046\046\046\046\046\046\000\000\000\000\000\047\000\000\000\
++\\000\000\000\000\000\047\000\000\000\000\000\000\000\000\000\000\
++\\000\046\046\046\046\046\046\000\000\000\000\000\047\000\000\000\
++\\000\000\000\000\000\047\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (47, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\048\000\000\000\
++\\000\000\000\000\000\048\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\048\000\000\000\
++\\000\000\000\000\000\048\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (49, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\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\000\
++\\049\049\049\049\049\049\049\049\049\049\000\000\000\000\000\000\
++\\000\000\000\000\000\037\000\000\000\000\000\000\039\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\039\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (50, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\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\000\
++\\050\050\050\050\050\050\050\050\049\049\000\000\000\000\000\000\
++\\000\000\000\000\000\037\000\000\000\000\000\000\053\000\000\000\
++\\000\000\000\000\000\051\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\037\000\000\000\000\000\000\053\000\000\000\
++\\000\000\000\000\000\051\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (51, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\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\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\052\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (54, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\056\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\055\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (57, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\059\000\
++\\058\058\058\058\058\058\058\058\058\058\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (58, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\058\058\058\058\058\058\058\058\058\058\000\000\000\000\000\000\
++\\000\000\000\000\000\037\000\000\000\000\000\000\039\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\039\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (59, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\060\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (61, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\064\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\063\062\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (66, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\068\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\067\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (69, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\070\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (73, 
++"\074\074\074\074\074\074\074\074\074\074\000\074\074\074\074\074\
++\\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\
++\\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\
++\\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\
++\\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\
++\\074\074\074\074\074\074\074\074\074\074\074\074\076\074\074\074\
++\\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\
++\\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\
++\\074"
++),
++ (74, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\075\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (76, 
++"\077\077\077\077\077\077\077\077\077\077\000\077\077\077\077\077\
++\\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\
++\\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\
++\\082\082\082\082\082\082\082\082\077\077\077\077\077\077\077\077\
++\\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\
++\\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\
++\\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\077\
++\\077\077\077\077\077\077\077\077\079\077\077\077\077\077\077\077\
++\\077"
++),
++ (77, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\078\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (79, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\078\000\000\000\000\000\000\000\000\
++\\080\080\080\080\080\080\080\080\080\080\000\000\000\000\000\000\
++\\000\080\080\080\080\080\080\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\080\080\080\080\080\080\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (80, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\081\000\000\000\000\000\000\000\000\
++\\080\080\080\080\080\080\080\080\080\080\000\000\000\000\000\000\
++\\000\080\080\080\080\080\080\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\080\080\080\080\080\080\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (82, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\086\000\000\000\000\000\000\000\000\
++\\083\083\083\083\083\083\083\083\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (83, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\085\000\000\000\000\000\000\000\000\
++\\084\084\084\084\084\084\084\084\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (84, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\085\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (87, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\089\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\088\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (90, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\091\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (93, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\094\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (95, 
++"\000\000\000\000\000\000\000\000\000\096\000\000\096\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\096\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (98, 
++"\099\099\099\099\099\099\099\099\099\099\100\099\099\099\099\099\
++\\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\
++\\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\
++\\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\
++\\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\
++\\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\
++\\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\
++\\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\099\
++\\099"
++),
++ (101, 
++"\000\000\000\000\000\000\000\000\000\102\000\000\102\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\102\000\000\099\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (104, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\105\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (109, 
++"\109\109\109\109\109\109\109\109\109\109\000\109\109\109\109\109\
++\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
++\\109\109\000\109\109\109\109\109\109\109\109\109\109\109\109\109\
++\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
++\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
++\\109\109\109\109\109\109\109\109\109\109\109\109\000\109\109\109\
++\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
++\\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\109\
++\\109"
++),
++ (110, 
++"\111\111\111\111\111\111\111\111\111\111\120\111\111\111\111\111\
++\\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\
++\\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\
++\\119\116\116\116\116\116\116\116\111\111\111\111\111\111\111\111\
++\\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\
++\\111\111\111\111\111\111\111\111\111\111\111\111\111\111\114\111\
++\\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\111\
++\\111\111\111\111\111\111\111\111\112\111\111\111\111\111\111\111\
++\\111"
++),
++ (112, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\113\113\113\113\113\113\113\113\113\113\000\000\000\000\000\000\
++\\000\113\113\113\113\113\113\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\113\113\113\113\113\113\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (114, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\115\115\115\115\115\115\115\115\115\115\115\115\115\115\115\115\
++\\115\115\115\115\115\115\115\115\115\115\115\115\115\115\115\115\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (116, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\117\117\117\117\117\117\117\117\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (117, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\118\118\118\118\118\118\118\118\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\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 
 +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 
-@@ -901,28 +902,29 @@
- 	exception LexerError (* raised if illegal leaf action tried *)
- end
- 
--fun makeLexer yyinput =
--let	val yygone0=1
++  | 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 = [(N 10)], trans = 1},
++{fin = [(N 10)], trans = 2},
++{fin = [(N 10)], trans = 3},
++{fin = [(N 10)], trans = 4},
++{fin = [(N 26)], trans = 5},
++{fin = [(N 26)], trans = 5},
++{fin = [(N 227)], trans = 0},
++{fin = [(N 96),(N 227)], trans = 0},
++{fin = [(N 65),(N 227)], trans = 0},
++{fin = [(N 100),(N 227)], trans = 10},
++{fin = [(N 157)], trans = 0},
++{fin = [(N 136)], trans = 0},
++{fin = [(N 63),(N 227)], trans = 0},
++{fin = [(N 225),(N 227)], trans = 14},
++{fin = [(N 225)], trans = 14},
++{fin = [(N 79),(N 227)], trans = 16},
++{fin = [(N 124)], trans = 0},
++{fin = [(N 61),(N 227)], trans = 0},
++{fin = [(N 59),(N 227)], trans = 0},
++{fin = [(N 98),(N 227)], trans = 0},
++{fin = [(N 151),(N 227)], trans = 21},
++{fin = [(N 166)], trans = 22},
++{fin = [(N 147)], trans = 0},
++{fin = [(N 110)], trans = 0},
++{fin = [(N 115),(N 227)], trans = 25},
++{fin = [(N 113)], trans = 0},
++{fin = [(N 149),(N 227)], trans = 27},
++{fin = [(N 107)], trans = 0},
++{fin = [(N 163)], trans = 29},
++{fin = [(N 143)], trans = 0},
++{fin = [(N 53),(N 227)], trans = 0},
++{fin = [(N 51),(N 227)], trans = 0},
++{fin = [(N 185),(N 199),(N 227)], trans = 33},
++{fin = [(N 185)], trans = 34},
++{fin = [(N 185)], trans = 0},
++{fin = [(N 185),(N 199)], trans = 34},
++{fin = [], trans = 37},
++{fin = [(N 199)], trans = 38},
++{fin = [(N 199)], trans = 0},
++{fin = [], trans = 40},
++{fin = [(N 185),(N 199)], trans = 33},
++{fin = [], trans = 42},
++{fin = [(N 199)], trans = 43},
++{fin = [(N 185),(N 199),(N 227)], trans = 44},
++{fin = [], trans = 45},
++{fin = [(N 179)], trans = 46},
++{fin = [(N 179)], trans = 47},
++{fin = [(N 179)], trans = 0},
++{fin = [(N 199)], trans = 49},
++{fin = [(N 172),(N 199)], trans = 50},
++{fin = [(N 172)], trans = 51},
++{fin = [(N 172)], trans = 0},
++{fin = [(N 172),(N 199)], trans = 51},
++{fin = [(N 94),(N 227)], trans = 54},
++{fin = [(N 133)], trans = 0},
++{fin = [(N 13)], trans = 0},
++{fin = [(N 67),(N 227)], trans = 57},
++{fin = [(N 199)], trans = 58},
++{fin = [], trans = 59},
++{fin = [(N 71)], trans = 0},
++{fin = [(N 83),(N 227)], trans = 61},
++{fin = [(N 92)], trans = 0},
++{fin = [(N 121)], trans = 0},
++{fin = [(N 89)], trans = 0},
++{fin = [(N 73),(N 227)], trans = 0},
++{fin = [(N 81),(N 227)], trans = 66},
++{fin = [(N 118)], trans = 0},
++{fin = [(N 86)], trans = 0},
++{fin = [(N 75),(N 227)], trans = 69},
++{fin = [(N 130)], trans = 0},
++{fin = [(N 57),(N 227)], trans = 0},
++{fin = [(N 55),(N 227)], trans = 0},
++{fin = [(N 227)], trans = 73},
++{fin = [], trans = 74},
++{fin = [(N 217)], trans = 0},
++{fin = [], trans = 76},
++{fin = [], trans = 77},
++{fin = [(N 222)], trans = 0},
++{fin = [], trans = 79},
++{fin = [], trans = 80},
++{fin = [(N 213)], trans = 0},
++{fin = [], trans = 82},
++{fin = [], trans = 83},
++{fin = [], trans = 84},
++{fin = [(N 206)], trans = 0},
++{fin = [(N 206),(N 222)], trans = 0},
++{fin = [(N 102),(N 227)], trans = 87},
++{fin = [(N 139)], trans = 0},
++{fin = [(N 160)], trans = 0},
++{fin = [(N 104),(N 227)], trans = 90},
++{fin = [(N 127)], trans = 0},
++{fin = [(N 20),(N 227)], trans = 0},
++{fin = [(N 77),(N 227)], trans = 93},
++{fin = [(N 154)], trans = 0},
++{fin = [(N 10),(N 227)], trans = 95},
++{fin = [(N 10)], trans = 95},
++{fin = [(N 7)], trans = 0},
++{fin = [(N 227)], trans = 98},
++{fin = [], trans = 98},
++{fin = [(N 5)], trans = 0},
++{fin = [(N 10),(N 227)], trans = 101},
++{fin = [(N 10)], trans = 101},
++{fin = [(N 18)], trans = 0},
++{fin = [(N 18)], trans = 104},
++{fin = [(N 16)], trans = 0},
++{fin = [(N 10),(N 18)], trans = 95},
++{fin = [(N 18)], trans = 98},
++{fin = [(N 10),(N 18)], trans = 101},
++{fin = [(N 26)], trans = 109},
++{fin = [], trans = 110},
++{fin = [(N 49)], trans = 0},
++{fin = [(N 49)], trans = 112},
++{fin = [(N 42)], trans = 112},
++{fin = [(N 49)], trans = 114},
++{fin = [(N 46)], trans = 0},
++{fin = [(N 49)], trans = 116},
++{fin = [], trans = 117},
++{fin = [(N 37)], trans = 0},
++{fin = [(N 32),(N 49)], trans = 116},
++{fin = [(N 29)], trans = 0},
++{fin = [(N 22)], trans = 0},
++{fin = [(N 24)], trans = 0}])
++end
++structure StartStates =
++	struct
++	datatype yystartstate = STARTSTATE of int
++
++(* start state definitions *)
++
++val C = STARTSTATE 3;
++val INITIAL = STARTSTATE 1;
++val S = STARTSTATE 5;
++
++end
++type result = UserDeclarations.lexresult
++	exception LexerError (* raised if illegal leaf action tried *)
++end
++
 +type int = Int.int
 +fun makeLexer (yyinput: int -> string) =
 +let	val yygone0:int= ~1
- 	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 yyb = ref "\n" 		(* 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 yybegin = ref 1		(*Current 'start state' for lexer *)
++	val yydone = ref false		(* eof found yet? *)
 +	val yybegin: int ref = ref 1		(*Current 'start state' for lexer *)
- 
- 	val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
- 		 yybegin := x
- 
- fun lex (yyarg as ({comLevel,errWarn,sourceMap,charlist,stringstart})) =
- let fun continue() : Internal.result = 
--  let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) =
--	let fun action (i,nil) = raise LexError
++
++	val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
++		 yybegin := x
++
++fun lex (yyarg as ({comLevel,errWarn,sourceMap,charlist,stringstart})) =
++let fun continue() : Internal.result = 
 +  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 => 
--			(let fun yymktext() = substring(!yyb,i0,i-i0)
--			     val yypos = i0+ !yygone
++	| action (i,nil::l) = action (i-1,l)
++	| action (i,(node::acts)::l) =
++		case node of
++		    Internal.N yyk => 
 +			(let fun yymktext() = String.substring(!yyb,i0,i-i0)
 +			     val yypos: int = i0+ !yygone
- 			open UserDeclarations Internal.StartStates
-  in (yybufpos := i; case yyk of 
- 
-@@ -1018,30 +1020,30 @@
- 
- 		) end )
- 
--	val {fin,trans} = Unsafe.Vector.sub(Internal.tab, s)
++			open UserDeclarations Internal.StartStates
++ in (yybufpos := i; case yyk of 
++
++			(* Application actions *)
++
++  10 => (continue())
++| 100 => (Tokens.BAR(yypos,yypos+1))
++| 102 => (Tokens.AMP(yypos,yypos+1))
++| 104 => (Tokens.PERCENT(yypos,yypos+1))
++| 107 => (Tokens.LTE(yypos,yypos+2))
++| 110 => (Tokens.GTE(yypos,yypos+2))
++| 113 => (Tokens.EQ(yypos,yypos+2))
++| 115 => (Tokens.EQUALS(yypos,yypos+1))
++| 118 => (Tokens.PLUSEQUALS(yypos,yypos+2))
++| 121 => (Tokens.MINUSEQUALS(yypos,yypos+2))
++| 124 => (Tokens.XOREQUALS(yypos,yypos+2))
++| 127 => (Tokens.MODEQUALS(yypos,yypos+2))
++| 13 => (YYBEGIN C; continue())
++| 130 => (Tokens.TIMESEQUALS(yypos,yypos+2))
++| 133 => (Tokens.DIVEQUALS(yypos,yypos+2))
++| 136 => (Tokens.OREQUALS(yypos,yypos+2))
++| 139 => (Tokens.ANDEQUALS(yypos,yypos+2))
++| 143 => (Tokens.LSHIFTEQUALS(yypos,yypos+3))
++| 147 => (Tokens.RSHIFTEQUALS(yypos,yypos+3))
++| 149 => (Tokens.LT(yypos,yypos+1))
++| 151 => (Tokens.GT(yypos,yypos+1))
++| 154 => (Tokens.NEQ(yypos,yypos+2))
++| 157 => (Tokens.OR(yypos,yypos+2))
++| 16 => (YYBEGIN INITIAL; continue())
++| 160 => (Tokens.AND(yypos,yypos+2))
++| 163 => (Tokens.LSHIFT(yypos,yypos+2))
++| 166 => (Tokens.RSHIFT(yypos,yypos+2))
++| 172 => let val yytext=yymktext() in Tokens.DECNUM(mkOctInt(yytext,yypos,yypos+size(yytext),errWarn),yypos, yypos+size(yytext)) end
++| 179 => let val yytext=yymktext() in Tokens.DECNUM(mkHexInt(yytext,yypos,yypos+size(yytext),errWarn),yypos, yypos+size(yytext)) end
++| 18 => (continue())
++| 185 => let val yytext=yymktext() in Tokens.DECNUM(mkInt (yytext,yypos,yypos+size(yytext),errWarn), yypos,yypos+size(yytext)) end
++| 199 => let val yytext=yymktext() in Tokens.REALNUM(mkRealNum(yytext,yypos,yypos+size(yytext),errWarn), yypos, yypos
+++ size(yytext)) end
++| 20 => (charlist := [""]; stringstart := yypos; YYBEGIN S; continue())
++| 206 => let val yytext=yymktext() in let val s = substring(yytext, 2, size(yytext)-3)
++				     in Tokens.CCONST(IntInf.fromInt (mkOctChar(s,yypos,yypos+size(yytext),errWarn)),
++						      yypos,
++					      yypos+size(yytext))
++	                             end end
++| 213 => let val yytext=yymktext() in let val s = substring(yytext, 3, size(yytext)-4)
++				     in Tokens.CCONST(IntInf.fromInt (mkHexChar(s,yypos,yypos+size(yytext),errWarn)),
++						      yypos,
++						      yypos+size(yytext))
++	                             end end
++| 217 => let val yytext=yymktext() in let val cval = ordof(yytext,1)
++	                            in Tokens.CCONST(Int.toLarge cval,yypos,yypos+size(yytext))
++                                    end end
++| 22 => (YYBEGIN INITIAL;Tokens.STRING(makeString charlist,!stringstart,yypos+1))
++| 222 => let val yytext=yymktext() in Tokens.CCONST(IntInf.fromInt(special_char(substring(yytext,1,size(yytext)-2),yypos,yypos+size(yytext),errWarn)), yypos, yypos+size(yytext)) end
++| 225 => let val yytext=yymktext() in TokTable.checkToken(yytext,yypos) end
++| 227 => (continue())
++| 24 => ((#err errWarn) (!stringstart,yypos,"unclosed string");
++		    SourceMap.newline sourceMap yypos;
++		    YYBEGIN INITIAL; Tokens.STRING(makeString charlist,!stringstart,yypos))
++| 26 => let val yytext=yymktext() in addString(charlist,yytext); continue() end
++| 29 => (SourceMap.newline sourceMap yypos; continue())
++| 32 => (addString(charlist,chr 0);continue())
++| 37 => let val yytext=yymktext() in addString(charlist, chr(mkOctChar(substring(yytext, 1, size(yytext)-1), yypos, yypos+size(yytext), errWarn))); continue() end
++| 42 => let val yytext=yymktext() in addString(charlist, chr(mkHexChar(substring(yytext, 2, size(yytext)-2), yypos, yypos+size(yytext), errWarn))); continue() end
++| 46 => let val yytext=yymktext() in addString(charlist,chr(ordof(yytext,2)-ord("@"))); continue() end
++| 49 => let val yytext=yymktext() in addString(charlist, chr(special_char(yytext, yypos, yypos+size(yytext), errWarn))); continue() end
++| 5 => let val yytext=yymktext() in SourceMap.parseDirective sourceMap 
++                         (yypos,yytext); continue() end
++| 51 => (Tokens.COLON(yypos,yypos+1))
++| 53 => (Tokens.SEMICOLON(yypos,yypos+1))
++| 55 => (Tokens.LPAREN(yypos,yypos+1))
++| 57 => (Tokens.RPAREN(yypos,yypos+1))
++| 59 => (Tokens.LBRACE(yypos,yypos+1))
++| 61 => (Tokens.RBRACE(yypos,yypos+1))
++| 63 => (Tokens.LCURLY(yypos,yypos+1))
++| 65 => (Tokens.RCURLY(yypos,yypos+1))
++| 67 => (Tokens.DOT(yypos,yypos+1))
++| 7 => (SourceMap.newline sourceMap yypos; continue())
++| 71 => (Tokens.ELIPSIS(yypos,yypos+3))
++| 73 => (Tokens.COMMA(yypos,yypos+1))
++| 75 => (Tokens.TIMES(yypos,yypos+1))
++| 77 => (Tokens.BANG(yypos,yypos+1))
++| 79 => (Tokens.HAT(yypos,yypos+1))
++| 81 => (Tokens.PLUS(yypos,yypos+1))
++| 83 => (Tokens.MINUS(yypos,yypos+1))
++| 86 => (Tokens.INC(yypos,yypos+2))
++| 89 => (Tokens.DEC(yypos,yypos+2))
++| 92 => (Tokens.ARROW(yypos,yypos+1))
++| 94 => (Tokens.DIVIDE(yypos,yypos+1))
++| 96 => (Tokens.TILDE(yypos,yypos+1))
++| 98 => (Tokens.QUESTION(yypos,yypos+1))
++| _ => raise Internal.LexerError
++
++		) end )
++
 +	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
--	    in if (size newchars)=0
++	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 (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
--		     else yyb := substring(!yyb,i0,l-i0)^newchars;
++		  then (yydone := true;
++		        if (l=i0) then UserDeclarations.eof yyarg
++		                  else action(l,NewAcceptingLeaves))
++		  else (if i0=l then yyb := newchars
 +		     else yyb := String.substring(!yyb,i0,l-i0)^newchars;
- 		     yygone := !yygone+i0;
--		     yybl := size (!yyb);
++		     yygone := !yygone+i0;
 +		     yybl := String.size (!yyb);
- 		     scan (s,AcceptingLeaves,l-i0,0))
- 	    end
--	  else let val NewChar = Char.ord(Unsafe.CharVector.sub(!yyb,l))
++		     scan (s,AcceptingLeaves,l-i0,0))
++	    end
 +	  else let val NewChar = Char.ord (CharVector.sub (!yyb,l))
- 		val NewChar = if NewChar<128 then NewChar else 128
--		val NewState = Char.ord(Unsafe.CharVector.sub(trans,NewChar))
++		val NewChar = if NewChar<128 then NewChar else 128
 +		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
--	val start= if substring(!yyb,!yybufpos-1,1)="\n"
++		in if NewState=0 then action(l,NewAcceptingLeaves)
++		else scan(NewState,NewAcceptingLeaves,l+1,i0)
++	end
++	end
 +	val start= if String.substring(!yyb,!yybufpos-1,1)="\n"
- then !yybegin+1 else !yybegin
- 	in scan(start,nil,!yybufpos,!yybufpos)
-     end
++then !yybegin+1 else !yybegin
++	in scan(start,nil,!yybufpos,!yybufpos)
++    end
++in continue end
++  in lex
++  end
++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-17 19:41:36.000000000 -0400
++++ ckit-mlton/src/parser/parse-tree-sig.sml	2006-05-02 22:38:21.000000000 -0400
 @@ -27,8 +27,10 @@
      | ModAssign | XorAssign | OrAssign | AndAssign
      | LshiftAssign | RshiftAssign 
@@ -1543,7 +19964,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-17 19:41:36.000000000 -0400
++++ ckit-mlton/src/parser/parse-tree.sml	2006-05-02 22:38:21.000000000 -0400
 @@ -23,8 +23,10 @@
      | ModAssign | XorAssign | OrAssign | AndAssign
      | LshiftAssign | RshiftAssign 

Modified: mlton/branches/on-20050822-x86_64-branch/lib/ckit-lib/ckit.tgz
===================================================================
(Binary files differ)

Modified: mlton/branches/on-20050822-x86_64-branch/lib/mlrisc-lib/MLRISC.patch
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/lib/mlrisc-lib/MLRISC.patch	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/lib/mlrisc-lib/MLRISC.patch	2006-05-20 02:45:54 UTC (rev 4553)
@@ -2179,7 +2179,7 @@
    val divu : {rs:CB.cell, rt:CB.cell, rd:CB.cell} -> I.instruction list
    val mulo : {rs:CB.cell, rt:CB.cell, rd:CB.cell} -> I.instruction list
 diff -Naur MLRISC/hppa/mltree/hppa.sml MLRISC-mlton/hppa/mltree/hppa.sml
---- MLRISC/hppa/mltree/hppa.sml	2004-11-20 09:01:41.000000000 -0500
+--- MLRISC/hppa/mltree/hppa.sml	2004-11-17 16:07:34.000000000 -0500
 +++ MLRISC-mlton/hppa/mltree/hppa.sml	2006-03-04 11:14:21.000000000 -0500
 @@ -14,14 +14,106 @@
  
@@ -2524,7 +2524,7 @@
           val clear  : 'a array -> unit 
 diff -Naur MLRISC/mlb/ALPHA.mlb MLRISC-mlton/mlb/ALPHA.mlb
 --- MLRISC/mlb/ALPHA.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlb/ALPHA.mlb	2006-03-30 21:16:50.000000000 -0500
++++ MLRISC-mlton/mlb/ALPHA.mlb	2006-05-02 23:01:12.000000000 -0400
 @@ -0,0 +1,476 @@
 +
 +ann
@@ -3004,7 +3004,7 @@
 +end
 diff -Naur MLRISC/mlb/Control.mlb MLRISC-mlton/mlb/Control.mlb
 --- MLRISC/mlb/Control.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlb/Control.mlb	2006-03-30 21:16:50.000000000 -0500
++++ MLRISC-mlton/mlb/Control.mlb	2006-05-02 23:01:12.000000000 -0400
 @@ -0,0 +1,104 @@
 +
 +ann
@@ -3112,7 +3112,7 @@
 +end
 diff -Naur MLRISC/mlb/Graphs.mlb MLRISC-mlton/mlb/Graphs.mlb
 --- MLRISC/mlb/Graphs.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlb/Graphs.mlb	2006-03-30 21:16:51.000000000 -0500
++++ MLRISC-mlton/mlb/Graphs.mlb	2006-05-02 23:01:12.000000000 -0400
 @@ -0,0 +1,708 @@
 +
 +ann
@@ -3824,7 +3824,7 @@
 +end
 diff -Naur MLRISC/mlb/HPPA.mlb MLRISC-mlton/mlb/HPPA.mlb
 --- MLRISC/mlb/HPPA.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlb/HPPA.mlb	2006-03-30 21:16:52.000000000 -0500
++++ MLRISC-mlton/mlb/HPPA.mlb	2006-05-02 23:01:13.000000000 -0400
 @@ -0,0 +1,494 @@
 +
 +ann
@@ -4322,7 +4322,7 @@
 +end
 diff -Naur MLRISC/mlb/IA32.mlb MLRISC-mlton/mlb/IA32.mlb
 --- MLRISC/mlb/IA32.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlb/IA32.mlb	2006-03-30 21:16:53.000000000 -0500
++++ MLRISC-mlton/mlb/IA32.mlb	2006-05-02 23:01:13.000000000 -0400
 @@ -0,0 +1,781 @@
 +
 +ann
@@ -5107,7 +5107,7 @@
 +end
 diff -Naur MLRISC/mlb/IA32-Peephole.mlb MLRISC-mlton/mlb/IA32-Peephole.mlb
 --- MLRISC/mlb/IA32-Peephole.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlb/IA32-Peephole.mlb	2006-03-30 21:16:53.000000000 -0500
++++ MLRISC-mlton/mlb/IA32-Peephole.mlb	2006-05-02 23:01:13.000000000 -0400
 @@ -0,0 +1,60 @@
 +
 +ann
@@ -5171,7 +5171,7 @@
 +end
 diff -Naur MLRISC/mlb/Lib.mlb MLRISC-mlton/mlb/Lib.mlb
 --- MLRISC/mlb/Lib.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlb/Lib.mlb	2006-03-30 21:16:54.000000000 -0500
++++ MLRISC-mlton/mlb/Lib.mlb	2006-05-02 23:01:14.000000000 -0400
 @@ -0,0 +1,267 @@
 +
 +ann
@@ -5442,7 +5442,7 @@
 +end
 diff -Naur MLRISC/mlb/MLRISC.mlb MLRISC-mlton/mlb/MLRISC.mlb
 --- MLRISC/mlb/MLRISC.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlb/MLRISC.mlb	2006-03-30 21:16:56.000000000 -0500
++++ MLRISC-mlton/mlb/MLRISC.mlb	2006-05-02 23:01:15.000000000 -0400
 @@ -0,0 +1,1705 @@
 +
 +ann
@@ -7151,7 +7151,7 @@
 +end
 diff -Naur MLRISC/mlb/MLTREE.mlb MLRISC-mlton/mlb/MLTREE.mlb
 --- MLRISC/mlb/MLTREE.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlb/MLTREE.mlb	2006-03-30 21:16:57.000000000 -0500
++++ MLRISC-mlton/mlb/MLTREE.mlb	2006-05-02 23:01:15.000000000 -0400
 @@ -0,0 +1,213 @@
 +
 +ann
@@ -7368,7 +7368,7 @@
 +end
 diff -Naur MLRISC/mlb/Peephole.mlb MLRISC-mlton/mlb/Peephole.mlb
 --- MLRISC/mlb/Peephole.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlb/Peephole.mlb	2006-03-30 21:16:57.000000000 -0500
++++ MLRISC-mlton/mlb/Peephole.mlb	2006-05-02 23:01:15.000000000 -0400
 @@ -0,0 +1,61 @@
 +
 +ann
@@ -7433,7 +7433,7 @@
 +end
 diff -Naur MLRISC/mlb/PPC.mlb MLRISC-mlton/mlb/PPC.mlb
 --- MLRISC/mlb/PPC.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlb/PPC.mlb	2006-03-30 21:16:57.000000000 -0500
++++ MLRISC-mlton/mlb/PPC.mlb	2006-05-02 23:01:15.000000000 -0400
 @@ -0,0 +1,575 @@
 +
 +ann
@@ -8012,7 +8012,7 @@
 +end
 diff -Naur MLRISC/mlb/RA.mlb MLRISC-mlton/mlb/RA.mlb
 --- MLRISC/mlb/RA.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlb/RA.mlb	2006-03-30 21:16:58.000000000 -0500
++++ MLRISC-mlton/mlb/RA.mlb	2006-05-02 23:01:16.000000000 -0400
 @@ -0,0 +1,152 @@
 +
 +ann
@@ -8168,7 +8168,7 @@
 +end
 diff -Naur MLRISC/mlb/SPARC.mlb MLRISC-mlton/mlb/SPARC.mlb
 --- MLRISC/mlb/SPARC.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlb/SPARC.mlb	2006-03-30 21:16:58.000000000 -0500
++++ MLRISC-mlton/mlb/SPARC.mlb	2006-05-02 23:01:16.000000000 -0400
 @@ -0,0 +1,540 @@
 +
 +ann
@@ -8712,7 +8712,7 @@
 +end
 diff -Naur MLRISC/mlb/Visual.mlb MLRISC-mlton/mlb/Visual.mlb
 --- MLRISC/mlb/Visual.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlb/Visual.mlb	2006-03-30 21:16:59.000000000 -0500
++++ MLRISC-mlton/mlb/Visual.mlb	2006-05-02 23:01:16.000000000 -0400
 @@ -0,0 +1,252 @@
 +
 +ann
@@ -8968,7 +8968,7 @@
 +end
 diff -Naur MLRISC/mlrisc-lib.mlb MLRISC-mlton/mlrisc-lib.mlb
 --- MLRISC/mlrisc-lib.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ MLRISC-mlton/mlrisc-lib.mlb	2006-03-30 21:16:59.000000000 -0500
++++ MLRISC-mlton/mlrisc-lib.mlb	2006-05-02 23:01:16.000000000 -0400
 @@ -0,0 +1,17 @@
 +(* DO NOT USE.  Only suitable for type-checking purposes. *)
 +local
@@ -9435,7 +9435,7 @@
         and fext   = (stm, rexp, fexp, ccexp) Extension.fx
         and ccext  = (stm, rexp, fexp, ccexp) Extension.ccx
 diff -Naur MLRISC/mltree/mltree-utils.sml MLRISC-mlton/mltree/mltree-utils.sml
---- MLRISC/mltree/mltree-utils.sml	2004-11-20 09:01:42.000000000 -0500
+--- MLRISC/mltree/mltree-utils.sml	2004-10-30 12:02:13.000000000 -0400
 +++ MLRISC-mlton/mltree/mltree-utils.sml	2006-03-04 11:14:21.000000000 -0500
 @@ -518,9 +518,10 @@
  
@@ -9608,7 +9608,7 @@
  	 | I.ROTATEI{sh, ...} => error "sdiSize:ROTATE"
  	 | I.COMPARE{cmp, rb, ...} => 
 diff -Naur MLRISC/ppc/c-calls/ppc-macosx.sml MLRISC-mlton/ppc/c-calls/ppc-macosx.sml
---- MLRISC/ppc/c-calls/ppc-macosx.sml	2005-02-11 12:30:17.000000000 -0500
+--- MLRISC/ppc/c-calls/ppc-macosx.sml	2005-02-10 18:53:53.000000000 -0500
 +++ MLRISC-mlton/ppc/c-calls/ppc-macosx.sml	2006-03-04 11:14:21.000000000 -0500
 @@ -277,7 +277,9 @@
  		      assignFPR (tys, offset, availGPRs, availFPRs, layout)
@@ -10078,7 +10078,7 @@
  struct
    structure I = PPCInstr
 diff -Naur MLRISC/ppc/mltree/ppc.sml MLRISC-mlton/ppc/mltree/ppc.sml
---- MLRISC/ppc/mltree/ppc.sml	2004-12-16 20:26:53.000000000 -0500
+--- MLRISC/ppc/mltree/ppc.sml	2004-12-13 15:09:39.000000000 -0500
 +++ MLRISC-mlton/ppc/mltree/ppc.sml	2006-03-04 11:14:21.000000000 -0500
 @@ -10,10 +10,76 @@
  
@@ -12196,6 +12196,39284 @@
                    | _ => (cond,a,b)
            in  if V9 then
                   branchV9(cond,a,b,lab,an)
+diff -Naur MLRISC/Tools/Parser/mdl.grm.desc MLRISC-mlton/Tools/Parser/mdl.grm.desc
+--- MLRISC/Tools/Parser/mdl.grm.desc	1969-12-31 19:00:00.000000000 -0500
++++ MLRISC-mlton/Tools/Parser/mdl.grm.desc	2004-10-26 12:11:55.000000000 -0400
+@@ -0,0 +1,28165 @@
++31 shift/reduce conflicts
++5 rules not reduced
++
++warning: rule <mldecls : > will never be reduced
++warning: rule <mldecls : mldecl mldecls > will never be reduced
++warning: rule <scopedmldecls : newScope mldecls oldScope > will never be reduced
++warning: rule <branching : BRANCHING FORWARDS > will never be reduced
++warning: rule <branching : BRANCHING BACKWARDS > will never be reduced
++error:  state 126: shift/reduce conflict (shift SYMBOL, reduce by rule 311)
++error:  state 126: shift/reduce conflict (shift ID, reduce by rule 311)
++error:  state 126: shift/reduce conflict (shift CELLSET, reduce by rule 311)
++error:  state 126: shift/reduce conflict (shift NOT, reduce by rule 311)
++error:  state 126: shift/reduce conflict (shift DEREF, reduce by rule 311)
++error:  state 126: shift/reduce conflict (shift TIMES, reduce by rule 311)
++error:  state 262: shift/reduce conflict (shift SYMBOL, reduce by rule 373)
++error:  state 262: shift/reduce conflict (shift ID, reduce by rule 373)
++error:  state 262: shift/reduce conflict (shift INSTRUCTION, reduce by rule 373)
++error:  state 262: shift/reduce conflict (shift CELLSET, reduce by rule 373)
++error:  state 282: shift/reduce conflict (shift INT, reduce by rule 274)
++error:  state 282: shift/reduce conflict (shift WORD, reduce by rule 274)
++error:  state 282: shift/reduce conflict (shift SYMBOL, reduce by rule 274)
++error:  state 282: shift/reduce conflict (shift ID, reduce by rule 274)
++error:  state 282: shift/reduce conflict (shift CELLSET, reduce by rule 274)
++error:  state 282: shift/reduce conflict (shift LPAREN, reduce by rule 274)
++error:  state 412: shift/reduce conflict (shift BAR, reduce by rule 341)
++error:  state 428: shift/reduce conflict (shift RPAREN, reduce by rule 417)
++error:  state 493: shift/reduce conflict (shift SYMBOL, reduce by rule 379)
++error:  state 493: shift/reduce conflict (shift ID, reduce by rule 379)
++error:  state 493: shift/reduce conflict (shift INSTRUCTION, reduce by rule 379)
++error:  state 493: shift/reduce conflict (shift CELLSET, reduce by rule 379)
++error:  state 516: shift/reduce conflict (shift LDQUOTE, reduce by rule 186)
++error:  state 653: shift/reduce conflict (shift CONCAT, reduce by rule 50)
++error:  state 653: shift/reduce conflict (shift TIMES, reduce by rule 50)
++error:  state 661: shift/reduce conflict (shift AND, reduce by rule 165)
++error:  state 690: shift/reduce conflict (shift AND, reduce by rule 165)
++error:  state 704: shift/reduce conflict (shift AND, reduce by rule 165)
++error:  state 705: shift/reduce conflict (shift AND, reduce by rule 165)
++error:  state 712: shift/reduce conflict (shift LATENCY, reduce by rule 146)
++error:  state 725: shift/reduce conflict (shift PIPELINE, reduce by rule 148)
++
++state 0:
++
++	architecture : . decls 
++
++	ARCHITECTURE	shift 39
++	LOCAL	shift 38
++	DATATYPE	shift 37
++	TYPE	shift 36
++	STORAGE	shift 35
++	LOCATIONS	shift 34
++	STRUCTURE	shift 33
++	FUNCTOR	shift 32
++	SIGNATURE	shift 31
++	SHARING	shift 30
++	INSTRUCTION	shift 29
++	VLIW	shift 28
++	SUPERSCALAR	shift 27
++	FUN	shift 26
++	VAL	shift 25
++	INCLUDE	shift 24
++	OPEN	shift 23
++	LITTLE	shift 22
++	BIG	shift 21
++	PIPELINE	shift 20
++	LOWERCASE	shift 19
++	UPPERCASE	shift 18
++	VERBATIM	shift 17
++	RTL	shift 16
++	NONFIX	shift 15
++	INFIX	shift 14
++	INFIXR	shift 13
++	DEBUG	shift 12
++	RESOURCE	shift 11
++	CPU	shift 10
++	LATENCY	shift 9
++	EXCEPTION	shift 8
++	EOF	reduce by rule 1
++
++	architecture	goto 756
++	decls	goto 7
++	decl	goto 6
++	mldecl	goto 5
++	mymldecl	goto 4
++	mddecl	goto 3
++	mymddecl	goto 2
++	assemblycase	goto 1
++
++	.	error
++
++
++state 1:
++
++	mymddecl : assemblycase . ASSEMBLY 
++
++	ASSEMBLY	shift 40
++
++
++	.	error
++
++
++state 2:
++
++	mddecl : mymddecl .  (reduce by rule 11)
++
++	ARCHITECTURE	reduce by rule 11
++	END	reduce by rule 11
++	LOCAL	reduce by rule 11
++	IN	reduce by rule 11
++	DATATYPE	reduce by rule 11
++	TYPE	reduce by rule 11
++	RPAREN	reduce by rule 11
++	SEMICOLON	reduce by rule 11
++	STORAGE	reduce by rule 11
++	LOCATIONS	reduce by rule 11
++	STRUCTURE	reduce by rule 11
++	FUNCTOR	reduce by rule 11
++	SIGNATURE	reduce by rule 11
++	SHARING	reduce by rule 11
++	INSTRUCTION	reduce by rule 11
++	VLIW	reduce by rule 11
++	SUPERSCALAR	reduce by rule 11
++	FUN	reduce by rule 11
++	VAL	reduce by rule 11
++	INCLUDE	reduce by rule 11
++	OPEN	reduce by rule 11
++	LITTLE	reduce by rule 11
++	BIG	reduce by rule 11
++	PIPELINE	reduce by rule 11
++	LOWERCASE	reduce by rule 11
++	UPPERCASE	reduce by rule 11
++	VERBATIM	reduce by rule 11
++	RTL	reduce by rule 11
++	NONFIX	reduce by rule 11
++	INFIX	reduce by rule 11
++	INFIXR	reduce by rule 11
++	DEBUG	reduce by rule 11
++	RESOURCE	reduce by rule 11
++	CPU	reduce by rule 11
++	LATENCY	reduce by rule 11
++	EXCEPTION	reduce by rule 11
++	EOF	reduce by rule 11
++
++
++	.	error
++
++
++state 3:
++
++	decl : mddecl . optsemi 
++
++	ARCHITECTURE	reduce by rule 5
++	END	reduce by rule 5
++	LOCAL	reduce by rule 5
++	IN	reduce by rule 5
++	DATATYPE	reduce by rule 5
++	TYPE	reduce by rule 5
++	RPAREN	reduce by rule 5
++	SEMICOLON	shift 42
++	STORAGE	reduce by rule 5
++	LOCATIONS	reduce by rule 5
++	STRUCTURE	reduce by rule 5
++	FUNCTOR	reduce by rule 5
++	SIGNATURE	reduce by rule 5
++	SHARING	reduce by rule 5
++	INSTRUCTION	reduce by rule 5
++	VLIW	reduce by rule 5
++	SUPERSCALAR	reduce by rule 5
++	FUN	reduce by rule 5
++	VAL	reduce by rule 5
++	INCLUDE	reduce by rule 5
++	OPEN	reduce by rule 5
++	LITTLE	reduce by rule 5
++	BIG	reduce by rule 5
++	PIPELINE	reduce by rule 5
++	LOWERCASE	reduce by rule 5
++	UPPERCASE	reduce by rule 5
++	VERBATIM	reduce by rule 5
++	RTL	reduce by rule 5
++	NONFIX	reduce by rule 5
++	INFIX	reduce by rule 5
++	INFIXR	reduce by rule 5
++	DEBUG	reduce by rule 5
++	RESOURCE	reduce by rule 5
++	CPU	reduce by rule 5
++	LATENCY	reduce by rule 5
++	EXCEPTION	reduce by rule 5
++	EOF	reduce by rule 5
++
++	optsemi	goto 41
++
++	.	error
++
++
++state 4:
++
++	mldecl : mymldecl .  (reduce by rule 10)
++
++	ARCHITECTURE	reduce by rule 10
++	END	reduce by rule 10
++	LOCAL	reduce by rule 10
++	IN	reduce by rule 10
++	DATATYPE	reduce by rule 10
++	TYPE	reduce by rule 10
++	RPAREN	reduce by rule 10
++	SEMICOLON	reduce by rule 10
++	STORAGE	reduce by rule 10
++	LOCATIONS	reduce by rule 10
++	STRUCTURE	reduce by rule 10
++	FUNCTOR	reduce by rule 10
++	SIGNATURE	reduce by rule 10
++	SHARING	reduce by rule 10
++	INSTRUCTION	reduce by rule 10
++	VLIW	reduce by rule 10
++	SUPERSCALAR	reduce by rule 10
++	FUN	reduce by rule 10
++	VAL	reduce by rule 10
++	INCLUDE	reduce by rule 10
++	OPEN	reduce by rule 10
++	LITTLE	reduce by rule 10
++	BIG	reduce by rule 10
++	PIPELINE	reduce by rule 10
++	LOWERCASE	reduce by rule 10
++	UPPERCASE	reduce by rule 10
++	VERBATIM	reduce by rule 10
++	RTL	reduce by rule 10
++	NONFIX	reduce by rule 10
++	INFIX	reduce by rule 10
++	INFIXR	reduce by rule 10
++	DEBUG	reduce by rule 10
++	RESOURCE	reduce by rule 10
++	CPU	reduce by rule 10
++	LATENCY	reduce by rule 10
++	EXCEPTION	reduce by rule 10
++	EOF	reduce by rule 10
++
++
++	.	error
++
++
++state 5:
++
++	decl : mldecl . optsemi 
++
++	ARCHITECTURE	reduce by rule 5
++	END	reduce by rule 5
++	LOCAL	reduce by rule 5
++	IN	reduce by rule 5
++	DATATYPE	reduce by rule 5
++	TYPE	reduce by rule 5
++	RPAREN	reduce by rule 5
++	SEMICOLON	shift 42
++	STORAGE	reduce by rule 5
++	LOCATIONS	reduce by rule 5
++	STRUCTURE	reduce by rule 5
++	FUNCTOR	reduce by rule 5
++	SIGNATURE	reduce by rule 5
++	SHARING	reduce by rule 5
++	INSTRUCTION	reduce by rule 5
++	VLIW	reduce by rule 5
++	SUPERSCALAR	reduce by rule 5
++	FUN	reduce by rule 5
++	VAL	reduce by rule 5
++	INCLUDE	reduce by rule 5
++	OPEN	reduce by rule 5
++	LITTLE	reduce by rule 5
++	BIG	reduce by rule 5
++	PIPELINE	reduce by rule 5
++	LOWERCASE	reduce by rule 5
++	UPPERCASE	reduce by rule 5
++	VERBATIM	reduce by rule 5
++	RTL	reduce by rule 5
++	NONFIX	reduce by rule 5
++	INFIX	reduce by rule 5
++	INFIXR	reduce by rule 5
++	DEBUG	reduce by rule 5
++	RESOURCE	reduce by rule 5
++	CPU	reduce by rule 5
++	LATENCY	reduce by rule 5
++	EXCEPTION	reduce by rule 5
++	EOF	reduce by rule 5
++
++	optsemi	goto 43
++
++	.	error
++
++
++state 6:
++
++	decls : decl . decls 
++
++	ARCHITECTURE	shift 39
++	END	reduce by rule 1
++	LOCAL	shift 38
++	IN	reduce by rule 1
++	DATATYPE	shift 37
++	TYPE	shift 36
++	RPAREN	reduce by rule 1
++	STORAGE	shift 35
++	LOCATIONS	shift 34
++	STRUCTURE	shift 33
++	FUNCTOR	shift 32
++	SIGNATURE	shift 31
++	SHARING	shift 30
++	INSTRUCTION	shift 29
++	VLIW	shift 28
++	SUPERSCALAR	shift 27
++	FUN	shift 26
++	VAL	shift 25
++	INCLUDE	shift 24
++	OPEN	shift 23
++	LITTLE	shift 22
++	BIG	shift 21
++	PIPELINE	shift 20
++	LOWERCASE	shift 19
++	UPPERCASE	shift 18
++	VERBATIM	shift 17
++	RTL	shift 16
++	NONFIX	shift 15
++	INFIX	shift 14
++	INFIXR	shift 13
++	DEBUG	shift 12
++	RESOURCE	shift 11
++	CPU	shift 10
++	LATENCY	shift 9
++	EXCEPTION	shift 8
++	EOF	reduce by rule 1
++
++	decls	goto 44
++	decl	goto 6
++	mldecl	goto 5
++	mymldecl	goto 4
++	mddecl	goto 3
++	mymddecl	goto 2
++	assemblycase	goto 1
++
++	.	error
++
++
++state 7:
++
++	architecture : decls .  (reduce by rule 0)
++
++	EOF	reduce by rule 0
++
++
++	.	error
++
++
++state 8:
++
++	mymldecl : EXCEPTION . exceptionbinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 47
++	exceptionbind	goto 46
++	exceptionbinds	goto 45
++
++	.	error
++
++
++state 9:
++
++	mymddecl : LATENCY . latencybinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 55
++	latencybinds	goto 54
++	latencybind	goto 53
++	latencyclauses	goto 52
++	latencyclause	goto 51
++
++	.	error
++
++
++state 10:
++
++	mymddecl : CPU . cpubinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 58
++	cpubinds	goto 57
++	cpubind	goto 56
++
++	.	error
++
++
++state 11:
++
++	mymddecl : RESOURCE . resourcebinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 60
++	resourcebinds	goto 59
++
++	.	error
++
++
++state 12:
++
++	mymddecl : DEBUG . id 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 61
++
++	.	error
++
++
++state 13:
++
++	mymldecl : INFIXR . intopt syms 
++
++	TIMES	reduce by rule 397
++	DEREF	reduce by rule 397
++	NOT	reduce by rule 397
++	CELLSET	reduce by rule 397
++	ID	reduce by rule 397
++	SYMBOL	reduce by rule 397
++	INT	shift 64
++
++	int	goto 63
++	intopt	goto 62
++
++	.	error
++
++
++state 14:
++
++	mymldecl : INFIX . intopt syms 
++
++	TIMES	reduce by rule 397
++	DEREF	reduce by rule 397
++	NOT	reduce by rule 397
++	CELLSET	reduce by rule 397
++	ID	reduce by rule 397
++	SYMBOL	reduce by rule 397
++	INT	shift 64
++
++	int	goto 63
++	intopt	goto 65
++
++	.	error
++
++
++state 15:
++
++	mymldecl : NONFIX . syms 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 68
++	symb	goto 67
++	syms	goto 66
++
++	.	error
++
++
++state 16:
++
++	mymldecl : RTL . id LBRACE labpats0 RBRACE EQ exp 
++	mymldecl : RTL . asapat EQ exp 
++	mymldecl : RTL . syms COLON ty 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 89
++	sym	goto 88
++	symb	goto 67
++	ident2	goto 87
++	syms	goto 86
++	path	goto 85
++	apat	goto 84
++	asapat	goto 83
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 17:
++
++	assemblycase : VERBATIM .  (reduce by rule 115)
++
++	ASSEMBLY	reduce by rule 115
++
++
++	.	error
++
++
++state 18:
++
++	assemblycase : UPPERCASE .  (reduce by rule 114)
++
++	ASSEMBLY	reduce by rule 114
++
++
++	.	error
++
++
++state 19:
++
++	assemblycase : LOWERCASE .  (reduce by rule 113)
++
++	ASSEMBLY	reduce by rule 113
++
++
++	.	error
++
++
++state 20:
++
++	mymddecl : PIPELINE . pipelinebinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 108
++	pipelinebinds	goto 107
++	pipelinebind	goto 106
++	pipelineclauses	goto 105
++	pipelineclause	goto 104
++
++	.	error
++
++
++state 21:
++
++	mymddecl : BIG . ENDIAN 
++
++	ENDIAN	shift 109
++
++
++	.	error
++
++
++state 22:
++
++	mymddecl : LITTLE . ENDIAN 
++
++	ENDIAN	shift 110
++
++
++	.	error
++
++
++state 23:
++
++	mymldecl : OPEN . idents 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 114
++	ident	goto 113
++	ident2	goto 112
++	idents	goto 111
++	path	goto 85
++
++	.	error
++
++
++state 24:
++
++	decl : INCLUDE . string optsemi 
++	mymldecl : INCLUDE . sigexp 
++
++	CELLSET	shift 50
++	SIG	shift 118
++	ID	shift 49
++	SYMBOL	shift 48
++	STRING	shift 91
++
++	id	goto 114
++	ident	goto 117
++	ident2	goto 112
++	path	goto 85
++	string	goto 116
++	sigexp	goto 115
++
++	.	error
++
++
++state 25:
++
++	mymldecl : VAL . valbinds 
++	mymldecl : VAL . syms COLON ty 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 126
++	symb	goto 67
++	ident2	goto 87
++	syms	goto 125
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 121
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	valbind	goto 120
++	valbinds	goto 119
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 26:
++
++	mymldecl : FUN . funbinds 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 133
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	funclause	goto 132
++	funclauses	goto 131
++	funbind	goto 130
++	funbinds	goto 129
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 27:
++
++	mymddecl : SUPERSCALAR .  (reduce by rule 16)
++
++	ARCHITECTURE	reduce by rule 16
++	END	reduce by rule 16
++	LOCAL	reduce by rule 16
++	IN	reduce by rule 16
++	DATATYPE	reduce by rule 16
++	TYPE	reduce by rule 16
++	RPAREN	reduce by rule 16
++	SEMICOLON	reduce by rule 16
++	STORAGE	reduce by rule 16
++	LOCATIONS	reduce by rule 16
++	STRUCTURE	reduce by rule 16
++	FUNCTOR	reduce by rule 16
++	SIGNATURE	reduce by rule 16
++	SHARING	reduce by rule 16
++	INSTRUCTION	reduce by rule 16
++	VLIW	reduce by rule 16
++	SUPERSCALAR	reduce by rule 16
++	FUN	reduce by rule 16
++	VAL	reduce by rule 16
++	INCLUDE	reduce by rule 16
++	OPEN	reduce by rule 16
++	LITTLE	reduce by rule 16
++	BIG	reduce by rule 16
++	PIPELINE	reduce by rule 16
++	LOWERCASE	reduce by rule 16
++	UPPERCASE	reduce by rule 16
++	VERBATIM	reduce by rule 16
++	RTL	reduce by rule 16
++	NONFIX	reduce by rule 16
++	INFIX	reduce by rule 16
++	INFIXR	reduce by rule 16
++	DEBUG	reduce by rule 16
++	RESOURCE	reduce by rule 16
++	CPU	reduce by rule 16
++	LATENCY	reduce by rule 16
++	EXCEPTION	reduce by rule 16
++	EOF	reduce by rule 16
++
++
++	.	error
++
++
++state 28:
++
++	mymddecl : VLIW .  (reduce by rule 15)
++
++	ARCHITECTURE	reduce by rule 15
++	END	reduce by rule 15
++	LOCAL	reduce by rule 15
++	IN	reduce by rule 15
++	DATATYPE	reduce by rule 15
++	TYPE	reduce by rule 15
++	RPAREN	reduce by rule 15
++	SEMICOLON	reduce by rule 15
++	STORAGE	reduce by rule 15
++	LOCATIONS	reduce by rule 15
++	STRUCTURE	reduce by rule 15
++	FUNCTOR	reduce by rule 15
++	SIGNATURE	reduce by rule 15
++	SHARING	reduce by rule 15
++	INSTRUCTION	reduce by rule 15
++	VLIW	reduce by rule 15
++	SUPERSCALAR	reduce by rule 15
++	FUN	reduce by rule 15
++	VAL	reduce by rule 15
++	INCLUDE	reduce by rule 15
++	OPEN	reduce by rule 15
++	LITTLE	reduce by rule 15
++	BIG	reduce by rule 15
++	PIPELINE	reduce by rule 15
++	LOWERCASE	reduce by rule 15
++	UPPERCASE	reduce by rule 15
++	VERBATIM	reduce by rule 15
++	RTL	reduce by rule 15
++	NONFIX	reduce by rule 15
++	INFIX	reduce by rule 15
++	INFIXR	reduce by rule 15
++	DEBUG	reduce by rule 15
++	RESOURCE	reduce by rule 15
++	CPU	reduce by rule 15
++	LATENCY	reduce by rule 15
++	EXCEPTION	reduce by rule 15
++	EOF	reduce by rule 15
++
++
++	.	error
++
++
++state 29:
++
++	mymddecl : INSTRUCTION . FORMATS int BITS formatbinds 
++	mymddecl : INSTRUCTION . FORMATS formatbinds 
++	mymddecl : INSTRUCTION . consbinds 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	FORMATS	shift 139
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 138
++	symb	goto 67
++	consbinds	goto 137
++	consbind	goto 136
++
++	.	error
++
++
++state 30:
++
++	mymldecl : SHARING . sharingdecls 
++
++	TYPE	shift 144
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 114
++	ident	goto 143
++	ident2	goto 112
++	path	goto 85
++	sharingdecl	goto 142
++	sharingdecls	goto 141
++	sharelist	goto 140
++
++	.	error
++
++
++state 31:
++
++	mymldecl : SIGNATURE . id EQ sigexp 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 145
++
++	.	error
++
++
++state 32:
++
++	mymldecl : FUNCTOR . id LPAREN functorarg RPAREN EQ structexp 
++	mymldecl : FUNCTOR . id LPAREN functorarg RPAREN sigcon EQ structexp 
++	mymldecl : FUNCTOR . id EQ structexp 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 146
++
++	.	error
++
++
++state 33:
++
++	mymldecl : STRUCTURE . id EQ structexp 
++	mymldecl : STRUCTURE . id sigcon EQ structexp 
++	mymldecl : STRUCTURE . id COLON sigexp 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 147
++
++	.	error
++
++
++state 34:
++
++	mymddecl : LOCATIONS . locbinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 150
++	locbind	goto 149
++	locbinds	goto 148
++
++	.	error
++
++
++state 35:
++
++	mymddecl : STORAGE . storagedecls 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 153
++	storagedecl	goto 152
++	storagedecls	goto 151
++
++	.	error
++
++
++state 36:
++
++	mymldecl : TYPE . typebinds 
++	mymldecl : TYPE . tyvarseq tid 
++
++	LPAREN	shift 160
++	CELLSET	reduce by rule 199
++	HASH	shift 159
++	BITS	reduce by rule 199
++	INSTRUCTION	reduce by rule 199
++	CELL	reduce by rule 199
++	ID	reduce by rule 199
++	SYMBOL	reduce by rule 199
++	TYVAR	shift 158
++
++	typebinds	goto 157
++	typebind	goto 156
++	tyvar	goto 155
++	tyvarseq	goto 154
++
++	.	error
++
++
++state 37:
++
++	mymldecl : DATATYPE . datatypebinds withtypeclause 
++
++	LPAREN	shift 160
++	CELLSET	reduce by rule 199
++	HASH	shift 159
++	ID	reduce by rule 199
++	SYMBOL	reduce by rule 199
++	TYVAR	shift 158
++
++	datatypebinds	goto 163
++	datatypebind	goto 162
++	tyvar	goto 155
++	tyvarseq	goto 161
++
++	.	error
++
++
++state 38:
++
++	mymldecl : LOCAL . scopeddecls IN scopeddecls END 
++
++	ARCHITECTURE	reduce by rule 107
++	LOCAL	reduce by rule 107
++	IN	reduce by rule 107
++	DATATYPE	reduce by rule 107
++	TYPE	reduce by rule 107
++	STORAGE	reduce by rule 107
++	LOCATIONS	reduce by rule 107
++	STRUCTURE	reduce by rule 107
++	FUNCTOR	reduce by rule 107
++	SIGNATURE	reduce by rule 107
++	SHARING	reduce by rule 107
++	INSTRUCTION	reduce by rule 107
++	VLIW	reduce by rule 107
++	SUPERSCALAR	reduce by rule 107
++	FUN	reduce by rule 107
++	VAL	reduce by rule 107
++	INCLUDE	reduce by rule 107
++	OPEN	reduce by rule 107
++	LITTLE	reduce by rule 107
++	BIG	reduce by rule 107
++	PIPELINE	reduce by rule 107
++	LOWERCASE	reduce by rule 107
++	UPPERCASE	reduce by rule 107
++	VERBATIM	reduce by rule 107
++	RTL	reduce by rule 107
++	NONFIX	reduce by rule 107
++	INFIX	reduce by rule 107
++	INFIXR	reduce by rule 107
++	DEBUG	reduce by rule 107
++	RESOURCE	reduce by rule 107
++	CPU	reduce by rule 107
++	LATENCY	reduce by rule 107
++	EXCEPTION	reduce by rule 107
++
++	scopeddecls	goto 165
++	newScope	goto 164
++
++	.	error
++
++
++state 39:
++
++	mymddecl : ARCHITECTURE . id EQ STRUCT decls END 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 166
++
++	.	error
++
++
++state 40:
++
++	mymddecl : assemblycase ASSEMBLY .  (reduce by rule 17)
++
++	ARCHITECTURE	reduce by rule 17
++	END	reduce by rule 17
++	LOCAL	reduce by rule 17
++	IN	reduce by rule 17
++	DATATYPE	reduce by rule 17
++	TYPE	reduce by rule 17
++	RPAREN	reduce by rule 17
++	SEMICOLON	reduce by rule 17
++	STORAGE	reduce by rule 17
++	LOCATIONS	reduce by rule 17
++	STRUCTURE	reduce by rule 17
++	FUNCTOR	reduce by rule 17
++	SIGNATURE	reduce by rule 17
++	SHARING	reduce by rule 17
++	INSTRUCTION	reduce by rule 17
++	VLIW	reduce by rule 17
++	SUPERSCALAR	reduce by rule 17
++	FUN	reduce by rule 17
++	VAL	reduce by rule 17
++	INCLUDE	reduce by rule 17
++	OPEN	reduce by rule 17
++	LITTLE	reduce by rule 17
++	BIG	reduce by rule 17
++	PIPELINE	reduce by rule 17
++	LOWERCASE	reduce by rule 17
++	UPPERCASE	reduce by rule 17
++	VERBATIM	reduce by rule 17
++	RTL	reduce by rule 17
++	NONFIX	reduce by rule 17
++	INFIX	reduce by rule 17
++	INFIXR	reduce by rule 17
++	DEBUG	reduce by rule 17
++	RESOURCE	reduce by rule 17
++	CPU	reduce by rule 17
++	LATENCY	reduce by rule 17
++	EXCEPTION	reduce by rule 17
++	EOF	reduce by rule 17
++
++
++	.	error
++
++
++state 41:
++
++	decl : mddecl optsemi .  (reduce by rule 8)
++
++	ARCHITECTURE	reduce by rule 8
++	END	reduce by rule 8
++	LOCAL	reduce by rule 8
++	IN	reduce by rule 8
++	DATATYPE	reduce by rule 8
++	TYPE	reduce by rule 8
++	RPAREN	reduce by rule 8
++	STORAGE	reduce by rule 8
++	LOCATIONS	reduce by rule 8
++	STRUCTURE	reduce by rule 8
++	FUNCTOR	reduce by rule 8
++	SIGNATURE	reduce by rule 8
++	SHARING	reduce by rule 8
++	INSTRUCTION	reduce by rule 8
++	VLIW	reduce by rule 8
++	SUPERSCALAR	reduce by rule 8
++	FUN	reduce by rule 8
++	VAL	reduce by rule 8
++	INCLUDE	reduce by rule 8
++	OPEN	reduce by rule 8
++	LITTLE	reduce by rule 8
++	BIG	reduce by rule 8
++	PIPELINE	reduce by rule 8
++	LOWERCASE	reduce by rule 8
++	UPPERCASE	reduce by rule 8
++	VERBATIM	reduce by rule 8
++	RTL	reduce by rule 8
++	NONFIX	reduce by rule 8
++	INFIX	reduce by rule 8
++	INFIXR	reduce by rule 8
++	DEBUG	reduce by rule 8
++	RESOURCE	reduce by rule 8
++	CPU	reduce by rule 8
++	LATENCY	reduce by rule 8
++	EXCEPTION	reduce by rule 8
++	EOF	reduce by rule 8
++
++
++	.	error
++
++
++state 42:
++
++	optsemi : SEMICOLON . optsemi 
++
++	ARCHITECTURE	reduce by rule 5
++	END	reduce by rule 5
++	LOCAL	reduce by rule 5
++	IN	reduce by rule 5
++	DATATYPE	reduce by rule 5
++	TYPE	reduce by rule 5
++	RPAREN	reduce by rule 5
++	SEMICOLON	shift 42
++	STORAGE	reduce by rule 5
++	LOCATIONS	reduce by rule 5
++	STRUCTURE	reduce by rule 5
++	FUNCTOR	reduce by rule 5
++	SIGNATURE	reduce by rule 5
++	SHARING	reduce by rule 5
++	INSTRUCTION	reduce by rule 5
++	VLIW	reduce by rule 5
++	SUPERSCALAR	reduce by rule 5
++	FUN	reduce by rule 5
++	VAL	reduce by rule 5
++	INCLUDE	reduce by rule 5
++	OPEN	reduce by rule 5
++	LITTLE	reduce by rule 5
++	BIG	reduce by rule 5
++	PIPELINE	reduce by rule 5
++	LOWERCASE	reduce by rule 5
++	UPPERCASE	reduce by rule 5
++	VERBATIM	reduce by rule 5
++	RTL	reduce by rule 5
++	NONFIX	reduce by rule 5
++	INFIX	reduce by rule 5
++	INFIXR	reduce by rule 5
++	DEBUG	reduce by rule 5
++	RESOURCE	reduce by rule 5
++	CPU	reduce by rule 5
++	LATENCY	reduce by rule 5
++	EXCEPTION	reduce by rule 5
++	EOF	reduce by rule 5
++
++	optsemi	goto 167
++
++	.	error
++
++
++state 43:
++
++	decl : mldecl optsemi .  (reduce by rule 7)
++
++	ARCHITECTURE	reduce by rule 7
++	END	reduce by rule 7
++	LOCAL	reduce by rule 7
++	IN	reduce by rule 7
++	DATATYPE	reduce by rule 7
++	TYPE	reduce by rule 7
++	RPAREN	reduce by rule 7
++	STORAGE	reduce by rule 7
++	LOCATIONS	reduce by rule 7
++	STRUCTURE	reduce by rule 7
++	FUNCTOR	reduce by rule 7
++	SIGNATURE	reduce by rule 7
++	SHARING	reduce by rule 7
++	INSTRUCTION	reduce by rule 7
++	VLIW	reduce by rule 7
++	SUPERSCALAR	reduce by rule 7
++	FUN	reduce by rule 7
++	VAL	reduce by rule 7
++	INCLUDE	reduce by rule 7
++	OPEN	reduce by rule 7
++	LITTLE	reduce by rule 7
++	BIG	reduce by rule 7
++	PIPELINE	reduce by rule 7
++	LOWERCASE	reduce by rule 7
++	UPPERCASE	reduce by rule 7
++	VERBATIM	reduce by rule 7
++	RTL	reduce by rule 7
++	NONFIX	reduce by rule 7
++	INFIX	reduce by rule 7
++	INFIXR	reduce by rule 7
++	DEBUG	reduce by rule 7
++	RESOURCE	reduce by rule 7
++	CPU	reduce by rule 7
++	LATENCY	reduce by rule 7
++	EXCEPTION	reduce by rule 7
++	EOF	reduce by rule 7
++
++
++	.	error
++
++
++state 44:
++
++	decls : decl decls .  (reduce by rule 2)
++
++	END	reduce by rule 2
++	IN	reduce by rule 2
++	RPAREN	reduce by rule 2
++	EOF	reduce by rule 2
++
++
++	.	error
++
++
++state 45:
++
++	mymldecl : EXCEPTION exceptionbinds .  (reduce by rule 82)
++
++	ARCHITECTURE	reduce by rule 82
++	END	reduce by rule 82
++	LOCAL	reduce by rule 82
++	IN	reduce by rule 82
++	DATATYPE	reduce by rule 82
++	TYPE	reduce by rule 82
++	RPAREN	reduce by rule 82
++	SEMICOLON	reduce by rule 82
++	STORAGE	reduce by rule 82
++	LOCATIONS	reduce by rule 82
++	STRUCTURE	reduce by rule 82
++	FUNCTOR	reduce by rule 82
++	SIGNATURE	reduce by rule 82
++	SHARING	reduce by rule 82
++	INSTRUCTION	reduce by rule 82
++	VLIW	reduce by rule 82
++	SUPERSCALAR	reduce by rule 82
++	FUN	reduce by rule 82
++	VAL	reduce by rule 82
++	INCLUDE	reduce by rule 82
++	OPEN	reduce by rule 82
++	LITTLE	reduce by rule 82
++	BIG	reduce by rule 82
++	PIPELINE	reduce by rule 82
++	LOWERCASE	reduce by rule 82
++	UPPERCASE	reduce by rule 82
++	VERBATIM	reduce by rule 82
++	RTL	reduce by rule 82
++	NONFIX	reduce by rule 82
++	INFIX	reduce by rule 82
++	INFIXR	reduce by rule 82
++	DEBUG	reduce by rule 82
++	RESOURCE	reduce by rule 82
++	CPU	reduce by rule 82
++	LATENCY	reduce by rule 82
++	EXCEPTION	reduce by rule 82
++	EOF	reduce by rule 82
++
++
++	.	error
++
++
++state 46:
++
++	exceptionbinds : exceptionbind .  (reduce by rule 83)
++	exceptionbinds : exceptionbind . AND exceptionbinds 
++
++	ARCHITECTURE	reduce by rule 83
++	END	reduce by rule 83
++	LOCAL	reduce by rule 83
++	IN	reduce by rule 83
++	DATATYPE	reduce by rule 83
++	TYPE	reduce by rule 83
++	AND	shift 168
++	RPAREN	reduce by rule 83
++	SEMICOLON	reduce by rule 83
++	STORAGE	reduce by rule 83
++	LOCATIONS	reduce by rule 83
++	STRUCTURE	reduce by rule 83
++	FUNCTOR	reduce by rule 83
++	SIGNATURE	reduce by rule 83
++	SHARING	reduce by rule 83
++	INSTRUCTION	reduce by rule 83
++	VLIW	reduce by rule 83
++	SUPERSCALAR	reduce by rule 83
++	FUN	reduce by rule 83
++	VAL	reduce by rule 83
++	INCLUDE	reduce by rule 83
++	OPEN	reduce by rule 83
++	LITTLE	reduce by rule 83
++	BIG	reduce by rule 83
++	PIPELINE	reduce by rule 83
++	LOWERCASE	reduce by rule 83
++	UPPERCASE	reduce by rule 83
++	VERBATIM	reduce by rule 83
++	RTL	reduce by rule 83
++	NONFIX	reduce by rule 83
++	INFIX	reduce by rule 83
++	INFIXR	reduce by rule 83
++	DEBUG	reduce by rule 83
++	RESOURCE	reduce by rule 83
++	CPU	reduce by rule 83
++	LATENCY	reduce by rule 83
++	EXCEPTION	reduce by rule 83
++	EOF	reduce by rule 83
++
++
++	.	error
++
++
++state 47:
++
++	exceptionbind : id .  (reduce by rule 85)
++	exceptionbind : id . OF ty 
++	exceptionbind : id . EQ ident 
++
++	ARCHITECTURE	reduce by rule 85
++	END	reduce by rule 85
++	LOCAL	reduce by rule 85
++	IN	reduce by rule 85
++	OF	shift 170
++	DATATYPE	reduce by rule 85
++	TYPE	reduce by rule 85
++	EQ	shift 169
++	AND	reduce by rule 85
++	RPAREN	reduce by rule 85
++	SEMICOLON	reduce by rule 85
++	STORAGE	reduce by rule 85
++	LOCATIONS	reduce by rule 85
++	STRUCTURE	reduce by rule 85
++	FUNCTOR	reduce by rule 85
++	SIGNATURE	reduce by rule 85
++	SHARING	reduce by rule 85
++	INSTRUCTION	reduce by rule 85
++	VLIW	reduce by rule 85
++	SUPERSCALAR	reduce by rule 85
++	FUN	reduce by rule 85
++	VAL	reduce by rule 85
++	INCLUDE	reduce by rule 85
++	OPEN	reduce by rule 85
++	LITTLE	reduce by rule 85
++	BIG	reduce by rule 85
++	PIPELINE	reduce by rule 85
++	LOWERCASE	reduce by rule 85
++	UPPERCASE	reduce by rule 85
++	VERBATIM	reduce by rule 85
++	RTL	reduce by rule 85
++	NONFIX	reduce by rule 85
++	INFIX	reduce by rule 85
++	INFIXR	reduce by rule 85
++	DEBUG	reduce by rule 85
++	RESOURCE	reduce by rule 85
++	CPU	reduce by rule 85
++	LATENCY	reduce by rule 85
++	EXCEPTION	reduce by rule 85
++	EOF	reduce by rule 85
++
++
++	.	error
++
++
++state 48:
++
++	id : SYMBOL .  (reduce by rule 414)
++
++	ARCHITECTURE	reduce by rule 414
++	END	reduce by rule 414
++	LOCAL	reduce by rule 414
++	IN	reduce by rule 414
++	OF	reduce by rule 414
++	DATATYPE	reduce by rule 414
++	TYPE	reduce by rule 414
++	EQ	reduce by rule 414
++	DOLLAR	reduce by rule 414
++	TIMES	reduce by rule 414
++	AND	reduce by rule 414
++	DEREF	reduce by rule 414
++	NOT	reduce by rule 414
++	CONCAT	reduce by rule 414
++	LLBRACKET	reduce by rule 414
++	RRBRACKET	reduce by rule 414
++	LHASHBRACKET	reduce by rule 414
++	LPAREN	reduce by rule 414
++	RPAREN	reduce by rule 414
++	LBRACKET	reduce by rule 414
++	RBRACKET	reduce by rule 414
++	LBRACE	reduce by rule 414
++	RBRACE	reduce by rule 414
++	SEMICOLON	reduce by rule 414
++	LDQUOTE	reduce by rule 414
++	RMETA	reduce by rule 414
++	CELLSET	reduce by rule 414
++	STORAGE	reduce by rule 414
++	LOCATIONS	reduce by rule 414
++	HASH	reduce by rule 414
++	COMMA	reduce by rule 414
++	COLON	reduce by rule 414
++	COLONGREATER	reduce by rule 414
++	DOT	reduce by rule 414
++	AT	reduce by rule 414
++	BAR	reduce by rule 414
++	ARROW	reduce by rule 414
++	DARROW	reduce by rule 414
++	BITS	reduce by rule 414
++	THEN	reduce by rule 414
++	ELSE	reduce by rule 414
++	TRUE	reduce by rule 414
++	FALSE	reduce by rule 414
++	WILD	reduce by rule 414
++	HANDLE	reduce by rule 414
++	LET	reduce by rule 414
++	STRUCTURE	reduce by rule 414
++	FUNCTOR	reduce by rule 414
++	SIGNATURE	reduce by rule 414
++	WHERE	reduce by rule 414
++	SHARING	reduce by rule 414
++	INSTRUCTION	reduce by rule 414
++	CELL	reduce by rule 414
++	VLIW	reduce by rule 414
++	SUPERSCALAR	reduce by rule 414
++	SIGNED	reduce by rule 414
++	UNSIGNED	reduce by rule 414
++	AS	reduce by rule 414
++	WITHTYPE	reduce by rule 414
++	FUN	reduce by rule 414
++	VAL	reduce by rule 414
++	INCLUDE	reduce by rule 414
++	OPEN	reduce by rule 414
++	OP	reduce by rule 414
++	LITTLE	reduce by rule 414
++	BIG	reduce by rule 414
++	PIPELINE	reduce by rule 414
++	LOWERCASE	reduce by rule 414
++	UPPERCASE	reduce by rule 414
++	VERBATIM	reduce by rule 414
++	RTL	reduce by rule 414
++	SPAN	reduce by rule 414
++	DELAYSLOT	reduce by rule 414
++	ALWAYS	reduce by rule 414
++	NEVER	reduce by rule 414
++	NONFIX	reduce by rule 414
++	INFIX	reduce by rule 414
++	INFIXR	reduce by rule 414
++	DEBUG	reduce by rule 414
++	ASM_COLON	reduce by rule 414
++	MC_COLON	reduce by rule 414
++	RTL_COLON	reduce by rule 414
++	DELAYSLOT_COLON	reduce by rule 414
++	NULLIFIED_COLON	reduce by rule 414
++	PADDING_COLON	reduce by rule 414
++	RESOURCE	reduce by rule 414
++	CPU	reduce by rule 414
++	LATENCY	reduce by rule 414
++	EXCEPTION	reduce by rule 414
++	ID	reduce by rule 414
++	SYMBOL	reduce by rule 414
++	WORD	reduce by rule 414
++	INT	reduce by rule 414
++	INTINF	reduce by rule 414
++	REAL	reduce by rule 414
++	STRING	reduce by rule 414
++	CHAR	reduce by rule 414
++	EOF	reduce by rule 414
++
++
++	.	error
++
++
++state 49:
++
++	id : ID .  (reduce by rule 413)
++
++	ARCHITECTURE	reduce by rule 413
++	END	reduce by rule 413
++	LOCAL	reduce by rule 413
++	IN	reduce by rule 413
++	OF	reduce by rule 413
++	DATATYPE	reduce by rule 413
++	TYPE	reduce by rule 413
++	EQ	reduce by rule 413
++	DOLLAR	reduce by rule 413
++	TIMES	reduce by rule 413
++	AND	reduce by rule 413
++	DEREF	reduce by rule 413
++	NOT	reduce by rule 413
++	CONCAT	reduce by rule 413
++	LLBRACKET	reduce by rule 413
++	RRBRACKET	reduce by rule 413
++	LHASHBRACKET	reduce by rule 413
++	LPAREN	reduce by rule 413
++	RPAREN	reduce by rule 413
++	LBRACKET	reduce by rule 413
++	RBRACKET	reduce by rule 413
++	LBRACE	reduce by rule 413
++	RBRACE	reduce by rule 413
++	SEMICOLON	reduce by rule 413
++	LDQUOTE	reduce by rule 413
++	RMETA	reduce by rule 413
++	CELLSET	reduce by rule 413
++	STORAGE	reduce by rule 413
++	LOCATIONS	reduce by rule 413
++	HASH	reduce by rule 413
++	COMMA	reduce by rule 413
++	COLON	reduce by rule 413
++	COLONGREATER	reduce by rule 413
++	DOT	reduce by rule 413
++	AT	reduce by rule 413
++	BAR	reduce by rule 413
++	ARROW	reduce by rule 413
++	DARROW	reduce by rule 413
++	BITS	reduce by rule 413
++	THEN	reduce by rule 413
++	ELSE	reduce by rule 413
++	TRUE	reduce by rule 413
++	FALSE	reduce by rule 413
++	WILD	reduce by rule 413
++	HANDLE	reduce by rule 413
++	LET	reduce by rule 413
++	STRUCTURE	reduce by rule 413
++	FUNCTOR	reduce by rule 413
++	SIGNATURE	reduce by rule 413
++	WHERE	reduce by rule 413
++	SHARING	reduce by rule 413
++	INSTRUCTION	reduce by rule 413
++	CELL	reduce by rule 413
++	VLIW	reduce by rule 413
++	SUPERSCALAR	reduce by rule 413
++	SIGNED	reduce by rule 413
++	UNSIGNED	reduce by rule 413
++	AS	reduce by rule 413
++	WITHTYPE	reduce by rule 413
++	FUN	reduce by rule 413
++	VAL	reduce by rule 413
++	INCLUDE	reduce by rule 413
++	OPEN	reduce by rule 413
++	OP	reduce by rule 413
++	LITTLE	reduce by rule 413
++	BIG	reduce by rule 413
++	PIPELINE	reduce by rule 413
++	LOWERCASE	reduce by rule 413
++	UPPERCASE	reduce by rule 413
++	VERBATIM	reduce by rule 413
++	RTL	reduce by rule 413
++	SPAN	reduce by rule 413
++	DELAYSLOT	reduce by rule 413
++	ALWAYS	reduce by rule 413
++	NEVER	reduce by rule 413
++	NONFIX	reduce by rule 413
++	INFIX	reduce by rule 413
++	INFIXR	reduce by rule 413
++	DEBUG	reduce by rule 413
++	ASM_COLON	reduce by rule 413
++	MC_COLON	reduce by rule 413
++	RTL_COLON	reduce by rule 413
++	DELAYSLOT_COLON	reduce by rule 413
++	NULLIFIED_COLON	reduce by rule 413
++	PADDING_COLON	reduce by rule 413
++	RESOURCE	reduce by rule 413
++	CPU	reduce by rule 413
++	LATENCY	reduce by rule 413
++	EXCEPTION	reduce by rule 413
++	ID	reduce by rule 413
++	SYMBOL	reduce by rule 413
++	WORD	reduce by rule 413
++	INT	reduce by rule 413
++	INTINF	reduce by rule 413
++	REAL	reduce by rule 413
++	STRING	reduce by rule 413
++	CHAR	reduce by rule 413
++	EOF	reduce by rule 413
++
++
++	.	error
++
++
++state 50:
++
++	id : CELLSET .  (reduce by rule 415)
++
++	ARCHITECTURE	reduce by rule 415
++	END	reduce by rule 415
++	LOCAL	reduce by rule 415
++	IN	reduce by rule 415
++	OF	reduce by rule 415
++	DATATYPE	reduce by rule 415
++	TYPE	reduce by rule 415
++	EQ	reduce by rule 415
++	DOLLAR	reduce by rule 415
++	TIMES	reduce by rule 415
++	AND	reduce by rule 415
++	DEREF	reduce by rule 415
++	NOT	reduce by rule 415
++	CONCAT	reduce by rule 415
++	LLBRACKET	reduce by rule 415
++	RRBRACKET	reduce by rule 415
++	LHASHBRACKET	reduce by rule 415
++	LPAREN	reduce by rule 415
++	RPAREN	reduce by rule 415
++	LBRACKET	reduce by rule 415
++	RBRACKET	reduce by rule 415
++	LBRACE	reduce by rule 415
++	RBRACE	reduce by rule 415
++	SEMICOLON	reduce by rule 415
++	LDQUOTE	reduce by rule 415
++	RMETA	reduce by rule 415
++	CELLSET	reduce by rule 415
++	STORAGE	reduce by rule 415
++	LOCATIONS	reduce by rule 415
++	HASH	reduce by rule 415
++	COMMA	reduce by rule 415
++	COLON	reduce by rule 415
++	COLONGREATER	reduce by rule 415
++	DOT	reduce by rule 415
++	AT	reduce by rule 415
++	BAR	reduce by rule 415
++	ARROW	reduce by rule 415
++	DARROW	reduce by rule 415
++	BITS	reduce by rule 415
++	THEN	reduce by rule 415
++	ELSE	reduce by rule 415
++	TRUE	reduce by rule 415
++	FALSE	reduce by rule 415
++	WILD	reduce by rule 415
++	HANDLE	reduce by rule 415
++	LET	reduce by rule 415
++	STRUCTURE	reduce by rule 415
++	FUNCTOR	reduce by rule 415
++	SIGNATURE	reduce by rule 415
++	WHERE	reduce by rule 415
++	SHARING	reduce by rule 415
++	INSTRUCTION	reduce by rule 415
++	CELL	reduce by rule 415
++	VLIW	reduce by rule 415
++	SUPERSCALAR	reduce by rule 415
++	SIGNED	reduce by rule 415
++	UNSIGNED	reduce by rule 415
++	AS	reduce by rule 415
++	WITHTYPE	reduce by rule 415
++	FUN	reduce by rule 415
++	VAL	reduce by rule 415
++	INCLUDE	reduce by rule 415
++	OPEN	reduce by rule 415
++	OP	reduce by rule 415
++	LITTLE	reduce by rule 415
++	BIG	reduce by rule 415
++	PIPELINE	reduce by rule 415
++	LOWERCASE	reduce by rule 415
++	UPPERCASE	reduce by rule 415
++	VERBATIM	reduce by rule 415
++	RTL	reduce by rule 415
++	SPAN	reduce by rule 415
++	DELAYSLOT	reduce by rule 415
++	ALWAYS	reduce by rule 415
++	NEVER	reduce by rule 415
++	NONFIX	reduce by rule 415
++	INFIX	reduce by rule 415
++	INFIXR	reduce by rule 415
++	DEBUG	reduce by rule 415
++	ASM_COLON	reduce by rule 415
++	MC_COLON	reduce by rule 415
++	RTL_COLON	reduce by rule 415
++	DELAYSLOT_COLON	reduce by rule 415
++	NULLIFIED_COLON	reduce by rule 415
++	PADDING_COLON	reduce by rule 415
++	RESOURCE	reduce by rule 415
++	CPU	reduce by rule 415
++	LATENCY	reduce by rule 415
++	EXCEPTION	reduce by rule 415
++	ID	reduce by rule 415
++	SYMBOL	reduce by rule 415
++	WORD	reduce by rule 415
++	INT	reduce by rule 415
++	INTINF	reduce by rule 415
++	REAL	reduce by rule 415
++	STRING	reduce by rule 415
++	CHAR	reduce by rule 415
++	EOF	reduce by rule 415
++
++
++	.	error
++
++
++state 51:
++
++	latencyclauses : latencyclause .  (reduce by rule 56)
++	latencyclauses : latencyclause . BAR latencyclauses 
++
++	ARCHITECTURE	reduce by rule 56
++	END	reduce by rule 56
++	LOCAL	reduce by rule 56
++	IN	reduce by rule 56
++	DATATYPE	reduce by rule 56
++	TYPE	reduce by rule 56
++	AND	reduce by rule 56
++	RPAREN	reduce by rule 56
++	SEMICOLON	reduce by rule 56
++	STORAGE	reduce by rule 56
++	LOCATIONS	reduce by rule 56
++	BAR	shift 171
++	STRUCTURE	reduce by rule 56
++	FUNCTOR	reduce by rule 56
++	SIGNATURE	reduce by rule 56
++	SHARING	reduce by rule 56
++	INSTRUCTION	reduce by rule 56
++	VLIW	reduce by rule 56
++	SUPERSCALAR	reduce by rule 56
++	FUN	reduce by rule 56
++	VAL	reduce by rule 56
++	INCLUDE	reduce by rule 56
++	OPEN	reduce by rule 56
++	LITTLE	reduce by rule 56
++	BIG	reduce by rule 56
++	PIPELINE	reduce by rule 56
++	LOWERCASE	reduce by rule 56
++	UPPERCASE	reduce by rule 56
++	VERBATIM	reduce by rule 56
++	RTL	reduce by rule 56
++	NONFIX	reduce by rule 56
++	INFIX	reduce by rule 56
++	INFIXR	reduce by rule 56
++	DEBUG	reduce by rule 56
++	RESOURCE	reduce by rule 56
++	CPU	reduce by rule 56
++	LATENCY	reduce by rule 56
++	EXCEPTION	reduce by rule 56
++	EOF	reduce by rule 56
++
++
++	.	error
++
++
++state 52:
++
++	latencybind : latencyclauses .  (reduce by rule 55)
++
++	ARCHITECTURE	reduce by rule 55
++	END	reduce by rule 55
++	LOCAL	reduce by rule 55
++	IN	reduce by rule 55
++	DATATYPE	reduce by rule 55
++	TYPE	reduce by rule 55
++	AND	reduce by rule 55
++	RPAREN	reduce by rule 55
++	SEMICOLON	reduce by rule 55
++	STORAGE	reduce by rule 55
++	LOCATIONS	reduce by rule 55
++	STRUCTURE	reduce by rule 55
++	FUNCTOR	reduce by rule 55
++	SIGNATURE	reduce by rule 55
++	SHARING	reduce by rule 55
++	INSTRUCTION	reduce by rule 55
++	VLIW	reduce by rule 55
++	SUPERSCALAR	reduce by rule 55
++	FUN	reduce by rule 55
++	VAL	reduce by rule 55
++	INCLUDE	reduce by rule 55
++	OPEN	reduce by rule 55
++	LITTLE	reduce by rule 55
++	BIG	reduce by rule 55
++	PIPELINE	reduce by rule 55
++	LOWERCASE	reduce by rule 55
++	UPPERCASE	reduce by rule 55
++	VERBATIM	reduce by rule 55
++	RTL	reduce by rule 55
++	NONFIX	reduce by rule 55
++	INFIX	reduce by rule 55
++	INFIXR	reduce by rule 55
++	DEBUG	reduce by rule 55
++	RESOURCE	reduce by rule 55
++	CPU	reduce by rule 55
++	LATENCY	reduce by rule 55
++	EXCEPTION	reduce by rule 55
++	EOF	reduce by rule 55
++
++
++	.	error
++
++
++state 53:
++
++	latencybinds : latencybind .  (reduce by rule 53)
++	latencybinds : latencybind . AND latencybinds 
++
++	ARCHITECTURE	reduce by rule 53
++	END	reduce by rule 53
++	LOCAL	reduce by rule 53
++	IN	reduce by rule 53
++	DATATYPE	reduce by rule 53
++	TYPE	reduce by rule 53
++	AND	shift 172
++	RPAREN	reduce by rule 53
++	SEMICOLON	reduce by rule 53
++	STORAGE	reduce by rule 53
++	LOCATIONS	reduce by rule 53
++	STRUCTURE	reduce by rule 53
++	FUNCTOR	reduce by rule 53
++	SIGNATURE	reduce by rule 53
++	SHARING	reduce by rule 53
++	INSTRUCTION	reduce by rule 53
++	VLIW	reduce by rule 53
++	SUPERSCALAR	reduce by rule 53
++	FUN	reduce by rule 53
++	VAL	reduce by rule 53
++	INCLUDE	reduce by rule 53
++	OPEN	reduce by rule 53
++	LITTLE	reduce by rule 53
++	BIG	reduce by rule 53
++	PIPELINE	reduce by rule 53
++	LOWERCASE	reduce by rule 53
++	UPPERCASE	reduce by rule 53
++	VERBATIM	reduce by rule 53
++	RTL	reduce by rule 53
++	NONFIX	reduce by rule 53
++	INFIX	reduce by rule 53
++	INFIXR	reduce by rule 53
++	DEBUG	reduce by rule 53
++	RESOURCE	reduce by rule 53
++	CPU	reduce by rule 53
++	LATENCY	reduce by rule 53
++	EXCEPTION	reduce by rule 53
++	EOF	reduce by rule 53
++
++
++	.	error
++
++
++state 54:
++
++	mymddecl : LATENCY latencybinds .  (reduce by rule 27)
++
++	ARCHITECTURE	reduce by rule 27
++	END	reduce by rule 27
++	LOCAL	reduce by rule 27
++	IN	reduce by rule 27
++	DATATYPE	reduce by rule 27
++	TYPE	reduce by rule 27
++	RPAREN	reduce by rule 27
++	SEMICOLON	reduce by rule 27
++	STORAGE	reduce by rule 27
++	LOCATIONS	reduce by rule 27
++	STRUCTURE	reduce by rule 27
++	FUNCTOR	reduce by rule 27
++	SIGNATURE	reduce by rule 27
++	SHARING	reduce by rule 27
++	INSTRUCTION	reduce by rule 27
++	VLIW	reduce by rule 27
++	SUPERSCALAR	reduce by rule 27
++	FUN	reduce by rule 27
++	VAL	reduce by rule 27
++	INCLUDE	reduce by rule 27
++	OPEN	reduce by rule 27
++	LITTLE	reduce by rule 27
++	BIG	reduce by rule 27
++	PIPELINE	reduce by rule 27
++	LOWERCASE	reduce by rule 27
++	UPPERCASE	reduce by rule 27
++	VERBATIM	reduce by rule 27
++	RTL	reduce by rule 27
++	NONFIX	reduce by rule 27
++	INFIX	reduce by rule 27
++	INFIXR	reduce by rule 27
++	DEBUG	reduce by rule 27
++	RESOURCE	reduce by rule 27
++	CPU	reduce by rule 27
++	LATENCY	reduce by rule 27
++	EXCEPTION	reduce by rule 27
++	EOF	reduce by rule 27
++
++
++	.	error
++
++
++state 55:
++
++	latencyclause : id . pat EQ exp 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 173
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 56:
++
++	cpubinds : cpubind .  (reduce by rule 30)
++	cpubinds : cpubind . AND cpubinds 
++
++	ARCHITECTURE	reduce by rule 30
++	END	reduce by rule 30
++	LOCAL	reduce by rule 30
++	IN	reduce by rule 30
++	DATATYPE	reduce by rule 30
++	TYPE	reduce by rule 30
++	AND	shift 174
++	RPAREN	reduce by rule 30
++	SEMICOLON	reduce by rule 30
++	STORAGE	reduce by rule 30
++	LOCATIONS	reduce by rule 30
++	STRUCTURE	reduce by rule 30
++	FUNCTOR	reduce by rule 30
++	SIGNATURE	reduce by rule 30
++	SHARING	reduce by rule 30
++	INSTRUCTION	reduce by rule 30
++	VLIW	reduce by rule 30
++	SUPERSCALAR	reduce by rule 30
++	FUN	reduce by rule 30
++	VAL	reduce by rule 30
++	INCLUDE	reduce by rule 30
++	OPEN	reduce by rule 30
++	LITTLE	reduce by rule 30
++	BIG	reduce by rule 30
++	PIPELINE	reduce by rule 30
++	LOWERCASE	reduce by rule 30
++	UPPERCASE	reduce by rule 30
++	VERBATIM	reduce by rule 30
++	RTL	reduce by rule 30
++	NONFIX	reduce by rule 30
++	INFIX	reduce by rule 30
++	INFIXR	reduce by rule 30
++	DEBUG	reduce by rule 30
++	RESOURCE	reduce by rule 30
++	CPU	reduce by rule 30
++	LATENCY	reduce by rule 30
++	EXCEPTION	reduce by rule 30
++	EOF	reduce by rule 30
++
++
++	.	error
++
++
++state 57:
++
++	mymddecl : CPU cpubinds .  (reduce by rule 25)
++
++	ARCHITECTURE	reduce by rule 25
++	END	reduce by rule 25
++	LOCAL	reduce by rule 25
++	IN	reduce by rule 25
++	DATATYPE	reduce by rule 25
++	TYPE	reduce by rule 25
++	RPAREN	reduce by rule 25
++	SEMICOLON	reduce by rule 25
++	STORAGE	reduce by rule 25
++	LOCATIONS	reduce by rule 25
++	STRUCTURE	reduce by rule 25
++	FUNCTOR	reduce by rule 25
++	SIGNATURE	reduce by rule 25
++	SHARING	reduce by rule 25
++	INSTRUCTION	reduce by rule 25
++	VLIW	reduce by rule 25
++	SUPERSCALAR	reduce by rule 25
++	FUN	reduce by rule 25
++	VAL	reduce by rule 25
++	INCLUDE	reduce by rule 25
++	OPEN	reduce by rule 25
++	LITTLE	reduce by rule 25
++	BIG	reduce by rule 25
++	PIPELINE	reduce by rule 25
++	LOWERCASE	reduce by rule 25
++	UPPERCASE	reduce by rule 25
++	VERBATIM	reduce by rule 25
++	RTL	reduce by rule 25
++	NONFIX	reduce by rule 25
++	INFIX	reduce by rule 25
++	INFIXR	reduce by rule 25
++	DEBUG	reduce by rule 25
++	RESOURCE	reduce by rule 25
++	CPU	reduce by rule 25
++	LATENCY	reduce by rule 25
++	EXCEPTION	reduce by rule 25
++	EOF	reduce by rule 25
++
++
++	.	error
++
++
++state 58:
++
++	cpubind : id . aliases int LBRACKET resources RBRACKET 
++
++	INT	reduce by rule 33
++	STRING	shift 91
++
++	string	goto 176
++	aliases	goto 175
++
++	.	error
++
++
++state 59:
++
++	mymddecl : RESOURCE resourcebinds .  (reduce by rule 24)
++
++	ARCHITECTURE	reduce by rule 24
++	END	reduce by rule 24
++	LOCAL	reduce by rule 24
++	IN	reduce by rule 24
++	DATATYPE	reduce by rule 24
++	TYPE	reduce by rule 24
++	RPAREN	reduce by rule 24
++	SEMICOLON	reduce by rule 24
++	STORAGE	reduce by rule 24
++	LOCATIONS	reduce by rule 24
++	STRUCTURE	reduce by rule 24
++	FUNCTOR	reduce by rule 24
++	SIGNATURE	reduce by rule 24
++	SHARING	reduce by rule 24
++	INSTRUCTION	reduce by rule 24
++	VLIW	reduce by rule 24
++	SUPERSCALAR	reduce by rule 24
++	FUN	reduce by rule 24
++	VAL	reduce by rule 24
++	INCLUDE	reduce by rule 24
++	OPEN	reduce by rule 24
++	LITTLE	reduce by rule 24
++	BIG	reduce by rule 24
++	PIPELINE	reduce by rule 24
++	LOWERCASE	reduce by rule 24
++	UPPERCASE	reduce by rule 24
++	VERBATIM	reduce by rule 24
++	RTL	reduce by rule 24
++	NONFIX	reduce by rule 24
++	INFIX	reduce by rule 24
++	INFIXR	reduce by rule 24
++	DEBUG	reduce by rule 24
++	RESOURCE	reduce by rule 24
++	CPU	reduce by rule 24
++	LATENCY	reduce by rule 24
++	EXCEPTION	reduce by rule 24
++	EOF	reduce by rule 24
++
++
++	.	error
++
++
++state 60:
++
++	resourcebinds : id .  (reduce by rule 28)
++	resourcebinds : id . AND resourcebinds 
++
++	ARCHITECTURE	reduce by rule 28
++	END	reduce by rule 28
++	LOCAL	reduce by rule 28
++	IN	reduce by rule 28
++	DATATYPE	reduce by rule 28
++	TYPE	reduce by rule 28
++	AND	shift 177
++	RPAREN	reduce by rule 28
++	SEMICOLON	reduce by rule 28
++	STORAGE	reduce by rule 28
++	LOCATIONS	reduce by rule 28
++	STRUCTURE	reduce by rule 28
++	FUNCTOR	reduce by rule 28
++	SIGNATURE	reduce by rule 28
++	SHARING	reduce by rule 28
++	INSTRUCTION	reduce by rule 28
++	VLIW	reduce by rule 28
++	SUPERSCALAR	reduce by rule 28
++	FUN	reduce by rule 28
++	VAL	reduce by rule 28
++	INCLUDE	reduce by rule 28
++	OPEN	reduce by rule 28
++	LITTLE	reduce by rule 28
++	BIG	reduce by rule 28
++	PIPELINE	reduce by rule 28
++	LOWERCASE	reduce by rule 28
++	UPPERCASE	reduce by rule 28
++	VERBATIM	reduce by rule 28
++	RTL	reduce by rule 28
++	NONFIX	reduce by rule 28
++	INFIX	reduce by rule 28
++	INFIXR	reduce by rule 28
++	DEBUG	reduce by rule 28
++	RESOURCE	reduce by rule 28
++	CPU	reduce by rule 28
++	LATENCY	reduce by rule 28
++	EXCEPTION	reduce by rule 28
++	EOF	reduce by rule 28
++
++
++	.	error
++
++
++state 61:
++
++	mymddecl : DEBUG id .  (reduce by rule 23)
++
++	ARCHITECTURE	reduce by rule 23
++	END	reduce by rule 23
++	LOCAL	reduce by rule 23
++	IN	reduce by rule 23
++	DATATYPE	reduce by rule 23
++	TYPE	reduce by rule 23
++	RPAREN	reduce by rule 23
++	SEMICOLON	reduce by rule 23
++	STORAGE	reduce by rule 23
++	LOCATIONS	reduce by rule 23
++	STRUCTURE	reduce by rule 23
++	FUNCTOR	reduce by rule 23
++	SIGNATURE	reduce by rule 23
++	SHARING	reduce by rule 23
++	INSTRUCTION	reduce by rule 23
++	VLIW	reduce by rule 23
++	SUPERSCALAR	reduce by rule 23
++	FUN	reduce by rule 23
++	VAL	reduce by rule 23
++	INCLUDE	reduce by rule 23
++	OPEN	reduce by rule 23
++	LITTLE	reduce by rule 23
++	BIG	reduce by rule 23
++	PIPELINE	reduce by rule 23
++	LOWERCASE	reduce by rule 23
++	UPPERCASE	reduce by rule 23
++	VERBATIM	reduce by rule 23
++	RTL	reduce by rule 23
++	NONFIX	reduce by rule 23
++	INFIX	reduce by rule 23
++	INFIXR	reduce by rule 23
++	DEBUG	reduce by rule 23
++	RESOURCE	reduce by rule 23
++	CPU	reduce by rule 23
++	LATENCY	reduce by rule 23
++	EXCEPTION	reduce by rule 23
++	EOF	reduce by rule 23
++
++
++	.	error
++
++
++state 62:
++
++	mymldecl : INFIXR intopt . syms 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 68
++	symb	goto 67
++	syms	goto 178
++
++	.	error
++
++
++state 63:
++
++	intopt : int .  (reduce by rule 396)
++
++	TIMES	reduce by rule 396
++	DEREF	reduce by rule 396
++	NOT	reduce by rule 396
++	CELLSET	reduce by rule 396
++	ID	reduce by rule 396
++	SYMBOL	reduce by rule 396
++
++
++	.	error
++
++
++state 64:
++
++	int : INT .  (reduce by rule 395)
++
++	ARCHITECTURE	reduce by rule 395
++	END	reduce by rule 395
++	LOCAL	reduce by rule 395
++	IN	reduce by rule 395
++	OF	reduce by rule 395
++	DATATYPE	reduce by rule 395
++	TYPE	reduce by rule 395
++	EQ	reduce by rule 395
++	DOLLAR	reduce by rule 395
++	TIMES	reduce by rule 395
++	AND	reduce by rule 395
++	DEREF	reduce by rule 395
++	NOT	reduce by rule 395
++	CONCAT	reduce by rule 395
++	LLBRACKET	reduce by rule 395
++	LHASHBRACKET	reduce by rule 395
++	LPAREN	reduce by rule 395
++	RPAREN	reduce by rule 395
++	LBRACKET	reduce by rule 395
++	RBRACKET	reduce by rule 395
++	LBRACE	reduce by rule 395
++	RBRACE	reduce by rule 395
++	SEMICOLON	reduce by rule 395
++	LDQUOTE	reduce by rule 395
++	RMETA	reduce by rule 395
++	CELLSET	reduce by rule 395
++	STORAGE	reduce by rule 395
++	LOCATIONS	reduce by rule 395
++	HASH	reduce by rule 395
++	COMMA	reduce by rule 395
++	COLON	reduce by rule 395
++	DOTDOT	reduce by rule 395
++	AT	reduce by rule 395
++	BAR	reduce by rule 395
++	ARROW	reduce by rule 395
++	DARROW	reduce by rule 395
++	BITS	reduce by rule 395
++	THEN	reduce by rule 395
++	ELSE	reduce by rule 395
++	TRUE	reduce by rule 395
++	FALSE	reduce by rule 395
++	WILD	reduce by rule 395
++	HANDLE	reduce by rule 395
++	LET	reduce by rule 395
++	STRUCTURE	reduce by rule 395
++	FUNCTOR	reduce by rule 395
++	SIGNATURE	reduce by rule 395
++	WHERE	reduce by rule 395
++	SHARING	reduce by rule 395
++	INSTRUCTION	reduce by rule 395
++	CELL	reduce by rule 395
++	VLIW	reduce by rule 395
++	SUPERSCALAR	reduce by rule 395
++	WITHTYPE	reduce by rule 395
++	FUN	reduce by rule 395
++	VAL	reduce by rule 395
++	INCLUDE	reduce by rule 395
++	OPEN	reduce by rule 395
++	OP	reduce by rule 395
++	LITTLE	reduce by rule 395
++	BIG	reduce by rule 395
++	PIPELINE	reduce by rule 395
++	LOWERCASE	reduce by rule 395
++	UPPERCASE	reduce by rule 395
++	VERBATIM	reduce by rule 395
++	RTL	reduce by rule 395
++	SPAN	reduce by rule 395
++	DELAYSLOT	reduce by rule 395
++	ALWAYS	reduce by rule 395
++	NEVER	reduce by rule 395
++	NONFIX	reduce by rule 395
++	INFIX	reduce by rule 395
++	INFIXR	reduce by rule 395
++	DEBUG	reduce by rule 395
++	ASM_COLON	reduce by rule 395
++	MC_COLON	reduce by rule 395
++	RTL_COLON	reduce by rule 395
++	DELAYSLOT_COLON	reduce by rule 395
++	NULLIFIED_COLON	reduce by rule 395
++	PADDING_COLON	reduce by rule 395
++	AGGREGABLE	reduce by rule 395
++	RESOURCE	reduce by rule 395
++	CPU	reduce by rule 395
++	LATENCY	reduce by rule 395
++	EXCEPTION	reduce by rule 395
++	ID	reduce by rule 395
++	SYMBOL	reduce by rule 395
++	WORD	reduce by rule 395
++	INT	reduce by rule 395
++	INTINF	reduce by rule 395
++	REAL	reduce by rule 395
++	STRING	reduce by rule 395
++	CHAR	reduce by rule 395
++	EOF	reduce by rule 395
++
++
++	.	error
++
++
++state 65:
++
++	mymldecl : INFIX intopt . syms 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 68
++	symb	goto 67
++	syms	goto 179
++
++	.	error
++
++
++state 66:
++
++	mymldecl : NONFIX syms .  (reduce by rule 79)
++
++	ARCHITECTURE	reduce by rule 79
++	END	reduce by rule 79
++	LOCAL	reduce by rule 79
++	IN	reduce by rule 79
++	DATATYPE	reduce by rule 79
++	TYPE	reduce by rule 79
++	RPAREN	reduce by rule 79
++	SEMICOLON	reduce by rule 79
++	STORAGE	reduce by rule 79
++	LOCATIONS	reduce by rule 79
++	STRUCTURE	reduce by rule 79
++	FUNCTOR	reduce by rule 79
++	SIGNATURE	reduce by rule 79
++	SHARING	reduce by rule 79
++	INSTRUCTION	reduce by rule 79
++	VLIW	reduce by rule 79
++	SUPERSCALAR	reduce by rule 79
++	FUN	reduce by rule 79
++	VAL	reduce by rule 79
++	INCLUDE	reduce by rule 79
++	OPEN	reduce by rule 79
++	LITTLE	reduce by rule 79
++	BIG	reduce by rule 79
++	PIPELINE	reduce by rule 79
++	LOWERCASE	reduce by rule 79
++	UPPERCASE	reduce by rule 79
++	VERBATIM	reduce by rule 79
++	RTL	reduce by rule 79
++	NONFIX	reduce by rule 79
++	INFIX	reduce by rule 79
++	INFIXR	reduce by rule 79
++	DEBUG	reduce by rule 79
++	RESOURCE	reduce by rule 79
++	CPU	reduce by rule 79
++	LATENCY	reduce by rule 79
++	EXCEPTION	reduce by rule 79
++	EOF	reduce by rule 79
++
++
++	.	error
++
++
++state 67:
++
++	sym : symb .  (reduce by rule 417)
++
++	ARCHITECTURE	reduce by rule 417
++	END	reduce by rule 417
++	LOCAL	reduce by rule 417
++	IN	reduce by rule 417
++	OF	reduce by rule 417
++	DATATYPE	reduce by rule 417
++	TYPE	reduce by rule 417
++	EQ	reduce by rule 417
++	DOLLAR	reduce by rule 417
++	TIMES	reduce by rule 417
++	AND	reduce by rule 417
++	DEREF	reduce by rule 417
++	NOT	reduce by rule 417
++	CONCAT	reduce by rule 417
++	LLBRACKET	reduce by rule 417
++	RRBRACKET	reduce by rule 417
++	LHASHBRACKET	reduce by rule 417
++	LPAREN	reduce by rule 417
++	RPAREN	reduce by rule 417
++	LBRACKET	reduce by rule 417
++	RBRACKET	reduce by rule 417
++	LBRACE	reduce by rule 417
++	RBRACE	reduce by rule 417
++	SEMICOLON	reduce by rule 417
++	LDQUOTE	reduce by rule 417
++	RMETA	reduce by rule 417
++	CELLSET	reduce by rule 417
++	STORAGE	reduce by rule 417
++	LOCATIONS	reduce by rule 417
++	HASH	reduce by rule 417
++	COMMA	reduce by rule 417
++	COLON	reduce by rule 417
++	DOT	reduce by rule 417
++	AT	reduce by rule 417
++	BAR	reduce by rule 417
++	DARROW	reduce by rule 417
++	THEN	reduce by rule 417
++	ELSE	reduce by rule 417
++	TRUE	reduce by rule 417
++	FALSE	reduce by rule 417
++	WILD	reduce by rule 417
++	HANDLE	reduce by rule 417
++	LET	reduce by rule 417
++	STRUCTURE	reduce by rule 417
++	FUNCTOR	reduce by rule 417
++	SIGNATURE	reduce by rule 417
++	WHERE	reduce by rule 417
++	SHARING	reduce by rule 417
++	INSTRUCTION	reduce by rule 417
++	VLIW	reduce by rule 417
++	SUPERSCALAR	reduce by rule 417
++	AS	reduce by rule 417
++	WITHTYPE	reduce by rule 417
++	FUN	reduce by rule 417
++	VAL	reduce by rule 417
++	INCLUDE	reduce by rule 417
++	OPEN	reduce by rule 417
++	OP	reduce by rule 417
++	LITTLE	reduce by rule 417
++	BIG	reduce by rule 417
++	PIPELINE	reduce by rule 417
++	LOWERCASE	reduce by rule 417
++	UPPERCASE	reduce by rule 417
++	VERBATIM	reduce by rule 417
++	RTL	reduce by rule 417
++	SPAN	reduce by rule 417
++	DELAYSLOT	reduce by rule 417
++	ALWAYS	reduce by rule 417
++	NEVER	reduce by rule 417
++	NONFIX	reduce by rule 417
++	INFIX	reduce by rule 417
++	INFIXR	reduce by rule 417
++	DEBUG	reduce by rule 417
++	ASM_COLON	reduce by rule 417
++	MC_COLON	reduce by rule 417
++	RTL_COLON	reduce by rule 417
++	DELAYSLOT_COLON	reduce by rule 417
++	NULLIFIED_COLON	reduce by rule 417
++	PADDING_COLON	reduce by rule 417
++	RESOURCE	reduce by rule 417
++	CPU	reduce by rule 417
++	LATENCY	reduce by rule 417
++	EXCEPTION	reduce by rule 417
++	ID	reduce by rule 417
++	SYMBOL	reduce by rule 417
++	WORD	reduce by rule 417
++	INT	reduce by rule 417
++	INTINF	reduce by rule 417
++	REAL	reduce by rule 417
++	STRING	reduce by rule 417
++	CHAR	reduce by rule 417
++	EOF	reduce by rule 417
++
++
++	.	error
++
++
++state 68:
++
++	syms : sym .  (reduce by rule 109)
++	syms : sym . syms 
++
++	ARCHITECTURE	reduce by rule 109
++	END	reduce by rule 109
++	LOCAL	reduce by rule 109
++	IN	reduce by rule 109
++	DATATYPE	reduce by rule 109
++	TYPE	reduce by rule 109
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	RPAREN	reduce by rule 109
++	SEMICOLON	reduce by rule 109
++	CELLSET	shift 50
++	STORAGE	reduce by rule 109
++	LOCATIONS	reduce by rule 109
++	COLON	reduce by rule 109
++	STRUCTURE	reduce by rule 109
++	FUNCTOR	reduce by rule 109
++	SIGNATURE	reduce by rule 109
++	SHARING	reduce by rule 109
++	INSTRUCTION	reduce by rule 109
++	VLIW	reduce by rule 109
++	SUPERSCALAR	reduce by rule 109
++	FUN	reduce by rule 109
++	VAL	reduce by rule 109
++	INCLUDE	reduce by rule 109
++	OPEN	reduce by rule 109
++	LITTLE	reduce by rule 109
++	BIG	reduce by rule 109
++	PIPELINE	reduce by rule 109
++	LOWERCASE	reduce by rule 109
++	UPPERCASE	reduce by rule 109
++	VERBATIM	reduce by rule 109
++	RTL	reduce by rule 109
++	NONFIX	reduce by rule 109
++	INFIX	reduce by rule 109
++	INFIXR	reduce by rule 109
++	DEBUG	reduce by rule 109
++	RESOURCE	reduce by rule 109
++	CPU	reduce by rule 109
++	LATENCY	reduce by rule 109
++	EXCEPTION	reduce by rule 109
++	ID	shift 49
++	SYMBOL	shift 48
++	EOF	reduce by rule 109
++
++	id	goto 69
++	sym	goto 68
++	symb	goto 67
++	syms	goto 180
++
++	.	error
++
++
++state 69:
++
++	sym : id .  (reduce by rule 416)
++
++	ARCHITECTURE	reduce by rule 416
++	END	reduce by rule 416
++	LOCAL	reduce by rule 416
++	IN	reduce by rule 416
++	OF	reduce by rule 416
++	DATATYPE	reduce by rule 416
++	TYPE	reduce by rule 416
++	EQ	reduce by rule 416
++	DOLLAR	reduce by rule 416
++	TIMES	reduce by rule 416
++	AND	reduce by rule 416
++	DEREF	reduce by rule 416
++	NOT	reduce by rule 416
++	LLBRACKET	reduce by rule 416
++	RRBRACKET	reduce by rule 416
++	LHASHBRACKET	reduce by rule 416
++	LPAREN	reduce by rule 416
++	RPAREN	reduce by rule 416
++	LBRACKET	reduce by rule 416
++	RBRACKET	reduce by rule 416
++	LBRACE	reduce by rule 416
++	RBRACE	reduce by rule 416
++	SEMICOLON	reduce by rule 416
++	LDQUOTE	reduce by rule 416
++	RMETA	reduce by rule 416
++	CELLSET	reduce by rule 416
++	STORAGE	reduce by rule 416
++	LOCATIONS	reduce by rule 416
++	HASH	reduce by rule 416
++	COMMA	reduce by rule 416
++	COLON	reduce by rule 416
++	DOT	reduce by rule 416
++	AT	reduce by rule 416
++	BAR	reduce by rule 416
++	DARROW	reduce by rule 416
++	THEN	reduce by rule 416
++	ELSE	reduce by rule 416
++	TRUE	reduce by rule 416
++	FALSE	reduce by rule 416
++	WILD	reduce by rule 416
++	HANDLE	reduce by rule 416
++	LET	reduce by rule 416
++	STRUCTURE	reduce by rule 416
++	FUNCTOR	reduce by rule 416
++	SIGNATURE	reduce by rule 416
++	WHERE	reduce by rule 416
++	SHARING	reduce by rule 416
++	INSTRUCTION	reduce by rule 416
++	VLIW	reduce by rule 416
++	SUPERSCALAR	reduce by rule 416
++	AS	reduce by rule 416
++	WITHTYPE	reduce by rule 416
++	FUN	reduce by rule 416
++	VAL	reduce by rule 416
++	INCLUDE	reduce by rule 416
++	OPEN	reduce by rule 416
++	OP	reduce by rule 416
++	LITTLE	reduce by rule 416
++	BIG	reduce by rule 416
++	PIPELINE	reduce by rule 416
++	LOWERCASE	reduce by rule 416
++	UPPERCASE	reduce by rule 416
++	VERBATIM	reduce by rule 416
++	RTL	reduce by rule 416
++	SPAN	reduce by rule 416
++	DELAYSLOT	reduce by rule 416
++	ALWAYS	reduce by rule 416
++	NEVER	reduce by rule 416
++	NONFIX	reduce by rule 416
++	INFIX	reduce by rule 416
++	INFIXR	reduce by rule 416
++	DEBUG	reduce by rule 416
++	ASM_COLON	reduce by rule 416
++	MC_COLON	reduce by rule 416
++	RTL_COLON	reduce by rule 416
++	DELAYSLOT_COLON	reduce by rule 416
++	NULLIFIED_COLON	reduce by rule 416
++	PADDING_COLON	reduce by rule 416
++	RESOURCE	reduce by rule 416
++	CPU	reduce by rule 416
++	LATENCY	reduce by rule 416
++	EXCEPTION	reduce by rule 416
++	ID	reduce by rule 416
++	SYMBOL	reduce by rule 416
++	WORD	reduce by rule 416
++	INT	reduce by rule 416
++	INTINF	reduce by rule 416
++	REAL	reduce by rule 416
++	STRING	reduce by rule 416
++	CHAR	reduce by rule 416
++	EOF	reduce by rule 416
++
++
++	.	error
++
++
++state 70:
++
++	symb : NOT .  (reduce by rule 419)
++
++	ARCHITECTURE	reduce by rule 419
++	END	reduce by rule 419
++	LOCAL	reduce by rule 419
++	IN	reduce by rule 419
++	OF	reduce by rule 419
++	DATATYPE	reduce by rule 419
++	TYPE	reduce by rule 419
++	EQ	reduce by rule 419
++	DOLLAR	reduce by rule 419
++	TIMES	reduce by rule 419
++	AND	reduce by rule 419
++	DEREF	reduce by rule 419
++	NOT	reduce by rule 419
++	CONCAT	reduce by rule 419
++	LLBRACKET	reduce by rule 419
++	RRBRACKET	reduce by rule 419
++	LHASHBRACKET	reduce by rule 419
++	LPAREN	reduce by rule 419
++	RPAREN	reduce by rule 419
++	LBRACKET	reduce by rule 419
++	RBRACKET	reduce by rule 419
++	LBRACE	reduce by rule 419
++	RBRACE	reduce by rule 419
++	SEMICOLON	reduce by rule 419
++	LDQUOTE	reduce by rule 419
++	RMETA	reduce by rule 419
++	CELLSET	reduce by rule 419
++	STORAGE	reduce by rule 419
++	LOCATIONS	reduce by rule 419
++	HASH	reduce by rule 419
++	COMMA	reduce by rule 419
++	COLON	reduce by rule 419
++	DOT	reduce by rule 419
++	AT	reduce by rule 419
++	BAR	reduce by rule 419
++	DARROW	reduce by rule 419
++	THEN	reduce by rule 419
++	ELSE	reduce by rule 419
++	TRUE	reduce by rule 419
++	FALSE	reduce by rule 419
++	WILD	reduce by rule 419
++	HANDLE	reduce by rule 419
++	LET	reduce by rule 419
++	STRUCTURE	reduce by rule 419
++	FUNCTOR	reduce by rule 419
++	SIGNATURE	reduce by rule 419
++	WHERE	reduce by rule 419
++	SHARING	reduce by rule 419
++	INSTRUCTION	reduce by rule 419
++	VLIW	reduce by rule 419
++	SUPERSCALAR	reduce by rule 419
++	AS	reduce by rule 419
++	WITHTYPE	reduce by rule 419
++	FUN	reduce by rule 419
++	VAL	reduce by rule 419
++	INCLUDE	reduce by rule 419
++	OPEN	reduce by rule 419
++	OP	reduce by rule 419
++	LITTLE	reduce by rule 419
++	BIG	reduce by rule 419
++	PIPELINE	reduce by rule 419
++	LOWERCASE	reduce by rule 419
++	UPPERCASE	reduce by rule 419
++	VERBATIM	reduce by rule 419
++	RTL	reduce by rule 419
++	SPAN	reduce by rule 419
++	DELAYSLOT	reduce by rule 419
++	ALWAYS	reduce by rule 419
++	NEVER	reduce by rule 419
++	NONFIX	reduce by rule 419
++	INFIX	reduce by rule 419
++	INFIXR	reduce by rule 419
++	DEBUG	reduce by rule 419
++	ASM_COLON	reduce by rule 419
++	MC_COLON	reduce by rule 419
++	RTL_COLON	reduce by rule 419
++	DELAYSLOT_COLON	reduce by rule 419
++	NULLIFIED_COLON	reduce by rule 419
++	PADDING_COLON	reduce by rule 419
++	RESOURCE	reduce by rule 419
++	CPU	reduce by rule 419
++	LATENCY	reduce by rule 419
++	EXCEPTION	reduce by rule 419
++	ID	reduce by rule 419
++	SYMBOL	reduce by rule 419
++	WORD	reduce by rule 419
++	INT	reduce by rule 419
++	INTINF	reduce by rule 419
++	REAL	reduce by rule 419
++	STRING	reduce by rule 419
++	CHAR	reduce by rule 419
++	EOF	reduce by rule 419
++
++
++	.	error
++
++
++state 71:
++
++	symb : DEREF .  (reduce by rule 420)
++
++	ARCHITECTURE	reduce by rule 420
++	END	reduce by rule 420
++	LOCAL	reduce by rule 420
++	IN	reduce by rule 420
++	OF	reduce by rule 420
++	DATATYPE	reduce by rule 420
++	TYPE	reduce by rule 420
++	EQ	reduce by rule 420
++	DOLLAR	reduce by rule 420
++	TIMES	reduce by rule 420
++	AND	reduce by rule 420
++	DEREF	reduce by rule 420
++	NOT	reduce by rule 420
++	CONCAT	reduce by rule 420
++	LLBRACKET	reduce by rule 420
++	RRBRACKET	reduce by rule 420
++	LHASHBRACKET	reduce by rule 420
++	LPAREN	reduce by rule 420
++	RPAREN	reduce by rule 420
++	LBRACKET	reduce by rule 420
++	RBRACKET	reduce by rule 420
++	LBRACE	reduce by rule 420
++	RBRACE	reduce by rule 420
++	SEMICOLON	reduce by rule 420
++	LDQUOTE	reduce by rule 420
++	RMETA	reduce by rule 420
++	CELLSET	reduce by rule 420
++	STORAGE	reduce by rule 420
++	LOCATIONS	reduce by rule 420
++	HASH	reduce by rule 420
++	COMMA	reduce by rule 420
++	COLON	reduce by rule 420
++	DOT	reduce by rule 420
++	AT	reduce by rule 420
++	BAR	reduce by rule 420
++	DARROW	reduce by rule 420
++	THEN	reduce by rule 420
++	ELSE	reduce by rule 420
++	TRUE	reduce by rule 420
++	FALSE	reduce by rule 420
++	WILD	reduce by rule 420
++	HANDLE	reduce by rule 420
++	LET	reduce by rule 420
++	STRUCTURE	reduce by rule 420
++	FUNCTOR	reduce by rule 420
++	SIGNATURE	reduce by rule 420
++	WHERE	reduce by rule 420
++	SHARING	reduce by rule 420
++	INSTRUCTION	reduce by rule 420
++	VLIW	reduce by rule 420
++	SUPERSCALAR	reduce by rule 420
++	AS	reduce by rule 420
++	WITHTYPE	reduce by rule 420
++	FUN	reduce by rule 420
++	VAL	reduce by rule 420
++	INCLUDE	reduce by rule 420
++	OPEN	reduce by rule 420
++	OP	reduce by rule 420
++	LITTLE	reduce by rule 420
++	BIG	reduce by rule 420
++	PIPELINE	reduce by rule 420
++	LOWERCASE	reduce by rule 420
++	UPPERCASE	reduce by rule 420
++	VERBATIM	reduce by rule 420
++	RTL	reduce by rule 420
++	SPAN	reduce by rule 420
++	DELAYSLOT	reduce by rule 420
++	ALWAYS	reduce by rule 420
++	NEVER	reduce by rule 420
++	NONFIX	reduce by rule 420
++	INFIX	reduce by rule 420
++	INFIXR	reduce by rule 420
++	DEBUG	reduce by rule 420
++	ASM_COLON	reduce by rule 420
++	MC_COLON	reduce by rule 420
++	RTL_COLON	reduce by rule 420
++	DELAYSLOT_COLON	reduce by rule 420
++	NULLIFIED_COLON	reduce by rule 420
++	PADDING_COLON	reduce by rule 420
++	RESOURCE	reduce by rule 420
++	CPU	reduce by rule 420
++	LATENCY	reduce by rule 420
++	EXCEPTION	reduce by rule 420
++	ID	reduce by rule 420
++	SYMBOL	reduce by rule 420
++	WORD	reduce by rule 420
++	INT	reduce by rule 420
++	INTINF	reduce by rule 420
++	REAL	reduce by rule 420
++	STRING	reduce by rule 420
++	CHAR	reduce by rule 420
++	EOF	reduce by rule 420
++
++
++	.	error
++
++
++state 72:
++
++	symb : TIMES .  (reduce by rule 418)
++
++	ARCHITECTURE	reduce by rule 418
++	END	reduce by rule 418
++	LOCAL	reduce by rule 418
++	IN	reduce by rule 418
++	OF	reduce by rule 418
++	DATATYPE	reduce by rule 418
++	TYPE	reduce by rule 418
++	EQ	reduce by rule 418
++	DOLLAR	reduce by rule 418
++	TIMES	reduce by rule 418
++	AND	reduce by rule 418
++	DEREF	reduce by rule 418
++	NOT	reduce by rule 418
++	CONCAT	reduce by rule 418
++	LLBRACKET	reduce by rule 418
++	RRBRACKET	reduce by rule 418
++	LHASHBRACKET	reduce by rule 418
++	LPAREN	reduce by rule 418
++	RPAREN	reduce by rule 418
++	LBRACKET	reduce by rule 418
++	RBRACKET	reduce by rule 418
++	LBRACE	reduce by rule 418
++	RBRACE	reduce by rule 418
++	SEMICOLON	reduce by rule 418
++	LDQUOTE	reduce by rule 418
++	RMETA	reduce by rule 418
++	CELLSET	reduce by rule 418
++	STORAGE	reduce by rule 418
++	LOCATIONS	reduce by rule 418
++	HASH	reduce by rule 418
++	COMMA	reduce by rule 418
++	COLON	reduce by rule 418
++	DOT	reduce by rule 418
++	AT	reduce by rule 418
++	BAR	reduce by rule 418
++	DARROW	reduce by rule 418
++	THEN	reduce by rule 418
++	ELSE	reduce by rule 418
++	TRUE	reduce by rule 418
++	FALSE	reduce by rule 418
++	WILD	reduce by rule 418
++	HANDLE	reduce by rule 418
++	LET	reduce by rule 418
++	STRUCTURE	reduce by rule 418
++	FUNCTOR	reduce by rule 418
++	SIGNATURE	reduce by rule 418
++	WHERE	reduce by rule 418
++	SHARING	reduce by rule 418
++	INSTRUCTION	reduce by rule 418
++	VLIW	reduce by rule 418
++	SUPERSCALAR	reduce by rule 418
++	AS	reduce by rule 418
++	WITHTYPE	reduce by rule 418
++	FUN	reduce by rule 418
++	VAL	reduce by rule 418
++	INCLUDE	reduce by rule 418
++	OPEN	reduce by rule 418
++	OP	reduce by rule 418
++	LITTLE	reduce by rule 418
++	BIG	reduce by rule 418
++	PIPELINE	reduce by rule 418
++	LOWERCASE	reduce by rule 418
++	UPPERCASE	reduce by rule 418
++	VERBATIM	reduce by rule 418
++	RTL	reduce by rule 418
++	SPAN	reduce by rule 418
++	DELAYSLOT	reduce by rule 418
++	ALWAYS	reduce by rule 418
++	NEVER	reduce by rule 418
++	NONFIX	reduce by rule 418
++	INFIX	reduce by rule 418
++	INFIXR	reduce by rule 418
++	DEBUG	reduce by rule 418
++	ASM_COLON	reduce by rule 418
++	MC_COLON	reduce by rule 418
++	RTL_COLON	reduce by rule 418
++	DELAYSLOT_COLON	reduce by rule 418
++	NULLIFIED_COLON	reduce by rule 418
++	PADDING_COLON	reduce by rule 418
++	RESOURCE	reduce by rule 418
++	CPU	reduce by rule 418
++	LATENCY	reduce by rule 418
++	EXCEPTION	reduce by rule 418
++	ID	reduce by rule 418
++	SYMBOL	reduce by rule 418
++	WORD	reduce by rule 418
++	INT	reduce by rule 418
++	INTINF	reduce by rule 418
++	REAL	reduce by rule 418
++	STRING	reduce by rule 418
++	CHAR	reduce by rule 418
++	EOF	reduce by rule 418
++
++
++	.	error
++
++
++state 73:
++
++	bool : False .  (reduce by rule 430)
++
++	ARCHITECTURE	reduce by rule 430
++	END	reduce by rule 430
++	LOCAL	reduce by rule 430
++	IN	reduce by rule 430
++	OF	reduce by rule 430
++	DATATYPE	reduce by rule 430
++	TYPE	reduce by rule 430
++	EQ	reduce by rule 430
++	DOLLAR	reduce by rule 430
++	TIMES	reduce by rule 430
++	AND	reduce by rule 430
++	DEREF	reduce by rule 430
++	NOT	reduce by rule 430
++	LLBRACKET	reduce by rule 430
++	LHASHBRACKET	reduce by rule 430
++	LPAREN	reduce by rule 430
++	RPAREN	reduce by rule 430
++	LBRACKET	reduce by rule 430
++	RBRACKET	reduce by rule 430
++	LBRACE	reduce by rule 430
++	RBRACE	reduce by rule 430
++	SEMICOLON	reduce by rule 430
++	LDQUOTE	reduce by rule 430
++	RMETA	reduce by rule 430
++	CELLSET	reduce by rule 430
++	STORAGE	reduce by rule 430
++	LOCATIONS	reduce by rule 430
++	HASH	reduce by rule 430
++	COMMA	reduce by rule 430
++	COLON	reduce by rule 430
++	AT	reduce by rule 430
++	BAR	reduce by rule 430
++	DARROW	reduce by rule 430
++	THEN	reduce by rule 430
++	ELSE	reduce by rule 430
++	TRUE	reduce by rule 430
++	FALSE	reduce by rule 430
++	WILD	reduce by rule 430
++	HANDLE	reduce by rule 430
++	LET	reduce by rule 430
++	STRUCTURE	reduce by rule 430
++	FUNCTOR	reduce by rule 430
++	SIGNATURE	reduce by rule 430
++	WHERE	reduce by rule 430
++	SHARING	reduce by rule 430
++	INSTRUCTION	reduce by rule 430
++	VLIW	reduce by rule 430
++	SUPERSCALAR	reduce by rule 430
++	WITHTYPE	reduce by rule 430
++	FUN	reduce by rule 430
++	VAL	reduce by rule 430
++	INCLUDE	reduce by rule 430
++	OPEN	reduce by rule 430
++	OP	reduce by rule 430
++	LITTLE	reduce by rule 430
++	BIG	reduce by rule 430
++	PIPELINE	reduce by rule 430
++	LOWERCASE	reduce by rule 430
++	UPPERCASE	reduce by rule 430
++	VERBATIM	reduce by rule 430
++	RTL	reduce by rule 430
++	SPAN	reduce by rule 430
++	DELAYSLOT	reduce by rule 430
++	ALWAYS	reduce by rule 430
++	NEVER	reduce by rule 430
++	NONFIX	reduce by rule 430
++	INFIX	reduce by rule 430
++	INFIXR	reduce by rule 430
++	DEBUG	reduce by rule 430
++	ASM_COLON	reduce by rule 430
++	MC_COLON	reduce by rule 430
++	RTL_COLON	reduce by rule 430
++	DELAYSLOT_COLON	reduce by rule 430
++	NULLIFIED_COLON	reduce by rule 430
++	PADDING_COLON	reduce by rule 430
++	RESOURCE	reduce by rule 430
++	CPU	reduce by rule 430
++	LATENCY	reduce by rule 430
++	EXCEPTION	reduce by rule 430
++	ID	reduce by rule 430
++	SYMBOL	reduce by rule 430
++	WORD	reduce by rule 430
++	INT	reduce by rule 430
++	INTINF	reduce by rule 430
++	REAL	reduce by rule 430
++	STRING	reduce by rule 430
++	CHAR	reduce by rule 430
++	EOF	reduce by rule 430
++
++
++	.	error
++
++
++state 74:
++
++	bool : True .  (reduce by rule 431)
++
++	ARCHITECTURE	reduce by rule 431
++	END	reduce by rule 431
++	LOCAL	reduce by rule 431
++	IN	reduce by rule 431
++	OF	reduce by rule 431
++	DATATYPE	reduce by rule 431
++	TYPE	reduce by rule 431
++	EQ	reduce by rule 431
++	DOLLAR	reduce by rule 431
++	TIMES	reduce by rule 431
++	AND	reduce by rule 431
++	DEREF	reduce by rule 431
++	NOT	reduce by rule 431
++	LLBRACKET	reduce by rule 431
++	LHASHBRACKET	reduce by rule 431
++	LPAREN	reduce by rule 431
++	RPAREN	reduce by rule 431
++	LBRACKET	reduce by rule 431
++	RBRACKET	reduce by rule 431
++	LBRACE	reduce by rule 431
++	RBRACE	reduce by rule 431
++	SEMICOLON	reduce by rule 431
++	LDQUOTE	reduce by rule 431
++	RMETA	reduce by rule 431
++	CELLSET	reduce by rule 431
++	STORAGE	reduce by rule 431
++	LOCATIONS	reduce by rule 431
++	HASH	reduce by rule 431
++	COMMA	reduce by rule 431
++	COLON	reduce by rule 431
++	AT	reduce by rule 431
++	BAR	reduce by rule 431
++	DARROW	reduce by rule 431
++	THEN	reduce by rule 431
++	ELSE	reduce by rule 431
++	TRUE	reduce by rule 431
++	FALSE	reduce by rule 431
++	WILD	reduce by rule 431
++	HANDLE	reduce by rule 431
++	LET	reduce by rule 431
++	STRUCTURE	reduce by rule 431
++	FUNCTOR	reduce by rule 431
++	SIGNATURE	reduce by rule 431
++	WHERE	reduce by rule 431
++	SHARING	reduce by rule 431
++	INSTRUCTION	reduce by rule 431
++	VLIW	reduce by rule 431
++	SUPERSCALAR	reduce by rule 431
++	WITHTYPE	reduce by rule 431
++	FUN	reduce by rule 431
++	VAL	reduce by rule 431
++	INCLUDE	reduce by rule 431
++	OPEN	reduce by rule 431
++	OP	reduce by rule 431
++	LITTLE	reduce by rule 431
++	BIG	reduce by rule 431
++	PIPELINE	reduce by rule 431
++	LOWERCASE	reduce by rule 431
++	UPPERCASE	reduce by rule 431
++	VERBATIM	reduce by rule 431
++	RTL	reduce by rule 431
++	SPAN	reduce by rule 431
++	DELAYSLOT	reduce by rule 431
++	ALWAYS	reduce by rule 431
++	NEVER	reduce by rule 431
++	NONFIX	reduce by rule 431
++	INFIX	reduce by rule 431
++	INFIXR	reduce by rule 431
++	DEBUG	reduce by rule 431
++	ASM_COLON	reduce by rule 431
++	MC_COLON	reduce by rule 431
++	RTL_COLON	reduce by rule 431
++	DELAYSLOT_COLON	reduce by rule 431
++	NULLIFIED_COLON	reduce by rule 431
++	PADDING_COLON	reduce by rule 431
++	RESOURCE	reduce by rule 431
++	CPU	reduce by rule 431
++	LATENCY	reduce by rule 431
++	EXCEPTION	reduce by rule 431
++	ID	reduce by rule 431
++	SYMBOL	reduce by rule 431
++	WORD	reduce by rule 431
++	INT	reduce by rule 431
++	INTINF	reduce by rule 431
++	REAL	reduce by rule 431
++	STRING	reduce by rule 431
++	CHAR	reduce by rule 431
++	EOF	reduce by rule 431
++
++
++	.	error
++
++
++state 75:
++
++	apat : literal .  (reduce by rule 291)
++
++	EQ	reduce by rule 291
++	TIMES	reduce by rule 291
++	AND	reduce by rule 291
++	DEREF	reduce by rule 291
++	NOT	reduce by rule 291
++	LHASHBRACKET	reduce by rule 291
++	LPAREN	reduce by rule 291
++	RPAREN	reduce by rule 291
++	LBRACKET	reduce by rule 291
++	RBRACKET	reduce by rule 291
++	LBRACE	reduce by rule 291
++	RBRACE	reduce by rule 291
++	CELLSET	reduce by rule 291
++	COMMA	reduce by rule 291
++	COLON	reduce by rule 291
++	BAR	reduce by rule 291
++	DARROW	reduce by rule 291
++	TRUE	reduce by rule 291
++	FALSE	reduce by rule 291
++	WILD	reduce by rule 291
++	WHERE	reduce by rule 291
++	OP	reduce by rule 291
++	ALWAYS	reduce by rule 291
++	NEVER	reduce by rule 291
++	EXCEPTION	reduce by rule 291
++	ID	reduce by rule 291
++	SYMBOL	reduce by rule 291
++	WORD	reduce by rule 291
++	INT	reduce by rule 291
++	INTINF	reduce by rule 291
++	REAL	reduce by rule 291
++	STRING	reduce by rule 291
++	CHAR	reduce by rule 291
++
++
++	.	error
++
++
++state 76:
++
++	literal : bool .  (reduce by rule 239)
++
++	ARCHITECTURE	reduce by rule 239
++	END	reduce by rule 239
++	LOCAL	reduce by rule 239
++	IN	reduce by rule 239
++	OF	reduce by rule 239
++	DATATYPE	reduce by rule 239
++	TYPE	reduce by rule 239
++	EQ	reduce by rule 239
++	DOLLAR	reduce by rule 239
++	TIMES	reduce by rule 239
++	AND	reduce by rule 239
++	DEREF	reduce by rule 239
++	NOT	reduce by rule 239
++	LLBRACKET	reduce by rule 239
++	LHASHBRACKET	reduce by rule 239
++	LPAREN	reduce by rule 239
++	RPAREN	reduce by rule 239
++	LBRACKET	reduce by rule 239
++	RBRACKET	reduce by rule 239
++	LBRACE	reduce by rule 239
++	RBRACE	reduce by rule 239
++	SEMICOLON	reduce by rule 239
++	LDQUOTE	reduce by rule 239
++	RMETA	reduce by rule 239
++	CELLSET	reduce by rule 239
++	STORAGE	reduce by rule 239
++	LOCATIONS	reduce by rule 239
++	HASH	reduce by rule 239
++	COMMA	reduce by rule 239
++	COLON	reduce by rule 239
++	AT	reduce by rule 239
++	BAR	reduce by rule 239
++	DARROW	reduce by rule 239
++	THEN	reduce by rule 239
++	ELSE	reduce by rule 239
++	TRUE	reduce by rule 239
++	FALSE	reduce by rule 239
++	WILD	reduce by rule 239
++	HANDLE	reduce by rule 239
++	LET	reduce by rule 239
++	STRUCTURE	reduce by rule 239
++	FUNCTOR	reduce by rule 239
++	SIGNATURE	reduce by rule 239
++	WHERE	reduce by rule 239
++	SHARING	reduce by rule 239
++	INSTRUCTION	reduce by rule 239
++	VLIW	reduce by rule 239
++	SUPERSCALAR	reduce by rule 239
++	WITHTYPE	reduce by rule 239
++	FUN	reduce by rule 239
++	VAL	reduce by rule 239
++	INCLUDE	reduce by rule 239
++	OPEN	reduce by rule 239
++	OP	reduce by rule 239
++	LITTLE	reduce by rule 239
++	BIG	reduce by rule 239
++	PIPELINE	reduce by rule 239
++	LOWERCASE	reduce by rule 239
++	UPPERCASE	reduce by rule 239
++	VERBATIM	reduce by rule 239
++	RTL	reduce by rule 239
++	SPAN	reduce by rule 239
++	DELAYSLOT	reduce by rule 239
++	ALWAYS	reduce by rule 239
++	NEVER	reduce by rule 239
++	NONFIX	reduce by rule 239
++	INFIX	reduce by rule 239
++	INFIXR	reduce by rule 239
++	DEBUG	reduce by rule 239
++	ASM_COLON	reduce by rule 239
++	MC_COLON	reduce by rule 239
++	RTL_COLON	reduce by rule 239
++	DELAYSLOT_COLON	reduce by rule 239
++	NULLIFIED_COLON	reduce by rule 239
++	PADDING_COLON	reduce by rule 239
++	RESOURCE	reduce by rule 239
++	CPU	reduce by rule 239
++	LATENCY	reduce by rule 239
++	EXCEPTION	reduce by rule 239
++	ID	reduce by rule 239
++	SYMBOL	reduce by rule 239
++	WORD	reduce by rule 239
++	INT	reduce by rule 239
++	INTINF	reduce by rule 239
++	REAL	reduce by rule 239
++	STRING	reduce by rule 239
++	CHAR	reduce by rule 239
++	EOF	reduce by rule 239
++
++
++	.	error
++
++
++state 77:
++
++	literal : char .  (reduce by rule 238)
++
++	ARCHITECTURE	reduce by rule 238
++	END	reduce by rule 238
++	LOCAL	reduce by rule 238
++	IN	reduce by rule 238
++	OF	reduce by rule 238
++	DATATYPE	reduce by rule 238
++	TYPE	reduce by rule 238
++	EQ	reduce by rule 238
++	DOLLAR	reduce by rule 238
++	TIMES	reduce by rule 238
++	AND	reduce by rule 238
++	DEREF	reduce by rule 238
++	NOT	reduce by rule 238
++	LLBRACKET	reduce by rule 238
++	LHASHBRACKET	reduce by rule 238
++	LPAREN	reduce by rule 238
++	RPAREN	reduce by rule 238
++	LBRACKET	reduce by rule 238
++	RBRACKET	reduce by rule 238
++	LBRACE	reduce by rule 238
++	RBRACE	reduce by rule 238
++	SEMICOLON	reduce by rule 238
++	LDQUOTE	reduce by rule 238
++	RMETA	reduce by rule 238
++	CELLSET	reduce by rule 238
++	STORAGE	reduce by rule 238
++	LOCATIONS	reduce by rule 238
++	HASH	reduce by rule 238
++	COMMA	reduce by rule 238
++	COLON	reduce by rule 238
++	AT	reduce by rule 238
++	BAR	reduce by rule 238
++	DARROW	reduce by rule 238
++	THEN	reduce by rule 238
++	ELSE	reduce by rule 238
++	TRUE	reduce by rule 238
++	FALSE	reduce by rule 238
++	WILD	reduce by rule 238
++	HANDLE	reduce by rule 238
++	LET	reduce by rule 238
++	STRUCTURE	reduce by rule 238
++	FUNCTOR	reduce by rule 238
++	SIGNATURE	reduce by rule 238
++	WHERE	reduce by rule 238
++	SHARING	reduce by rule 238
++	INSTRUCTION	reduce by rule 238
++	VLIW	reduce by rule 238
++	SUPERSCALAR	reduce by rule 238
++	WITHTYPE	reduce by rule 238
++	FUN	reduce by rule 238
++	VAL	reduce by rule 238
++	INCLUDE	reduce by rule 238
++	OPEN	reduce by rule 238
++	OP	reduce by rule 238
++	LITTLE	reduce by rule 238
++	BIG	reduce by rule 238
++	PIPELINE	reduce by rule 238
++	LOWERCASE	reduce by rule 238
++	UPPERCASE	reduce by rule 238
++	VERBATIM	reduce by rule 238
++	RTL	reduce by rule 238
++	SPAN	reduce by rule 238
++	DELAYSLOT	reduce by rule 238
++	ALWAYS	reduce by rule 238
++	NEVER	reduce by rule 238
++	NONFIX	reduce by rule 238
++	INFIX	reduce by rule 238
++	INFIXR	reduce by rule 238
++	DEBUG	reduce by rule 238
++	ASM_COLON	reduce by rule 238
++	MC_COLON	reduce by rule 238
++	RTL_COLON	reduce by rule 238
++	DELAYSLOT_COLON	reduce by rule 238
++	NULLIFIED_COLON	reduce by rule 238
++	PADDING_COLON	reduce by rule 238
++	RESOURCE	reduce by rule 238
++	CPU	reduce by rule 238
++	LATENCY	reduce by rule 238
++	EXCEPTION	reduce by rule 238
++	ID	reduce by rule 238
++	SYMBOL	reduce by rule 238
++	WORD	reduce by rule 238
++	INT	reduce by rule 238
++	INTINF	reduce by rule 238
++	REAL	reduce by rule 238
++	STRING	reduce by rule 238
++	CHAR	reduce by rule 238
++	EOF	reduce by rule 238
++
++
++	.	error
++
++
++state 78:
++
++	literal : string .  (reduce by rule 237)
++
++	ARCHITECTURE	reduce by rule 237
++	END	reduce by rule 237
++	LOCAL	reduce by rule 237
++	IN	reduce by rule 237
++	OF	reduce by rule 237
++	DATATYPE	reduce by rule 237
++	TYPE	reduce by rule 237
++	EQ	reduce by rule 237
++	DOLLAR	reduce by rule 237
++	TIMES	reduce by rule 237
++	AND	reduce by rule 237
++	DEREF	reduce by rule 237
++	NOT	reduce by rule 237
++	LLBRACKET	reduce by rule 237
++	LHASHBRACKET	reduce by rule 237
++	LPAREN	reduce by rule 237
++	RPAREN	reduce by rule 237
++	LBRACKET	reduce by rule 237
++	RBRACKET	reduce by rule 237
++	LBRACE	reduce by rule 237
++	RBRACE	reduce by rule 237
++	SEMICOLON	reduce by rule 237
++	LDQUOTE	reduce by rule 237
++	RMETA	reduce by rule 237
++	CELLSET	reduce by rule 237
++	STORAGE	reduce by rule 237
++	LOCATIONS	reduce by rule 237
++	HASH	reduce by rule 237
++	COMMA	reduce by rule 237
++	COLON	reduce by rule 237
++	AT	reduce by rule 237
++	BAR	reduce by rule 237
++	DARROW	reduce by rule 237
++	THEN	reduce by rule 237
++	ELSE	reduce by rule 237
++	TRUE	reduce by rule 237
++	FALSE	reduce by rule 237
++	WILD	reduce by rule 237
++	HANDLE	reduce by rule 237
++	LET	reduce by rule 237
++	STRUCTURE	reduce by rule 237
++	FUNCTOR	reduce by rule 237
++	SIGNATURE	reduce by rule 237
++	WHERE	reduce by rule 237
++	SHARING	reduce by rule 237
++	INSTRUCTION	reduce by rule 237
++	VLIW	reduce by rule 237
++	SUPERSCALAR	reduce by rule 237
++	WITHTYPE	reduce by rule 237
++	FUN	reduce by rule 237
++	VAL	reduce by rule 237
++	INCLUDE	reduce by rule 237
++	OPEN	reduce by rule 237
++	OP	reduce by rule 237
++	LITTLE	reduce by rule 237
++	BIG	reduce by rule 237
++	PIPELINE	reduce by rule 237
++	LOWERCASE	reduce by rule 237
++	UPPERCASE	reduce by rule 237
++	VERBATIM	reduce by rule 237
++	RTL	reduce by rule 237
++	SPAN	reduce by rule 237
++	DELAYSLOT	reduce by rule 237
++	ALWAYS	reduce by rule 237
++	NEVER	reduce by rule 237
++	NONFIX	reduce by rule 237
++	INFIX	reduce by rule 237
++	INFIXR	reduce by rule 237
++	DEBUG	reduce by rule 237
++	ASM_COLON	reduce by rule 237
++	MC_COLON	reduce by rule 237
++	RTL_COLON	reduce by rule 237
++	DELAYSLOT_COLON	reduce by rule 237
++	NULLIFIED_COLON	reduce by rule 237
++	PADDING_COLON	reduce by rule 237
++	RESOURCE	reduce by rule 237
++	CPU	reduce by rule 237
++	LATENCY	reduce by rule 237
++	EXCEPTION	reduce by rule 237
++	ID	reduce by rule 237
++	SYMBOL	reduce by rule 237
++	WORD	reduce by rule 237
++	INT	reduce by rule 237
++	INTINF	reduce by rule 237
++	REAL	reduce by rule 237
++	STRING	reduce by rule 237
++	CHAR	reduce by rule 237
++	EOF	reduce by rule 237
++
++
++	.	error
++
++
++state 79:
++
++	literal : real .  (reduce by rule 240)
++
++	ARCHITECTURE	reduce by rule 240
++	END	reduce by rule 240
++	LOCAL	reduce by rule 240
++	IN	reduce by rule 240
++	OF	reduce by rule 240
++	DATATYPE	reduce by rule 240
++	TYPE	reduce by rule 240
++	EQ	reduce by rule 240
++	DOLLAR	reduce by rule 240
++	TIMES	reduce by rule 240
++	AND	reduce by rule 240
++	DEREF	reduce by rule 240
++	NOT	reduce by rule 240
++	LLBRACKET	reduce by rule 240
++	LHASHBRACKET	reduce by rule 240
++	LPAREN	reduce by rule 240
++	RPAREN	reduce by rule 240
++	LBRACKET	reduce by rule 240
++	RBRACKET	reduce by rule 240
++	LBRACE	reduce by rule 240
++	RBRACE	reduce by rule 240
++	SEMICOLON	reduce by rule 240
++	LDQUOTE	reduce by rule 240
++	RMETA	reduce by rule 240
++	CELLSET	reduce by rule 240
++	STORAGE	reduce by rule 240
++	LOCATIONS	reduce by rule 240
++	HASH	reduce by rule 240
++	COMMA	reduce by rule 240
++	COLON	reduce by rule 240
++	AT	reduce by rule 240
++	BAR	reduce by rule 240
++	DARROW	reduce by rule 240
++	THEN	reduce by rule 240
++	ELSE	reduce by rule 240
++	TRUE	reduce by rule 240
++	FALSE	reduce by rule 240
++	WILD	reduce by rule 240
++	HANDLE	reduce by rule 240
++	LET	reduce by rule 240
++	STRUCTURE	reduce by rule 240
++	FUNCTOR	reduce by rule 240
++	SIGNATURE	reduce by rule 240
++	WHERE	reduce by rule 240
++	SHARING	reduce by rule 240
++	INSTRUCTION	reduce by rule 240
++	VLIW	reduce by rule 240
++	SUPERSCALAR	reduce by rule 240
++	WITHTYPE	reduce by rule 240
++	FUN	reduce by rule 240
++	VAL	reduce by rule 240
++	INCLUDE	reduce by rule 240
++	OPEN	reduce by rule 240
++	OP	reduce by rule 240
++	LITTLE	reduce by rule 240
++	BIG	reduce by rule 240
++	PIPELINE	reduce by rule 240
++	LOWERCASE	reduce by rule 240
++	UPPERCASE	reduce by rule 240
++	VERBATIM	reduce by rule 240
++	RTL	reduce by rule 240
++	SPAN	reduce by rule 240
++	DELAYSLOT	reduce by rule 240
++	ALWAYS	reduce by rule 240
++	NEVER	reduce by rule 240
++	NONFIX	reduce by rule 240
++	INFIX	reduce by rule 240
++	INFIXR	reduce by rule 240
++	DEBUG	reduce by rule 240
++	ASM_COLON	reduce by rule 240
++	MC_COLON	reduce by rule 240
++	RTL_COLON	reduce by rule 240
++	DELAYSLOT_COLON	reduce by rule 240
++	NULLIFIED_COLON	reduce by rule 240
++	PADDING_COLON	reduce by rule 240
++	RESOURCE	reduce by rule 240
++	CPU	reduce by rule 240
++	LATENCY	reduce by rule 240
++	EXCEPTION	reduce by rule 240
++	ID	reduce by rule 240
++	SYMBOL	reduce by rule 240
++	WORD	reduce by rule 240
++	INT	reduce by rule 240
++	INTINF	reduce by rule 240
++	REAL	reduce by rule 240
++	STRING	reduce by rule 240
++	CHAR	reduce by rule 240
++	EOF	reduce by rule 240
++
++
++	.	error
++
++
++state 80:
++
++	literal : intinf .  (reduce by rule 236)
++
++	ARCHITECTURE	reduce by rule 236
++	END	reduce by rule 236
++	LOCAL	reduce by rule 236
++	IN	reduce by rule 236
++	OF	reduce by rule 236
++	DATATYPE	reduce by rule 236
++	TYPE	reduce by rule 236
++	EQ	reduce by rule 236
++	DOLLAR	reduce by rule 236
++	TIMES	reduce by rule 236
++	AND	reduce by rule 236
++	DEREF	reduce by rule 236
++	NOT	reduce by rule 236
++	LLBRACKET	reduce by rule 236
++	LHASHBRACKET	reduce by rule 236
++	LPAREN	reduce by rule 236
++	RPAREN	reduce by rule 236
++	LBRACKET	reduce by rule 236
++	RBRACKET	reduce by rule 236
++	LBRACE	reduce by rule 236
++	RBRACE	reduce by rule 236
++	SEMICOLON	reduce by rule 236
++	LDQUOTE	reduce by rule 236
++	RMETA	reduce by rule 236
++	CELLSET	reduce by rule 236
++	STORAGE	reduce by rule 236
++	LOCATIONS	reduce by rule 236
++	HASH	reduce by rule 236
++	COMMA	reduce by rule 236
++	COLON	reduce by rule 236
++	AT	reduce by rule 236
++	BAR	reduce by rule 236
++	DARROW	reduce by rule 236
++	THEN	reduce by rule 236
++	ELSE	reduce by rule 236
++	TRUE	reduce by rule 236
++	FALSE	reduce by rule 236
++	WILD	reduce by rule 236
++	HANDLE	reduce by rule 236
++	LET	reduce by rule 236
++	STRUCTURE	reduce by rule 236
++	FUNCTOR	reduce by rule 236
++	SIGNATURE	reduce by rule 236
++	WHERE	reduce by rule 236
++	SHARING	reduce by rule 236
++	INSTRUCTION	reduce by rule 236
++	VLIW	reduce by rule 236
++	SUPERSCALAR	reduce by rule 236
++	WITHTYPE	reduce by rule 236
++	FUN	reduce by rule 236
++	VAL	reduce by rule 236
++	INCLUDE	reduce by rule 236
++	OPEN	reduce by rule 236
++	OP	reduce by rule 236
++	LITTLE	reduce by rule 236
++	BIG	reduce by rule 236
++	PIPELINE	reduce by rule 236
++	LOWERCASE	reduce by rule 236
++	UPPERCASE	reduce by rule 236
++	VERBATIM	reduce by rule 236
++	RTL	reduce by rule 236
++	SPAN	reduce by rule 236
++	DELAYSLOT	reduce by rule 236
++	ALWAYS	reduce by rule 236
++	NEVER	reduce by rule 236
++	NONFIX	reduce by rule 236
++	INFIX	reduce by rule 236
++	INFIXR	reduce by rule 236
++	DEBUG	reduce by rule 236
++	ASM_COLON	reduce by rule 236
++	MC_COLON	reduce by rule 236
++	RTL_COLON	reduce by rule 236
++	DELAYSLOT_COLON	reduce by rule 236
++	NULLIFIED_COLON	reduce by rule 236
++	PADDING_COLON	reduce by rule 236
++	RESOURCE	reduce by rule 236
++	CPU	reduce by rule 236
++	LATENCY	reduce by rule 236
++	EXCEPTION	reduce by rule 236
++	ID	reduce by rule 236
++	SYMBOL	reduce by rule 236
++	WORD	reduce by rule 236
++	INT	reduce by rule 236
++	INTINF	reduce by rule 236
++	REAL	reduce by rule 236
++	STRING	reduce by rule 236
++	CHAR	reduce by rule 236
++	EOF	reduce by rule 236
++
++
++	.	error
++
++
++state 81:
++
++	literal : int .  (reduce by rule 235)
++
++	ARCHITECTURE	reduce by rule 235
++	END	reduce by rule 235
++	LOCAL	reduce by rule 235
++	IN	reduce by rule 235
++	OF	reduce by rule 235
++	DATATYPE	reduce by rule 235
++	TYPE	reduce by rule 235
++	EQ	reduce by rule 235
++	DOLLAR	reduce by rule 235
++	TIMES	reduce by rule 235
++	AND	reduce by rule 235
++	DEREF	reduce by rule 235
++	NOT	reduce by rule 235
++	LLBRACKET	reduce by rule 235
++	LHASHBRACKET	reduce by rule 235
++	LPAREN	reduce by rule 235
++	RPAREN	reduce by rule 235
++	LBRACKET	reduce by rule 235
++	RBRACKET	reduce by rule 235
++	LBRACE	reduce by rule 235
++	RBRACE	reduce by rule 235
++	SEMICOLON	reduce by rule 235
++	LDQUOTE	reduce by rule 235
++	RMETA	reduce by rule 235
++	CELLSET	reduce by rule 235
++	STORAGE	reduce by rule 235
++	LOCATIONS	reduce by rule 235
++	HASH	reduce by rule 235
++	COMMA	reduce by rule 235
++	COLON	reduce by rule 235
++	AT	reduce by rule 235
++	BAR	reduce by rule 235
++	DARROW	reduce by rule 235
++	THEN	reduce by rule 235
++	ELSE	reduce by rule 235
++	TRUE	reduce by rule 235
++	FALSE	reduce by rule 235
++	WILD	reduce by rule 235
++	HANDLE	reduce by rule 235
++	LET	reduce by rule 235
++	STRUCTURE	reduce by rule 235
++	FUNCTOR	reduce by rule 235
++	SIGNATURE	reduce by rule 235
++	WHERE	reduce by rule 235
++	SHARING	reduce by rule 235
++	INSTRUCTION	reduce by rule 235
++	VLIW	reduce by rule 235
++	SUPERSCALAR	reduce by rule 235
++	WITHTYPE	reduce by rule 235
++	FUN	reduce by rule 235
++	VAL	reduce by rule 235
++	INCLUDE	reduce by rule 235
++	OPEN	reduce by rule 235
++	OP	reduce by rule 235
++	LITTLE	reduce by rule 235
++	BIG	reduce by rule 235
++	PIPELINE	reduce by rule 235
++	LOWERCASE	reduce by rule 235
++	UPPERCASE	reduce by rule 235
++	VERBATIM	reduce by rule 235
++	RTL	reduce by rule 235
++	SPAN	reduce by rule 235
++	DELAYSLOT	reduce by rule 235
++	ALWAYS	reduce by rule 235
++	NEVER	reduce by rule 235
++	NONFIX	reduce by rule 235
++	INFIX	reduce by rule 235
++	INFIXR	reduce by rule 235
++	DEBUG	reduce by rule 235
++	ASM_COLON	reduce by rule 235
++	MC_COLON	reduce by rule 235
++	RTL_COLON	reduce by rule 235
++	DELAYSLOT_COLON	reduce by rule 235
++	NULLIFIED_COLON	reduce by rule 235
++	PADDING_COLON	reduce by rule 235
++	RESOURCE	reduce by rule 235
++	CPU	reduce by rule 235
++	LATENCY	reduce by rule 235
++	EXCEPTION	reduce by rule 235
++	ID	reduce by rule 235
++	SYMBOL	reduce by rule 235
++	WORD	reduce by rule 235
++	INT	reduce by rule 235
++	INTINF	reduce by rule 235
++	REAL	reduce by rule 235
++	STRING	reduce by rule 235
++	CHAR	reduce by rule 235
++	EOF	reduce by rule 235
++
++
++	.	error
++
++
++state 82:
++
++	literal : word .  (reduce by rule 234)
++
++	ARCHITECTURE	reduce by rule 234
++	END	reduce by rule 234
++	LOCAL	reduce by rule 234
++	IN	reduce by rule 234
++	OF	reduce by rule 234
++	DATATYPE	reduce by rule 234
++	TYPE	reduce by rule 234
++	EQ	reduce by rule 234
++	DOLLAR	reduce by rule 234
++	TIMES	reduce by rule 234
++	AND	reduce by rule 234
++	DEREF	reduce by rule 234
++	NOT	reduce by rule 234
++	LLBRACKET	reduce by rule 234
++	LHASHBRACKET	reduce by rule 234
++	LPAREN	reduce by rule 234
++	RPAREN	reduce by rule 234
++	LBRACKET	reduce by rule 234
++	RBRACKET	reduce by rule 234
++	LBRACE	reduce by rule 234
++	RBRACE	reduce by rule 234
++	SEMICOLON	reduce by rule 234
++	LDQUOTE	reduce by rule 234
++	RMETA	reduce by rule 234
++	CELLSET	reduce by rule 234
++	STORAGE	reduce by rule 234
++	LOCATIONS	reduce by rule 234
++	HASH	reduce by rule 234
++	COMMA	reduce by rule 234
++	COLON	reduce by rule 234
++	AT	reduce by rule 234
++	BAR	reduce by rule 234
++	DARROW	reduce by rule 234
++	THEN	reduce by rule 234
++	ELSE	reduce by rule 234
++	TRUE	reduce by rule 234
++	FALSE	reduce by rule 234
++	WILD	reduce by rule 234
++	HANDLE	reduce by rule 234
++	LET	reduce by rule 234
++	STRUCTURE	reduce by rule 234
++	FUNCTOR	reduce by rule 234
++	SIGNATURE	reduce by rule 234
++	WHERE	reduce by rule 234
++	SHARING	reduce by rule 234
++	INSTRUCTION	reduce by rule 234
++	VLIW	reduce by rule 234
++	SUPERSCALAR	reduce by rule 234
++	WITHTYPE	reduce by rule 234
++	FUN	reduce by rule 234
++	VAL	reduce by rule 234
++	INCLUDE	reduce by rule 234
++	OPEN	reduce by rule 234
++	OP	reduce by rule 234
++	LITTLE	reduce by rule 234
++	BIG	reduce by rule 234
++	PIPELINE	reduce by rule 234
++	LOWERCASE	reduce by rule 234
++	UPPERCASE	reduce by rule 234
++	VERBATIM	reduce by rule 234
++	RTL	reduce by rule 234
++	SPAN	reduce by rule 234
++	DELAYSLOT	reduce by rule 234
++	ALWAYS	reduce by rule 234
++	NEVER	reduce by rule 234
++	NONFIX	reduce by rule 234
++	INFIX	reduce by rule 234
++	INFIXR	reduce by rule 234
++	DEBUG	reduce by rule 234
++	ASM_COLON	reduce by rule 234
++	MC_COLON	reduce by rule 234
++	RTL_COLON	reduce by rule 234
++	DELAYSLOT_COLON	reduce by rule 234
++	NULLIFIED_COLON	reduce by rule 234
++	PADDING_COLON	reduce by rule 234
++	RESOURCE	reduce by rule 234
++	CPU	reduce by rule 234
++	LATENCY	reduce by rule 234
++	EXCEPTION	reduce by rule 234
++	ID	reduce by rule 234
++	SYMBOL	reduce by rule 234
++	WORD	reduce by rule 234
++	INT	reduce by rule 234
++	INTINF	reduce by rule 234
++	REAL	reduce by rule 234
++	STRING	reduce by rule 234
++	CHAR	reduce by rule 234
++	EOF	reduce by rule 234
++
++
++	.	error
++
++
++state 83:
++
++	mymldecl : RTL asapat . EQ exp 
++
++	EQ	shift 181
++
++
++	.	error
++
++
++state 84:
++
++	asapat : apat .  (reduce by rule 319)
++
++	EQ	reduce by rule 319
++
++
++	.	error
++
++
++state 85:
++
++	ident2 : path .  (reduce by rule 423)
++	path : path . DOT sym 
++
++	ARCHITECTURE	reduce by rule 423
++	END	reduce by rule 423
++	LOCAL	reduce by rule 423
++	IN	reduce by rule 423
++	OF	reduce by rule 423
++	DATATYPE	reduce by rule 423
++	TYPE	reduce by rule 423
++	EQ	reduce by rule 423
++	DOLLAR	reduce by rule 423
++	TIMES	reduce by rule 423
++	AND	reduce by rule 423
++	DEREF	reduce by rule 423
++	NOT	reduce by rule 423
++	LLBRACKET	reduce by rule 423
++	LHASHBRACKET	reduce by rule 423
++	LPAREN	reduce by rule 423
++	RPAREN	reduce by rule 423
++	LBRACKET	reduce by rule 423
++	RBRACKET	reduce by rule 423
++	LBRACE	reduce by rule 423
++	RBRACE	reduce by rule 423
++	SEMICOLON	reduce by rule 423
++	LDQUOTE	reduce by rule 423
++	RMETA	reduce by rule 423
++	CELLSET	reduce by rule 423
++	STORAGE	reduce by rule 423
++	LOCATIONS	reduce by rule 423
++	HASH	reduce by rule 423
++	COMMA	reduce by rule 423
++	COLON	reduce by rule 423
++	DOT	shift 182
++	AT	reduce by rule 423
++	BAR	reduce by rule 423
++	DARROW	reduce by rule 423
++	THEN	reduce by rule 423
++	ELSE	reduce by rule 423
++	TRUE	reduce by rule 423
++	FALSE	reduce by rule 423
++	WILD	reduce by rule 423
++	HANDLE	reduce by rule 423
++	LET	reduce by rule 423
++	STRUCTURE	reduce by rule 423
++	FUNCTOR	reduce by rule 423
++	SIGNATURE	reduce by rule 423
++	WHERE	reduce by rule 423
++	SHARING	reduce by rule 423
++	INSTRUCTION	reduce by rule 423
++	VLIW	reduce by rule 423
++	SUPERSCALAR	reduce by rule 423
++	WITHTYPE	reduce by rule 423
++	FUN	reduce by rule 423
++	VAL	reduce by rule 423
++	INCLUDE	reduce by rule 423
++	OPEN	reduce by rule 423
++	OP	reduce by rule 423
++	LITTLE	reduce by rule 423
++	BIG	reduce by rule 423
++	PIPELINE	reduce by rule 423
++	LOWERCASE	reduce by rule 423
++	UPPERCASE	reduce by rule 423
++	VERBATIM	reduce by rule 423
++	RTL	reduce by rule 423
++	SPAN	reduce by rule 423
++	DELAYSLOT	reduce by rule 423
++	ALWAYS	reduce by rule 423
++	NEVER	reduce by rule 423
++	NONFIX	reduce by rule 423
++	INFIX	reduce by rule 423
++	INFIXR	reduce by rule 423
++	DEBUG	reduce by rule 423
++	ASM_COLON	reduce by rule 423
++	MC_COLON	reduce by rule 423
++	RTL_COLON	reduce by rule 423
++	DELAYSLOT_COLON	reduce by rule 423
++	NULLIFIED_COLON	reduce by rule 423
++	PADDING_COLON	reduce by rule 423
++	RESOURCE	reduce by rule 423
++	CPU	reduce by rule 423
++	LATENCY	reduce by rule 423
++	EXCEPTION	reduce by rule 423
++	ID	reduce by rule 423
++	SYMBOL	reduce by rule 423
++	WORD	reduce by rule 423
++	INT	reduce by rule 423
++	INTINF	reduce by rule 423
++	REAL	reduce by rule 423
++	STRING	reduce by rule 423
++	CHAR	reduce by rule 423
++	EOF	reduce by rule 423
++
++
++	.	error
++
++
++state 86:
++
++	mymldecl : RTL syms . COLON ty 
++
++	COLON	shift 183
++
++
++	.	error
++
++
++state 87:
++
++	apat : ident2 .  (reduce by rule 290)
++
++	EQ	reduce by rule 290
++	TIMES	reduce by rule 290
++	AND	reduce by rule 290
++	DEREF	reduce by rule 290
++	NOT	reduce by rule 290
++	LHASHBRACKET	reduce by rule 290
++	LPAREN	reduce by rule 290
++	RPAREN	reduce by rule 290
++	LBRACKET	reduce by rule 290
++	RBRACKET	reduce by rule 290
++	LBRACE	reduce by rule 290
++	RBRACE	reduce by rule 290
++	CELLSET	reduce by rule 290
++	COMMA	reduce by rule 290
++	COLON	reduce by rule 290
++	BAR	reduce by rule 290
++	DARROW	reduce by rule 290
++	TRUE	reduce by rule 290
++	FALSE	reduce by rule 290
++	WILD	reduce by rule 290
++	WHERE	reduce by rule 290
++	OP	reduce by rule 290
++	ALWAYS	reduce by rule 290
++	NEVER	reduce by rule 290
++	EXCEPTION	reduce by rule 290
++	ID	reduce by rule 290
++	SYMBOL	reduce by rule 290
++	WORD	reduce by rule 290
++	INT	reduce by rule 290
++	INTINF	reduce by rule 290
++	REAL	reduce by rule 290
++	STRING	reduce by rule 290
++	CHAR	reduce by rule 290
++
++
++	.	error
++
++
++state 88:
++
++	syms : sym .  (reduce by rule 109)
++	syms : sym . syms 
++	apat : sym . CONCAT LBRACKET pats RBRACKET 
++	apat : sym . CONCAT LBRACKET pats RBRACKET CONCAT sym 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CONCAT	shift 184
++	CELLSET	shift 50
++	COLON	reduce by rule 109
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 68
++	symb	goto 67
++	syms	goto 180
++
++	.	error
++
++
++state 89:
++
++	sym : id .  (reduce by rule 416)
++	path : id . DOT sym 
++	mymldecl : RTL id . LBRACE labpats0 RBRACE EQ exp 
++	asapat : id . AS asapat 
++
++	TIMES	reduce by rule 416
++	DEREF	reduce by rule 416
++	NOT	reduce by rule 416
++	CONCAT	reduce by rule 416
++	LBRACE	shift 187
++	CELLSET	reduce by rule 416
++	COLON	reduce by rule 416
++	DOT	shift 186
++	AS	shift 185
++	ID	reduce by rule 416
++	SYMBOL	reduce by rule 416
++
++
++	.	error
++
++
++state 90:
++
++	char : CHAR .  (reduce by rule 429)
++
++	ARCHITECTURE	reduce by rule 429
++	END	reduce by rule 429
++	LOCAL	reduce by rule 429
++	IN	reduce by rule 429
++	OF	reduce by rule 429
++	DATATYPE	reduce by rule 429
++	TYPE	reduce by rule 429
++	EQ	reduce by rule 429
++	DOLLAR	reduce by rule 429
++	TIMES	reduce by rule 429
++	AND	reduce by rule 429
++	DEREF	reduce by rule 429
++	NOT	reduce by rule 429
++	LLBRACKET	reduce by rule 429
++	LHASHBRACKET	reduce by rule 429
++	LPAREN	reduce by rule 429
++	RPAREN	reduce by rule 429
++	LBRACKET	reduce by rule 429
++	RBRACKET	reduce by rule 429
++	LBRACE	reduce by rule 429
++	RBRACE	reduce by rule 429
++	SEMICOLON	reduce by rule 429
++	LDQUOTE	reduce by rule 429
++	RMETA	reduce by rule 429
++	CELLSET	reduce by rule 429
++	STORAGE	reduce by rule 429
++	LOCATIONS	reduce by rule 429
++	HASH	reduce by rule 429
++	COMMA	reduce by rule 429
++	COLON	reduce by rule 429
++	AT	reduce by rule 429
++	BAR	reduce by rule 429
++	DARROW	reduce by rule 429
++	THEN	reduce by rule 429
++	ELSE	reduce by rule 429
++	TRUE	reduce by rule 429
++	FALSE	reduce by rule 429
++	WILD	reduce by rule 429
++	HANDLE	reduce by rule 429
++	LET	reduce by rule 429
++	STRUCTURE	reduce by rule 429
++	FUNCTOR	reduce by rule 429
++	SIGNATURE	reduce by rule 429
++	WHERE	reduce by rule 429
++	SHARING	reduce by rule 429
++	INSTRUCTION	reduce by rule 429
++	VLIW	reduce by rule 429
++	SUPERSCALAR	reduce by rule 429
++	WITHTYPE	reduce by rule 429
++	FUN	reduce by rule 429
++	VAL	reduce by rule 429
++	INCLUDE	reduce by rule 429
++	OPEN	reduce by rule 429
++	OP	reduce by rule 429
++	LITTLE	reduce by rule 429
++	BIG	reduce by rule 429
++	PIPELINE	reduce by rule 429
++	LOWERCASE	reduce by rule 429
++	UPPERCASE	reduce by rule 429
++	VERBATIM	reduce by rule 429
++	RTL	reduce by rule 429
++	SPAN	reduce by rule 429
++	DELAYSLOT	reduce by rule 429
++	ALWAYS	reduce by rule 429
++	NEVER	reduce by rule 429
++	NONFIX	reduce by rule 429
++	INFIX	reduce by rule 429
++	INFIXR	reduce by rule 429
++	DEBUG	reduce by rule 429
++	ASM_COLON	reduce by rule 429
++	MC_COLON	reduce by rule 429
++	RTL_COLON	reduce by rule 429
++	DELAYSLOT_COLON	reduce by rule 429
++	NULLIFIED_COLON	reduce by rule 429
++	PADDING_COLON	reduce by rule 429
++	RESOURCE	reduce by rule 429
++	CPU	reduce by rule 429
++	LATENCY	reduce by rule 429
++	EXCEPTION	reduce by rule 429
++	ID	reduce by rule 429
++	SYMBOL	reduce by rule 429
++	WORD	reduce by rule 429
++	INT	reduce by rule 429
++	INTINF	reduce by rule 429
++	REAL	reduce by rule 429
++	STRING	reduce by rule 429
++	CHAR	reduce by rule 429
++	EOF	reduce by rule 429
++
++
++	.	error
++
++
++state 91:
++
++	string : STRING .  (reduce by rule 428)
++
++	ARCHITECTURE	reduce by rule 428
++	END	reduce by rule 428
++	LOCAL	reduce by rule 428
++	IN	reduce by rule 428
++	OF	reduce by rule 428
++	DATATYPE	reduce by rule 428
++	TYPE	reduce by rule 428
++	EQ	reduce by rule 428
++	DOLLAR	reduce by rule 428
++	TIMES	reduce by rule 428
++	AND	reduce by rule 428
++	DEREF	reduce by rule 428
++	NOT	reduce by rule 428
++	LLBRACKET	reduce by rule 428
++	RRBRACKET	reduce by rule 428
++	LHASHBRACKET	reduce by rule 428
++	LPAREN	reduce by rule 428
++	RPAREN	reduce by rule 428
++	LBRACKET	reduce by rule 428
++	RBRACKET	reduce by rule 428
++	LBRACE	reduce by rule 428
++	RBRACE	reduce by rule 428
++	SEMICOLON	reduce by rule 428
++	LDQUOTE	reduce by rule 428
++	RMETA	reduce by rule 428
++	CELLSET	reduce by rule 428
++	STORAGE	reduce by rule 428
++	LOCATIONS	reduce by rule 428
++	HASH	reduce by rule 428
++	COMMA	reduce by rule 428
++	COLON	reduce by rule 428
++	AT	reduce by rule 428
++	BAR	reduce by rule 428
++	DARROW	reduce by rule 428
++	THEN	reduce by rule 428
++	ELSE	reduce by rule 428
++	TRUE	reduce by rule 428
++	FALSE	reduce by rule 428
++	WILD	reduce by rule 428
++	HANDLE	reduce by rule 428
++	LET	reduce by rule 428
++	STRUCTURE	reduce by rule 428
++	FUNCTOR	reduce by rule 428
++	SIGNATURE	reduce by rule 428
++	WHERE	reduce by rule 428
++	SHARING	reduce by rule 428
++	INSTRUCTION	reduce by rule 428
++	VLIW	reduce by rule 428
++	SUPERSCALAR	reduce by rule 428
++	WITHTYPE	reduce by rule 428
++	FUN	reduce by rule 428
++	VAL	reduce by rule 428
++	INCLUDE	reduce by rule 428
++	OPEN	reduce by rule 428
++	OP	reduce by rule 428
++	LITTLE	reduce by rule 428
++	BIG	reduce by rule 428
++	PIPELINE	reduce by rule 428
++	LOWERCASE	reduce by rule 428
++	UPPERCASE	reduce by rule 428
++	VERBATIM	reduce by rule 428
++	RTL	reduce by rule 428
++	SPAN	reduce by rule 428
++	DELAYSLOT	reduce by rule 428
++	ALWAYS	reduce by rule 428
++	NEVER	reduce by rule 428
++	NONFIX	reduce by rule 428
++	INFIX	reduce by rule 428
++	INFIXR	reduce by rule 428
++	DEBUG	reduce by rule 428
++	ASM_COLON	reduce by rule 428
++	MC_COLON	reduce by rule 428
++	RTL_COLON	reduce by rule 428
++	DELAYSLOT_COLON	reduce by rule 428
++	NULLIFIED_COLON	reduce by rule 428
++	PADDING_COLON	reduce by rule 428
++	RESOURCE	reduce by rule 428
++	CPU	reduce by rule 428
++	LATENCY	reduce by rule 428
++	EXCEPTION	reduce by rule 428
++	ID	reduce by rule 428
++	SYMBOL	reduce by rule 428
++	WORD	reduce by rule 428
++	INT	reduce by rule 428
++	INTINF	reduce by rule 428
++	REAL	reduce by rule 428
++	STRING	reduce by rule 428
++	CHAR	reduce by rule 428
++	EOF	reduce by rule 428
++
++
++	.	error
++
++
++state 92:
++
++	real : REAL .  (reduce by rule 399)
++
++	ARCHITECTURE	reduce by rule 399
++	END	reduce by rule 399
++	LOCAL	reduce by rule 399
++	IN	reduce by rule 399
++	OF	reduce by rule 399
++	DATATYPE	reduce by rule 399
++	TYPE	reduce by rule 399
++	EQ	reduce by rule 399
++	DOLLAR	reduce by rule 399
++	TIMES	reduce by rule 399
++	AND	reduce by rule 399
++	DEREF	reduce by rule 399
++	NOT	reduce by rule 399
++	LLBRACKET	reduce by rule 399
++	LHASHBRACKET	reduce by rule 399
++	LPAREN	reduce by rule 399
++	RPAREN	reduce by rule 399
++	LBRACKET	reduce by rule 399
++	RBRACKET	reduce by rule 399
++	LBRACE	reduce by rule 399
++	RBRACE	reduce by rule 399
++	SEMICOLON	reduce by rule 399
++	LDQUOTE	reduce by rule 399
++	RMETA	reduce by rule 399
++	CELLSET	reduce by rule 399
++	STORAGE	reduce by rule 399
++	LOCATIONS	reduce by rule 399
++	HASH	reduce by rule 399
++	COMMA	reduce by rule 399
++	COLON	reduce by rule 399
++	AT	reduce by rule 399
++	BAR	reduce by rule 399
++	DARROW	reduce by rule 399
++	THEN	reduce by rule 399
++	ELSE	reduce by rule 399
++	TRUE	reduce by rule 399
++	FALSE	reduce by rule 399
++	WILD	reduce by rule 399
++	HANDLE	reduce by rule 399
++	LET	reduce by rule 399
++	STRUCTURE	reduce by rule 399
++	FUNCTOR	reduce by rule 399
++	SIGNATURE	reduce by rule 399
++	WHERE	reduce by rule 399
++	SHARING	reduce by rule 399
++	INSTRUCTION	reduce by rule 399
++	VLIW	reduce by rule 399
++	SUPERSCALAR	reduce by rule 399
++	WITHTYPE	reduce by rule 399
++	FUN	reduce by rule 399
++	VAL	reduce by rule 399
++	INCLUDE	reduce by rule 399
++	OPEN	reduce by rule 399
++	OP	reduce by rule 399
++	LITTLE	reduce by rule 399
++	BIG	reduce by rule 399
++	PIPELINE	reduce by rule 399
++	LOWERCASE	reduce by rule 399
++	UPPERCASE	reduce by rule 399
++	VERBATIM	reduce by rule 399
++	RTL	reduce by rule 399
++	SPAN	reduce by rule 399
++	DELAYSLOT	reduce by rule 399
++	ALWAYS	reduce by rule 399
++	NEVER	reduce by rule 399
++	NONFIX	reduce by rule 399
++	INFIX	reduce by rule 399
++	INFIXR	reduce by rule 399
++	DEBUG	reduce by rule 399
++	ASM_COLON	reduce by rule 399
++	MC_COLON	reduce by rule 399
++	RTL_COLON	reduce by rule 399
++	DELAYSLOT_COLON	reduce by rule 399
++	NULLIFIED_COLON	reduce by rule 399
++	PADDING_COLON	reduce by rule 399
++	RESOURCE	reduce by rule 399
++	CPU	reduce by rule 399
++	LATENCY	reduce by rule 399
++	EXCEPTION	reduce by rule 399
++	ID	reduce by rule 399
++	SYMBOL	reduce by rule 399
++	WORD	reduce by rule 399
++	INT	reduce by rule 399
++	INTINF	reduce by rule 399
++	REAL	reduce by rule 399
++	STRING	reduce by rule 399
++	CHAR	reduce by rule 399
++	EOF	reduce by rule 399
++
++
++	.	error
++
++
++state 93:
++
++	intinf : INTINF .  (reduce by rule 398)
++
++	ARCHITECTURE	reduce by rule 398
++	END	reduce by rule 398
++	LOCAL	reduce by rule 398
++	IN	reduce by rule 398
++	OF	reduce by rule 398
++	DATATYPE	reduce by rule 398
++	TYPE	reduce by rule 398
++	EQ	reduce by rule 398
++	DOLLAR	reduce by rule 398
++	TIMES	reduce by rule 398
++	AND	reduce by rule 398
++	DEREF	reduce by rule 398
++	NOT	reduce by rule 398
++	LLBRACKET	reduce by rule 398
++	LHASHBRACKET	reduce by rule 398
++	LPAREN	reduce by rule 398
++	RPAREN	reduce by rule 398
++	LBRACKET	reduce by rule 398
++	RBRACKET	reduce by rule 398
++	LBRACE	reduce by rule 398
++	RBRACE	reduce by rule 398
++	SEMICOLON	reduce by rule 398
++	LDQUOTE	reduce by rule 398
++	RMETA	reduce by rule 398
++	CELLSET	reduce by rule 398
++	STORAGE	reduce by rule 398
++	LOCATIONS	reduce by rule 398
++	HASH	reduce by rule 398
++	COMMA	reduce by rule 398
++	COLON	reduce by rule 398
++	AT	reduce by rule 398
++	BAR	reduce by rule 398
++	DARROW	reduce by rule 398
++	THEN	reduce by rule 398
++	ELSE	reduce by rule 398
++	TRUE	reduce by rule 398
++	FALSE	reduce by rule 398
++	WILD	reduce by rule 398
++	HANDLE	reduce by rule 398
++	LET	reduce by rule 398
++	STRUCTURE	reduce by rule 398
++	FUNCTOR	reduce by rule 398
++	SIGNATURE	reduce by rule 398
++	WHERE	reduce by rule 398
++	SHARING	reduce by rule 398
++	INSTRUCTION	reduce by rule 398
++	VLIW	reduce by rule 398
++	SUPERSCALAR	reduce by rule 398
++	WITHTYPE	reduce by rule 398
++	FUN	reduce by rule 398
++	VAL	reduce by rule 398
++	INCLUDE	reduce by rule 398
++	OPEN	reduce by rule 398
++	OP	reduce by rule 398
++	LITTLE	reduce by rule 398
++	BIG	reduce by rule 398
++	PIPELINE	reduce by rule 398
++	LOWERCASE	reduce by rule 398
++	UPPERCASE	reduce by rule 398
++	VERBATIM	reduce by rule 398
++	RTL	reduce by rule 398
++	SPAN	reduce by rule 398
++	DELAYSLOT	reduce by rule 398
++	ALWAYS	reduce by rule 398
++	NEVER	reduce by rule 398
++	NONFIX	reduce by rule 398
++	INFIX	reduce by rule 398
++	INFIXR	reduce by rule 398
++	DEBUG	reduce by rule 398
++	ASM_COLON	reduce by rule 398
++	MC_COLON	reduce by rule 398
++	RTL_COLON	reduce by rule 398
++	DELAYSLOT_COLON	reduce by rule 398
++	NULLIFIED_COLON	reduce by rule 398
++	PADDING_COLON	reduce by rule 398
++	RESOURCE	reduce by rule 398
++	CPU	reduce by rule 398
++	LATENCY	reduce by rule 398
++	EXCEPTION	reduce by rule 398
++	ID	reduce by rule 398
++	SYMBOL	reduce by rule 398
++	WORD	reduce by rule 398
++	INT	reduce by rule 398
++	INTINF	reduce by rule 398
++	REAL	reduce by rule 398
++	STRING	reduce by rule 398
++	CHAR	reduce by rule 398
++	EOF	reduce by rule 398
++
++
++	.	error
++
++
++state 94:
++
++	word : WORD .  (reduce by rule 394)
++
++	ARCHITECTURE	reduce by rule 394
++	END	reduce by rule 394
++	LOCAL	reduce by rule 394
++	IN	reduce by rule 394
++	OF	reduce by rule 394
++	DATATYPE	reduce by rule 394
++	TYPE	reduce by rule 394
++	EQ	reduce by rule 394
++	DOLLAR	reduce by rule 394
++	TIMES	reduce by rule 394
++	AND	reduce by rule 394
++	DEREF	reduce by rule 394
++	NOT	reduce by rule 394
++	LLBRACKET	reduce by rule 394
++	LHASHBRACKET	reduce by rule 394
++	LPAREN	reduce by rule 394
++	RPAREN	reduce by rule 394
++	LBRACKET	reduce by rule 394
++	RBRACKET	reduce by rule 394
++	LBRACE	reduce by rule 394
++	RBRACE	reduce by rule 394
++	SEMICOLON	reduce by rule 394
++	LDQUOTE	reduce by rule 394
++	RMETA	reduce by rule 394
++	CELLSET	reduce by rule 394
++	STORAGE	reduce by rule 394
++	LOCATIONS	reduce by rule 394
++	HASH	reduce by rule 394
++	COMMA	reduce by rule 394
++	COLON	reduce by rule 394
++	AT	reduce by rule 394
++	BAR	reduce by rule 394
++	DARROW	reduce by rule 394
++	THEN	reduce by rule 394
++	ELSE	reduce by rule 394
++	TRUE	reduce by rule 394
++	FALSE	reduce by rule 394
++	WILD	reduce by rule 394
++	HANDLE	reduce by rule 394
++	LET	reduce by rule 394
++	STRUCTURE	reduce by rule 394
++	FUNCTOR	reduce by rule 394
++	SIGNATURE	reduce by rule 394
++	WHERE	reduce by rule 394
++	SHARING	reduce by rule 394
++	INSTRUCTION	reduce by rule 394
++	VLIW	reduce by rule 394
++	SUPERSCALAR	reduce by rule 394
++	WITHTYPE	reduce by rule 394
++	FUN	reduce by rule 394
++	VAL	reduce by rule 394
++	INCLUDE	reduce by rule 394
++	OPEN	reduce by rule 394
++	OP	reduce by rule 394
++	LITTLE	reduce by rule 394
++	BIG	reduce by rule 394
++	PIPELINE	reduce by rule 394
++	LOWERCASE	reduce by rule 394
++	UPPERCASE	reduce by rule 394
++	VERBATIM	reduce by rule 394
++	RTL	reduce by rule 394
++	SPAN	reduce by rule 394
++	DELAYSLOT	reduce by rule 394
++	ALWAYS	reduce by rule 394
++	NEVER	reduce by rule 394
++	NONFIX	reduce by rule 394
++	INFIX	reduce by rule 394
++	INFIXR	reduce by rule 394
++	DEBUG	reduce by rule 394
++	ASM_COLON	reduce by rule 394
++	MC_COLON	reduce by rule 394
++	RTL_COLON	reduce by rule 394
++	DELAYSLOT_COLON	reduce by rule 394
++	NULLIFIED_COLON	reduce by rule 394
++	PADDING_COLON	reduce by rule 394
++	RESOURCE	reduce by rule 394
++	CPU	reduce by rule 394
++	LATENCY	reduce by rule 394
++	EXCEPTION	reduce by rule 394
++	ID	reduce by rule 394
++	SYMBOL	reduce by rule 394
++	WORD	reduce by rule 394
++	INT	reduce by rule 394
++	INTINF	reduce by rule 394
++	REAL	reduce by rule 394
++	STRING	reduce by rule 394
++	CHAR	reduce by rule 394
++	EOF	reduce by rule 394
++
++
++	.	error
++
++
++state 95:
++
++	False : NEVER .  (reduce by rule 160)
++
++	ARCHITECTURE	reduce by rule 160
++	END	reduce by rule 160
++	LOCAL	reduce by rule 160
++	IN	reduce by rule 160
++	OF	reduce by rule 160
++	DATATYPE	reduce by rule 160
++	TYPE	reduce by rule 160
++	EQ	reduce by rule 160
++	DOLLAR	reduce by rule 160
++	TIMES	reduce by rule 160
++	AND	reduce by rule 160
++	DEREF	reduce by rule 160
++	NOT	reduce by rule 160
++	LLBRACKET	reduce by rule 160
++	LHASHBRACKET	reduce by rule 160
++	LPAREN	reduce by rule 160
++	RPAREN	reduce by rule 160
++	LBRACKET	reduce by rule 160
++	RBRACKET	reduce by rule 160
++	LBRACE	reduce by rule 160
++	RBRACE	reduce by rule 160
++	SEMICOLON	reduce by rule 160
++	LDQUOTE	reduce by rule 160
++	RMETA	reduce by rule 160
++	CELLSET	reduce by rule 160
++	STORAGE	reduce by rule 160
++	LOCATIONS	reduce by rule 160
++	HASH	reduce by rule 160
++	COMMA	reduce by rule 160
++	COLON	reduce by rule 160
++	AT	reduce by rule 160
++	BAR	reduce by rule 160
++	DARROW	reduce by rule 160
++	THEN	reduce by rule 160
++	ELSE	reduce by rule 160
++	TRUE	reduce by rule 160
++	FALSE	reduce by rule 160
++	WILD	reduce by rule 160
++	HANDLE	reduce by rule 160
++	LET	reduce by rule 160
++	STRUCTURE	reduce by rule 160
++	FUNCTOR	reduce by rule 160
++	SIGNATURE	reduce by rule 160
++	WHERE	reduce by rule 160
++	SHARING	reduce by rule 160
++	INSTRUCTION	reduce by rule 160
++	VLIW	reduce by rule 160
++	SUPERSCALAR	reduce by rule 160
++	WITHTYPE	reduce by rule 160
++	FUN	reduce by rule 160
++	VAL	reduce by rule 160
++	INCLUDE	reduce by rule 160
++	OPEN	reduce by rule 160
++	OP	reduce by rule 160
++	LITTLE	reduce by rule 160
++	BIG	reduce by rule 160
++	PIPELINE	reduce by rule 160
++	LOWERCASE	reduce by rule 160
++	UPPERCASE	reduce by rule 160
++	VERBATIM	reduce by rule 160
++	RTL	reduce by rule 160
++	SPAN	reduce by rule 160
++	DELAYSLOT	reduce by rule 160
++	ALWAYS	reduce by rule 160
++	NEVER	reduce by rule 160
++	NONFIX	reduce by rule 160
++	INFIX	reduce by rule 160
++	INFIXR	reduce by rule 160
++	DEBUG	reduce by rule 160
++	ASM_COLON	reduce by rule 160
++	MC_COLON	reduce by rule 160
++	RTL_COLON	reduce by rule 160
++	DELAYSLOT_COLON	reduce by rule 160
++	NULLIFIED_COLON	reduce by rule 160
++	PADDING_COLON	reduce by rule 160
++	RESOURCE	reduce by rule 160
++	CPU	reduce by rule 160
++	LATENCY	reduce by rule 160
++	EXCEPTION	reduce by rule 160
++	ID	reduce by rule 160
++	SYMBOL	reduce by rule 160
++	WORD	reduce by rule 160
++	INT	reduce by rule 160
++	INTINF	reduce by rule 160
++	REAL	reduce by rule 160
++	STRING	reduce by rule 160
++	CHAR	reduce by rule 160
++	EOF	reduce by rule 160
++
++
++	.	error
++
++
++state 96:
++
++	True : ALWAYS .  (reduce by rule 158)
++
++	ARCHITECTURE	reduce by rule 158
++	END	reduce by rule 158
++	LOCAL	reduce by rule 158
++	IN	reduce by rule 158
++	OF	reduce by rule 158
++	DATATYPE	reduce by rule 158
++	TYPE	reduce by rule 158
++	EQ	reduce by rule 158
++	DOLLAR	reduce by rule 158
++	TIMES	reduce by rule 158
++	AND	reduce by rule 158
++	DEREF	reduce by rule 158
++	NOT	reduce by rule 158
++	LLBRACKET	reduce by rule 158
++	LHASHBRACKET	reduce by rule 158
++	LPAREN	reduce by rule 158
++	RPAREN	reduce by rule 158
++	LBRACKET	reduce by rule 158
++	RBRACKET	reduce by rule 158
++	LBRACE	reduce by rule 158
++	RBRACE	reduce by rule 158
++	SEMICOLON	reduce by rule 158
++	LDQUOTE	reduce by rule 158
++	RMETA	reduce by rule 158
++	CELLSET	reduce by rule 158
++	STORAGE	reduce by rule 158
++	LOCATIONS	reduce by rule 158
++	HASH	reduce by rule 158
++	COMMA	reduce by rule 158
++	COLON	reduce by rule 158
++	AT	reduce by rule 158
++	BAR	reduce by rule 158
++	DARROW	reduce by rule 158
++	THEN	reduce by rule 158
++	ELSE	reduce by rule 158
++	TRUE	reduce by rule 158
++	FALSE	reduce by rule 158
++	WILD	reduce by rule 158
++	HANDLE	reduce by rule 158
++	LET	reduce by rule 158
++	STRUCTURE	reduce by rule 158
++	FUNCTOR	reduce by rule 158
++	SIGNATURE	reduce by rule 158
++	WHERE	reduce by rule 158
++	SHARING	reduce by rule 158
++	INSTRUCTION	reduce by rule 158
++	VLIW	reduce by rule 158
++	SUPERSCALAR	reduce by rule 158
++	WITHTYPE	reduce by rule 158
++	FUN	reduce by rule 158
++	VAL	reduce by rule 158
++	INCLUDE	reduce by rule 158
++	OPEN	reduce by rule 158
++	OP	reduce by rule 158
++	LITTLE	reduce by rule 158
++	BIG	reduce by rule 158
++	PIPELINE	reduce by rule 158
++	LOWERCASE	reduce by rule 158
++	UPPERCASE	reduce by rule 158
++	VERBATIM	reduce by rule 158
++	RTL	reduce by rule 158
++	SPAN	reduce by rule 158
++	DELAYSLOT	reduce by rule 158
++	ALWAYS	reduce by rule 158
++	NEVER	reduce by rule 158
++	NONFIX	reduce by rule 158
++	INFIX	reduce by rule 158
++	INFIXR	reduce by rule 158
++	DEBUG	reduce by rule 158
++	ASM_COLON	reduce by rule 158
++	MC_COLON	reduce by rule 158
++	RTL_COLON	reduce by rule 158
++	DELAYSLOT_COLON	reduce by rule 158
++	NULLIFIED_COLON	reduce by rule 158
++	PADDING_COLON	reduce by rule 158
++	RESOURCE	reduce by rule 158
++	CPU	reduce by rule 158
++	LATENCY	reduce by rule 158
++	EXCEPTION	reduce by rule 158
++	ID	reduce by rule 158
++	SYMBOL	reduce by rule 158
++	WORD	reduce by rule 158
++	INT	reduce by rule 158
++	INTINF	reduce by rule 158
++	REAL	reduce by rule 158
++	STRING	reduce by rule 158
++	CHAR	reduce by rule 158
++	EOF	reduce by rule 158
++
++
++	.	error
++
++
++state 97:
++
++	apat : WILD .  (reduce by rule 292)
++
++	EQ	reduce by rule 292
++	TIMES	reduce by rule 292
++	AND	reduce by rule 292
++	DEREF	reduce by rule 292
++	NOT	reduce by rule 292
++	LHASHBRACKET	reduce by rule 292
++	LPAREN	reduce by rule 292
++	RPAREN	reduce by rule 292
++	LBRACKET	reduce by rule 292
++	RBRACKET	reduce by rule 292
++	LBRACE	reduce by rule 292
++	RBRACE	reduce by rule 292
++	CELLSET	reduce by rule 292
++	COMMA	reduce by rule 292
++	COLON	reduce by rule 292
++	BAR	reduce by rule 292
++	DARROW	reduce by rule 292
++	TRUE	reduce by rule 292
++	FALSE	reduce by rule 292
++	WILD	reduce by rule 292
++	WHERE	reduce by rule 292
++	OP	reduce by rule 292
++	ALWAYS	reduce by rule 292
++	NEVER	reduce by rule 292
++	EXCEPTION	reduce by rule 292
++	ID	reduce by rule 292
++	SYMBOL	reduce by rule 292
++	WORD	reduce by rule 292
++	INT	reduce by rule 292
++	INTINF	reduce by rule 292
++	REAL	reduce by rule 292
++	STRING	reduce by rule 292
++	CHAR	reduce by rule 292
++
++
++	.	error
++
++
++state 98:
++
++	False : FALSE .  (reduce by rule 159)
++
++	ARCHITECTURE	reduce by rule 159
++	END	reduce by rule 159
++	LOCAL	reduce by rule 159
++	IN	reduce by rule 159
++	OF	reduce by rule 159
++	DATATYPE	reduce by rule 159
++	TYPE	reduce by rule 159
++	EQ	reduce by rule 159
++	DOLLAR	reduce by rule 159
++	TIMES	reduce by rule 159
++	AND	reduce by rule 159
++	DEREF	reduce by rule 159
++	NOT	reduce by rule 159
++	LLBRACKET	reduce by rule 159
++	LHASHBRACKET	reduce by rule 159
++	LPAREN	reduce by rule 159
++	RPAREN	reduce by rule 159
++	LBRACKET	reduce by rule 159
++	RBRACKET	reduce by rule 159
++	LBRACE	reduce by rule 159
++	RBRACE	reduce by rule 159
++	SEMICOLON	reduce by rule 159
++	LDQUOTE	reduce by rule 159
++	RMETA	reduce by rule 159
++	CELLSET	reduce by rule 159
++	STORAGE	reduce by rule 159
++	LOCATIONS	reduce by rule 159
++	HASH	reduce by rule 159
++	COMMA	reduce by rule 159
++	COLON	reduce by rule 159
++	AT	reduce by rule 159
++	BAR	reduce by rule 159
++	DARROW	reduce by rule 159
++	THEN	reduce by rule 159
++	ELSE	reduce by rule 159
++	TRUE	reduce by rule 159
++	FALSE	reduce by rule 159
++	WILD	reduce by rule 159
++	HANDLE	reduce by rule 159
++	LET	reduce by rule 159
++	STRUCTURE	reduce by rule 159
++	FUNCTOR	reduce by rule 159
++	SIGNATURE	reduce by rule 159
++	WHERE	reduce by rule 159
++	SHARING	reduce by rule 159
++	INSTRUCTION	reduce by rule 159
++	VLIW	reduce by rule 159
++	SUPERSCALAR	reduce by rule 159
++	WITHTYPE	reduce by rule 159
++	FUN	reduce by rule 159
++	VAL	reduce by rule 159
++	INCLUDE	reduce by rule 159
++	OPEN	reduce by rule 159
++	OP	reduce by rule 159
++	LITTLE	reduce by rule 159
++	BIG	reduce by rule 159
++	PIPELINE	reduce by rule 159
++	LOWERCASE	reduce by rule 159
++	UPPERCASE	reduce by rule 159
++	VERBATIM	reduce by rule 159
++	RTL	reduce by rule 159
++	SPAN	reduce by rule 159
++	DELAYSLOT	reduce by rule 159
++	ALWAYS	reduce by rule 159
++	NEVER	reduce by rule 159
++	NONFIX	reduce by rule 159
++	INFIX	reduce by rule 159
++	INFIXR	reduce by rule 159
++	DEBUG	reduce by rule 159
++	ASM_COLON	reduce by rule 159
++	MC_COLON	reduce by rule 159
++	RTL_COLON	reduce by rule 159
++	DELAYSLOT_COLON	reduce by rule 159
++	NULLIFIED_COLON	reduce by rule 159
++	PADDING_COLON	reduce by rule 159
++	RESOURCE	reduce by rule 159
++	CPU	reduce by rule 159
++	LATENCY	reduce by rule 159
++	EXCEPTION	reduce by rule 159
++	ID	reduce by rule 159
++	SYMBOL	reduce by rule 159
++	WORD	reduce by rule 159
++	INT	reduce by rule 159
++	INTINF	reduce by rule 159
++	REAL	reduce by rule 159
++	STRING	reduce by rule 159
++	CHAR	reduce by rule 159
++	EOF	reduce by rule 159
++
++
++	.	error
++
++
++state 99:
++
++	True : TRUE .  (reduce by rule 157)
++
++	ARCHITECTURE	reduce by rule 157
++	END	reduce by rule 157
++	LOCAL	reduce by rule 157
++	IN	reduce by rule 157
++	OF	reduce by rule 157
++	DATATYPE	reduce by rule 157
++	TYPE	reduce by rule 157
++	EQ	reduce by rule 157
++	DOLLAR	reduce by rule 157
++	TIMES	reduce by rule 157
++	AND	reduce by rule 157
++	DEREF	reduce by rule 157
++	NOT	reduce by rule 157
++	LLBRACKET	reduce by rule 157
++	LHASHBRACKET	reduce by rule 157
++	LPAREN	reduce by rule 157
++	RPAREN	reduce by rule 157
++	LBRACKET	reduce by rule 157
++	RBRACKET	reduce by rule 157
++	LBRACE	reduce by rule 157
++	RBRACE	reduce by rule 157
++	SEMICOLON	reduce by rule 157
++	LDQUOTE	reduce by rule 157
++	RMETA	reduce by rule 157
++	CELLSET	reduce by rule 157
++	STORAGE	reduce by rule 157
++	LOCATIONS	reduce by rule 157
++	HASH	reduce by rule 157
++	COMMA	reduce by rule 157
++	COLON	reduce by rule 157
++	AT	reduce by rule 157
++	BAR	reduce by rule 157
++	DARROW	reduce by rule 157
++	THEN	reduce by rule 157
++	ELSE	reduce by rule 157
++	TRUE	reduce by rule 157
++	FALSE	reduce by rule 157
++	WILD	reduce by rule 157
++	HANDLE	reduce by rule 157
++	LET	reduce by rule 157
++	STRUCTURE	reduce by rule 157
++	FUNCTOR	reduce by rule 157
++	SIGNATURE	reduce by rule 157
++	WHERE	reduce by rule 157
++	SHARING	reduce by rule 157
++	INSTRUCTION	reduce by rule 157
++	VLIW	reduce by rule 157
++	SUPERSCALAR	reduce by rule 157
++	WITHTYPE	reduce by rule 157
++	FUN	reduce by rule 157
++	VAL	reduce by rule 157
++	INCLUDE	reduce by rule 157
++	OPEN	reduce by rule 157
++	OP	reduce by rule 157
++	LITTLE	reduce by rule 157
++	BIG	reduce by rule 157
++	PIPELINE	reduce by rule 157
++	LOWERCASE	reduce by rule 157
++	UPPERCASE	reduce by rule 157
++	VERBATIM	reduce by rule 157
++	RTL	reduce by rule 157
++	SPAN	reduce by rule 157
++	DELAYSLOT	reduce by rule 157
++	ALWAYS	reduce by rule 157
++	NEVER	reduce by rule 157
++	NONFIX	reduce by rule 157
++	INFIX	reduce by rule 157
++	INFIXR	reduce by rule 157
++	DEBUG	reduce by rule 157
++	ASM_COLON	reduce by rule 157
++	MC_COLON	reduce by rule 157
++	RTL_COLON	reduce by rule 157
++	DELAYSLOT_COLON	reduce by rule 157
++	NULLIFIED_COLON	reduce by rule 157
++	PADDING_COLON	reduce by rule 157
++	RESOURCE	reduce by rule 157
++	CPU	reduce by rule 157
++	LATENCY	reduce by rule 157
++	EXCEPTION	reduce by rule 157
++	ID	reduce by rule 157
++	SYMBOL	reduce by rule 157
++	WORD	reduce by rule 157
++	INT	reduce by rule 157
++	INTINF	reduce by rule 157
++	REAL	reduce by rule 157
++	STRING	reduce by rule 157
++	CHAR	reduce by rule 157
++	EOF	reduce by rule 157
++
++
++	.	error
++
++
++state 100:
++
++	apat : LBRACE . labpats0 RBRACE 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	RBRACE	reduce by rule 326
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 191
++	symb	goto 67
++	labpat	goto 190
++	labpats0	goto 189
++	labpats	goto 188
++
++	.	error
++
++
++state 101:
++
++	apat : LBRACKET . pats RBRACKET 
++	apat : LBRACKET . pats RBRACKET CONCAT sym 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	RBRACKET	reduce by rule 321
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 194
++	pats	goto 193
++	pats1	goto 192
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 102:
++
++	apat : LPAREN . RPAREN 
++	apat : LPAREN . pats2 RPAREN 
++	apat : LPAREN . orpats2 RPAREN 
++	apat : LPAREN . andpats2 RPAREN 
++	apat : LPAREN . typedpat RPAREN 
++	apat : LPAREN . typedpat WHERE typedexp RPAREN 
++	apat : LPAREN . typedpat WHERE typedexp IN typedpat RPAREN 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	RPAREN	shift 200
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 199
++	pats2	goto 198
++	orpats2	goto 197
++	andpats2	goto 196
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 103:
++
++	apat : LHASHBRACKET . pats RBRACKET 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	RBRACKET	reduce by rule 321
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 194
++	pats	goto 201
++	pats1	goto 192
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 104:
++
++	pipelineclauses : pipelineclause .  (reduce by rule 42)
++	pipelineclauses : pipelineclause . BAR pipelineclauses 
++
++	ARCHITECTURE	reduce by rule 42
++	END	reduce by rule 42
++	LOCAL	reduce by rule 42
++	IN	reduce by rule 42
++	DATATYPE	reduce by rule 42
++	TYPE	reduce by rule 42
++	AND	reduce by rule 42
++	RPAREN	reduce by rule 42
++	SEMICOLON	reduce by rule 42
++	STORAGE	reduce by rule 42
++	LOCATIONS	reduce by rule 42
++	BAR	shift 202
++	STRUCTURE	reduce by rule 42
++	FUNCTOR	reduce by rule 42
++	SIGNATURE	reduce by rule 42
++	SHARING	reduce by rule 42
++	INSTRUCTION	reduce by rule 42
++	VLIW	reduce by rule 42
++	SUPERSCALAR	reduce by rule 42
++	FUN	reduce by rule 42
++	VAL	reduce by rule 42
++	INCLUDE	reduce by rule 42
++	OPEN	reduce by rule 42
++	LITTLE	reduce by rule 42
++	BIG	reduce by rule 42
++	PIPELINE	reduce by rule 42
++	LOWERCASE	reduce by rule 42
++	UPPERCASE	reduce by rule 42
++	VERBATIM	reduce by rule 42
++	RTL	reduce by rule 42
++	NONFIX	reduce by rule 42
++	INFIX	reduce by rule 42
++	INFIXR	reduce by rule 42
++	DEBUG	reduce by rule 42
++	RESOURCE	reduce by rule 42
++	CPU	reduce by rule 42
++	LATENCY	reduce by rule 42
++	EXCEPTION	reduce by rule 42
++	EOF	reduce by rule 42
++
++
++	.	error
++
++
++state 105:
++
++	pipelinebind : pipelineclauses .  (reduce by rule 41)
++
++	ARCHITECTURE	reduce by rule 41
++	END	reduce by rule 41
++	LOCAL	reduce by rule 41
++	IN	reduce by rule 41
++	DATATYPE	reduce by rule 41
++	TYPE	reduce by rule 41
++	AND	reduce by rule 41
++	RPAREN	reduce by rule 41
++	SEMICOLON	reduce by rule 41
++	STORAGE	reduce by rule 41
++	LOCATIONS	reduce by rule 41
++	STRUCTURE	reduce by rule 41
++	FUNCTOR	reduce by rule 41
++	SIGNATURE	reduce by rule 41
++	SHARING	reduce by rule 41
++	INSTRUCTION	reduce by rule 41
++	VLIW	reduce by rule 41
++	SUPERSCALAR	reduce by rule 41
++	FUN	reduce by rule 41
++	VAL	reduce by rule 41
++	INCLUDE	reduce by rule 41
++	OPEN	reduce by rule 41
++	LITTLE	reduce by rule 41
++	BIG	reduce by rule 41
++	PIPELINE	reduce by rule 41
++	LOWERCASE	reduce by rule 41
++	UPPERCASE	reduce by rule 41
++	VERBATIM	reduce by rule 41
++	RTL	reduce by rule 41
++	NONFIX	reduce by rule 41
++	INFIX	reduce by rule 41
++	INFIXR	reduce by rule 41
++	DEBUG	reduce by rule 41
++	RESOURCE	reduce by rule 41
++	CPU	reduce by rule 41
++	LATENCY	reduce by rule 41
++	EXCEPTION	reduce by rule 41
++	EOF	reduce by rule 41
++
++
++	.	error
++
++
++state 106:
++
++	pipelinebinds : pipelinebind .  (reduce by rule 39)
++	pipelinebinds : pipelinebind . AND pipelinebinds 
++
++	ARCHITECTURE	reduce by rule 39
++	END	reduce by rule 39
++	LOCAL	reduce by rule 39
++	IN	reduce by rule 39
++	DATATYPE	reduce by rule 39
++	TYPE	reduce by rule 39
++	AND	shift 203
++	RPAREN	reduce by rule 39
++	SEMICOLON	reduce by rule 39
++	STORAGE	reduce by rule 39
++	LOCATIONS	reduce by rule 39
++	STRUCTURE	reduce by rule 39
++	FUNCTOR	reduce by rule 39
++	SIGNATURE	reduce by rule 39
++	SHARING	reduce by rule 39
++	INSTRUCTION	reduce by rule 39
++	VLIW	reduce by rule 39
++	SUPERSCALAR	reduce by rule 39
++	FUN	reduce by rule 39
++	VAL	reduce by rule 39
++	INCLUDE	reduce by rule 39
++	OPEN	reduce by rule 39
++	LITTLE	reduce by rule 39
++	BIG	reduce by rule 39
++	PIPELINE	reduce by rule 39
++	LOWERCASE	reduce by rule 39
++	UPPERCASE	reduce by rule 39
++	VERBATIM	reduce by rule 39
++	RTL	reduce by rule 39
++	NONFIX	reduce by rule 39
++	INFIX	reduce by rule 39
++	INFIXR	reduce by rule 39
++	DEBUG	reduce by rule 39
++	RESOURCE	reduce by rule 39
++	CPU	reduce by rule 39
++	LATENCY	reduce by rule 39
++	EXCEPTION	reduce by rule 39
++	EOF	reduce by rule 39
++
++
++	.	error
++
++
++state 107:
++
++	mymddecl : PIPELINE pipelinebinds .  (reduce by rule 26)
++
++	ARCHITECTURE	reduce by rule 26
++	END	reduce by rule 26
++	LOCAL	reduce by rule 26
++	IN	reduce by rule 26
++	DATATYPE	reduce by rule 26
++	TYPE	reduce by rule 26
++	RPAREN	reduce by rule 26
++	SEMICOLON	reduce by rule 26
++	STORAGE	reduce by rule 26
++	LOCATIONS	reduce by rule 26
++	STRUCTURE	reduce by rule 26
++	FUNCTOR	reduce by rule 26
++	SIGNATURE	reduce by rule 26
++	SHARING	reduce by rule 26
++	INSTRUCTION	reduce by rule 26
++	VLIW	reduce by rule 26
++	SUPERSCALAR	reduce by rule 26
++	FUN	reduce by rule 26
++	VAL	reduce by rule 26
++	INCLUDE	reduce by rule 26
++	OPEN	reduce by rule 26
++	LITTLE	reduce by rule 26
++	BIG	reduce by rule 26
++	PIPELINE	reduce by rule 26
++	LOWERCASE	reduce by rule 26
++	UPPERCASE	reduce by rule 26
++	VERBATIM	reduce by rule 26
++	RTL	reduce by rule 26
++	NONFIX	reduce by rule 26
++	INFIX	reduce by rule 26
++	INFIXR	reduce by rule 26
++	DEBUG	reduce by rule 26
++	RESOURCE	reduce by rule 26
++	CPU	reduce by rule 26
++	LATENCY	reduce by rule 26
++	EXCEPTION	reduce by rule 26
++	EOF	reduce by rule 26
++
++
++	.	error
++
++
++state 108:
++
++	pipelineclause : id . pat EQ LBRACKET cycles0 RBRACKET 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 204
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 109:
++
++	mymddecl : BIG ENDIAN .  (reduce by rule 14)
++
++	ARCHITECTURE	reduce by rule 14
++	END	reduce by rule 14
++	LOCAL	reduce by rule 14
++	IN	reduce by rule 14
++	DATATYPE	reduce by rule 14
++	TYPE	reduce by rule 14
++	RPAREN	reduce by rule 14
++	SEMICOLON	reduce by rule 14
++	STORAGE	reduce by rule 14
++	LOCATIONS	reduce by rule 14
++	STRUCTURE	reduce by rule 14
++	FUNCTOR	reduce by rule 14
++	SIGNATURE	reduce by rule 14
++	SHARING	reduce by rule 14
++	INSTRUCTION	reduce by rule 14
++	VLIW	reduce by rule 14
++	SUPERSCALAR	reduce by rule 14
++	FUN	reduce by rule 14
++	VAL	reduce by rule 14
++	INCLUDE	reduce by rule 14
++	OPEN	reduce by rule 14
++	LITTLE	reduce by rule 14
++	BIG	reduce by rule 14
++	PIPELINE	reduce by rule 14
++	LOWERCASE	reduce by rule 14
++	UPPERCASE	reduce by rule 14
++	VERBATIM	reduce by rule 14
++	RTL	reduce by rule 14
++	NONFIX	reduce by rule 14
++	INFIX	reduce by rule 14
++	INFIXR	reduce by rule 14
++	DEBUG	reduce by rule 14
++	RESOURCE	reduce by rule 14
++	CPU	reduce by rule 14
++	LATENCY	reduce by rule 14
++	EXCEPTION	reduce by rule 14
++	EOF	reduce by rule 14
++
++
++	.	error
++
++
++state 110:
++
++	mymddecl : LITTLE ENDIAN .  (reduce by rule 13)
++
++	ARCHITECTURE	reduce by rule 13
++	END	reduce by rule 13
++	LOCAL	reduce by rule 13
++	IN	reduce by rule 13
++	DATATYPE	reduce by rule 13
++	TYPE	reduce by rule 13
++	RPAREN	reduce by rule 13
++	SEMICOLON	reduce by rule 13
++	STORAGE	reduce by rule 13
++	LOCATIONS	reduce by rule 13
++	STRUCTURE	reduce by rule 13
++	FUNCTOR	reduce by rule 13
++	SIGNATURE	reduce by rule 13
++	SHARING	reduce by rule 13
++	INSTRUCTION	reduce by rule 13
++	VLIW	reduce by rule 13
++	SUPERSCALAR	reduce by rule 13
++	FUN	reduce by rule 13
++	VAL	reduce by rule 13
++	INCLUDE	reduce by rule 13
++	OPEN	reduce by rule 13
++	LITTLE	reduce by rule 13
++	BIG	reduce by rule 13
++	PIPELINE	reduce by rule 13
++	LOWERCASE	reduce by rule 13
++	UPPERCASE	reduce by rule 13
++	VERBATIM	reduce by rule 13
++	RTL	reduce by rule 13
++	NONFIX	reduce by rule 13
++	INFIX	reduce by rule 13
++	INFIXR	reduce by rule 13
++	DEBUG	reduce by rule 13
++	RESOURCE	reduce by rule 13
++	CPU	reduce by rule 13
++	LATENCY	reduce by rule 13
++	EXCEPTION	reduce by rule 13
++	EOF	reduce by rule 13
++
++
++	.	error
++
++
++state 111:
++
++	mymldecl : OPEN idents .  (reduce by rule 80)
++
++	ARCHITECTURE	reduce by rule 80
++	END	reduce by rule 80
++	LOCAL	reduce by rule 80
++	IN	reduce by rule 80
++	DATATYPE	reduce by rule 80
++	TYPE	reduce by rule 80
++	RPAREN	reduce by rule 80
++	SEMICOLON	reduce by rule 80
++	STORAGE	reduce by rule 80
++	LOCATIONS	reduce by rule 80
++	STRUCTURE	reduce by rule 80
++	FUNCTOR	reduce by rule 80
++	SIGNATURE	reduce by rule 80
++	SHARING	reduce by rule 80
++	INSTRUCTION	reduce by rule 80
++	VLIW	reduce by rule 80
++	SUPERSCALAR	reduce by rule 80
++	FUN	reduce by rule 80
++	VAL	reduce by rule 80
++	INCLUDE	reduce by rule 80
++	OPEN	reduce by rule 80
++	LITTLE	reduce by rule 80
++	BIG	reduce by rule 80
++	PIPELINE	reduce by rule 80
++	LOWERCASE	reduce by rule 80
++	UPPERCASE	reduce by rule 80
++	VERBATIM	reduce by rule 80
++	RTL	reduce by rule 80
++	NONFIX	reduce by rule 80
++	INFIX	reduce by rule 80
++	INFIXR	reduce by rule 80
++	DEBUG	reduce by rule 80
++	RESOURCE	reduce by rule 80
++	CPU	reduce by rule 80
++	LATENCY	reduce by rule 80
++	EXCEPTION	reduce by rule 80
++	EOF	reduce by rule 80
++
++
++	.	error
++
++
++state 112:
++
++	ident : ident2 .  (reduce by rule 422)
++
++	ARCHITECTURE	reduce by rule 422
++	END	reduce by rule 422
++	LOCAL	reduce by rule 422
++	IN	reduce by rule 422
++	DATATYPE	reduce by rule 422
++	TYPE	reduce by rule 422
++	EQ	reduce by rule 422
++	AND	reduce by rule 422
++	LPAREN	reduce by rule 422
++	RPAREN	reduce by rule 422
++	SEMICOLON	reduce by rule 422
++	CELLSET	reduce by rule 422
++	STORAGE	reduce by rule 422
++	LOCATIONS	reduce by rule 422
++	STRUCTURE	reduce by rule 422
++	FUNCTOR	reduce by rule 422
++	SIGNATURE	reduce by rule 422
++	WHERE	reduce by rule 422
++	SHARING	reduce by rule 422
++	INSTRUCTION	reduce by rule 422
++	VLIW	reduce by rule 422
++	SUPERSCALAR	reduce by rule 422
++	FUN	reduce by rule 422
++	VAL	reduce by rule 422
++	INCLUDE	reduce by rule 422
++	OPEN	reduce by rule 422
++	LITTLE	reduce by rule 422
++	BIG	reduce by rule 422
++	PIPELINE	reduce by rule 422
++	LOWERCASE	reduce by rule 422
++	UPPERCASE	reduce by rule 422
++	VERBATIM	reduce by rule 422
++	RTL	reduce by rule 422
++	NONFIX	reduce by rule 422
++	INFIX	reduce by rule 422
++	INFIXR	reduce by rule 422
++	DEBUG	reduce by rule 422
++	RESOURCE	reduce by rule 422
++	CPU	reduce by rule 422
++	LATENCY	reduce by rule 422
++	EXCEPTION	reduce by rule 422
++	ID	reduce by rule 422
++	SYMBOL	reduce by rule 422
++	EOF	reduce by rule 422
++
++
++	.	error
++
++
++state 113:
++
++	idents : ident .  (reduce by rule 111)
++	idents : ident . idents 
++
++	ARCHITECTURE	reduce by rule 111
++	END	reduce by rule 111
++	LOCAL	reduce by rule 111
++	IN	reduce by rule 111
++	DATATYPE	reduce by rule 111
++	TYPE	reduce by rule 111
++	RPAREN	reduce by rule 111
++	SEMICOLON	reduce by rule 111
++	CELLSET	shift 50
++	STORAGE	reduce by rule 111
++	LOCATIONS	reduce by rule 111
++	STRUCTURE	reduce by rule 111
++	FUNCTOR	reduce by rule 111
++	SIGNATURE	reduce by rule 111
++	SHARING	reduce by rule 111
++	INSTRUCTION	reduce by rule 111
++	VLIW	reduce by rule 111
++	SUPERSCALAR	reduce by rule 111
++	FUN	reduce by rule 111
++	VAL	reduce by rule 111
++	INCLUDE	reduce by rule 111
++	OPEN	reduce by rule 111
++	LITTLE	reduce by rule 111
++	BIG	reduce by rule 111
++	PIPELINE	reduce by rule 111
++	LOWERCASE	reduce by rule 111
++	UPPERCASE	reduce by rule 111
++	VERBATIM	reduce by rule 111
++	RTL	reduce by rule 111
++	NONFIX	reduce by rule 111
++	INFIX	reduce by rule 111
++	INFIXR	reduce by rule 111
++	DEBUG	reduce by rule 111
++	RESOURCE	reduce by rule 111
++	CPU	reduce by rule 111
++	LATENCY	reduce by rule 111
++	EXCEPTION	reduce by rule 111
++	ID	shift 49
++	SYMBOL	shift 48
++	EOF	reduce by rule 111
++
++	id	goto 114
++	ident	goto 113
++	ident2	goto 112
++	idents	goto 205
++	path	goto 85
++
++	.	error
++
++
++state 114:
++
++	ident : id .  (reduce by rule 421)
++	path : id . DOT sym 
++
++	ARCHITECTURE	reduce by rule 421
++	END	reduce by rule 421
++	LOCAL	reduce by rule 421
++	IN	reduce by rule 421
++	DATATYPE	reduce by rule 421
++	TYPE	reduce by rule 421
++	EQ	reduce by rule 421
++	AND	reduce by rule 421
++	LPAREN	reduce by rule 421
++	RPAREN	reduce by rule 421
++	SEMICOLON	reduce by rule 421
++	CELLSET	reduce by rule 421
++	STORAGE	reduce by rule 421
++	LOCATIONS	reduce by rule 421
++	DOT	shift 186
++	STRUCTURE	reduce by rule 421
++	FUNCTOR	reduce by rule 421
++	SIGNATURE	reduce by rule 421
++	WHERE	reduce by rule 421
++	SHARING	reduce by rule 421
++	INSTRUCTION	reduce by rule 421
++	VLIW	reduce by rule 421
++	SUPERSCALAR	reduce by rule 421
++	FUN	reduce by rule 421
++	VAL	reduce by rule 421
++	INCLUDE	reduce by rule 421
++	OPEN	reduce by rule 421
++	LITTLE	reduce by rule 421
++	BIG	reduce by rule 421
++	PIPELINE	reduce by rule 421
++	LOWERCASE	reduce by rule 421
++	UPPERCASE	reduce by rule 421
++	VERBATIM	reduce by rule 421
++	RTL	reduce by rule 421
++	NONFIX	reduce by rule 421
++	INFIX	reduce by rule 421
++	INFIXR	reduce by rule 421
++	DEBUG	reduce by rule 421
++	RESOURCE	reduce by rule 421
++	CPU	reduce by rule 421
++	LATENCY	reduce by rule 421
++	EXCEPTION	reduce by rule 421
++	ID	reduce by rule 421
++	SYMBOL	reduce by rule 421
++	EOF	reduce by rule 421
++
++
++	.	error
++
++
++state 115:
++
++	mymldecl : INCLUDE sigexp .  (reduce by rule 81)
++	sigexp : sigexp . WHERE sigsubs 
++
++	ARCHITECTURE	reduce by rule 81
++	END	reduce by rule 81
++	LOCAL	reduce by rule 81
++	IN	reduce by rule 81
++	DATATYPE	reduce by rule 81
++	TYPE	reduce by rule 81
++	RPAREN	reduce by rule 81
++	SEMICOLON	reduce by rule 81
++	STORAGE	reduce by rule 81
++	LOCATIONS	reduce by rule 81
++	STRUCTURE	reduce by rule 81
++	FUNCTOR	reduce by rule 81
++	SIGNATURE	reduce by rule 81
++	WHERE	shift 206
++	SHARING	reduce by rule 81
++	INSTRUCTION	reduce by rule 81
++	VLIW	reduce by rule 81
++	SUPERSCALAR	reduce by rule 81
++	FUN	reduce by rule 81
++	VAL	reduce by rule 81
++	INCLUDE	reduce by rule 81
++	OPEN	reduce by rule 81
++	LITTLE	reduce by rule 81
++	BIG	reduce by rule 81
++	PIPELINE	reduce by rule 81
++	LOWERCASE	reduce by rule 81
++	UPPERCASE	reduce by rule 81
++	VERBATIM	reduce by rule 81
++	RTL	reduce by rule 81
++	NONFIX	reduce by rule 81
++	INFIX	reduce by rule 81
++	INFIXR	reduce by rule 81
++	DEBUG	reduce by rule 81
++	RESOURCE	reduce by rule 81
++	CPU	reduce by rule 81
++	LATENCY	reduce by rule 81
++	EXCEPTION	reduce by rule 81
++	EOF	reduce by rule 81
++
++
++	.	error
++
++
++state 116:
++
++	decl : INCLUDE string . optsemi 
++
++	ARCHITECTURE	reduce by rule 5
++	END	reduce by rule 5
++	LOCAL	reduce by rule 5
++	IN	reduce by rule 5
++	DATATYPE	reduce by rule 5
++	TYPE	reduce by rule 5
++	RPAREN	reduce by rule 5
++	SEMICOLON	shift 42
++	STORAGE	reduce by rule 5
++	LOCATIONS	reduce by rule 5
++	STRUCTURE	reduce by rule 5
++	FUNCTOR	reduce by rule 5
++	SIGNATURE	reduce by rule 5
++	SHARING	reduce by rule 5
++	INSTRUCTION	reduce by rule 5
++	VLIW	reduce by rule 5
++	SUPERSCALAR	reduce by rule 5
++	FUN	reduce by rule 5
++	VAL	reduce by rule 5
++	INCLUDE	reduce by rule 5
++	OPEN	reduce by rule 5
++	LITTLE	reduce by rule 5
++	BIG	reduce by rule 5
++	PIPELINE	reduce by rule 5
++	LOWERCASE	reduce by rule 5
++	UPPERCASE	reduce by rule 5
++	VERBATIM	reduce by rule 5
++	RTL	reduce by rule 5
++	NONFIX	reduce by rule 5
++	INFIX	reduce by rule 5
++	INFIXR	reduce by rule 5
++	DEBUG	reduce by rule 5
++	RESOURCE	reduce by rule 5
++	CPU	reduce by rule 5
++	LATENCY	reduce by rule 5
++	EXCEPTION	reduce by rule 5
++	EOF	reduce by rule 5
++
++	optsemi	goto 207
++
++	.	error
++
++
++state 117:
++
++	sigexp : ident .  (reduce by rule 90)
++
++	ARCHITECTURE	reduce by rule 90
++	END	reduce by rule 90
++	LOCAL	reduce by rule 90
++	IN	reduce by rule 90
++	DATATYPE	reduce by rule 90
++	TYPE	reduce by rule 90
++	EQ	reduce by rule 90
++	RPAREN	reduce by rule 90
++	SEMICOLON	reduce by rule 90
++	STORAGE	reduce by rule 90
++	LOCATIONS	reduce by rule 90
++	STRUCTURE	reduce by rule 90
++	FUNCTOR	reduce by rule 90
++	SIGNATURE	reduce by rule 90
++	WHERE	reduce by rule 90
++	SHARING	reduce by rule 90
++	INSTRUCTION	reduce by rule 90
++	VLIW	reduce by rule 90
++	SUPERSCALAR	reduce by rule 90
++	FUN	reduce by rule 90
++	VAL	reduce by rule 90
++	INCLUDE	reduce by rule 90
++	OPEN	reduce by rule 90
++	LITTLE	reduce by rule 90
++	BIG	reduce by rule 90
++	PIPELINE	reduce by rule 90
++	LOWERCASE	reduce by rule 90
++	UPPERCASE	reduce by rule 90
++	VERBATIM	reduce by rule 90
++	RTL	reduce by rule 90
++	NONFIX	reduce by rule 90
++	INFIX	reduce by rule 90
++	INFIXR	reduce by rule 90
++	DEBUG	reduce by rule 90
++	RESOURCE	reduce by rule 90
++	CPU	reduce by rule 90
++	LATENCY	reduce by rule 90
++	EXCEPTION	reduce by rule 90
++	EOF	reduce by rule 90
++
++
++	.	error
++
++
++state 118:
++
++	sigexp : SIG . decls END 
++
++	ARCHITECTURE	shift 39
++	END	reduce by rule 1
++	LOCAL	shift 38
++	DATATYPE	shift 37
++	TYPE	shift 36
++	STORAGE	shift 35
++	LOCATIONS	shift 34
++	STRUCTURE	shift 33
++	FUNCTOR	shift 32
++	SIGNATURE	shift 31
++	SHARING	shift 30
++	INSTRUCTION	shift 29
++	VLIW	shift 28
++	SUPERSCALAR	shift 27
++	FUN	shift 26
++	VAL	shift 25
++	INCLUDE	shift 24
++	OPEN	shift 23
++	LITTLE	shift 22
++	BIG	shift 21
++	PIPELINE	shift 20
++	LOWERCASE	shift 19
++	UPPERCASE	shift 18
++	VERBATIM	shift 17
++	RTL	shift 16
++	NONFIX	shift 15
++	INFIX	shift 14
++	INFIXR	shift 13
++	DEBUG	shift 12
++	RESOURCE	shift 11
++	CPU	shift 10
++	LATENCY	shift 9
++	EXCEPTION	shift 8
++
++	decls	goto 208
++	decl	goto 6
++	mldecl	goto 5
++	mymldecl	goto 4
++	mddecl	goto 3
++	mymddecl	goto 2
++	assemblycase	goto 1
++
++	.	error
++
++
++state 119:
++
++	mymldecl : VAL valbinds .  (reduce by rule 65)
++
++	ARCHITECTURE	reduce by rule 65
++	END	reduce by rule 65
++	LOCAL	reduce by rule 65
++	IN	reduce by rule 65
++	DATATYPE	reduce by rule 65
++	TYPE	reduce by rule 65
++	RPAREN	reduce by rule 65
++	SEMICOLON	reduce by rule 65
++	STORAGE	reduce by rule 65
++	LOCATIONS	reduce by rule 65
++	STRUCTURE	reduce by rule 65
++	FUNCTOR	reduce by rule 65
++	SIGNATURE	reduce by rule 65
++	SHARING	reduce by rule 65
++	INSTRUCTION	reduce by rule 65
++	VLIW	reduce by rule 65
++	SUPERSCALAR	reduce by rule 65
++	FUN	reduce by rule 65
++	VAL	reduce by rule 65
++	INCLUDE	reduce by rule 65
++	OPEN	reduce by rule 65
++	LITTLE	reduce by rule 65
++	BIG	reduce by rule 65
++	PIPELINE	reduce by rule 65
++	LOWERCASE	reduce by rule 65
++	UPPERCASE	reduce by rule 65
++	VERBATIM	reduce by rule 65
++	RTL	reduce by rule 65
++	NONFIX	reduce by rule 65
++	INFIX	reduce by rule 65
++	INFIXR	reduce by rule 65
++	DEBUG	reduce by rule 65
++	RESOURCE	reduce by rule 65
++	CPU	reduce by rule 65
++	LATENCY	reduce by rule 65
++	EXCEPTION	reduce by rule 65
++	EOF	reduce by rule 65
++
++
++	.	error
++
++
++state 120:
++
++	valbinds : valbind .  (reduce by rule 231)
++	valbinds : valbind . AND valbinds 
++
++	ARCHITECTURE	reduce by rule 231
++	END	reduce by rule 231
++	LOCAL	reduce by rule 231
++	IN	reduce by rule 231
++	DATATYPE	reduce by rule 231
++	TYPE	reduce by rule 231
++	AND	shift 209
++	RPAREN	reduce by rule 231
++	SEMICOLON	reduce by rule 231
++	STORAGE	reduce by rule 231
++	LOCATIONS	reduce by rule 231
++	STRUCTURE	reduce by rule 231
++	FUNCTOR	reduce by rule 231
++	SIGNATURE	reduce by rule 231
++	SHARING	reduce by rule 231
++	INSTRUCTION	reduce by rule 231
++	VLIW	reduce by rule 231
++	SUPERSCALAR	reduce by rule 231
++	FUN	reduce by rule 231
++	VAL	reduce by rule 231
++	INCLUDE	reduce by rule 231
++	OPEN	reduce by rule 231
++	LITTLE	reduce by rule 231
++	BIG	reduce by rule 231
++	PIPELINE	reduce by rule 231
++	LOWERCASE	reduce by rule 231
++	UPPERCASE	reduce by rule 231
++	VERBATIM	reduce by rule 231
++	RTL	reduce by rule 231
++	NONFIX	reduce by rule 231
++	INFIX	reduce by rule 231
++	INFIXR	reduce by rule 231
++	DEBUG	reduce by rule 231
++	RESOURCE	reduce by rule 231
++	CPU	reduce by rule 231
++	LATENCY	reduce by rule 231
++	EXCEPTION	reduce by rule 231
++	EOF	reduce by rule 231
++
++
++	.	error
++
++
++state 121:
++
++	valbind : pat . EQ typedexp 
++
++	EQ	shift 210
++
++
++	.	error
++
++
++state 122:
++
++	apppat : apppat . apat2 
++	pat : apppat .  (reduce by rule 315)
++
++	EQ	reduce by rule 315
++	TIMES	shift 72
++	AND	reduce by rule 315
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	RPAREN	reduce by rule 315
++	LBRACKET	shift 101
++	RBRACKET	reduce by rule 315
++	LBRACE	shift 100
++	RBRACE	reduce by rule 315
++	CELLSET	shift 50
++	COMMA	reduce by rule 315
++	COLON	reduce by rule 315
++	BAR	reduce by rule 315
++	DARROW	reduce by rule 315
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	WHERE	reduce by rule 315
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	EXCEPTION	reduce by rule 315
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 211
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 123:
++
++	apppat : apat2 .  (reduce by rule 313)
++
++	EQ	reduce by rule 313
++	TIMES	reduce by rule 313
++	AND	reduce by rule 313
++	DEREF	reduce by rule 313
++	NOT	reduce by rule 313
++	LHASHBRACKET	reduce by rule 313
++	LPAREN	reduce by rule 313
++	RPAREN	reduce by rule 313
++	LBRACKET	reduce by rule 313
++	RBRACKET	reduce by rule 313
++	LBRACE	reduce by rule 313
++	RBRACE	reduce by rule 313
++	CELLSET	reduce by rule 313
++	COMMA	reduce by rule 313
++	COLON	reduce by rule 313
++	BAR	reduce by rule 313
++	DARROW	reduce by rule 313
++	TRUE	reduce by rule 313
++	FALSE	reduce by rule 313
++	WILD	reduce by rule 313
++	WHERE	reduce by rule 313
++	OP	reduce by rule 313
++	ALWAYS	reduce by rule 313
++	NEVER	reduce by rule 313
++	EXCEPTION	reduce by rule 313
++	ID	reduce by rule 313
++	SYMBOL	reduce by rule 313
++	WORD	reduce by rule 313
++	INT	reduce by rule 313
++	INTINF	reduce by rule 313
++	REAL	reduce by rule 313
++	STRING	reduce by rule 313
++	CHAR	reduce by rule 313
++
++
++	.	error
++
++
++state 124:
++
++	apat2 : apat .  (reduce by rule 310)
++
++	EQ	reduce by rule 310
++	TIMES	reduce by rule 310
++	AND	reduce by rule 310
++	DEREF	reduce by rule 310
++	NOT	reduce by rule 310
++	LHASHBRACKET	reduce by rule 310
++	LPAREN	reduce by rule 310
++	RPAREN	reduce by rule 310
++	LBRACKET	reduce by rule 310
++	RBRACKET	reduce by rule 310
++	LBRACE	reduce by rule 310
++	RBRACE	reduce by rule 310
++	CELLSET	reduce by rule 310
++	COMMA	reduce by rule 310
++	COLON	reduce by rule 310
++	BAR	reduce by rule 310
++	DARROW	reduce by rule 310
++	TRUE	reduce by rule 310
++	FALSE	reduce by rule 310
++	WILD	reduce by rule 310
++	WHERE	reduce by rule 310
++	OP	reduce by rule 310
++	ALWAYS	reduce by rule 310
++	NEVER	reduce by rule 310
++	EXCEPTION	reduce by rule 310
++	ID	reduce by rule 310
++	SYMBOL	reduce by rule 310
++	WORD	reduce by rule 310
++	INT	reduce by rule 310
++	INTINF	reduce by rule 310
++	REAL	reduce by rule 310
++	STRING	reduce by rule 310
++	CHAR	reduce by rule 310
++
++
++	.	error
++
++
++state 125:
++
++	mymldecl : VAL syms . COLON ty 
++
++	COLON	shift 212
++
++
++	.	error
++
++error:  state 126: shift/reduce conflict (shift SYMBOL, reduce by rule 311)
++error:  state 126: shift/reduce conflict (shift ID, reduce by rule 311)
++error:  state 126: shift/reduce conflict (shift CELLSET, reduce by rule 311)
++error:  state 126: shift/reduce conflict (shift NOT, reduce by rule 311)
++error:  state 126: shift/reduce conflict (shift DEREF, reduce by rule 311)
++error:  state 126: shift/reduce conflict (shift TIMES, reduce by rule 311)
++
++state 126:
++
++	syms : sym .  (reduce by rule 109)
++	syms : sym . syms 
++	apat : sym . CONCAT LBRACKET pats RBRACKET 
++	apat : sym . CONCAT LBRACKET pats RBRACKET CONCAT sym 
++	apat2 : sym .  (reduce by rule 311)
++
++	EQ	reduce by rule 311
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CONCAT	shift 184
++	LHASHBRACKET	reduce by rule 311
++	LPAREN	reduce by rule 311
++	LBRACKET	reduce by rule 311
++	LBRACE	reduce by rule 311
++	CELLSET	shift 50
++	COLON	reduce by rule 109
++	TRUE	reduce by rule 311
++	FALSE	reduce by rule 311
++	WILD	reduce by rule 311
++	OP	reduce by rule 311
++	ALWAYS	reduce by rule 311
++	NEVER	reduce by rule 311
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	reduce by rule 311
++	INT	reduce by rule 311
++	INTINF	reduce by rule 311
++	REAL	reduce by rule 311
++	STRING	reduce by rule 311
++	CHAR	reduce by rule 311
++
++	id	goto 69
++	sym	goto 68
++	symb	goto 67
++	syms	goto 180
++
++	.	error
++
++
++state 127:
++
++	sym : id .  (reduce by rule 416)
++	path : id . DOT sym 
++	pat : id . AS pat 
++
++	EQ	reduce by rule 416
++	TIMES	reduce by rule 416
++	AND	reduce by rule 416
++	DEREF	reduce by rule 416
++	NOT	reduce by rule 416
++	CONCAT	reduce by rule 416
++	LHASHBRACKET	reduce by rule 416
++	LPAREN	reduce by rule 416
++	RPAREN	reduce by rule 416
++	LBRACKET	reduce by rule 416
++	RBRACKET	reduce by rule 416
++	LBRACE	reduce by rule 416
++	RBRACE	reduce by rule 416
++	CELLSET	reduce by rule 416
++	COMMA	reduce by rule 416
++	COLON	reduce by rule 416
++	DOT	shift 186
++	BAR	reduce by rule 416
++	DARROW	reduce by rule 416
++	TRUE	reduce by rule 416
++	FALSE	reduce by rule 416
++	WILD	reduce by rule 416
++	WHERE	reduce by rule 416
++	AS	shift 213
++	OP	reduce by rule 416
++	ALWAYS	reduce by rule 416
++	NEVER	reduce by rule 416
++	EXCEPTION	reduce by rule 416
++	ID	reduce by rule 416
++	SYMBOL	reduce by rule 416
++	WORD	reduce by rule 416
++	INT	reduce by rule 416
++	INTINF	reduce by rule 416
++	REAL	reduce by rule 416
++	STRING	reduce by rule 416
++	CHAR	reduce by rule 416
++
++
++	.	error
++
++
++state 128:
++
++	apat2 : OP . sym 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 214
++	symb	goto 67
++
++	.	error
++
++
++state 129:
++
++	mymldecl : FUN funbinds .  (reduce by rule 61)
++
++	ARCHITECTURE	reduce by rule 61
++	END	reduce by rule 61
++	LOCAL	reduce by rule 61
++	IN	reduce by rule 61
++	DATATYPE	reduce by rule 61
++	TYPE	reduce by rule 61
++	RPAREN	reduce by rule 61
++	SEMICOLON	reduce by rule 61
++	STORAGE	reduce by rule 61
++	LOCATIONS	reduce by rule 61
++	STRUCTURE	reduce by rule 61
++	FUNCTOR	reduce by rule 61
++	SIGNATURE	reduce by rule 61
++	SHARING	reduce by rule 61
++	INSTRUCTION	reduce by rule 61
++	VLIW	reduce by rule 61
++	SUPERSCALAR	reduce by rule 61
++	FUN	reduce by rule 61
++	VAL	reduce by rule 61
++	INCLUDE	reduce by rule 61
++	OPEN	reduce by rule 61
++	LITTLE	reduce by rule 61
++	BIG	reduce by rule 61
++	PIPELINE	reduce by rule 61
++	LOWERCASE	reduce by rule 61
++	UPPERCASE	reduce by rule 61
++	VERBATIM	reduce by rule 61
++	RTL	reduce by rule 61
++	NONFIX	reduce by rule 61
++	INFIX	reduce by rule 61
++	INFIXR	reduce by rule 61
++	DEBUG	reduce by rule 61
++	RESOURCE	reduce by rule 61
++	CPU	reduce by rule 61
++	LATENCY	reduce by rule 61
++	EXCEPTION	reduce by rule 61
++	EOF	reduce by rule 61
++
++
++	.	error
++
++
++state 130:
++
++	funbinds : funbind .  (reduce by rule 228)
++	funbinds : funbind . AND funbinds 
++
++	ARCHITECTURE	reduce by rule 228
++	END	reduce by rule 228
++	LOCAL	reduce by rule 228
++	IN	reduce by rule 228
++	DATATYPE	reduce by rule 228
++	TYPE	reduce by rule 228
++	AND	shift 215
++	RPAREN	reduce by rule 228
++	SEMICOLON	reduce by rule 228
++	STORAGE	reduce by rule 228
++	LOCATIONS	reduce by rule 228
++	STRUCTURE	reduce by rule 228
++	FUNCTOR	reduce by rule 228
++	SIGNATURE	reduce by rule 228
++	SHARING	reduce by rule 228
++	INSTRUCTION	reduce by rule 228
++	VLIW	reduce by rule 228
++	SUPERSCALAR	reduce by rule 228
++	FUN	reduce by rule 228
++	VAL	reduce by rule 228
++	INCLUDE	reduce by rule 228
++	OPEN	reduce by rule 228
++	LITTLE	reduce by rule 228
++	BIG	reduce by rule 228
++	PIPELINE	reduce by rule 228
++	LOWERCASE	reduce by rule 228
++	UPPERCASE	reduce by rule 228
++	VERBATIM	reduce by rule 228
++	RTL	reduce by rule 228
++	NONFIX	reduce by rule 228
++	INFIX	reduce by rule 228
++	INFIXR	reduce by rule 228
++	DEBUG	reduce by rule 228
++	RESOURCE	reduce by rule 228
++	CPU	reduce by rule 228
++	LATENCY	reduce by rule 228
++	EXCEPTION	reduce by rule 228
++	EOF	reduce by rule 228
++
++
++	.	error
++
++
++state 131:
++
++	funbind : funclauses .  (reduce by rule 230)
++
++	ARCHITECTURE	reduce by rule 230
++	END	reduce by rule 230
++	LOCAL	reduce by rule 230
++	IN	reduce by rule 230
++	DATATYPE	reduce by rule 230
++	TYPE	reduce by rule 230
++	AND	reduce by rule 230
++	RPAREN	reduce by rule 230
++	SEMICOLON	reduce by rule 230
++	STORAGE	reduce by rule 230
++	LOCATIONS	reduce by rule 230
++	STRUCTURE	reduce by rule 230
++	FUNCTOR	reduce by rule 230
++	SIGNATURE	reduce by rule 230
++	SHARING	reduce by rule 230
++	INSTRUCTION	reduce by rule 230
++	VLIW	reduce by rule 230
++	SUPERSCALAR	reduce by rule 230
++	FUN	reduce by rule 230
++	VAL	reduce by rule 230
++	INCLUDE	reduce by rule 230
++	OPEN	reduce by rule 230
++	LITTLE	reduce by rule 230
++	BIG	reduce by rule 230
++	PIPELINE	reduce by rule 230
++	LOWERCASE	reduce by rule 230
++	UPPERCASE	reduce by rule 230
++	VERBATIM	reduce by rule 230
++	RTL	reduce by rule 230
++	NONFIX	reduce by rule 230
++	INFIX	reduce by rule 230
++	INFIXR	reduce by rule 230
++	DEBUG	reduce by rule 230
++	RESOURCE	reduce by rule 230
++	CPU	reduce by rule 230
++	LATENCY	reduce by rule 230
++	EXCEPTION	reduce by rule 230
++	EOF	reduce by rule 230
++
++
++	.	error
++
++
++state 132:
++
++	funclauses : funclause .  (reduce by rule 348)
++	funclauses : funclause . BAR funclauses 
++
++	ARCHITECTURE	reduce by rule 348
++	END	reduce by rule 348
++	LOCAL	reduce by rule 348
++	IN	reduce by rule 348
++	DATATYPE	reduce by rule 348
++	TYPE	reduce by rule 348
++	AND	reduce by rule 348
++	RPAREN	reduce by rule 348
++	SEMICOLON	reduce by rule 348
++	STORAGE	reduce by rule 348
++	LOCATIONS	reduce by rule 348
++	BAR	shift 216
++	STRUCTURE	reduce by rule 348
++	FUNCTOR	reduce by rule 348
++	SIGNATURE	reduce by rule 348
++	SHARING	reduce by rule 348
++	INSTRUCTION	reduce by rule 348
++	VLIW	reduce by rule 348
++	SUPERSCALAR	reduce by rule 348
++	FUN	reduce by rule 348
++	VAL	reduce by rule 348
++	INCLUDE	reduce by rule 348
++	OPEN	reduce by rule 348
++	LITTLE	reduce by rule 348
++	BIG	reduce by rule 348
++	PIPELINE	reduce by rule 348
++	LOWERCASE	reduce by rule 348
++	UPPERCASE	reduce by rule 348
++	VERBATIM	reduce by rule 348
++	RTL	reduce by rule 348
++	NONFIX	reduce by rule 348
++	INFIX	reduce by rule 348
++	INFIXR	reduce by rule 348
++	DEBUG	reduce by rule 348
++	RESOURCE	reduce by rule 348
++	CPU	reduce by rule 348
++	LATENCY	reduce by rule 348
++	EXCEPTION	reduce by rule 348
++	EOF	reduce by rule 348
++
++
++	.	error
++
++
++state 133:
++
++	apppat : apppat . apat2 
++	funclause : apppat . funguard return_ty cont EQ typedexp 
++
++	EQ	reduce by rule 346
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	COLON	reduce by rule 346
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	WHERE	shift 218
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	EXCEPTION	reduce by rule 346
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	funguard	goto 217
++	apat	goto 124
++	apat2	goto 211
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 134:
++
++	apat : sym . CONCAT LBRACKET pats RBRACKET 
++	apat : sym . CONCAT LBRACKET pats RBRACKET CONCAT sym 
++	apat2 : sym .  (reduce by rule 311)
++
++	EQ	reduce by rule 311
++	TIMES	reduce by rule 311
++	AND	reduce by rule 311
++	DEREF	reduce by rule 311
++	NOT	reduce by rule 311
++	CONCAT	shift 184
++	LHASHBRACKET	reduce by rule 311
++	LPAREN	reduce by rule 311
++	RPAREN	reduce by rule 311
++	LBRACKET	reduce by rule 311
++	RBRACKET	reduce by rule 311
++	LBRACE	reduce by rule 311
++	RBRACE	reduce by rule 311
++	CELLSET	reduce by rule 311
++	COMMA	reduce by rule 311
++	COLON	reduce by rule 311
++	BAR	reduce by rule 311
++	DARROW	reduce by rule 311
++	TRUE	reduce by rule 311
++	FALSE	reduce by rule 311
++	WILD	reduce by rule 311
++	WHERE	reduce by rule 311
++	OP	reduce by rule 311
++	ALWAYS	reduce by rule 311
++	NEVER	reduce by rule 311
++	EXCEPTION	reduce by rule 311
++	ID	reduce by rule 311
++	SYMBOL	reduce by rule 311
++	WORD	reduce by rule 311
++	INT	reduce by rule 311
++	INTINF	reduce by rule 311
++	REAL	reduce by rule 311
++	STRING	reduce by rule 311
++	CHAR	reduce by rule 311
++
++
++	.	error
++
++
++state 135:
++
++	sym : id .  (reduce by rule 416)
++	path : id . DOT sym 
++
++	ARCHITECTURE	reduce by rule 416
++	END	reduce by rule 416
++	LOCAL	reduce by rule 416
++	IN	reduce by rule 416
++	OF	reduce by rule 416
++	DATATYPE	reduce by rule 416
++	TYPE	reduce by rule 416
++	EQ	reduce by rule 416
++	DOLLAR	reduce by rule 416
++	TIMES	reduce by rule 416
++	AND	reduce by rule 416
++	DEREF	reduce by rule 416
++	NOT	reduce by rule 416
++	CONCAT	reduce by rule 416
++	LLBRACKET	reduce by rule 416
++	LHASHBRACKET	reduce by rule 416
++	LPAREN	reduce by rule 416
++	RPAREN	reduce by rule 416
++	LBRACKET	reduce by rule 416
++	RBRACKET	reduce by rule 416
++	LBRACE	reduce by rule 416
++	RBRACE	reduce by rule 416
++	SEMICOLON	reduce by rule 416
++	LDQUOTE	reduce by rule 416
++	RMETA	reduce by rule 416
++	CELLSET	reduce by rule 416
++	STORAGE	reduce by rule 416
++	LOCATIONS	reduce by rule 416
++	HASH	reduce by rule 416
++	COMMA	reduce by rule 416
++	COLON	reduce by rule 416
++	DOT	shift 186
++	AT	reduce by rule 416
++	BAR	reduce by rule 416
++	DARROW	reduce by rule 416
++	THEN	reduce by rule 416
++	ELSE	reduce by rule 416
++	TRUE	reduce by rule 416
++	FALSE	reduce by rule 416
++	WILD	reduce by rule 416
++	HANDLE	reduce by rule 416
++	LET	reduce by rule 416
++	STRUCTURE	reduce by rule 416
++	FUNCTOR	reduce by rule 416
++	SIGNATURE	reduce by rule 416
++	WHERE	reduce by rule 416
++	SHARING	reduce by rule 416
++	INSTRUCTION	reduce by rule 416
++	VLIW	reduce by rule 416
++	SUPERSCALAR	reduce by rule 416
++	WITHTYPE	reduce by rule 416
++	FUN	reduce by rule 416
++	VAL	reduce by rule 416
++	INCLUDE	reduce by rule 416
++	OPEN	reduce by rule 416
++	OP	reduce by rule 416
++	LITTLE	reduce by rule 416
++	BIG	reduce by rule 416
++	PIPELINE	reduce by rule 416
++	LOWERCASE	reduce by rule 416
++	UPPERCASE	reduce by rule 416
++	VERBATIM	reduce by rule 416
++	RTL	reduce by rule 416
++	SPAN	reduce by rule 416
++	DELAYSLOT	reduce by rule 416
++	ALWAYS	reduce by rule 416
++	NEVER	reduce by rule 416
++	NONFIX	reduce by rule 416
++	INFIX	reduce by rule 416
++	INFIXR	reduce by rule 416
++	DEBUG	reduce by rule 416
++	ASM_COLON	reduce by rule 416
++	MC_COLON	reduce by rule 416
++	RTL_COLON	reduce by rule 416
++	DELAYSLOT_COLON	reduce by rule 416
++	NULLIFIED_COLON	reduce by rule 416
++	PADDING_COLON	reduce by rule 416
++	RESOURCE	reduce by rule 416
++	CPU	reduce by rule 416
++	LATENCY	reduce by rule 416
++	EXCEPTION	reduce by rule 416
++	ID	reduce by rule 416
++	SYMBOL	reduce by rule 416
++	WORD	reduce by rule 416
++	INT	reduce by rule 416
++	INTINF	reduce by rule 416
++	REAL	reduce by rule 416
++	STRING	reduce by rule 416
++	CHAR	reduce by rule 416
++	EOF	reduce by rule 416
++
++
++	.	error
++
++
++state 136:
++
++	consbinds : consbind .  (reduce by rule 142)
++	consbinds : consbind . BAR consbinds 
++
++	ARCHITECTURE	reduce by rule 142
++	END	reduce by rule 142
++	LOCAL	reduce by rule 142
++	IN	reduce by rule 142
++	DATATYPE	reduce by rule 142
++	TYPE	reduce by rule 142
++	AND	reduce by rule 142
++	RPAREN	reduce by rule 142
++	SEMICOLON	reduce by rule 142
++	STORAGE	reduce by rule 142
++	LOCATIONS	reduce by rule 142
++	BAR	shift 219
++	STRUCTURE	reduce by rule 142
++	FUNCTOR	reduce by rule 142
++	SIGNATURE	reduce by rule 142
++	SHARING	reduce by rule 142
++	INSTRUCTION	reduce by rule 142
++	VLIW	reduce by rule 142
++	SUPERSCALAR	reduce by rule 142
++	WITHTYPE	reduce by rule 142
++	FUN	reduce by rule 142
++	VAL	reduce by rule 142
++	INCLUDE	reduce by rule 142
++	OPEN	reduce by rule 142
++	LITTLE	reduce by rule 142
++	BIG	reduce by rule 142
++	PIPELINE	reduce by rule 142
++	LOWERCASE	reduce by rule 142
++	UPPERCASE	reduce by rule 142
++	VERBATIM	reduce by rule 142
++	RTL	reduce by rule 142
++	NONFIX	reduce by rule 142
++	INFIX	reduce by rule 142
++	INFIXR	reduce by rule 142
++	DEBUG	reduce by rule 142
++	RESOURCE	reduce by rule 142
++	CPU	reduce by rule 142
++	LATENCY	reduce by rule 142
++	EXCEPTION	reduce by rule 142
++	EOF	reduce by rule 142
++
++
++	.	error
++
++
++state 137:
++
++	mymddecl : INSTRUCTION consbinds .  (reduce by rule 22)
++
++	ARCHITECTURE	reduce by rule 22
++	END	reduce by rule 22
++	LOCAL	reduce by rule 22
++	IN	reduce by rule 22
++	DATATYPE	reduce by rule 22
++	TYPE	reduce by rule 22
++	RPAREN	reduce by rule 22
++	SEMICOLON	reduce by rule 22
++	STORAGE	reduce by rule 22
++	LOCATIONS	reduce by rule 22
++	STRUCTURE	reduce by rule 22
++	FUNCTOR	reduce by rule 22
++	SIGNATURE	reduce by rule 22
++	SHARING	reduce by rule 22
++	INSTRUCTION	reduce by rule 22
++	VLIW	reduce by rule 22
++	SUPERSCALAR	reduce by rule 22
++	FUN	reduce by rule 22
++	VAL	reduce by rule 22
++	INCLUDE	reduce by rule 22
++	OPEN	reduce by rule 22
++	LITTLE	reduce by rule 22
++	BIG	reduce by rule 22
++	PIPELINE	reduce by rule 22
++	LOWERCASE	reduce by rule 22
++	UPPERCASE	reduce by rule 22
++	VERBATIM	reduce by rule 22
++	RTL	reduce by rule 22
++	NONFIX	reduce by rule 22
++	INFIX	reduce by rule 22
++	INFIXR	reduce by rule 22
++	DEBUG	reduce by rule 22
++	RESOURCE	reduce by rule 22
++	CPU	reduce by rule 22
++	LATENCY	reduce by rule 22
++	EXCEPTION	reduce by rule 22
++	EOF	reduce by rule 22
++
++
++	.	error
++
++
++state 138:
++
++	consbind : sym . of_ty consassembly consencoding rtl nop nullified delayslot delayslotcandidate sdi latency pipeline 
++
++	ARCHITECTURE	reduce by rule 151
++	END	reduce by rule 151
++	LOCAL	reduce by rule 151
++	IN	reduce by rule 151
++	OF	shift 221
++	DATATYPE	reduce by rule 151
++	TYPE	reduce by rule 151
++	AND	reduce by rule 151
++	LPAREN	reduce by rule 151
++	RPAREN	reduce by rule 151
++	SEMICOLON	reduce by rule 151
++	LDQUOTE	reduce by rule 151
++	CELLSET	reduce by rule 151
++	STORAGE	reduce by rule 151
++	LOCATIONS	reduce by rule 151
++	BAR	reduce by rule 151
++	STRUCTURE	reduce by rule 151
++	FUNCTOR	reduce by rule 151
++	SIGNATURE	reduce by rule 151
++	SHARING	reduce by rule 151
++	INSTRUCTION	reduce by rule 151
++	VLIW	reduce by rule 151
++	SUPERSCALAR	reduce by rule 151
++	WITHTYPE	reduce by rule 151
++	FUN	reduce by rule 151
++	VAL	reduce by rule 151
++	INCLUDE	reduce by rule 151
++	OPEN	reduce by rule 151
++	LITTLE	reduce by rule 151
++	BIG	reduce by rule 151
++	PIPELINE	reduce by rule 151
++	LOWERCASE	reduce by rule 151
++	UPPERCASE	reduce by rule 151
++	VERBATIM	reduce by rule 151
++	RTL	reduce by rule 151
++	SPAN	reduce by rule 151
++	DELAYSLOT	reduce by rule 151
++	NONFIX	reduce by rule 151
++	INFIX	reduce by rule 151
++	INFIXR	reduce by rule 151
++	DEBUG	reduce by rule 151
++	ASM_COLON	reduce by rule 151
++	MC_COLON	reduce by rule 151
++	RTL_COLON	reduce by rule 151
++	DELAYSLOT_COLON	reduce by rule 151
++	NULLIFIED_COLON	reduce by rule 151
++	PADDING_COLON	reduce by rule 151
++	RESOURCE	reduce by rule 151
++	CPU	reduce by rule 151
++	LATENCY	reduce by rule 151
++	EXCEPTION	reduce by rule 151
++	ID	reduce by rule 151
++	SYMBOL	reduce by rule 151
++	WORD	reduce by rule 151
++	INT	reduce by rule 151
++	STRING	reduce by rule 151
++	EOF	reduce by rule 151
++
++	of_ty	goto 220
++
++	.	error
++
++
++state 139:
++
++	mymddecl : INSTRUCTION FORMATS . int BITS formatbinds 
++	mymddecl : INSTRUCTION FORMATS . formatbinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++	INT	shift 64
++
++	id	goto 225
++	int	goto 224
++	formatbind	goto 223
++	formatbinds	goto 222
++
++	.	error
++
++
++state 140:
++
++	sharingdecl : sharelist .  (reduce by rule 102)
++
++	ARCHITECTURE	reduce by rule 102
++	END	reduce by rule 102
++	LOCAL	reduce by rule 102
++	IN	reduce by rule 102
++	DATATYPE	reduce by rule 102
++	TYPE	reduce by rule 102
++	AND	reduce by rule 102
++	RPAREN	reduce by rule 102
++	SEMICOLON	reduce by rule 102
++	STORAGE	reduce by rule 102
++	LOCATIONS	reduce by rule 102
++	STRUCTURE	reduce by rule 102
++	FUNCTOR	reduce by rule 102
++	SIGNATURE	reduce by rule 102
++	SHARING	reduce by rule 102
++	INSTRUCTION	reduce by rule 102
++	VLIW	reduce by rule 102
++	SUPERSCALAR	reduce by rule 102
++	FUN	reduce by rule 102
++	VAL	reduce by rule 102
++	INCLUDE	reduce by rule 102
++	OPEN	reduce by rule 102
++	LITTLE	reduce by rule 102
++	BIG	reduce by rule 102
++	PIPELINE	reduce by rule 102
++	LOWERCASE	reduce by rule 102
++	UPPERCASE	reduce by rule 102
++	VERBATIM	reduce by rule 102
++	RTL	reduce by rule 102
++	NONFIX	reduce by rule 102
++	INFIX	reduce by rule 102
++	INFIXR	reduce by rule 102
++	DEBUG	reduce by rule 102
++	RESOURCE	reduce by rule 102
++	CPU	reduce by rule 102
++	LATENCY	reduce by rule 102
++	EXCEPTION	reduce by rule 102
++	EOF	reduce by rule 102
++
++
++	.	error
++
++
++state 141:
++
++	mymldecl : SHARING sharingdecls .  (reduce by rule 76)
++
++	ARCHITECTURE	reduce by rule 76
++	END	reduce by rule 76
++	LOCAL	reduce by rule 76
++	IN	reduce by rule 76
++	DATATYPE	reduce by rule 76
++	TYPE	reduce by rule 76
++	RPAREN	reduce by rule 76
++	SEMICOLON	reduce by rule 76
++	STORAGE	reduce by rule 76
++	LOCATIONS	reduce by rule 76
++	STRUCTURE	reduce by rule 76
++	FUNCTOR	reduce by rule 76
++	SIGNATURE	reduce by rule 76
++	SHARING	reduce by rule 76
++	INSTRUCTION	reduce by rule 76
++	VLIW	reduce by rule 76
++	SUPERSCALAR	reduce by rule 76
++	FUN	reduce by rule 76
++	VAL	reduce by rule 76
++	INCLUDE	reduce by rule 76
++	OPEN	reduce by rule 76
++	LITTLE	reduce by rule 76
++	BIG	reduce by rule 76
++	PIPELINE	reduce by rule 76
++	LOWERCASE	reduce by rule 76
++	UPPERCASE	reduce by rule 76
++	VERBATIM	reduce by rule 76
++	RTL	reduce by rule 76
++	NONFIX	reduce by rule 76
++	INFIX	reduce by rule 76
++	INFIXR	reduce by rule 76
++	DEBUG	reduce by rule 76
++	RESOURCE	reduce by rule 76
++	CPU	reduce by rule 76
++	LATENCY	reduce by rule 76
++	EXCEPTION	reduce by rule 76
++	EOF	reduce by rule 76
++
++
++	.	error
++
++
++state 142:
++
++	sharingdecls : sharingdecl .  (reduce by rule 99)
++	sharingdecls : sharingdecl . AND sharingdecls 
++
++	ARCHITECTURE	reduce by rule 99
++	END	reduce by rule 99
++	LOCAL	reduce by rule 99
++	IN	reduce by rule 99
++	DATATYPE	reduce by rule 99
++	TYPE	reduce by rule 99
++	AND	shift 226
++	RPAREN	reduce by rule 99
++	SEMICOLON	reduce by rule 99
++	STORAGE	reduce by rule 99
++	LOCATIONS	reduce by rule 99
++	STRUCTURE	reduce by rule 99
++	FUNCTOR	reduce by rule 99
++	SIGNATURE	reduce by rule 99
++	SHARING	reduce by rule 99
++	INSTRUCTION	reduce by rule 99
++	VLIW	reduce by rule 99
++	SUPERSCALAR	reduce by rule 99
++	FUN	reduce by rule 99
++	VAL	reduce by rule 99
++	INCLUDE	reduce by rule 99
++	OPEN	reduce by rule 99
++	LITTLE	reduce by rule 99
++	BIG	reduce by rule 99
++	PIPELINE	reduce by rule 99
++	LOWERCASE	reduce by rule 99
++	UPPERCASE	reduce by rule 99
++	VERBATIM	reduce by rule 99
++	RTL	reduce by rule 99
++	NONFIX	reduce by rule 99
++	INFIX	reduce by rule 99
++	INFIXR	reduce by rule 99
++	DEBUG	reduce by rule 99
++	RESOURCE	reduce by rule 99
++	CPU	reduce by rule 99
++	LATENCY	reduce by rule 99
++	EXCEPTION	reduce by rule 99
++	EOF	reduce by rule 99
++
++
++	.	error
++
++
++state 143:
++
++	sharelist : ident . EQ ident 
++	sharelist : ident . EQ sharelist 
++
++	EQ	shift 227
++
++
++	.	error
++
++
++state 144:
++
++	sharingdecl : TYPE . sharelist 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 114
++	ident	goto 143
++	ident2	goto 112
++	path	goto 85
++	sharelist	goto 228
++
++	.	error
++
++
++state 145:
++
++	mymldecl : SIGNATURE id . EQ sigexp 
++
++	EQ	shift 229
++
++
++	.	error
++
++
++state 146:
++
++	mymldecl : FUNCTOR id . LPAREN functorarg RPAREN EQ structexp 
++	mymldecl : FUNCTOR id . LPAREN functorarg RPAREN sigcon EQ structexp 
++	mymldecl : FUNCTOR id . EQ structexp 
++
++	EQ	shift 231
++	LPAREN	shift 230
++
++
++	.	error
++
++
++state 147:
++
++	mymldecl : STRUCTURE id . EQ structexp 
++	mymldecl : STRUCTURE id . sigcon EQ structexp 
++	mymldecl : STRUCTURE id . COLON sigexp 
++
++	EQ	shift 235
++	COLON	shift 234
++	COLONGREATER	shift 233
++
++	sigcon	goto 232
++
++	.	error
++
++
++state 148:
++
++	mymddecl : LOCATIONS locbinds .  (reduce by rule 21)
++
++	ARCHITECTURE	reduce by rule 21
++	END	reduce by rule 21
++	LOCAL	reduce by rule 21
++	IN	reduce by rule 21
++	DATATYPE	reduce by rule 21
++	TYPE	reduce by rule 21
++	RPAREN	reduce by rule 21
++	SEMICOLON	reduce by rule 21
++	STORAGE	reduce by rule 21
++	LOCATIONS	reduce by rule 21
++	STRUCTURE	reduce by rule 21
++	FUNCTOR	reduce by rule 21
++	SIGNATURE	reduce by rule 21
++	SHARING	reduce by rule 21
++	INSTRUCTION	reduce by rule 21
++	VLIW	reduce by rule 21
++	SUPERSCALAR	reduce by rule 21
++	FUN	reduce by rule 21
++	VAL	reduce by rule 21
++	INCLUDE	reduce by rule 21
++	OPEN	reduce by rule 21
++	LITTLE	reduce by rule 21
++	BIG	reduce by rule 21
++	PIPELINE	reduce by rule 21
++	LOWERCASE	reduce by rule 21
++	UPPERCASE	reduce by rule 21
++	VERBATIM	reduce by rule 21
++	RTL	reduce by rule 21
++	NONFIX	reduce by rule 21
++	INFIX	reduce by rule 21
++	INFIXR	reduce by rule 21
++	DEBUG	reduce by rule 21
++	RESOURCE	reduce by rule 21
++	CPU	reduce by rule 21
++	LATENCY	reduce by rule 21
++	EXCEPTION	reduce by rule 21
++	EOF	reduce by rule 21
++
++
++	.	error
++
++
++state 149:
++
++	locbinds : locbind .  (reduce by rule 392)
++	locbinds : locbind . AND locbinds 
++
++	ARCHITECTURE	reduce by rule 392
++	END	reduce by rule 392
++	LOCAL	reduce by rule 392
++	IN	reduce by rule 392
++	DATATYPE	reduce by rule 392
++	TYPE	reduce by rule 392
++	AND	shift 236
++	RPAREN	reduce by rule 392
++	SEMICOLON	reduce by rule 392
++	STORAGE	reduce by rule 392
++	LOCATIONS	reduce by rule 392
++	STRUCTURE	reduce by rule 392
++	FUNCTOR	reduce by rule 392
++	SIGNATURE	reduce by rule 392
++	SHARING	reduce by rule 392
++	INSTRUCTION	reduce by rule 392
++	VLIW	reduce by rule 392
++	SUPERSCALAR	reduce by rule 392
++	FUN	reduce by rule 392
++	VAL	reduce by rule 392
++	INCLUDE	reduce by rule 392
++	OPEN	reduce by rule 392
++	LITTLE	reduce by rule 392
++	BIG	reduce by rule 392
++	PIPELINE	reduce by rule 392
++	LOWERCASE	reduce by rule 392
++	UPPERCASE	reduce by rule 392
++	VERBATIM	reduce by rule 392
++	RTL	reduce by rule 392
++	NONFIX	reduce by rule 392
++	INFIX	reduce by rule 392
++	INFIXR	reduce by rule 392
++	DEBUG	reduce by rule 392
++	RESOURCE	reduce by rule 392
++	CPU	reduce by rule 392
++	LATENCY	reduce by rule 392
++	EXCEPTION	reduce by rule 392
++	EOF	reduce by rule 392
++
++
++	.	error
++
++
++state 150:
++
++	locbind : id . EQ exp 
++	locbind : id . pat EQ exp 
++
++	EQ	shift 238
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 237
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 151:
++
++	mymddecl : STORAGE storagedecls .  (reduce by rule 20)
++
++	ARCHITECTURE	reduce by rule 20
++	END	reduce by rule 20
++	LOCAL	reduce by rule 20
++	IN	reduce by rule 20
++	DATATYPE	reduce by rule 20
++	TYPE	reduce by rule 20
++	RPAREN	reduce by rule 20
++	SEMICOLON	reduce by rule 20
++	STORAGE	reduce by rule 20
++	LOCATIONS	reduce by rule 20
++	STRUCTURE	reduce by rule 20
++	FUNCTOR	reduce by rule 20
++	SIGNATURE	reduce by rule 20
++	SHARING	reduce by rule 20
++	INSTRUCTION	reduce by rule 20
++	VLIW	reduce by rule 20
++	SUPERSCALAR	reduce by rule 20
++	FUN	reduce by rule 20
++	VAL	reduce by rule 20
++	INCLUDE	reduce by rule 20
++	OPEN	reduce by rule 20
++	LITTLE	reduce by rule 20
++	BIG	reduce by rule 20
++	PIPELINE	reduce by rule 20
++	LOWERCASE	reduce by rule 20
++	UPPERCASE	reduce by rule 20
++	VERBATIM	reduce by rule 20
++	RTL	reduce by rule 20
++	NONFIX	reduce by rule 20
++	INFIX	reduce by rule 20
++	INFIXR	reduce by rule 20
++	DEBUG	reduce by rule 20
++	RESOURCE	reduce by rule 20
++	CPU	reduce by rule 20
++	LATENCY	reduce by rule 20
++	EXCEPTION	reduce by rule 20
++	EOF	reduce by rule 20
++
++
++	.	error
++
++
++state 152:
++
++	storagedecls : storagedecl .  (reduce by rule 381)
++	storagedecls : storagedecl . BAR storagedecls 
++
++	ARCHITECTURE	reduce by rule 381
++	END	reduce by rule 381
++	LOCAL	reduce by rule 381
++	IN	reduce by rule 381
++	DATATYPE	reduce by rule 381
++	TYPE	reduce by rule 381
++	RPAREN	reduce by rule 381
++	SEMICOLON	reduce by rule 381
++	STORAGE	reduce by rule 381
++	LOCATIONS	reduce by rule 381
++	BAR	shift 239
++	STRUCTURE	reduce by rule 381
++	FUNCTOR	reduce by rule 381
++	SIGNATURE	reduce by rule 381
++	SHARING	reduce by rule 381
++	INSTRUCTION	reduce by rule 381
++	VLIW	reduce by rule 381
++	SUPERSCALAR	reduce by rule 381
++	FUN	reduce by rule 381
++	VAL	reduce by rule 381
++	INCLUDE	reduce by rule 381
++	OPEN	reduce by rule 381
++	LITTLE	reduce by rule 381
++	BIG	reduce by rule 381
++	PIPELINE	reduce by rule 381
++	LOWERCASE	reduce by rule 381
++	UPPERCASE	reduce by rule 381
++	VERBATIM	reduce by rule 381
++	RTL	reduce by rule 381
++	NONFIX	reduce by rule 381
++	INFIX	reduce by rule 381
++	INFIXR	reduce by rule 381
++	DEBUG	reduce by rule 381
++	RESOURCE	reduce by rule 381
++	CPU	reduce by rule 381
++	LATENCY	reduce by rule 381
++	EXCEPTION	reduce by rule 381
++	EOF	reduce by rule 381
++
++
++	.	error
++
++
++state 153:
++
++	storagedecl : id . EQ DOLLAR id LBRACKET cellcount RBRACKET bitSize aliasing defaults printcell 
++
++	EQ	shift 240
++
++
++	.	error
++
++
++state 154:
++
++	mymldecl : TYPE tyvarseq . tid 
++	typebind : tyvarseq . tid EQ ty 
++
++	CELLSET	shift 50
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 243
++	tid	goto 242
++	tid2	goto 241
++
++	.	error
++
++
++state 155:
++
++	tyvarseq : tyvar .  (reduce by rule 200)
++
++	CELLSET	reduce by rule 200
++	BITS	reduce by rule 200
++	INSTRUCTION	reduce by rule 200
++	CELL	reduce by rule 200
++	ID	reduce by rule 200
++	SYMBOL	reduce by rule 200
++
++
++	.	error
++
++
++state 156:
++
++	typebinds : typebind .  (reduce by rule 196)
++	typebinds : typebind . AND typebinds 
++
++	ARCHITECTURE	reduce by rule 196
++	END	reduce by rule 196
++	LOCAL	reduce by rule 196
++	IN	reduce by rule 196
++	DATATYPE	reduce by rule 196
++	TYPE	reduce by rule 196
++	AND	shift 247
++	RPAREN	reduce by rule 196
++	SEMICOLON	reduce by rule 196
++	STORAGE	reduce by rule 196
++	LOCATIONS	reduce by rule 196
++	STRUCTURE	reduce by rule 196
++	FUNCTOR	reduce by rule 196
++	SIGNATURE	reduce by rule 196
++	SHARING	reduce by rule 196
++	INSTRUCTION	reduce by rule 196
++	VLIW	reduce by rule 196
++	SUPERSCALAR	reduce by rule 196
++	FUN	reduce by rule 196
++	VAL	reduce by rule 196
++	INCLUDE	reduce by rule 196
++	OPEN	reduce by rule 196
++	LITTLE	reduce by rule 196
++	BIG	reduce by rule 196
++	PIPELINE	reduce by rule 196
++	LOWERCASE	reduce by rule 196
++	UPPERCASE	reduce by rule 196
++	VERBATIM	reduce by rule 196
++	RTL	reduce by rule 196
++	NONFIX	reduce by rule 196
++	INFIX	reduce by rule 196
++	INFIXR	reduce by rule 196
++	DEBUG	reduce by rule 196
++	RESOURCE	reduce by rule 196
++	CPU	reduce by rule 196
++	LATENCY	reduce by rule 196
++	EXCEPTION	reduce by rule 196
++	EOF	reduce by rule 196
++
++
++	.	error
++
++
++state 157:
++
++	mymldecl : TYPE typebinds .  (reduce by rule 60)
++
++	ARCHITECTURE	reduce by rule 60
++	END	reduce by rule 60
++	LOCAL	reduce by rule 60
++	IN	reduce by rule 60
++	DATATYPE	reduce by rule 60
++	TYPE	reduce by rule 60
++	RPAREN	reduce by rule 60
++	SEMICOLON	reduce by rule 60
++	STORAGE	reduce by rule 60
++	LOCATIONS	reduce by rule 60
++	STRUCTURE	reduce by rule 60
++	FUNCTOR	reduce by rule 60
++	SIGNATURE	reduce by rule 60
++	SHARING	reduce by rule 60
++	INSTRUCTION	reduce by rule 60
++	VLIW	reduce by rule 60
++	SUPERSCALAR	reduce by rule 60
++	FUN	reduce by rule 60
++	VAL	reduce by rule 60
++	INCLUDE	reduce by rule 60
++	OPEN	reduce by rule 60
++	LITTLE	reduce by rule 60
++	BIG	reduce by rule 60
++	PIPELINE	reduce by rule 60
++	LOWERCASE	reduce by rule 60
++	UPPERCASE	reduce by rule 60
++	VERBATIM	reduce by rule 60
++	RTL	reduce by rule 60
++	NONFIX	reduce by rule 60
++	INFIX	reduce by rule 60
++	INFIXR	reduce by rule 60
++	DEBUG	reduce by rule 60
++	RESOURCE	reduce by rule 60
++	CPU	reduce by rule 60
++	LATENCY	reduce by rule 60
++	EXCEPTION	reduce by rule 60
++	EOF	reduce by rule 60
++
++
++	.	error
++
++
++state 158:
++
++	tyvar : TYVAR .  (reduce by rule 426)
++
++	ARCHITECTURE	reduce by rule 426
++	END	reduce by rule 426
++	LOCAL	reduce by rule 426
++	IN	reduce by rule 426
++	OF	reduce by rule 426
++	DATATYPE	reduce by rule 426
++	TYPE	reduce by rule 426
++	EQ	reduce by rule 426
++	TIMES	reduce by rule 426
++	AND	reduce by rule 426
++	LPAREN	reduce by rule 426
++	RPAREN	reduce by rule 426
++	RBRACKET	reduce by rule 426
++	RBRACE	reduce by rule 426
++	SEMICOLON	reduce by rule 426
++	LDQUOTE	reduce by rule 426
++	CELLSET	reduce by rule 426
++	STORAGE	reduce by rule 426
++	LOCATIONS	reduce by rule 426
++	COMMA	reduce by rule 426
++	COLON	reduce by rule 426
++	BAR	reduce by rule 426
++	ARROW	reduce by rule 426
++	DARROW	reduce by rule 426
++	BITS	reduce by rule 426
++	THEN	reduce by rule 426
++	ELSE	reduce by rule 426
++	STRUCTURE	reduce by rule 426
++	FUNCTOR	reduce by rule 426
++	SIGNATURE	reduce by rule 426
++	WHERE	reduce by rule 426
++	SHARING	reduce by rule 426
++	INSTRUCTION	reduce by rule 426
++	CELL	reduce by rule 426
++	VLIW	reduce by rule 426
++	SUPERSCALAR	reduce by rule 426
++	WITHTYPE	reduce by rule 426
++	FUN	reduce by rule 426
++	VAL	reduce by rule 426
++	INCLUDE	reduce by rule 426
++	OPEN	reduce by rule 426
++	LITTLE	reduce by rule 426
++	BIG	reduce by rule 426
++	PIPELINE	reduce by rule 426
++	LOWERCASE	reduce by rule 426
++	UPPERCASE	reduce by rule 426
++	VERBATIM	reduce by rule 426
++	RTL	reduce by rule 426
++	SPAN	reduce by rule 426
++	DELAYSLOT	reduce by rule 426
++	NONFIX	reduce by rule 426
++	INFIX	reduce by rule 426
++	INFIXR	reduce by rule 426
++	DEBUG	reduce by rule 426
++	ASM_COLON	reduce by rule 426
++	MC_COLON	reduce by rule 426
++	RTL_COLON	reduce by rule 426
++	DELAYSLOT_COLON	reduce by rule 426
++	NULLIFIED_COLON	reduce by rule 426
++	PADDING_COLON	reduce by rule 426
++	RESOURCE	reduce by rule 426
++	CPU	reduce by rule 426
++	LATENCY	reduce by rule 426
++	EXCEPTION	reduce by rule 426
++	ID	reduce by rule 426
++	SYMBOL	reduce by rule 426
++	WORD	reduce by rule 426
++	INT	reduce by rule 426
++	STRING	reduce by rule 426
++	EOF	reduce by rule 426
++
++
++	.	error
++
++
++state 159:
++
++	tyvar : HASH . id 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 248
++
++	.	error
++
++
++state 160:
++
++	tyvarseq : LPAREN . tyvars RPAREN 
++
++	HASH	shift 159
++	TYVAR	shift 158
++
++	tyvar	goto 250
++	tyvars	goto 249
++
++	.	error
++
++
++state 161:
++
++	datatypebind : tyvarseq . id opcodeencoding fieldty hasasm EQ consbinds 
++	datatypebind : tyvarseq . id opcodeencoding fieldty hasasm EQ DATATYPE ty 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 251
++
++	.	error
++
++
++state 162:
++
++	datatypebinds : datatypebind .  (reduce by rule 127)
++	datatypebinds : datatypebind . AND datatypebinds 
++
++	ARCHITECTURE	reduce by rule 127
++	END	reduce by rule 127
++	LOCAL	reduce by rule 127
++	IN	reduce by rule 127
++	DATATYPE	reduce by rule 127
++	TYPE	reduce by rule 127
++	AND	shift 252
++	RPAREN	reduce by rule 127
++	SEMICOLON	reduce by rule 127
++	STORAGE	reduce by rule 127
++	LOCATIONS	reduce by rule 127
++	STRUCTURE	reduce by rule 127
++	FUNCTOR	reduce by rule 127
++	SIGNATURE	reduce by rule 127
++	SHARING	reduce by rule 127
++	INSTRUCTION	reduce by rule 127
++	VLIW	reduce by rule 127
++	SUPERSCALAR	reduce by rule 127
++	WITHTYPE	reduce by rule 127
++	FUN	reduce by rule 127
++	VAL	reduce by rule 127
++	INCLUDE	reduce by rule 127
++	OPEN	reduce by rule 127
++	LITTLE	reduce by rule 127
++	BIG	reduce by rule 127
++	PIPELINE	reduce by rule 127
++	LOWERCASE	reduce by rule 127
++	UPPERCASE	reduce by rule 127
++	VERBATIM	reduce by rule 127
++	RTL	reduce by rule 127
++	NONFIX	reduce by rule 127
++	INFIX	reduce by rule 127
++	INFIXR	reduce by rule 127
++	DEBUG	reduce by rule 127
++	RESOURCE	reduce by rule 127
++	CPU	reduce by rule 127
++	LATENCY	reduce by rule 127
++	EXCEPTION	reduce by rule 127
++	EOF	reduce by rule 127
++
++
++	.	error
++
++
++state 163:
++
++	mymldecl : DATATYPE datatypebinds . withtypeclause 
++
++	ARCHITECTURE	reduce by rule 194
++	END	reduce by rule 194
++	LOCAL	reduce by rule 194
++	IN	reduce by rule 194
++	DATATYPE	reduce by rule 194
++	TYPE	reduce by rule 194
++	RPAREN	reduce by rule 194
++	SEMICOLON	reduce by rule 194
++	STORAGE	reduce by rule 194
++	LOCATIONS	reduce by rule 194
++	STRUCTURE	reduce by rule 194
++	FUNCTOR	reduce by rule 194
++	SIGNATURE	reduce by rule 194
++	SHARING	reduce by rule 194
++	INSTRUCTION	reduce by rule 194
++	VLIW	reduce by rule 194
++	SUPERSCALAR	reduce by rule 194
++	WITHTYPE	shift 254
++	FUN	reduce by rule 194
++	VAL	reduce by rule 194
++	INCLUDE	reduce by rule 194
++	OPEN	reduce by rule 194
++	LITTLE	reduce by rule 194
++	BIG	reduce by rule 194
++	PIPELINE	reduce by rule 194
++	LOWERCASE	reduce by rule 194
++	UPPERCASE	reduce by rule 194
++	VERBATIM	reduce by rule 194
++	RTL	reduce by rule 194
++	NONFIX	reduce by rule 194
++	INFIX	reduce by rule 194
++	INFIXR	reduce by rule 194
++	DEBUG	reduce by rule 194
++	RESOURCE	reduce by rule 194
++	CPU	reduce by rule 194
++	LATENCY	reduce by rule 194
++	EXCEPTION	reduce by rule 194
++	EOF	reduce by rule 194
++
++	withtypeclause	goto 253
++
++	.	error
++
++
++state 164:
++
++	scopeddecls : newScope . decls oldScope 
++
++	ARCHITECTURE	shift 39
++	END	reduce by rule 1
++	LOCAL	shift 38
++	IN	reduce by rule 1
++	DATATYPE	shift 37
++	TYPE	shift 36
++	RPAREN	reduce by rule 1
++	STORAGE	shift 35
++	LOCATIONS	shift 34
++	STRUCTURE	shift 33
++	FUNCTOR	shift 32
++	SIGNATURE	shift 31
++	SHARING	shift 30
++	INSTRUCTION	shift 29
++	VLIW	shift 28
++	SUPERSCALAR	shift 27
++	FUN	shift 26
++	VAL	shift 25
++	INCLUDE	shift 24
++	OPEN	shift 23
++	LITTLE	shift 22
++	BIG	shift 21
++	PIPELINE	shift 20
++	LOWERCASE	shift 19
++	UPPERCASE	shift 18
++	VERBATIM	shift 17
++	RTL	shift 16
++	NONFIX	shift 15
++	INFIX	shift 14
++	INFIXR	shift 13
++	DEBUG	shift 12
++	RESOURCE	shift 11
++	CPU	shift 10
++	LATENCY	shift 9
++	EXCEPTION	shift 8
++
++	decls	goto 255
++	decl	goto 6
++	mldecl	goto 5
++	mymldecl	goto 4
++	mddecl	goto 3
++	mymddecl	goto 2
++	assemblycase	goto 1
++
++	.	error
++
++
++state 165:
++
++	mymldecl : LOCAL scopeddecls . IN scopeddecls END 
++
++	IN	shift 256
++
++
++	.	error
++
++
++state 166:
++
++	mymddecl : ARCHITECTURE id . EQ STRUCT decls END 
++
++	EQ	shift 257
++
++
++	.	error
++
++
++state 167:
++
++	optsemi : SEMICOLON optsemi .  (reduce by rule 6)
++
++	ARCHITECTURE	reduce by rule 6
++	END	reduce by rule 6
++	LOCAL	reduce by rule 6
++	IN	reduce by rule 6
++	DATATYPE	reduce by rule 6
++	TYPE	reduce by rule 6
++	RPAREN	reduce by rule 6
++	STORAGE	reduce by rule 6
++	LOCATIONS	reduce by rule 6
++	STRUCTURE	reduce by rule 6
++	FUNCTOR	reduce by rule 6
++	SIGNATURE	reduce by rule 6
++	SHARING	reduce by rule 6
++	INSTRUCTION	reduce by rule 6
++	VLIW	reduce by rule 6
++	SUPERSCALAR	reduce by rule 6
++	FUN	reduce by rule 6
++	VAL	reduce by rule 6
++	INCLUDE	reduce by rule 6
++	OPEN	reduce by rule 6
++	LITTLE	reduce by rule 6
++	BIG	reduce by rule 6
++	PIPELINE	reduce by rule 6
++	LOWERCASE	reduce by rule 6
++	UPPERCASE	reduce by rule 6
++	VERBATIM	reduce by rule 6
++	RTL	reduce by rule 6
++	NONFIX	reduce by rule 6
++	INFIX	reduce by rule 6
++	INFIXR	reduce by rule 6
++	DEBUG	reduce by rule 6
++	RESOURCE	reduce by rule 6
++	CPU	reduce by rule 6
++	LATENCY	reduce by rule 6
++	EXCEPTION	reduce by rule 6
++	EOF	reduce by rule 6
++
++
++	.	error
++
++
++state 168:
++
++	exceptionbinds : exceptionbind AND . exceptionbinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 47
++	exceptionbind	goto 46
++	exceptionbinds	goto 258
++
++	.	error
++
++
++state 169:
++
++	exceptionbind : id EQ . ident 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 114
++	ident	goto 259
++	ident2	goto 112
++	path	goto 85
++
++	.	error
++
++
++state 170:
++
++	exceptionbind : id OF . ty 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	ty	goto 264
++	aty	goto 263
++	appty	goto 262
++	tuplety	goto 261
++	tyvar	goto 260
++
++	.	error
++
++
++state 171:
++
++	latencyclauses : latencyclause BAR . latencyclauses 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 55
++	latencyclauses	goto 272
++	latencyclause	goto 51
++
++	.	error
++
++
++state 172:
++
++	latencybinds : latencybind AND . latencybinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 55
++	latencybinds	goto 273
++	latencybind	goto 53
++	latencyclauses	goto 52
++	latencyclause	goto 51
++
++	.	error
++
++
++state 173:
++
++	latencyclause : id pat . EQ exp 
++
++	EQ	shift 274
++
++
++	.	error
++
++
++state 174:
++
++	cpubinds : cpubind AND . cpubinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 58
++	cpubinds	goto 275
++	cpubind	goto 56
++
++	.	error
++
++
++state 175:
++
++	cpubind : id aliases . int LBRACKET resources RBRACKET 
++
++	INT	shift 64
++
++	int	goto 276
++
++	.	error
++
++
++state 176:
++
++	aliases : string . aliases 
++
++	INT	reduce by rule 33
++	STRING	shift 91
++
++	string	goto 176
++	aliases	goto 277
++
++	.	error
++
++
++state 177:
++
++	resourcebinds : id AND . resourcebinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 60
++	resourcebinds	goto 278
++
++	.	error
++
++
++state 178:
++
++	mymldecl : INFIXR intopt syms .  (reduce by rule 78)
++
++	ARCHITECTURE	reduce by rule 78
++	END	reduce by rule 78
++	LOCAL	reduce by rule 78
++	IN	reduce by rule 78
++	DATATYPE	reduce by rule 78
++	TYPE	reduce by rule 78
++	RPAREN	reduce by rule 78
++	SEMICOLON	reduce by rule 78
++	STORAGE	reduce by rule 78
++	LOCATIONS	reduce by rule 78
++	STRUCTURE	reduce by rule 78
++	FUNCTOR	reduce by rule 78
++	SIGNATURE	reduce by rule 78
++	SHARING	reduce by rule 78
++	INSTRUCTION	reduce by rule 78
++	VLIW	reduce by rule 78
++	SUPERSCALAR	reduce by rule 78
++	FUN	reduce by rule 78
++	VAL	reduce by rule 78
++	INCLUDE	reduce by rule 78
++	OPEN	reduce by rule 78
++	LITTLE	reduce by rule 78
++	BIG	reduce by rule 78
++	PIPELINE	reduce by rule 78
++	LOWERCASE	reduce by rule 78
++	UPPERCASE	reduce by rule 78
++	VERBATIM	reduce by rule 78
++	RTL	reduce by rule 78
++	NONFIX	reduce by rule 78
++	INFIX	reduce by rule 78
++	INFIXR	reduce by rule 78
++	DEBUG	reduce by rule 78
++	RESOURCE	reduce by rule 78
++	CPU	reduce by rule 78
++	LATENCY	reduce by rule 78
++	EXCEPTION	reduce by rule 78
++	EOF	reduce by rule 78
++
++
++	.	error
++
++
++state 179:
++
++	mymldecl : INFIX intopt syms .  (reduce by rule 77)
++
++	ARCHITECTURE	reduce by rule 77
++	END	reduce by rule 77
++	LOCAL	reduce by rule 77
++	IN	reduce by rule 77
++	DATATYPE	reduce by rule 77
++	TYPE	reduce by rule 77
++	RPAREN	reduce by rule 77
++	SEMICOLON	reduce by rule 77
++	STORAGE	reduce by rule 77
++	LOCATIONS	reduce by rule 77
++	STRUCTURE	reduce by rule 77
++	FUNCTOR	reduce by rule 77
++	SIGNATURE	reduce by rule 77
++	SHARING	reduce by rule 77
++	INSTRUCTION	reduce by rule 77
++	VLIW	reduce by rule 77
++	SUPERSCALAR	reduce by rule 77
++	FUN	reduce by rule 77
++	VAL	reduce by rule 77
++	INCLUDE	reduce by rule 77
++	OPEN	reduce by rule 77
++	LITTLE	reduce by rule 77
++	BIG	reduce by rule 77
++	PIPELINE	reduce by rule 77
++	LOWERCASE	reduce by rule 77
++	UPPERCASE	reduce by rule 77
++	VERBATIM	reduce by rule 77
++	RTL	reduce by rule 77
++	NONFIX	reduce by rule 77
++	INFIX	reduce by rule 77
++	INFIXR	reduce by rule 77
++	DEBUG	reduce by rule 77
++	RESOURCE	reduce by rule 77
++	CPU	reduce by rule 77
++	LATENCY	reduce by rule 77
++	EXCEPTION	reduce by rule 77
++	EOF	reduce by rule 77
++
++
++	.	error
++
++
++state 180:
++
++	syms : sym syms .  (reduce by rule 110)
++
++	ARCHITECTURE	reduce by rule 110
++	END	reduce by rule 110
++	LOCAL	reduce by rule 110
++	IN	reduce by rule 110
++	DATATYPE	reduce by rule 110
++	TYPE	reduce by rule 110
++	RPAREN	reduce by rule 110
++	SEMICOLON	reduce by rule 110
++	STORAGE	reduce by rule 110
++	LOCATIONS	reduce by rule 110
++	COLON	reduce by rule 110
++	STRUCTURE	reduce by rule 110
++	FUNCTOR	reduce by rule 110
++	SIGNATURE	reduce by rule 110
++	SHARING	reduce by rule 110
++	INSTRUCTION	reduce by rule 110
++	VLIW	reduce by rule 110
++	SUPERSCALAR	reduce by rule 110
++	FUN	reduce by rule 110
++	VAL	reduce by rule 110
++	INCLUDE	reduce by rule 110
++	OPEN	reduce by rule 110
++	LITTLE	reduce by rule 110
++	BIG	reduce by rule 110
++	PIPELINE	reduce by rule 110
++	LOWERCASE	reduce by rule 110
++	UPPERCASE	reduce by rule 110
++	VERBATIM	reduce by rule 110
++	RTL	reduce by rule 110
++	NONFIX	reduce by rule 110
++	INFIX	reduce by rule 110
++	INFIXR	reduce by rule 110
++	DEBUG	reduce by rule 110
++	RESOURCE	reduce by rule 110
++	CPU	reduce by rule 110
++	LATENCY	reduce by rule 110
++	EXCEPTION	reduce by rule 110
++	EOF	reduce by rule 110
++
++
++	.	error
++
++
++state 181:
++
++	mymldecl : RTL asapat EQ . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 281
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 182:
++
++	path : path DOT . sym 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 302
++	symb	goto 67
++
++	.	error
++
++
++state 183:
++
++	mymldecl : RTL syms COLON . ty 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	ty	goto 303
++	aty	goto 263
++	appty	goto 262
++	tuplety	goto 261
++	tyvar	goto 260
++
++	.	error
++
++
++state 184:
++
++	apat : sym CONCAT . LBRACKET pats RBRACKET 
++	apat : sym CONCAT . LBRACKET pats RBRACKET CONCAT sym 
++
++	LBRACKET	shift 304
++
++
++	.	error
++
++
++state 185:
++
++	asapat : id AS . asapat 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 307
++	sym	goto 306
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 84
++	asapat	goto 305
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 186:
++
++	path : id DOT . sym 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 308
++	symb	goto 67
++
++	.	error
++
++
++state 187:
++
++	mymldecl : RTL id LBRACE . labpats0 RBRACE EQ exp 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	RBRACE	reduce by rule 326
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 191
++	symb	goto 67
++	labpat	goto 190
++	labpats0	goto 309
++	labpats	goto 188
++
++	.	error
++
++
++state 188:
++
++	labpats0 : labpats .  (reduce by rule 327)
++
++	RBRACE	reduce by rule 327
++
++
++	.	error
++
++
++state 189:
++
++	apat : LBRACE labpats0 . RBRACE 
++
++	RBRACE	shift 310
++
++
++	.	error
++
++
++state 190:
++
++	labpats : labpat .  (reduce by rule 328)
++	labpats : labpat . COMMA DOTDOT 
++	labpats : labpat . COMMA labpats 
++
++	RBRACE	reduce by rule 328
++	COMMA	shift 311
++
++
++	.	error
++
++
++state 191:
++
++	labpat : sym .  (reduce by rule 331)
++	labpat : sym . EQ typedpat 
++	labpat : sym . AS typedpat 
++	labpat : sym . WHERE typedexp 
++	labpat : sym . WHERE typedexp IN typedpat 
++
++	EQ	shift 314
++	RBRACE	reduce by rule 331
++	COMMA	reduce by rule 331
++	WHERE	shift 313
++	AS	shift 312
++
++
++	.	error
++
++
++state 192:
++
++	pats : pats1 .  (reduce by rule 322)
++
++	RBRACKET	reduce by rule 322
++
++
++	.	error
++
++
++state 193:
++
++	apat : LBRACKET pats . RBRACKET 
++	apat : LBRACKET pats . RBRACKET CONCAT sym 
++
++	RBRACKET	shift 315
++
++
++	.	error
++
++
++state 194:
++
++	typedpat : typedpat . COLON ty 
++	pats1 : typedpat .  (reduce by rule 323)
++	pats1 : typedpat . COMMA pats1 
++
++	RPAREN	reduce by rule 323
++	RBRACKET	reduce by rule 323
++	COMMA	shift 317
++	COLON	shift 316
++
++
++	.	error
++
++
++state 195:
++
++	typedpat : pat .  (reduce by rule 317)
++
++	AND	reduce by rule 317
++	RPAREN	reduce by rule 317
++	RBRACKET	reduce by rule 317
++	RBRACE	reduce by rule 317
++	COMMA	reduce by rule 317
++	COLON	reduce by rule 317
++	BAR	reduce by rule 317
++	DARROW	reduce by rule 317
++	WHERE	reduce by rule 317
++	EXCEPTION	reduce by rule 317
++
++
++	.	error
++
++
++state 196:
++
++	apat : LPAREN andpats2 . RPAREN 
++
++	RPAREN	shift 318
++
++
++	.	error
++
++
++state 197:
++
++	apat : LPAREN orpats2 . RPAREN 
++
++	RPAREN	shift 319
++
++
++	.	error
++
++
++state 198:
++
++	apat : LPAREN pats2 . RPAREN 
++
++	RPAREN	shift 320
++
++
++	.	error
++
++
++state 199:
++
++	apat : LPAREN typedpat . RPAREN 
++	apat : LPAREN typedpat . WHERE typedexp RPAREN 
++	apat : LPAREN typedpat . WHERE typedexp IN typedpat RPAREN 
++	typedpat : typedpat . COLON ty 
++	pats2 : typedpat . COMMA pats1 
++	orpats2 : typedpat . BAR typedpat 
++	orpats2 : typedpat . BAR orpats2 
++	andpats2 : typedpat . AND typedpat 
++	andpats2 : typedpat . AND andpats2 
++
++	AND	shift 325
++	RPAREN	shift 324
++	COMMA	shift 323
++	COLON	shift 316
++	BAR	shift 322
++	WHERE	shift 321
++
++
++	.	error
++
++
++state 200:
++
++	apat : LPAREN RPAREN .  (reduce by rule 293)
++
++	EQ	reduce by rule 293
++	TIMES	reduce by rule 293
++	AND	reduce by rule 293
++	DEREF	reduce by rule 293
++	NOT	reduce by rule 293
++	LHASHBRACKET	reduce by rule 293
++	LPAREN	reduce by rule 293
++	RPAREN	reduce by rule 293
++	LBRACKET	reduce by rule 293
++	RBRACKET	reduce by rule 293
++	LBRACE	reduce by rule 293
++	RBRACE	reduce by rule 293
++	CELLSET	reduce by rule 293
++	COMMA	reduce by rule 293
++	COLON	reduce by rule 293
++	BAR	reduce by rule 293
++	DARROW	reduce by rule 293
++	TRUE	reduce by rule 293
++	FALSE	reduce by rule 293
++	WILD	reduce by rule 293
++	WHERE	reduce by rule 293
++	OP	reduce by rule 293
++	ALWAYS	reduce by rule 293
++	NEVER	reduce by rule 293
++	EXCEPTION	reduce by rule 293
++	ID	reduce by rule 293
++	SYMBOL	reduce by rule 293
++	WORD	reduce by rule 293
++	INT	reduce by rule 293
++	INTINF	reduce by rule 293
++	REAL	reduce by rule 293
++	STRING	reduce by rule 293
++	CHAR	reduce by rule 293
++
++
++	.	error
++
++
++state 201:
++
++	apat : LHASHBRACKET pats . RBRACKET 
++
++	RBRACKET	shift 326
++
++
++	.	error
++
++
++state 202:
++
++	pipelineclauses : pipelineclause BAR . pipelineclauses 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 108
++	pipelineclauses	goto 327
++	pipelineclause	goto 104
++
++	.	error
++
++
++state 203:
++
++	pipelinebinds : pipelinebind AND . pipelinebinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 108
++	pipelinebinds	goto 328
++	pipelinebind	goto 106
++	pipelineclauses	goto 105
++	pipelineclause	goto 104
++
++	.	error
++
++
++state 204:
++
++	pipelineclause : id pat . EQ LBRACKET cycles0 RBRACKET 
++
++	EQ	shift 329
++
++
++	.	error
++
++
++state 205:
++
++	idents : ident idents .  (reduce by rule 112)
++
++	ARCHITECTURE	reduce by rule 112
++	END	reduce by rule 112
++	LOCAL	reduce by rule 112
++	IN	reduce by rule 112
++	DATATYPE	reduce by rule 112
++	TYPE	reduce by rule 112
++	RPAREN	reduce by rule 112
++	SEMICOLON	reduce by rule 112
++	STORAGE	reduce by rule 112
++	LOCATIONS	reduce by rule 112
++	STRUCTURE	reduce by rule 112
++	FUNCTOR	reduce by rule 112
++	SIGNATURE	reduce by rule 112
++	SHARING	reduce by rule 112
++	INSTRUCTION	reduce by rule 112
++	VLIW	reduce by rule 112
++	SUPERSCALAR	reduce by rule 112
++	FUN	reduce by rule 112
++	VAL	reduce by rule 112
++	INCLUDE	reduce by rule 112
++	OPEN	reduce by rule 112
++	LITTLE	reduce by rule 112
++	BIG	reduce by rule 112
++	PIPELINE	reduce by rule 112
++	LOWERCASE	reduce by rule 112
++	UPPERCASE	reduce by rule 112
++	VERBATIM	reduce by rule 112
++	RTL	reduce by rule 112
++	NONFIX	reduce by rule 112
++	INFIX	reduce by rule 112
++	INFIXR	reduce by rule 112
++	DEBUG	reduce by rule 112
++	RESOURCE	reduce by rule 112
++	CPU	reduce by rule 112
++	LATENCY	reduce by rule 112
++	EXCEPTION	reduce by rule 112
++	EOF	reduce by rule 112
++
++
++	.	error
++
++
++state 206:
++
++	sigexp : sigexp WHERE . sigsubs 
++
++	TYPE	shift 333
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 114
++	ident	goto 332
++	ident2	goto 112
++	path	goto 85
++	sigsub	goto 331
++	sigsubs	goto 330
++
++	.	error
++
++
++state 207:
++
++	decl : INCLUDE string optsemi .  (reduce by rule 9)
++
++	ARCHITECTURE	reduce by rule 9
++	END	reduce by rule 9
++	LOCAL	reduce by rule 9
++	IN	reduce by rule 9
++	DATATYPE	reduce by rule 9
++	TYPE	reduce by rule 9
++	RPAREN	reduce by rule 9
++	STORAGE	reduce by rule 9
++	LOCATIONS	reduce by rule 9
++	STRUCTURE	reduce by rule 9
++	FUNCTOR	reduce by rule 9
++	SIGNATURE	reduce by rule 9
++	SHARING	reduce by rule 9
++	INSTRUCTION	reduce by rule 9
++	VLIW	reduce by rule 9
++	SUPERSCALAR	reduce by rule 9
++	FUN	reduce by rule 9
++	VAL	reduce by rule 9
++	INCLUDE	reduce by rule 9
++	OPEN	reduce by rule 9
++	LITTLE	reduce by rule 9
++	BIG	reduce by rule 9
++	PIPELINE	reduce by rule 9
++	LOWERCASE	reduce by rule 9
++	UPPERCASE	reduce by rule 9
++	VERBATIM	reduce by rule 9
++	RTL	reduce by rule 9
++	NONFIX	reduce by rule 9
++	INFIX	reduce by rule 9
++	INFIXR	reduce by rule 9
++	DEBUG	reduce by rule 9
++	RESOURCE	reduce by rule 9
++	CPU	reduce by rule 9
++	LATENCY	reduce by rule 9
++	EXCEPTION	reduce by rule 9
++	EOF	reduce by rule 9
++
++
++	.	error
++
++
++state 208:
++
++	sigexp : SIG decls . END 
++
++	END	shift 334
++
++
++	.	error
++
++
++state 209:
++
++	valbinds : valbind AND . valbinds 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 121
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	valbind	goto 120
++	valbinds	goto 335
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 210:
++
++	valbind : pat EQ . typedexp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 336
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 211:
++
++	apppat : apppat apat2 .  (reduce by rule 314)
++
++	EQ	reduce by rule 314
++	TIMES	reduce by rule 314
++	AND	reduce by rule 314
++	DEREF	reduce by rule 314
++	NOT	reduce by rule 314
++	LHASHBRACKET	reduce by rule 314
++	LPAREN	reduce by rule 314
++	RPAREN	reduce by rule 314
++	LBRACKET	reduce by rule 314
++	RBRACKET	reduce by rule 314
++	LBRACE	reduce by rule 314
++	RBRACE	reduce by rule 314
++	CELLSET	reduce by rule 314
++	COMMA	reduce by rule 314
++	COLON	reduce by rule 314
++	BAR	reduce by rule 314
++	DARROW	reduce by rule 314
++	TRUE	reduce by rule 314
++	FALSE	reduce by rule 314
++	WILD	reduce by rule 314
++	WHERE	reduce by rule 314
++	OP	reduce by rule 314
++	ALWAYS	reduce by rule 314
++	NEVER	reduce by rule 314
++	EXCEPTION	reduce by rule 314
++	ID	reduce by rule 314
++	SYMBOL	reduce by rule 314
++	WORD	reduce by rule 314
++	INT	reduce by rule 314
++	INTINF	reduce by rule 314
++	REAL	reduce by rule 314
++	STRING	reduce by rule 314
++	CHAR	reduce by rule 314
++
++
++	.	error
++
++
++state 212:
++
++	mymldecl : VAL syms COLON . ty 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	ty	goto 338
++	aty	goto 263
++	appty	goto 262
++	tuplety	goto 261
++	tyvar	goto 260
++
++	.	error
++
++
++state 213:
++
++	pat : id AS . pat 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 339
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 214:
++
++	apat2 : OP sym .  (reduce by rule 312)
++
++	EQ	reduce by rule 312
++	TIMES	reduce by rule 312
++	AND	reduce by rule 312
++	DEREF	reduce by rule 312
++	NOT	reduce by rule 312
++	LHASHBRACKET	reduce by rule 312
++	LPAREN	reduce by rule 312
++	RPAREN	reduce by rule 312
++	LBRACKET	reduce by rule 312
++	RBRACKET	reduce by rule 312
++	LBRACE	reduce by rule 312
++	RBRACE	reduce by rule 312
++	CELLSET	reduce by rule 312
++	COMMA	reduce by rule 312
++	COLON	reduce by rule 312
++	BAR	reduce by rule 312
++	DARROW	reduce by rule 312
++	TRUE	reduce by rule 312
++	FALSE	reduce by rule 312
++	WILD	reduce by rule 312
++	WHERE	reduce by rule 312
++	OP	reduce by rule 312
++	ALWAYS	reduce by rule 312
++	NEVER	reduce by rule 312
++	EXCEPTION	reduce by rule 312
++	ID	reduce by rule 312
++	SYMBOL	reduce by rule 312
++	WORD	reduce by rule 312
++	INT	reduce by rule 312
++	INTINF	reduce by rule 312
++	REAL	reduce by rule 312
++	STRING	reduce by rule 312
++	CHAR	reduce by rule 312
++
++
++	.	error
++
++
++state 215:
++
++	funbinds : funbind AND . funbinds 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 133
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	funclause	goto 132
++	funclauses	goto 131
++	funbind	goto 130
++	funbinds	goto 340
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 216:
++
++	funclauses : funclause BAR . funclauses 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 133
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	funclause	goto 132
++	funclauses	goto 341
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 217:
++
++	funclause : apppat funguard . return_ty cont EQ typedexp 
++
++	EQ	reduce by rule 344
++	COLON	shift 343
++	EXCEPTION	reduce by rule 344
++
++	return_ty	goto 342
++
++	.	error
++
++
++state 218:
++
++	funguard : WHERE . LPAREN typedexp RPAREN 
++
++	LPAREN	shift 344
++
++
++	.	error
++
++
++state 219:
++
++	consbinds : consbind BAR . consbinds 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 138
++	symb	goto 67
++	consbinds	goto 345
++	consbind	goto 136
++
++	.	error
++
++
++state 220:
++
++	consbind : sym of_ty . consassembly consencoding rtl nop nullified delayslot delayslotcandidate sdi latency pipeline 
++
++	ARCHITECTURE	reduce by rule 182
++	END	reduce by rule 182
++	LOCAL	reduce by rule 182
++	IN	reduce by rule 182
++	DATATYPE	reduce by rule 182
++	TYPE	reduce by rule 182
++	AND	reduce by rule 182
++	LPAREN	reduce by rule 182
++	RPAREN	reduce by rule 182
++	SEMICOLON	reduce by rule 182
++	LDQUOTE	shift 293
++	CELLSET	reduce by rule 182
++	STORAGE	reduce by rule 182
++	LOCATIONS	reduce by rule 182
++	BAR	reduce by rule 182
++	STRUCTURE	reduce by rule 182
++	FUNCTOR	reduce by rule 182
++	SIGNATURE	reduce by rule 182
++	SHARING	reduce by rule 182
++	INSTRUCTION	reduce by rule 182
++	VLIW	reduce by rule 182
++	SUPERSCALAR	reduce by rule 182
++	WITHTYPE	reduce by rule 182
++	FUN	reduce by rule 182
++	VAL	reduce by rule 182
++	INCLUDE	reduce by rule 182
++	OPEN	reduce by rule 182
++	LITTLE	reduce by rule 182
++	BIG	reduce by rule 182
++	PIPELINE	reduce by rule 182
++	LOWERCASE	reduce by rule 182
++	UPPERCASE	reduce by rule 182
++	VERBATIM	reduce by rule 182
++	RTL	reduce by rule 182
++	SPAN	reduce by rule 182
++	DELAYSLOT	reduce by rule 182
++	NONFIX	reduce by rule 182
++	INFIX	reduce by rule 182
++	INFIXR	reduce by rule 182
++	DEBUG	reduce by rule 182
++	ASM_COLON	shift 349
++	MC_COLON	reduce by rule 182
++	RTL_COLON	reduce by rule 182
++	DELAYSLOT_COLON	reduce by rule 182
++	NULLIFIED_COLON	reduce by rule 182
++	PADDING_COLON	reduce by rule 182
++	RESOURCE	reduce by rule 182
++	CPU	reduce by rule 182
++	LATENCY	reduce by rule 182
++	EXCEPTION	reduce by rule 182
++	ID	reduce by rule 182
++	SYMBOL	reduce by rule 182
++	WORD	reduce by rule 182
++	INT	reduce by rule 182
++	STRING	shift 91
++	EOF	reduce by rule 182
++
++	string	goto 348
++	consassembly	goto 347
++	asm_strings	goto 346
++
++	.	error
++
++
++state 221:
++
++	of_ty : OF . ty 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	ty	goto 350
++	aty	goto 263
++	appty	goto 262
++	tuplety	goto 261
++	tyvar	goto 260
++
++	.	error
++
++
++state 222:
++
++	mymddecl : INSTRUCTION FORMATS formatbinds .  (reduce by rule 19)
++
++	ARCHITECTURE	reduce by rule 19
++	END	reduce by rule 19
++	LOCAL	reduce by rule 19
++	IN	reduce by rule 19
++	DATATYPE	reduce by rule 19
++	TYPE	reduce by rule 19
++	RPAREN	reduce by rule 19
++	SEMICOLON	reduce by rule 19
++	STORAGE	reduce by rule 19
++	LOCATIONS	reduce by rule 19
++	STRUCTURE	reduce by rule 19
++	FUNCTOR	reduce by rule 19
++	SIGNATURE	reduce by rule 19
++	SHARING	reduce by rule 19
++	INSTRUCTION	reduce by rule 19
++	VLIW	reduce by rule 19
++	SUPERSCALAR	reduce by rule 19
++	FUN	reduce by rule 19
++	VAL	reduce by rule 19
++	INCLUDE	reduce by rule 19
++	OPEN	reduce by rule 19
++	LITTLE	reduce by rule 19
++	BIG	reduce by rule 19
++	PIPELINE	reduce by rule 19
++	LOWERCASE	reduce by rule 19
++	UPPERCASE	reduce by rule 19
++	VERBATIM	reduce by rule 19
++	RTL	reduce by rule 19
++	NONFIX	reduce by rule 19
++	INFIX	reduce by rule 19
++	INFIXR	reduce by rule 19
++	DEBUG	reduce by rule 19
++	RESOURCE	reduce by rule 19
++	CPU	reduce by rule 19
++	LATENCY	reduce by rule 19
++	EXCEPTION	reduce by rule 19
++	EOF	reduce by rule 19
++
++
++	.	error
++
++
++state 223:
++
++	formatbinds : formatbind .  (reduce by rule 204)
++	formatbinds : formatbind . BAR formatbinds 
++
++	ARCHITECTURE	reduce by rule 204
++	END	reduce by rule 204
++	LOCAL	reduce by rule 204
++	IN	reduce by rule 204
++	DATATYPE	reduce by rule 204
++	TYPE	reduce by rule 204
++	RPAREN	reduce by rule 204
++	SEMICOLON	reduce by rule 204
++	STORAGE	reduce by rule 204
++	LOCATIONS	reduce by rule 204
++	BAR	shift 351
++	STRUCTURE	reduce by rule 204
++	FUNCTOR	reduce by rule 204
++	SIGNATURE	reduce by rule 204
++	SHARING	reduce by rule 204
++	INSTRUCTION	reduce by rule 204
++	VLIW	reduce by rule 204
++	SUPERSCALAR	reduce by rule 204
++	FUN	reduce by rule 204
++	VAL	reduce by rule 204
++	INCLUDE	reduce by rule 204
++	OPEN	reduce by rule 204
++	LITTLE	reduce by rule 204
++	BIG	reduce by rule 204
++	PIPELINE	reduce by rule 204
++	LOWERCASE	reduce by rule 204
++	UPPERCASE	reduce by rule 204
++	VERBATIM	reduce by rule 204
++	RTL	reduce by rule 204
++	NONFIX	reduce by rule 204
++	INFIX	reduce by rule 204
++	INFIXR	reduce by rule 204
++	DEBUG	reduce by rule 204
++	RESOURCE	reduce by rule 204
++	CPU	reduce by rule 204
++	LATENCY	reduce by rule 204
++	EXCEPTION	reduce by rule 204
++	EOF	reduce by rule 204
++
++
++	.	error
++
++
++state 224:
++
++	mymddecl : INSTRUCTION FORMATS int . BITS formatbinds 
++
++	BITS	shift 352
++
++
++	.	error
++
++
++state 225:
++
++	formatbind : id . opt_of LBRACE fields RBRACE opt_exp 
++
++	OF	shift 354
++	LBRACE	reduce by rule 192
++
++	opt_of	goto 353
++
++	.	error
++
++
++state 226:
++
++	sharingdecls : sharingdecl AND . sharingdecls 
++
++	TYPE	shift 144
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 114
++	ident	goto 143
++	ident2	goto 112
++	path	goto 85
++	sharingdecl	goto 142
++	sharingdecls	goto 355
++	sharelist	goto 140
++
++	.	error
++
++
++state 227:
++
++	sharelist : ident EQ . ident 
++	sharelist : ident EQ . sharelist 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 114
++	ident	goto 357
++	ident2	goto 112
++	path	goto 85
++	sharelist	goto 356
++
++	.	error
++
++
++state 228:
++
++	sharingdecl : TYPE sharelist .  (reduce by rule 101)
++
++	ARCHITECTURE	reduce by rule 101
++	END	reduce by rule 101
++	LOCAL	reduce by rule 101
++	IN	reduce by rule 101
++	DATATYPE	reduce by rule 101
++	TYPE	reduce by rule 101
++	AND	reduce by rule 101
++	RPAREN	reduce by rule 101
++	SEMICOLON	reduce by rule 101
++	STORAGE	reduce by rule 101
++	LOCATIONS	reduce by rule 101
++	STRUCTURE	reduce by rule 101
++	FUNCTOR	reduce by rule 101
++	SIGNATURE	reduce by rule 101
++	SHARING	reduce by rule 101
++	INSTRUCTION	reduce by rule 101
++	VLIW	reduce by rule 101
++	SUPERSCALAR	reduce by rule 101
++	FUN	reduce by rule 101
++	VAL	reduce by rule 101
++	INCLUDE	reduce by rule 101
++	OPEN	reduce by rule 101
++	LITTLE	reduce by rule 101
++	BIG	reduce by rule 101
++	PIPELINE	reduce by rule 101
++	LOWERCASE	reduce by rule 101
++	UPPERCASE	reduce by rule 101
++	VERBATIM	reduce by rule 101
++	RTL	reduce by rule 101
++	NONFIX	reduce by rule 101
++	INFIX	reduce by rule 101
++	INFIXR	reduce by rule 101
++	DEBUG	reduce by rule 101
++	RESOURCE	reduce by rule 101
++	CPU	reduce by rule 101
++	LATENCY	reduce by rule 101
++	EXCEPTION	reduce by rule 101
++	EOF	reduce by rule 101
++
++
++	.	error
++
++
++state 229:
++
++	mymldecl : SIGNATURE id EQ . sigexp 
++
++	CELLSET	shift 50
++	SIG	shift 118
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 114
++	ident	goto 117
++	ident2	goto 112
++	path	goto 85
++	sigexp	goto 358
++
++	.	error
++
++
++state 230:
++
++	mymldecl : FUNCTOR id LPAREN . functorarg RPAREN EQ structexp 
++	mymldecl : FUNCTOR id LPAREN . functorarg RPAREN sigcon EQ structexp 
++
++	ARCHITECTURE	reduce by rule 107
++	LOCAL	reduce by rule 107
++	DATATYPE	reduce by rule 107
++	TYPE	reduce by rule 107
++	RPAREN	reduce by rule 107
++	CELLSET	shift 50
++	STORAGE	reduce by rule 107
++	LOCATIONS	reduce by rule 107
++	STRUCTURE	reduce by rule 107
++	FUNCTOR	reduce by rule 107
++	SIGNATURE	reduce by rule 107
++	SHARING	reduce by rule 107
++	INSTRUCTION	reduce by rule 107
++	VLIW	reduce by rule 107
++	SUPERSCALAR	reduce by rule 107
++	FUN	reduce by rule 107
++	VAL	reduce by rule 107
++	INCLUDE	reduce by rule 107
++	OPEN	reduce by rule 107
++	LITTLE	reduce by rule 107
++	BIG	reduce by rule 107
++	PIPELINE	reduce by rule 107
++	LOWERCASE	reduce by rule 107
++	UPPERCASE	reduce by rule 107
++	VERBATIM	reduce by rule 107
++	RTL	reduce by rule 107
++	NONFIX	reduce by rule 107
++	INFIX	reduce by rule 107
++	INFIXR	reduce by rule 107
++	DEBUG	reduce by rule 107
++	RESOURCE	reduce by rule 107
++	CPU	reduce by rule 107
++	LATENCY	reduce by rule 107
++	EXCEPTION	reduce by rule 107
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 361
++	scopeddecls	goto 360
++	functorarg	goto 359
++	newScope	goto 164
++
++	.	error
++
++
++state 231:
++
++	mymldecl : FUNCTOR id EQ . structexp 
++
++	CELLSET	shift 50
++	STRUCT	shift 364
++	ID	shift 49
++	SYMBOL	shift 48
++
++	structexp	goto 363
++	id	goto 114
++	ident	goto 362
++	ident2	goto 112
++	path	goto 85
++
++	.	error
++
++
++state 232:
++
++	mymldecl : STRUCTURE id sigcon . EQ structexp 
++
++	EQ	shift 365
++
++
++	.	error
++
++
++state 233:
++
++	sigcon : COLONGREATER . sigexp 
++
++	CELLSET	shift 50
++	SIG	shift 118
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 114
++	ident	goto 117
++	ident2	goto 112
++	path	goto 85
++	sigexp	goto 366
++
++	.	error
++
++
++state 234:
++
++	sigcon : COLON . sigexp 
++	mymldecl : STRUCTURE id COLON . sigexp 
++
++	CELLSET	shift 50
++	SIG	shift 118
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 114
++	ident	goto 117
++	ident2	goto 112
++	path	goto 85
++	sigexp	goto 367
++
++	.	error
++
++
++state 235:
++
++	mymldecl : STRUCTURE id EQ . structexp 
++
++	CELLSET	shift 50
++	STRUCT	shift 364
++	ID	shift 49
++	SYMBOL	shift 48
++
++	structexp	goto 368
++	id	goto 114
++	ident	goto 362
++	ident2	goto 112
++	path	goto 85
++
++	.	error
++
++
++state 236:
++
++	locbinds : locbind AND . locbinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 150
++	locbind	goto 149
++	locbinds	goto 369
++
++	.	error
++
++
++state 237:
++
++	locbind : id pat . EQ exp 
++
++	EQ	shift 370
++
++
++	.	error
++
++
++state 238:
++
++	locbind : id EQ . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 371
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 239:
++
++	storagedecls : storagedecl BAR . storagedecls 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 153
++	storagedecl	goto 152
++	storagedecls	goto 372
++
++	.	error
++
++
++state 240:
++
++	storagedecl : id EQ . DOLLAR id LBRACKET cellcount RBRACKET bitSize aliasing defaults printcell 
++
++	DOLLAR	shift 373
++
++
++	.	error
++
++
++state 241:
++
++	tid : tid2 .  (reduce by rule 361)
++
++	ARCHITECTURE	reduce by rule 361
++	END	reduce by rule 361
++	LOCAL	reduce by rule 361
++	IN	reduce by rule 361
++	OF	reduce by rule 361
++	DATATYPE	reduce by rule 361
++	TYPE	reduce by rule 361
++	EQ	reduce by rule 361
++	TIMES	reduce by rule 361
++	AND	reduce by rule 361
++	LPAREN	reduce by rule 361
++	RPAREN	reduce by rule 361
++	RBRACKET	reduce by rule 361
++	RBRACE	reduce by rule 361
++	SEMICOLON	reduce by rule 361
++	LDQUOTE	reduce by rule 361
++	CELLSET	reduce by rule 361
++	STORAGE	reduce by rule 361
++	LOCATIONS	reduce by rule 361
++	COMMA	reduce by rule 361
++	COLON	reduce by rule 361
++	DOT	reduce by rule 361
++	BAR	reduce by rule 361
++	ARROW	reduce by rule 361
++	DARROW	reduce by rule 361
++	BITS	reduce by rule 361
++	THEN	reduce by rule 361
++	ELSE	reduce by rule 361
++	STRUCTURE	reduce by rule 361
++	FUNCTOR	reduce by rule 361
++	SIGNATURE	reduce by rule 361
++	WHERE	reduce by rule 361
++	SHARING	reduce by rule 361
++	INSTRUCTION	reduce by rule 361
++	CELL	reduce by rule 361
++	VLIW	reduce by rule 361
++	SUPERSCALAR	reduce by rule 361
++	WITHTYPE	reduce by rule 361
++	FUN	reduce by rule 361
++	VAL	reduce by rule 361
++	INCLUDE	reduce by rule 361
++	OPEN	reduce by rule 361
++	LITTLE	reduce by rule 361
++	BIG	reduce by rule 361
++	PIPELINE	reduce by rule 361
++	LOWERCASE	reduce by rule 361
++	UPPERCASE	reduce by rule 361
++	VERBATIM	reduce by rule 361
++	RTL	reduce by rule 361
++	SPAN	reduce by rule 361
++	DELAYSLOT	reduce by rule 361
++	NONFIX	reduce by rule 361
++	INFIX	reduce by rule 361
++	INFIXR	reduce by rule 361
++	DEBUG	reduce by rule 361
++	ASM_COLON	reduce by rule 361
++	MC_COLON	reduce by rule 361
++	RTL_COLON	reduce by rule 361
++	DELAYSLOT_COLON	reduce by rule 361
++	NULLIFIED_COLON	reduce by rule 361
++	PADDING_COLON	reduce by rule 361
++	RESOURCE	reduce by rule 361
++	CPU	reduce by rule 361
++	LATENCY	reduce by rule 361
++	EXCEPTION	reduce by rule 361
++	ID	reduce by rule 361
++	SYMBOL	reduce by rule 361
++	WORD	reduce by rule 361
++	INT	reduce by rule 361
++	STRING	reduce by rule 361
++	EOF	reduce by rule 361
++
++
++	.	error
++
++
++state 242:
++
++	mymldecl : TYPE tyvarseq tid .  (reduce by rule 67)
++	typebind : tyvarseq tid . EQ ty 
++
++	ARCHITECTURE	reduce by rule 67
++	END	reduce by rule 67
++	LOCAL	reduce by rule 67
++	IN	reduce by rule 67
++	DATATYPE	reduce by rule 67
++	TYPE	reduce by rule 67
++	EQ	shift 374
++	RPAREN	reduce by rule 67
++	SEMICOLON	reduce by rule 67
++	STORAGE	reduce by rule 67
++	LOCATIONS	reduce by rule 67
++	STRUCTURE	reduce by rule 67
++	FUNCTOR	reduce by rule 67
++	SIGNATURE	reduce by rule 67
++	SHARING	reduce by rule 67
++	INSTRUCTION	reduce by rule 67
++	VLIW	reduce by rule 67
++	SUPERSCALAR	reduce by rule 67
++	FUN	reduce by rule 67
++	VAL	reduce by rule 67
++	INCLUDE	reduce by rule 67
++	OPEN	reduce by rule 67
++	LITTLE	reduce by rule 67
++	BIG	reduce by rule 67
++	PIPELINE	reduce by rule 67
++	LOWERCASE	reduce by rule 67
++	UPPERCASE	reduce by rule 67
++	VERBATIM	reduce by rule 67
++	RTL	reduce by rule 67
++	NONFIX	reduce by rule 67
++	INFIX	reduce by rule 67
++	INFIXR	reduce by rule 67
++	DEBUG	reduce by rule 67
++	RESOURCE	reduce by rule 67
++	CPU	reduce by rule 67
++	LATENCY	reduce by rule 67
++	EXCEPTION	reduce by rule 67
++	EOF	reduce by rule 67
++
++
++	.	error
++
++
++state 243:
++
++	tid : id .  (reduce by rule 360)
++
++	ARCHITECTURE	reduce by rule 360
++	END	reduce by rule 360
++	LOCAL	reduce by rule 360
++	IN	reduce by rule 360
++	OF	reduce by rule 360
++	DATATYPE	reduce by rule 360
++	TYPE	reduce by rule 360
++	EQ	reduce by rule 360
++	TIMES	reduce by rule 360
++	AND	reduce by rule 360
++	LPAREN	reduce by rule 360
++	RPAREN	reduce by rule 360
++	RBRACKET	reduce by rule 360
++	RBRACE	reduce by rule 360
++	SEMICOLON	reduce by rule 360
++	LDQUOTE	reduce by rule 360
++	CELLSET	reduce by rule 360
++	STORAGE	reduce by rule 360
++	LOCATIONS	reduce by rule 360
++	COMMA	reduce by rule 360
++	COLON	reduce by rule 360
++	DOT	reduce by rule 360
++	BAR	reduce by rule 360
++	ARROW	reduce by rule 360
++	DARROW	reduce by rule 360
++	BITS	reduce by rule 360
++	THEN	reduce by rule 360
++	ELSE	reduce by rule 360
++	STRUCTURE	reduce by rule 360
++	FUNCTOR	reduce by rule 360
++	SIGNATURE	reduce by rule 360
++	WHERE	reduce by rule 360
++	SHARING	reduce by rule 360
++	INSTRUCTION	reduce by rule 360
++	CELL	reduce by rule 360
++	VLIW	reduce by rule 360
++	SUPERSCALAR	reduce by rule 360
++	WITHTYPE	reduce by rule 360
++	FUN	reduce by rule 360
++	VAL	reduce by rule 360
++	INCLUDE	reduce by rule 360
++	OPEN	reduce by rule 360
++	LITTLE	reduce by rule 360
++	BIG	reduce by rule 360
++	PIPELINE	reduce by rule 360
++	LOWERCASE	reduce by rule 360
++	UPPERCASE	reduce by rule 360
++	VERBATIM	reduce by rule 360
++	RTL	reduce by rule 360
++	SPAN	reduce by rule 360
++	DELAYSLOT	reduce by rule 360
++	NONFIX	reduce by rule 360
++	INFIX	reduce by rule 360
++	INFIXR	reduce by rule 360
++	DEBUG	reduce by rule 360
++	ASM_COLON	reduce by rule 360
++	MC_COLON	reduce by rule 360
++	RTL_COLON	reduce by rule 360
++	DELAYSLOT_COLON	reduce by rule 360
++	NULLIFIED_COLON	reduce by rule 360
++	PADDING_COLON	reduce by rule 360
++	RESOURCE	reduce by rule 360
++	CPU	reduce by rule 360
++	LATENCY	reduce by rule 360
++	EXCEPTION	reduce by rule 360
++	ID	reduce by rule 360
++	SYMBOL	reduce by rule 360
++	WORD	reduce by rule 360
++	INT	reduce by rule 360
++	STRING	reduce by rule 360
++	EOF	reduce by rule 360
++
++
++	.	error
++
++
++state 244:
++
++	tid2 : CELL .  (reduce by rule 363)
++
++	ARCHITECTURE	reduce by rule 363
++	END	reduce by rule 363
++	LOCAL	reduce by rule 363
++	IN	reduce by rule 363
++	OF	reduce by rule 363
++	DATATYPE	reduce by rule 363
++	TYPE	reduce by rule 363
++	EQ	reduce by rule 363
++	TIMES	reduce by rule 363
++	AND	reduce by rule 363
++	LPAREN	reduce by rule 363
++	RPAREN	reduce by rule 363
++	RBRACKET	reduce by rule 363
++	RBRACE	reduce by rule 363
++	SEMICOLON	reduce by rule 363
++	LDQUOTE	reduce by rule 363
++	CELLSET	reduce by rule 363
++	STORAGE	reduce by rule 363
++	LOCATIONS	reduce by rule 363
++	COMMA	reduce by rule 363
++	COLON	reduce by rule 363
++	DOT	reduce by rule 363
++	BAR	reduce by rule 363
++	ARROW	reduce by rule 363
++	DARROW	reduce by rule 363
++	BITS	reduce by rule 363
++	THEN	reduce by rule 363
++	ELSE	reduce by rule 363
++	STRUCTURE	reduce by rule 363
++	FUNCTOR	reduce by rule 363
++	SIGNATURE	reduce by rule 363
++	WHERE	reduce by rule 363
++	SHARING	reduce by rule 363
++	INSTRUCTION	reduce by rule 363
++	CELL	reduce by rule 363
++	VLIW	reduce by rule 363
++	SUPERSCALAR	reduce by rule 363
++	WITHTYPE	reduce by rule 363
++	FUN	reduce by rule 363
++	VAL	reduce by rule 363
++	INCLUDE	reduce by rule 363
++	OPEN	reduce by rule 363
++	LITTLE	reduce by rule 363
++	BIG	reduce by rule 363
++	PIPELINE	reduce by rule 363
++	LOWERCASE	reduce by rule 363
++	UPPERCASE	reduce by rule 363
++	VERBATIM	reduce by rule 363
++	RTL	reduce by rule 363
++	SPAN	reduce by rule 363
++	DELAYSLOT	reduce by rule 363
++	NONFIX	reduce by rule 363
++	INFIX	reduce by rule 363
++	INFIXR	reduce by rule 363
++	DEBUG	reduce by rule 363
++	ASM_COLON	reduce by rule 363
++	MC_COLON	reduce by rule 363
++	RTL_COLON	reduce by rule 363
++	DELAYSLOT_COLON	reduce by rule 363
++	NULLIFIED_COLON	reduce by rule 363
++	PADDING_COLON	reduce by rule 363
++	RESOURCE	reduce by rule 363
++	CPU	reduce by rule 363
++	LATENCY	reduce by rule 363
++	EXCEPTION	reduce by rule 363
++	ID	reduce by rule 363
++	SYMBOL	reduce by rule 363
++	WORD	reduce by rule 363
++	INT	reduce by rule 363
++	STRING	reduce by rule 363
++	EOF	reduce by rule 363
++
++
++	.	error
++
++
++state 245:
++
++	tid2 : INSTRUCTION .  (reduce by rule 364)
++
++	ARCHITECTURE	reduce by rule 364
++	END	reduce by rule 364
++	LOCAL	reduce by rule 364
++	IN	reduce by rule 364
++	OF	reduce by rule 364
++	DATATYPE	reduce by rule 364
++	TYPE	reduce by rule 364
++	EQ	reduce by rule 364
++	TIMES	reduce by rule 364
++	AND	reduce by rule 364
++	LPAREN	reduce by rule 364
++	RPAREN	reduce by rule 364
++	RBRACKET	reduce by rule 364
++	RBRACE	reduce by rule 364
++	SEMICOLON	reduce by rule 364
++	LDQUOTE	reduce by rule 364
++	CELLSET	reduce by rule 364
++	STORAGE	reduce by rule 364
++	LOCATIONS	reduce by rule 364
++	COMMA	reduce by rule 364
++	COLON	reduce by rule 364
++	DOT	reduce by rule 364
++	BAR	reduce by rule 364
++	ARROW	reduce by rule 364
++	DARROW	reduce by rule 364
++	BITS	reduce by rule 364
++	THEN	reduce by rule 364
++	ELSE	reduce by rule 364
++	STRUCTURE	reduce by rule 364
++	FUNCTOR	reduce by rule 364
++	SIGNATURE	reduce by rule 364
++	WHERE	reduce by rule 364
++	SHARING	reduce by rule 364
++	INSTRUCTION	reduce by rule 364
++	CELL	reduce by rule 364
++	VLIW	reduce by rule 364
++	SUPERSCALAR	reduce by rule 364
++	WITHTYPE	reduce by rule 364
++	FUN	reduce by rule 364
++	VAL	reduce by rule 364
++	INCLUDE	reduce by rule 364
++	OPEN	reduce by rule 364
++	LITTLE	reduce by rule 364
++	BIG	reduce by rule 364
++	PIPELINE	reduce by rule 364
++	LOWERCASE	reduce by rule 364
++	UPPERCASE	reduce by rule 364
++	VERBATIM	reduce by rule 364
++	RTL	reduce by rule 364
++	SPAN	reduce by rule 364
++	DELAYSLOT	reduce by rule 364
++	NONFIX	reduce by rule 364
++	INFIX	reduce by rule 364
++	INFIXR	reduce by rule 364
++	DEBUG	reduce by rule 364
++	ASM_COLON	reduce by rule 364
++	MC_COLON	reduce by rule 364
++	RTL_COLON	reduce by rule 364
++	DELAYSLOT_COLON	reduce by rule 364
++	NULLIFIED_COLON	reduce by rule 364
++	PADDING_COLON	reduce by rule 364
++	RESOURCE	reduce by rule 364
++	CPU	reduce by rule 364
++	LATENCY	reduce by rule 364
++	EXCEPTION	reduce by rule 364
++	ID	reduce by rule 364
++	SYMBOL	reduce by rule 364
++	WORD	reduce by rule 364
++	INT	reduce by rule 364
++	STRING	reduce by rule 364
++	EOF	reduce by rule 364
++
++
++	.	error
++
++
++state 246:
++
++	tid2 : BITS .  (reduce by rule 362)
++
++	ARCHITECTURE	reduce by rule 362
++	END	reduce by rule 362
++	LOCAL	reduce by rule 362
++	IN	reduce by rule 362
++	OF	reduce by rule 362
++	DATATYPE	reduce by rule 362
++	TYPE	reduce by rule 362
++	EQ	reduce by rule 362
++	TIMES	reduce by rule 362
++	AND	reduce by rule 362
++	LPAREN	reduce by rule 362
++	RPAREN	reduce by rule 362
++	RBRACKET	reduce by rule 362
++	RBRACE	reduce by rule 362
++	SEMICOLON	reduce by rule 362
++	LDQUOTE	reduce by rule 362
++	CELLSET	reduce by rule 362
++	STORAGE	reduce by rule 362
++	LOCATIONS	reduce by rule 362
++	COMMA	reduce by rule 362
++	COLON	reduce by rule 362
++	DOT	reduce by rule 362
++	BAR	reduce by rule 362
++	ARROW	reduce by rule 362
++	DARROW	reduce by rule 362
++	BITS	reduce by rule 362
++	THEN	reduce by rule 362
++	ELSE	reduce by rule 362
++	STRUCTURE	reduce by rule 362
++	FUNCTOR	reduce by rule 362
++	SIGNATURE	reduce by rule 362
++	WHERE	reduce by rule 362
++	SHARING	reduce by rule 362
++	INSTRUCTION	reduce by rule 362
++	CELL	reduce by rule 362
++	VLIW	reduce by rule 362
++	SUPERSCALAR	reduce by rule 362
++	WITHTYPE	reduce by rule 362
++	FUN	reduce by rule 362
++	VAL	reduce by rule 362
++	INCLUDE	reduce by rule 362
++	OPEN	reduce by rule 362
++	LITTLE	reduce by rule 362
++	BIG	reduce by rule 362
++	PIPELINE	reduce by rule 362
++	LOWERCASE	reduce by rule 362
++	UPPERCASE	reduce by rule 362
++	VERBATIM	reduce by rule 362
++	RTL	reduce by rule 362
++	SPAN	reduce by rule 362
++	DELAYSLOT	reduce by rule 362
++	NONFIX	reduce by rule 362
++	INFIX	reduce by rule 362
++	INFIXR	reduce by rule 362
++	DEBUG	reduce by rule 362
++	ASM_COLON	reduce by rule 362
++	MC_COLON	reduce by rule 362
++	RTL_COLON	reduce by rule 362
++	DELAYSLOT_COLON	reduce by rule 362
++	NULLIFIED_COLON	reduce by rule 362
++	PADDING_COLON	reduce by rule 362
++	RESOURCE	reduce by rule 362
++	CPU	reduce by rule 362
++	LATENCY	reduce by rule 362
++	EXCEPTION	reduce by rule 362
++	ID	reduce by rule 362
++	SYMBOL	reduce by rule 362
++	WORD	reduce by rule 362
++	INT	reduce by rule 362
++	STRING	reduce by rule 362
++	EOF	reduce by rule 362
++
++
++	.	error
++
++
++state 247:
++
++	typebinds : typebind AND . typebinds 
++
++	LPAREN	shift 160
++	CELLSET	reduce by rule 199
++	HASH	shift 159
++	BITS	reduce by rule 199
++	INSTRUCTION	reduce by rule 199
++	CELL	reduce by rule 199
++	ID	reduce by rule 199
++	SYMBOL	reduce by rule 199
++	TYVAR	shift 158
++
++	typebinds	goto 376
++	typebind	goto 156
++	tyvar	goto 155
++	tyvarseq	goto 375
++
++	.	error
++
++
++state 248:
++
++	tyvar : HASH id .  (reduce by rule 427)
++
++	ARCHITECTURE	reduce by rule 427
++	END	reduce by rule 427
++	LOCAL	reduce by rule 427
++	IN	reduce by rule 427
++	OF	reduce by rule 427
++	DATATYPE	reduce by rule 427
++	TYPE	reduce by rule 427
++	EQ	reduce by rule 427
++	TIMES	reduce by rule 427
++	AND	reduce by rule 427
++	LPAREN	reduce by rule 427
++	RPAREN	reduce by rule 427
++	RBRACKET	reduce by rule 427
++	RBRACE	reduce by rule 427
++	SEMICOLON	reduce by rule 427
++	LDQUOTE	reduce by rule 427
++	CELLSET	reduce by rule 427
++	STORAGE	reduce by rule 427
++	LOCATIONS	reduce by rule 427
++	COMMA	reduce by rule 427
++	COLON	reduce by rule 427
++	BAR	reduce by rule 427
++	ARROW	reduce by rule 427
++	DARROW	reduce by rule 427
++	BITS	reduce by rule 427
++	THEN	reduce by rule 427
++	ELSE	reduce by rule 427
++	STRUCTURE	reduce by rule 427
++	FUNCTOR	reduce by rule 427
++	SIGNATURE	reduce by rule 427
++	WHERE	reduce by rule 427
++	SHARING	reduce by rule 427
++	INSTRUCTION	reduce by rule 427
++	CELL	reduce by rule 427
++	VLIW	reduce by rule 427
++	SUPERSCALAR	reduce by rule 427
++	WITHTYPE	reduce by rule 427
++	FUN	reduce by rule 427
++	VAL	reduce by rule 427
++	INCLUDE	reduce by rule 427
++	OPEN	reduce by rule 427
++	LITTLE	reduce by rule 427
++	BIG	reduce by rule 427
++	PIPELINE	reduce by rule 427
++	LOWERCASE	reduce by rule 427
++	UPPERCASE	reduce by rule 427
++	VERBATIM	reduce by rule 427
++	RTL	reduce by rule 427
++	SPAN	reduce by rule 427
++	DELAYSLOT	reduce by rule 427
++	NONFIX	reduce by rule 427
++	INFIX	reduce by rule 427
++	INFIXR	reduce by rule 427
++	DEBUG	reduce by rule 427
++	ASM_COLON	reduce by rule 427
++	MC_COLON	reduce by rule 427
++	RTL_COLON	reduce by rule 427
++	DELAYSLOT_COLON	reduce by rule 427
++	NULLIFIED_COLON	reduce by rule 427
++	PADDING_COLON	reduce by rule 427
++	RESOURCE	reduce by rule 427
++	CPU	reduce by rule 427
++	LATENCY	reduce by rule 427
++	EXCEPTION	reduce by rule 427
++	ID	reduce by rule 427
++	SYMBOL	reduce by rule 427
++	WORD	reduce by rule 427
++	INT	reduce by rule 427
++	STRING	reduce by rule 427
++	EOF	reduce by rule 427
++
++
++	.	error
++
++
++state 249:
++
++	tyvarseq : LPAREN tyvars . RPAREN 
++
++	RPAREN	shift 377
++
++
++	.	error
++
++
++state 250:
++
++	tyvars : tyvar .  (reduce by rule 202)
++	tyvars : tyvar . COMMA tyvars 
++
++	RPAREN	reduce by rule 202
++	COMMA	shift 378
++
++
++	.	error
++
++
++state 251:
++
++	datatypebind : tyvarseq id . opcodeencoding fieldty hasasm EQ consbinds 
++	datatypebind : tyvarseq id . opcodeencoding fieldty hasasm EQ DATATYPE ty 
++
++	EQ	reduce by rule 135
++	DEREF	reduce by rule 135
++	LBRACKET	shift 380
++	COLON	reduce by rule 135
++
++	opcodeencoding	goto 379
++
++	.	error
++
++
++state 252:
++
++	datatypebinds : datatypebind AND . datatypebinds 
++
++	LPAREN	shift 160
++	CELLSET	reduce by rule 199
++	HASH	shift 159
++	ID	reduce by rule 199
++	SYMBOL	reduce by rule 199
++	TYVAR	shift 158
++
++	datatypebinds	goto 381
++	datatypebind	goto 162
++	tyvar	goto 155
++	tyvarseq	goto 161
++
++	.	error
++
++
++state 253:
++
++	mymldecl : DATATYPE datatypebinds withtypeclause .  (reduce by rule 59)
++
++	ARCHITECTURE	reduce by rule 59
++	END	reduce by rule 59
++	LOCAL	reduce by rule 59
++	IN	reduce by rule 59
++	DATATYPE	reduce by rule 59
++	TYPE	reduce by rule 59
++	RPAREN	reduce by rule 59
++	SEMICOLON	reduce by rule 59
++	STORAGE	reduce by rule 59
++	LOCATIONS	reduce by rule 59
++	STRUCTURE	reduce by rule 59
++	FUNCTOR	reduce by rule 59
++	SIGNATURE	reduce by rule 59
++	SHARING	reduce by rule 59
++	INSTRUCTION	reduce by rule 59
++	VLIW	reduce by rule 59
++	SUPERSCALAR	reduce by rule 59
++	FUN	reduce by rule 59
++	VAL	reduce by rule 59
++	INCLUDE	reduce by rule 59
++	OPEN	reduce by rule 59
++	LITTLE	reduce by rule 59
++	BIG	reduce by rule 59
++	PIPELINE	reduce by rule 59
++	LOWERCASE	reduce by rule 59
++	UPPERCASE	reduce by rule 59
++	VERBATIM	reduce by rule 59
++	RTL	reduce by rule 59
++	NONFIX	reduce by rule 59
++	INFIX	reduce by rule 59
++	INFIXR	reduce by rule 59
++	DEBUG	reduce by rule 59
++	RESOURCE	reduce by rule 59
++	CPU	reduce by rule 59
++	LATENCY	reduce by rule 59
++	EXCEPTION	reduce by rule 59
++	EOF	reduce by rule 59
++
++
++	.	error
++
++
++state 254:
++
++	withtypeclause : WITHTYPE . typebinds 
++
++	LPAREN	shift 160
++	CELLSET	reduce by rule 199
++	HASH	shift 159
++	BITS	reduce by rule 199
++	INSTRUCTION	reduce by rule 199
++	CELL	reduce by rule 199
++	ID	reduce by rule 199
++	SYMBOL	reduce by rule 199
++	TYVAR	shift 158
++
++	typebinds	goto 382
++	typebind	goto 156
++	tyvar	goto 155
++	tyvarseq	goto 375
++
++	.	error
++
++
++state 255:
++
++	scopeddecls : newScope decls . oldScope 
++
++	END	reduce by rule 108
++	IN	reduce by rule 108
++	RPAREN	reduce by rule 108
++
++	oldScope	goto 383
++
++	.	error
++
++
++state 256:
++
++	mymldecl : LOCAL scopeddecls IN . scopeddecls END 
++
++	ARCHITECTURE	reduce by rule 107
++	END	reduce by rule 107
++	LOCAL	reduce by rule 107
++	DATATYPE	reduce by rule 107
++	TYPE	reduce by rule 107
++	STORAGE	reduce by rule 107
++	LOCATIONS	reduce by rule 107
++	STRUCTURE	reduce by rule 107
++	FUNCTOR	reduce by rule 107
++	SIGNATURE	reduce by rule 107
++	SHARING	reduce by rule 107
++	INSTRUCTION	reduce by rule 107
++	VLIW	reduce by rule 107
++	SUPERSCALAR	reduce by rule 107
++	FUN	reduce by rule 107
++	VAL	reduce by rule 107
++	INCLUDE	reduce by rule 107
++	OPEN	reduce by rule 107
++	LITTLE	reduce by rule 107
++	BIG	reduce by rule 107
++	PIPELINE	reduce by rule 107
++	LOWERCASE	reduce by rule 107
++	UPPERCASE	reduce by rule 107
++	VERBATIM	reduce by rule 107
++	RTL	reduce by rule 107
++	NONFIX	reduce by rule 107
++	INFIX	reduce by rule 107
++	INFIXR	reduce by rule 107
++	DEBUG	reduce by rule 107
++	RESOURCE	reduce by rule 107
++	CPU	reduce by rule 107
++	LATENCY	reduce by rule 107
++	EXCEPTION	reduce by rule 107
++
++	scopeddecls	goto 384
++	newScope	goto 164
++
++	.	error
++
++
++state 257:
++
++	mymddecl : ARCHITECTURE id EQ . STRUCT decls END 
++
++	STRUCT	shift 385
++
++
++	.	error
++
++
++state 258:
++
++	exceptionbinds : exceptionbind AND exceptionbinds .  (reduce by rule 84)
++
++	ARCHITECTURE	reduce by rule 84
++	END	reduce by rule 84
++	LOCAL	reduce by rule 84
++	IN	reduce by rule 84
++	DATATYPE	reduce by rule 84
++	TYPE	reduce by rule 84
++	RPAREN	reduce by rule 84
++	SEMICOLON	reduce by rule 84
++	STORAGE	reduce by rule 84
++	LOCATIONS	reduce by rule 84
++	STRUCTURE	reduce by rule 84
++	FUNCTOR	reduce by rule 84
++	SIGNATURE	reduce by rule 84
++	SHARING	reduce by rule 84
++	INSTRUCTION	reduce by rule 84
++	VLIW	reduce by rule 84
++	SUPERSCALAR	reduce by rule 84
++	FUN	reduce by rule 84
++	VAL	reduce by rule 84
++	INCLUDE	reduce by rule 84
++	OPEN	reduce by rule 84
++	LITTLE	reduce by rule 84
++	BIG	reduce by rule 84
++	PIPELINE	reduce by rule 84
++	LOWERCASE	reduce by rule 84
++	UPPERCASE	reduce by rule 84
++	VERBATIM	reduce by rule 84
++	RTL	reduce by rule 84
++	NONFIX	reduce by rule 84
++	INFIX	reduce by rule 84
++	INFIXR	reduce by rule 84
++	DEBUG	reduce by rule 84
++	RESOURCE	reduce by rule 84
++	CPU	reduce by rule 84
++	LATENCY	reduce by rule 84
++	EXCEPTION	reduce by rule 84
++	EOF	reduce by rule 84
++
++
++	.	error
++
++
++state 259:
++
++	exceptionbind : id EQ ident .  (reduce by rule 87)
++
++	ARCHITECTURE	reduce by rule 87
++	END	reduce by rule 87
++	LOCAL	reduce by rule 87
++	IN	reduce by rule 87
++	DATATYPE	reduce by rule 87
++	TYPE	reduce by rule 87
++	AND	reduce by rule 87
++	RPAREN	reduce by rule 87
++	SEMICOLON	reduce by rule 87
++	STORAGE	reduce by rule 87
++	LOCATIONS	reduce by rule 87
++	STRUCTURE	reduce by rule 87
++	FUNCTOR	reduce by rule 87
++	SIGNATURE	reduce by rule 87
++	SHARING	reduce by rule 87
++	INSTRUCTION	reduce by rule 87
++	VLIW	reduce by rule 87
++	SUPERSCALAR	reduce by rule 87
++	FUN	reduce by rule 87
++	VAL	reduce by rule 87
++	INCLUDE	reduce by rule 87
++	OPEN	reduce by rule 87
++	LITTLE	reduce by rule 87
++	BIG	reduce by rule 87
++	PIPELINE	reduce by rule 87
++	LOWERCASE	reduce by rule 87
++	UPPERCASE	reduce by rule 87
++	VERBATIM	reduce by rule 87
++	RTL	reduce by rule 87
++	NONFIX	reduce by rule 87
++	INFIX	reduce by rule 87
++	INFIXR	reduce by rule 87
++	DEBUG	reduce by rule 87
++	RESOURCE	reduce by rule 87
++	CPU	reduce by rule 87
++	LATENCY	reduce by rule 87
++	EXCEPTION	reduce by rule 87
++	EOF	reduce by rule 87
++
++
++	.	error
++
++
++state 260:
++
++	aty : tyvar .  (reduce by rule 352)
++
++	ARCHITECTURE	reduce by rule 352
++	END	reduce by rule 352
++	LOCAL	reduce by rule 352
++	IN	reduce by rule 352
++	OF	reduce by rule 352
++	DATATYPE	reduce by rule 352
++	TYPE	reduce by rule 352
++	EQ	reduce by rule 352
++	TIMES	reduce by rule 352
++	AND	reduce by rule 352
++	LPAREN	reduce by rule 352
++	RPAREN	reduce by rule 352
++	RBRACKET	reduce by rule 352
++	RBRACE	reduce by rule 352
++	SEMICOLON	reduce by rule 352
++	LDQUOTE	reduce by rule 352
++	CELLSET	reduce by rule 352
++	STORAGE	reduce by rule 352
++	LOCATIONS	reduce by rule 352
++	COMMA	reduce by rule 352
++	COLON	reduce by rule 352
++	BAR	reduce by rule 352
++	ARROW	reduce by rule 352
++	DARROW	reduce by rule 352
++	BITS	reduce by rule 352
++	THEN	reduce by rule 352
++	ELSE	reduce by rule 352
++	STRUCTURE	reduce by rule 352
++	FUNCTOR	reduce by rule 352
++	SIGNATURE	reduce by rule 352
++	WHERE	reduce by rule 352
++	SHARING	reduce by rule 352
++	INSTRUCTION	reduce by rule 352
++	CELL	reduce by rule 352
++	VLIW	reduce by rule 352
++	SUPERSCALAR	reduce by rule 352
++	WITHTYPE	reduce by rule 352
++	FUN	reduce by rule 352
++	VAL	reduce by rule 352
++	INCLUDE	reduce by rule 352
++	OPEN	reduce by rule 352
++	LITTLE	reduce by rule 352
++	BIG	reduce by rule 352
++	PIPELINE	reduce by rule 352
++	LOWERCASE	reduce by rule 352
++	UPPERCASE	reduce by rule 352
++	VERBATIM	reduce by rule 352
++	RTL	reduce by rule 352
++	SPAN	reduce by rule 352
++	DELAYSLOT	reduce by rule 352
++	NONFIX	reduce by rule 352
++	INFIX	reduce by rule 352
++	INFIXR	reduce by rule 352
++	DEBUG	reduce by rule 352
++	ASM_COLON	reduce by rule 352
++	MC_COLON	reduce by rule 352
++	RTL_COLON	reduce by rule 352
++	DELAYSLOT_COLON	reduce by rule 352
++	NULLIFIED_COLON	reduce by rule 352
++	PADDING_COLON	reduce by rule 352
++	RESOURCE	reduce by rule 352
++	CPU	reduce by rule 352
++	LATENCY	reduce by rule 352
++	EXCEPTION	reduce by rule 352
++	ID	reduce by rule 352
++	SYMBOL	reduce by rule 352
++	WORD	reduce by rule 352
++	INT	reduce by rule 352
++	STRING	reduce by rule 352
++	EOF	reduce by rule 352
++
++
++	.	error
++
++
++state 261:
++
++	ty : tuplety .  (reduce by rule 372)
++
++	ARCHITECTURE	reduce by rule 372
++	END	reduce by rule 372
++	LOCAL	reduce by rule 372
++	IN	reduce by rule 372
++	OF	reduce by rule 372
++	DATATYPE	reduce by rule 372
++	TYPE	reduce by rule 372
++	EQ	reduce by rule 372
++	AND	reduce by rule 372
++	LPAREN	reduce by rule 372
++	RPAREN	reduce by rule 372
++	RBRACKET	reduce by rule 372
++	RBRACE	reduce by rule 372
++	SEMICOLON	reduce by rule 372
++	LDQUOTE	reduce by rule 372
++	CELLSET	reduce by rule 372
++	STORAGE	reduce by rule 372
++	LOCATIONS	reduce by rule 372
++	COMMA	reduce by rule 372
++	COLON	reduce by rule 372
++	BAR	reduce by rule 372
++	ARROW	reduce by rule 372
++	DARROW	reduce by rule 372
++	THEN	reduce by rule 372
++	ELSE	reduce by rule 372
++	STRUCTURE	reduce by rule 372
++	FUNCTOR	reduce by rule 372
++	SIGNATURE	reduce by rule 372
++	WHERE	reduce by rule 372
++	SHARING	reduce by rule 372
++	INSTRUCTION	reduce by rule 372
++	VLIW	reduce by rule 372
++	SUPERSCALAR	reduce by rule 372
++	WITHTYPE	reduce by rule 372
++	FUN	reduce by rule 372
++	VAL	reduce by rule 372
++	INCLUDE	reduce by rule 372
++	OPEN	reduce by rule 372
++	LITTLE	reduce by rule 372
++	BIG	reduce by rule 372
++	PIPELINE	reduce by rule 372
++	LOWERCASE	reduce by rule 372
++	UPPERCASE	reduce by rule 372
++	VERBATIM	reduce by rule 372
++	RTL	reduce by rule 372
++	SPAN	reduce by rule 372
++	DELAYSLOT	reduce by rule 372
++	NONFIX	reduce by rule 372
++	INFIX	reduce by rule 372
++	INFIXR	reduce by rule 372
++	DEBUG	reduce by rule 372
++	ASM_COLON	reduce by rule 372
++	MC_COLON	reduce by rule 372
++	RTL_COLON	reduce by rule 372
++	DELAYSLOT_COLON	reduce by rule 372
++	NULLIFIED_COLON	reduce by rule 372
++	PADDING_COLON	reduce by rule 372
++	RESOURCE	reduce by rule 372
++	CPU	reduce by rule 372
++	LATENCY	reduce by rule 372
++	EXCEPTION	reduce by rule 372
++	ID	reduce by rule 372
++	SYMBOL	reduce by rule 372
++	WORD	reduce by rule 372
++	INT	reduce by rule 372
++	STRING	reduce by rule 372
++	EOF	reduce by rule 372
++
++
++	.	error
++
++error:  state 262: shift/reduce conflict (shift SYMBOL, reduce by rule 373)
++error:  state 262: shift/reduce conflict (shift ID, reduce by rule 373)
++error:  state 262: shift/reduce conflict (shift INSTRUCTION, reduce by rule 373)
++error:  state 262: shift/reduce conflict (shift CELLSET, reduce by rule 373)
++
++state 262:
++
++	ty : appty .  (reduce by rule 373)
++	appty : appty . tident 
++	tuplety : appty . TIMES appty 
++	tuplety : appty . TIMES tuplety 
++
++	ARCHITECTURE	reduce by rule 373
++	END	reduce by rule 373
++	LOCAL	reduce by rule 373
++	IN	reduce by rule 373
++	OF	reduce by rule 373
++	DATATYPE	reduce by rule 373
++	TYPE	reduce by rule 373
++	EQ	reduce by rule 373
++	TIMES	shift 387
++	AND	reduce by rule 373
++	LPAREN	reduce by rule 373
++	RPAREN	reduce by rule 373
++	RBRACKET	reduce by rule 373
++	RBRACE	reduce by rule 373
++	SEMICOLON	reduce by rule 373
++	LDQUOTE	reduce by rule 373
++	CELLSET	shift 50
++	STORAGE	reduce by rule 373
++	LOCATIONS	reduce by rule 373
++	COMMA	reduce by rule 373
++	COLON	reduce by rule 373
++	BAR	reduce by rule 373
++	ARROW	reduce by rule 373
++	DARROW	reduce by rule 373
++	BITS	shift 246
++	THEN	reduce by rule 373
++	ELSE	reduce by rule 373
++	STRUCTURE	reduce by rule 373
++	FUNCTOR	reduce by rule 373
++	SIGNATURE	reduce by rule 373
++	WHERE	reduce by rule 373
++	SHARING	reduce by rule 373
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	VLIW	reduce by rule 373
++	SUPERSCALAR	reduce by rule 373
++	WITHTYPE	reduce by rule 373
++	FUN	reduce by rule 373
++	VAL	reduce by rule 373
++	INCLUDE	reduce by rule 373
++	OPEN	reduce by rule 373
++	LITTLE	reduce by rule 373
++	BIG	reduce by rule 373
++	PIPELINE	reduce by rule 373
++	LOWERCASE	reduce by rule 373
++	UPPERCASE	reduce by rule 373
++	VERBATIM	reduce by rule 373
++	RTL	reduce by rule 373
++	SPAN	reduce by rule 373
++	DELAYSLOT	reduce by rule 373
++	NONFIX	reduce by rule 373
++	INFIX	reduce by rule 373
++	INFIXR	reduce by rule 373
++	DEBUG	reduce by rule 373
++	ASM_COLON	reduce by rule 373
++	MC_COLON	reduce by rule 373
++	RTL_COLON	reduce by rule 373
++	DELAYSLOT_COLON	reduce by rule 373
++	NULLIFIED_COLON	reduce by rule 373
++	PADDING_COLON	reduce by rule 373
++	RESOURCE	reduce by rule 373
++	CPU	reduce by rule 373
++	LATENCY	reduce by rule 373
++	EXCEPTION	reduce by rule 373
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	reduce by rule 373
++	INT	reduce by rule 373
++	STRING	reduce by rule 373
++	EOF	reduce by rule 373
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 386
++	tpath	goto 265
++
++	.	error
++
++
++state 263:
++
++	appty : aty .  (reduce by rule 357)
++
++	ARCHITECTURE	reduce by rule 357
++	END	reduce by rule 357
++	LOCAL	reduce by rule 357
++	IN	reduce by rule 357
++	OF	reduce by rule 357
++	DATATYPE	reduce by rule 357
++	TYPE	reduce by rule 357
++	EQ	reduce by rule 357
++	TIMES	reduce by rule 357
++	AND	reduce by rule 357
++	LPAREN	reduce by rule 357
++	RPAREN	reduce by rule 357
++	RBRACKET	reduce by rule 357
++	RBRACE	reduce by rule 357
++	SEMICOLON	reduce by rule 357
++	LDQUOTE	reduce by rule 357
++	CELLSET	reduce by rule 357
++	STORAGE	reduce by rule 357
++	LOCATIONS	reduce by rule 357
++	COMMA	reduce by rule 357
++	COLON	reduce by rule 357
++	BAR	reduce by rule 357
++	ARROW	reduce by rule 357
++	DARROW	reduce by rule 357
++	BITS	reduce by rule 357
++	THEN	reduce by rule 357
++	ELSE	reduce by rule 357
++	STRUCTURE	reduce by rule 357
++	FUNCTOR	reduce by rule 357
++	SIGNATURE	reduce by rule 357
++	WHERE	reduce by rule 357
++	SHARING	reduce by rule 357
++	INSTRUCTION	reduce by rule 357
++	CELL	reduce by rule 357
++	VLIW	reduce by rule 357
++	SUPERSCALAR	reduce by rule 357
++	WITHTYPE	reduce by rule 357
++	FUN	reduce by rule 357
++	VAL	reduce by rule 357
++	INCLUDE	reduce by rule 357
++	OPEN	reduce by rule 357
++	LITTLE	reduce by rule 357
++	BIG	reduce by rule 357
++	PIPELINE	reduce by rule 357
++	LOWERCASE	reduce by rule 357
++	UPPERCASE	reduce by rule 357
++	VERBATIM	reduce by rule 357
++	RTL	reduce by rule 357
++	SPAN	reduce by rule 357
++	DELAYSLOT	reduce by rule 357
++	NONFIX	reduce by rule 357
++	INFIX	reduce by rule 357
++	INFIXR	reduce by rule 357
++	DEBUG	reduce by rule 357
++	ASM_COLON	reduce by rule 357
++	MC_COLON	reduce by rule 357
++	RTL_COLON	reduce by rule 357
++	DELAYSLOT_COLON	reduce by rule 357
++	NULLIFIED_COLON	reduce by rule 357
++	PADDING_COLON	reduce by rule 357
++	RESOURCE	reduce by rule 357
++	CPU	reduce by rule 357
++	LATENCY	reduce by rule 357
++	EXCEPTION	reduce by rule 357
++	ID	reduce by rule 357
++	SYMBOL	reduce by rule 357
++	WORD	reduce by rule 357
++	INT	reduce by rule 357
++	STRING	reduce by rule 357
++	EOF	reduce by rule 357
++
++
++	.	error
++
++
++state 264:
++
++	exceptionbind : id OF ty .  (reduce by rule 86)
++	ty : ty . ARROW ty 
++
++	ARCHITECTURE	reduce by rule 86
++	END	reduce by rule 86
++	LOCAL	reduce by rule 86
++	IN	reduce by rule 86
++	DATATYPE	reduce by rule 86
++	TYPE	reduce by rule 86
++	AND	reduce by rule 86
++	RPAREN	reduce by rule 86
++	SEMICOLON	reduce by rule 86
++	STORAGE	reduce by rule 86
++	LOCATIONS	reduce by rule 86
++	ARROW	shift 388
++	STRUCTURE	reduce by rule 86
++	FUNCTOR	reduce by rule 86
++	SIGNATURE	reduce by rule 86
++	SHARING	reduce by rule 86
++	INSTRUCTION	reduce by rule 86
++	VLIW	reduce by rule 86
++	SUPERSCALAR	reduce by rule 86
++	FUN	reduce by rule 86
++	VAL	reduce by rule 86
++	INCLUDE	reduce by rule 86
++	OPEN	reduce by rule 86
++	LITTLE	reduce by rule 86
++	BIG	reduce by rule 86
++	PIPELINE	reduce by rule 86
++	LOWERCASE	reduce by rule 86
++	UPPERCASE	reduce by rule 86
++	VERBATIM	reduce by rule 86
++	RTL	reduce by rule 86
++	NONFIX	reduce by rule 86
++	INFIX	reduce by rule 86
++	INFIXR	reduce by rule 86
++	DEBUG	reduce by rule 86
++	RESOURCE	reduce by rule 86
++	CPU	reduce by rule 86
++	LATENCY	reduce by rule 86
++	EXCEPTION	reduce by rule 86
++	EOF	reduce by rule 86
++
++
++	.	error
++
++
++state 265:
++
++	tident : tpath .  (reduce by rule 366)
++	tpath : tpath . DOT tid 
++
++	ARCHITECTURE	reduce by rule 366
++	END	reduce by rule 366
++	LOCAL	reduce by rule 366
++	IN	reduce by rule 366
++	OF	reduce by rule 366
++	DATATYPE	reduce by rule 366
++	TYPE	reduce by rule 366
++	EQ	reduce by rule 366
++	TIMES	reduce by rule 366
++	AND	reduce by rule 366
++	LPAREN	reduce by rule 366
++	RPAREN	reduce by rule 366
++	RBRACKET	reduce by rule 366
++	RBRACE	reduce by rule 366
++	SEMICOLON	reduce by rule 366
++	LDQUOTE	reduce by rule 366
++	CELLSET	reduce by rule 366
++	STORAGE	reduce by rule 366
++	LOCATIONS	reduce by rule 366
++	COMMA	reduce by rule 366
++	COLON	reduce by rule 366
++	DOT	shift 389
++	BAR	reduce by rule 366
++	ARROW	reduce by rule 366
++	DARROW	reduce by rule 366
++	BITS	reduce by rule 366
++	THEN	reduce by rule 366
++	ELSE	reduce by rule 366
++	STRUCTURE	reduce by rule 366
++	FUNCTOR	reduce by rule 366
++	SIGNATURE	reduce by rule 366
++	WHERE	reduce by rule 366
++	SHARING	reduce by rule 366
++	INSTRUCTION	reduce by rule 366
++	CELL	reduce by rule 366
++	VLIW	reduce by rule 366
++	SUPERSCALAR	reduce by rule 366
++	WITHTYPE	reduce by rule 366
++	FUN	reduce by rule 366
++	VAL	reduce by rule 366
++	INCLUDE	reduce by rule 366
++	OPEN	reduce by rule 366
++	LITTLE	reduce by rule 366
++	BIG	reduce by rule 366
++	PIPELINE	reduce by rule 366
++	LOWERCASE	reduce by rule 366
++	UPPERCASE	reduce by rule 366
++	VERBATIM	reduce by rule 366
++	RTL	reduce by rule 366
++	SPAN	reduce by rule 366
++	DELAYSLOT	reduce by rule 366
++	NONFIX	reduce by rule 366
++	INFIX	reduce by rule 366
++	INFIXR	reduce by rule 366
++	DEBUG	reduce by rule 366
++	ASM_COLON	reduce by rule 366
++	MC_COLON	reduce by rule 366
++	RTL_COLON	reduce by rule 366
++	DELAYSLOT_COLON	reduce by rule 366
++	NULLIFIED_COLON	reduce by rule 366
++	PADDING_COLON	reduce by rule 366
++	RESOURCE	reduce by rule 366
++	CPU	reduce by rule 366
++	LATENCY	reduce by rule 366
++	EXCEPTION	reduce by rule 366
++	ID	reduce by rule 366
++	SYMBOL	reduce by rule 366
++	WORD	reduce by rule 366
++	INT	reduce by rule 366
++	STRING	reduce by rule 366
++	EOF	reduce by rule 366
++
++
++	.	error
++
++
++state 266:
++
++	aty : tident .  (reduce by rule 350)
++
++	ARCHITECTURE	reduce by rule 350
++	END	reduce by rule 350
++	LOCAL	reduce by rule 350
++	IN	reduce by rule 350
++	OF	reduce by rule 350
++	DATATYPE	reduce by rule 350
++	TYPE	reduce by rule 350
++	EQ	reduce by rule 350
++	TIMES	reduce by rule 350
++	AND	reduce by rule 350
++	LPAREN	reduce by rule 350
++	RPAREN	reduce by rule 350
++	RBRACKET	reduce by rule 350
++	RBRACE	reduce by rule 350
++	SEMICOLON	reduce by rule 350
++	LDQUOTE	reduce by rule 350
++	CELLSET	reduce by rule 350
++	STORAGE	reduce by rule 350
++	LOCATIONS	reduce by rule 350
++	COMMA	reduce by rule 350
++	COLON	reduce by rule 350
++	BAR	reduce by rule 350
++	ARROW	reduce by rule 350
++	DARROW	reduce by rule 350
++	BITS	reduce by rule 350
++	THEN	reduce by rule 350
++	ELSE	reduce by rule 350
++	STRUCTURE	reduce by rule 350
++	FUNCTOR	reduce by rule 350
++	SIGNATURE	reduce by rule 350
++	WHERE	reduce by rule 350
++	SHARING	reduce by rule 350
++	INSTRUCTION	reduce by rule 350
++	CELL	reduce by rule 350
++	VLIW	reduce by rule 350
++	SUPERSCALAR	reduce by rule 350
++	WITHTYPE	reduce by rule 350
++	FUN	reduce by rule 350
++	VAL	reduce by rule 350
++	INCLUDE	reduce by rule 350
++	OPEN	reduce by rule 350
++	LITTLE	reduce by rule 350
++	BIG	reduce by rule 350
++	PIPELINE	reduce by rule 350
++	LOWERCASE	reduce by rule 350
++	UPPERCASE	reduce by rule 350
++	VERBATIM	reduce by rule 350
++	RTL	reduce by rule 350
++	SPAN	reduce by rule 350
++	DELAYSLOT	reduce by rule 350
++	NONFIX	reduce by rule 350
++	INFIX	reduce by rule 350
++	INFIXR	reduce by rule 350
++	DEBUG	reduce by rule 350
++	ASM_COLON	reduce by rule 350
++	MC_COLON	reduce by rule 350
++	RTL_COLON	reduce by rule 350
++	DELAYSLOT_COLON	reduce by rule 350
++	NULLIFIED_COLON	reduce by rule 350
++	PADDING_COLON	reduce by rule 350
++	RESOURCE	reduce by rule 350
++	CPU	reduce by rule 350
++	LATENCY	reduce by rule 350
++	EXCEPTION	reduce by rule 350
++	ID	reduce by rule 350
++	SYMBOL	reduce by rule 350
++	WORD	reduce by rule 350
++	INT	reduce by rule 350
++	STRING	reduce by rule 350
++	EOF	reduce by rule 350
++
++
++	.	error
++
++
++state 267:
++
++	tident : tid .  (reduce by rule 365)
++	tpath : tid . DOT tid 
++
++	ARCHITECTURE	reduce by rule 365
++	END	reduce by rule 365
++	LOCAL	reduce by rule 365
++	IN	reduce by rule 365
++	OF	reduce by rule 365
++	DATATYPE	reduce by rule 365
++	TYPE	reduce by rule 365
++	EQ	reduce by rule 365
++	TIMES	reduce by rule 365
++	AND	reduce by rule 365
++	LPAREN	reduce by rule 365
++	RPAREN	reduce by rule 365
++	RBRACKET	reduce by rule 365
++	RBRACE	reduce by rule 365
++	SEMICOLON	reduce by rule 365
++	LDQUOTE	reduce by rule 365
++	CELLSET	reduce by rule 365
++	STORAGE	reduce by rule 365
++	LOCATIONS	reduce by rule 365
++	COMMA	reduce by rule 365
++	COLON	reduce by rule 365
++	DOT	shift 390
++	BAR	reduce by rule 365
++	ARROW	reduce by rule 365
++	DARROW	reduce by rule 365
++	BITS	reduce by rule 365
++	THEN	reduce by rule 365
++	ELSE	reduce by rule 365
++	STRUCTURE	reduce by rule 365
++	FUNCTOR	reduce by rule 365
++	SIGNATURE	reduce by rule 365
++	WHERE	reduce by rule 365
++	SHARING	reduce by rule 365
++	INSTRUCTION	reduce by rule 365
++	CELL	reduce by rule 365
++	VLIW	reduce by rule 365
++	SUPERSCALAR	reduce by rule 365
++	WITHTYPE	reduce by rule 365
++	FUN	reduce by rule 365
++	VAL	reduce by rule 365
++	INCLUDE	reduce by rule 365
++	OPEN	reduce by rule 365
++	LITTLE	reduce by rule 365
++	BIG	reduce by rule 365
++	PIPELINE	reduce by rule 365
++	LOWERCASE	reduce by rule 365
++	UPPERCASE	reduce by rule 365
++	VERBATIM	reduce by rule 365
++	RTL	reduce by rule 365
++	SPAN	reduce by rule 365
++	DELAYSLOT	reduce by rule 365
++	NONFIX	reduce by rule 365
++	INFIX	reduce by rule 365
++	INFIXR	reduce by rule 365
++	DEBUG	reduce by rule 365
++	ASM_COLON	reduce by rule 365
++	MC_COLON	reduce by rule 365
++	RTL_COLON	reduce by rule 365
++	DELAYSLOT_COLON	reduce by rule 365
++	NULLIFIED_COLON	reduce by rule 365
++	PADDING_COLON	reduce by rule 365
++	RESOURCE	reduce by rule 365
++	CPU	reduce by rule 365
++	LATENCY	reduce by rule 365
++	EXCEPTION	reduce by rule 365
++	ID	reduce by rule 365
++	SYMBOL	reduce by rule 365
++	WORD	reduce by rule 365
++	INT	reduce by rule 365
++	STRING	reduce by rule 365
++	EOF	reduce by rule 365
++
++
++	.	error
++
++
++state 268:
++
++	aty : HASH . int 
++	tyvar : HASH . id 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++	INT	shift 64
++
++	id	goto 248
++	int	goto 391
++
++	.	error
++
++
++state 269:
++
++	aty : LBRACE . labtys RBRACE 
++
++	RBRACE	reduce by rule 374
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 395
++	labty	goto 394
++	labtys	goto 393
++	labtys1	goto 392
++
++	.	error
++
++
++state 270:
++
++	aty : LPAREN . RPAREN 
++	aty : LPAREN . ty RPAREN 
++	appty : LPAREN . tys2 RPAREN tident 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	RPAREN	shift 398
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	ty	goto 397
++	aty	goto 263
++	appty	goto 262
++	tys2	goto 396
++	tuplety	goto 261
++	tyvar	goto 260
++
++	.	error
++
++
++state 271:
++
++	aty : DOLLAR . id 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 399
++
++	.	error
++
++
++state 272:
++
++	latencyclauses : latencyclause BAR latencyclauses .  (reduce by rule 57)
++
++	ARCHITECTURE	reduce by rule 57
++	END	reduce by rule 57
++	LOCAL	reduce by rule 57
++	IN	reduce by rule 57
++	DATATYPE	reduce by rule 57
++	TYPE	reduce by rule 57
++	AND	reduce by rule 57
++	RPAREN	reduce by rule 57
++	SEMICOLON	reduce by rule 57
++	STORAGE	reduce by rule 57
++	LOCATIONS	reduce by rule 57
++	STRUCTURE	reduce by rule 57
++	FUNCTOR	reduce by rule 57
++	SIGNATURE	reduce by rule 57
++	SHARING	reduce by rule 57
++	INSTRUCTION	reduce by rule 57
++	VLIW	reduce by rule 57
++	SUPERSCALAR	reduce by rule 57
++	FUN	reduce by rule 57
++	VAL	reduce by rule 57
++	INCLUDE	reduce by rule 57
++	OPEN	reduce by rule 57
++	LITTLE	reduce by rule 57
++	BIG	reduce by rule 57
++	PIPELINE	reduce by rule 57
++	LOWERCASE	reduce by rule 57
++	UPPERCASE	reduce by rule 57
++	VERBATIM	reduce by rule 57
++	RTL	reduce by rule 57
++	NONFIX	reduce by rule 57
++	INFIX	reduce by rule 57
++	INFIXR	reduce by rule 57
++	DEBUG	reduce by rule 57
++	RESOURCE	reduce by rule 57
++	CPU	reduce by rule 57
++	LATENCY	reduce by rule 57
++	EXCEPTION	reduce by rule 57
++	EOF	reduce by rule 57
++
++
++	.	error
++
++
++state 273:
++
++	latencybinds : latencybind AND latencybinds .  (reduce by rule 54)
++
++	ARCHITECTURE	reduce by rule 54
++	END	reduce by rule 54
++	LOCAL	reduce by rule 54
++	IN	reduce by rule 54
++	DATATYPE	reduce by rule 54
++	TYPE	reduce by rule 54
++	RPAREN	reduce by rule 54
++	SEMICOLON	reduce by rule 54
++	STORAGE	reduce by rule 54
++	LOCATIONS	reduce by rule 54
++	STRUCTURE	reduce by rule 54
++	FUNCTOR	reduce by rule 54
++	SIGNATURE	reduce by rule 54
++	SHARING	reduce by rule 54
++	INSTRUCTION	reduce by rule 54
++	VLIW	reduce by rule 54
++	SUPERSCALAR	reduce by rule 54
++	FUN	reduce by rule 54
++	VAL	reduce by rule 54
++	INCLUDE	reduce by rule 54
++	OPEN	reduce by rule 54
++	LITTLE	reduce by rule 54
++	BIG	reduce by rule 54
++	PIPELINE	reduce by rule 54
++	LOWERCASE	reduce by rule 54
++	UPPERCASE	reduce by rule 54
++	VERBATIM	reduce by rule 54
++	RTL	reduce by rule 54
++	NONFIX	reduce by rule 54
++	INFIX	reduce by rule 54
++	INFIXR	reduce by rule 54
++	DEBUG	reduce by rule 54
++	RESOURCE	reduce by rule 54
++	CPU	reduce by rule 54
++	LATENCY	reduce by rule 54
++	EXCEPTION	reduce by rule 54
++	EOF	reduce by rule 54
++
++
++	.	error
++
++
++state 274:
++
++	latencyclause : id pat EQ . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 400
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 275:
++
++	cpubinds : cpubind AND cpubinds .  (reduce by rule 31)
++
++	ARCHITECTURE	reduce by rule 31
++	END	reduce by rule 31
++	LOCAL	reduce by rule 31
++	IN	reduce by rule 31
++	DATATYPE	reduce by rule 31
++	TYPE	reduce by rule 31
++	RPAREN	reduce by rule 31
++	SEMICOLON	reduce by rule 31
++	STORAGE	reduce by rule 31
++	LOCATIONS	reduce by rule 31
++	STRUCTURE	reduce by rule 31
++	FUNCTOR	reduce by rule 31
++	SIGNATURE	reduce by rule 31
++	SHARING	reduce by rule 31
++	INSTRUCTION	reduce by rule 31
++	VLIW	reduce by rule 31
++	SUPERSCALAR	reduce by rule 31
++	FUN	reduce by rule 31
++	VAL	reduce by rule 31
++	INCLUDE	reduce by rule 31
++	OPEN	reduce by rule 31
++	LITTLE	reduce by rule 31
++	BIG	reduce by rule 31
++	PIPELINE	reduce by rule 31
++	LOWERCASE	reduce by rule 31
++	UPPERCASE	reduce by rule 31
++	VERBATIM	reduce by rule 31
++	RTL	reduce by rule 31
++	NONFIX	reduce by rule 31
++	INFIX	reduce by rule 31
++	INFIXR	reduce by rule 31
++	DEBUG	reduce by rule 31
++	RESOURCE	reduce by rule 31
++	CPU	reduce by rule 31
++	LATENCY	reduce by rule 31
++	EXCEPTION	reduce by rule 31
++	EOF	reduce by rule 31
++
++
++	.	error
++
++
++state 276:
++
++	cpubind : id aliases int . LBRACKET resources RBRACKET 
++
++	LBRACKET	shift 401
++
++
++	.	error
++
++
++state 277:
++
++	aliases : string aliases .  (reduce by rule 34)
++
++	INT	reduce by rule 34
++
++
++	.	error
++
++
++state 278:
++
++	resourcebinds : id AND resourcebinds .  (reduce by rule 29)
++
++	ARCHITECTURE	reduce by rule 29
++	END	reduce by rule 29
++	LOCAL	reduce by rule 29
++	IN	reduce by rule 29
++	DATATYPE	reduce by rule 29
++	TYPE	reduce by rule 29
++	RPAREN	reduce by rule 29
++	SEMICOLON	reduce by rule 29
++	STORAGE	reduce by rule 29
++	LOCATIONS	reduce by rule 29
++	STRUCTURE	reduce by rule 29
++	FUNCTOR	reduce by rule 29
++	SIGNATURE	reduce by rule 29
++	SHARING	reduce by rule 29
++	INSTRUCTION	reduce by rule 29
++	VLIW	reduce by rule 29
++	SUPERSCALAR	reduce by rule 29
++	FUN	reduce by rule 29
++	VAL	reduce by rule 29
++	INCLUDE	reduce by rule 29
++	OPEN	reduce by rule 29
++	LITTLE	reduce by rule 29
++	BIG	reduce by rule 29
++	PIPELINE	reduce by rule 29
++	LOWERCASE	reduce by rule 29
++	UPPERCASE	reduce by rule 29
++	VERBATIM	reduce by rule 29
++	RTL	reduce by rule 29
++	NONFIX	reduce by rule 29
++	INFIX	reduce by rule 29
++	INFIXR	reduce by rule 29
++	DEBUG	reduce by rule 29
++	RESOURCE	reduce by rule 29
++	CPU	reduce by rule 29
++	LATENCY	reduce by rule 29
++	EXCEPTION	reduce by rule 29
++	EOF	reduce by rule 29
++
++
++	.	error
++
++
++state 279:
++
++	aexp : asm_strings .  (reduce by rule 246)
++
++	ARCHITECTURE	reduce by rule 246
++	END	reduce by rule 246
++	LOCAL	reduce by rule 246
++	IN	reduce by rule 246
++	OF	reduce by rule 246
++	DATATYPE	reduce by rule 246
++	TYPE	reduce by rule 246
++	EQ	reduce by rule 246
++	DOLLAR	reduce by rule 246
++	TIMES	reduce by rule 246
++	AND	reduce by rule 246
++	DEREF	reduce by rule 246
++	NOT	reduce by rule 246
++	LLBRACKET	reduce by rule 246
++	LHASHBRACKET	reduce by rule 246
++	LPAREN	reduce by rule 246
++	RPAREN	reduce by rule 246
++	LBRACKET	reduce by rule 246
++	RBRACKET	reduce by rule 246
++	LBRACE	reduce by rule 246
++	RBRACE	reduce by rule 246
++	SEMICOLON	reduce by rule 246
++	LDQUOTE	reduce by rule 246
++	RMETA	reduce by rule 246
++	CELLSET	reduce by rule 246
++	STORAGE	reduce by rule 246
++	LOCATIONS	reduce by rule 246
++	HASH	reduce by rule 246
++	COMMA	reduce by rule 246
++	COLON	reduce by rule 246
++	AT	reduce by rule 246
++	BAR	reduce by rule 246
++	DARROW	reduce by rule 246
++	THEN	reduce by rule 246
++	ELSE	reduce by rule 246
++	TRUE	reduce by rule 246
++	FALSE	reduce by rule 246
++	HANDLE	reduce by rule 246
++	LET	reduce by rule 246
++	STRUCTURE	reduce by rule 246
++	FUNCTOR	reduce by rule 246
++	SIGNATURE	reduce by rule 246
++	SHARING	reduce by rule 246
++	INSTRUCTION	reduce by rule 246
++	VLIW	reduce by rule 246
++	SUPERSCALAR	reduce by rule 246
++	WITHTYPE	reduce by rule 246
++	FUN	reduce by rule 246
++	VAL	reduce by rule 246
++	INCLUDE	reduce by rule 246
++	OPEN	reduce by rule 246
++	OP	reduce by rule 246
++	LITTLE	reduce by rule 246
++	BIG	reduce by rule 246
++	PIPELINE	reduce by rule 246
++	LOWERCASE	reduce by rule 246
++	UPPERCASE	reduce by rule 246
++	VERBATIM	reduce by rule 246
++	RTL	reduce by rule 246
++	SPAN	reduce by rule 246
++	DELAYSLOT	reduce by rule 246
++	ALWAYS	reduce by rule 246
++	NEVER	reduce by rule 246
++	NONFIX	reduce by rule 246
++	INFIX	reduce by rule 246
++	INFIXR	reduce by rule 246
++	DEBUG	reduce by rule 246
++	ASM_COLON	reduce by rule 246
++	MC_COLON	reduce by rule 246
++	RTL_COLON	reduce by rule 246
++	DELAYSLOT_COLON	reduce by rule 246
++	NULLIFIED_COLON	reduce by rule 246
++	PADDING_COLON	reduce by rule 246
++	RESOURCE	reduce by rule 246
++	CPU	reduce by rule 246
++	LATENCY	reduce by rule 246
++	EXCEPTION	reduce by rule 246
++	ID	reduce by rule 246
++	SYMBOL	reduce by rule 246
++	WORD	reduce by rule 246
++	INT	reduce by rule 246
++	INTINF	reduce by rule 246
++	REAL	reduce by rule 246
++	STRING	reduce by rule 246
++	CHAR	reduce by rule 246
++	EOF	reduce by rule 246
++
++
++	.	error
++
++
++state 280:
++
++	aexp : literal .  (reduce by rule 241)
++
++	ARCHITECTURE	reduce by rule 241
++	END	reduce by rule 241
++	LOCAL	reduce by rule 241
++	IN	reduce by rule 241
++	OF	reduce by rule 241
++	DATATYPE	reduce by rule 241
++	TYPE	reduce by rule 241
++	EQ	reduce by rule 241
++	DOLLAR	reduce by rule 241
++	TIMES	reduce by rule 241
++	AND	reduce by rule 241
++	DEREF	reduce by rule 241
++	NOT	reduce by rule 241
++	LLBRACKET	reduce by rule 241
++	LHASHBRACKET	reduce by rule 241
++	LPAREN	reduce by rule 241
++	RPAREN	reduce by rule 241
++	LBRACKET	reduce by rule 241
++	RBRACKET	reduce by rule 241
++	LBRACE	reduce by rule 241
++	RBRACE	reduce by rule 241
++	SEMICOLON	reduce by rule 241
++	LDQUOTE	reduce by rule 241
++	RMETA	reduce by rule 241
++	CELLSET	reduce by rule 241
++	STORAGE	reduce by rule 241
++	LOCATIONS	reduce by rule 241
++	HASH	reduce by rule 241
++	COMMA	reduce by rule 241
++	COLON	reduce by rule 241
++	AT	reduce by rule 241
++	BAR	reduce by rule 241
++	DARROW	reduce by rule 241
++	THEN	reduce by rule 241
++	ELSE	reduce by rule 241
++	TRUE	reduce by rule 241
++	FALSE	reduce by rule 241
++	HANDLE	reduce by rule 241
++	LET	reduce by rule 241
++	STRUCTURE	reduce by rule 241
++	FUNCTOR	reduce by rule 241
++	SIGNATURE	reduce by rule 241
++	SHARING	reduce by rule 241
++	INSTRUCTION	reduce by rule 241
++	VLIW	reduce by rule 241
++	SUPERSCALAR	reduce by rule 241
++	WITHTYPE	reduce by rule 241
++	FUN	reduce by rule 241
++	VAL	reduce by rule 241
++	INCLUDE	reduce by rule 241
++	OPEN	reduce by rule 241
++	OP	reduce by rule 241
++	LITTLE	reduce by rule 241
++	BIG	reduce by rule 241
++	PIPELINE	reduce by rule 241
++	LOWERCASE	reduce by rule 241
++	UPPERCASE	reduce by rule 241
++	VERBATIM	reduce by rule 241
++	RTL	reduce by rule 241
++	SPAN	reduce by rule 241
++	DELAYSLOT	reduce by rule 241
++	ALWAYS	reduce by rule 241
++	NEVER	reduce by rule 241
++	NONFIX	reduce by rule 241
++	INFIX	reduce by rule 241
++	INFIXR	reduce by rule 241
++	DEBUG	reduce by rule 241
++	ASM_COLON	reduce by rule 241
++	MC_COLON	reduce by rule 241
++	RTL_COLON	reduce by rule 241
++	DELAYSLOT_COLON	reduce by rule 241
++	NULLIFIED_COLON	reduce by rule 241
++	PADDING_COLON	reduce by rule 241
++	RESOURCE	reduce by rule 241
++	CPU	reduce by rule 241
++	LATENCY	reduce by rule 241
++	EXCEPTION	reduce by rule 241
++	ID	reduce by rule 241
++	SYMBOL	reduce by rule 241
++	WORD	reduce by rule 241
++	INT	reduce by rule 241
++	INTINF	reduce by rule 241
++	REAL	reduce by rule 241
++	STRING	reduce by rule 241
++	CHAR	reduce by rule 241
++	EOF	reduce by rule 241
++
++
++	.	error
++
++
++state 281:
++
++	mymldecl : RTL asapat EQ exp .  (reduce by rule 63)
++	exp : exp . HANDLE clauses 
++
++	ARCHITECTURE	reduce by rule 63
++	END	reduce by rule 63
++	LOCAL	reduce by rule 63
++	IN	reduce by rule 63
++	DATATYPE	reduce by rule 63
++	TYPE	reduce by rule 63
++	RPAREN	reduce by rule 63
++	SEMICOLON	reduce by rule 63
++	STORAGE	reduce by rule 63
++	LOCATIONS	reduce by rule 63
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 63
++	FUNCTOR	reduce by rule 63
++	SIGNATURE	reduce by rule 63
++	SHARING	reduce by rule 63
++	INSTRUCTION	reduce by rule 63
++	VLIW	reduce by rule 63
++	SUPERSCALAR	reduce by rule 63
++	FUN	reduce by rule 63
++	VAL	reduce by rule 63
++	INCLUDE	reduce by rule 63
++	OPEN	reduce by rule 63
++	LITTLE	reduce by rule 63
++	BIG	reduce by rule 63
++	PIPELINE	reduce by rule 63
++	LOWERCASE	reduce by rule 63
++	UPPERCASE	reduce by rule 63
++	VERBATIM	reduce by rule 63
++	RTL	reduce by rule 63
++	NONFIX	reduce by rule 63
++	INFIX	reduce by rule 63
++	INFIXR	reduce by rule 63
++	DEBUG	reduce by rule 63
++	RESOURCE	reduce by rule 63
++	CPU	reduce by rule 63
++	LATENCY	reduce by rule 63
++	EXCEPTION	reduce by rule 63
++	EOF	reduce by rule 63
++
++
++	.	error
++
++error:  state 282: shift/reduce conflict (shift INT, reduce by rule 274)
++error:  state 282: shift/reduce conflict (shift WORD, reduce by rule 274)
++error:  state 282: shift/reduce conflict (shift SYMBOL, reduce by rule 274)
++error:  state 282: shift/reduce conflict (shift ID, reduce by rule 274)
++error:  state 282: shift/reduce conflict (shift CELLSET, reduce by rule 274)
++error:  state 282: shift/reduce conflict (shift LPAREN, reduce by rule 274)
++
++state 282:
++
++	appexp : appexp . aexp2 
++	exp : appexp .  (reduce by rule 274)
++
++	ARCHITECTURE	reduce by rule 274
++	END	reduce by rule 274
++	LOCAL	reduce by rule 274
++	IN	reduce by rule 274
++	OF	reduce by rule 274
++	DATATYPE	reduce by rule 274
++	TYPE	reduce by rule 274
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	AND	reduce by rule 274
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	RPAREN	reduce by rule 274
++	LBRACKET	shift 295
++	RBRACKET	reduce by rule 274
++	LBRACE	shift 294
++	RBRACE	reduce by rule 274
++	SEMICOLON	reduce by rule 274
++	LDQUOTE	shift 293
++	RMETA	reduce by rule 274
++	CELLSET	shift 50
++	STORAGE	reduce by rule 274
++	LOCATIONS	reduce by rule 274
++	HASH	shift 291
++	COMMA	reduce by rule 274
++	COLON	reduce by rule 274
++	BAR	reduce by rule 274
++	DARROW	reduce by rule 274
++	THEN	reduce by rule 274
++	ELSE	reduce by rule 274
++	TRUE	shift 99
++	FALSE	shift 98
++	HANDLE	reduce by rule 274
++	LET	shift 288
++	STRUCTURE	reduce by rule 274
++	FUNCTOR	reduce by rule 274
++	SIGNATURE	reduce by rule 274
++	SHARING	reduce by rule 274
++	INSTRUCTION	reduce by rule 274
++	VLIW	reduce by rule 274
++	SUPERSCALAR	reduce by rule 274
++	WITHTYPE	reduce by rule 274
++	FUN	reduce by rule 274
++	VAL	reduce by rule 274
++	INCLUDE	reduce by rule 274
++	OPEN	reduce by rule 274
++	OP	shift 287
++	LITTLE	reduce by rule 274
++	BIG	reduce by rule 274
++	PIPELINE	reduce by rule 274
++	LOWERCASE	reduce by rule 274
++	UPPERCASE	reduce by rule 274
++	VERBATIM	reduce by rule 274
++	RTL	reduce by rule 274
++	SPAN	reduce by rule 274
++	DELAYSLOT	reduce by rule 274
++	ALWAYS	shift 96
++	NEVER	shift 95
++	NONFIX	reduce by rule 274
++	INFIX	reduce by rule 274
++	INFIXR	reduce by rule 274
++	DEBUG	reduce by rule 274
++	ASM_COLON	reduce by rule 274
++	MC_COLON	reduce by rule 274
++	RTL_COLON	reduce by rule 274
++	DELAYSLOT_COLON	reduce by rule 274
++	NULLIFIED_COLON	reduce by rule 274
++	PADDING_COLON	reduce by rule 274
++	RESOURCE	reduce by rule 274
++	CPU	reduce by rule 274
++	LATENCY	reduce by rule 274
++	EXCEPTION	reduce by rule 274
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++	EOF	reduce by rule 274
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 403
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 283:
++
++	aexp2 : aexp2 . AT LBRACKET slices RBRACKET 
++	appexp : aexp2 .  (reduce by rule 272)
++
++	ARCHITECTURE	reduce by rule 272
++	END	reduce by rule 272
++	LOCAL	reduce by rule 272
++	IN	reduce by rule 272
++	OF	reduce by rule 272
++	DATATYPE	reduce by rule 272
++	TYPE	reduce by rule 272
++	EQ	reduce by rule 272
++	DOLLAR	reduce by rule 272
++	TIMES	reduce by rule 272
++	AND	reduce by rule 272
++	DEREF	reduce by rule 272
++	NOT	reduce by rule 272
++	LLBRACKET	reduce by rule 272
++	LHASHBRACKET	reduce by rule 272
++	LPAREN	reduce by rule 272
++	RPAREN	reduce by rule 272
++	LBRACKET	reduce by rule 272
++	RBRACKET	reduce by rule 272
++	LBRACE	reduce by rule 272
++	RBRACE	reduce by rule 272
++	SEMICOLON	reduce by rule 272
++	LDQUOTE	reduce by rule 272
++	RMETA	reduce by rule 272
++	CELLSET	reduce by rule 272
++	STORAGE	reduce by rule 272
++	LOCATIONS	reduce by rule 272
++	HASH	reduce by rule 272
++	COMMA	reduce by rule 272
++	COLON	reduce by rule 272
++	AT	shift 404
++	BAR	reduce by rule 272
++	DARROW	reduce by rule 272
++	THEN	reduce by rule 272
++	ELSE	reduce by rule 272
++	TRUE	reduce by rule 272
++	FALSE	reduce by rule 272
++	HANDLE	reduce by rule 272
++	LET	reduce by rule 272
++	STRUCTURE	reduce by rule 272
++	FUNCTOR	reduce by rule 272
++	SIGNATURE	reduce by rule 272
++	SHARING	reduce by rule 272
++	INSTRUCTION	reduce by rule 272
++	VLIW	reduce by rule 272
++	SUPERSCALAR	reduce by rule 272
++	WITHTYPE	reduce by rule 272
++	FUN	reduce by rule 272
++	VAL	reduce by rule 272
++	INCLUDE	reduce by rule 272
++	OPEN	reduce by rule 272
++	OP	reduce by rule 272
++	LITTLE	reduce by rule 272
++	BIG	reduce by rule 272
++	PIPELINE	reduce by rule 272
++	LOWERCASE	reduce by rule 272
++	UPPERCASE	reduce by rule 272
++	VERBATIM	reduce by rule 272
++	RTL	reduce by rule 272
++	SPAN	reduce by rule 272
++	DELAYSLOT	reduce by rule 272
++	ALWAYS	reduce by rule 272
++	NEVER	reduce by rule 272
++	NONFIX	reduce by rule 272
++	INFIX	reduce by rule 272
++	INFIXR	reduce by rule 272
++	DEBUG	reduce by rule 272
++	ASM_COLON	reduce by rule 272
++	MC_COLON	reduce by rule 272
++	RTL_COLON	reduce by rule 272
++	DELAYSLOT_COLON	reduce by rule 272
++	NULLIFIED_COLON	reduce by rule 272
++	PADDING_COLON	reduce by rule 272
++	RESOURCE	reduce by rule 272
++	CPU	reduce by rule 272
++	LATENCY	reduce by rule 272
++	EXCEPTION	reduce by rule 272
++	ID	reduce by rule 272
++	SYMBOL	reduce by rule 272
++	WORD	reduce by rule 272
++	INT	reduce by rule 272
++	INTINF	reduce by rule 272
++	REAL	reduce by rule 272
++	STRING	reduce by rule 272
++	CHAR	reduce by rule 272
++	EOF	reduce by rule 272
++
++
++	.	error
++
++
++state 284:
++
++	aexp2 : aexp .  (reduce by rule 262)
++
++	ARCHITECTURE	reduce by rule 262
++	END	reduce by rule 262
++	LOCAL	reduce by rule 262
++	IN	reduce by rule 262
++	OF	reduce by rule 262
++	DATATYPE	reduce by rule 262
++	TYPE	reduce by rule 262
++	EQ	reduce by rule 262
++	DOLLAR	reduce by rule 262
++	TIMES	reduce by rule 262
++	AND	reduce by rule 262
++	DEREF	reduce by rule 262
++	NOT	reduce by rule 262
++	LLBRACKET	reduce by rule 262
++	LHASHBRACKET	reduce by rule 262
++	LPAREN	reduce by rule 262
++	RPAREN	reduce by rule 262
++	LBRACKET	reduce by rule 262
++	RBRACKET	reduce by rule 262
++	LBRACE	reduce by rule 262
++	RBRACE	reduce by rule 262
++	SEMICOLON	reduce by rule 262
++	LDQUOTE	reduce by rule 262
++	RMETA	reduce by rule 262
++	CELLSET	reduce by rule 262
++	STORAGE	reduce by rule 262
++	LOCATIONS	reduce by rule 262
++	HASH	reduce by rule 262
++	COMMA	reduce by rule 262
++	COLON	reduce by rule 262
++	AT	reduce by rule 262
++	BAR	reduce by rule 262
++	DARROW	reduce by rule 262
++	THEN	reduce by rule 262
++	ELSE	reduce by rule 262
++	TRUE	reduce by rule 262
++	FALSE	reduce by rule 262
++	HANDLE	reduce by rule 262
++	LET	reduce by rule 262
++	STRUCTURE	reduce by rule 262
++	FUNCTOR	reduce by rule 262
++	SIGNATURE	reduce by rule 262
++	SHARING	reduce by rule 262
++	INSTRUCTION	reduce by rule 262
++	VLIW	reduce by rule 262
++	SUPERSCALAR	reduce by rule 262
++	WITHTYPE	reduce by rule 262
++	FUN	reduce by rule 262
++	VAL	reduce by rule 262
++	INCLUDE	reduce by rule 262
++	OPEN	reduce by rule 262
++	OP	reduce by rule 262
++	LITTLE	reduce by rule 262
++	BIG	reduce by rule 262
++	PIPELINE	reduce by rule 262
++	LOWERCASE	reduce by rule 262
++	UPPERCASE	reduce by rule 262
++	VERBATIM	reduce by rule 262
++	RTL	reduce by rule 262
++	SPAN	reduce by rule 262
++	DELAYSLOT	reduce by rule 262
++	ALWAYS	reduce by rule 262
++	NEVER	reduce by rule 262
++	NONFIX	reduce by rule 262
++	INFIX	reduce by rule 262
++	INFIXR	reduce by rule 262
++	DEBUG	reduce by rule 262
++	ASM_COLON	reduce by rule 262
++	MC_COLON	reduce by rule 262
++	RTL_COLON	reduce by rule 262
++	DELAYSLOT_COLON	reduce by rule 262
++	NULLIFIED_COLON	reduce by rule 262
++	PADDING_COLON	reduce by rule 262
++	RESOURCE	reduce by rule 262
++	CPU	reduce by rule 262
++	LATENCY	reduce by rule 262
++	EXCEPTION	reduce by rule 262
++	ID	reduce by rule 262
++	SYMBOL	reduce by rule 262
++	WORD	reduce by rule 262
++	INT	reduce by rule 262
++	INTINF	reduce by rule 262
++	REAL	reduce by rule 262
++	STRING	reduce by rule 262
++	CHAR	reduce by rule 262
++	EOF	reduce by rule 262
++
++
++	.	error
++
++
++state 285:
++
++	aexp : ident2 .  (reduce by rule 242)
++
++	ARCHITECTURE	reduce by rule 242
++	END	reduce by rule 242
++	LOCAL	reduce by rule 242
++	IN	reduce by rule 242
++	OF	reduce by rule 242
++	DATATYPE	reduce by rule 242
++	TYPE	reduce by rule 242
++	EQ	reduce by rule 242
++	DOLLAR	reduce by rule 242
++	TIMES	reduce by rule 242
++	AND	reduce by rule 242
++	DEREF	reduce by rule 242
++	NOT	reduce by rule 242
++	LLBRACKET	reduce by rule 242
++	LHASHBRACKET	reduce by rule 242
++	LPAREN	reduce by rule 242
++	RPAREN	reduce by rule 242
++	LBRACKET	reduce by rule 242
++	RBRACKET	reduce by rule 242
++	LBRACE	reduce by rule 242
++	RBRACE	reduce by rule 242
++	SEMICOLON	reduce by rule 242
++	LDQUOTE	reduce by rule 242
++	RMETA	reduce by rule 242
++	CELLSET	reduce by rule 242
++	STORAGE	reduce by rule 242
++	LOCATIONS	reduce by rule 242
++	HASH	reduce by rule 242
++	COMMA	reduce by rule 242
++	COLON	reduce by rule 242
++	AT	reduce by rule 242
++	BAR	reduce by rule 242
++	DARROW	reduce by rule 242
++	THEN	reduce by rule 242
++	ELSE	reduce by rule 242
++	TRUE	reduce by rule 242
++	FALSE	reduce by rule 242
++	HANDLE	reduce by rule 242
++	LET	reduce by rule 242
++	STRUCTURE	reduce by rule 242
++	FUNCTOR	reduce by rule 242
++	SIGNATURE	reduce by rule 242
++	SHARING	reduce by rule 242
++	INSTRUCTION	reduce by rule 242
++	VLIW	reduce by rule 242
++	SUPERSCALAR	reduce by rule 242
++	WITHTYPE	reduce by rule 242
++	FUN	reduce by rule 242
++	VAL	reduce by rule 242
++	INCLUDE	reduce by rule 242
++	OPEN	reduce by rule 242
++	OP	reduce by rule 242
++	LITTLE	reduce by rule 242
++	BIG	reduce by rule 242
++	PIPELINE	reduce by rule 242
++	LOWERCASE	reduce by rule 242
++	UPPERCASE	reduce by rule 242
++	VERBATIM	reduce by rule 242
++	RTL	reduce by rule 242
++	SPAN	reduce by rule 242
++	DELAYSLOT	reduce by rule 242
++	ALWAYS	reduce by rule 242
++	NEVER	reduce by rule 242
++	NONFIX	reduce by rule 242
++	INFIX	reduce by rule 242
++	INFIXR	reduce by rule 242
++	DEBUG	reduce by rule 242
++	ASM_COLON	reduce by rule 242
++	MC_COLON	reduce by rule 242
++	RTL_COLON	reduce by rule 242
++	DELAYSLOT_COLON	reduce by rule 242
++	NULLIFIED_COLON	reduce by rule 242
++	PADDING_COLON	reduce by rule 242
++	RESOURCE	reduce by rule 242
++	CPU	reduce by rule 242
++	LATENCY	reduce by rule 242
++	EXCEPTION	reduce by rule 242
++	ID	reduce by rule 242
++	SYMBOL	reduce by rule 242
++	WORD	reduce by rule 242
++	INT	reduce by rule 242
++	INTINF	reduce by rule 242
++	REAL	reduce by rule 242
++	STRING	reduce by rule 242
++	CHAR	reduce by rule 242
++	EOF	reduce by rule 242
++
++
++	.	error
++
++
++state 286:
++
++	aexp : sym . CONCAT LBRACKET exps RBRACKET 
++	aexp : sym . CONCAT LBRACKET exps RBRACKET CONCAT sym 
++	aexp2 : sym .  (reduce by rule 263)
++
++	ARCHITECTURE	reduce by rule 263
++	END	reduce by rule 263
++	LOCAL	reduce by rule 263
++	IN	reduce by rule 263
++	OF	reduce by rule 263
++	DATATYPE	reduce by rule 263
++	TYPE	reduce by rule 263
++	EQ	reduce by rule 263
++	DOLLAR	reduce by rule 263
++	TIMES	reduce by rule 263
++	AND	reduce by rule 263
++	DEREF	reduce by rule 263
++	NOT	reduce by rule 263
++	CONCAT	shift 405
++	LLBRACKET	reduce by rule 263
++	LHASHBRACKET	reduce by rule 263
++	LPAREN	reduce by rule 263
++	RPAREN	reduce by rule 263
++	LBRACKET	reduce by rule 263
++	RBRACKET	reduce by rule 263
++	LBRACE	reduce by rule 263
++	RBRACE	reduce by rule 263
++	SEMICOLON	reduce by rule 263
++	LDQUOTE	reduce by rule 263
++	RMETA	reduce by rule 263
++	CELLSET	reduce by rule 263
++	STORAGE	reduce by rule 263
++	LOCATIONS	reduce by rule 263
++	HASH	reduce by rule 263
++	COMMA	reduce by rule 263
++	COLON	reduce by rule 263
++	AT	reduce by rule 263
++	BAR	reduce by rule 263
++	DARROW	reduce by rule 263
++	THEN	reduce by rule 263
++	ELSE	reduce by rule 263
++	TRUE	reduce by rule 263
++	FALSE	reduce by rule 263
++	HANDLE	reduce by rule 263
++	LET	reduce by rule 263
++	STRUCTURE	reduce by rule 263
++	FUNCTOR	reduce by rule 263
++	SIGNATURE	reduce by rule 263
++	SHARING	reduce by rule 263
++	INSTRUCTION	reduce by rule 263
++	VLIW	reduce by rule 263
++	SUPERSCALAR	reduce by rule 263
++	WITHTYPE	reduce by rule 263
++	FUN	reduce by rule 263
++	VAL	reduce by rule 263
++	INCLUDE	reduce by rule 263
++	OPEN	reduce by rule 263
++	OP	reduce by rule 263
++	LITTLE	reduce by rule 263
++	BIG	reduce by rule 263
++	PIPELINE	reduce by rule 263
++	LOWERCASE	reduce by rule 263
++	UPPERCASE	reduce by rule 263
++	VERBATIM	reduce by rule 263
++	RTL	reduce by rule 263
++	SPAN	reduce by rule 263
++	DELAYSLOT	reduce by rule 263
++	ALWAYS	reduce by rule 263
++	NEVER	reduce by rule 263
++	NONFIX	reduce by rule 263
++	INFIX	reduce by rule 263
++	INFIXR	reduce by rule 263
++	DEBUG	reduce by rule 263
++	ASM_COLON	reduce by rule 263
++	MC_COLON	reduce by rule 263
++	RTL_COLON	reduce by rule 263
++	DELAYSLOT_COLON	reduce by rule 263
++	NULLIFIED_COLON	reduce by rule 263
++	PADDING_COLON	reduce by rule 263
++	RESOURCE	reduce by rule 263
++	CPU	reduce by rule 263
++	LATENCY	reduce by rule 263
++	EXCEPTION	reduce by rule 263
++	ID	reduce by rule 263
++	SYMBOL	reduce by rule 263
++	WORD	reduce by rule 263
++	INT	reduce by rule 263
++	INTINF	reduce by rule 263
++	REAL	reduce by rule 263
++	STRING	reduce by rule 263
++	CHAR	reduce by rule 263
++	EOF	reduce by rule 263
++
++
++	.	error
++
++
++state 287:
++
++	aexp : OP . symb 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++
++	symb	goto 406
++
++	.	error
++
++
++state 288:
++
++	aexp : LET . decls IN expseq END 
++
++	ARCHITECTURE	shift 39
++	LOCAL	shift 38
++	IN	reduce by rule 1
++	DATATYPE	shift 37
++	TYPE	shift 36
++	STORAGE	shift 35
++	LOCATIONS	shift 34
++	STRUCTURE	shift 33
++	FUNCTOR	shift 32
++	SIGNATURE	shift 31
++	SHARING	shift 30
++	INSTRUCTION	shift 29
++	VLIW	shift 28
++	SUPERSCALAR	shift 27
++	FUN	shift 26
++	VAL	shift 25
++	INCLUDE	shift 24
++	OPEN	shift 23
++	LITTLE	shift 22
++	BIG	shift 21
++	PIPELINE	shift 20
++	LOWERCASE	shift 19
++	UPPERCASE	shift 18
++	VERBATIM	shift 17
++	RTL	shift 16
++	NONFIX	shift 15
++	INFIX	shift 14
++	INFIXR	shift 13
++	DEBUG	shift 12
++	RESOURCE	shift 11
++	CPU	shift 10
++	LATENCY	shift 9
++	EXCEPTION	shift 8
++
++	decls	goto 407
++	decl	goto 6
++	mldecl	goto 5
++	mymldecl	goto 4
++	mddecl	goto 3
++	mymddecl	goto 2
++	assemblycase	goto 1
++
++	.	error
++
++
++state 289:
++
++	exp : RAISE . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 408
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 290:
++
++	exp : IF . typedexp THEN typedexp ELSE exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 409
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 291:
++
++	aexp : HASH . id 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 410
++
++	.	error
++
++
++state 292:
++
++	exp : FN . clauses 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 413
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	clause	goto 412
++	clauses	goto 411
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 293:
++
++	asm_strings : LDQUOTE . asms RDQUOTE 
++	asm_strings : LDQUOTE . asms RDQUOTE asm_strings 
++
++	LMETA	shift 417
++	ASMTEXT	shift 416
++
++	asms	goto 415
++	asm	goto 414
++
++	.	error
++
++
++state 294:
++
++	aexp : LBRACE . labexps0 RBRACE 
++
++	RBRACE	reduce by rule 266
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 421
++	labexps0	goto 420
++	labexps	goto 419
++	labexp	goto 418
++
++	.	error
++
++
++state 295:
++
++	aexp : LBRACKET . exps RBRACKET 
++	aexp : LBRACKET . exps RBRACKET CONCAT sym 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	RBRACKET	reduce by rule 288
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 424
++	exps	goto 423
++	exps1	goto 422
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 296:
++
++	aexp : LPAREN . symb RPAREN 
++	aexp : LPAREN . RPAREN 
++	aexp : LPAREN . typedexp RPAREN 
++	aexp : LPAREN . exps2 RPAREN 
++	aexp : LPAREN . expseq2 RPAREN 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	RPAREN	shift 429
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 428
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 427
++	exps2	goto 426
++	expseq2	goto 425
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 297:
++
++	aexp : LHASHBRACKET . exps RBRACKET 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	RBRACKET	reduce by rule 288
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 424
++	exps	goto 430
++	exps1	goto 422
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 298:
++
++	aexp : LLBRACKET . rtlterms RRBRACKET 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	HASH	shift 435
++	ID	shift 49
++	SYMBOL	shift 48
++	STRING	shift 91
++
++	id	goto 69
++	sym	goto 434
++	symb	goto 67
++	string	goto 433
++	rtlterm	goto 432
++	rtlterms	goto 431
++
++	.	error
++
++
++state 299:
++
++	aexp : DOLLAR . id LBRACKET exp region RBRACKET 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 436
++
++	.	error
++
++
++state 300:
++
++	aexp2 : EQ .  (reduce by rule 264)
++
++	ARCHITECTURE	reduce by rule 264
++	END	reduce by rule 264
++	LOCAL	reduce by rule 264
++	IN	reduce by rule 264
++	OF	reduce by rule 264
++	DATATYPE	reduce by rule 264
++	TYPE	reduce by rule 264
++	EQ	reduce by rule 264
++	DOLLAR	reduce by rule 264
++	TIMES	reduce by rule 264
++	AND	reduce by rule 264
++	DEREF	reduce by rule 264
++	NOT	reduce by rule 264
++	LLBRACKET	reduce by rule 264
++	LHASHBRACKET	reduce by rule 264
++	LPAREN	reduce by rule 264
++	RPAREN	reduce by rule 264
++	LBRACKET	reduce by rule 264
++	RBRACKET	reduce by rule 264
++	LBRACE	reduce by rule 264
++	RBRACE	reduce by rule 264
++	SEMICOLON	reduce by rule 264
++	LDQUOTE	reduce by rule 264
++	RMETA	reduce by rule 264
++	CELLSET	reduce by rule 264
++	STORAGE	reduce by rule 264
++	LOCATIONS	reduce by rule 264
++	HASH	reduce by rule 264
++	COMMA	reduce by rule 264
++	COLON	reduce by rule 264
++	AT	reduce by rule 264
++	BAR	reduce by rule 264
++	DARROW	reduce by rule 264
++	THEN	reduce by rule 264
++	ELSE	reduce by rule 264
++	TRUE	reduce by rule 264
++	FALSE	reduce by rule 264
++	HANDLE	reduce by rule 264
++	LET	reduce by rule 264
++	STRUCTURE	reduce by rule 264
++	FUNCTOR	reduce by rule 264
++	SIGNATURE	reduce by rule 264
++	SHARING	reduce by rule 264
++	INSTRUCTION	reduce by rule 264
++	VLIW	reduce by rule 264
++	SUPERSCALAR	reduce by rule 264
++	WITHTYPE	reduce by rule 264
++	FUN	reduce by rule 264
++	VAL	reduce by rule 264
++	INCLUDE	reduce by rule 264
++	OPEN	reduce by rule 264
++	OP	reduce by rule 264
++	LITTLE	reduce by rule 264
++	BIG	reduce by rule 264
++	PIPELINE	reduce by rule 264
++	LOWERCASE	reduce by rule 264
++	UPPERCASE	reduce by rule 264
++	VERBATIM	reduce by rule 264
++	RTL	reduce by rule 264
++	SPAN	reduce by rule 264
++	DELAYSLOT	reduce by rule 264
++	ALWAYS	reduce by rule 264
++	NEVER	reduce by rule 264
++	NONFIX	reduce by rule 264
++	INFIX	reduce by rule 264
++	INFIXR	reduce by rule 264
++	DEBUG	reduce by rule 264
++	ASM_COLON	reduce by rule 264
++	MC_COLON	reduce by rule 264
++	RTL_COLON	reduce by rule 264
++	DELAYSLOT_COLON	reduce by rule 264
++	NULLIFIED_COLON	reduce by rule 264
++	PADDING_COLON	reduce by rule 264
++	RESOURCE	reduce by rule 264
++	CPU	reduce by rule 264
++	LATENCY	reduce by rule 264
++	EXCEPTION	reduce by rule 264
++	ID	reduce by rule 264
++	SYMBOL	reduce by rule 264
++	WORD	reduce by rule 264
++	INT	reduce by rule 264
++	INTINF	reduce by rule 264
++	REAL	reduce by rule 264
++	STRING	reduce by rule 264
++	CHAR	reduce by rule 264
++	EOF	reduce by rule 264
++
++
++	.	error
++
++
++state 301:
++
++	exp : CASE . typedexp OF clauses 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 437
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 302:
++
++	path : path DOT sym .  (reduce by rule 425)
++
++	ARCHITECTURE	reduce by rule 425
++	END	reduce by rule 425
++	LOCAL	reduce by rule 425
++	IN	reduce by rule 425
++	OF	reduce by rule 425
++	DATATYPE	reduce by rule 425
++	TYPE	reduce by rule 425
++	EQ	reduce by rule 425
++	DOLLAR	reduce by rule 425
++	TIMES	reduce by rule 425
++	AND	reduce by rule 425
++	DEREF	reduce by rule 425
++	NOT	reduce by rule 425
++	LLBRACKET	reduce by rule 425
++	LHASHBRACKET	reduce by rule 425
++	LPAREN	reduce by rule 425
++	RPAREN	reduce by rule 425
++	LBRACKET	reduce by rule 425
++	RBRACKET	reduce by rule 425
++	LBRACE	reduce by rule 425
++	RBRACE	reduce by rule 425
++	SEMICOLON	reduce by rule 425
++	LDQUOTE	reduce by rule 425
++	RMETA	reduce by rule 425
++	CELLSET	reduce by rule 425
++	STORAGE	reduce by rule 425
++	LOCATIONS	reduce by rule 425
++	HASH	reduce by rule 425
++	COMMA	reduce by rule 425
++	COLON	reduce by rule 425
++	DOT	reduce by rule 425
++	AT	reduce by rule 425
++	BAR	reduce by rule 425
++	DARROW	reduce by rule 425
++	THEN	reduce by rule 425
++	ELSE	reduce by rule 425
++	TRUE	reduce by rule 425
++	FALSE	reduce by rule 425
++	WILD	reduce by rule 425
++	HANDLE	reduce by rule 425
++	LET	reduce by rule 425
++	STRUCTURE	reduce by rule 425
++	FUNCTOR	reduce by rule 425
++	SIGNATURE	reduce by rule 425
++	WHERE	reduce by rule 425
++	SHARING	reduce by rule 425
++	INSTRUCTION	reduce by rule 425
++	VLIW	reduce by rule 425
++	SUPERSCALAR	reduce by rule 425
++	WITHTYPE	reduce by rule 425
++	FUN	reduce by rule 425
++	VAL	reduce by rule 425
++	INCLUDE	reduce by rule 425
++	OPEN	reduce by rule 425
++	OP	reduce by rule 425
++	LITTLE	reduce by rule 425
++	BIG	reduce by rule 425
++	PIPELINE	reduce by rule 425
++	LOWERCASE	reduce by rule 425
++	UPPERCASE	reduce by rule 425
++	VERBATIM	reduce by rule 425
++	RTL	reduce by rule 425
++	SPAN	reduce by rule 425
++	DELAYSLOT	reduce by rule 425
++	ALWAYS	reduce by rule 425
++	NEVER	reduce by rule 425
++	NONFIX	reduce by rule 425
++	INFIX	reduce by rule 425
++	INFIXR	reduce by rule 425
++	DEBUG	reduce by rule 425
++	ASM_COLON	reduce by rule 425
++	MC_COLON	reduce by rule 425
++	RTL_COLON	reduce by rule 425
++	DELAYSLOT_COLON	reduce by rule 425
++	NULLIFIED_COLON	reduce by rule 425
++	PADDING_COLON	reduce by rule 425
++	RESOURCE	reduce by rule 425
++	CPU	reduce by rule 425
++	LATENCY	reduce by rule 425
++	EXCEPTION	reduce by rule 425
++	ID	reduce by rule 425
++	SYMBOL	reduce by rule 425
++	WORD	reduce by rule 425
++	INT	reduce by rule 425
++	INTINF	reduce by rule 425
++	REAL	reduce by rule 425
++	STRING	reduce by rule 425
++	CHAR	reduce by rule 425
++	EOF	reduce by rule 425
++
++
++	.	error
++
++
++state 303:
++
++	mymldecl : RTL syms COLON ty .  (reduce by rule 64)
++	ty : ty . ARROW ty 
++
++	ARCHITECTURE	reduce by rule 64
++	END	reduce by rule 64
++	LOCAL	reduce by rule 64
++	IN	reduce by rule 64
++	DATATYPE	reduce by rule 64
++	TYPE	reduce by rule 64
++	RPAREN	reduce by rule 64
++	SEMICOLON	reduce by rule 64
++	STORAGE	reduce by rule 64
++	LOCATIONS	reduce by rule 64
++	ARROW	shift 388
++	STRUCTURE	reduce by rule 64
++	FUNCTOR	reduce by rule 64
++	SIGNATURE	reduce by rule 64
++	SHARING	reduce by rule 64
++	INSTRUCTION	reduce by rule 64
++	VLIW	reduce by rule 64
++	SUPERSCALAR	reduce by rule 64
++	FUN	reduce by rule 64
++	VAL	reduce by rule 64
++	INCLUDE	reduce by rule 64
++	OPEN	reduce by rule 64
++	LITTLE	reduce by rule 64
++	BIG	reduce by rule 64
++	PIPELINE	reduce by rule 64
++	LOWERCASE	reduce by rule 64
++	UPPERCASE	reduce by rule 64
++	VERBATIM	reduce by rule 64
++	RTL	reduce by rule 64
++	NONFIX	reduce by rule 64
++	INFIX	reduce by rule 64
++	INFIXR	reduce by rule 64
++	DEBUG	reduce by rule 64
++	RESOURCE	reduce by rule 64
++	CPU	reduce by rule 64
++	LATENCY	reduce by rule 64
++	EXCEPTION	reduce by rule 64
++	EOF	reduce by rule 64
++
++
++	.	error
++
++
++state 304:
++
++	apat : sym CONCAT LBRACKET . pats RBRACKET 
++	apat : sym CONCAT LBRACKET . pats RBRACKET CONCAT sym 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	RBRACKET	reduce by rule 321
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 194
++	pats	goto 438
++	pats1	goto 192
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 305:
++
++	asapat : id AS asapat .  (reduce by rule 320)
++
++	EQ	reduce by rule 320
++
++
++	.	error
++
++
++state 306:
++
++	apat : sym . CONCAT LBRACKET pats RBRACKET 
++	apat : sym . CONCAT LBRACKET pats RBRACKET CONCAT sym 
++
++	CONCAT	shift 184
++
++
++	.	error
++
++
++state 307:
++
++	sym : id .  (reduce by rule 416)
++	path : id . DOT sym 
++	asapat : id . AS asapat 
++
++	CONCAT	reduce by rule 416
++	DOT	shift 186
++	AS	shift 185
++
++
++	.	error
++
++
++state 308:
++
++	path : id DOT sym .  (reduce by rule 424)
++
++	ARCHITECTURE	reduce by rule 424
++	END	reduce by rule 424
++	LOCAL	reduce by rule 424
++	IN	reduce by rule 424
++	OF	reduce by rule 424
++	DATATYPE	reduce by rule 424
++	TYPE	reduce by rule 424
++	EQ	reduce by rule 424
++	DOLLAR	reduce by rule 424
++	TIMES	reduce by rule 424
++	AND	reduce by rule 424
++	DEREF	reduce by rule 424
++	NOT	reduce by rule 424
++	LLBRACKET	reduce by rule 424
++	LHASHBRACKET	reduce by rule 424
++	LPAREN	reduce by rule 424
++	RPAREN	reduce by rule 424
++	LBRACKET	reduce by rule 424
++	RBRACKET	reduce by rule 424
++	LBRACE	reduce by rule 424
++	RBRACE	reduce by rule 424
++	SEMICOLON	reduce by rule 424
++	LDQUOTE	reduce by rule 424
++	RMETA	reduce by rule 424
++	CELLSET	reduce by rule 424
++	STORAGE	reduce by rule 424
++	LOCATIONS	reduce by rule 424
++	HASH	reduce by rule 424
++	COMMA	reduce by rule 424
++	COLON	reduce by rule 424
++	DOT	reduce by rule 424
++	AT	reduce by rule 424
++	BAR	reduce by rule 424
++	DARROW	reduce by rule 424
++	THEN	reduce by rule 424
++	ELSE	reduce by rule 424
++	TRUE	reduce by rule 424
++	FALSE	reduce by rule 424
++	WILD	reduce by rule 424
++	HANDLE	reduce by rule 424
++	LET	reduce by rule 424
++	STRUCTURE	reduce by rule 424
++	FUNCTOR	reduce by rule 424
++	SIGNATURE	reduce by rule 424
++	WHERE	reduce by rule 424
++	SHARING	reduce by rule 424
++	INSTRUCTION	reduce by rule 424
++	VLIW	reduce by rule 424
++	SUPERSCALAR	reduce by rule 424
++	WITHTYPE	reduce by rule 424
++	FUN	reduce by rule 424
++	VAL	reduce by rule 424
++	INCLUDE	reduce by rule 424
++	OPEN	reduce by rule 424
++	OP	reduce by rule 424
++	LITTLE	reduce by rule 424
++	BIG	reduce by rule 424
++	PIPELINE	reduce by rule 424
++	LOWERCASE	reduce by rule 424
++	UPPERCASE	reduce by rule 424
++	VERBATIM	reduce by rule 424
++	RTL	reduce by rule 424
++	SPAN	reduce by rule 424
++	DELAYSLOT	reduce by rule 424
++	ALWAYS	reduce by rule 424
++	NEVER	reduce by rule 424
++	NONFIX	reduce by rule 424
++	INFIX	reduce by rule 424
++	INFIXR	reduce by rule 424
++	DEBUG	reduce by rule 424
++	ASM_COLON	reduce by rule 424
++	MC_COLON	reduce by rule 424
++	RTL_COLON	reduce by rule 424
++	DELAYSLOT_COLON	reduce by rule 424
++	NULLIFIED_COLON	reduce by rule 424
++	PADDING_COLON	reduce by rule 424
++	RESOURCE	reduce by rule 424
++	CPU	reduce by rule 424
++	LATENCY	reduce by rule 424
++	EXCEPTION	reduce by rule 424
++	ID	reduce by rule 424
++	SYMBOL	reduce by rule 424
++	WORD	reduce by rule 424
++	INT	reduce by rule 424
++	INTINF	reduce by rule 424
++	REAL	reduce by rule 424
++	STRING	reduce by rule 424
++	CHAR	reduce by rule 424
++	EOF	reduce by rule 424
++
++
++	.	error
++
++
++state 309:
++
++	mymldecl : RTL id LBRACE labpats0 . RBRACE EQ exp 
++
++	RBRACE	shift 439
++
++
++	.	error
++
++
++state 310:
++
++	apat : LBRACE labpats0 RBRACE .  (reduce by rule 302)
++
++	EQ	reduce by rule 302
++	TIMES	reduce by rule 302
++	AND	reduce by rule 302
++	DEREF	reduce by rule 302
++	NOT	reduce by rule 302
++	LHASHBRACKET	reduce by rule 302
++	LPAREN	reduce by rule 302
++	RPAREN	reduce by rule 302
++	LBRACKET	reduce by rule 302
++	RBRACKET	reduce by rule 302
++	LBRACE	reduce by rule 302
++	RBRACE	reduce by rule 302
++	CELLSET	reduce by rule 302
++	COMMA	reduce by rule 302
++	COLON	reduce by rule 302
++	BAR	reduce by rule 302
++	DARROW	reduce by rule 302
++	TRUE	reduce by rule 302
++	FALSE	reduce by rule 302
++	WILD	reduce by rule 302
++	WHERE	reduce by rule 302
++	OP	reduce by rule 302
++	ALWAYS	reduce by rule 302
++	NEVER	reduce by rule 302
++	EXCEPTION	reduce by rule 302
++	ID	reduce by rule 302
++	SYMBOL	reduce by rule 302
++	WORD	reduce by rule 302
++	INT	reduce by rule 302
++	INTINF	reduce by rule 302
++	REAL	reduce by rule 302
++	STRING	reduce by rule 302
++	CHAR	reduce by rule 302
++
++
++	.	error
++
++
++state 311:
++
++	labpats : labpat COMMA . DOTDOT 
++	labpats : labpat COMMA . labpats 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	DOTDOT	shift 441
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 191
++	symb	goto 67
++	labpat	goto 190
++	labpats	goto 440
++
++	.	error
++
++
++state 312:
++
++	labpat : sym AS . typedpat 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 442
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 313:
++
++	labpat : sym WHERE . typedexp 
++	labpat : sym WHERE . typedexp IN typedpat 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 443
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 314:
++
++	labpat : sym EQ . typedpat 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 444
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 315:
++
++	apat : LBRACKET pats RBRACKET .  (reduce by rule 294)
++	apat : LBRACKET pats RBRACKET . CONCAT sym 
++
++	EQ	reduce by rule 294
++	TIMES	reduce by rule 294
++	AND	reduce by rule 294
++	DEREF	reduce by rule 294
++	NOT	reduce by rule 294
++	CONCAT	shift 445
++	LHASHBRACKET	reduce by rule 294
++	LPAREN	reduce by rule 294
++	RPAREN	reduce by rule 294
++	LBRACKET	reduce by rule 294
++	RBRACKET	reduce by rule 294
++	LBRACE	reduce by rule 294
++	RBRACE	reduce by rule 294
++	CELLSET	reduce by rule 294
++	COMMA	reduce by rule 294
++	COLON	reduce by rule 294
++	BAR	reduce by rule 294
++	DARROW	reduce by rule 294
++	TRUE	reduce by rule 294
++	FALSE	reduce by rule 294
++	WILD	reduce by rule 294
++	WHERE	reduce by rule 294
++	OP	reduce by rule 294
++	ALWAYS	reduce by rule 294
++	NEVER	reduce by rule 294
++	EXCEPTION	reduce by rule 294
++	ID	reduce by rule 294
++	SYMBOL	reduce by rule 294
++	WORD	reduce by rule 294
++	INT	reduce by rule 294
++	INTINF	reduce by rule 294
++	REAL	reduce by rule 294
++	STRING	reduce by rule 294
++	CHAR	reduce by rule 294
++
++
++	.	error
++
++
++state 316:
++
++	typedpat : typedpat COLON . ty 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	ty	goto 446
++	aty	goto 263
++	appty	goto 262
++	tuplety	goto 261
++	tyvar	goto 260
++
++	.	error
++
++
++state 317:
++
++	pats1 : typedpat COMMA . pats1 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 194
++	pats1	goto 447
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 318:
++
++	apat : LPAREN andpats2 RPAREN .  (reduce by rule 298)
++
++	EQ	reduce by rule 298
++	TIMES	reduce by rule 298
++	AND	reduce by rule 298
++	DEREF	reduce by rule 298
++	NOT	reduce by rule 298
++	LHASHBRACKET	reduce by rule 298
++	LPAREN	reduce by rule 298
++	RPAREN	reduce by rule 298
++	LBRACKET	reduce by rule 298
++	RBRACKET	reduce by rule 298
++	LBRACE	reduce by rule 298
++	RBRACE	reduce by rule 298
++	CELLSET	reduce by rule 298
++	COMMA	reduce by rule 298
++	COLON	reduce by rule 298
++	BAR	reduce by rule 298
++	DARROW	reduce by rule 298
++	TRUE	reduce by rule 298
++	FALSE	reduce by rule 298
++	WILD	reduce by rule 298
++	WHERE	reduce by rule 298
++	OP	reduce by rule 298
++	ALWAYS	reduce by rule 298
++	NEVER	reduce by rule 298
++	EXCEPTION	reduce by rule 298
++	ID	reduce by rule 298
++	SYMBOL	reduce by rule 298
++	WORD	reduce by rule 298
++	INT	reduce by rule 298
++	INTINF	reduce by rule 298
++	REAL	reduce by rule 298
++	STRING	reduce by rule 298
++	CHAR	reduce by rule 298
++
++
++	.	error
++
++
++state 319:
++
++	apat : LPAREN orpats2 RPAREN .  (reduce by rule 297)
++
++	EQ	reduce by rule 297
++	TIMES	reduce by rule 297
++	AND	reduce by rule 297
++	DEREF	reduce by rule 297
++	NOT	reduce by rule 297
++	LHASHBRACKET	reduce by rule 297
++	LPAREN	reduce by rule 297
++	RPAREN	reduce by rule 297
++	LBRACKET	reduce by rule 297
++	RBRACKET	reduce by rule 297
++	LBRACE	reduce by rule 297
++	RBRACE	reduce by rule 297
++	CELLSET	reduce by rule 297
++	COMMA	reduce by rule 297
++	COLON	reduce by rule 297
++	BAR	reduce by rule 297
++	DARROW	reduce by rule 297
++	TRUE	reduce by rule 297
++	FALSE	reduce by rule 297
++	WILD	reduce by rule 297
++	WHERE	reduce by rule 297
++	OP	reduce by rule 297
++	ALWAYS	reduce by rule 297
++	NEVER	reduce by rule 297
++	EXCEPTION	reduce by rule 297
++	ID	reduce by rule 297
++	SYMBOL	reduce by rule 297
++	WORD	reduce by rule 297
++	INT	reduce by rule 297
++	INTINF	reduce by rule 297
++	REAL	reduce by rule 297
++	STRING	reduce by rule 297
++	CHAR	reduce by rule 297
++
++
++	.	error
++
++
++state 320:
++
++	apat : LPAREN pats2 RPAREN .  (reduce by rule 296)
++
++	EQ	reduce by rule 296
++	TIMES	reduce by rule 296
++	AND	reduce by rule 296
++	DEREF	reduce by rule 296
++	NOT	reduce by rule 296
++	LHASHBRACKET	reduce by rule 296
++	LPAREN	reduce by rule 296
++	RPAREN	reduce by rule 296
++	LBRACKET	reduce by rule 296
++	RBRACKET	reduce by rule 296
++	LBRACE	reduce by rule 296
++	RBRACE	reduce by rule 296
++	CELLSET	reduce by rule 296
++	COMMA	reduce by rule 296
++	COLON	reduce by rule 296
++	BAR	reduce by rule 296
++	DARROW	reduce by rule 296
++	TRUE	reduce by rule 296
++	FALSE	reduce by rule 296
++	WILD	reduce by rule 296
++	WHERE	reduce by rule 296
++	OP	reduce by rule 296
++	ALWAYS	reduce by rule 296
++	NEVER	reduce by rule 296
++	EXCEPTION	reduce by rule 296
++	ID	reduce by rule 296
++	SYMBOL	reduce by rule 296
++	WORD	reduce by rule 296
++	INT	reduce by rule 296
++	INTINF	reduce by rule 296
++	REAL	reduce by rule 296
++	STRING	reduce by rule 296
++	CHAR	reduce by rule 296
++
++
++	.	error
++
++
++state 321:
++
++	apat : LPAREN typedpat WHERE . typedexp RPAREN 
++	apat : LPAREN typedpat WHERE . typedexp IN typedpat RPAREN 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 448
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 322:
++
++	orpats2 : typedpat BAR . typedpat 
++	orpats2 : typedpat BAR . orpats2 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 450
++	orpats2	goto 449
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 323:
++
++	pats2 : typedpat COMMA . pats1 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 194
++	pats1	goto 451
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 324:
++
++	apat : LPAREN typedpat RPAREN .  (reduce by rule 299)
++
++	EQ	reduce by rule 299
++	TIMES	reduce by rule 299
++	AND	reduce by rule 299
++	DEREF	reduce by rule 299
++	NOT	reduce by rule 299
++	LHASHBRACKET	reduce by rule 299
++	LPAREN	reduce by rule 299
++	RPAREN	reduce by rule 299
++	LBRACKET	reduce by rule 299
++	RBRACKET	reduce by rule 299
++	LBRACE	reduce by rule 299
++	RBRACE	reduce by rule 299
++	CELLSET	reduce by rule 299
++	COMMA	reduce by rule 299
++	COLON	reduce by rule 299
++	BAR	reduce by rule 299
++	DARROW	reduce by rule 299
++	TRUE	reduce by rule 299
++	FALSE	reduce by rule 299
++	WILD	reduce by rule 299
++	WHERE	reduce by rule 299
++	OP	reduce by rule 299
++	ALWAYS	reduce by rule 299
++	NEVER	reduce by rule 299
++	EXCEPTION	reduce by rule 299
++	ID	reduce by rule 299
++	SYMBOL	reduce by rule 299
++	WORD	reduce by rule 299
++	INT	reduce by rule 299
++	INTINF	reduce by rule 299
++	REAL	reduce by rule 299
++	STRING	reduce by rule 299
++	CHAR	reduce by rule 299
++
++
++	.	error
++
++
++state 325:
++
++	andpats2 : typedpat AND . typedpat 
++	andpats2 : typedpat AND . andpats2 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 453
++	andpats2	goto 452
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 326:
++
++	apat : LHASHBRACKET pats RBRACKET .  (reduce by rule 295)
++
++	EQ	reduce by rule 295
++	TIMES	reduce by rule 295
++	AND	reduce by rule 295
++	DEREF	reduce by rule 295
++	NOT	reduce by rule 295
++	LHASHBRACKET	reduce by rule 295
++	LPAREN	reduce by rule 295
++	RPAREN	reduce by rule 295
++	LBRACKET	reduce by rule 295
++	RBRACKET	reduce by rule 295
++	LBRACE	reduce by rule 295
++	RBRACE	reduce by rule 295
++	CELLSET	reduce by rule 295
++	COMMA	reduce by rule 295
++	COLON	reduce by rule 295
++	BAR	reduce by rule 295
++	DARROW	reduce by rule 295
++	TRUE	reduce by rule 295
++	FALSE	reduce by rule 295
++	WILD	reduce by rule 295
++	WHERE	reduce by rule 295
++	OP	reduce by rule 295
++	ALWAYS	reduce by rule 295
++	NEVER	reduce by rule 295
++	EXCEPTION	reduce by rule 295
++	ID	reduce by rule 295
++	SYMBOL	reduce by rule 295
++	WORD	reduce by rule 295
++	INT	reduce by rule 295
++	INTINF	reduce by rule 295
++	REAL	reduce by rule 295
++	STRING	reduce by rule 295
++	CHAR	reduce by rule 295
++
++
++	.	error
++
++
++state 327:
++
++	pipelineclauses : pipelineclause BAR pipelineclauses .  (reduce by rule 43)
++
++	ARCHITECTURE	reduce by rule 43
++	END	reduce by rule 43
++	LOCAL	reduce by rule 43
++	IN	reduce by rule 43
++	DATATYPE	reduce by rule 43
++	TYPE	reduce by rule 43
++	AND	reduce by rule 43
++	RPAREN	reduce by rule 43
++	SEMICOLON	reduce by rule 43
++	STORAGE	reduce by rule 43
++	LOCATIONS	reduce by rule 43
++	STRUCTURE	reduce by rule 43
++	FUNCTOR	reduce by rule 43
++	SIGNATURE	reduce by rule 43
++	SHARING	reduce by rule 43
++	INSTRUCTION	reduce by rule 43
++	VLIW	reduce by rule 43
++	SUPERSCALAR	reduce by rule 43
++	FUN	reduce by rule 43
++	VAL	reduce by rule 43
++	INCLUDE	reduce by rule 43
++	OPEN	reduce by rule 43
++	LITTLE	reduce by rule 43
++	BIG	reduce by rule 43
++	PIPELINE	reduce by rule 43
++	LOWERCASE	reduce by rule 43
++	UPPERCASE	reduce by rule 43
++	VERBATIM	reduce by rule 43
++	RTL	reduce by rule 43
++	NONFIX	reduce by rule 43
++	INFIX	reduce by rule 43
++	INFIXR	reduce by rule 43
++	DEBUG	reduce by rule 43
++	RESOURCE	reduce by rule 43
++	CPU	reduce by rule 43
++	LATENCY	reduce by rule 43
++	EXCEPTION	reduce by rule 43
++	EOF	reduce by rule 43
++
++
++	.	error
++
++
++state 328:
++
++	pipelinebinds : pipelinebind AND pipelinebinds .  (reduce by rule 40)
++
++	ARCHITECTURE	reduce by rule 40
++	END	reduce by rule 40
++	LOCAL	reduce by rule 40
++	IN	reduce by rule 40
++	DATATYPE	reduce by rule 40
++	TYPE	reduce by rule 40
++	RPAREN	reduce by rule 40
++	SEMICOLON	reduce by rule 40
++	STORAGE	reduce by rule 40
++	LOCATIONS	reduce by rule 40
++	STRUCTURE	reduce by rule 40
++	FUNCTOR	reduce by rule 40
++	SIGNATURE	reduce by rule 40
++	SHARING	reduce by rule 40
++	INSTRUCTION	reduce by rule 40
++	VLIW	reduce by rule 40
++	SUPERSCALAR	reduce by rule 40
++	FUN	reduce by rule 40
++	VAL	reduce by rule 40
++	INCLUDE	reduce by rule 40
++	OPEN	reduce by rule 40
++	LITTLE	reduce by rule 40
++	BIG	reduce by rule 40
++	PIPELINE	reduce by rule 40
++	LOWERCASE	reduce by rule 40
++	UPPERCASE	reduce by rule 40
++	VERBATIM	reduce by rule 40
++	RTL	reduce by rule 40
++	NONFIX	reduce by rule 40
++	INFIX	reduce by rule 40
++	INFIXR	reduce by rule 40
++	DEBUG	reduce by rule 40
++	RESOURCE	reduce by rule 40
++	CPU	reduce by rule 40
++	LATENCY	reduce by rule 40
++	EXCEPTION	reduce by rule 40
++	EOF	reduce by rule 40
++
++
++	.	error
++
++
++state 329:
++
++	pipelineclause : id pat EQ . LBRACKET cycles0 RBRACKET 
++
++	LBRACKET	shift 454
++
++
++	.	error
++
++
++state 330:
++
++	sigexp : sigexp WHERE sigsubs .  (reduce by rule 92)
++
++	ARCHITECTURE	reduce by rule 92
++	END	reduce by rule 92
++	LOCAL	reduce by rule 92
++	IN	reduce by rule 92
++	DATATYPE	reduce by rule 92
++	TYPE	reduce by rule 92
++	EQ	reduce by rule 92
++	RPAREN	reduce by rule 92
++	SEMICOLON	reduce by rule 92
++	STORAGE	reduce by rule 92
++	LOCATIONS	reduce by rule 92
++	STRUCTURE	reduce by rule 92
++	FUNCTOR	reduce by rule 92
++	SIGNATURE	reduce by rule 92
++	WHERE	reduce by rule 92
++	SHARING	reduce by rule 92
++	INSTRUCTION	reduce by rule 92
++	VLIW	reduce by rule 92
++	SUPERSCALAR	reduce by rule 92
++	FUN	reduce by rule 92
++	VAL	reduce by rule 92
++	INCLUDE	reduce by rule 92
++	OPEN	reduce by rule 92
++	LITTLE	reduce by rule 92
++	BIG	reduce by rule 92
++	PIPELINE	reduce by rule 92
++	LOWERCASE	reduce by rule 92
++	UPPERCASE	reduce by rule 92
++	VERBATIM	reduce by rule 92
++	RTL	reduce by rule 92
++	NONFIX	reduce by rule 92
++	INFIX	reduce by rule 92
++	INFIXR	reduce by rule 92
++	DEBUG	reduce by rule 92
++	RESOURCE	reduce by rule 92
++	CPU	reduce by rule 92
++	LATENCY	reduce by rule 92
++	EXCEPTION	reduce by rule 92
++	EOF	reduce by rule 92
++
++
++	.	error
++
++
++state 331:
++
++	sigsubs : sigsub .  (reduce by rule 95)
++	sigsubs : sigsub . AND sigsubs 
++
++	ARCHITECTURE	reduce by rule 95
++	END	reduce by rule 95
++	LOCAL	reduce by rule 95
++	IN	reduce by rule 95
++	DATATYPE	reduce by rule 95
++	TYPE	reduce by rule 95
++	EQ	reduce by rule 95
++	AND	shift 455
++	RPAREN	reduce by rule 95
++	SEMICOLON	reduce by rule 95
++	STORAGE	reduce by rule 95
++	LOCATIONS	reduce by rule 95
++	STRUCTURE	reduce by rule 95
++	FUNCTOR	reduce by rule 95
++	SIGNATURE	reduce by rule 95
++	WHERE	reduce by rule 95
++	SHARING	reduce by rule 95
++	INSTRUCTION	reduce by rule 95
++	VLIW	reduce by rule 95
++	SUPERSCALAR	reduce by rule 95
++	FUN	reduce by rule 95
++	VAL	reduce by rule 95
++	INCLUDE	reduce by rule 95
++	OPEN	reduce by rule 95
++	LITTLE	reduce by rule 95
++	BIG	reduce by rule 95
++	PIPELINE	reduce by rule 95
++	LOWERCASE	reduce by rule 95
++	UPPERCASE	reduce by rule 95
++	VERBATIM	reduce by rule 95
++	RTL	reduce by rule 95
++	NONFIX	reduce by rule 95
++	INFIX	reduce by rule 95
++	INFIXR	reduce by rule 95
++	DEBUG	reduce by rule 95
++	RESOURCE	reduce by rule 95
++	CPU	reduce by rule 95
++	LATENCY	reduce by rule 95
++	EXCEPTION	reduce by rule 95
++	EOF	reduce by rule 95
++
++
++	.	error
++
++
++state 332:
++
++	sigsub : ident . EQ structexp 
++
++	EQ	shift 456
++
++
++	.	error
++
++
++state 333:
++
++	sigsub : TYPE . ident EQ ty 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 114
++	ident	goto 457
++	ident2	goto 112
++	path	goto 85
++
++	.	error
++
++
++state 334:
++
++	sigexp : SIG decls END .  (reduce by rule 91)
++
++	ARCHITECTURE	reduce by rule 91
++	END	reduce by rule 91
++	LOCAL	reduce by rule 91
++	IN	reduce by rule 91
++	DATATYPE	reduce by rule 91
++	TYPE	reduce by rule 91
++	EQ	reduce by rule 91
++	RPAREN	reduce by rule 91
++	SEMICOLON	reduce by rule 91
++	STORAGE	reduce by rule 91
++	LOCATIONS	reduce by rule 91
++	STRUCTURE	reduce by rule 91
++	FUNCTOR	reduce by rule 91
++	SIGNATURE	reduce by rule 91
++	WHERE	reduce by rule 91
++	SHARING	reduce by rule 91
++	INSTRUCTION	reduce by rule 91
++	VLIW	reduce by rule 91
++	SUPERSCALAR	reduce by rule 91
++	FUN	reduce by rule 91
++	VAL	reduce by rule 91
++	INCLUDE	reduce by rule 91
++	OPEN	reduce by rule 91
++	LITTLE	reduce by rule 91
++	BIG	reduce by rule 91
++	PIPELINE	reduce by rule 91
++	LOWERCASE	reduce by rule 91
++	UPPERCASE	reduce by rule 91
++	VERBATIM	reduce by rule 91
++	RTL	reduce by rule 91
++	NONFIX	reduce by rule 91
++	INFIX	reduce by rule 91
++	INFIXR	reduce by rule 91
++	DEBUG	reduce by rule 91
++	RESOURCE	reduce by rule 91
++	CPU	reduce by rule 91
++	LATENCY	reduce by rule 91
++	EXCEPTION	reduce by rule 91
++	EOF	reduce by rule 91
++
++
++	.	error
++
++
++state 335:
++
++	valbinds : valbind AND valbinds .  (reduce by rule 232)
++
++	ARCHITECTURE	reduce by rule 232
++	END	reduce by rule 232
++	LOCAL	reduce by rule 232
++	IN	reduce by rule 232
++	DATATYPE	reduce by rule 232
++	TYPE	reduce by rule 232
++	RPAREN	reduce by rule 232
++	SEMICOLON	reduce by rule 232
++	STORAGE	reduce by rule 232
++	LOCATIONS	reduce by rule 232
++	STRUCTURE	reduce by rule 232
++	FUNCTOR	reduce by rule 232
++	SIGNATURE	reduce by rule 232
++	SHARING	reduce by rule 232
++	INSTRUCTION	reduce by rule 232
++	VLIW	reduce by rule 232
++	SUPERSCALAR	reduce by rule 232
++	FUN	reduce by rule 232
++	VAL	reduce by rule 232
++	INCLUDE	reduce by rule 232
++	OPEN	reduce by rule 232
++	LITTLE	reduce by rule 232
++	BIG	reduce by rule 232
++	PIPELINE	reduce by rule 232
++	LOWERCASE	reduce by rule 232
++	UPPERCASE	reduce by rule 232
++	VERBATIM	reduce by rule 232
++	RTL	reduce by rule 232
++	NONFIX	reduce by rule 232
++	INFIX	reduce by rule 232
++	INFIXR	reduce by rule 232
++	DEBUG	reduce by rule 232
++	RESOURCE	reduce by rule 232
++	CPU	reduce by rule 232
++	LATENCY	reduce by rule 232
++	EXCEPTION	reduce by rule 232
++	EOF	reduce by rule 232
++
++
++	.	error
++
++
++state 336:
++
++	typedexp : typedexp . COLON ty 
++	valbind : pat EQ typedexp .  (reduce by rule 233)
++
++	ARCHITECTURE	reduce by rule 233
++	END	reduce by rule 233
++	LOCAL	reduce by rule 233
++	IN	reduce by rule 233
++	DATATYPE	reduce by rule 233
++	TYPE	reduce by rule 233
++	AND	reduce by rule 233
++	RPAREN	reduce by rule 233
++	SEMICOLON	reduce by rule 233
++	STORAGE	reduce by rule 233
++	LOCATIONS	reduce by rule 233
++	COLON	shift 458
++	STRUCTURE	reduce by rule 233
++	FUNCTOR	reduce by rule 233
++	SIGNATURE	reduce by rule 233
++	SHARING	reduce by rule 233
++	INSTRUCTION	reduce by rule 233
++	VLIW	reduce by rule 233
++	SUPERSCALAR	reduce by rule 233
++	FUN	reduce by rule 233
++	VAL	reduce by rule 233
++	INCLUDE	reduce by rule 233
++	OPEN	reduce by rule 233
++	LITTLE	reduce by rule 233
++	BIG	reduce by rule 233
++	PIPELINE	reduce by rule 233
++	LOWERCASE	reduce by rule 233
++	UPPERCASE	reduce by rule 233
++	VERBATIM	reduce by rule 233
++	RTL	reduce by rule 233
++	NONFIX	reduce by rule 233
++	INFIX	reduce by rule 233
++	INFIXR	reduce by rule 233
++	DEBUG	reduce by rule 233
++	RESOURCE	reduce by rule 233
++	CPU	reduce by rule 233
++	LATENCY	reduce by rule 233
++	EXCEPTION	reduce by rule 233
++	EOF	reduce by rule 233
++
++
++	.	error
++
++
++state 337:
++
++	exp : exp . HANDLE clauses 
++	typedexp : exp .  (reduce by rule 280)
++
++	ARCHITECTURE	reduce by rule 280
++	END	reduce by rule 280
++	LOCAL	reduce by rule 280
++	IN	reduce by rule 280
++	OF	reduce by rule 280
++	DATATYPE	reduce by rule 280
++	TYPE	reduce by rule 280
++	AND	reduce by rule 280
++	RPAREN	reduce by rule 280
++	RBRACKET	reduce by rule 280
++	RBRACE	reduce by rule 280
++	SEMICOLON	reduce by rule 280
++	STORAGE	reduce by rule 280
++	LOCATIONS	reduce by rule 280
++	COMMA	reduce by rule 280
++	COLON	reduce by rule 280
++	BAR	reduce by rule 280
++	DARROW	reduce by rule 280
++	THEN	reduce by rule 280
++	ELSE	reduce by rule 280
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 280
++	FUNCTOR	reduce by rule 280
++	SIGNATURE	reduce by rule 280
++	SHARING	reduce by rule 280
++	INSTRUCTION	reduce by rule 280
++	VLIW	reduce by rule 280
++	SUPERSCALAR	reduce by rule 280
++	FUN	reduce by rule 280
++	VAL	reduce by rule 280
++	INCLUDE	reduce by rule 280
++	OPEN	reduce by rule 280
++	LITTLE	reduce by rule 280
++	BIG	reduce by rule 280
++	PIPELINE	reduce by rule 280
++	LOWERCASE	reduce by rule 280
++	UPPERCASE	reduce by rule 280
++	VERBATIM	reduce by rule 280
++	RTL	reduce by rule 280
++	NONFIX	reduce by rule 280
++	INFIX	reduce by rule 280
++	INFIXR	reduce by rule 280
++	DEBUG	reduce by rule 280
++	RESOURCE	reduce by rule 280
++	CPU	reduce by rule 280
++	LATENCY	reduce by rule 280
++	EXCEPTION	reduce by rule 280
++	EOF	reduce by rule 280
++
++
++	.	error
++
++
++state 338:
++
++	mymldecl : VAL syms COLON ty .  (reduce by rule 66)
++	ty : ty . ARROW ty 
++
++	ARCHITECTURE	reduce by rule 66
++	END	reduce by rule 66
++	LOCAL	reduce by rule 66
++	IN	reduce by rule 66
++	DATATYPE	reduce by rule 66
++	TYPE	reduce by rule 66
++	RPAREN	reduce by rule 66
++	SEMICOLON	reduce by rule 66
++	STORAGE	reduce by rule 66
++	LOCATIONS	reduce by rule 66
++	ARROW	shift 388
++	STRUCTURE	reduce by rule 66
++	FUNCTOR	reduce by rule 66
++	SIGNATURE	reduce by rule 66
++	SHARING	reduce by rule 66
++	INSTRUCTION	reduce by rule 66
++	VLIW	reduce by rule 66
++	SUPERSCALAR	reduce by rule 66
++	FUN	reduce by rule 66
++	VAL	reduce by rule 66
++	INCLUDE	reduce by rule 66
++	OPEN	reduce by rule 66
++	LITTLE	reduce by rule 66
++	BIG	reduce by rule 66
++	PIPELINE	reduce by rule 66
++	LOWERCASE	reduce by rule 66
++	UPPERCASE	reduce by rule 66
++	VERBATIM	reduce by rule 66
++	RTL	reduce by rule 66
++	NONFIX	reduce by rule 66
++	INFIX	reduce by rule 66
++	INFIXR	reduce by rule 66
++	DEBUG	reduce by rule 66
++	RESOURCE	reduce by rule 66
++	CPU	reduce by rule 66
++	LATENCY	reduce by rule 66
++	EXCEPTION	reduce by rule 66
++	EOF	reduce by rule 66
++
++
++	.	error
++
++
++state 339:
++
++	pat : id AS pat .  (reduce by rule 316)
++
++	EQ	reduce by rule 316
++	AND	reduce by rule 316
++	RPAREN	reduce by rule 316
++	RBRACKET	reduce by rule 316
++	RBRACE	reduce by rule 316
++	COMMA	reduce by rule 316
++	COLON	reduce by rule 316
++	BAR	reduce by rule 316
++	DARROW	reduce by rule 316
++	WHERE	reduce by rule 316
++	EXCEPTION	reduce by rule 316
++
++
++	.	error
++
++
++state 340:
++
++	funbinds : funbind AND funbinds .  (reduce by rule 229)
++
++	ARCHITECTURE	reduce by rule 229
++	END	reduce by rule 229
++	LOCAL	reduce by rule 229
++	IN	reduce by rule 229
++	DATATYPE	reduce by rule 229
++	TYPE	reduce by rule 229
++	RPAREN	reduce by rule 229
++	SEMICOLON	reduce by rule 229
++	STORAGE	reduce by rule 229
++	LOCATIONS	reduce by rule 229
++	STRUCTURE	reduce by rule 229
++	FUNCTOR	reduce by rule 229
++	SIGNATURE	reduce by rule 229
++	SHARING	reduce by rule 229
++	INSTRUCTION	reduce by rule 229
++	VLIW	reduce by rule 229
++	SUPERSCALAR	reduce by rule 229
++	FUN	reduce by rule 229
++	VAL	reduce by rule 229
++	INCLUDE	reduce by rule 229
++	OPEN	reduce by rule 229
++	LITTLE	reduce by rule 229
++	BIG	reduce by rule 229
++	PIPELINE	reduce by rule 229
++	LOWERCASE	reduce by rule 229
++	UPPERCASE	reduce by rule 229
++	VERBATIM	reduce by rule 229
++	RTL	reduce by rule 229
++	NONFIX	reduce by rule 229
++	INFIX	reduce by rule 229
++	INFIXR	reduce by rule 229
++	DEBUG	reduce by rule 229
++	RESOURCE	reduce by rule 229
++	CPU	reduce by rule 229
++	LATENCY	reduce by rule 229
++	EXCEPTION	reduce by rule 229
++	EOF	reduce by rule 229
++
++
++	.	error
++
++
++state 341:
++
++	funclauses : funclause BAR funclauses .  (reduce by rule 349)
++
++	ARCHITECTURE	reduce by rule 349
++	END	reduce by rule 349
++	LOCAL	reduce by rule 349
++	IN	reduce by rule 349
++	DATATYPE	reduce by rule 349
++	TYPE	reduce by rule 349
++	AND	reduce by rule 349
++	RPAREN	reduce by rule 349
++	SEMICOLON	reduce by rule 349
++	STORAGE	reduce by rule 349
++	LOCATIONS	reduce by rule 349
++	STRUCTURE	reduce by rule 349
++	FUNCTOR	reduce by rule 349
++	SIGNATURE	reduce by rule 349
++	SHARING	reduce by rule 349
++	INSTRUCTION	reduce by rule 349
++	VLIW	reduce by rule 349
++	SUPERSCALAR	reduce by rule 349
++	FUN	reduce by rule 349
++	VAL	reduce by rule 349
++	INCLUDE	reduce by rule 349
++	OPEN	reduce by rule 349
++	LITTLE	reduce by rule 349
++	BIG	reduce by rule 349
++	PIPELINE	reduce by rule 349
++	LOWERCASE	reduce by rule 349
++	UPPERCASE	reduce by rule 349
++	VERBATIM	reduce by rule 349
++	RTL	reduce by rule 349
++	NONFIX	reduce by rule 349
++	INFIX	reduce by rule 349
++	INFIXR	reduce by rule 349
++	DEBUG	reduce by rule 349
++	RESOURCE	reduce by rule 349
++	CPU	reduce by rule 349
++	LATENCY	reduce by rule 349
++	EXCEPTION	reduce by rule 349
++	EOF	reduce by rule 349
++
++
++	.	error
++
++
++state 342:
++
++	funclause : apppat funguard return_ty . cont EQ typedexp 
++
++	EQ	reduce by rule 337
++	EXCEPTION	shift 460
++
++	cont	goto 459
++
++	.	error
++
++
++state 343:
++
++	return_ty : COLON . ty 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	ty	goto 461
++	aty	goto 263
++	appty	goto 262
++	tuplety	goto 261
++	tyvar	goto 260
++
++	.	error
++
++
++state 344:
++
++	funguard : WHERE LPAREN . typedexp RPAREN 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 462
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 345:
++
++	consbinds : consbind BAR consbinds .  (reduce by rule 143)
++
++	ARCHITECTURE	reduce by rule 143
++	END	reduce by rule 143
++	LOCAL	reduce by rule 143
++	IN	reduce by rule 143
++	DATATYPE	reduce by rule 143
++	TYPE	reduce by rule 143
++	AND	reduce by rule 143
++	RPAREN	reduce by rule 143
++	SEMICOLON	reduce by rule 143
++	STORAGE	reduce by rule 143
++	LOCATIONS	reduce by rule 143
++	STRUCTURE	reduce by rule 143
++	FUNCTOR	reduce by rule 143
++	SIGNATURE	reduce by rule 143
++	SHARING	reduce by rule 143
++	INSTRUCTION	reduce by rule 143
++	VLIW	reduce by rule 143
++	SUPERSCALAR	reduce by rule 143
++	WITHTYPE	reduce by rule 143
++	FUN	reduce by rule 143
++	VAL	reduce by rule 143
++	INCLUDE	reduce by rule 143
++	OPEN	reduce by rule 143
++	LITTLE	reduce by rule 143
++	BIG	reduce by rule 143
++	PIPELINE	reduce by rule 143
++	LOWERCASE	reduce by rule 143
++	UPPERCASE	reduce by rule 143
++	VERBATIM	reduce by rule 143
++	RTL	reduce by rule 143
++	NONFIX	reduce by rule 143
++	INFIX	reduce by rule 143
++	INFIXR	reduce by rule 143
++	DEBUG	reduce by rule 143
++	RESOURCE	reduce by rule 143
++	CPU	reduce by rule 143
++	LATENCY	reduce by rule 143
++	EXCEPTION	reduce by rule 143
++	EOF	reduce by rule 143
++
++
++	.	error
++
++
++state 346:
++
++	consassembly : asm_strings .  (reduce by rule 184)
++
++	ARCHITECTURE	reduce by rule 184
++	END	reduce by rule 184
++	LOCAL	reduce by rule 184
++	IN	reduce by rule 184
++	DATATYPE	reduce by rule 184
++	TYPE	reduce by rule 184
++	AND	reduce by rule 184
++	LPAREN	reduce by rule 184
++	RPAREN	reduce by rule 184
++	SEMICOLON	reduce by rule 184
++	CELLSET	reduce by rule 184
++	STORAGE	reduce by rule 184
++	LOCATIONS	reduce by rule 184
++	BAR	reduce by rule 184
++	STRUCTURE	reduce by rule 184
++	FUNCTOR	reduce by rule 184
++	SIGNATURE	reduce by rule 184
++	SHARING	reduce by rule 184
++	INSTRUCTION	reduce by rule 184
++	VLIW	reduce by rule 184
++	SUPERSCALAR	reduce by rule 184
++	WITHTYPE	reduce by rule 184
++	FUN	reduce by rule 184
++	VAL	reduce by rule 184
++	INCLUDE	reduce by rule 184
++	OPEN	reduce by rule 184
++	LITTLE	reduce by rule 184
++	BIG	reduce by rule 184
++	PIPELINE	reduce by rule 184
++	LOWERCASE	reduce by rule 184
++	UPPERCASE	reduce by rule 184
++	VERBATIM	reduce by rule 184
++	RTL	reduce by rule 184
++	SPAN	reduce by rule 184
++	DELAYSLOT	reduce by rule 184
++	NONFIX	reduce by rule 184
++	INFIX	reduce by rule 184
++	INFIXR	reduce by rule 184
++	DEBUG	reduce by rule 184
++	MC_COLON	reduce by rule 184
++	RTL_COLON	reduce by rule 184
++	DELAYSLOT_COLON	reduce by rule 184
++	NULLIFIED_COLON	reduce by rule 184
++	PADDING_COLON	reduce by rule 184
++	RESOURCE	reduce by rule 184
++	CPU	reduce by rule 184
++	LATENCY	reduce by rule 184
++	EXCEPTION	reduce by rule 184
++	ID	reduce by rule 184
++	SYMBOL	reduce by rule 184
++	WORD	reduce by rule 184
++	INT	reduce by rule 184
++	EOF	reduce by rule 184
++
++
++	.	error
++
++
++state 347:
++
++	consbind : sym of_ty consassembly . consencoding rtl nop nullified delayslot delayslotcandidate sdi latency pipeline 
++
++	ARCHITECTURE	reduce by rule 176
++	END	reduce by rule 176
++	LOCAL	reduce by rule 176
++	IN	reduce by rule 176
++	DATATYPE	reduce by rule 176
++	TYPE	reduce by rule 176
++	AND	reduce by rule 176
++	LPAREN	shift 469
++	RPAREN	reduce by rule 176
++	SEMICOLON	reduce by rule 176
++	CELLSET	shift 50
++	STORAGE	reduce by rule 176
++	LOCATIONS	reduce by rule 176
++	BAR	reduce by rule 176
++	STRUCTURE	reduce by rule 176
++	FUNCTOR	reduce by rule 176
++	SIGNATURE	reduce by rule 176
++	SHARING	reduce by rule 176
++	INSTRUCTION	reduce by rule 176
++	VLIW	reduce by rule 176
++	SUPERSCALAR	reduce by rule 176
++	WITHTYPE	reduce by rule 176
++	FUN	reduce by rule 176
++	VAL	reduce by rule 176
++	INCLUDE	reduce by rule 176
++	OPEN	reduce by rule 176
++	LITTLE	reduce by rule 176
++	BIG	reduce by rule 176
++	PIPELINE	reduce by rule 176
++	LOWERCASE	reduce by rule 176
++	UPPERCASE	reduce by rule 176
++	VERBATIM	reduce by rule 176
++	RTL	reduce by rule 176
++	SPAN	reduce by rule 176
++	DELAYSLOT	reduce by rule 176
++	NONFIX	reduce by rule 176
++	INFIX	reduce by rule 176
++	INFIXR	reduce by rule 176
++	DEBUG	reduce by rule 176
++	MC_COLON	shift 468
++	RTL_COLON	reduce by rule 176
++	DELAYSLOT_COLON	reduce by rule 176
++	NULLIFIED_COLON	reduce by rule 176
++	PADDING_COLON	reduce by rule 176
++	RESOURCE	reduce by rule 176
++	CPU	reduce by rule 176
++	LATENCY	reduce by rule 176
++	EXCEPTION	reduce by rule 176
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	EOF	reduce by rule 176
++
++	id	goto 467
++	word	goto 466
++	unsignedint	goto 465
++	int	goto 464
++	consencoding	goto 463
++
++	.	error
++
++
++state 348:
++
++	consassembly : string .  (reduce by rule 183)
++
++	ARCHITECTURE	reduce by rule 183
++	END	reduce by rule 183
++	LOCAL	reduce by rule 183
++	IN	reduce by rule 183
++	DATATYPE	reduce by rule 183
++	TYPE	reduce by rule 183
++	AND	reduce by rule 183
++	LPAREN	reduce by rule 183
++	RPAREN	reduce by rule 183
++	SEMICOLON	reduce by rule 183
++	CELLSET	reduce by rule 183
++	STORAGE	reduce by rule 183
++	LOCATIONS	reduce by rule 183
++	BAR	reduce by rule 183
++	STRUCTURE	reduce by rule 183
++	FUNCTOR	reduce by rule 183
++	SIGNATURE	reduce by rule 183
++	SHARING	reduce by rule 183
++	INSTRUCTION	reduce by rule 183
++	VLIW	reduce by rule 183
++	SUPERSCALAR	reduce by rule 183
++	WITHTYPE	reduce by rule 183
++	FUN	reduce by rule 183
++	VAL	reduce by rule 183
++	INCLUDE	reduce by rule 183
++	OPEN	reduce by rule 183
++	LITTLE	reduce by rule 183
++	BIG	reduce by rule 183
++	PIPELINE	reduce by rule 183
++	LOWERCASE	reduce by rule 183
++	UPPERCASE	reduce by rule 183
++	VERBATIM	reduce by rule 183
++	RTL	reduce by rule 183
++	SPAN	reduce by rule 183
++	DELAYSLOT	reduce by rule 183
++	NONFIX	reduce by rule 183
++	INFIX	reduce by rule 183
++	INFIXR	reduce by rule 183
++	DEBUG	reduce by rule 183
++	MC_COLON	reduce by rule 183
++	RTL_COLON	reduce by rule 183
++	DELAYSLOT_COLON	reduce by rule 183
++	NULLIFIED_COLON	reduce by rule 183
++	PADDING_COLON	reduce by rule 183
++	RESOURCE	reduce by rule 183
++	CPU	reduce by rule 183
++	LATENCY	reduce by rule 183
++	EXCEPTION	reduce by rule 183
++	ID	reduce by rule 183
++	SYMBOL	reduce by rule 183
++	WORD	reduce by rule 183
++	INT	reduce by rule 183
++	EOF	reduce by rule 183
++
++
++	.	error
++
++
++state 349:
++
++	consassembly : ASM_COLON . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 470
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 350:
++
++	of_ty : OF ty .  (reduce by rule 152)
++	ty : ty . ARROW ty 
++
++	ARCHITECTURE	reduce by rule 152
++	END	reduce by rule 152
++	LOCAL	reduce by rule 152
++	IN	reduce by rule 152
++	DATATYPE	reduce by rule 152
++	TYPE	reduce by rule 152
++	AND	reduce by rule 152
++	LPAREN	reduce by rule 152
++	RPAREN	reduce by rule 152
++	SEMICOLON	reduce by rule 152
++	LDQUOTE	reduce by rule 152
++	CELLSET	reduce by rule 152
++	STORAGE	reduce by rule 152
++	LOCATIONS	reduce by rule 152
++	BAR	reduce by rule 152
++	ARROW	shift 388
++	STRUCTURE	reduce by rule 152
++	FUNCTOR	reduce by rule 152
++	SIGNATURE	reduce by rule 152
++	SHARING	reduce by rule 152
++	INSTRUCTION	reduce by rule 152
++	VLIW	reduce by rule 152
++	SUPERSCALAR	reduce by rule 152
++	WITHTYPE	reduce by rule 152
++	FUN	reduce by rule 152
++	VAL	reduce by rule 152
++	INCLUDE	reduce by rule 152
++	OPEN	reduce by rule 152
++	LITTLE	reduce by rule 152
++	BIG	reduce by rule 152
++	PIPELINE	reduce by rule 152
++	LOWERCASE	reduce by rule 152
++	UPPERCASE	reduce by rule 152
++	VERBATIM	reduce by rule 152
++	RTL	reduce by rule 152
++	SPAN	reduce by rule 152
++	DELAYSLOT	reduce by rule 152
++	NONFIX	reduce by rule 152
++	INFIX	reduce by rule 152
++	INFIXR	reduce by rule 152
++	DEBUG	reduce by rule 152
++	ASM_COLON	reduce by rule 152
++	MC_COLON	reduce by rule 152
++	RTL_COLON	reduce by rule 152
++	DELAYSLOT_COLON	reduce by rule 152
++	NULLIFIED_COLON	reduce by rule 152
++	PADDING_COLON	reduce by rule 152
++	RESOURCE	reduce by rule 152
++	CPU	reduce by rule 152
++	LATENCY	reduce by rule 152
++	EXCEPTION	reduce by rule 152
++	ID	reduce by rule 152
++	SYMBOL	reduce by rule 152
++	WORD	reduce by rule 152
++	INT	reduce by rule 152
++	STRING	reduce by rule 152
++	EOF	reduce by rule 152
++
++
++	.	error
++
++
++state 351:
++
++	formatbinds : formatbind BAR . formatbinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 225
++	formatbind	goto 223
++	formatbinds	goto 471
++
++	.	error
++
++
++state 352:
++
++	mymddecl : INSTRUCTION FORMATS int BITS . formatbinds 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 225
++	formatbind	goto 223
++	formatbinds	goto 472
++
++	.	error
++
++
++state 353:
++
++	formatbind : id opt_of . LBRACE fields RBRACE opt_exp 
++
++	LBRACE	shift 473
++
++
++	.	error
++
++
++state 354:
++
++	opt_of : OF .  (reduce by rule 193)
++
++	LBRACE	reduce by rule 193
++
++
++	.	error
++
++
++state 355:
++
++	sharingdecls : sharingdecl AND sharingdecls .  (reduce by rule 100)
++
++	ARCHITECTURE	reduce by rule 100
++	END	reduce by rule 100
++	LOCAL	reduce by rule 100
++	IN	reduce by rule 100
++	DATATYPE	reduce by rule 100
++	TYPE	reduce by rule 100
++	RPAREN	reduce by rule 100
++	SEMICOLON	reduce by rule 100
++	STORAGE	reduce by rule 100
++	LOCATIONS	reduce by rule 100
++	STRUCTURE	reduce by rule 100
++	FUNCTOR	reduce by rule 100
++	SIGNATURE	reduce by rule 100
++	SHARING	reduce by rule 100
++	INSTRUCTION	reduce by rule 100
++	VLIW	reduce by rule 100
++	SUPERSCALAR	reduce by rule 100
++	FUN	reduce by rule 100
++	VAL	reduce by rule 100
++	INCLUDE	reduce by rule 100
++	OPEN	reduce by rule 100
++	LITTLE	reduce by rule 100
++	BIG	reduce by rule 100
++	PIPELINE	reduce by rule 100
++	LOWERCASE	reduce by rule 100
++	UPPERCASE	reduce by rule 100
++	VERBATIM	reduce by rule 100
++	RTL	reduce by rule 100
++	NONFIX	reduce by rule 100
++	INFIX	reduce by rule 100
++	INFIXR	reduce by rule 100
++	DEBUG	reduce by rule 100
++	RESOURCE	reduce by rule 100
++	CPU	reduce by rule 100
++	LATENCY	reduce by rule 100
++	EXCEPTION	reduce by rule 100
++	EOF	reduce by rule 100
++
++
++	.	error
++
++
++state 356:
++
++	sharelist : ident EQ sharelist .  (reduce by rule 104)
++
++	ARCHITECTURE	reduce by rule 104
++	END	reduce by rule 104
++	LOCAL	reduce by rule 104
++	IN	reduce by rule 104
++	DATATYPE	reduce by rule 104
++	TYPE	reduce by rule 104
++	AND	reduce by rule 104
++	RPAREN	reduce by rule 104
++	SEMICOLON	reduce by rule 104
++	STORAGE	reduce by rule 104
++	LOCATIONS	reduce by rule 104
++	STRUCTURE	reduce by rule 104
++	FUNCTOR	reduce by rule 104
++	SIGNATURE	reduce by rule 104
++	SHARING	reduce by rule 104
++	INSTRUCTION	reduce by rule 104
++	VLIW	reduce by rule 104
++	SUPERSCALAR	reduce by rule 104
++	FUN	reduce by rule 104
++	VAL	reduce by rule 104
++	INCLUDE	reduce by rule 104
++	OPEN	reduce by rule 104
++	LITTLE	reduce by rule 104
++	BIG	reduce by rule 104
++	PIPELINE	reduce by rule 104
++	LOWERCASE	reduce by rule 104
++	UPPERCASE	reduce by rule 104
++	VERBATIM	reduce by rule 104
++	RTL	reduce by rule 104
++	NONFIX	reduce by rule 104
++	INFIX	reduce by rule 104
++	INFIXR	reduce by rule 104
++	DEBUG	reduce by rule 104
++	RESOURCE	reduce by rule 104
++	CPU	reduce by rule 104
++	LATENCY	reduce by rule 104
++	EXCEPTION	reduce by rule 104
++	EOF	reduce by rule 104
++
++
++	.	error
++
++
++state 357:
++
++	sharelist : ident . EQ ident 
++	sharelist : ident EQ ident .  (reduce by rule 103)
++	sharelist : ident . EQ sharelist 
++
++	ARCHITECTURE	reduce by rule 103
++	END	reduce by rule 103
++	LOCAL	reduce by rule 103
++	IN	reduce by rule 103
++	DATATYPE	reduce by rule 103
++	TYPE	reduce by rule 103
++	EQ	shift 227
++	AND	reduce by rule 103
++	RPAREN	reduce by rule 103
++	SEMICOLON	reduce by rule 103
++	STORAGE	reduce by rule 103
++	LOCATIONS	reduce by rule 103
++	STRUCTURE	reduce by rule 103
++	FUNCTOR	reduce by rule 103
++	SIGNATURE	reduce by rule 103
++	SHARING	reduce by rule 103
++	INSTRUCTION	reduce by rule 103
++	VLIW	reduce by rule 103
++	SUPERSCALAR	reduce by rule 103
++	FUN	reduce by rule 103
++	VAL	reduce by rule 103
++	INCLUDE	reduce by rule 103
++	OPEN	reduce by rule 103
++	LITTLE	reduce by rule 103
++	BIG	reduce by rule 103
++	PIPELINE	reduce by rule 103
++	LOWERCASE	reduce by rule 103
++	UPPERCASE	reduce by rule 103
++	VERBATIM	reduce by rule 103
++	RTL	reduce by rule 103
++	NONFIX	reduce by rule 103
++	INFIX	reduce by rule 103
++	INFIXR	reduce by rule 103
++	DEBUG	reduce by rule 103
++	RESOURCE	reduce by rule 103
++	CPU	reduce by rule 103
++	LATENCY	reduce by rule 103
++	EXCEPTION	reduce by rule 103
++	EOF	reduce by rule 103
++
++
++	.	error
++
++
++state 358:
++
++	mymldecl : SIGNATURE id EQ sigexp .  (reduce by rule 72)
++	sigexp : sigexp . WHERE sigsubs 
++
++	ARCHITECTURE	reduce by rule 72
++	END	reduce by rule 72
++	LOCAL	reduce by rule 72
++	IN	reduce by rule 72
++	DATATYPE	reduce by rule 72
++	TYPE	reduce by rule 72
++	RPAREN	reduce by rule 72
++	SEMICOLON	reduce by rule 72
++	STORAGE	reduce by rule 72
++	LOCATIONS	reduce by rule 72
++	STRUCTURE	reduce by rule 72
++	FUNCTOR	reduce by rule 72
++	SIGNATURE	reduce by rule 72
++	WHERE	shift 206
++	SHARING	reduce by rule 72
++	INSTRUCTION	reduce by rule 72
++	VLIW	reduce by rule 72
++	SUPERSCALAR	reduce by rule 72
++	FUN	reduce by rule 72
++	VAL	reduce by rule 72
++	INCLUDE	reduce by rule 72
++	OPEN	reduce by rule 72
++	LITTLE	reduce by rule 72
++	BIG	reduce by rule 72
++	PIPELINE	reduce by rule 72
++	LOWERCASE	reduce by rule 72
++	UPPERCASE	reduce by rule 72
++	VERBATIM	reduce by rule 72
++	RTL	reduce by rule 72
++	NONFIX	reduce by rule 72
++	INFIX	reduce by rule 72
++	INFIXR	reduce by rule 72
++	DEBUG	reduce by rule 72
++	RESOURCE	reduce by rule 72
++	CPU	reduce by rule 72
++	LATENCY	reduce by rule 72
++	EXCEPTION	reduce by rule 72
++	EOF	reduce by rule 72
++
++
++	.	error
++
++
++state 359:
++
++	mymldecl : FUNCTOR id LPAREN functorarg . RPAREN EQ structexp 
++	mymldecl : FUNCTOR id LPAREN functorarg . RPAREN sigcon EQ structexp 
++
++	RPAREN	shift 474
++
++
++	.	error
++
++
++state 360:
++
++	functorarg : scopeddecls .  (reduce by rule 88)
++
++	RPAREN	reduce by rule 88
++
++
++	.	error
++
++
++state 361:
++
++	functorarg : id . sigcon 
++
++	COLON	shift 476
++	COLONGREATER	shift 233
++
++	sigcon	goto 475
++
++	.	error
++
++
++state 362:
++
++	structexp : ident .  (reduce by rule 123)
++
++	ARCHITECTURE	reduce by rule 123
++	END	reduce by rule 123
++	LOCAL	reduce by rule 123
++	IN	reduce by rule 123
++	DATATYPE	reduce by rule 123
++	TYPE	reduce by rule 123
++	EQ	reduce by rule 123
++	AND	reduce by rule 123
++	LPAREN	reduce by rule 123
++	RPAREN	reduce by rule 123
++	SEMICOLON	reduce by rule 123
++	STORAGE	reduce by rule 123
++	LOCATIONS	reduce by rule 123
++	STRUCTURE	reduce by rule 123
++	FUNCTOR	reduce by rule 123
++	SIGNATURE	reduce by rule 123
++	WHERE	reduce by rule 123
++	SHARING	reduce by rule 123
++	INSTRUCTION	reduce by rule 123
++	VLIW	reduce by rule 123
++	SUPERSCALAR	reduce by rule 123
++	FUN	reduce by rule 123
++	VAL	reduce by rule 123
++	INCLUDE	reduce by rule 123
++	OPEN	reduce by rule 123
++	LITTLE	reduce by rule 123
++	BIG	reduce by rule 123
++	PIPELINE	reduce by rule 123
++	LOWERCASE	reduce by rule 123
++	UPPERCASE	reduce by rule 123
++	VERBATIM	reduce by rule 123
++	RTL	reduce by rule 123
++	NONFIX	reduce by rule 123
++	INFIX	reduce by rule 123
++	INFIXR	reduce by rule 123
++	DEBUG	reduce by rule 123
++	RESOURCE	reduce by rule 123
++	CPU	reduce by rule 123
++	LATENCY	reduce by rule 123
++	EXCEPTION	reduce by rule 123
++	EOF	reduce by rule 123
++
++
++	.	error
++
++
++state 363:
++
++	structexp : structexp . LPAREN scopeddecls RPAREN 
++	structexp : structexp . LPAREN ident RPAREN 
++	mymldecl : FUNCTOR id EQ structexp .  (reduce by rule 75)
++
++	ARCHITECTURE	reduce by rule 75
++	END	reduce by rule 75
++	LOCAL	reduce by rule 75
++	IN	reduce by rule 75
++	DATATYPE	reduce by rule 75
++	TYPE	reduce by rule 75
++	LPAREN	shift 477
++	RPAREN	reduce by rule 75
++	SEMICOLON	reduce by rule 75
++	STORAGE	reduce by rule 75
++	LOCATIONS	reduce by rule 75
++	STRUCTURE	reduce by rule 75
++	FUNCTOR	reduce by rule 75
++	SIGNATURE	reduce by rule 75
++	SHARING	reduce by rule 75
++	INSTRUCTION	reduce by rule 75
++	VLIW	reduce by rule 75
++	SUPERSCALAR	reduce by rule 75
++	FUN	reduce by rule 75
++	VAL	reduce by rule 75
++	INCLUDE	reduce by rule 75
++	OPEN	reduce by rule 75
++	LITTLE	reduce by rule 75
++	BIG	reduce by rule 75
++	PIPELINE	reduce by rule 75
++	LOWERCASE	reduce by rule 75
++	UPPERCASE	reduce by rule 75
++	VERBATIM	reduce by rule 75
++	RTL	reduce by rule 75
++	NONFIX	reduce by rule 75
++	INFIX	reduce by rule 75
++	INFIXR	reduce by rule 75
++	DEBUG	reduce by rule 75
++	RESOURCE	reduce by rule 75
++	CPU	reduce by rule 75
++	LATENCY	reduce by rule 75
++	EXCEPTION	reduce by rule 75
++	EOF	reduce by rule 75
++
++
++	.	error
++
++
++state 364:
++
++	structexp : STRUCT . scopeddecls END 
++
++	ARCHITECTURE	reduce by rule 107
++	END	reduce by rule 107
++	LOCAL	reduce by rule 107
++	DATATYPE	reduce by rule 107
++	TYPE	reduce by rule 107
++	STORAGE	reduce by rule 107
++	LOCATIONS	reduce by rule 107
++	STRUCTURE	reduce by rule 107
++	FUNCTOR	reduce by rule 107
++	SIGNATURE	reduce by rule 107
++	SHARING	reduce by rule 107
++	INSTRUCTION	reduce by rule 107
++	VLIW	reduce by rule 107
++	SUPERSCALAR	reduce by rule 107
++	FUN	reduce by rule 107
++	VAL	reduce by rule 107
++	INCLUDE	reduce by rule 107
++	OPEN	reduce by rule 107
++	LITTLE	reduce by rule 107
++	BIG	reduce by rule 107
++	PIPELINE	reduce by rule 107
++	LOWERCASE	reduce by rule 107
++	UPPERCASE	reduce by rule 107
++	VERBATIM	reduce by rule 107
++	RTL	reduce by rule 107
++	NONFIX	reduce by rule 107
++	INFIX	reduce by rule 107
++	INFIXR	reduce by rule 107
++	DEBUG	reduce by rule 107
++	RESOURCE	reduce by rule 107
++	CPU	reduce by rule 107
++	LATENCY	reduce by rule 107
++	EXCEPTION	reduce by rule 107
++
++	scopeddecls	goto 478
++	newScope	goto 164
++
++	.	error
++
++
++state 365:
++
++	mymldecl : STRUCTURE id sigcon EQ . structexp 
++
++	CELLSET	shift 50
++	STRUCT	shift 364
++	ID	shift 49
++	SYMBOL	shift 48
++
++	structexp	goto 479
++	id	goto 114
++	ident	goto 362
++	ident2	goto 112
++	path	goto 85
++
++	.	error
++
++
++state 366:
++
++	sigcon : COLONGREATER sigexp .  (reduce by rule 94)
++	sigexp : sigexp . WHERE sigsubs 
++
++	EQ	reduce by rule 94
++	RPAREN	reduce by rule 94
++	WHERE	shift 206
++
++
++	.	error
++
++
++state 367:
++
++	sigcon : COLON sigexp .  (reduce by rule 93)
++	mymldecl : STRUCTURE id COLON sigexp .  (reduce by rule 71)
++	sigexp : sigexp . WHERE sigsubs 
++
++	ARCHITECTURE	reduce by rule 71
++	END	reduce by rule 71
++	LOCAL	reduce by rule 71
++	IN	reduce by rule 71
++	DATATYPE	reduce by rule 71
++	TYPE	reduce by rule 71
++	EQ	reduce by rule 93
++	RPAREN	reduce by rule 71
++	SEMICOLON	reduce by rule 71
++	STORAGE	reduce by rule 71
++	LOCATIONS	reduce by rule 71
++	STRUCTURE	reduce by rule 71
++	FUNCTOR	reduce by rule 71
++	SIGNATURE	reduce by rule 71
++	WHERE	shift 206
++	SHARING	reduce by rule 71
++	INSTRUCTION	reduce by rule 71
++	VLIW	reduce by rule 71
++	SUPERSCALAR	reduce by rule 71
++	FUN	reduce by rule 71
++	VAL	reduce by rule 71
++	INCLUDE	reduce by rule 71
++	OPEN	reduce by rule 71
++	LITTLE	reduce by rule 71
++	BIG	reduce by rule 71
++	PIPELINE	reduce by rule 71
++	LOWERCASE	reduce by rule 71
++	UPPERCASE	reduce by rule 71
++	VERBATIM	reduce by rule 71
++	RTL	reduce by rule 71
++	NONFIX	reduce by rule 71
++	INFIX	reduce by rule 71
++	INFIXR	reduce by rule 71
++	DEBUG	reduce by rule 71
++	RESOURCE	reduce by rule 71
++	CPU	reduce by rule 71
++	LATENCY	reduce by rule 71
++	EXCEPTION	reduce by rule 71
++	EOF	reduce by rule 71
++
++
++	.	error
++
++
++state 368:
++
++	structexp : structexp . LPAREN scopeddecls RPAREN 
++	structexp : structexp . LPAREN ident RPAREN 
++	mymldecl : STRUCTURE id EQ structexp .  (reduce by rule 69)
++
++	ARCHITECTURE	reduce by rule 69
++	END	reduce by rule 69
++	LOCAL	reduce by rule 69
++	IN	reduce by rule 69
++	DATATYPE	reduce by rule 69
++	TYPE	reduce by rule 69
++	LPAREN	shift 477
++	RPAREN	reduce by rule 69
++	SEMICOLON	reduce by rule 69
++	STORAGE	reduce by rule 69
++	LOCATIONS	reduce by rule 69
++	STRUCTURE	reduce by rule 69
++	FUNCTOR	reduce by rule 69
++	SIGNATURE	reduce by rule 69
++	SHARING	reduce by rule 69
++	INSTRUCTION	reduce by rule 69
++	VLIW	reduce by rule 69
++	SUPERSCALAR	reduce by rule 69
++	FUN	reduce by rule 69
++	VAL	reduce by rule 69
++	INCLUDE	reduce by rule 69
++	OPEN	reduce by rule 69
++	LITTLE	reduce by rule 69
++	BIG	reduce by rule 69
++	PIPELINE	reduce by rule 69
++	LOWERCASE	reduce by rule 69
++	UPPERCASE	reduce by rule 69
++	VERBATIM	reduce by rule 69
++	RTL	reduce by rule 69
++	NONFIX	reduce by rule 69
++	INFIX	reduce by rule 69
++	INFIXR	reduce by rule 69
++	DEBUG	reduce by rule 69
++	RESOURCE	reduce by rule 69
++	CPU	reduce by rule 69
++	LATENCY	reduce by rule 69
++	EXCEPTION	reduce by rule 69
++	EOF	reduce by rule 69
++
++
++	.	error
++
++
++state 369:
++
++	locbinds : locbind AND locbinds .  (reduce by rule 393)
++
++	ARCHITECTURE	reduce by rule 393
++	END	reduce by rule 393
++	LOCAL	reduce by rule 393
++	IN	reduce by rule 393
++	DATATYPE	reduce by rule 393
++	TYPE	reduce by rule 393
++	RPAREN	reduce by rule 393
++	SEMICOLON	reduce by rule 393
++	STORAGE	reduce by rule 393
++	LOCATIONS	reduce by rule 393
++	STRUCTURE	reduce by rule 393
++	FUNCTOR	reduce by rule 393
++	SIGNATURE	reduce by rule 393
++	SHARING	reduce by rule 393
++	INSTRUCTION	reduce by rule 393
++	VLIW	reduce by rule 393
++	SUPERSCALAR	reduce by rule 393
++	FUN	reduce by rule 393
++	VAL	reduce by rule 393
++	INCLUDE	reduce by rule 393
++	OPEN	reduce by rule 393
++	LITTLE	reduce by rule 393
++	BIG	reduce by rule 393
++	PIPELINE	reduce by rule 393
++	LOWERCASE	reduce by rule 393
++	UPPERCASE	reduce by rule 393
++	VERBATIM	reduce by rule 393
++	RTL	reduce by rule 393
++	NONFIX	reduce by rule 393
++	INFIX	reduce by rule 393
++	INFIXR	reduce by rule 393
++	DEBUG	reduce by rule 393
++	RESOURCE	reduce by rule 393
++	CPU	reduce by rule 393
++	LATENCY	reduce by rule 393
++	EXCEPTION	reduce by rule 393
++	EOF	reduce by rule 393
++
++
++	.	error
++
++
++state 370:
++
++	locbind : id pat EQ . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 480
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 371:
++
++	exp : exp . HANDLE clauses 
++	locbind : id EQ exp .  (reduce by rule 390)
++
++	ARCHITECTURE	reduce by rule 390
++	END	reduce by rule 390
++	LOCAL	reduce by rule 390
++	IN	reduce by rule 390
++	DATATYPE	reduce by rule 390
++	TYPE	reduce by rule 390
++	AND	reduce by rule 390
++	RPAREN	reduce by rule 390
++	SEMICOLON	reduce by rule 390
++	STORAGE	reduce by rule 390
++	LOCATIONS	reduce by rule 390
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 390
++	FUNCTOR	reduce by rule 390
++	SIGNATURE	reduce by rule 390
++	SHARING	reduce by rule 390
++	INSTRUCTION	reduce by rule 390
++	VLIW	reduce by rule 390
++	SUPERSCALAR	reduce by rule 390
++	FUN	reduce by rule 390
++	VAL	reduce by rule 390
++	INCLUDE	reduce by rule 390
++	OPEN	reduce by rule 390
++	LITTLE	reduce by rule 390
++	BIG	reduce by rule 390
++	PIPELINE	reduce by rule 390
++	LOWERCASE	reduce by rule 390
++	UPPERCASE	reduce by rule 390
++	VERBATIM	reduce by rule 390
++	RTL	reduce by rule 390
++	NONFIX	reduce by rule 390
++	INFIX	reduce by rule 390
++	INFIXR	reduce by rule 390
++	DEBUG	reduce by rule 390
++	RESOURCE	reduce by rule 390
++	CPU	reduce by rule 390
++	LATENCY	reduce by rule 390
++	EXCEPTION	reduce by rule 390
++	EOF	reduce by rule 390
++
++
++	.	error
++
++
++state 372:
++
++	storagedecls : storagedecl BAR storagedecls .  (reduce by rule 382)
++
++	ARCHITECTURE	reduce by rule 382
++	END	reduce by rule 382
++	LOCAL	reduce by rule 382
++	IN	reduce by rule 382
++	DATATYPE	reduce by rule 382
++	TYPE	reduce by rule 382
++	RPAREN	reduce by rule 382
++	SEMICOLON	reduce by rule 382
++	STORAGE	reduce by rule 382
++	LOCATIONS	reduce by rule 382
++	STRUCTURE	reduce by rule 382
++	FUNCTOR	reduce by rule 382
++	SIGNATURE	reduce by rule 382
++	SHARING	reduce by rule 382
++	INSTRUCTION	reduce by rule 382
++	VLIW	reduce by rule 382
++	SUPERSCALAR	reduce by rule 382
++	FUN	reduce by rule 382
++	VAL	reduce by rule 382
++	INCLUDE	reduce by rule 382
++	OPEN	reduce by rule 382
++	LITTLE	reduce by rule 382
++	BIG	reduce by rule 382
++	PIPELINE	reduce by rule 382
++	LOWERCASE	reduce by rule 382
++	UPPERCASE	reduce by rule 382
++	VERBATIM	reduce by rule 382
++	RTL	reduce by rule 382
++	NONFIX	reduce by rule 382
++	INFIX	reduce by rule 382
++	INFIXR	reduce by rule 382
++	DEBUG	reduce by rule 382
++	RESOURCE	reduce by rule 382
++	CPU	reduce by rule 382
++	LATENCY	reduce by rule 382
++	EXCEPTION	reduce by rule 382
++	EOF	reduce by rule 382
++
++
++	.	error
++
++
++state 373:
++
++	storagedecl : id EQ DOLLAR . id LBRACKET cellcount RBRACKET bitSize aliasing defaults printcell 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 481
++
++	.	error
++
++
++state 374:
++
++	typebind : tyvarseq tid EQ . ty 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	ty	goto 482
++	aty	goto 263
++	appty	goto 262
++	tuplety	goto 261
++	tyvar	goto 260
++
++	.	error
++
++
++state 375:
++
++	typebind : tyvarseq . tid EQ ty 
++
++	CELLSET	shift 50
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 243
++	tid	goto 483
++	tid2	goto 241
++
++	.	error
++
++
++state 376:
++
++	typebinds : typebind AND typebinds .  (reduce by rule 197)
++
++	ARCHITECTURE	reduce by rule 197
++	END	reduce by rule 197
++	LOCAL	reduce by rule 197
++	IN	reduce by rule 197
++	DATATYPE	reduce by rule 197
++	TYPE	reduce by rule 197
++	RPAREN	reduce by rule 197
++	SEMICOLON	reduce by rule 197
++	STORAGE	reduce by rule 197
++	LOCATIONS	reduce by rule 197
++	STRUCTURE	reduce by rule 197
++	FUNCTOR	reduce by rule 197
++	SIGNATURE	reduce by rule 197
++	SHARING	reduce by rule 197
++	INSTRUCTION	reduce by rule 197
++	VLIW	reduce by rule 197
++	SUPERSCALAR	reduce by rule 197
++	FUN	reduce by rule 197
++	VAL	reduce by rule 197
++	INCLUDE	reduce by rule 197
++	OPEN	reduce by rule 197
++	LITTLE	reduce by rule 197
++	BIG	reduce by rule 197
++	PIPELINE	reduce by rule 197
++	LOWERCASE	reduce by rule 197
++	UPPERCASE	reduce by rule 197
++	VERBATIM	reduce by rule 197
++	RTL	reduce by rule 197
++	NONFIX	reduce by rule 197
++	INFIX	reduce by rule 197
++	INFIXR	reduce by rule 197
++	DEBUG	reduce by rule 197
++	RESOURCE	reduce by rule 197
++	CPU	reduce by rule 197
++	LATENCY	reduce by rule 197
++	EXCEPTION	reduce by rule 197
++	EOF	reduce by rule 197
++
++
++	.	error
++
++
++state 377:
++
++	tyvarseq : LPAREN tyvars RPAREN .  (reduce by rule 201)
++
++	CELLSET	reduce by rule 201
++	BITS	reduce by rule 201
++	INSTRUCTION	reduce by rule 201
++	CELL	reduce by rule 201
++	ID	reduce by rule 201
++	SYMBOL	reduce by rule 201
++
++
++	.	error
++
++
++state 378:
++
++	tyvars : tyvar COMMA . tyvars 
++
++	HASH	shift 159
++	TYVAR	shift 158
++
++	tyvar	goto 250
++	tyvars	goto 484
++
++	.	error
++
++
++state 379:
++
++	datatypebind : tyvarseq id opcodeencoding . fieldty hasasm EQ consbinds 
++	datatypebind : tyvarseq id opcodeencoding . fieldty hasasm EQ DATATYPE ty 
++
++	EQ	reduce by rule 133
++	DEREF	reduce by rule 133
++	COLON	shift 486
++
++	fieldty	goto 485
++
++	.	error
++
++
++state 380:
++
++	opcodeencoding : LBRACKET . encodingexps RBRACKET 
++
++	INT	shift 64
++
++	int	goto 489
++	encodingexp	goto 488
++	encodingexps	goto 487
++
++	.	error
++
++
++state 381:
++
++	datatypebinds : datatypebind AND datatypebinds .  (reduce by rule 128)
++
++	ARCHITECTURE	reduce by rule 128
++	END	reduce by rule 128
++	LOCAL	reduce by rule 128
++	IN	reduce by rule 128
++	DATATYPE	reduce by rule 128
++	TYPE	reduce by rule 128
++	RPAREN	reduce by rule 128
++	SEMICOLON	reduce by rule 128
++	STORAGE	reduce by rule 128
++	LOCATIONS	reduce by rule 128
++	STRUCTURE	reduce by rule 128
++	FUNCTOR	reduce by rule 128
++	SIGNATURE	reduce by rule 128
++	SHARING	reduce by rule 128
++	INSTRUCTION	reduce by rule 128
++	VLIW	reduce by rule 128
++	SUPERSCALAR	reduce by rule 128
++	WITHTYPE	reduce by rule 128
++	FUN	reduce by rule 128
++	VAL	reduce by rule 128
++	INCLUDE	reduce by rule 128
++	OPEN	reduce by rule 128
++	LITTLE	reduce by rule 128
++	BIG	reduce by rule 128
++	PIPELINE	reduce by rule 128
++	LOWERCASE	reduce by rule 128
++	UPPERCASE	reduce by rule 128
++	VERBATIM	reduce by rule 128
++	RTL	reduce by rule 128
++	NONFIX	reduce by rule 128
++	INFIX	reduce by rule 128
++	INFIXR	reduce by rule 128
++	DEBUG	reduce by rule 128
++	RESOURCE	reduce by rule 128
++	CPU	reduce by rule 128
++	LATENCY	reduce by rule 128
++	EXCEPTION	reduce by rule 128
++	EOF	reduce by rule 128
++
++
++	.	error
++
++
++state 382:
++
++	withtypeclause : WITHTYPE typebinds .  (reduce by rule 195)
++
++	ARCHITECTURE	reduce by rule 195
++	END	reduce by rule 195
++	LOCAL	reduce by rule 195
++	IN	reduce by rule 195
++	DATATYPE	reduce by rule 195
++	TYPE	reduce by rule 195
++	RPAREN	reduce by rule 195
++	SEMICOLON	reduce by rule 195
++	STORAGE	reduce by rule 195
++	LOCATIONS	reduce by rule 195
++	STRUCTURE	reduce by rule 195
++	FUNCTOR	reduce by rule 195
++	SIGNATURE	reduce by rule 195
++	SHARING	reduce by rule 195
++	INSTRUCTION	reduce by rule 195
++	VLIW	reduce by rule 195
++	SUPERSCALAR	reduce by rule 195
++	FUN	reduce by rule 195
++	VAL	reduce by rule 195
++	INCLUDE	reduce by rule 195
++	OPEN	reduce by rule 195
++	LITTLE	reduce by rule 195
++	BIG	reduce by rule 195
++	PIPELINE	reduce by rule 195
++	LOWERCASE	reduce by rule 195
++	UPPERCASE	reduce by rule 195
++	VERBATIM	reduce by rule 195
++	RTL	reduce by rule 195
++	NONFIX	reduce by rule 195
++	INFIX	reduce by rule 195
++	INFIXR	reduce by rule 195
++	DEBUG	reduce by rule 195
++	RESOURCE	reduce by rule 195
++	CPU	reduce by rule 195
++	LATENCY	reduce by rule 195
++	EXCEPTION	reduce by rule 195
++	EOF	reduce by rule 195
++
++
++	.	error
++
++
++state 383:
++
++	scopeddecls : newScope decls oldScope .  (reduce by rule 106)
++
++	END	reduce by rule 106
++	IN	reduce by rule 106
++	RPAREN	reduce by rule 106
++
++
++	.	error
++
++
++state 384:
++
++	mymldecl : LOCAL scopeddecls IN scopeddecls . END 
++
++	END	shift 490
++
++
++	.	error
++
++
++state 385:
++
++	mymddecl : ARCHITECTURE id EQ STRUCT . decls END 
++
++	ARCHITECTURE	shift 39
++	END	reduce by rule 1
++	LOCAL	shift 38
++	DATATYPE	shift 37
++	TYPE	shift 36
++	STORAGE	shift 35
++	LOCATIONS	shift 34
++	STRUCTURE	shift 33
++	FUNCTOR	shift 32
++	SIGNATURE	shift 31
++	SHARING	shift 30
++	INSTRUCTION	shift 29
++	VLIW	shift 28
++	SUPERSCALAR	shift 27
++	FUN	shift 26
++	VAL	shift 25
++	INCLUDE	shift 24
++	OPEN	shift 23
++	LITTLE	shift 22
++	BIG	shift 21
++	PIPELINE	shift 20
++	LOWERCASE	shift 19
++	UPPERCASE	shift 18
++	VERBATIM	shift 17
++	RTL	shift 16
++	NONFIX	shift 15
++	INFIX	shift 14
++	INFIXR	shift 13
++	DEBUG	shift 12
++	RESOURCE	shift 11
++	CPU	shift 10
++	LATENCY	shift 9
++	EXCEPTION	shift 8
++
++	decls	goto 491
++	decl	goto 6
++	mldecl	goto 5
++	mymldecl	goto 4
++	mddecl	goto 3
++	mymddecl	goto 2
++	assemblycase	goto 1
++
++	.	error
++
++
++state 386:
++
++	appty : appty tident .  (reduce by rule 358)
++
++	ARCHITECTURE	reduce by rule 358
++	END	reduce by rule 358
++	LOCAL	reduce by rule 358
++	IN	reduce by rule 358
++	OF	reduce by rule 358
++	DATATYPE	reduce by rule 358
++	TYPE	reduce by rule 358
++	EQ	reduce by rule 358
++	TIMES	reduce by rule 358
++	AND	reduce by rule 358
++	LPAREN	reduce by rule 358
++	RPAREN	reduce by rule 358
++	RBRACKET	reduce by rule 358
++	RBRACE	reduce by rule 358
++	SEMICOLON	reduce by rule 358
++	LDQUOTE	reduce by rule 358
++	CELLSET	reduce by rule 358
++	STORAGE	reduce by rule 358
++	LOCATIONS	reduce by rule 358
++	COMMA	reduce by rule 358
++	COLON	reduce by rule 358
++	BAR	reduce by rule 358
++	ARROW	reduce by rule 358
++	DARROW	reduce by rule 358
++	BITS	reduce by rule 358
++	THEN	reduce by rule 358
++	ELSE	reduce by rule 358
++	STRUCTURE	reduce by rule 358
++	FUNCTOR	reduce by rule 358
++	SIGNATURE	reduce by rule 358
++	WHERE	reduce by rule 358
++	SHARING	reduce by rule 358
++	INSTRUCTION	reduce by rule 358
++	CELL	reduce by rule 358
++	VLIW	reduce by rule 358
++	SUPERSCALAR	reduce by rule 358
++	WITHTYPE	reduce by rule 358
++	FUN	reduce by rule 358
++	VAL	reduce by rule 358
++	INCLUDE	reduce by rule 358
++	OPEN	reduce by rule 358
++	LITTLE	reduce by rule 358
++	BIG	reduce by rule 358
++	PIPELINE	reduce by rule 358
++	LOWERCASE	reduce by rule 358
++	UPPERCASE	reduce by rule 358
++	VERBATIM	reduce by rule 358
++	RTL	reduce by rule 358
++	SPAN	reduce by rule 358
++	DELAYSLOT	reduce by rule 358
++	NONFIX	reduce by rule 358
++	INFIX	reduce by rule 358
++	INFIXR	reduce by rule 358
++	DEBUG	reduce by rule 358
++	ASM_COLON	reduce by rule 358
++	MC_COLON	reduce by rule 358
++	RTL_COLON	reduce by rule 358
++	DELAYSLOT_COLON	reduce by rule 358
++	NULLIFIED_COLON	reduce by rule 358
++	PADDING_COLON	reduce by rule 358
++	RESOURCE	reduce by rule 358
++	CPU	reduce by rule 358
++	LATENCY	reduce by rule 358
++	EXCEPTION	reduce by rule 358
++	ID	reduce by rule 358
++	SYMBOL	reduce by rule 358
++	WORD	reduce by rule 358
++	INT	reduce by rule 358
++	STRING	reduce by rule 358
++	EOF	reduce by rule 358
++
++
++	.	error
++
++
++state 387:
++
++	tuplety : appty TIMES . appty 
++	tuplety : appty TIMES . tuplety 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	aty	goto 263
++	appty	goto 493
++	tuplety	goto 492
++	tyvar	goto 260
++
++	.	error
++
++
++state 388:
++
++	ty : ty ARROW . ty 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	ty	goto 494
++	aty	goto 263
++	appty	goto 262
++	tuplety	goto 261
++	tyvar	goto 260
++
++	.	error
++
++
++state 389:
++
++	tpath : tpath DOT . tid 
++
++	CELLSET	shift 50
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 243
++	tid	goto 495
++	tid2	goto 241
++
++	.	error
++
++
++state 390:
++
++	tpath : tid DOT . tid 
++
++	CELLSET	shift 50
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 243
++	tid	goto 496
++	tid2	goto 241
++
++	.	error
++
++
++state 391:
++
++	aty : HASH int .  (reduce by rule 351)
++
++	ARCHITECTURE	reduce by rule 351
++	END	reduce by rule 351
++	LOCAL	reduce by rule 351
++	IN	reduce by rule 351
++	OF	reduce by rule 351
++	DATATYPE	reduce by rule 351
++	TYPE	reduce by rule 351
++	EQ	reduce by rule 351
++	TIMES	reduce by rule 351
++	AND	reduce by rule 351
++	LPAREN	reduce by rule 351
++	RPAREN	reduce by rule 351
++	RBRACKET	reduce by rule 351
++	RBRACE	reduce by rule 351
++	SEMICOLON	reduce by rule 351
++	LDQUOTE	reduce by rule 351
++	CELLSET	reduce by rule 351
++	STORAGE	reduce by rule 351
++	LOCATIONS	reduce by rule 351
++	COMMA	reduce by rule 351
++	COLON	reduce by rule 351
++	BAR	reduce by rule 351
++	ARROW	reduce by rule 351
++	DARROW	reduce by rule 351
++	BITS	reduce by rule 351
++	THEN	reduce by rule 351
++	ELSE	reduce by rule 351
++	STRUCTURE	reduce by rule 351
++	FUNCTOR	reduce by rule 351
++	SIGNATURE	reduce by rule 351
++	WHERE	reduce by rule 351
++	SHARING	reduce by rule 351
++	INSTRUCTION	reduce by rule 351
++	CELL	reduce by rule 351
++	VLIW	reduce by rule 351
++	SUPERSCALAR	reduce by rule 351
++	WITHTYPE	reduce by rule 351
++	FUN	reduce by rule 351
++	VAL	reduce by rule 351
++	INCLUDE	reduce by rule 351
++	OPEN	reduce by rule 351
++	LITTLE	reduce by rule 351
++	BIG	reduce by rule 351
++	PIPELINE	reduce by rule 351
++	LOWERCASE	reduce by rule 351
++	UPPERCASE	reduce by rule 351
++	VERBATIM	reduce by rule 351
++	RTL	reduce by rule 351
++	SPAN	reduce by rule 351
++	DELAYSLOT	reduce by rule 351
++	NONFIX	reduce by rule 351
++	INFIX	reduce by rule 351
++	INFIXR	reduce by rule 351
++	DEBUG	reduce by rule 351
++	ASM_COLON	reduce by rule 351
++	MC_COLON	reduce by rule 351
++	RTL_COLON	reduce by rule 351
++	DELAYSLOT_COLON	reduce by rule 351
++	NULLIFIED_COLON	reduce by rule 351
++	PADDING_COLON	reduce by rule 351
++	RESOURCE	reduce by rule 351
++	CPU	reduce by rule 351
++	LATENCY	reduce by rule 351
++	EXCEPTION	reduce by rule 351
++	ID	reduce by rule 351
++	SYMBOL	reduce by rule 351
++	WORD	reduce by rule 351
++	INT	reduce by rule 351
++	STRING	reduce by rule 351
++	EOF	reduce by rule 351
++
++
++	.	error
++
++
++state 392:
++
++	labtys : labtys1 .  (reduce by rule 375)
++
++	RBRACE	reduce by rule 375
++
++
++	.	error
++
++
++state 393:
++
++	aty : LBRACE labtys . RBRACE 
++
++	RBRACE	shift 497
++
++
++	.	error
++
++
++state 394:
++
++	labtys1 : labty .  (reduce by rule 376)
++	labtys1 : labty . COMMA labtys1 
++
++	RBRACE	reduce by rule 376
++	COMMA	shift 498
++
++
++	.	error
++
++
++state 395:
++
++	labty : id . COLON ty 
++
++	COLON	shift 499
++
++
++	.	error
++
++
++state 396:
++
++	appty : LPAREN tys2 . RPAREN tident 
++
++	RPAREN	shift 500
++
++
++	.	error
++
++
++state 397:
++
++	ty : ty . ARROW ty 
++	aty : LPAREN ty . RPAREN 
++	tys2 : ty . COMMA ty 
++	tys2 : ty . COMMA tys2 
++
++	RPAREN	shift 502
++	COMMA	shift 501
++	ARROW	shift 388
++
++
++	.	error
++
++
++state 398:
++
++	aty : LPAREN RPAREN .  (reduce by rule 354)
++
++	ARCHITECTURE	reduce by rule 354
++	END	reduce by rule 354
++	LOCAL	reduce by rule 354
++	IN	reduce by rule 354
++	OF	reduce by rule 354
++	DATATYPE	reduce by rule 354
++	TYPE	reduce by rule 354
++	EQ	reduce by rule 354
++	TIMES	reduce by rule 354
++	AND	reduce by rule 354
++	LPAREN	reduce by rule 354
++	RPAREN	reduce by rule 354
++	RBRACKET	reduce by rule 354
++	RBRACE	reduce by rule 354
++	SEMICOLON	reduce by rule 354
++	LDQUOTE	reduce by rule 354
++	CELLSET	reduce by rule 354
++	STORAGE	reduce by rule 354
++	LOCATIONS	reduce by rule 354
++	COMMA	reduce by rule 354
++	COLON	reduce by rule 354
++	BAR	reduce by rule 354
++	ARROW	reduce by rule 354
++	DARROW	reduce by rule 354
++	BITS	reduce by rule 354
++	THEN	reduce by rule 354
++	ELSE	reduce by rule 354
++	STRUCTURE	reduce by rule 354
++	FUNCTOR	reduce by rule 354
++	SIGNATURE	reduce by rule 354
++	WHERE	reduce by rule 354
++	SHARING	reduce by rule 354
++	INSTRUCTION	reduce by rule 354
++	CELL	reduce by rule 354
++	VLIW	reduce by rule 354
++	SUPERSCALAR	reduce by rule 354
++	WITHTYPE	reduce by rule 354
++	FUN	reduce by rule 354
++	VAL	reduce by rule 354
++	INCLUDE	reduce by rule 354
++	OPEN	reduce by rule 354
++	LITTLE	reduce by rule 354
++	BIG	reduce by rule 354
++	PIPELINE	reduce by rule 354
++	LOWERCASE	reduce by rule 354
++	UPPERCASE	reduce by rule 354
++	VERBATIM	reduce by rule 354
++	RTL	reduce by rule 354
++	SPAN	reduce by rule 354
++	DELAYSLOT	reduce by rule 354
++	NONFIX	reduce by rule 354
++	INFIX	reduce by rule 354
++	INFIXR	reduce by rule 354
++	DEBUG	reduce by rule 354
++	ASM_COLON	reduce by rule 354
++	MC_COLON	reduce by rule 354
++	RTL_COLON	reduce by rule 354
++	DELAYSLOT_COLON	reduce by rule 354
++	NULLIFIED_COLON	reduce by rule 354
++	PADDING_COLON	reduce by rule 354
++	RESOURCE	reduce by rule 354
++	CPU	reduce by rule 354
++	LATENCY	reduce by rule 354
++	EXCEPTION	reduce by rule 354
++	ID	reduce by rule 354
++	SYMBOL	reduce by rule 354
++	WORD	reduce by rule 354
++	INT	reduce by rule 354
++	STRING	reduce by rule 354
++	EOF	reduce by rule 354
++
++
++	.	error
++
++
++state 399:
++
++	aty : DOLLAR id .  (reduce by rule 353)
++
++	ARCHITECTURE	reduce by rule 353
++	END	reduce by rule 353
++	LOCAL	reduce by rule 353
++	IN	reduce by rule 353
++	OF	reduce by rule 353
++	DATATYPE	reduce by rule 353
++	TYPE	reduce by rule 353
++	EQ	reduce by rule 353
++	TIMES	reduce by rule 353
++	AND	reduce by rule 353
++	LPAREN	reduce by rule 353
++	RPAREN	reduce by rule 353
++	RBRACKET	reduce by rule 353
++	RBRACE	reduce by rule 353
++	SEMICOLON	reduce by rule 353
++	LDQUOTE	reduce by rule 353
++	CELLSET	reduce by rule 353
++	STORAGE	reduce by rule 353
++	LOCATIONS	reduce by rule 353
++	COMMA	reduce by rule 353
++	COLON	reduce by rule 353
++	BAR	reduce by rule 353
++	ARROW	reduce by rule 353
++	DARROW	reduce by rule 353
++	BITS	reduce by rule 353
++	THEN	reduce by rule 353
++	ELSE	reduce by rule 353
++	STRUCTURE	reduce by rule 353
++	FUNCTOR	reduce by rule 353
++	SIGNATURE	reduce by rule 353
++	WHERE	reduce by rule 353
++	SHARING	reduce by rule 353
++	INSTRUCTION	reduce by rule 353
++	CELL	reduce by rule 353
++	VLIW	reduce by rule 353
++	SUPERSCALAR	reduce by rule 353
++	WITHTYPE	reduce by rule 353
++	FUN	reduce by rule 353
++	VAL	reduce by rule 353
++	INCLUDE	reduce by rule 353
++	OPEN	reduce by rule 353
++	LITTLE	reduce by rule 353
++	BIG	reduce by rule 353
++	PIPELINE	reduce by rule 353
++	LOWERCASE	reduce by rule 353
++	UPPERCASE	reduce by rule 353
++	VERBATIM	reduce by rule 353
++	RTL	reduce by rule 353
++	SPAN	reduce by rule 353
++	DELAYSLOT	reduce by rule 353
++	NONFIX	reduce by rule 353
++	INFIX	reduce by rule 353
++	INFIXR	reduce by rule 353
++	DEBUG	reduce by rule 353
++	ASM_COLON	reduce by rule 353
++	MC_COLON	reduce by rule 353
++	RTL_COLON	reduce by rule 353
++	DELAYSLOT_COLON	reduce by rule 353
++	NULLIFIED_COLON	reduce by rule 353
++	PADDING_COLON	reduce by rule 353
++	RESOURCE	reduce by rule 353
++	CPU	reduce by rule 353
++	LATENCY	reduce by rule 353
++	EXCEPTION	reduce by rule 353
++	ID	reduce by rule 353
++	SYMBOL	reduce by rule 353
++	WORD	reduce by rule 353
++	INT	reduce by rule 353
++	STRING	reduce by rule 353
++	EOF	reduce by rule 353
++
++
++	.	error
++
++
++state 400:
++
++	exp : exp . HANDLE clauses 
++	latencyclause : id pat EQ exp .  (reduce by rule 58)
++
++	ARCHITECTURE	reduce by rule 58
++	END	reduce by rule 58
++	LOCAL	reduce by rule 58
++	IN	reduce by rule 58
++	DATATYPE	reduce by rule 58
++	TYPE	reduce by rule 58
++	AND	reduce by rule 58
++	RPAREN	reduce by rule 58
++	SEMICOLON	reduce by rule 58
++	STORAGE	reduce by rule 58
++	LOCATIONS	reduce by rule 58
++	BAR	reduce by rule 58
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 58
++	FUNCTOR	reduce by rule 58
++	SIGNATURE	reduce by rule 58
++	SHARING	reduce by rule 58
++	INSTRUCTION	reduce by rule 58
++	VLIW	reduce by rule 58
++	SUPERSCALAR	reduce by rule 58
++	FUN	reduce by rule 58
++	VAL	reduce by rule 58
++	INCLUDE	reduce by rule 58
++	OPEN	reduce by rule 58
++	LITTLE	reduce by rule 58
++	BIG	reduce by rule 58
++	PIPELINE	reduce by rule 58
++	LOWERCASE	reduce by rule 58
++	UPPERCASE	reduce by rule 58
++	VERBATIM	reduce by rule 58
++	RTL	reduce by rule 58
++	NONFIX	reduce by rule 58
++	INFIX	reduce by rule 58
++	INFIXR	reduce by rule 58
++	DEBUG	reduce by rule 58
++	RESOURCE	reduce by rule 58
++	CPU	reduce by rule 58
++	LATENCY	reduce by rule 58
++	EXCEPTION	reduce by rule 58
++	EOF	reduce by rule 58
++
++
++	.	error
++
++
++state 401:
++
++	cpubind : id aliases int LBRACKET . resources RBRACKET 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++	INT	shift 64
++
++	id	goto 506
++	int	goto 505
++	resources	goto 504
++	resource	goto 503
++
++	.	error
++
++
++state 402:
++
++	exp : exp HANDLE . clauses 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 413
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	clause	goto 412
++	clauses	goto 507
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 403:
++
++	aexp2 : aexp2 . AT LBRACKET slices RBRACKET 
++	appexp : appexp aexp2 .  (reduce by rule 273)
++
++	ARCHITECTURE	reduce by rule 273
++	END	reduce by rule 273
++	LOCAL	reduce by rule 273
++	IN	reduce by rule 273
++	OF	reduce by rule 273
++	DATATYPE	reduce by rule 273
++	TYPE	reduce by rule 273
++	EQ	reduce by rule 273
++	DOLLAR	reduce by rule 273
++	TIMES	reduce by rule 273
++	AND	reduce by rule 273
++	DEREF	reduce by rule 273
++	NOT	reduce by rule 273
++	LLBRACKET	reduce by rule 273
++	LHASHBRACKET	reduce by rule 273
++	LPAREN	reduce by rule 273
++	RPAREN	reduce by rule 273
++	LBRACKET	reduce by rule 273
++	RBRACKET	reduce by rule 273
++	LBRACE	reduce by rule 273
++	RBRACE	reduce by rule 273
++	SEMICOLON	reduce by rule 273
++	LDQUOTE	reduce by rule 273
++	RMETA	reduce by rule 273
++	CELLSET	reduce by rule 273
++	STORAGE	reduce by rule 273
++	LOCATIONS	reduce by rule 273
++	HASH	reduce by rule 273
++	COMMA	reduce by rule 273
++	COLON	reduce by rule 273
++	AT	shift 404
++	BAR	reduce by rule 273
++	DARROW	reduce by rule 273
++	THEN	reduce by rule 273
++	ELSE	reduce by rule 273
++	TRUE	reduce by rule 273
++	FALSE	reduce by rule 273
++	HANDLE	reduce by rule 273
++	LET	reduce by rule 273
++	STRUCTURE	reduce by rule 273
++	FUNCTOR	reduce by rule 273
++	SIGNATURE	reduce by rule 273
++	SHARING	reduce by rule 273
++	INSTRUCTION	reduce by rule 273
++	VLIW	reduce by rule 273
++	SUPERSCALAR	reduce by rule 273
++	WITHTYPE	reduce by rule 273
++	FUN	reduce by rule 273
++	VAL	reduce by rule 273
++	INCLUDE	reduce by rule 273
++	OPEN	reduce by rule 273
++	OP	reduce by rule 273
++	LITTLE	reduce by rule 273
++	BIG	reduce by rule 273
++	PIPELINE	reduce by rule 273
++	LOWERCASE	reduce by rule 273
++	UPPERCASE	reduce by rule 273
++	VERBATIM	reduce by rule 273
++	RTL	reduce by rule 273
++	SPAN	reduce by rule 273
++	DELAYSLOT	reduce by rule 273
++	ALWAYS	reduce by rule 273
++	NEVER	reduce by rule 273
++	NONFIX	reduce by rule 273
++	INFIX	reduce by rule 273
++	INFIXR	reduce by rule 273
++	DEBUG	reduce by rule 273
++	ASM_COLON	reduce by rule 273
++	MC_COLON	reduce by rule 273
++	RTL_COLON	reduce by rule 273
++	DELAYSLOT_COLON	reduce by rule 273
++	NULLIFIED_COLON	reduce by rule 273
++	PADDING_COLON	reduce by rule 273
++	RESOURCE	reduce by rule 273
++	CPU	reduce by rule 273
++	LATENCY	reduce by rule 273
++	EXCEPTION	reduce by rule 273
++	ID	reduce by rule 273
++	SYMBOL	reduce by rule 273
++	WORD	reduce by rule 273
++	INT	reduce by rule 273
++	INTINF	reduce by rule 273
++	REAL	reduce by rule 273
++	STRING	reduce by rule 273
++	CHAR	reduce by rule 273
++	EOF	reduce by rule 273
++
++
++	.	error
++
++
++state 404:
++
++	aexp2 : aexp2 AT . LBRACKET slices RBRACKET 
++
++	LBRACKET	shift 508
++
++
++	.	error
++
++
++state 405:
++
++	aexp : sym CONCAT . LBRACKET exps RBRACKET 
++	aexp : sym CONCAT . LBRACKET exps RBRACKET CONCAT sym 
++
++	LBRACKET	shift 509
++
++
++	.	error
++
++
++state 406:
++
++	aexp : OP symb .  (reduce by rule 244)
++
++	ARCHITECTURE	reduce by rule 244
++	END	reduce by rule 244
++	LOCAL	reduce by rule 244
++	IN	reduce by rule 244
++	OF	reduce by rule 244
++	DATATYPE	reduce by rule 244
++	TYPE	reduce by rule 244
++	EQ	reduce by rule 244
++	DOLLAR	reduce by rule 244
++	TIMES	reduce by rule 244
++	AND	reduce by rule 244
++	DEREF	reduce by rule 244
++	NOT	reduce by rule 244
++	LLBRACKET	reduce by rule 244
++	LHASHBRACKET	reduce by rule 244
++	LPAREN	reduce by rule 244
++	RPAREN	reduce by rule 244
++	LBRACKET	reduce by rule 244
++	RBRACKET	reduce by rule 244
++	LBRACE	reduce by rule 244
++	RBRACE	reduce by rule 244
++	SEMICOLON	reduce by rule 244
++	LDQUOTE	reduce by rule 244
++	RMETA	reduce by rule 244
++	CELLSET	reduce by rule 244
++	STORAGE	reduce by rule 244
++	LOCATIONS	reduce by rule 244
++	HASH	reduce by rule 244
++	COMMA	reduce by rule 244
++	COLON	reduce by rule 244
++	AT	reduce by rule 244
++	BAR	reduce by rule 244
++	DARROW	reduce by rule 244
++	THEN	reduce by rule 244
++	ELSE	reduce by rule 244
++	TRUE	reduce by rule 244
++	FALSE	reduce by rule 244
++	HANDLE	reduce by rule 244
++	LET	reduce by rule 244
++	STRUCTURE	reduce by rule 244
++	FUNCTOR	reduce by rule 244
++	SIGNATURE	reduce by rule 244
++	SHARING	reduce by rule 244
++	INSTRUCTION	reduce by rule 244
++	VLIW	reduce by rule 244
++	SUPERSCALAR	reduce by rule 244
++	WITHTYPE	reduce by rule 244
++	FUN	reduce by rule 244
++	VAL	reduce by rule 244
++	INCLUDE	reduce by rule 244
++	OPEN	reduce by rule 244
++	OP	reduce by rule 244
++	LITTLE	reduce by rule 244
++	BIG	reduce by rule 244
++	PIPELINE	reduce by rule 244
++	LOWERCASE	reduce by rule 244
++	UPPERCASE	reduce by rule 244
++	VERBATIM	reduce by rule 244
++	RTL	reduce by rule 244
++	SPAN	reduce by rule 244
++	DELAYSLOT	reduce by rule 244
++	ALWAYS	reduce by rule 244
++	NEVER	reduce by rule 244
++	NONFIX	reduce by rule 244
++	INFIX	reduce by rule 244
++	INFIXR	reduce by rule 244
++	DEBUG	reduce by rule 244
++	ASM_COLON	reduce by rule 244
++	MC_COLON	reduce by rule 244
++	RTL_COLON	reduce by rule 244
++	DELAYSLOT_COLON	reduce by rule 244
++	NULLIFIED_COLON	reduce by rule 244
++	PADDING_COLON	reduce by rule 244
++	RESOURCE	reduce by rule 244
++	CPU	reduce by rule 244
++	LATENCY	reduce by rule 244
++	EXCEPTION	reduce by rule 244
++	ID	reduce by rule 244
++	SYMBOL	reduce by rule 244
++	WORD	reduce by rule 244
++	INT	reduce by rule 244
++	INTINF	reduce by rule 244
++	REAL	reduce by rule 244
++	STRING	reduce by rule 244
++	CHAR	reduce by rule 244
++	EOF	reduce by rule 244
++
++
++	.	error
++
++
++state 407:
++
++	aexp : LET decls . IN expseq END 
++
++	IN	shift 510
++
++
++	.	error
++
++
++state 408:
++
++	exp : exp . HANDLE clauses 
++	exp : RAISE exp .  (reduce by rule 279)
++
++	ARCHITECTURE	reduce by rule 279
++	END	reduce by rule 279
++	LOCAL	reduce by rule 279
++	IN	reduce by rule 279
++	OF	reduce by rule 279
++	DATATYPE	reduce by rule 279
++	TYPE	reduce by rule 279
++	AND	reduce by rule 279
++	LPAREN	reduce by rule 279
++	RPAREN	reduce by rule 279
++	RBRACKET	reduce by rule 279
++	RBRACE	reduce by rule 279
++	SEMICOLON	reduce by rule 279
++	RMETA	reduce by rule 279
++	CELLSET	reduce by rule 279
++	STORAGE	reduce by rule 279
++	LOCATIONS	reduce by rule 279
++	COMMA	reduce by rule 279
++	COLON	reduce by rule 279
++	BAR	reduce by rule 279
++	DARROW	reduce by rule 279
++	THEN	reduce by rule 279
++	ELSE	reduce by rule 279
++	HANDLE	reduce by rule 279
++	STRUCTURE	reduce by rule 279
++	FUNCTOR	reduce by rule 279
++	SIGNATURE	reduce by rule 279
++	SHARING	reduce by rule 279
++	INSTRUCTION	reduce by rule 279
++	VLIW	reduce by rule 279
++	SUPERSCALAR	reduce by rule 279
++	WITHTYPE	reduce by rule 279
++	FUN	reduce by rule 279
++	VAL	reduce by rule 279
++	INCLUDE	reduce by rule 279
++	OPEN	reduce by rule 279
++	LITTLE	reduce by rule 279
++	BIG	reduce by rule 279
++	PIPELINE	reduce by rule 279
++	LOWERCASE	reduce by rule 279
++	UPPERCASE	reduce by rule 279
++	VERBATIM	reduce by rule 279
++	RTL	reduce by rule 279
++	SPAN	reduce by rule 279
++	DELAYSLOT	reduce by rule 279
++	NONFIX	reduce by rule 279
++	INFIX	reduce by rule 279
++	INFIXR	reduce by rule 279
++	DEBUG	reduce by rule 279
++	ASM_COLON	reduce by rule 279
++	MC_COLON	reduce by rule 279
++	RTL_COLON	reduce by rule 279
++	DELAYSLOT_COLON	reduce by rule 279
++	NULLIFIED_COLON	reduce by rule 279
++	PADDING_COLON	reduce by rule 279
++	RESOURCE	reduce by rule 279
++	CPU	reduce by rule 279
++	LATENCY	reduce by rule 279
++	EXCEPTION	reduce by rule 279
++	ID	reduce by rule 279
++	SYMBOL	reduce by rule 279
++	WORD	reduce by rule 279
++	INT	reduce by rule 279
++	EOF	reduce by rule 279
++
++
++	.	error
++
++
++state 409:
++
++	exp : IF typedexp . THEN typedexp ELSE exp 
++	typedexp : typedexp . COLON ty 
++
++	COLON	shift 458
++	THEN	shift 511
++
++
++	.	error
++
++
++state 410:
++
++	aexp : HASH id .  (reduce by rule 243)
++
++	ARCHITECTURE	reduce by rule 243
++	END	reduce by rule 243
++	LOCAL	reduce by rule 243
++	IN	reduce by rule 243
++	OF	reduce by rule 243
++	DATATYPE	reduce by rule 243
++	TYPE	reduce by rule 243
++	EQ	reduce by rule 243
++	DOLLAR	reduce by rule 243
++	TIMES	reduce by rule 243
++	AND	reduce by rule 243
++	DEREF	reduce by rule 243
++	NOT	reduce by rule 243
++	LLBRACKET	reduce by rule 243
++	LHASHBRACKET	reduce by rule 243
++	LPAREN	reduce by rule 243
++	RPAREN	reduce by rule 243
++	LBRACKET	reduce by rule 243
++	RBRACKET	reduce by rule 243
++	LBRACE	reduce by rule 243
++	RBRACE	reduce by rule 243
++	SEMICOLON	reduce by rule 243
++	LDQUOTE	reduce by rule 243
++	RMETA	reduce by rule 243
++	CELLSET	reduce by rule 243
++	STORAGE	reduce by rule 243
++	LOCATIONS	reduce by rule 243
++	HASH	reduce by rule 243
++	COMMA	reduce by rule 243
++	COLON	reduce by rule 243
++	AT	reduce by rule 243
++	BAR	reduce by rule 243
++	DARROW	reduce by rule 243
++	THEN	reduce by rule 243
++	ELSE	reduce by rule 243
++	TRUE	reduce by rule 243
++	FALSE	reduce by rule 243
++	HANDLE	reduce by rule 243
++	LET	reduce by rule 243
++	STRUCTURE	reduce by rule 243
++	FUNCTOR	reduce by rule 243
++	SIGNATURE	reduce by rule 243
++	SHARING	reduce by rule 243
++	INSTRUCTION	reduce by rule 243
++	VLIW	reduce by rule 243
++	SUPERSCALAR	reduce by rule 243
++	WITHTYPE	reduce by rule 243
++	FUN	reduce by rule 243
++	VAL	reduce by rule 243
++	INCLUDE	reduce by rule 243
++	OPEN	reduce by rule 243
++	OP	reduce by rule 243
++	LITTLE	reduce by rule 243
++	BIG	reduce by rule 243
++	PIPELINE	reduce by rule 243
++	LOWERCASE	reduce by rule 243
++	UPPERCASE	reduce by rule 243
++	VERBATIM	reduce by rule 243
++	RTL	reduce by rule 243
++	SPAN	reduce by rule 243
++	DELAYSLOT	reduce by rule 243
++	ALWAYS	reduce by rule 243
++	NEVER	reduce by rule 243
++	NONFIX	reduce by rule 243
++	INFIX	reduce by rule 243
++	INFIXR	reduce by rule 243
++	DEBUG	reduce by rule 243
++	ASM_COLON	reduce by rule 243
++	MC_COLON	reduce by rule 243
++	RTL_COLON	reduce by rule 243
++	DELAYSLOT_COLON	reduce by rule 243
++	NULLIFIED_COLON	reduce by rule 243
++	PADDING_COLON	reduce by rule 243
++	RESOURCE	reduce by rule 243
++	CPU	reduce by rule 243
++	LATENCY	reduce by rule 243
++	EXCEPTION	reduce by rule 243
++	ID	reduce by rule 243
++	SYMBOL	reduce by rule 243
++	WORD	reduce by rule 243
++	INT	reduce by rule 243
++	INTINF	reduce by rule 243
++	REAL	reduce by rule 243
++	STRING	reduce by rule 243
++	CHAR	reduce by rule 243
++	EOF	reduce by rule 243
++
++
++	.	error
++
++
++state 411:
++
++	exp : FN clauses .  (reduce by rule 277)
++
++	ARCHITECTURE	reduce by rule 277
++	END	reduce by rule 277
++	LOCAL	reduce by rule 277
++	IN	reduce by rule 277
++	OF	reduce by rule 277
++	DATATYPE	reduce by rule 277
++	TYPE	reduce by rule 277
++	AND	reduce by rule 277
++	LPAREN	reduce by rule 277
++	RPAREN	reduce by rule 277
++	RBRACKET	reduce by rule 277
++	RBRACE	reduce by rule 277
++	SEMICOLON	reduce by rule 277
++	RMETA	reduce by rule 277
++	CELLSET	reduce by rule 277
++	STORAGE	reduce by rule 277
++	LOCATIONS	reduce by rule 277
++	COMMA	reduce by rule 277
++	COLON	reduce by rule 277
++	BAR	reduce by rule 277
++	DARROW	reduce by rule 277
++	THEN	reduce by rule 277
++	ELSE	reduce by rule 277
++	HANDLE	reduce by rule 277
++	STRUCTURE	reduce by rule 277
++	FUNCTOR	reduce by rule 277
++	SIGNATURE	reduce by rule 277
++	SHARING	reduce by rule 277
++	INSTRUCTION	reduce by rule 277
++	VLIW	reduce by rule 277
++	SUPERSCALAR	reduce by rule 277
++	WITHTYPE	reduce by rule 277
++	FUN	reduce by rule 277
++	VAL	reduce by rule 277
++	INCLUDE	reduce by rule 277
++	OPEN	reduce by rule 277
++	LITTLE	reduce by rule 277
++	BIG	reduce by rule 277
++	PIPELINE	reduce by rule 277
++	LOWERCASE	reduce by rule 277
++	UPPERCASE	reduce by rule 277
++	VERBATIM	reduce by rule 277
++	RTL	reduce by rule 277
++	SPAN	reduce by rule 277
++	DELAYSLOT	reduce by rule 277
++	NONFIX	reduce by rule 277
++	INFIX	reduce by rule 277
++	INFIXR	reduce by rule 277
++	DEBUG	reduce by rule 277
++	ASM_COLON	reduce by rule 277
++	MC_COLON	reduce by rule 277
++	RTL_COLON	reduce by rule 277
++	DELAYSLOT_COLON	reduce by rule 277
++	NULLIFIED_COLON	reduce by rule 277
++	PADDING_COLON	reduce by rule 277
++	RESOURCE	reduce by rule 277
++	CPU	reduce by rule 277
++	LATENCY	reduce by rule 277
++	EXCEPTION	reduce by rule 277
++	ID	reduce by rule 277
++	SYMBOL	reduce by rule 277
++	WORD	reduce by rule 277
++	INT	reduce by rule 277
++	EOF	reduce by rule 277
++
++
++	.	error
++
++error:  state 412: shift/reduce conflict (shift BAR, reduce by rule 341)
++
++state 412:
++
++	clauses : clause .  (reduce by rule 341)
++	clauses : clause . BAR clauses 
++
++	ARCHITECTURE	reduce by rule 341
++	END	reduce by rule 341
++	LOCAL	reduce by rule 341
++	IN	reduce by rule 341
++	OF	reduce by rule 341
++	DATATYPE	reduce by rule 341
++	TYPE	reduce by rule 341
++	AND	reduce by rule 341
++	LPAREN	reduce by rule 341
++	RPAREN	reduce by rule 341
++	RBRACKET	reduce by rule 341
++	RBRACE	reduce by rule 341
++	SEMICOLON	reduce by rule 341
++	RMETA	reduce by rule 341
++	CELLSET	reduce by rule 341
++	STORAGE	reduce by rule 341
++	LOCATIONS	reduce by rule 341
++	COMMA	reduce by rule 341
++	COLON	reduce by rule 341
++	BAR	shift 512
++	DARROW	reduce by rule 341
++	THEN	reduce by rule 341
++	ELSE	reduce by rule 341
++	HANDLE	reduce by rule 341
++	STRUCTURE	reduce by rule 341
++	FUNCTOR	reduce by rule 341
++	SIGNATURE	reduce by rule 341
++	SHARING	reduce by rule 341
++	INSTRUCTION	reduce by rule 341
++	VLIW	reduce by rule 341
++	SUPERSCALAR	reduce by rule 341
++	WITHTYPE	reduce by rule 341
++	FUN	reduce by rule 341
++	VAL	reduce by rule 341
++	INCLUDE	reduce by rule 341
++	OPEN	reduce by rule 341
++	LITTLE	reduce by rule 341
++	BIG	reduce by rule 341
++	PIPELINE	reduce by rule 341
++	LOWERCASE	reduce by rule 341
++	UPPERCASE	reduce by rule 341
++	VERBATIM	reduce by rule 341
++	RTL	reduce by rule 341
++	SPAN	reduce by rule 341
++	DELAYSLOT	reduce by rule 341
++	NONFIX	reduce by rule 341
++	INFIX	reduce by rule 341
++	INFIXR	reduce by rule 341
++	DEBUG	reduce by rule 341
++	ASM_COLON	reduce by rule 341
++	MC_COLON	reduce by rule 341
++	RTL_COLON	reduce by rule 341
++	DELAYSLOT_COLON	reduce by rule 341
++	NULLIFIED_COLON	reduce by rule 341
++	PADDING_COLON	reduce by rule 341
++	RESOURCE	reduce by rule 341
++	CPU	reduce by rule 341
++	LATENCY	reduce by rule 341
++	EXCEPTION	reduce by rule 341
++	ID	reduce by rule 341
++	SYMBOL	reduce by rule 341
++	WORD	reduce by rule 341
++	INT	reduce by rule 341
++	EOF	reduce by rule 341
++
++
++	.	error
++
++
++state 413:
++
++	typedpat : typedpat . COLON ty 
++	clause : typedpat . guard cont DARROW exp 
++
++	COLON	shift 316
++	DARROW	reduce by rule 339
++	WHERE	shift 514
++	EXCEPTION	reduce by rule 339
++
++	guard	goto 513
++
++	.	error
++
++
++state 414:
++
++	asms : asm .  (reduce by rule 188)
++	asms : asm . asms 
++
++	RDQUOTE	reduce by rule 188
++	LMETA	shift 417
++	ASMTEXT	shift 416
++
++	asms	goto 515
++	asm	goto 414
++
++	.	error
++
++
++state 415:
++
++	asm_strings : LDQUOTE asms . RDQUOTE 
++	asm_strings : LDQUOTE asms . RDQUOTE asm_strings 
++
++	RDQUOTE	shift 516
++
++
++	.	error
++
++
++state 416:
++
++	asm : ASMTEXT .  (reduce by rule 191)
++
++	RDQUOTE	reduce by rule 191
++	LMETA	reduce by rule 191
++	ASMTEXT	reduce by rule 191
++
++
++	.	error
++
++
++state 417:
++
++	asm : LMETA . exp RMETA 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 517
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 418:
++
++	labexps : labexp .  (reduce by rule 268)
++	labexps : labexp . COMMA labexps 
++
++	RBRACE	reduce by rule 268
++	COMMA	shift 518
++
++
++	.	error
++
++
++state 419:
++
++	labexps0 : labexps .  (reduce by rule 267)
++
++	RBRACE	reduce by rule 267
++
++
++	.	error
++
++
++state 420:
++
++	aexp : LBRACE labexps0 . RBRACE 
++
++	RBRACE	shift 519
++
++
++	.	error
++
++
++state 421:
++
++	labexp : id . EQ typedexp 
++	labexp : id .  (reduce by rule 271)
++
++	EQ	shift 520
++	RBRACE	reduce by rule 271
++	COMMA	reduce by rule 271
++
++
++	.	error
++
++
++state 422:
++
++	exps : exps1 .  (reduce by rule 289)
++
++	RBRACKET	reduce by rule 289
++
++
++	.	error
++
++
++state 423:
++
++	aexp : LBRACKET exps . RBRACKET 
++	aexp : LBRACKET exps . RBRACKET CONCAT sym 
++
++	RBRACKET	shift 521
++
++
++	.	error
++
++
++state 424:
++
++	typedexp : typedexp . COLON ty 
++	exps1 : typedexp .  (reduce by rule 285)
++	exps1 : typedexp . COMMA exps1 
++
++	RPAREN	reduce by rule 285
++	RBRACKET	reduce by rule 285
++	COMMA	shift 522
++	COLON	shift 458
++
++
++	.	error
++
++
++state 425:
++
++	aexp : LPAREN expseq2 . RPAREN 
++
++	RPAREN	shift 523
++
++
++	.	error
++
++
++state 426:
++
++	aexp : LPAREN exps2 . RPAREN 
++
++	RPAREN	shift 524
++
++
++	.	error
++
++
++state 427:
++
++	aexp : LPAREN typedexp . RPAREN 
++	typedexp : typedexp . COLON ty 
++	exps2 : typedexp . COMMA exps1 
++	expseq2 : typedexp . SEMICOLON expseq 
++
++	RPAREN	shift 527
++	SEMICOLON	shift 526
++	COMMA	shift 525
++	COLON	shift 458
++
++
++	.	error
++
++error:  state 428: shift/reduce conflict (shift RPAREN, reduce by rule 417)
++
++state 428:
++
++	sym : symb .  (reduce by rule 417)
++	aexp : LPAREN symb . RPAREN 
++
++	EQ	reduce by rule 417
++	DOLLAR	reduce by rule 417
++	TIMES	reduce by rule 417
++	DEREF	reduce by rule 417
++	NOT	reduce by rule 417
++	CONCAT	reduce by rule 417
++	LLBRACKET	reduce by rule 417
++	LHASHBRACKET	reduce by rule 417
++	LPAREN	reduce by rule 417
++	RPAREN	shift 528
++	LBRACKET	reduce by rule 417
++	LBRACE	reduce by rule 417
++	SEMICOLON	reduce by rule 417
++	LDQUOTE	reduce by rule 417
++	CELLSET	reduce by rule 417
++	HASH	reduce by rule 417
++	COMMA	reduce by rule 417
++	COLON	reduce by rule 417
++	AT	reduce by rule 417
++	TRUE	reduce by rule 417
++	FALSE	reduce by rule 417
++	HANDLE	reduce by rule 417
++	LET	reduce by rule 417
++	OP	reduce by rule 417
++	ALWAYS	reduce by rule 417
++	NEVER	reduce by rule 417
++	ID	reduce by rule 417
++	SYMBOL	reduce by rule 417
++	WORD	reduce by rule 417
++	INT	reduce by rule 417
++	INTINF	reduce by rule 417
++	REAL	reduce by rule 417
++	STRING	reduce by rule 417
++	CHAR	reduce by rule 417
++
++
++	.	error
++
++
++state 429:
++
++	aexp : LPAREN RPAREN .  (reduce by rule 247)
++
++	ARCHITECTURE	reduce by rule 247
++	END	reduce by rule 247
++	LOCAL	reduce by rule 247
++	IN	reduce by rule 247
++	OF	reduce by rule 247
++	DATATYPE	reduce by rule 247
++	TYPE	reduce by rule 247
++	EQ	reduce by rule 247
++	DOLLAR	reduce by rule 247
++	TIMES	reduce by rule 247
++	AND	reduce by rule 247
++	DEREF	reduce by rule 247
++	NOT	reduce by rule 247
++	LLBRACKET	reduce by rule 247
++	LHASHBRACKET	reduce by rule 247
++	LPAREN	reduce by rule 247
++	RPAREN	reduce by rule 247
++	LBRACKET	reduce by rule 247
++	RBRACKET	reduce by rule 247
++	LBRACE	reduce by rule 247
++	RBRACE	reduce by rule 247
++	SEMICOLON	reduce by rule 247
++	LDQUOTE	reduce by rule 247
++	RMETA	reduce by rule 247
++	CELLSET	reduce by rule 247
++	STORAGE	reduce by rule 247
++	LOCATIONS	reduce by rule 247
++	HASH	reduce by rule 247
++	COMMA	reduce by rule 247
++	COLON	reduce by rule 247
++	AT	reduce by rule 247
++	BAR	reduce by rule 247
++	DARROW	reduce by rule 247
++	THEN	reduce by rule 247
++	ELSE	reduce by rule 247
++	TRUE	reduce by rule 247
++	FALSE	reduce by rule 247
++	HANDLE	reduce by rule 247
++	LET	reduce by rule 247
++	STRUCTURE	reduce by rule 247
++	FUNCTOR	reduce by rule 247
++	SIGNATURE	reduce by rule 247
++	SHARING	reduce by rule 247
++	INSTRUCTION	reduce by rule 247
++	VLIW	reduce by rule 247
++	SUPERSCALAR	reduce by rule 247
++	WITHTYPE	reduce by rule 247
++	FUN	reduce by rule 247
++	VAL	reduce by rule 247
++	INCLUDE	reduce by rule 247
++	OPEN	reduce by rule 247
++	OP	reduce by rule 247
++	LITTLE	reduce by rule 247
++	BIG	reduce by rule 247
++	PIPELINE	reduce by rule 247
++	LOWERCASE	reduce by rule 247
++	UPPERCASE	reduce by rule 247
++	VERBATIM	reduce by rule 247
++	RTL	reduce by rule 247
++	SPAN	reduce by rule 247
++	DELAYSLOT	reduce by rule 247
++	ALWAYS	reduce by rule 247
++	NEVER	reduce by rule 247
++	NONFIX	reduce by rule 247
++	INFIX	reduce by rule 247
++	INFIXR	reduce by rule 247
++	DEBUG	reduce by rule 247
++	ASM_COLON	reduce by rule 247
++	MC_COLON	reduce by rule 247
++	RTL_COLON	reduce by rule 247
++	DELAYSLOT_COLON	reduce by rule 247
++	NULLIFIED_COLON	reduce by rule 247
++	PADDING_COLON	reduce by rule 247
++	RESOURCE	reduce by rule 247
++	CPU	reduce by rule 247
++	LATENCY	reduce by rule 247
++	EXCEPTION	reduce by rule 247
++	ID	reduce by rule 247
++	SYMBOL	reduce by rule 247
++	WORD	reduce by rule 247
++	INT	reduce by rule 247
++	INTINF	reduce by rule 247
++	REAL	reduce by rule 247
++	STRING	reduce by rule 247
++	CHAR	reduce by rule 247
++	EOF	reduce by rule 247
++
++
++	.	error
++
++
++state 430:
++
++	aexp : LHASHBRACKET exps . RBRACKET 
++
++	RBRACKET	shift 529
++
++
++	.	error
++
++
++state 431:
++
++	aexp : LLBRACKET rtlterms . RRBRACKET 
++
++	RRBRACKET	shift 530
++
++
++	.	error
++
++
++state 432:
++
++	rtlterms : rtlterm .  (reduce by rule 118)
++	rtlterms : rtlterm . rtlterms 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	RRBRACKET	reduce by rule 118
++	CELLSET	shift 50
++	HASH	shift 435
++	ID	shift 49
++	SYMBOL	shift 48
++	STRING	shift 91
++
++	id	goto 69
++	sym	goto 434
++	symb	goto 67
++	string	goto 433
++	rtlterm	goto 432
++	rtlterms	goto 531
++
++	.	error
++
++
++state 433:
++
++	rtlterm : string .  (reduce by rule 120)
++
++	TIMES	reduce by rule 120
++	DEREF	reduce by rule 120
++	NOT	reduce by rule 120
++	RRBRACKET	reduce by rule 120
++	CELLSET	reduce by rule 120
++	HASH	reduce by rule 120
++	ID	reduce by rule 120
++	SYMBOL	reduce by rule 120
++	STRING	reduce by rule 120
++
++
++	.	error
++
++
++state 434:
++
++	rtlterm : sym .  (reduce by rule 121)
++
++	TIMES	reduce by rule 121
++	DEREF	reduce by rule 121
++	NOT	reduce by rule 121
++	RRBRACKET	reduce by rule 121
++	CELLSET	reduce by rule 121
++	HASH	reduce by rule 121
++	ID	reduce by rule 121
++	SYMBOL	reduce by rule 121
++	STRING	reduce by rule 121
++
++
++	.	error
++
++
++state 435:
++
++	rtlterm : HASH . id 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 532
++
++	.	error
++
++
++state 436:
++
++	aexp : DOLLAR id . LBRACKET exp region RBRACKET 
++
++	LBRACKET	shift 533
++
++
++	.	error
++
++
++state 437:
++
++	exp : CASE typedexp . OF clauses 
++	typedexp : typedexp . COLON ty 
++
++	OF	shift 534
++	COLON	shift 458
++
++
++	.	error
++
++
++state 438:
++
++	apat : sym CONCAT LBRACKET pats . RBRACKET 
++	apat : sym CONCAT LBRACKET pats . RBRACKET CONCAT sym 
++
++	RBRACKET	shift 535
++
++
++	.	error
++
++
++state 439:
++
++	mymldecl : RTL id LBRACE labpats0 RBRACE . EQ exp 
++
++	EQ	shift 536
++
++
++	.	error
++
++
++state 440:
++
++	labpats : labpat COMMA labpats .  (reduce by rule 330)
++
++	RBRACE	reduce by rule 330
++
++
++	.	error
++
++
++state 441:
++
++	labpats : labpat COMMA DOTDOT .  (reduce by rule 329)
++
++	RBRACE	reduce by rule 329
++
++
++	.	error
++
++
++state 442:
++
++	typedpat : typedpat . COLON ty 
++	labpat : sym AS typedpat .  (reduce by rule 333)
++
++	RBRACE	reduce by rule 333
++	COMMA	reduce by rule 333
++	COLON	shift 316
++
++
++	.	error
++
++
++state 443:
++
++	typedexp : typedexp . COLON ty 
++	labpat : sym WHERE typedexp .  (reduce by rule 334)
++	labpat : sym WHERE typedexp . IN typedpat 
++
++	IN	shift 537
++	RBRACE	reduce by rule 334
++	COMMA	reduce by rule 334
++	COLON	shift 458
++
++
++	.	error
++
++
++state 444:
++
++	typedpat : typedpat . COLON ty 
++	labpat : sym EQ typedpat .  (reduce by rule 332)
++
++	RBRACE	reduce by rule 332
++	COMMA	reduce by rule 332
++	COLON	shift 316
++
++
++	.	error
++
++
++state 445:
++
++	apat : LBRACKET pats RBRACKET CONCAT . sym 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 538
++	symb	goto 67
++
++	.	error
++
++
++state 446:
++
++	typedpat : typedpat COLON ty .  (reduce by rule 318)
++	ty : ty . ARROW ty 
++
++	AND	reduce by rule 318
++	RPAREN	reduce by rule 318
++	RBRACKET	reduce by rule 318
++	RBRACE	reduce by rule 318
++	COMMA	reduce by rule 318
++	COLON	reduce by rule 318
++	BAR	reduce by rule 318
++	ARROW	shift 388
++	DARROW	reduce by rule 318
++	WHERE	reduce by rule 318
++	EXCEPTION	reduce by rule 318
++
++
++	.	error
++
++
++state 447:
++
++	pats1 : typedpat COMMA pats1 .  (reduce by rule 324)
++
++	RPAREN	reduce by rule 324
++	RBRACKET	reduce by rule 324
++
++
++	.	error
++
++
++state 448:
++
++	typedexp : typedexp . COLON ty 
++	apat : LPAREN typedpat WHERE typedexp . RPAREN 
++	apat : LPAREN typedpat WHERE typedexp . IN typedpat RPAREN 
++
++	IN	shift 540
++	RPAREN	shift 539
++	COLON	shift 458
++
++
++	.	error
++
++
++state 449:
++
++	orpats2 : typedpat BAR orpats2 .  (reduce by rule 307)
++
++	RPAREN	reduce by rule 307
++
++
++	.	error
++
++
++state 450:
++
++	typedpat : typedpat . COLON ty 
++	orpats2 : typedpat . BAR typedpat 
++	orpats2 : typedpat BAR typedpat .  (reduce by rule 306)
++	orpats2 : typedpat . BAR orpats2 
++
++	RPAREN	reduce by rule 306
++	COLON	shift 316
++	BAR	shift 322
++
++
++	.	error
++
++
++state 451:
++
++	pats2 : typedpat COMMA pats1 .  (reduce by rule 325)
++
++	RPAREN	reduce by rule 325
++
++
++	.	error
++
++
++state 452:
++
++	andpats2 : typedpat AND andpats2 .  (reduce by rule 309)
++
++	RPAREN	reduce by rule 309
++
++
++	.	error
++
++
++state 453:
++
++	typedpat : typedpat . COLON ty 
++	andpats2 : typedpat . AND typedpat 
++	andpats2 : typedpat AND typedpat .  (reduce by rule 308)
++	andpats2 : typedpat . AND andpats2 
++
++	AND	shift 325
++	RPAREN	reduce by rule 308
++	COLON	shift 316
++
++
++	.	error
++
++
++state 454:
++
++	pipelineclause : id pat EQ LBRACKET . cycles0 RBRACKET 
++
++	LPAREN	shift 545
++	RBRACKET	reduce by rule 45
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 544
++	cycles0	goto 543
++	cycles	goto 542
++	cycle	goto 541
++
++	.	error
++
++
++state 455:
++
++	sigsubs : sigsub AND . sigsubs 
++
++	TYPE	shift 333
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 114
++	ident	goto 332
++	ident2	goto 112
++	path	goto 85
++	sigsub	goto 331
++	sigsubs	goto 546
++
++	.	error
++
++
++state 456:
++
++	sigsub : ident EQ . structexp 
++
++	CELLSET	shift 50
++	STRUCT	shift 364
++	ID	shift 49
++	SYMBOL	shift 48
++
++	structexp	goto 547
++	id	goto 114
++	ident	goto 362
++	ident2	goto 112
++	path	goto 85
++
++	.	error
++
++
++state 457:
++
++	sigsub : TYPE ident . EQ ty 
++
++	EQ	shift 548
++
++
++	.	error
++
++
++state 458:
++
++	typedexp : typedexp COLON . ty 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	ty	goto 549
++	aty	goto 263
++	appty	goto 262
++	tuplety	goto 261
++	tyvar	goto 260
++
++	.	error
++
++
++state 459:
++
++	funclause : apppat funguard return_ty cont . EQ typedexp 
++
++	EQ	shift 550
++
++
++	.	error
++
++
++state 460:
++
++	cont : EXCEPTION . id 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 551
++
++	.	error
++
++
++state 461:
++
++	ty : ty . ARROW ty 
++	return_ty : COLON ty .  (reduce by rule 345)
++
++	EQ	reduce by rule 345
++	ARROW	shift 388
++	EXCEPTION	reduce by rule 345
++
++
++	.	error
++
++
++state 462:
++
++	typedexp : typedexp . COLON ty 
++	funguard : WHERE LPAREN typedexp . RPAREN 
++
++	RPAREN	shift 552
++	COLON	shift 458
++
++
++	.	error
++
++
++state 463:
++
++	consbind : sym of_ty consassembly consencoding . rtl nop nullified delayslot delayslotcandidate sdi latency pipeline 
++
++	ARCHITECTURE	reduce by rule 117
++	END	reduce by rule 117
++	LOCAL	reduce by rule 117
++	IN	reduce by rule 117
++	DATATYPE	reduce by rule 117
++	TYPE	reduce by rule 117
++	AND	reduce by rule 117
++	RPAREN	reduce by rule 117
++	SEMICOLON	reduce by rule 117
++	STORAGE	reduce by rule 117
++	LOCATIONS	reduce by rule 117
++	BAR	reduce by rule 117
++	STRUCTURE	reduce by rule 117
++	FUNCTOR	reduce by rule 117
++	SIGNATURE	reduce by rule 117
++	SHARING	reduce by rule 117
++	INSTRUCTION	reduce by rule 117
++	VLIW	reduce by rule 117
++	SUPERSCALAR	reduce by rule 117
++	WITHTYPE	reduce by rule 117
++	FUN	reduce by rule 117
++	VAL	reduce by rule 117
++	INCLUDE	reduce by rule 117
++	OPEN	reduce by rule 117
++	LITTLE	reduce by rule 117
++	BIG	reduce by rule 117
++	PIPELINE	reduce by rule 117
++	LOWERCASE	reduce by rule 117
++	UPPERCASE	reduce by rule 117
++	VERBATIM	reduce by rule 117
++	RTL	reduce by rule 117
++	SPAN	reduce by rule 117
++	DELAYSLOT	reduce by rule 117
++	NONFIX	reduce by rule 117
++	INFIX	reduce by rule 117
++	INFIXR	reduce by rule 117
++	DEBUG	reduce by rule 117
++	RTL_COLON	shift 554
++	DELAYSLOT_COLON	reduce by rule 117
++	NULLIFIED_COLON	reduce by rule 117
++	PADDING_COLON	reduce by rule 117
++	RESOURCE	reduce by rule 117
++	CPU	reduce by rule 117
++	LATENCY	reduce by rule 117
++	EXCEPTION	reduce by rule 117
++	EOF	reduce by rule 117
++
++	rtl	goto 553
++
++	.	error
++
++
++state 464:
++
++	unsignedint : int .  (reduce by rule 221)
++
++	ARCHITECTURE	reduce by rule 221
++	END	reduce by rule 221
++	LOCAL	reduce by rule 221
++	IN	reduce by rule 221
++	DATATYPE	reduce by rule 221
++	TYPE	reduce by rule 221
++	AND	reduce by rule 221
++	RPAREN	reduce by rule 221
++	RBRACE	reduce by rule 221
++	SEMICOLON	reduce by rule 221
++	STORAGE	reduce by rule 221
++	LOCATIONS	reduce by rule 221
++	COMMA	reduce by rule 221
++	BAR	reduce by rule 221
++	STRUCTURE	reduce by rule 221
++	FUNCTOR	reduce by rule 221
++	SIGNATURE	reduce by rule 221
++	SHARING	reduce by rule 221
++	INSTRUCTION	reduce by rule 221
++	VLIW	reduce by rule 221
++	SUPERSCALAR	reduce by rule 221
++	WITHTYPE	reduce by rule 221
++	FUN	reduce by rule 221
++	VAL	reduce by rule 221
++	INCLUDE	reduce by rule 221
++	OPEN	reduce by rule 221
++	LITTLE	reduce by rule 221
++	BIG	reduce by rule 221
++	PIPELINE	reduce by rule 221
++	LOWERCASE	reduce by rule 221
++	UPPERCASE	reduce by rule 221
++	VERBATIM	reduce by rule 221
++	RTL	reduce by rule 221
++	SPAN	reduce by rule 221
++	DELAYSLOT	reduce by rule 221
++	NONFIX	reduce by rule 221
++	INFIX	reduce by rule 221
++	INFIXR	reduce by rule 221
++	DEBUG	reduce by rule 221
++	RTL_COLON	reduce by rule 221
++	DELAYSLOT_COLON	reduce by rule 221
++	NULLIFIED_COLON	reduce by rule 221
++	PADDING_COLON	reduce by rule 221
++	RESOURCE	reduce by rule 221
++	CPU	reduce by rule 221
++	LATENCY	reduce by rule 221
++	EXCEPTION	reduce by rule 221
++	EOF	reduce by rule 221
++
++
++	.	error
++
++
++state 465:
++
++	consencoding : unsignedint .  (reduce by rule 177)
++
++	ARCHITECTURE	reduce by rule 177
++	END	reduce by rule 177
++	LOCAL	reduce by rule 177
++	IN	reduce by rule 177
++	DATATYPE	reduce by rule 177
++	TYPE	reduce by rule 177
++	AND	reduce by rule 177
++	RPAREN	reduce by rule 177
++	SEMICOLON	reduce by rule 177
++	STORAGE	reduce by rule 177
++	LOCATIONS	reduce by rule 177
++	BAR	reduce by rule 177
++	STRUCTURE	reduce by rule 177
++	FUNCTOR	reduce by rule 177
++	SIGNATURE	reduce by rule 177
++	SHARING	reduce by rule 177
++	INSTRUCTION	reduce by rule 177
++	VLIW	reduce by rule 177
++	SUPERSCALAR	reduce by rule 177
++	WITHTYPE	reduce by rule 177
++	FUN	reduce by rule 177
++	VAL	reduce by rule 177
++	INCLUDE	reduce by rule 177
++	OPEN	reduce by rule 177
++	LITTLE	reduce by rule 177
++	BIG	reduce by rule 177
++	PIPELINE	reduce by rule 177
++	LOWERCASE	reduce by rule 177
++	UPPERCASE	reduce by rule 177
++	VERBATIM	reduce by rule 177
++	RTL	reduce by rule 177
++	SPAN	reduce by rule 177
++	DELAYSLOT	reduce by rule 177
++	NONFIX	reduce by rule 177
++	INFIX	reduce by rule 177
++	INFIXR	reduce by rule 177
++	DEBUG	reduce by rule 177
++	RTL_COLON	reduce by rule 177
++	DELAYSLOT_COLON	reduce by rule 177
++	NULLIFIED_COLON	reduce by rule 177
++	PADDING_COLON	reduce by rule 177
++	RESOURCE	reduce by rule 177
++	CPU	reduce by rule 177
++	LATENCY	reduce by rule 177
++	EXCEPTION	reduce by rule 177
++	EOF	reduce by rule 177
++
++
++	.	error
++
++
++state 466:
++
++	unsignedint : word .  (reduce by rule 222)
++
++	ARCHITECTURE	reduce by rule 222
++	END	reduce by rule 222
++	LOCAL	reduce by rule 222
++	IN	reduce by rule 222
++	DATATYPE	reduce by rule 222
++	TYPE	reduce by rule 222
++	AND	reduce by rule 222
++	RPAREN	reduce by rule 222
++	RBRACE	reduce by rule 222
++	SEMICOLON	reduce by rule 222
++	STORAGE	reduce by rule 222
++	LOCATIONS	reduce by rule 222
++	COMMA	reduce by rule 222
++	BAR	reduce by rule 222
++	STRUCTURE	reduce by rule 222
++	FUNCTOR	reduce by rule 222
++	SIGNATURE	reduce by rule 222
++	SHARING	reduce by rule 222
++	INSTRUCTION	reduce by rule 222
++	VLIW	reduce by rule 222
++	SUPERSCALAR	reduce by rule 222
++	WITHTYPE	reduce by rule 222
++	FUN	reduce by rule 222
++	VAL	reduce by rule 222
++	INCLUDE	reduce by rule 222
++	OPEN	reduce by rule 222
++	LITTLE	reduce by rule 222
++	BIG	reduce by rule 222
++	PIPELINE	reduce by rule 222
++	LOWERCASE	reduce by rule 222
++	UPPERCASE	reduce by rule 222
++	VERBATIM	reduce by rule 222
++	RTL	reduce by rule 222
++	SPAN	reduce by rule 222
++	DELAYSLOT	reduce by rule 222
++	NONFIX	reduce by rule 222
++	INFIX	reduce by rule 222
++	INFIXR	reduce by rule 222
++	DEBUG	reduce by rule 222
++	RTL_COLON	reduce by rule 222
++	DELAYSLOT_COLON	reduce by rule 222
++	NULLIFIED_COLON	reduce by rule 222
++	PADDING_COLON	reduce by rule 222
++	RESOURCE	reduce by rule 222
++	CPU	reduce by rule 222
++	LATENCY	reduce by rule 222
++	EXCEPTION	reduce by rule 222
++	EOF	reduce by rule 222
++
++
++	.	error
++
++
++state 467:
++
++	consencoding : id . LBRACE labexps0 RBRACE 
++
++	LBRACE	shift 555
++
++
++	.	error
++
++
++state 468:
++
++	consencoding : MC_COLON . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 556
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 469:
++
++	consencoding : LPAREN . expseq RPAREN 
++	consencoding : LPAREN . exps2 RPAREN 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 559
++	exps2	goto 558
++	expseq	goto 557
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 470:
++
++	exp : exp . HANDLE clauses 
++	consassembly : ASM_COLON exp .  (reduce by rule 185)
++
++	ARCHITECTURE	reduce by rule 185
++	END	reduce by rule 185
++	LOCAL	reduce by rule 185
++	IN	reduce by rule 185
++	DATATYPE	reduce by rule 185
++	TYPE	reduce by rule 185
++	AND	reduce by rule 185
++	LPAREN	reduce by rule 185
++	RPAREN	reduce by rule 185
++	SEMICOLON	reduce by rule 185
++	CELLSET	reduce by rule 185
++	STORAGE	reduce by rule 185
++	LOCATIONS	reduce by rule 185
++	BAR	reduce by rule 185
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 185
++	FUNCTOR	reduce by rule 185
++	SIGNATURE	reduce by rule 185
++	SHARING	reduce by rule 185
++	INSTRUCTION	reduce by rule 185
++	VLIW	reduce by rule 185
++	SUPERSCALAR	reduce by rule 185
++	WITHTYPE	reduce by rule 185
++	FUN	reduce by rule 185
++	VAL	reduce by rule 185
++	INCLUDE	reduce by rule 185
++	OPEN	reduce by rule 185
++	LITTLE	reduce by rule 185
++	BIG	reduce by rule 185
++	PIPELINE	reduce by rule 185
++	LOWERCASE	reduce by rule 185
++	UPPERCASE	reduce by rule 185
++	VERBATIM	reduce by rule 185
++	RTL	reduce by rule 185
++	SPAN	reduce by rule 185
++	DELAYSLOT	reduce by rule 185
++	NONFIX	reduce by rule 185
++	INFIX	reduce by rule 185
++	INFIXR	reduce by rule 185
++	DEBUG	reduce by rule 185
++	MC_COLON	reduce by rule 185
++	RTL_COLON	reduce by rule 185
++	DELAYSLOT_COLON	reduce by rule 185
++	NULLIFIED_COLON	reduce by rule 185
++	PADDING_COLON	reduce by rule 185
++	RESOURCE	reduce by rule 185
++	CPU	reduce by rule 185
++	LATENCY	reduce by rule 185
++	EXCEPTION	reduce by rule 185
++	ID	reduce by rule 185
++	SYMBOL	reduce by rule 185
++	WORD	reduce by rule 185
++	INT	reduce by rule 185
++	EOF	reduce by rule 185
++
++
++	.	error
++
++
++state 471:
++
++	formatbinds : formatbind BAR formatbinds .  (reduce by rule 205)
++
++	ARCHITECTURE	reduce by rule 205
++	END	reduce by rule 205
++	LOCAL	reduce by rule 205
++	IN	reduce by rule 205
++	DATATYPE	reduce by rule 205
++	TYPE	reduce by rule 205
++	RPAREN	reduce by rule 205
++	SEMICOLON	reduce by rule 205
++	STORAGE	reduce by rule 205
++	LOCATIONS	reduce by rule 205
++	STRUCTURE	reduce by rule 205
++	FUNCTOR	reduce by rule 205
++	SIGNATURE	reduce by rule 205
++	SHARING	reduce by rule 205
++	INSTRUCTION	reduce by rule 205
++	VLIW	reduce by rule 205
++	SUPERSCALAR	reduce by rule 205
++	FUN	reduce by rule 205
++	VAL	reduce by rule 205
++	INCLUDE	reduce by rule 205
++	OPEN	reduce by rule 205
++	LITTLE	reduce by rule 205
++	BIG	reduce by rule 205
++	PIPELINE	reduce by rule 205
++	LOWERCASE	reduce by rule 205
++	UPPERCASE	reduce by rule 205
++	VERBATIM	reduce by rule 205
++	RTL	reduce by rule 205
++	NONFIX	reduce by rule 205
++	INFIX	reduce by rule 205
++	INFIXR	reduce by rule 205
++	DEBUG	reduce by rule 205
++	RESOURCE	reduce by rule 205
++	CPU	reduce by rule 205
++	LATENCY	reduce by rule 205
++	EXCEPTION	reduce by rule 205
++	EOF	reduce by rule 205
++
++
++	.	error
++
++
++state 472:
++
++	mymddecl : INSTRUCTION FORMATS int BITS formatbinds .  (reduce by rule 18)
++
++	ARCHITECTURE	reduce by rule 18
++	END	reduce by rule 18
++	LOCAL	reduce by rule 18
++	IN	reduce by rule 18
++	DATATYPE	reduce by rule 18
++	TYPE	reduce by rule 18
++	RPAREN	reduce by rule 18
++	SEMICOLON	reduce by rule 18
++	STORAGE	reduce by rule 18
++	LOCATIONS	reduce by rule 18
++	STRUCTURE	reduce by rule 18
++	FUNCTOR	reduce by rule 18
++	SIGNATURE	reduce by rule 18
++	SHARING	reduce by rule 18
++	INSTRUCTION	reduce by rule 18
++	VLIW	reduce by rule 18
++	SUPERSCALAR	reduce by rule 18
++	FUN	reduce by rule 18
++	VAL	reduce by rule 18
++	INCLUDE	reduce by rule 18
++	OPEN	reduce by rule 18
++	LITTLE	reduce by rule 18
++	BIG	reduce by rule 18
++	PIPELINE	reduce by rule 18
++	LOWERCASE	reduce by rule 18
++	UPPERCASE	reduce by rule 18
++	VERBATIM	reduce by rule 18
++	RTL	reduce by rule 18
++	NONFIX	reduce by rule 18
++	INFIX	reduce by rule 18
++	INFIXR	reduce by rule 18
++	DEBUG	reduce by rule 18
++	RESOURCE	reduce by rule 18
++	CPU	reduce by rule 18
++	LATENCY	reduce by rule 18
++	EXCEPTION	reduce by rule 18
++	EOF	reduce by rule 18
++
++
++	.	error
++
++
++state 473:
++
++	formatbind : id opt_of LBRACE . fields RBRACE opt_exp 
++
++	CELLSET	shift 50
++	WILD	shift 564
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 563
++	field	goto 562
++	fieldid	goto 561
++	fields	goto 560
++
++	.	error
++
++
++state 474:
++
++	mymldecl : FUNCTOR id LPAREN functorarg RPAREN . EQ structexp 
++	mymldecl : FUNCTOR id LPAREN functorarg RPAREN . sigcon EQ structexp 
++
++	EQ	shift 566
++	COLON	shift 476
++	COLONGREATER	shift 233
++
++	sigcon	goto 565
++
++	.	error
++
++
++state 475:
++
++	functorarg : id sigcon .  (reduce by rule 89)
++
++	RPAREN	reduce by rule 89
++
++
++	.	error
++
++
++state 476:
++
++	sigcon : COLON . sigexp 
++
++	CELLSET	shift 50
++	SIG	shift 118
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 114
++	ident	goto 117
++	ident2	goto 112
++	path	goto 85
++	sigexp	goto 567
++
++	.	error
++
++
++state 477:
++
++	structexp : structexp LPAREN . scopeddecls RPAREN 
++	structexp : structexp LPAREN . ident RPAREN 
++
++	ARCHITECTURE	reduce by rule 107
++	LOCAL	reduce by rule 107
++	DATATYPE	reduce by rule 107
++	TYPE	reduce by rule 107
++	RPAREN	reduce by rule 107
++	CELLSET	shift 50
++	STORAGE	reduce by rule 107
++	LOCATIONS	reduce by rule 107
++	STRUCTURE	reduce by rule 107
++	FUNCTOR	reduce by rule 107
++	SIGNATURE	reduce by rule 107
++	SHARING	reduce by rule 107
++	INSTRUCTION	reduce by rule 107
++	VLIW	reduce by rule 107
++	SUPERSCALAR	reduce by rule 107
++	FUN	reduce by rule 107
++	VAL	reduce by rule 107
++	INCLUDE	reduce by rule 107
++	OPEN	reduce by rule 107
++	LITTLE	reduce by rule 107
++	BIG	reduce by rule 107
++	PIPELINE	reduce by rule 107
++	LOWERCASE	reduce by rule 107
++	UPPERCASE	reduce by rule 107
++	VERBATIM	reduce by rule 107
++	RTL	reduce by rule 107
++	NONFIX	reduce by rule 107
++	INFIX	reduce by rule 107
++	INFIXR	reduce by rule 107
++	DEBUG	reduce by rule 107
++	RESOURCE	reduce by rule 107
++	CPU	reduce by rule 107
++	LATENCY	reduce by rule 107
++	EXCEPTION	reduce by rule 107
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 114
++	ident	goto 569
++	ident2	goto 112
++	path	goto 85
++	scopeddecls	goto 568
++	newScope	goto 164
++
++	.	error
++
++
++state 478:
++
++	structexp : STRUCT scopeddecls . END 
++
++	END	shift 570
++
++
++	.	error
++
++
++state 479:
++
++	structexp : structexp . LPAREN scopeddecls RPAREN 
++	structexp : structexp . LPAREN ident RPAREN 
++	mymldecl : STRUCTURE id sigcon EQ structexp .  (reduce by rule 70)
++
++	ARCHITECTURE	reduce by rule 70
++	END	reduce by rule 70
++	LOCAL	reduce by rule 70
++	IN	reduce by rule 70
++	DATATYPE	reduce by rule 70
++	TYPE	reduce by rule 70
++	LPAREN	shift 477
++	RPAREN	reduce by rule 70
++	SEMICOLON	reduce by rule 70
++	STORAGE	reduce by rule 70
++	LOCATIONS	reduce by rule 70
++	STRUCTURE	reduce by rule 70
++	FUNCTOR	reduce by rule 70
++	SIGNATURE	reduce by rule 70
++	SHARING	reduce by rule 70
++	INSTRUCTION	reduce by rule 70
++	VLIW	reduce by rule 70
++	SUPERSCALAR	reduce by rule 70
++	FUN	reduce by rule 70
++	VAL	reduce by rule 70
++	INCLUDE	reduce by rule 70
++	OPEN	reduce by rule 70
++	LITTLE	reduce by rule 70
++	BIG	reduce by rule 70
++	PIPELINE	reduce by rule 70
++	LOWERCASE	reduce by rule 70
++	UPPERCASE	reduce by rule 70
++	VERBATIM	reduce by rule 70
++	RTL	reduce by rule 70
++	NONFIX	reduce by rule 70
++	INFIX	reduce by rule 70
++	INFIXR	reduce by rule 70
++	DEBUG	reduce by rule 70
++	RESOURCE	reduce by rule 70
++	CPU	reduce by rule 70
++	LATENCY	reduce by rule 70
++	EXCEPTION	reduce by rule 70
++	EOF	reduce by rule 70
++
++
++	.	error
++
++
++state 480:
++
++	exp : exp . HANDLE clauses 
++	locbind : id pat EQ exp .  (reduce by rule 391)
++
++	ARCHITECTURE	reduce by rule 391
++	END	reduce by rule 391
++	LOCAL	reduce by rule 391
++	IN	reduce by rule 391
++	DATATYPE	reduce by rule 391
++	TYPE	reduce by rule 391
++	AND	reduce by rule 391
++	RPAREN	reduce by rule 391
++	SEMICOLON	reduce by rule 391
++	STORAGE	reduce by rule 391
++	LOCATIONS	reduce by rule 391
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 391
++	FUNCTOR	reduce by rule 391
++	SIGNATURE	reduce by rule 391
++	SHARING	reduce by rule 391
++	INSTRUCTION	reduce by rule 391
++	VLIW	reduce by rule 391
++	SUPERSCALAR	reduce by rule 391
++	FUN	reduce by rule 391
++	VAL	reduce by rule 391
++	INCLUDE	reduce by rule 391
++	OPEN	reduce by rule 391
++	LITTLE	reduce by rule 391
++	BIG	reduce by rule 391
++	PIPELINE	reduce by rule 391
++	LOWERCASE	reduce by rule 391
++	UPPERCASE	reduce by rule 391
++	VERBATIM	reduce by rule 391
++	RTL	reduce by rule 391
++	NONFIX	reduce by rule 391
++	INFIX	reduce by rule 391
++	INFIXR	reduce by rule 391
++	DEBUG	reduce by rule 391
++	RESOURCE	reduce by rule 391
++	CPU	reduce by rule 391
++	LATENCY	reduce by rule 391
++	EXCEPTION	reduce by rule 391
++	EOF	reduce by rule 391
++
++
++	.	error
++
++
++state 481:
++
++	storagedecl : id EQ DOLLAR id . LBRACKET cellcount RBRACKET bitSize aliasing defaults printcell 
++
++	LBRACKET	shift 571
++
++
++	.	error
++
++
++state 482:
++
++	ty : ty . ARROW ty 
++	typebind : tyvarseq tid EQ ty .  (reduce by rule 198)
++
++	ARCHITECTURE	reduce by rule 198
++	END	reduce by rule 198
++	LOCAL	reduce by rule 198
++	IN	reduce by rule 198
++	DATATYPE	reduce by rule 198
++	TYPE	reduce by rule 198
++	AND	reduce by rule 198
++	RPAREN	reduce by rule 198
++	SEMICOLON	reduce by rule 198
++	STORAGE	reduce by rule 198
++	LOCATIONS	reduce by rule 198
++	ARROW	shift 388
++	STRUCTURE	reduce by rule 198
++	FUNCTOR	reduce by rule 198
++	SIGNATURE	reduce by rule 198
++	SHARING	reduce by rule 198
++	INSTRUCTION	reduce by rule 198
++	VLIW	reduce by rule 198
++	SUPERSCALAR	reduce by rule 198
++	FUN	reduce by rule 198
++	VAL	reduce by rule 198
++	INCLUDE	reduce by rule 198
++	OPEN	reduce by rule 198
++	LITTLE	reduce by rule 198
++	BIG	reduce by rule 198
++	PIPELINE	reduce by rule 198
++	LOWERCASE	reduce by rule 198
++	UPPERCASE	reduce by rule 198
++	VERBATIM	reduce by rule 198
++	RTL	reduce by rule 198
++	NONFIX	reduce by rule 198
++	INFIX	reduce by rule 198
++	INFIXR	reduce by rule 198
++	DEBUG	reduce by rule 198
++	RESOURCE	reduce by rule 198
++	CPU	reduce by rule 198
++	LATENCY	reduce by rule 198
++	EXCEPTION	reduce by rule 198
++	EOF	reduce by rule 198
++
++
++	.	error
++
++
++state 483:
++
++	typebind : tyvarseq tid . EQ ty 
++
++	EQ	shift 374
++
++
++	.	error
++
++
++state 484:
++
++	tyvars : tyvar COMMA tyvars .  (reduce by rule 203)
++
++	RPAREN	reduce by rule 203
++
++
++	.	error
++
++
++state 485:
++
++	datatypebind : tyvarseq id opcodeencoding fieldty . hasasm EQ consbinds 
++	datatypebind : tyvarseq id opcodeencoding fieldty . hasasm EQ DATATYPE ty 
++
++	EQ	reduce by rule 132
++	DEREF	shift 573
++
++	hasasm	goto 572
++
++	.	error
++
++
++state 486:
++
++	fieldty : COLON . id 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 574
++
++	.	error
++
++
++state 487:
++
++	opcodeencoding : LBRACKET encodingexps . RBRACKET 
++
++	RBRACKET	shift 575
++
++
++	.	error
++
++
++state 488:
++
++	encodingexps : encodingexp .  (reduce by rule 137)
++	encodingexps : encodingexp . COMMA encodingexps 
++
++	RBRACKET	reduce by rule 137
++	COMMA	shift 576
++
++
++	.	error
++
++
++state 489:
++
++	encodingexp : int .  (reduce by rule 139)
++	encodingexp : int . DOTDOT int 
++	encodingexp : int . int DOTDOT int 
++
++	RBRACKET	reduce by rule 139
++	COMMA	reduce by rule 139
++	DOTDOT	shift 578
++	INT	shift 64
++
++	int	goto 577
++
++	.	error
++
++
++state 490:
++
++	mymldecl : LOCAL scopeddecls IN scopeddecls END .  (reduce by rule 68)
++
++	ARCHITECTURE	reduce by rule 68
++	END	reduce by rule 68
++	LOCAL	reduce by rule 68
++	IN	reduce by rule 68
++	DATATYPE	reduce by rule 68
++	TYPE	reduce by rule 68
++	RPAREN	reduce by rule 68
++	SEMICOLON	reduce by rule 68
++	STORAGE	reduce by rule 68
++	LOCATIONS	reduce by rule 68
++	STRUCTURE	reduce by rule 68
++	FUNCTOR	reduce by rule 68
++	SIGNATURE	reduce by rule 68
++	SHARING	reduce by rule 68
++	INSTRUCTION	reduce by rule 68
++	VLIW	reduce by rule 68
++	SUPERSCALAR	reduce by rule 68
++	FUN	reduce by rule 68
++	VAL	reduce by rule 68
++	INCLUDE	reduce by rule 68
++	OPEN	reduce by rule 68
++	LITTLE	reduce by rule 68
++	BIG	reduce by rule 68
++	PIPELINE	reduce by rule 68
++	LOWERCASE	reduce by rule 68
++	UPPERCASE	reduce by rule 68
++	VERBATIM	reduce by rule 68
++	RTL	reduce by rule 68
++	NONFIX	reduce by rule 68
++	INFIX	reduce by rule 68
++	INFIXR	reduce by rule 68
++	DEBUG	reduce by rule 68
++	RESOURCE	reduce by rule 68
++	CPU	reduce by rule 68
++	LATENCY	reduce by rule 68
++	EXCEPTION	reduce by rule 68
++	EOF	reduce by rule 68
++
++
++	.	error
++
++
++state 491:
++
++	mymddecl : ARCHITECTURE id EQ STRUCT decls . END 
++
++	END	shift 579
++
++
++	.	error
++
++
++state 492:
++
++	tuplety : appty TIMES tuplety .  (reduce by rule 380)
++
++	ARCHITECTURE	reduce by rule 380
++	END	reduce by rule 380
++	LOCAL	reduce by rule 380
++	IN	reduce by rule 380
++	OF	reduce by rule 380
++	DATATYPE	reduce by rule 380
++	TYPE	reduce by rule 380
++	EQ	reduce by rule 380
++	AND	reduce by rule 380
++	LPAREN	reduce by rule 380
++	RPAREN	reduce by rule 380
++	RBRACKET	reduce by rule 380
++	RBRACE	reduce by rule 380
++	SEMICOLON	reduce by rule 380
++	LDQUOTE	reduce by rule 380
++	CELLSET	reduce by rule 380
++	STORAGE	reduce by rule 380
++	LOCATIONS	reduce by rule 380
++	COMMA	reduce by rule 380
++	COLON	reduce by rule 380
++	BAR	reduce by rule 380
++	ARROW	reduce by rule 380
++	DARROW	reduce by rule 380
++	THEN	reduce by rule 380
++	ELSE	reduce by rule 380
++	STRUCTURE	reduce by rule 380
++	FUNCTOR	reduce by rule 380
++	SIGNATURE	reduce by rule 380
++	WHERE	reduce by rule 380
++	SHARING	reduce by rule 380
++	INSTRUCTION	reduce by rule 380
++	VLIW	reduce by rule 380
++	SUPERSCALAR	reduce by rule 380
++	WITHTYPE	reduce by rule 380
++	FUN	reduce by rule 380
++	VAL	reduce by rule 380
++	INCLUDE	reduce by rule 380
++	OPEN	reduce by rule 380
++	LITTLE	reduce by rule 380
++	BIG	reduce by rule 380
++	PIPELINE	reduce by rule 380
++	LOWERCASE	reduce by rule 380
++	UPPERCASE	reduce by rule 380
++	VERBATIM	reduce by rule 380
++	RTL	reduce by rule 380
++	SPAN	reduce by rule 380
++	DELAYSLOT	reduce by rule 380
++	NONFIX	reduce by rule 380
++	INFIX	reduce by rule 380
++	INFIXR	reduce by rule 380
++	DEBUG	reduce by rule 380
++	ASM_COLON	reduce by rule 380
++	MC_COLON	reduce by rule 380
++	RTL_COLON	reduce by rule 380
++	DELAYSLOT_COLON	reduce by rule 380
++	NULLIFIED_COLON	reduce by rule 380
++	PADDING_COLON	reduce by rule 380
++	RESOURCE	reduce by rule 380
++	CPU	reduce by rule 380
++	LATENCY	reduce by rule 380
++	EXCEPTION	reduce by rule 380
++	ID	reduce by rule 380
++	SYMBOL	reduce by rule 380
++	WORD	reduce by rule 380
++	INT	reduce by rule 380
++	STRING	reduce by rule 380
++	EOF	reduce by rule 380
++
++
++	.	error
++
++error:  state 493: shift/reduce conflict (shift SYMBOL, reduce by rule 379)
++error:  state 493: shift/reduce conflict (shift ID, reduce by rule 379)
++error:  state 493: shift/reduce conflict (shift INSTRUCTION, reduce by rule 379)
++error:  state 493: shift/reduce conflict (shift CELLSET, reduce by rule 379)
++
++state 493:
++
++	appty : appty . tident 
++	tuplety : appty . TIMES appty 
++	tuplety : appty TIMES appty .  (reduce by rule 379)
++	tuplety : appty . TIMES tuplety 
++
++	ARCHITECTURE	reduce by rule 379
++	END	reduce by rule 379
++	LOCAL	reduce by rule 379
++	IN	reduce by rule 379
++	OF	reduce by rule 379
++	DATATYPE	reduce by rule 379
++	TYPE	reduce by rule 379
++	EQ	reduce by rule 379
++	TIMES	shift 387
++	AND	reduce by rule 379
++	LPAREN	reduce by rule 379
++	RPAREN	reduce by rule 379
++	RBRACKET	reduce by rule 379
++	RBRACE	reduce by rule 379
++	SEMICOLON	reduce by rule 379
++	LDQUOTE	reduce by rule 379
++	CELLSET	shift 50
++	STORAGE	reduce by rule 379
++	LOCATIONS	reduce by rule 379
++	COMMA	reduce by rule 379
++	COLON	reduce by rule 379
++	BAR	reduce by rule 379
++	ARROW	reduce by rule 379
++	DARROW	reduce by rule 379
++	BITS	shift 246
++	THEN	reduce by rule 379
++	ELSE	reduce by rule 379
++	STRUCTURE	reduce by rule 379
++	FUNCTOR	reduce by rule 379
++	SIGNATURE	reduce by rule 379
++	WHERE	reduce by rule 379
++	SHARING	reduce by rule 379
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	VLIW	reduce by rule 379
++	SUPERSCALAR	reduce by rule 379
++	WITHTYPE	reduce by rule 379
++	FUN	reduce by rule 379
++	VAL	reduce by rule 379
++	INCLUDE	reduce by rule 379
++	OPEN	reduce by rule 379
++	LITTLE	reduce by rule 379
++	BIG	reduce by rule 379
++	PIPELINE	reduce by rule 379
++	LOWERCASE	reduce by rule 379
++	UPPERCASE	reduce by rule 379
++	VERBATIM	reduce by rule 379
++	RTL	reduce by rule 379
++	SPAN	reduce by rule 379
++	DELAYSLOT	reduce by rule 379
++	NONFIX	reduce by rule 379
++	INFIX	reduce by rule 379
++	INFIXR	reduce by rule 379
++	DEBUG	reduce by rule 379
++	ASM_COLON	reduce by rule 379
++	MC_COLON	reduce by rule 379
++	RTL_COLON	reduce by rule 379
++	DELAYSLOT_COLON	reduce by rule 379
++	NULLIFIED_COLON	reduce by rule 379
++	PADDING_COLON	reduce by rule 379
++	RESOURCE	reduce by rule 379
++	CPU	reduce by rule 379
++	LATENCY	reduce by rule 379
++	EXCEPTION	reduce by rule 379
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	reduce by rule 379
++	INT	reduce by rule 379
++	STRING	reduce by rule 379
++	EOF	reduce by rule 379
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 386
++	tpath	goto 265
++
++	.	error
++
++
++state 494:
++
++	ty : ty . ARROW ty 
++	ty : ty ARROW ty .  (reduce by rule 371)
++
++	ARCHITECTURE	reduce by rule 371
++	END	reduce by rule 371
++	LOCAL	reduce by rule 371
++	IN	reduce by rule 371
++	OF	reduce by rule 371
++	DATATYPE	reduce by rule 371
++	TYPE	reduce by rule 371
++	EQ	reduce by rule 371
++	AND	reduce by rule 371
++	LPAREN	reduce by rule 371
++	RPAREN	reduce by rule 371
++	RBRACKET	reduce by rule 371
++	RBRACE	reduce by rule 371
++	SEMICOLON	reduce by rule 371
++	LDQUOTE	reduce by rule 371
++	CELLSET	reduce by rule 371
++	STORAGE	reduce by rule 371
++	LOCATIONS	reduce by rule 371
++	COMMA	reduce by rule 371
++	COLON	reduce by rule 371
++	BAR	reduce by rule 371
++	ARROW	shift 388
++	DARROW	reduce by rule 371
++	THEN	reduce by rule 371
++	ELSE	reduce by rule 371
++	STRUCTURE	reduce by rule 371
++	FUNCTOR	reduce by rule 371
++	SIGNATURE	reduce by rule 371
++	WHERE	reduce by rule 371
++	SHARING	reduce by rule 371
++	INSTRUCTION	reduce by rule 371
++	VLIW	reduce by rule 371
++	SUPERSCALAR	reduce by rule 371
++	WITHTYPE	reduce by rule 371
++	FUN	reduce by rule 371
++	VAL	reduce by rule 371
++	INCLUDE	reduce by rule 371
++	OPEN	reduce by rule 371
++	LITTLE	reduce by rule 371
++	BIG	reduce by rule 371
++	PIPELINE	reduce by rule 371
++	LOWERCASE	reduce by rule 371
++	UPPERCASE	reduce by rule 371
++	VERBATIM	reduce by rule 371
++	RTL	reduce by rule 371
++	SPAN	reduce by rule 371
++	DELAYSLOT	reduce by rule 371
++	NONFIX	reduce by rule 371
++	INFIX	reduce by rule 371
++	INFIXR	reduce by rule 371
++	DEBUG	reduce by rule 371
++	ASM_COLON	reduce by rule 371
++	MC_COLON	reduce by rule 371
++	RTL_COLON	reduce by rule 371
++	DELAYSLOT_COLON	reduce by rule 371
++	NULLIFIED_COLON	reduce by rule 371
++	PADDING_COLON	reduce by rule 371
++	RESOURCE	reduce by rule 371
++	CPU	reduce by rule 371
++	LATENCY	reduce by rule 371
++	EXCEPTION	reduce by rule 371
++	ID	reduce by rule 371
++	SYMBOL	reduce by rule 371
++	WORD	reduce by rule 371
++	INT	reduce by rule 371
++	STRING	reduce by rule 371
++	EOF	reduce by rule 371
++
++
++	.	error
++
++
++state 495:
++
++	tpath : tpath DOT tid .  (reduce by rule 368)
++
++	ARCHITECTURE	reduce by rule 368
++	END	reduce by rule 368
++	LOCAL	reduce by rule 368
++	IN	reduce by rule 368
++	OF	reduce by rule 368
++	DATATYPE	reduce by rule 368
++	TYPE	reduce by rule 368
++	EQ	reduce by rule 368
++	TIMES	reduce by rule 368
++	AND	reduce by rule 368
++	LPAREN	reduce by rule 368
++	RPAREN	reduce by rule 368
++	RBRACKET	reduce by rule 368
++	RBRACE	reduce by rule 368
++	SEMICOLON	reduce by rule 368
++	LDQUOTE	reduce by rule 368
++	CELLSET	reduce by rule 368
++	STORAGE	reduce by rule 368
++	LOCATIONS	reduce by rule 368
++	COMMA	reduce by rule 368
++	COLON	reduce by rule 368
++	DOT	reduce by rule 368
++	BAR	reduce by rule 368
++	ARROW	reduce by rule 368
++	DARROW	reduce by rule 368
++	BITS	reduce by rule 368
++	THEN	reduce by rule 368
++	ELSE	reduce by rule 368
++	STRUCTURE	reduce by rule 368
++	FUNCTOR	reduce by rule 368
++	SIGNATURE	reduce by rule 368
++	WHERE	reduce by rule 368
++	SHARING	reduce by rule 368
++	INSTRUCTION	reduce by rule 368
++	CELL	reduce by rule 368
++	VLIW	reduce by rule 368
++	SUPERSCALAR	reduce by rule 368
++	WITHTYPE	reduce by rule 368
++	FUN	reduce by rule 368
++	VAL	reduce by rule 368
++	INCLUDE	reduce by rule 368
++	OPEN	reduce by rule 368
++	LITTLE	reduce by rule 368
++	BIG	reduce by rule 368
++	PIPELINE	reduce by rule 368
++	LOWERCASE	reduce by rule 368
++	UPPERCASE	reduce by rule 368
++	VERBATIM	reduce by rule 368
++	RTL	reduce by rule 368
++	SPAN	reduce by rule 368
++	DELAYSLOT	reduce by rule 368
++	NONFIX	reduce by rule 368
++	INFIX	reduce by rule 368
++	INFIXR	reduce by rule 368
++	DEBUG	reduce by rule 368
++	ASM_COLON	reduce by rule 368
++	MC_COLON	reduce by rule 368
++	RTL_COLON	reduce by rule 368
++	DELAYSLOT_COLON	reduce by rule 368
++	NULLIFIED_COLON	reduce by rule 368
++	PADDING_COLON	reduce by rule 368
++	RESOURCE	reduce by rule 368
++	CPU	reduce by rule 368
++	LATENCY	reduce by rule 368
++	EXCEPTION	reduce by rule 368
++	ID	reduce by rule 368
++	SYMBOL	reduce by rule 368
++	WORD	reduce by rule 368
++	INT	reduce by rule 368
++	STRING	reduce by rule 368
++	EOF	reduce by rule 368
++
++
++	.	error
++
++
++state 496:
++
++	tpath : tid DOT tid .  (reduce by rule 367)
++
++	ARCHITECTURE	reduce by rule 367
++	END	reduce by rule 367
++	LOCAL	reduce by rule 367
++	IN	reduce by rule 367
++	OF	reduce by rule 367
++	DATATYPE	reduce by rule 367
++	TYPE	reduce by rule 367
++	EQ	reduce by rule 367
++	TIMES	reduce by rule 367
++	AND	reduce by rule 367
++	LPAREN	reduce by rule 367
++	RPAREN	reduce by rule 367
++	RBRACKET	reduce by rule 367
++	RBRACE	reduce by rule 367
++	SEMICOLON	reduce by rule 367
++	LDQUOTE	reduce by rule 367
++	CELLSET	reduce by rule 367
++	STORAGE	reduce by rule 367
++	LOCATIONS	reduce by rule 367
++	COMMA	reduce by rule 367
++	COLON	reduce by rule 367
++	DOT	reduce by rule 367
++	BAR	reduce by rule 367
++	ARROW	reduce by rule 367
++	DARROW	reduce by rule 367
++	BITS	reduce by rule 367
++	THEN	reduce by rule 367
++	ELSE	reduce by rule 367
++	STRUCTURE	reduce by rule 367
++	FUNCTOR	reduce by rule 367
++	SIGNATURE	reduce by rule 367
++	WHERE	reduce by rule 367
++	SHARING	reduce by rule 367
++	INSTRUCTION	reduce by rule 367
++	CELL	reduce by rule 367
++	VLIW	reduce by rule 367
++	SUPERSCALAR	reduce by rule 367
++	WITHTYPE	reduce by rule 367
++	FUN	reduce by rule 367
++	VAL	reduce by rule 367
++	INCLUDE	reduce by rule 367
++	OPEN	reduce by rule 367
++	LITTLE	reduce by rule 367
++	BIG	reduce by rule 367
++	PIPELINE	reduce by rule 367
++	LOWERCASE	reduce by rule 367
++	UPPERCASE	reduce by rule 367
++	VERBATIM	reduce by rule 367
++	RTL	reduce by rule 367
++	SPAN	reduce by rule 367
++	DELAYSLOT	reduce by rule 367
++	NONFIX	reduce by rule 367
++	INFIX	reduce by rule 367
++	INFIXR	reduce by rule 367
++	DEBUG	reduce by rule 367
++	ASM_COLON	reduce by rule 367
++	MC_COLON	reduce by rule 367
++	RTL_COLON	reduce by rule 367
++	DELAYSLOT_COLON	reduce by rule 367
++	NULLIFIED_COLON	reduce by rule 367
++	PADDING_COLON	reduce by rule 367
++	RESOURCE	reduce by rule 367
++	CPU	reduce by rule 367
++	LATENCY	reduce by rule 367
++	EXCEPTION	reduce by rule 367
++	ID	reduce by rule 367
++	SYMBOL	reduce by rule 367
++	WORD	reduce by rule 367
++	INT	reduce by rule 367
++	STRING	reduce by rule 367
++	EOF	reduce by rule 367
++
++
++	.	error
++
++
++state 497:
++
++	aty : LBRACE labtys RBRACE .  (reduce by rule 356)
++
++	ARCHITECTURE	reduce by rule 356
++	END	reduce by rule 356
++	LOCAL	reduce by rule 356
++	IN	reduce by rule 356
++	OF	reduce by rule 356
++	DATATYPE	reduce by rule 356
++	TYPE	reduce by rule 356
++	EQ	reduce by rule 356
++	TIMES	reduce by rule 356
++	AND	reduce by rule 356
++	LPAREN	reduce by rule 356
++	RPAREN	reduce by rule 356
++	RBRACKET	reduce by rule 356
++	RBRACE	reduce by rule 356
++	SEMICOLON	reduce by rule 356
++	LDQUOTE	reduce by rule 356
++	CELLSET	reduce by rule 356
++	STORAGE	reduce by rule 356
++	LOCATIONS	reduce by rule 356
++	COMMA	reduce by rule 356
++	COLON	reduce by rule 356
++	BAR	reduce by rule 356
++	ARROW	reduce by rule 356
++	DARROW	reduce by rule 356
++	BITS	reduce by rule 356
++	THEN	reduce by rule 356
++	ELSE	reduce by rule 356
++	STRUCTURE	reduce by rule 356
++	FUNCTOR	reduce by rule 356
++	SIGNATURE	reduce by rule 356
++	WHERE	reduce by rule 356
++	SHARING	reduce by rule 356
++	INSTRUCTION	reduce by rule 356
++	CELL	reduce by rule 356
++	VLIW	reduce by rule 356
++	SUPERSCALAR	reduce by rule 356
++	WITHTYPE	reduce by rule 356
++	FUN	reduce by rule 356
++	VAL	reduce by rule 356
++	INCLUDE	reduce by rule 356
++	OPEN	reduce by rule 356
++	LITTLE	reduce by rule 356
++	BIG	reduce by rule 356
++	PIPELINE	reduce by rule 356
++	LOWERCASE	reduce by rule 356
++	UPPERCASE	reduce by rule 356
++	VERBATIM	reduce by rule 356
++	RTL	reduce by rule 356
++	SPAN	reduce by rule 356
++	DELAYSLOT	reduce by rule 356
++	NONFIX	reduce by rule 356
++	INFIX	reduce by rule 356
++	INFIXR	reduce by rule 356
++	DEBUG	reduce by rule 356
++	ASM_COLON	reduce by rule 356
++	MC_COLON	reduce by rule 356
++	RTL_COLON	reduce by rule 356
++	DELAYSLOT_COLON	reduce by rule 356
++	NULLIFIED_COLON	reduce by rule 356
++	PADDING_COLON	reduce by rule 356
++	RESOURCE	reduce by rule 356
++	CPU	reduce by rule 356
++	LATENCY	reduce by rule 356
++	EXCEPTION	reduce by rule 356
++	ID	reduce by rule 356
++	SYMBOL	reduce by rule 356
++	WORD	reduce by rule 356
++	INT	reduce by rule 356
++	STRING	reduce by rule 356
++	EOF	reduce by rule 356
++
++
++	.	error
++
++
++state 498:
++
++	labtys1 : labty COMMA . labtys1 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 395
++	labty	goto 394
++	labtys1	goto 580
++
++	.	error
++
++
++state 499:
++
++	labty : id COLON . ty 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	ty	goto 581
++	aty	goto 263
++	appty	goto 262
++	tuplety	goto 261
++	tyvar	goto 260
++
++	.	error
++
++
++state 500:
++
++	appty : LPAREN tys2 RPAREN . tident 
++
++	CELLSET	shift 50
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 582
++	tpath	goto 265
++
++	.	error
++
++
++state 501:
++
++	tys2 : ty COMMA . ty 
++	tys2 : ty COMMA . tys2 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	ty	goto 584
++	aty	goto 263
++	appty	goto 262
++	tys2	goto 583
++	tuplety	goto 261
++	tyvar	goto 260
++
++	.	error
++
++
++state 502:
++
++	aty : LPAREN ty RPAREN .  (reduce by rule 355)
++
++	ARCHITECTURE	reduce by rule 355
++	END	reduce by rule 355
++	LOCAL	reduce by rule 355
++	IN	reduce by rule 355
++	OF	reduce by rule 355
++	DATATYPE	reduce by rule 355
++	TYPE	reduce by rule 355
++	EQ	reduce by rule 355
++	TIMES	reduce by rule 355
++	AND	reduce by rule 355
++	LPAREN	reduce by rule 355
++	RPAREN	reduce by rule 355
++	RBRACKET	reduce by rule 355
++	RBRACE	reduce by rule 355
++	SEMICOLON	reduce by rule 355
++	LDQUOTE	reduce by rule 355
++	CELLSET	reduce by rule 355
++	STORAGE	reduce by rule 355
++	LOCATIONS	reduce by rule 355
++	COMMA	reduce by rule 355
++	COLON	reduce by rule 355
++	BAR	reduce by rule 355
++	ARROW	reduce by rule 355
++	DARROW	reduce by rule 355
++	BITS	reduce by rule 355
++	THEN	reduce by rule 355
++	ELSE	reduce by rule 355
++	STRUCTURE	reduce by rule 355
++	FUNCTOR	reduce by rule 355
++	SIGNATURE	reduce by rule 355
++	WHERE	reduce by rule 355
++	SHARING	reduce by rule 355
++	INSTRUCTION	reduce by rule 355
++	CELL	reduce by rule 355
++	VLIW	reduce by rule 355
++	SUPERSCALAR	reduce by rule 355
++	WITHTYPE	reduce by rule 355
++	FUN	reduce by rule 355
++	VAL	reduce by rule 355
++	INCLUDE	reduce by rule 355
++	OPEN	reduce by rule 355
++	LITTLE	reduce by rule 355
++	BIG	reduce by rule 355
++	PIPELINE	reduce by rule 355
++	LOWERCASE	reduce by rule 355
++	UPPERCASE	reduce by rule 355
++	VERBATIM	reduce by rule 355
++	RTL	reduce by rule 355
++	SPAN	reduce by rule 355
++	DELAYSLOT	reduce by rule 355
++	NONFIX	reduce by rule 355
++	INFIX	reduce by rule 355
++	INFIXR	reduce by rule 355
++	DEBUG	reduce by rule 355
++	ASM_COLON	reduce by rule 355
++	MC_COLON	reduce by rule 355
++	RTL_COLON	reduce by rule 355
++	DELAYSLOT_COLON	reduce by rule 355
++	NULLIFIED_COLON	reduce by rule 355
++	PADDING_COLON	reduce by rule 355
++	RESOURCE	reduce by rule 355
++	CPU	reduce by rule 355
++	LATENCY	reduce by rule 355
++	EXCEPTION	reduce by rule 355
++	ID	reduce by rule 355
++	SYMBOL	reduce by rule 355
++	WORD	reduce by rule 355
++	INT	reduce by rule 355
++	STRING	reduce by rule 355
++	EOF	reduce by rule 355
++
++
++	.	error
++
++
++state 503:
++
++	resources : resource .  (reduce by rule 35)
++	resources : resource . COMMA resources 
++
++	RBRACKET	reduce by rule 35
++	COMMA	shift 585
++
++
++	.	error
++
++
++state 504:
++
++	cpubind : id aliases int LBRACKET resources . RBRACKET 
++
++	RBRACKET	shift 586
++
++
++	.	error
++
++
++state 505:
++
++	resource : int . id 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 587
++
++	.	error
++
++
++state 506:
++
++	resource : id .  (reduce by rule 38)
++
++	RBRACKET	reduce by rule 38
++	COMMA	reduce by rule 38
++
++
++	.	error
++
++
++state 507:
++
++	exp : exp HANDLE clauses .  (reduce by rule 278)
++
++	ARCHITECTURE	reduce by rule 278
++	END	reduce by rule 278
++	LOCAL	reduce by rule 278
++	IN	reduce by rule 278
++	OF	reduce by rule 278
++	DATATYPE	reduce by rule 278
++	TYPE	reduce by rule 278
++	AND	reduce by rule 278
++	LPAREN	reduce by rule 278
++	RPAREN	reduce by rule 278
++	RBRACKET	reduce by rule 278
++	RBRACE	reduce by rule 278
++	SEMICOLON	reduce by rule 278
++	RMETA	reduce by rule 278
++	CELLSET	reduce by rule 278
++	STORAGE	reduce by rule 278
++	LOCATIONS	reduce by rule 278
++	COMMA	reduce by rule 278
++	COLON	reduce by rule 278
++	BAR	reduce by rule 278
++	DARROW	reduce by rule 278
++	THEN	reduce by rule 278
++	ELSE	reduce by rule 278
++	HANDLE	reduce by rule 278
++	STRUCTURE	reduce by rule 278
++	FUNCTOR	reduce by rule 278
++	SIGNATURE	reduce by rule 278
++	SHARING	reduce by rule 278
++	INSTRUCTION	reduce by rule 278
++	VLIW	reduce by rule 278
++	SUPERSCALAR	reduce by rule 278
++	WITHTYPE	reduce by rule 278
++	FUN	reduce by rule 278
++	VAL	reduce by rule 278
++	INCLUDE	reduce by rule 278
++	OPEN	reduce by rule 278
++	LITTLE	reduce by rule 278
++	BIG	reduce by rule 278
++	PIPELINE	reduce by rule 278
++	LOWERCASE	reduce by rule 278
++	UPPERCASE	reduce by rule 278
++	VERBATIM	reduce by rule 278
++	RTL	reduce by rule 278
++	SPAN	reduce by rule 278
++	DELAYSLOT	reduce by rule 278
++	NONFIX	reduce by rule 278
++	INFIX	reduce by rule 278
++	INFIXR	reduce by rule 278
++	DEBUG	reduce by rule 278
++	ASM_COLON	reduce by rule 278
++	MC_COLON	reduce by rule 278
++	RTL_COLON	reduce by rule 278
++	DELAYSLOT_COLON	reduce by rule 278
++	NULLIFIED_COLON	reduce by rule 278
++	PADDING_COLON	reduce by rule 278
++	RESOURCE	reduce by rule 278
++	CPU	reduce by rule 278
++	LATENCY	reduce by rule 278
++	EXCEPTION	reduce by rule 278
++	ID	reduce by rule 278
++	SYMBOL	reduce by rule 278
++	WORD	reduce by rule 278
++	INT	reduce by rule 278
++	EOF	reduce by rule 278
++
++
++	.	error
++
++
++state 508:
++
++	aexp2 : aexp2 AT LBRACKET . slices RBRACKET 
++
++	INT	shift 64
++
++	int	goto 590
++	slice	goto 589
++	slices	goto 588
++
++	.	error
++
++
++state 509:
++
++	aexp : sym CONCAT LBRACKET . exps RBRACKET 
++	aexp : sym CONCAT LBRACKET . exps RBRACKET CONCAT sym 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	RBRACKET	reduce by rule 288
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 424
++	exps	goto 591
++	exps1	goto 422
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 510:
++
++	aexp : LET decls IN . expseq END 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 593
++	expseq	goto 592
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 511:
++
++	exp : IF typedexp THEN . typedexp ELSE exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 594
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 512:
++
++	clauses : clause BAR . clauses 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 413
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	clause	goto 412
++	clauses	goto 595
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 513:
++
++	clause : typedpat guard . cont DARROW exp 
++
++	DARROW	reduce by rule 337
++	EXCEPTION	shift 460
++
++	cont	goto 596
++
++	.	error
++
++
++state 514:
++
++	guard : WHERE . typedexp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 597
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 515:
++
++	asms : asm asms .  (reduce by rule 189)
++
++	RDQUOTE	reduce by rule 189
++
++
++	.	error
++
++error:  state 516: shift/reduce conflict (shift LDQUOTE, reduce by rule 186)
++
++state 516:
++
++	asm_strings : LDQUOTE asms RDQUOTE .  (reduce by rule 186)
++	asm_strings : LDQUOTE asms RDQUOTE . asm_strings 
++
++	ARCHITECTURE	reduce by rule 186
++	END	reduce by rule 186
++	LOCAL	reduce by rule 186
++	IN	reduce by rule 186
++	OF	reduce by rule 186
++	DATATYPE	reduce by rule 186
++	TYPE	reduce by rule 186
++	EQ	reduce by rule 186
++	DOLLAR	reduce by rule 186
++	TIMES	reduce by rule 186
++	AND	reduce by rule 186
++	DEREF	reduce by rule 186
++	NOT	reduce by rule 186
++	LLBRACKET	reduce by rule 186
++	LHASHBRACKET	reduce by rule 186
++	LPAREN	reduce by rule 186
++	RPAREN	reduce by rule 186
++	LBRACKET	reduce by rule 186
++	RBRACKET	reduce by rule 186
++	LBRACE	reduce by rule 186
++	RBRACE	reduce by rule 186
++	SEMICOLON	reduce by rule 186
++	LDQUOTE	shift 293
++	RMETA	reduce by rule 186
++	CELLSET	reduce by rule 186
++	STORAGE	reduce by rule 186
++	LOCATIONS	reduce by rule 186
++	HASH	reduce by rule 186
++	COMMA	reduce by rule 186
++	COLON	reduce by rule 186
++	AT	reduce by rule 186
++	BAR	reduce by rule 186
++	DARROW	reduce by rule 186
++	THEN	reduce by rule 186
++	ELSE	reduce by rule 186
++	TRUE	reduce by rule 186
++	FALSE	reduce by rule 186
++	HANDLE	reduce by rule 186
++	LET	reduce by rule 186
++	STRUCTURE	reduce by rule 186
++	FUNCTOR	reduce by rule 186
++	SIGNATURE	reduce by rule 186
++	SHARING	reduce by rule 186
++	INSTRUCTION	reduce by rule 186
++	VLIW	reduce by rule 186
++	SUPERSCALAR	reduce by rule 186
++	WITHTYPE	reduce by rule 186
++	FUN	reduce by rule 186
++	VAL	reduce by rule 186
++	INCLUDE	reduce by rule 186
++	OPEN	reduce by rule 186
++	OP	reduce by rule 186
++	LITTLE	reduce by rule 186
++	BIG	reduce by rule 186
++	PIPELINE	reduce by rule 186
++	LOWERCASE	reduce by rule 186
++	UPPERCASE	reduce by rule 186
++	VERBATIM	reduce by rule 186
++	RTL	reduce by rule 186
++	SPAN	reduce by rule 186
++	DELAYSLOT	reduce by rule 186
++	ALWAYS	reduce by rule 186
++	NEVER	reduce by rule 186
++	NONFIX	reduce by rule 186
++	INFIX	reduce by rule 186
++	INFIXR	reduce by rule 186
++	DEBUG	reduce by rule 186
++	ASM_COLON	reduce by rule 186
++	MC_COLON	reduce by rule 186
++	RTL_COLON	reduce by rule 186
++	DELAYSLOT_COLON	reduce by rule 186
++	NULLIFIED_COLON	reduce by rule 186
++	PADDING_COLON	reduce by rule 186
++	RESOURCE	reduce by rule 186
++	CPU	reduce by rule 186
++	LATENCY	reduce by rule 186
++	EXCEPTION	reduce by rule 186
++	ID	reduce by rule 186
++	SYMBOL	reduce by rule 186
++	WORD	reduce by rule 186
++	INT	reduce by rule 186
++	INTINF	reduce by rule 186
++	REAL	reduce by rule 186
++	STRING	reduce by rule 186
++	CHAR	reduce by rule 186
++	EOF	reduce by rule 186
++
++	asm_strings	goto 598
++
++	.	error
++
++
++state 517:
++
++	exp : exp . HANDLE clauses 
++	asm : LMETA exp . RMETA 
++
++	RMETA	shift 599
++	HANDLE	shift 402
++
++
++	.	error
++
++
++state 518:
++
++	labexps : labexp COMMA . labexps 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 421
++	labexps	goto 600
++	labexp	goto 418
++
++	.	error
++
++
++state 519:
++
++	aexp : LBRACE labexps0 RBRACE .  (reduce by rule 253)
++
++	ARCHITECTURE	reduce by rule 253
++	END	reduce by rule 253
++	LOCAL	reduce by rule 253
++	IN	reduce by rule 253
++	OF	reduce by rule 253
++	DATATYPE	reduce by rule 253
++	TYPE	reduce by rule 253
++	EQ	reduce by rule 253
++	DOLLAR	reduce by rule 253
++	TIMES	reduce by rule 253
++	AND	reduce by rule 253
++	DEREF	reduce by rule 253
++	NOT	reduce by rule 253
++	LLBRACKET	reduce by rule 253
++	LHASHBRACKET	reduce by rule 253
++	LPAREN	reduce by rule 253
++	RPAREN	reduce by rule 253
++	LBRACKET	reduce by rule 253
++	RBRACKET	reduce by rule 253
++	LBRACE	reduce by rule 253
++	RBRACE	reduce by rule 253
++	SEMICOLON	reduce by rule 253
++	LDQUOTE	reduce by rule 253
++	RMETA	reduce by rule 253
++	CELLSET	reduce by rule 253
++	STORAGE	reduce by rule 253
++	LOCATIONS	reduce by rule 253
++	HASH	reduce by rule 253
++	COMMA	reduce by rule 253
++	COLON	reduce by rule 253
++	AT	reduce by rule 253
++	BAR	reduce by rule 253
++	DARROW	reduce by rule 253
++	THEN	reduce by rule 253
++	ELSE	reduce by rule 253
++	TRUE	reduce by rule 253
++	FALSE	reduce by rule 253
++	HANDLE	reduce by rule 253
++	LET	reduce by rule 253
++	STRUCTURE	reduce by rule 253
++	FUNCTOR	reduce by rule 253
++	SIGNATURE	reduce by rule 253
++	SHARING	reduce by rule 253
++	INSTRUCTION	reduce by rule 253
++	VLIW	reduce by rule 253
++	SUPERSCALAR	reduce by rule 253
++	WITHTYPE	reduce by rule 253
++	FUN	reduce by rule 253
++	VAL	reduce by rule 253
++	INCLUDE	reduce by rule 253
++	OPEN	reduce by rule 253
++	OP	reduce by rule 253
++	LITTLE	reduce by rule 253
++	BIG	reduce by rule 253
++	PIPELINE	reduce by rule 253
++	LOWERCASE	reduce by rule 253
++	UPPERCASE	reduce by rule 253
++	VERBATIM	reduce by rule 253
++	RTL	reduce by rule 253
++	SPAN	reduce by rule 253
++	DELAYSLOT	reduce by rule 253
++	ALWAYS	reduce by rule 253
++	NEVER	reduce by rule 253
++	NONFIX	reduce by rule 253
++	INFIX	reduce by rule 253
++	INFIXR	reduce by rule 253
++	DEBUG	reduce by rule 253
++	ASM_COLON	reduce by rule 253
++	MC_COLON	reduce by rule 253
++	RTL_COLON	reduce by rule 253
++	DELAYSLOT_COLON	reduce by rule 253
++	NULLIFIED_COLON	reduce by rule 253
++	PADDING_COLON	reduce by rule 253
++	RESOURCE	reduce by rule 253
++	CPU	reduce by rule 253
++	LATENCY	reduce by rule 253
++	EXCEPTION	reduce by rule 253
++	ID	reduce by rule 253
++	SYMBOL	reduce by rule 253
++	WORD	reduce by rule 253
++	INT	reduce by rule 253
++	INTINF	reduce by rule 253
++	REAL	reduce by rule 253
++	STRING	reduce by rule 253
++	CHAR	reduce by rule 253
++	EOF	reduce by rule 253
++
++
++	.	error
++
++
++state 520:
++
++	labexp : id EQ . typedexp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 601
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 521:
++
++	aexp : LBRACKET exps RBRACKET .  (reduce by rule 251)
++	aexp : LBRACKET exps RBRACKET . CONCAT sym 
++
++	ARCHITECTURE	reduce by rule 251
++	END	reduce by rule 251
++	LOCAL	reduce by rule 251
++	IN	reduce by rule 251
++	OF	reduce by rule 251
++	DATATYPE	reduce by rule 251
++	TYPE	reduce by rule 251
++	EQ	reduce by rule 251
++	DOLLAR	reduce by rule 251
++	TIMES	reduce by rule 251
++	AND	reduce by rule 251
++	DEREF	reduce by rule 251
++	NOT	reduce by rule 251
++	CONCAT	shift 602
++	LLBRACKET	reduce by rule 251
++	LHASHBRACKET	reduce by rule 251
++	LPAREN	reduce by rule 251
++	RPAREN	reduce by rule 251
++	LBRACKET	reduce by rule 251
++	RBRACKET	reduce by rule 251
++	LBRACE	reduce by rule 251
++	RBRACE	reduce by rule 251
++	SEMICOLON	reduce by rule 251
++	LDQUOTE	reduce by rule 251
++	RMETA	reduce by rule 251
++	CELLSET	reduce by rule 251
++	STORAGE	reduce by rule 251
++	LOCATIONS	reduce by rule 251
++	HASH	reduce by rule 251
++	COMMA	reduce by rule 251
++	COLON	reduce by rule 251
++	AT	reduce by rule 251
++	BAR	reduce by rule 251
++	DARROW	reduce by rule 251
++	THEN	reduce by rule 251
++	ELSE	reduce by rule 251
++	TRUE	reduce by rule 251
++	FALSE	reduce by rule 251
++	HANDLE	reduce by rule 251
++	LET	reduce by rule 251
++	STRUCTURE	reduce by rule 251
++	FUNCTOR	reduce by rule 251
++	SIGNATURE	reduce by rule 251
++	SHARING	reduce by rule 251
++	INSTRUCTION	reduce by rule 251
++	VLIW	reduce by rule 251
++	SUPERSCALAR	reduce by rule 251
++	WITHTYPE	reduce by rule 251
++	FUN	reduce by rule 251
++	VAL	reduce by rule 251
++	INCLUDE	reduce by rule 251
++	OPEN	reduce by rule 251
++	OP	reduce by rule 251
++	LITTLE	reduce by rule 251
++	BIG	reduce by rule 251
++	PIPELINE	reduce by rule 251
++	LOWERCASE	reduce by rule 251
++	UPPERCASE	reduce by rule 251
++	VERBATIM	reduce by rule 251
++	RTL	reduce by rule 251
++	SPAN	reduce by rule 251
++	DELAYSLOT	reduce by rule 251
++	ALWAYS	reduce by rule 251
++	NEVER	reduce by rule 251
++	NONFIX	reduce by rule 251
++	INFIX	reduce by rule 251
++	INFIXR	reduce by rule 251
++	DEBUG	reduce by rule 251
++	ASM_COLON	reduce by rule 251
++	MC_COLON	reduce by rule 251
++	RTL_COLON	reduce by rule 251
++	DELAYSLOT_COLON	reduce by rule 251
++	NULLIFIED_COLON	reduce by rule 251
++	PADDING_COLON	reduce by rule 251
++	RESOURCE	reduce by rule 251
++	CPU	reduce by rule 251
++	LATENCY	reduce by rule 251
++	EXCEPTION	reduce by rule 251
++	ID	reduce by rule 251
++	SYMBOL	reduce by rule 251
++	WORD	reduce by rule 251
++	INT	reduce by rule 251
++	INTINF	reduce by rule 251
++	REAL	reduce by rule 251
++	STRING	reduce by rule 251
++	CHAR	reduce by rule 251
++	EOF	reduce by rule 251
++
++
++	.	error
++
++
++state 522:
++
++	exps1 : typedexp COMMA . exps1 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 424
++	exps1	goto 603
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 523:
++
++	aexp : LPAREN expseq2 RPAREN .  (reduce by rule 250)
++
++	ARCHITECTURE	reduce by rule 250
++	END	reduce by rule 250
++	LOCAL	reduce by rule 250
++	IN	reduce by rule 250
++	OF	reduce by rule 250
++	DATATYPE	reduce by rule 250
++	TYPE	reduce by rule 250
++	EQ	reduce by rule 250
++	DOLLAR	reduce by rule 250
++	TIMES	reduce by rule 250
++	AND	reduce by rule 250
++	DEREF	reduce by rule 250
++	NOT	reduce by rule 250
++	LLBRACKET	reduce by rule 250
++	LHASHBRACKET	reduce by rule 250
++	LPAREN	reduce by rule 250
++	RPAREN	reduce by rule 250
++	LBRACKET	reduce by rule 250
++	RBRACKET	reduce by rule 250
++	LBRACE	reduce by rule 250
++	RBRACE	reduce by rule 250
++	SEMICOLON	reduce by rule 250
++	LDQUOTE	reduce by rule 250
++	RMETA	reduce by rule 250
++	CELLSET	reduce by rule 250
++	STORAGE	reduce by rule 250
++	LOCATIONS	reduce by rule 250
++	HASH	reduce by rule 250
++	COMMA	reduce by rule 250
++	COLON	reduce by rule 250
++	AT	reduce by rule 250
++	BAR	reduce by rule 250
++	DARROW	reduce by rule 250
++	THEN	reduce by rule 250
++	ELSE	reduce by rule 250
++	TRUE	reduce by rule 250
++	FALSE	reduce by rule 250
++	HANDLE	reduce by rule 250
++	LET	reduce by rule 250
++	STRUCTURE	reduce by rule 250
++	FUNCTOR	reduce by rule 250
++	SIGNATURE	reduce by rule 250
++	SHARING	reduce by rule 250
++	INSTRUCTION	reduce by rule 250
++	VLIW	reduce by rule 250
++	SUPERSCALAR	reduce by rule 250
++	WITHTYPE	reduce by rule 250
++	FUN	reduce by rule 250
++	VAL	reduce by rule 250
++	INCLUDE	reduce by rule 250
++	OPEN	reduce by rule 250
++	OP	reduce by rule 250
++	LITTLE	reduce by rule 250
++	BIG	reduce by rule 250
++	PIPELINE	reduce by rule 250
++	LOWERCASE	reduce by rule 250
++	UPPERCASE	reduce by rule 250
++	VERBATIM	reduce by rule 250
++	RTL	reduce by rule 250
++	SPAN	reduce by rule 250
++	DELAYSLOT	reduce by rule 250
++	ALWAYS	reduce by rule 250
++	NEVER	reduce by rule 250
++	NONFIX	reduce by rule 250
++	INFIX	reduce by rule 250
++	INFIXR	reduce by rule 250
++	DEBUG	reduce by rule 250
++	ASM_COLON	reduce by rule 250
++	MC_COLON	reduce by rule 250
++	RTL_COLON	reduce by rule 250
++	DELAYSLOT_COLON	reduce by rule 250
++	NULLIFIED_COLON	reduce by rule 250
++	PADDING_COLON	reduce by rule 250
++	RESOURCE	reduce by rule 250
++	CPU	reduce by rule 250
++	LATENCY	reduce by rule 250
++	EXCEPTION	reduce by rule 250
++	ID	reduce by rule 250
++	SYMBOL	reduce by rule 250
++	WORD	reduce by rule 250
++	INT	reduce by rule 250
++	INTINF	reduce by rule 250
++	REAL	reduce by rule 250
++	STRING	reduce by rule 250
++	CHAR	reduce by rule 250
++	EOF	reduce by rule 250
++
++
++	.	error
++
++
++state 524:
++
++	aexp : LPAREN exps2 RPAREN .  (reduce by rule 249)
++
++	ARCHITECTURE	reduce by rule 249
++	END	reduce by rule 249
++	LOCAL	reduce by rule 249
++	IN	reduce by rule 249
++	OF	reduce by rule 249
++	DATATYPE	reduce by rule 249
++	TYPE	reduce by rule 249
++	EQ	reduce by rule 249
++	DOLLAR	reduce by rule 249
++	TIMES	reduce by rule 249
++	AND	reduce by rule 249
++	DEREF	reduce by rule 249
++	NOT	reduce by rule 249
++	LLBRACKET	reduce by rule 249
++	LHASHBRACKET	reduce by rule 249
++	LPAREN	reduce by rule 249
++	RPAREN	reduce by rule 249
++	LBRACKET	reduce by rule 249
++	RBRACKET	reduce by rule 249
++	LBRACE	reduce by rule 249
++	RBRACE	reduce by rule 249
++	SEMICOLON	reduce by rule 249
++	LDQUOTE	reduce by rule 249
++	RMETA	reduce by rule 249
++	CELLSET	reduce by rule 249
++	STORAGE	reduce by rule 249
++	LOCATIONS	reduce by rule 249
++	HASH	reduce by rule 249
++	COMMA	reduce by rule 249
++	COLON	reduce by rule 249
++	AT	reduce by rule 249
++	BAR	reduce by rule 249
++	DARROW	reduce by rule 249
++	THEN	reduce by rule 249
++	ELSE	reduce by rule 249
++	TRUE	reduce by rule 249
++	FALSE	reduce by rule 249
++	HANDLE	reduce by rule 249
++	LET	reduce by rule 249
++	STRUCTURE	reduce by rule 249
++	FUNCTOR	reduce by rule 249
++	SIGNATURE	reduce by rule 249
++	SHARING	reduce by rule 249
++	INSTRUCTION	reduce by rule 249
++	VLIW	reduce by rule 249
++	SUPERSCALAR	reduce by rule 249
++	WITHTYPE	reduce by rule 249
++	FUN	reduce by rule 249
++	VAL	reduce by rule 249
++	INCLUDE	reduce by rule 249
++	OPEN	reduce by rule 249
++	OP	reduce by rule 249
++	LITTLE	reduce by rule 249
++	BIG	reduce by rule 249
++	PIPELINE	reduce by rule 249
++	LOWERCASE	reduce by rule 249
++	UPPERCASE	reduce by rule 249
++	VERBATIM	reduce by rule 249
++	RTL	reduce by rule 249
++	SPAN	reduce by rule 249
++	DELAYSLOT	reduce by rule 249
++	ALWAYS	reduce by rule 249
++	NEVER	reduce by rule 249
++	NONFIX	reduce by rule 249
++	INFIX	reduce by rule 249
++	INFIXR	reduce by rule 249
++	DEBUG	reduce by rule 249
++	ASM_COLON	reduce by rule 249
++	MC_COLON	reduce by rule 249
++	RTL_COLON	reduce by rule 249
++	DELAYSLOT_COLON	reduce by rule 249
++	NULLIFIED_COLON	reduce by rule 249
++	PADDING_COLON	reduce by rule 249
++	RESOURCE	reduce by rule 249
++	CPU	reduce by rule 249
++	LATENCY	reduce by rule 249
++	EXCEPTION	reduce by rule 249
++	ID	reduce by rule 249
++	SYMBOL	reduce by rule 249
++	WORD	reduce by rule 249
++	INT	reduce by rule 249
++	INTINF	reduce by rule 249
++	REAL	reduce by rule 249
++	STRING	reduce by rule 249
++	CHAR	reduce by rule 249
++	EOF	reduce by rule 249
++
++
++	.	error
++
++
++state 525:
++
++	exps2 : typedexp COMMA . exps1 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 424
++	exps1	goto 604
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 526:
++
++	expseq2 : typedexp SEMICOLON . expseq 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 593
++	expseq	goto 605
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 527:
++
++	aexp : LPAREN typedexp RPAREN .  (reduce by rule 248)
++
++	ARCHITECTURE	reduce by rule 248
++	END	reduce by rule 248
++	LOCAL	reduce by rule 248
++	IN	reduce by rule 248
++	OF	reduce by rule 248
++	DATATYPE	reduce by rule 248
++	TYPE	reduce by rule 248
++	EQ	reduce by rule 248
++	DOLLAR	reduce by rule 248
++	TIMES	reduce by rule 248
++	AND	reduce by rule 248
++	DEREF	reduce by rule 248
++	NOT	reduce by rule 248
++	LLBRACKET	reduce by rule 248
++	LHASHBRACKET	reduce by rule 248
++	LPAREN	reduce by rule 248
++	RPAREN	reduce by rule 248
++	LBRACKET	reduce by rule 248
++	RBRACKET	reduce by rule 248
++	LBRACE	reduce by rule 248
++	RBRACE	reduce by rule 248
++	SEMICOLON	reduce by rule 248
++	LDQUOTE	reduce by rule 248
++	RMETA	reduce by rule 248
++	CELLSET	reduce by rule 248
++	STORAGE	reduce by rule 248
++	LOCATIONS	reduce by rule 248
++	HASH	reduce by rule 248
++	COMMA	reduce by rule 248
++	COLON	reduce by rule 248
++	AT	reduce by rule 248
++	BAR	reduce by rule 248
++	DARROW	reduce by rule 248
++	THEN	reduce by rule 248
++	ELSE	reduce by rule 248
++	TRUE	reduce by rule 248
++	FALSE	reduce by rule 248
++	HANDLE	reduce by rule 248
++	LET	reduce by rule 248
++	STRUCTURE	reduce by rule 248
++	FUNCTOR	reduce by rule 248
++	SIGNATURE	reduce by rule 248
++	SHARING	reduce by rule 248
++	INSTRUCTION	reduce by rule 248
++	VLIW	reduce by rule 248
++	SUPERSCALAR	reduce by rule 248
++	WITHTYPE	reduce by rule 248
++	FUN	reduce by rule 248
++	VAL	reduce by rule 248
++	INCLUDE	reduce by rule 248
++	OPEN	reduce by rule 248
++	OP	reduce by rule 248
++	LITTLE	reduce by rule 248
++	BIG	reduce by rule 248
++	PIPELINE	reduce by rule 248
++	LOWERCASE	reduce by rule 248
++	UPPERCASE	reduce by rule 248
++	VERBATIM	reduce by rule 248
++	RTL	reduce by rule 248
++	SPAN	reduce by rule 248
++	DELAYSLOT	reduce by rule 248
++	ALWAYS	reduce by rule 248
++	NEVER	reduce by rule 248
++	NONFIX	reduce by rule 248
++	INFIX	reduce by rule 248
++	INFIXR	reduce by rule 248
++	DEBUG	reduce by rule 248
++	ASM_COLON	reduce by rule 248
++	MC_COLON	reduce by rule 248
++	RTL_COLON	reduce by rule 248
++	DELAYSLOT_COLON	reduce by rule 248
++	NULLIFIED_COLON	reduce by rule 248
++	PADDING_COLON	reduce by rule 248
++	RESOURCE	reduce by rule 248
++	CPU	reduce by rule 248
++	LATENCY	reduce by rule 248
++	EXCEPTION	reduce by rule 248
++	ID	reduce by rule 248
++	SYMBOL	reduce by rule 248
++	WORD	reduce by rule 248
++	INT	reduce by rule 248
++	INTINF	reduce by rule 248
++	REAL	reduce by rule 248
++	STRING	reduce by rule 248
++	CHAR	reduce by rule 248
++	EOF	reduce by rule 248
++
++
++	.	error
++
++
++state 528:
++
++	aexp : LPAREN symb RPAREN .  (reduce by rule 245)
++
++	ARCHITECTURE	reduce by rule 245
++	END	reduce by rule 245
++	LOCAL	reduce by rule 245
++	IN	reduce by rule 245
++	OF	reduce by rule 245
++	DATATYPE	reduce by rule 245
++	TYPE	reduce by rule 245
++	EQ	reduce by rule 245
++	DOLLAR	reduce by rule 245
++	TIMES	reduce by rule 245
++	AND	reduce by rule 245
++	DEREF	reduce by rule 245
++	NOT	reduce by rule 245
++	LLBRACKET	reduce by rule 245
++	LHASHBRACKET	reduce by rule 245
++	LPAREN	reduce by rule 245
++	RPAREN	reduce by rule 245
++	LBRACKET	reduce by rule 245
++	RBRACKET	reduce by rule 245
++	LBRACE	reduce by rule 245
++	RBRACE	reduce by rule 245
++	SEMICOLON	reduce by rule 245
++	LDQUOTE	reduce by rule 245
++	RMETA	reduce by rule 245
++	CELLSET	reduce by rule 245
++	STORAGE	reduce by rule 245
++	LOCATIONS	reduce by rule 245
++	HASH	reduce by rule 245
++	COMMA	reduce by rule 245
++	COLON	reduce by rule 245
++	AT	reduce by rule 245
++	BAR	reduce by rule 245
++	DARROW	reduce by rule 245
++	THEN	reduce by rule 245
++	ELSE	reduce by rule 245
++	TRUE	reduce by rule 245
++	FALSE	reduce by rule 245
++	HANDLE	reduce by rule 245
++	LET	reduce by rule 245
++	STRUCTURE	reduce by rule 245
++	FUNCTOR	reduce by rule 245
++	SIGNATURE	reduce by rule 245
++	SHARING	reduce by rule 245
++	INSTRUCTION	reduce by rule 245
++	VLIW	reduce by rule 245
++	SUPERSCALAR	reduce by rule 245
++	WITHTYPE	reduce by rule 245
++	FUN	reduce by rule 245
++	VAL	reduce by rule 245
++	INCLUDE	reduce by rule 245
++	OPEN	reduce by rule 245
++	OP	reduce by rule 245
++	LITTLE	reduce by rule 245
++	BIG	reduce by rule 245
++	PIPELINE	reduce by rule 245
++	LOWERCASE	reduce by rule 245
++	UPPERCASE	reduce by rule 245
++	VERBATIM	reduce by rule 245
++	RTL	reduce by rule 245
++	SPAN	reduce by rule 245
++	DELAYSLOT	reduce by rule 245
++	ALWAYS	reduce by rule 245
++	NEVER	reduce by rule 245
++	NONFIX	reduce by rule 245
++	INFIX	reduce by rule 245
++	INFIXR	reduce by rule 245
++	DEBUG	reduce by rule 245
++	ASM_COLON	reduce by rule 245
++	MC_COLON	reduce by rule 245
++	RTL_COLON	reduce by rule 245
++	DELAYSLOT_COLON	reduce by rule 245
++	NULLIFIED_COLON	reduce by rule 245
++	PADDING_COLON	reduce by rule 245
++	RESOURCE	reduce by rule 245
++	CPU	reduce by rule 245
++	LATENCY	reduce by rule 245
++	EXCEPTION	reduce by rule 245
++	ID	reduce by rule 245
++	SYMBOL	reduce by rule 245
++	WORD	reduce by rule 245
++	INT	reduce by rule 245
++	INTINF	reduce by rule 245
++	REAL	reduce by rule 245
++	STRING	reduce by rule 245
++	CHAR	reduce by rule 245
++	EOF	reduce by rule 245
++
++
++	.	error
++
++
++state 529:
++
++	aexp : LHASHBRACKET exps RBRACKET .  (reduce by rule 252)
++
++	ARCHITECTURE	reduce by rule 252
++	END	reduce by rule 252
++	LOCAL	reduce by rule 252
++	IN	reduce by rule 252
++	OF	reduce by rule 252
++	DATATYPE	reduce by rule 252
++	TYPE	reduce by rule 252
++	EQ	reduce by rule 252
++	DOLLAR	reduce by rule 252
++	TIMES	reduce by rule 252
++	AND	reduce by rule 252
++	DEREF	reduce by rule 252
++	NOT	reduce by rule 252
++	LLBRACKET	reduce by rule 252
++	LHASHBRACKET	reduce by rule 252
++	LPAREN	reduce by rule 252
++	RPAREN	reduce by rule 252
++	LBRACKET	reduce by rule 252
++	RBRACKET	reduce by rule 252
++	LBRACE	reduce by rule 252
++	RBRACE	reduce by rule 252
++	SEMICOLON	reduce by rule 252
++	LDQUOTE	reduce by rule 252
++	RMETA	reduce by rule 252
++	CELLSET	reduce by rule 252
++	STORAGE	reduce by rule 252
++	LOCATIONS	reduce by rule 252
++	HASH	reduce by rule 252
++	COMMA	reduce by rule 252
++	COLON	reduce by rule 252
++	AT	reduce by rule 252
++	BAR	reduce by rule 252
++	DARROW	reduce by rule 252
++	THEN	reduce by rule 252
++	ELSE	reduce by rule 252
++	TRUE	reduce by rule 252
++	FALSE	reduce by rule 252
++	HANDLE	reduce by rule 252
++	LET	reduce by rule 252
++	STRUCTURE	reduce by rule 252
++	FUNCTOR	reduce by rule 252
++	SIGNATURE	reduce by rule 252
++	SHARING	reduce by rule 252
++	INSTRUCTION	reduce by rule 252
++	VLIW	reduce by rule 252
++	SUPERSCALAR	reduce by rule 252
++	WITHTYPE	reduce by rule 252
++	FUN	reduce by rule 252
++	VAL	reduce by rule 252
++	INCLUDE	reduce by rule 252
++	OPEN	reduce by rule 252
++	OP	reduce by rule 252
++	LITTLE	reduce by rule 252
++	BIG	reduce by rule 252
++	PIPELINE	reduce by rule 252
++	LOWERCASE	reduce by rule 252
++	UPPERCASE	reduce by rule 252
++	VERBATIM	reduce by rule 252
++	RTL	reduce by rule 252
++	SPAN	reduce by rule 252
++	DELAYSLOT	reduce by rule 252
++	ALWAYS	reduce by rule 252
++	NEVER	reduce by rule 252
++	NONFIX	reduce by rule 252
++	INFIX	reduce by rule 252
++	INFIXR	reduce by rule 252
++	DEBUG	reduce by rule 252
++	ASM_COLON	reduce by rule 252
++	MC_COLON	reduce by rule 252
++	RTL_COLON	reduce by rule 252
++	DELAYSLOT_COLON	reduce by rule 252
++	NULLIFIED_COLON	reduce by rule 252
++	PADDING_COLON	reduce by rule 252
++	RESOURCE	reduce by rule 252
++	CPU	reduce by rule 252
++	LATENCY	reduce by rule 252
++	EXCEPTION	reduce by rule 252
++	ID	reduce by rule 252
++	SYMBOL	reduce by rule 252
++	WORD	reduce by rule 252
++	INT	reduce by rule 252
++	INTINF	reduce by rule 252
++	REAL	reduce by rule 252
++	STRING	reduce by rule 252
++	CHAR	reduce by rule 252
++	EOF	reduce by rule 252
++
++
++	.	error
++
++
++state 530:
++
++	aexp : LLBRACKET rtlterms RRBRACKET .  (reduce by rule 255)
++
++	ARCHITECTURE	reduce by rule 255
++	END	reduce by rule 255
++	LOCAL	reduce by rule 255
++	IN	reduce by rule 255
++	OF	reduce by rule 255
++	DATATYPE	reduce by rule 255
++	TYPE	reduce by rule 255
++	EQ	reduce by rule 255
++	DOLLAR	reduce by rule 255
++	TIMES	reduce by rule 255
++	AND	reduce by rule 255
++	DEREF	reduce by rule 255
++	NOT	reduce by rule 255
++	LLBRACKET	reduce by rule 255
++	LHASHBRACKET	reduce by rule 255
++	LPAREN	reduce by rule 255
++	RPAREN	reduce by rule 255
++	LBRACKET	reduce by rule 255
++	RBRACKET	reduce by rule 255
++	LBRACE	reduce by rule 255
++	RBRACE	reduce by rule 255
++	SEMICOLON	reduce by rule 255
++	LDQUOTE	reduce by rule 255
++	RMETA	reduce by rule 255
++	CELLSET	reduce by rule 255
++	STORAGE	reduce by rule 255
++	LOCATIONS	reduce by rule 255
++	HASH	reduce by rule 255
++	COMMA	reduce by rule 255
++	COLON	reduce by rule 255
++	AT	reduce by rule 255
++	BAR	reduce by rule 255
++	DARROW	reduce by rule 255
++	THEN	reduce by rule 255
++	ELSE	reduce by rule 255
++	TRUE	reduce by rule 255
++	FALSE	reduce by rule 255
++	HANDLE	reduce by rule 255
++	LET	reduce by rule 255
++	STRUCTURE	reduce by rule 255
++	FUNCTOR	reduce by rule 255
++	SIGNATURE	reduce by rule 255
++	SHARING	reduce by rule 255
++	INSTRUCTION	reduce by rule 255
++	VLIW	reduce by rule 255
++	SUPERSCALAR	reduce by rule 255
++	WITHTYPE	reduce by rule 255
++	FUN	reduce by rule 255
++	VAL	reduce by rule 255
++	INCLUDE	reduce by rule 255
++	OPEN	reduce by rule 255
++	OP	reduce by rule 255
++	LITTLE	reduce by rule 255
++	BIG	reduce by rule 255
++	PIPELINE	reduce by rule 255
++	LOWERCASE	reduce by rule 255
++	UPPERCASE	reduce by rule 255
++	VERBATIM	reduce by rule 255
++	RTL	reduce by rule 255
++	SPAN	reduce by rule 255
++	DELAYSLOT	reduce by rule 255
++	ALWAYS	reduce by rule 255
++	NEVER	reduce by rule 255
++	NONFIX	reduce by rule 255
++	INFIX	reduce by rule 255
++	INFIXR	reduce by rule 255
++	DEBUG	reduce by rule 255
++	ASM_COLON	reduce by rule 255
++	MC_COLON	reduce by rule 255
++	RTL_COLON	reduce by rule 255
++	DELAYSLOT_COLON	reduce by rule 255
++	NULLIFIED_COLON	reduce by rule 255
++	PADDING_COLON	reduce by rule 255
++	RESOURCE	reduce by rule 255
++	CPU	reduce by rule 255
++	LATENCY	reduce by rule 255
++	EXCEPTION	reduce by rule 255
++	ID	reduce by rule 255
++	SYMBOL	reduce by rule 255
++	WORD	reduce by rule 255
++	INT	reduce by rule 255
++	INTINF	reduce by rule 255
++	REAL	reduce by rule 255
++	STRING	reduce by rule 255
++	CHAR	reduce by rule 255
++	EOF	reduce by rule 255
++
++
++	.	error
++
++
++state 531:
++
++	rtlterms : rtlterm rtlterms .  (reduce by rule 119)
++
++	RRBRACKET	reduce by rule 119
++
++
++	.	error
++
++
++state 532:
++
++	rtlterm : HASH id .  (reduce by rule 122)
++
++	TIMES	reduce by rule 122
++	DEREF	reduce by rule 122
++	NOT	reduce by rule 122
++	RRBRACKET	reduce by rule 122
++	CELLSET	reduce by rule 122
++	HASH	reduce by rule 122
++	ID	reduce by rule 122
++	SYMBOL	reduce by rule 122
++	STRING	reduce by rule 122
++
++
++	.	error
++
++
++state 533:
++
++	aexp : DOLLAR id LBRACKET . exp region RBRACKET 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 606
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 534:
++
++	exp : CASE typedexp OF . clauses 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 413
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	clause	goto 412
++	clauses	goto 607
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 535:
++
++	apat : sym CONCAT LBRACKET pats RBRACKET .  (reduce by rule 303)
++	apat : sym CONCAT LBRACKET pats RBRACKET . CONCAT sym 
++
++	EQ	reduce by rule 303
++	TIMES	reduce by rule 303
++	AND	reduce by rule 303
++	DEREF	reduce by rule 303
++	NOT	reduce by rule 303
++	CONCAT	shift 608
++	LHASHBRACKET	reduce by rule 303
++	LPAREN	reduce by rule 303
++	RPAREN	reduce by rule 303
++	LBRACKET	reduce by rule 303
++	RBRACKET	reduce by rule 303
++	LBRACE	reduce by rule 303
++	RBRACE	reduce by rule 303
++	CELLSET	reduce by rule 303
++	COMMA	reduce by rule 303
++	COLON	reduce by rule 303
++	BAR	reduce by rule 303
++	DARROW	reduce by rule 303
++	TRUE	reduce by rule 303
++	FALSE	reduce by rule 303
++	WILD	reduce by rule 303
++	WHERE	reduce by rule 303
++	OP	reduce by rule 303
++	ALWAYS	reduce by rule 303
++	NEVER	reduce by rule 303
++	EXCEPTION	reduce by rule 303
++	ID	reduce by rule 303
++	SYMBOL	reduce by rule 303
++	WORD	reduce by rule 303
++	INT	reduce by rule 303
++	INTINF	reduce by rule 303
++	REAL	reduce by rule 303
++	STRING	reduce by rule 303
++	CHAR	reduce by rule 303
++
++
++	.	error
++
++
++state 536:
++
++	mymldecl : RTL id LBRACE labpats0 RBRACE EQ . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 609
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 537:
++
++	labpat : sym WHERE typedexp IN . typedpat 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 610
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 538:
++
++	apat : LBRACKET pats RBRACKET CONCAT sym .  (reduce by rule 305)
++
++	EQ	reduce by rule 305
++	TIMES	reduce by rule 305
++	AND	reduce by rule 305
++	DEREF	reduce by rule 305
++	NOT	reduce by rule 305
++	LHASHBRACKET	reduce by rule 305
++	LPAREN	reduce by rule 305
++	RPAREN	reduce by rule 305
++	LBRACKET	reduce by rule 305
++	RBRACKET	reduce by rule 305
++	LBRACE	reduce by rule 305
++	RBRACE	reduce by rule 305
++	CELLSET	reduce by rule 305
++	COMMA	reduce by rule 305
++	COLON	reduce by rule 305
++	BAR	reduce by rule 305
++	DARROW	reduce by rule 305
++	TRUE	reduce by rule 305
++	FALSE	reduce by rule 305
++	WILD	reduce by rule 305
++	WHERE	reduce by rule 305
++	OP	reduce by rule 305
++	ALWAYS	reduce by rule 305
++	NEVER	reduce by rule 305
++	EXCEPTION	reduce by rule 305
++	ID	reduce by rule 305
++	SYMBOL	reduce by rule 305
++	WORD	reduce by rule 305
++	INT	reduce by rule 305
++	INTINF	reduce by rule 305
++	REAL	reduce by rule 305
++	STRING	reduce by rule 305
++	CHAR	reduce by rule 305
++
++
++	.	error
++
++
++state 539:
++
++	apat : LPAREN typedpat WHERE typedexp RPAREN .  (reduce by rule 300)
++
++	EQ	reduce by rule 300
++	TIMES	reduce by rule 300
++	AND	reduce by rule 300
++	DEREF	reduce by rule 300
++	NOT	reduce by rule 300
++	LHASHBRACKET	reduce by rule 300
++	LPAREN	reduce by rule 300
++	RPAREN	reduce by rule 300
++	LBRACKET	reduce by rule 300
++	RBRACKET	reduce by rule 300
++	LBRACE	reduce by rule 300
++	RBRACE	reduce by rule 300
++	CELLSET	reduce by rule 300
++	COMMA	reduce by rule 300
++	COLON	reduce by rule 300
++	BAR	reduce by rule 300
++	DARROW	reduce by rule 300
++	TRUE	reduce by rule 300
++	FALSE	reduce by rule 300
++	WILD	reduce by rule 300
++	WHERE	reduce by rule 300
++	OP	reduce by rule 300
++	ALWAYS	reduce by rule 300
++	NEVER	reduce by rule 300
++	EXCEPTION	reduce by rule 300
++	ID	reduce by rule 300
++	SYMBOL	reduce by rule 300
++	WORD	reduce by rule 300
++	INT	reduce by rule 300
++	INTINF	reduce by rule 300
++	REAL	reduce by rule 300
++	STRING	reduce by rule 300
++	CHAR	reduce by rule 300
++
++
++	.	error
++
++
++state 540:
++
++	apat : LPAREN typedpat WHERE typedexp IN . typedpat RPAREN 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LHASHBRACKET	shift 103
++	LPAREN	shift 102
++	LBRACKET	shift 101
++	LBRACE	shift 100
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	WILD	shift 97
++	OP	shift 128
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 127
++	sym	goto 134
++	symb	goto 67
++	ident2	goto 87
++	path	goto 85
++	apat	goto 124
++	apat2	goto 123
++	apppat	goto 122
++	pat	goto 195
++	typedpat	goto 611
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 75
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 541:
++
++	cycles : cycle .  (reduce by rule 47)
++	cycles : cycle . COMMA cycles 
++	cycle : cycle . CONCAT cycle 
++	cycle : cycle . TIMES int 
++
++	TIMES	shift 614
++	CONCAT	shift 613
++	RBRACKET	reduce by rule 47
++	COMMA	shift 612
++
++
++	.	error
++
++
++state 542:
++
++	cycles0 : cycles .  (reduce by rule 46)
++
++	RBRACKET	reduce by rule 46
++
++
++	.	error
++
++
++state 543:
++
++	pipelineclause : id pat EQ LBRACKET cycles0 . RBRACKET 
++
++	RBRACKET	shift 615
++
++
++	.	error
++
++
++state 544:
++
++	cycle : id .  (reduce by rule 49)
++
++	TIMES	reduce by rule 49
++	CONCAT	reduce by rule 49
++	RPAREN	reduce by rule 49
++	RBRACKET	reduce by rule 49
++	COMMA	reduce by rule 49
++
++
++	.	error
++
++
++state 545:
++
++	cycle : LPAREN . cycle RPAREN 
++
++	LPAREN	shift 545
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 544
++	cycle	goto 616
++
++	.	error
++
++
++state 546:
++
++	sigsubs : sigsub AND sigsubs .  (reduce by rule 96)
++
++	ARCHITECTURE	reduce by rule 96
++	END	reduce by rule 96
++	LOCAL	reduce by rule 96
++	IN	reduce by rule 96
++	DATATYPE	reduce by rule 96
++	TYPE	reduce by rule 96
++	EQ	reduce by rule 96
++	RPAREN	reduce by rule 96
++	SEMICOLON	reduce by rule 96
++	STORAGE	reduce by rule 96
++	LOCATIONS	reduce by rule 96
++	STRUCTURE	reduce by rule 96
++	FUNCTOR	reduce by rule 96
++	SIGNATURE	reduce by rule 96
++	WHERE	reduce by rule 96
++	SHARING	reduce by rule 96
++	INSTRUCTION	reduce by rule 96
++	VLIW	reduce by rule 96
++	SUPERSCALAR	reduce by rule 96
++	FUN	reduce by rule 96
++	VAL	reduce by rule 96
++	INCLUDE	reduce by rule 96
++	OPEN	reduce by rule 96
++	LITTLE	reduce by rule 96
++	BIG	reduce by rule 96
++	PIPELINE	reduce by rule 96
++	LOWERCASE	reduce by rule 96
++	UPPERCASE	reduce by rule 96
++	VERBATIM	reduce by rule 96
++	RTL	reduce by rule 96
++	NONFIX	reduce by rule 96
++	INFIX	reduce by rule 96
++	INFIXR	reduce by rule 96
++	DEBUG	reduce by rule 96
++	RESOURCE	reduce by rule 96
++	CPU	reduce by rule 96
++	LATENCY	reduce by rule 96
++	EXCEPTION	reduce by rule 96
++	EOF	reduce by rule 96
++
++
++	.	error
++
++
++state 547:
++
++	structexp : structexp . LPAREN scopeddecls RPAREN 
++	structexp : structexp . LPAREN ident RPAREN 
++	sigsub : ident EQ structexp .  (reduce by rule 98)
++
++	ARCHITECTURE	reduce by rule 98
++	END	reduce by rule 98
++	LOCAL	reduce by rule 98
++	IN	reduce by rule 98
++	DATATYPE	reduce by rule 98
++	TYPE	reduce by rule 98
++	EQ	reduce by rule 98
++	AND	reduce by rule 98
++	LPAREN	shift 477
++	RPAREN	reduce by rule 98
++	SEMICOLON	reduce by rule 98
++	STORAGE	reduce by rule 98
++	LOCATIONS	reduce by rule 98
++	STRUCTURE	reduce by rule 98
++	FUNCTOR	reduce by rule 98
++	SIGNATURE	reduce by rule 98
++	WHERE	reduce by rule 98
++	SHARING	reduce by rule 98
++	INSTRUCTION	reduce by rule 98
++	VLIW	reduce by rule 98
++	SUPERSCALAR	reduce by rule 98
++	FUN	reduce by rule 98
++	VAL	reduce by rule 98
++	INCLUDE	reduce by rule 98
++	OPEN	reduce by rule 98
++	LITTLE	reduce by rule 98
++	BIG	reduce by rule 98
++	PIPELINE	reduce by rule 98
++	LOWERCASE	reduce by rule 98
++	UPPERCASE	reduce by rule 98
++	VERBATIM	reduce by rule 98
++	RTL	reduce by rule 98
++	NONFIX	reduce by rule 98
++	INFIX	reduce by rule 98
++	INFIXR	reduce by rule 98
++	DEBUG	reduce by rule 98
++	RESOURCE	reduce by rule 98
++	CPU	reduce by rule 98
++	LATENCY	reduce by rule 98
++	EXCEPTION	reduce by rule 98
++	EOF	reduce by rule 98
++
++
++	.	error
++
++
++state 548:
++
++	sigsub : TYPE ident EQ . ty 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	ty	goto 617
++	aty	goto 263
++	appty	goto 262
++	tuplety	goto 261
++	tyvar	goto 260
++
++	.	error
++
++
++state 549:
++
++	typedexp : typedexp COLON ty .  (reduce by rule 281)
++	ty : ty . ARROW ty 
++
++	ARCHITECTURE	reduce by rule 281
++	END	reduce by rule 281
++	LOCAL	reduce by rule 281
++	IN	reduce by rule 281
++	OF	reduce by rule 281
++	DATATYPE	reduce by rule 281
++	TYPE	reduce by rule 281
++	AND	reduce by rule 281
++	RPAREN	reduce by rule 281
++	RBRACKET	reduce by rule 281
++	RBRACE	reduce by rule 281
++	SEMICOLON	reduce by rule 281
++	STORAGE	reduce by rule 281
++	LOCATIONS	reduce by rule 281
++	COMMA	reduce by rule 281
++	COLON	reduce by rule 281
++	BAR	reduce by rule 281
++	ARROW	shift 388
++	DARROW	reduce by rule 281
++	THEN	reduce by rule 281
++	ELSE	reduce by rule 281
++	STRUCTURE	reduce by rule 281
++	FUNCTOR	reduce by rule 281
++	SIGNATURE	reduce by rule 281
++	SHARING	reduce by rule 281
++	INSTRUCTION	reduce by rule 281
++	VLIW	reduce by rule 281
++	SUPERSCALAR	reduce by rule 281
++	FUN	reduce by rule 281
++	VAL	reduce by rule 281
++	INCLUDE	reduce by rule 281
++	OPEN	reduce by rule 281
++	LITTLE	reduce by rule 281
++	BIG	reduce by rule 281
++	PIPELINE	reduce by rule 281
++	LOWERCASE	reduce by rule 281
++	UPPERCASE	reduce by rule 281
++	VERBATIM	reduce by rule 281
++	RTL	reduce by rule 281
++	NONFIX	reduce by rule 281
++	INFIX	reduce by rule 281
++	INFIXR	reduce by rule 281
++	DEBUG	reduce by rule 281
++	RESOURCE	reduce by rule 281
++	CPU	reduce by rule 281
++	LATENCY	reduce by rule 281
++	EXCEPTION	reduce by rule 281
++	EOF	reduce by rule 281
++
++
++	.	error
++
++
++state 550:
++
++	funclause : apppat funguard return_ty cont EQ . typedexp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 618
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 551:
++
++	cont : EXCEPTION id .  (reduce by rule 338)
++
++	EQ	reduce by rule 338
++	DARROW	reduce by rule 338
++
++
++	.	error
++
++
++state 552:
++
++	funguard : WHERE LPAREN typedexp RPAREN .  (reduce by rule 347)
++
++	EQ	reduce by rule 347
++	COLON	reduce by rule 347
++	EXCEPTION	reduce by rule 347
++
++
++	.	error
++
++
++state 553:
++
++	consbind : sym of_ty consassembly consencoding rtl . nop nullified delayslot delayslotcandidate sdi latency pipeline 
++
++	ARCHITECTURE	reduce by rule 153
++	END	reduce by rule 153
++	LOCAL	reduce by rule 153
++	IN	reduce by rule 153
++	DATATYPE	reduce by rule 153
++	TYPE	reduce by rule 153
++	AND	reduce by rule 153
++	RPAREN	reduce by rule 153
++	SEMICOLON	reduce by rule 153
++	STORAGE	reduce by rule 153
++	LOCATIONS	reduce by rule 153
++	BAR	reduce by rule 153
++	STRUCTURE	reduce by rule 153
++	FUNCTOR	reduce by rule 153
++	SIGNATURE	reduce by rule 153
++	SHARING	reduce by rule 153
++	INSTRUCTION	reduce by rule 153
++	VLIW	reduce by rule 153
++	SUPERSCALAR	reduce by rule 153
++	WITHTYPE	reduce by rule 153
++	FUN	reduce by rule 153
++	VAL	reduce by rule 153
++	INCLUDE	reduce by rule 153
++	OPEN	reduce by rule 153
++	LITTLE	reduce by rule 153
++	BIG	reduce by rule 153
++	PIPELINE	reduce by rule 153
++	LOWERCASE	reduce by rule 153
++	UPPERCASE	reduce by rule 153
++	VERBATIM	reduce by rule 153
++	RTL	reduce by rule 153
++	SPAN	reduce by rule 153
++	DELAYSLOT	reduce by rule 153
++	NONFIX	reduce by rule 153
++	INFIX	reduce by rule 153
++	INFIXR	reduce by rule 153
++	DEBUG	reduce by rule 153
++	DELAYSLOT_COLON	reduce by rule 153
++	NULLIFIED_COLON	reduce by rule 153
++	PADDING_COLON	shift 620
++	RESOURCE	reduce by rule 153
++	CPU	reduce by rule 153
++	LATENCY	reduce by rule 153
++	EXCEPTION	reduce by rule 153
++	EOF	reduce by rule 153
++
++	nop	goto 619
++
++	.	error
++
++
++state 554:
++
++	rtl : RTL_COLON . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 621
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 555:
++
++	consencoding : id LBRACE . labexps0 RBRACE 
++
++	RBRACE	reduce by rule 266
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 421
++	labexps0	goto 622
++	labexps	goto 419
++	labexp	goto 418
++
++	.	error
++
++
++state 556:
++
++	exp : exp . HANDLE clauses 
++	consencoding : MC_COLON exp .  (reduce by rule 181)
++
++	ARCHITECTURE	reduce by rule 181
++	END	reduce by rule 181
++	LOCAL	reduce by rule 181
++	IN	reduce by rule 181
++	DATATYPE	reduce by rule 181
++	TYPE	reduce by rule 181
++	AND	reduce by rule 181
++	RPAREN	reduce by rule 181
++	SEMICOLON	reduce by rule 181
++	STORAGE	reduce by rule 181
++	LOCATIONS	reduce by rule 181
++	BAR	reduce by rule 181
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 181
++	FUNCTOR	reduce by rule 181
++	SIGNATURE	reduce by rule 181
++	SHARING	reduce by rule 181
++	INSTRUCTION	reduce by rule 181
++	VLIW	reduce by rule 181
++	SUPERSCALAR	reduce by rule 181
++	WITHTYPE	reduce by rule 181
++	FUN	reduce by rule 181
++	VAL	reduce by rule 181
++	INCLUDE	reduce by rule 181
++	OPEN	reduce by rule 181
++	LITTLE	reduce by rule 181
++	BIG	reduce by rule 181
++	PIPELINE	reduce by rule 181
++	LOWERCASE	reduce by rule 181
++	UPPERCASE	reduce by rule 181
++	VERBATIM	reduce by rule 181
++	RTL	reduce by rule 181
++	SPAN	reduce by rule 181
++	DELAYSLOT	reduce by rule 181
++	NONFIX	reduce by rule 181
++	INFIX	reduce by rule 181
++	INFIXR	reduce by rule 181
++	DEBUG	reduce by rule 181
++	RTL_COLON	reduce by rule 181
++	DELAYSLOT_COLON	reduce by rule 181
++	NULLIFIED_COLON	reduce by rule 181
++	PADDING_COLON	reduce by rule 181
++	RESOURCE	reduce by rule 181
++	CPU	reduce by rule 181
++	LATENCY	reduce by rule 181
++	EXCEPTION	reduce by rule 181
++	EOF	reduce by rule 181
++
++
++	.	error
++
++
++state 557:
++
++	consencoding : LPAREN expseq . RPAREN 
++
++	RPAREN	shift 623
++
++
++	.	error
++
++
++state 558:
++
++	consencoding : LPAREN exps2 . RPAREN 
++
++	RPAREN	shift 624
++
++
++	.	error
++
++
++state 559:
++
++	typedexp : typedexp . COLON ty 
++	exps2 : typedexp . COMMA exps1 
++	expseq : typedexp .  (reduce by rule 282)
++	expseq : typedexp . SEMICOLON expseq 
++
++	RPAREN	reduce by rule 282
++	SEMICOLON	shift 625
++	COMMA	shift 525
++	COLON	shift 458
++
++
++	.	error
++
++
++state 560:
++
++	formatbind : id opt_of LBRACE fields . RBRACE opt_exp 
++
++	RBRACE	shift 626
++
++
++	.	error
++
++
++state 561:
++
++	field : fieldid . COLON cnv signedness width unsignedint_opt 
++
++	COLON	shift 627
++
++
++	.	error
++
++
++state 562:
++
++	fields : field .  (reduce by rule 209)
++	fields : field . COMMA fields 
++
++	RBRACE	reduce by rule 209
++	COMMA	shift 628
++
++
++	.	error
++
++
++state 563:
++
++	field : id .  (reduce by rule 212)
++	fieldid : id .  (reduce by rule 213)
++
++	RBRACE	reduce by rule 212
++	COMMA	reduce by rule 212
++	COLON	reduce by rule 213
++
++
++	.	error
++
++
++state 564:
++
++	fieldid : WILD .  (reduce by rule 214)
++
++	COLON	reduce by rule 214
++
++
++	.	error
++
++
++state 565:
++
++	mymldecl : FUNCTOR id LPAREN functorarg RPAREN sigcon . EQ structexp 
++
++	EQ	shift 629
++
++
++	.	error
++
++
++state 566:
++
++	mymldecl : FUNCTOR id LPAREN functorarg RPAREN EQ . structexp 
++
++	CELLSET	shift 50
++	STRUCT	shift 364
++	ID	shift 49
++	SYMBOL	shift 48
++
++	structexp	goto 630
++	id	goto 114
++	ident	goto 362
++	ident2	goto 112
++	path	goto 85
++
++	.	error
++
++
++state 567:
++
++	sigcon : COLON sigexp .  (reduce by rule 93)
++	sigexp : sigexp . WHERE sigsubs 
++
++	EQ	reduce by rule 93
++	RPAREN	reduce by rule 93
++	WHERE	shift 206
++
++
++	.	error
++
++
++state 568:
++
++	structexp : structexp LPAREN scopeddecls . RPAREN 
++
++	RPAREN	shift 631
++
++
++	.	error
++
++
++state 569:
++
++	structexp : structexp LPAREN ident . RPAREN 
++
++	RPAREN	shift 632
++
++
++	.	error
++
++
++state 570:
++
++	structexp : STRUCT scopeddecls END .  (reduce by rule 124)
++
++	ARCHITECTURE	reduce by rule 124
++	END	reduce by rule 124
++	LOCAL	reduce by rule 124
++	IN	reduce by rule 124
++	DATATYPE	reduce by rule 124
++	TYPE	reduce by rule 124
++	EQ	reduce by rule 124
++	AND	reduce by rule 124
++	LPAREN	reduce by rule 124
++	RPAREN	reduce by rule 124
++	SEMICOLON	reduce by rule 124
++	STORAGE	reduce by rule 124
++	LOCATIONS	reduce by rule 124
++	STRUCTURE	reduce by rule 124
++	FUNCTOR	reduce by rule 124
++	SIGNATURE	reduce by rule 124
++	WHERE	reduce by rule 124
++	SHARING	reduce by rule 124
++	INSTRUCTION	reduce by rule 124
++	VLIW	reduce by rule 124
++	SUPERSCALAR	reduce by rule 124
++	FUN	reduce by rule 124
++	VAL	reduce by rule 124
++	INCLUDE	reduce by rule 124
++	OPEN	reduce by rule 124
++	LITTLE	reduce by rule 124
++	BIG	reduce by rule 124
++	PIPELINE	reduce by rule 124
++	LOWERCASE	reduce by rule 124
++	UPPERCASE	reduce by rule 124
++	VERBATIM	reduce by rule 124
++	RTL	reduce by rule 124
++	NONFIX	reduce by rule 124
++	INFIX	reduce by rule 124
++	INFIXR	reduce by rule 124
++	DEBUG	reduce by rule 124
++	RESOURCE	reduce by rule 124
++	CPU	reduce by rule 124
++	LATENCY	reduce by rule 124
++	EXCEPTION	reduce by rule 124
++	EOF	reduce by rule 124
++
++
++	.	error
++
++
++state 571:
++
++	storagedecl : id EQ DOLLAR id LBRACKET . cellcount RBRACKET bitSize aliasing defaults printcell 
++
++	RBRACKET	reduce by rule 389
++	INT	shift 64
++
++	int	goto 634
++	cellcount	goto 633
++
++	.	error
++
++
++state 572:
++
++	datatypebind : tyvarseq id opcodeencoding fieldty hasasm . EQ consbinds 
++	datatypebind : tyvarseq id opcodeencoding fieldty hasasm . EQ DATATYPE ty 
++
++	EQ	shift 635
++
++
++	.	error
++
++
++state 573:
++
++	hasasm : DEREF .  (reduce by rule 131)
++
++	EQ	reduce by rule 131
++
++
++	.	error
++
++
++state 574:
++
++	fieldty : COLON id .  (reduce by rule 134)
++
++	EQ	reduce by rule 134
++	DEREF	reduce by rule 134
++
++
++	.	error
++
++
++state 575:
++
++	opcodeencoding : LBRACKET encodingexps RBRACKET .  (reduce by rule 136)
++
++	EQ	reduce by rule 136
++	DEREF	reduce by rule 136
++	COLON	reduce by rule 136
++
++
++	.	error
++
++
++state 576:
++
++	encodingexps : encodingexp COMMA . encodingexps 
++
++	INT	shift 64
++
++	int	goto 489
++	encodingexp	goto 488
++	encodingexps	goto 636
++
++	.	error
++
++
++state 577:
++
++	encodingexp : int int . DOTDOT int 
++
++	DOTDOT	shift 637
++
++
++	.	error
++
++
++state 578:
++
++	encodingexp : int DOTDOT . int 
++
++	INT	shift 64
++
++	int	goto 638
++
++	.	error
++
++
++state 579:
++
++	mymddecl : ARCHITECTURE id EQ STRUCT decls END .  (reduce by rule 12)
++
++	ARCHITECTURE	reduce by rule 12
++	END	reduce by rule 12
++	LOCAL	reduce by rule 12
++	IN	reduce by rule 12
++	DATATYPE	reduce by rule 12
++	TYPE	reduce by rule 12
++	RPAREN	reduce by rule 12
++	SEMICOLON	reduce by rule 12
++	STORAGE	reduce by rule 12
++	LOCATIONS	reduce by rule 12
++	STRUCTURE	reduce by rule 12
++	FUNCTOR	reduce by rule 12
++	SIGNATURE	reduce by rule 12
++	SHARING	reduce by rule 12
++	INSTRUCTION	reduce by rule 12
++	VLIW	reduce by rule 12
++	SUPERSCALAR	reduce by rule 12
++	FUN	reduce by rule 12
++	VAL	reduce by rule 12
++	INCLUDE	reduce by rule 12
++	OPEN	reduce by rule 12
++	LITTLE	reduce by rule 12
++	BIG	reduce by rule 12
++	PIPELINE	reduce by rule 12
++	LOWERCASE	reduce by rule 12
++	UPPERCASE	reduce by rule 12
++	VERBATIM	reduce by rule 12
++	RTL	reduce by rule 12
++	NONFIX	reduce by rule 12
++	INFIX	reduce by rule 12
++	INFIXR	reduce by rule 12
++	DEBUG	reduce by rule 12
++	RESOURCE	reduce by rule 12
++	CPU	reduce by rule 12
++	LATENCY	reduce by rule 12
++	EXCEPTION	reduce by rule 12
++	EOF	reduce by rule 12
++
++
++	.	error
++
++
++state 580:
++
++	labtys1 : labty COMMA labtys1 .  (reduce by rule 377)
++
++	RBRACE	reduce by rule 377
++
++
++	.	error
++
++
++state 581:
++
++	ty : ty . ARROW ty 
++	labty : id COLON ty .  (reduce by rule 378)
++
++	RBRACE	reduce by rule 378
++	COMMA	reduce by rule 378
++	ARROW	shift 388
++
++
++	.	error
++
++
++state 582:
++
++	appty : LPAREN tys2 RPAREN tident .  (reduce by rule 359)
++
++	ARCHITECTURE	reduce by rule 359
++	END	reduce by rule 359
++	LOCAL	reduce by rule 359
++	IN	reduce by rule 359
++	OF	reduce by rule 359
++	DATATYPE	reduce by rule 359
++	TYPE	reduce by rule 359
++	EQ	reduce by rule 359
++	TIMES	reduce by rule 359
++	AND	reduce by rule 359
++	LPAREN	reduce by rule 359
++	RPAREN	reduce by rule 359
++	RBRACKET	reduce by rule 359
++	RBRACE	reduce by rule 359
++	SEMICOLON	reduce by rule 359
++	LDQUOTE	reduce by rule 359
++	CELLSET	reduce by rule 359
++	STORAGE	reduce by rule 359
++	LOCATIONS	reduce by rule 359
++	COMMA	reduce by rule 359
++	COLON	reduce by rule 359
++	BAR	reduce by rule 359
++	ARROW	reduce by rule 359
++	DARROW	reduce by rule 359
++	BITS	reduce by rule 359
++	THEN	reduce by rule 359
++	ELSE	reduce by rule 359
++	STRUCTURE	reduce by rule 359
++	FUNCTOR	reduce by rule 359
++	SIGNATURE	reduce by rule 359
++	WHERE	reduce by rule 359
++	SHARING	reduce by rule 359
++	INSTRUCTION	reduce by rule 359
++	CELL	reduce by rule 359
++	VLIW	reduce by rule 359
++	SUPERSCALAR	reduce by rule 359
++	WITHTYPE	reduce by rule 359
++	FUN	reduce by rule 359
++	VAL	reduce by rule 359
++	INCLUDE	reduce by rule 359
++	OPEN	reduce by rule 359
++	LITTLE	reduce by rule 359
++	BIG	reduce by rule 359
++	PIPELINE	reduce by rule 359
++	LOWERCASE	reduce by rule 359
++	UPPERCASE	reduce by rule 359
++	VERBATIM	reduce by rule 359
++	RTL	reduce by rule 359
++	SPAN	reduce by rule 359
++	DELAYSLOT	reduce by rule 359
++	NONFIX	reduce by rule 359
++	INFIX	reduce by rule 359
++	INFIXR	reduce by rule 359
++	DEBUG	reduce by rule 359
++	ASM_COLON	reduce by rule 359
++	MC_COLON	reduce by rule 359
++	RTL_COLON	reduce by rule 359
++	DELAYSLOT_COLON	reduce by rule 359
++	NULLIFIED_COLON	reduce by rule 359
++	PADDING_COLON	reduce by rule 359
++	RESOURCE	reduce by rule 359
++	CPU	reduce by rule 359
++	LATENCY	reduce by rule 359
++	EXCEPTION	reduce by rule 359
++	ID	reduce by rule 359
++	SYMBOL	reduce by rule 359
++	WORD	reduce by rule 359
++	INT	reduce by rule 359
++	STRING	reduce by rule 359
++	EOF	reduce by rule 359
++
++
++	.	error
++
++
++state 583:
++
++	tys2 : ty COMMA tys2 .  (reduce by rule 370)
++
++	RPAREN	reduce by rule 370
++
++
++	.	error
++
++
++state 584:
++
++	ty : ty . ARROW ty 
++	tys2 : ty . COMMA ty 
++	tys2 : ty COMMA ty .  (reduce by rule 369)
++	tys2 : ty . COMMA tys2 
++
++	RPAREN	reduce by rule 369
++	COMMA	shift 501
++	ARROW	shift 388
++
++
++	.	error
++
++
++state 585:
++
++	resources : resource COMMA . resources 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++	INT	shift 64
++
++	id	goto 506
++	int	goto 505
++	resources	goto 639
++	resource	goto 503
++
++	.	error
++
++
++state 586:
++
++	cpubind : id aliases int LBRACKET resources RBRACKET .  (reduce by rule 32)
++
++	ARCHITECTURE	reduce by rule 32
++	END	reduce by rule 32
++	LOCAL	reduce by rule 32
++	IN	reduce by rule 32
++	DATATYPE	reduce by rule 32
++	TYPE	reduce by rule 32
++	AND	reduce by rule 32
++	RPAREN	reduce by rule 32
++	SEMICOLON	reduce by rule 32
++	STORAGE	reduce by rule 32
++	LOCATIONS	reduce by rule 32
++	STRUCTURE	reduce by rule 32
++	FUNCTOR	reduce by rule 32
++	SIGNATURE	reduce by rule 32
++	SHARING	reduce by rule 32
++	INSTRUCTION	reduce by rule 32
++	VLIW	reduce by rule 32
++	SUPERSCALAR	reduce by rule 32
++	FUN	reduce by rule 32
++	VAL	reduce by rule 32
++	INCLUDE	reduce by rule 32
++	OPEN	reduce by rule 32
++	LITTLE	reduce by rule 32
++	BIG	reduce by rule 32
++	PIPELINE	reduce by rule 32
++	LOWERCASE	reduce by rule 32
++	UPPERCASE	reduce by rule 32
++	VERBATIM	reduce by rule 32
++	RTL	reduce by rule 32
++	NONFIX	reduce by rule 32
++	INFIX	reduce by rule 32
++	INFIXR	reduce by rule 32
++	DEBUG	reduce by rule 32
++	RESOURCE	reduce by rule 32
++	CPU	reduce by rule 32
++	LATENCY	reduce by rule 32
++	EXCEPTION	reduce by rule 32
++	EOF	reduce by rule 32
++
++
++	.	error
++
++
++state 587:
++
++	resource : int id .  (reduce by rule 37)
++
++	RBRACKET	reduce by rule 37
++	COMMA	reduce by rule 37
++
++
++	.	error
++
++
++state 588:
++
++	aexp2 : aexp2 AT LBRACKET slices . RBRACKET 
++
++	RBRACKET	shift 640
++
++
++	.	error
++
++
++state 589:
++
++	slices : slice .  (reduce by rule 409)
++	slices : slice . COMMA slices 
++
++	RBRACKET	reduce by rule 409
++	COMMA	shift 641
++
++
++	.	error
++
++
++state 590:
++
++	slice : int . DOTDOT int 
++	slice : int .  (reduce by rule 412)
++
++	RBRACKET	reduce by rule 412
++	COMMA	reduce by rule 412
++	DOTDOT	shift 642
++
++
++	.	error
++
++
++state 591:
++
++	aexp : sym CONCAT LBRACKET exps . RBRACKET 
++	aexp : sym CONCAT LBRACKET exps . RBRACKET CONCAT sym 
++
++	RBRACKET	shift 643
++
++
++	.	error
++
++
++state 592:
++
++	aexp : LET decls IN expseq . END 
++
++	END	shift 644
++
++
++	.	error
++
++
++state 593:
++
++	typedexp : typedexp . COLON ty 
++	expseq : typedexp .  (reduce by rule 282)
++	expseq : typedexp . SEMICOLON expseq 
++
++	END	reduce by rule 282
++	RPAREN	reduce by rule 282
++	SEMICOLON	shift 625
++	COLON	shift 458
++
++
++	.	error
++
++
++state 594:
++
++	exp : IF typedexp THEN typedexp . ELSE exp 
++	typedexp : typedexp . COLON ty 
++
++	COLON	shift 458
++	ELSE	shift 645
++
++
++	.	error
++
++
++state 595:
++
++	clauses : clause BAR clauses .  (reduce by rule 342)
++
++	ARCHITECTURE	reduce by rule 342
++	END	reduce by rule 342
++	LOCAL	reduce by rule 342
++	IN	reduce by rule 342
++	OF	reduce by rule 342
++	DATATYPE	reduce by rule 342
++	TYPE	reduce by rule 342
++	AND	reduce by rule 342
++	LPAREN	reduce by rule 342
++	RPAREN	reduce by rule 342
++	RBRACKET	reduce by rule 342
++	RBRACE	reduce by rule 342
++	SEMICOLON	reduce by rule 342
++	RMETA	reduce by rule 342
++	CELLSET	reduce by rule 342
++	STORAGE	reduce by rule 342
++	LOCATIONS	reduce by rule 342
++	COMMA	reduce by rule 342
++	COLON	reduce by rule 342
++	BAR	reduce by rule 342
++	DARROW	reduce by rule 342
++	THEN	reduce by rule 342
++	ELSE	reduce by rule 342
++	HANDLE	reduce by rule 342
++	STRUCTURE	reduce by rule 342
++	FUNCTOR	reduce by rule 342
++	SIGNATURE	reduce by rule 342
++	SHARING	reduce by rule 342
++	INSTRUCTION	reduce by rule 342
++	VLIW	reduce by rule 342
++	SUPERSCALAR	reduce by rule 342
++	WITHTYPE	reduce by rule 342
++	FUN	reduce by rule 342
++	VAL	reduce by rule 342
++	INCLUDE	reduce by rule 342
++	OPEN	reduce by rule 342
++	LITTLE	reduce by rule 342
++	BIG	reduce by rule 342
++	PIPELINE	reduce by rule 342
++	LOWERCASE	reduce by rule 342
++	UPPERCASE	reduce by rule 342
++	VERBATIM	reduce by rule 342
++	RTL	reduce by rule 342
++	SPAN	reduce by rule 342
++	DELAYSLOT	reduce by rule 342
++	NONFIX	reduce by rule 342
++	INFIX	reduce by rule 342
++	INFIXR	reduce by rule 342
++	DEBUG	reduce by rule 342
++	ASM_COLON	reduce by rule 342
++	MC_COLON	reduce by rule 342
++	RTL_COLON	reduce by rule 342
++	DELAYSLOT_COLON	reduce by rule 342
++	NULLIFIED_COLON	reduce by rule 342
++	PADDING_COLON	reduce by rule 342
++	RESOURCE	reduce by rule 342
++	CPU	reduce by rule 342
++	LATENCY	reduce by rule 342
++	EXCEPTION	reduce by rule 342
++	ID	reduce by rule 342
++	SYMBOL	reduce by rule 342
++	WORD	reduce by rule 342
++	INT	reduce by rule 342
++	EOF	reduce by rule 342
++
++
++	.	error
++
++
++state 596:
++
++	clause : typedpat guard cont . DARROW exp 
++
++	DARROW	shift 646
++
++
++	.	error
++
++
++state 597:
++
++	typedexp : typedexp . COLON ty 
++	guard : WHERE typedexp .  (reduce by rule 340)
++
++	COLON	shift 458
++	DARROW	reduce by rule 340
++	EXCEPTION	reduce by rule 340
++
++
++	.	error
++
++
++state 598:
++
++	asm_strings : LDQUOTE asms RDQUOTE asm_strings .  (reduce by rule 187)
++
++	ARCHITECTURE	reduce by rule 187
++	END	reduce by rule 187
++	LOCAL	reduce by rule 187
++	IN	reduce by rule 187
++	OF	reduce by rule 187
++	DATATYPE	reduce by rule 187
++	TYPE	reduce by rule 187
++	EQ	reduce by rule 187
++	DOLLAR	reduce by rule 187
++	TIMES	reduce by rule 187
++	AND	reduce by rule 187
++	DEREF	reduce by rule 187
++	NOT	reduce by rule 187
++	LLBRACKET	reduce by rule 187
++	LHASHBRACKET	reduce by rule 187
++	LPAREN	reduce by rule 187
++	RPAREN	reduce by rule 187
++	LBRACKET	reduce by rule 187
++	RBRACKET	reduce by rule 187
++	LBRACE	reduce by rule 187
++	RBRACE	reduce by rule 187
++	SEMICOLON	reduce by rule 187
++	LDQUOTE	reduce by rule 187
++	RMETA	reduce by rule 187
++	CELLSET	reduce by rule 187
++	STORAGE	reduce by rule 187
++	LOCATIONS	reduce by rule 187
++	HASH	reduce by rule 187
++	COMMA	reduce by rule 187
++	COLON	reduce by rule 187
++	AT	reduce by rule 187
++	BAR	reduce by rule 187
++	DARROW	reduce by rule 187
++	THEN	reduce by rule 187
++	ELSE	reduce by rule 187
++	TRUE	reduce by rule 187
++	FALSE	reduce by rule 187
++	HANDLE	reduce by rule 187
++	LET	reduce by rule 187
++	STRUCTURE	reduce by rule 187
++	FUNCTOR	reduce by rule 187
++	SIGNATURE	reduce by rule 187
++	SHARING	reduce by rule 187
++	INSTRUCTION	reduce by rule 187
++	VLIW	reduce by rule 187
++	SUPERSCALAR	reduce by rule 187
++	WITHTYPE	reduce by rule 187
++	FUN	reduce by rule 187
++	VAL	reduce by rule 187
++	INCLUDE	reduce by rule 187
++	OPEN	reduce by rule 187
++	OP	reduce by rule 187
++	LITTLE	reduce by rule 187
++	BIG	reduce by rule 187
++	PIPELINE	reduce by rule 187
++	LOWERCASE	reduce by rule 187
++	UPPERCASE	reduce by rule 187
++	VERBATIM	reduce by rule 187
++	RTL	reduce by rule 187
++	SPAN	reduce by rule 187
++	DELAYSLOT	reduce by rule 187
++	ALWAYS	reduce by rule 187
++	NEVER	reduce by rule 187
++	NONFIX	reduce by rule 187
++	INFIX	reduce by rule 187
++	INFIXR	reduce by rule 187
++	DEBUG	reduce by rule 187
++	ASM_COLON	reduce by rule 187
++	MC_COLON	reduce by rule 187
++	RTL_COLON	reduce by rule 187
++	DELAYSLOT_COLON	reduce by rule 187
++	NULLIFIED_COLON	reduce by rule 187
++	PADDING_COLON	reduce by rule 187
++	RESOURCE	reduce by rule 187
++	CPU	reduce by rule 187
++	LATENCY	reduce by rule 187
++	EXCEPTION	reduce by rule 187
++	ID	reduce by rule 187
++	SYMBOL	reduce by rule 187
++	WORD	reduce by rule 187
++	INT	reduce by rule 187
++	INTINF	reduce by rule 187
++	REAL	reduce by rule 187
++	STRING	reduce by rule 187
++	CHAR	reduce by rule 187
++	EOF	reduce by rule 187
++
++
++	.	error
++
++
++state 599:
++
++	asm : LMETA exp RMETA .  (reduce by rule 190)
++
++	RDQUOTE	reduce by rule 190
++	LMETA	reduce by rule 190
++	ASMTEXT	reduce by rule 190
++
++
++	.	error
++
++
++state 600:
++
++	labexps : labexp COMMA labexps .  (reduce by rule 269)
++
++	RBRACE	reduce by rule 269
++
++
++	.	error
++
++
++state 601:
++
++	typedexp : typedexp . COLON ty 
++	labexp : id EQ typedexp .  (reduce by rule 270)
++
++	RBRACE	reduce by rule 270
++	COMMA	reduce by rule 270
++	COLON	shift 458
++
++
++	.	error
++
++
++state 602:
++
++	aexp : LBRACKET exps RBRACKET CONCAT . sym 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 647
++	symb	goto 67
++
++	.	error
++
++
++state 603:
++
++	exps1 : typedexp COMMA exps1 .  (reduce by rule 286)
++
++	RPAREN	reduce by rule 286
++	RBRACKET	reduce by rule 286
++
++
++	.	error
++
++
++state 604:
++
++	exps2 : typedexp COMMA exps1 .  (reduce by rule 287)
++
++	RPAREN	reduce by rule 287
++
++
++	.	error
++
++
++state 605:
++
++	expseq2 : typedexp SEMICOLON expseq .  (reduce by rule 284)
++
++	RPAREN	reduce by rule 284
++
++
++	.	error
++
++
++state 606:
++
++	aexp : DOLLAR id LBRACKET exp . region RBRACKET 
++	exp : exp . HANDLE clauses 
++
++	RBRACKET	reduce by rule 260
++	COLON	shift 649
++	HANDLE	shift 402
++
++	region	goto 648
++
++	.	error
++
++
++state 607:
++
++	exp : CASE typedexp OF clauses .  (reduce by rule 276)
++
++	ARCHITECTURE	reduce by rule 276
++	END	reduce by rule 276
++	LOCAL	reduce by rule 276
++	IN	reduce by rule 276
++	OF	reduce by rule 276
++	DATATYPE	reduce by rule 276
++	TYPE	reduce by rule 276
++	AND	reduce by rule 276
++	LPAREN	reduce by rule 276
++	RPAREN	reduce by rule 276
++	RBRACKET	reduce by rule 276
++	RBRACE	reduce by rule 276
++	SEMICOLON	reduce by rule 276
++	RMETA	reduce by rule 276
++	CELLSET	reduce by rule 276
++	STORAGE	reduce by rule 276
++	LOCATIONS	reduce by rule 276
++	COMMA	reduce by rule 276
++	COLON	reduce by rule 276
++	BAR	reduce by rule 276
++	DARROW	reduce by rule 276
++	THEN	reduce by rule 276
++	ELSE	reduce by rule 276
++	HANDLE	reduce by rule 276
++	STRUCTURE	reduce by rule 276
++	FUNCTOR	reduce by rule 276
++	SIGNATURE	reduce by rule 276
++	SHARING	reduce by rule 276
++	INSTRUCTION	reduce by rule 276
++	VLIW	reduce by rule 276
++	SUPERSCALAR	reduce by rule 276
++	WITHTYPE	reduce by rule 276
++	FUN	reduce by rule 276
++	VAL	reduce by rule 276
++	INCLUDE	reduce by rule 276
++	OPEN	reduce by rule 276
++	LITTLE	reduce by rule 276
++	BIG	reduce by rule 276
++	PIPELINE	reduce by rule 276
++	LOWERCASE	reduce by rule 276
++	UPPERCASE	reduce by rule 276
++	VERBATIM	reduce by rule 276
++	RTL	reduce by rule 276
++	SPAN	reduce by rule 276
++	DELAYSLOT	reduce by rule 276
++	NONFIX	reduce by rule 276
++	INFIX	reduce by rule 276
++	INFIXR	reduce by rule 276
++	DEBUG	reduce by rule 276
++	ASM_COLON	reduce by rule 276
++	MC_COLON	reduce by rule 276
++	RTL_COLON	reduce by rule 276
++	DELAYSLOT_COLON	reduce by rule 276
++	NULLIFIED_COLON	reduce by rule 276
++	PADDING_COLON	reduce by rule 276
++	RESOURCE	reduce by rule 276
++	CPU	reduce by rule 276
++	LATENCY	reduce by rule 276
++	EXCEPTION	reduce by rule 276
++	ID	reduce by rule 276
++	SYMBOL	reduce by rule 276
++	WORD	reduce by rule 276
++	INT	reduce by rule 276
++	EOF	reduce by rule 276
++
++
++	.	error
++
++
++state 608:
++
++	apat : sym CONCAT LBRACKET pats RBRACKET CONCAT . sym 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 650
++	symb	goto 67
++
++	.	error
++
++
++state 609:
++
++	mymldecl : RTL id LBRACE labpats0 RBRACE EQ exp .  (reduce by rule 62)
++	exp : exp . HANDLE clauses 
++
++	ARCHITECTURE	reduce by rule 62
++	END	reduce by rule 62
++	LOCAL	reduce by rule 62
++	IN	reduce by rule 62
++	DATATYPE	reduce by rule 62
++	TYPE	reduce by rule 62
++	RPAREN	reduce by rule 62
++	SEMICOLON	reduce by rule 62
++	STORAGE	reduce by rule 62
++	LOCATIONS	reduce by rule 62
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 62
++	FUNCTOR	reduce by rule 62
++	SIGNATURE	reduce by rule 62
++	SHARING	reduce by rule 62
++	INSTRUCTION	reduce by rule 62
++	VLIW	reduce by rule 62
++	SUPERSCALAR	reduce by rule 62
++	FUN	reduce by rule 62
++	VAL	reduce by rule 62
++	INCLUDE	reduce by rule 62
++	OPEN	reduce by rule 62
++	LITTLE	reduce by rule 62
++	BIG	reduce by rule 62
++	PIPELINE	reduce by rule 62
++	LOWERCASE	reduce by rule 62
++	UPPERCASE	reduce by rule 62
++	VERBATIM	reduce by rule 62
++	RTL	reduce by rule 62
++	NONFIX	reduce by rule 62
++	INFIX	reduce by rule 62
++	INFIXR	reduce by rule 62
++	DEBUG	reduce by rule 62
++	RESOURCE	reduce by rule 62
++	CPU	reduce by rule 62
++	LATENCY	reduce by rule 62
++	EXCEPTION	reduce by rule 62
++	EOF	reduce by rule 62
++
++
++	.	error
++
++
++state 610:
++
++	typedpat : typedpat . COLON ty 
++	labpat : sym WHERE typedexp IN typedpat .  (reduce by rule 335)
++
++	RBRACE	reduce by rule 335
++	COMMA	reduce by rule 335
++	COLON	shift 316
++
++
++	.	error
++
++
++state 611:
++
++	apat : LPAREN typedpat WHERE typedexp IN typedpat . RPAREN 
++	typedpat : typedpat . COLON ty 
++
++	RPAREN	shift 651
++	COLON	shift 316
++
++
++	.	error
++
++
++state 612:
++
++	cycles : cycle COMMA . cycles 
++
++	LPAREN	shift 545
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 544
++	cycles	goto 652
++	cycle	goto 541
++
++	.	error
++
++
++state 613:
++
++	cycle : cycle CONCAT . cycle 
++
++	LPAREN	shift 545
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 544
++	cycle	goto 653
++
++	.	error
++
++
++state 614:
++
++	cycle : cycle TIMES . int 
++
++	INT	shift 64
++
++	int	goto 654
++
++	.	error
++
++
++state 615:
++
++	pipelineclause : id pat EQ LBRACKET cycles0 RBRACKET .  (reduce by rule 44)
++
++	ARCHITECTURE	reduce by rule 44
++	END	reduce by rule 44
++	LOCAL	reduce by rule 44
++	IN	reduce by rule 44
++	DATATYPE	reduce by rule 44
++	TYPE	reduce by rule 44
++	AND	reduce by rule 44
++	RPAREN	reduce by rule 44
++	SEMICOLON	reduce by rule 44
++	STORAGE	reduce by rule 44
++	LOCATIONS	reduce by rule 44
++	BAR	reduce by rule 44
++	STRUCTURE	reduce by rule 44
++	FUNCTOR	reduce by rule 44
++	SIGNATURE	reduce by rule 44
++	SHARING	reduce by rule 44
++	INSTRUCTION	reduce by rule 44
++	VLIW	reduce by rule 44
++	SUPERSCALAR	reduce by rule 44
++	FUN	reduce by rule 44
++	VAL	reduce by rule 44
++	INCLUDE	reduce by rule 44
++	OPEN	reduce by rule 44
++	LITTLE	reduce by rule 44
++	BIG	reduce by rule 44
++	PIPELINE	reduce by rule 44
++	LOWERCASE	reduce by rule 44
++	UPPERCASE	reduce by rule 44
++	VERBATIM	reduce by rule 44
++	RTL	reduce by rule 44
++	NONFIX	reduce by rule 44
++	INFIX	reduce by rule 44
++	INFIXR	reduce by rule 44
++	DEBUG	reduce by rule 44
++	RESOURCE	reduce by rule 44
++	CPU	reduce by rule 44
++	LATENCY	reduce by rule 44
++	EXCEPTION	reduce by rule 44
++	EOF	reduce by rule 44
++
++
++	.	error
++
++
++state 616:
++
++	cycle : cycle . CONCAT cycle 
++	cycle : cycle . TIMES int 
++	cycle : LPAREN cycle . RPAREN 
++
++	TIMES	shift 614
++	CONCAT	shift 613
++	RPAREN	shift 655
++
++
++	.	error
++
++
++state 617:
++
++	ty : ty . ARROW ty 
++	sigsub : TYPE ident EQ ty .  (reduce by rule 97)
++
++	ARCHITECTURE	reduce by rule 97
++	END	reduce by rule 97
++	LOCAL	reduce by rule 97
++	IN	reduce by rule 97
++	DATATYPE	reduce by rule 97
++	TYPE	reduce by rule 97
++	EQ	reduce by rule 97
++	AND	reduce by rule 97
++	RPAREN	reduce by rule 97
++	SEMICOLON	reduce by rule 97
++	STORAGE	reduce by rule 97
++	LOCATIONS	reduce by rule 97
++	ARROW	shift 388
++	STRUCTURE	reduce by rule 97
++	FUNCTOR	reduce by rule 97
++	SIGNATURE	reduce by rule 97
++	WHERE	reduce by rule 97
++	SHARING	reduce by rule 97
++	INSTRUCTION	reduce by rule 97
++	VLIW	reduce by rule 97
++	SUPERSCALAR	reduce by rule 97
++	FUN	reduce by rule 97
++	VAL	reduce by rule 97
++	INCLUDE	reduce by rule 97
++	OPEN	reduce by rule 97
++	LITTLE	reduce by rule 97
++	BIG	reduce by rule 97
++	PIPELINE	reduce by rule 97
++	LOWERCASE	reduce by rule 97
++	UPPERCASE	reduce by rule 97
++	VERBATIM	reduce by rule 97
++	RTL	reduce by rule 97
++	NONFIX	reduce by rule 97
++	INFIX	reduce by rule 97
++	INFIXR	reduce by rule 97
++	DEBUG	reduce by rule 97
++	RESOURCE	reduce by rule 97
++	CPU	reduce by rule 97
++	LATENCY	reduce by rule 97
++	EXCEPTION	reduce by rule 97
++	EOF	reduce by rule 97
++
++
++	.	error
++
++
++state 618:
++
++	typedexp : typedexp . COLON ty 
++	funclause : apppat funguard return_ty cont EQ typedexp .  (reduce by rule 343)
++
++	ARCHITECTURE	reduce by rule 343
++	END	reduce by rule 343
++	LOCAL	reduce by rule 343
++	IN	reduce by rule 343
++	DATATYPE	reduce by rule 343
++	TYPE	reduce by rule 343
++	AND	reduce by rule 343
++	RPAREN	reduce by rule 343
++	SEMICOLON	reduce by rule 343
++	STORAGE	reduce by rule 343
++	LOCATIONS	reduce by rule 343
++	COLON	shift 458
++	BAR	reduce by rule 343
++	STRUCTURE	reduce by rule 343
++	FUNCTOR	reduce by rule 343
++	SIGNATURE	reduce by rule 343
++	SHARING	reduce by rule 343
++	INSTRUCTION	reduce by rule 343
++	VLIW	reduce by rule 343
++	SUPERSCALAR	reduce by rule 343
++	FUN	reduce by rule 343
++	VAL	reduce by rule 343
++	INCLUDE	reduce by rule 343
++	OPEN	reduce by rule 343
++	LITTLE	reduce by rule 343
++	BIG	reduce by rule 343
++	PIPELINE	reduce by rule 343
++	LOWERCASE	reduce by rule 343
++	UPPERCASE	reduce by rule 343
++	VERBATIM	reduce by rule 343
++	RTL	reduce by rule 343
++	NONFIX	reduce by rule 343
++	INFIX	reduce by rule 343
++	INFIXR	reduce by rule 343
++	DEBUG	reduce by rule 343
++	RESOURCE	reduce by rule 343
++	CPU	reduce by rule 343
++	LATENCY	reduce by rule 343
++	EXCEPTION	reduce by rule 343
++	EOF	reduce by rule 343
++
++
++	.	error
++
++
++state 619:
++
++	consbind : sym of_ty consassembly consencoding rtl nop . nullified delayslot delayslotcandidate sdi latency pipeline 
++
++	ARCHITECTURE	reduce by rule 167
++	END	reduce by rule 167
++	LOCAL	reduce by rule 167
++	IN	reduce by rule 167
++	DATATYPE	reduce by rule 167
++	TYPE	reduce by rule 167
++	AND	reduce by rule 167
++	RPAREN	reduce by rule 167
++	SEMICOLON	reduce by rule 167
++	STORAGE	reduce by rule 167
++	LOCATIONS	reduce by rule 167
++	BAR	reduce by rule 167
++	STRUCTURE	reduce by rule 167
++	FUNCTOR	reduce by rule 167
++	SIGNATURE	reduce by rule 167
++	SHARING	reduce by rule 167
++	INSTRUCTION	reduce by rule 167
++	VLIW	reduce by rule 167
++	SUPERSCALAR	reduce by rule 167
++	WITHTYPE	reduce by rule 167
++	FUN	reduce by rule 167
++	VAL	reduce by rule 167
++	INCLUDE	reduce by rule 167
++	OPEN	reduce by rule 167
++	LITTLE	reduce by rule 167
++	BIG	reduce by rule 167
++	PIPELINE	reduce by rule 167
++	LOWERCASE	reduce by rule 167
++	UPPERCASE	reduce by rule 167
++	VERBATIM	reduce by rule 167
++	RTL	reduce by rule 167
++	SPAN	reduce by rule 167
++	DELAYSLOT	reduce by rule 167
++	NONFIX	reduce by rule 167
++	INFIX	reduce by rule 167
++	INFIXR	reduce by rule 167
++	DEBUG	reduce by rule 167
++	DELAYSLOT_COLON	reduce by rule 167
++	NULLIFIED_COLON	shift 657
++	RESOURCE	reduce by rule 167
++	CPU	reduce by rule 167
++	LATENCY	reduce by rule 167
++	EXCEPTION	reduce by rule 167
++	EOF	reduce by rule 167
++
++	nullified	goto 656
++
++	.	error
++
++
++state 620:
++
++	nop : PADDING_COLON . flag 
++	nop : PADDING_COLON . False 
++	nop : PADDING_COLON . True 
++
++	NOT	shift 662
++	CELLSET	shift 50
++	TRUE	shift 99
++	FALSE	shift 98
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 661
++	flag	goto 660
++	True	goto 659
++	False	goto 658
++
++	.	error
++
++
++state 621:
++
++	exp : exp . HANDLE clauses 
++	rtl : RTL_COLON exp .  (reduce by rule 116)
++
++	ARCHITECTURE	reduce by rule 116
++	END	reduce by rule 116
++	LOCAL	reduce by rule 116
++	IN	reduce by rule 116
++	DATATYPE	reduce by rule 116
++	TYPE	reduce by rule 116
++	AND	reduce by rule 116
++	RPAREN	reduce by rule 116
++	SEMICOLON	reduce by rule 116
++	STORAGE	reduce by rule 116
++	LOCATIONS	reduce by rule 116
++	BAR	reduce by rule 116
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 116
++	FUNCTOR	reduce by rule 116
++	SIGNATURE	reduce by rule 116
++	SHARING	reduce by rule 116
++	INSTRUCTION	reduce by rule 116
++	VLIW	reduce by rule 116
++	SUPERSCALAR	reduce by rule 116
++	WITHTYPE	reduce by rule 116
++	FUN	reduce by rule 116
++	VAL	reduce by rule 116
++	INCLUDE	reduce by rule 116
++	OPEN	reduce by rule 116
++	LITTLE	reduce by rule 116
++	BIG	reduce by rule 116
++	PIPELINE	reduce by rule 116
++	LOWERCASE	reduce by rule 116
++	UPPERCASE	reduce by rule 116
++	VERBATIM	reduce by rule 116
++	RTL	reduce by rule 116
++	SPAN	reduce by rule 116
++	DELAYSLOT	reduce by rule 116
++	NONFIX	reduce by rule 116
++	INFIX	reduce by rule 116
++	INFIXR	reduce by rule 116
++	DEBUG	reduce by rule 116
++	DELAYSLOT_COLON	reduce by rule 116
++	NULLIFIED_COLON	reduce by rule 116
++	PADDING_COLON	reduce by rule 116
++	RESOURCE	reduce by rule 116
++	CPU	reduce by rule 116
++	LATENCY	reduce by rule 116
++	EXCEPTION	reduce by rule 116
++	EOF	reduce by rule 116
++
++
++	.	error
++
++
++state 622:
++
++	consencoding : id LBRACE labexps0 . RBRACE 
++
++	RBRACE	shift 663
++
++
++	.	error
++
++
++state 623:
++
++	consencoding : LPAREN expseq RPAREN .  (reduce by rule 178)
++
++	ARCHITECTURE	reduce by rule 178
++	END	reduce by rule 178
++	LOCAL	reduce by rule 178
++	IN	reduce by rule 178
++	DATATYPE	reduce by rule 178
++	TYPE	reduce by rule 178
++	AND	reduce by rule 178
++	RPAREN	reduce by rule 178
++	SEMICOLON	reduce by rule 178
++	STORAGE	reduce by rule 178
++	LOCATIONS	reduce by rule 178
++	BAR	reduce by rule 178
++	STRUCTURE	reduce by rule 178
++	FUNCTOR	reduce by rule 178
++	SIGNATURE	reduce by rule 178
++	SHARING	reduce by rule 178
++	INSTRUCTION	reduce by rule 178
++	VLIW	reduce by rule 178
++	SUPERSCALAR	reduce by rule 178
++	WITHTYPE	reduce by rule 178
++	FUN	reduce by rule 178
++	VAL	reduce by rule 178
++	INCLUDE	reduce by rule 178
++	OPEN	reduce by rule 178
++	LITTLE	reduce by rule 178
++	BIG	reduce by rule 178
++	PIPELINE	reduce by rule 178
++	LOWERCASE	reduce by rule 178
++	UPPERCASE	reduce by rule 178
++	VERBATIM	reduce by rule 178
++	RTL	reduce by rule 178
++	SPAN	reduce by rule 178
++	DELAYSLOT	reduce by rule 178
++	NONFIX	reduce by rule 178
++	INFIX	reduce by rule 178
++	INFIXR	reduce by rule 178
++	DEBUG	reduce by rule 178
++	RTL_COLON	reduce by rule 178
++	DELAYSLOT_COLON	reduce by rule 178
++	NULLIFIED_COLON	reduce by rule 178
++	PADDING_COLON	reduce by rule 178
++	RESOURCE	reduce by rule 178
++	CPU	reduce by rule 178
++	LATENCY	reduce by rule 178
++	EXCEPTION	reduce by rule 178
++	EOF	reduce by rule 178
++
++
++	.	error
++
++
++state 624:
++
++	consencoding : LPAREN exps2 RPAREN .  (reduce by rule 179)
++
++	ARCHITECTURE	reduce by rule 179
++	END	reduce by rule 179
++	LOCAL	reduce by rule 179
++	IN	reduce by rule 179
++	DATATYPE	reduce by rule 179
++	TYPE	reduce by rule 179
++	AND	reduce by rule 179
++	RPAREN	reduce by rule 179
++	SEMICOLON	reduce by rule 179
++	STORAGE	reduce by rule 179
++	LOCATIONS	reduce by rule 179
++	BAR	reduce by rule 179
++	STRUCTURE	reduce by rule 179
++	FUNCTOR	reduce by rule 179
++	SIGNATURE	reduce by rule 179
++	SHARING	reduce by rule 179
++	INSTRUCTION	reduce by rule 179
++	VLIW	reduce by rule 179
++	SUPERSCALAR	reduce by rule 179
++	WITHTYPE	reduce by rule 179
++	FUN	reduce by rule 179
++	VAL	reduce by rule 179
++	INCLUDE	reduce by rule 179
++	OPEN	reduce by rule 179
++	LITTLE	reduce by rule 179
++	BIG	reduce by rule 179
++	PIPELINE	reduce by rule 179
++	LOWERCASE	reduce by rule 179
++	UPPERCASE	reduce by rule 179
++	VERBATIM	reduce by rule 179
++	RTL	reduce by rule 179
++	SPAN	reduce by rule 179
++	DELAYSLOT	reduce by rule 179
++	NONFIX	reduce by rule 179
++	INFIX	reduce by rule 179
++	INFIXR	reduce by rule 179
++	DEBUG	reduce by rule 179
++	RTL_COLON	reduce by rule 179
++	DELAYSLOT_COLON	reduce by rule 179
++	NULLIFIED_COLON	reduce by rule 179
++	PADDING_COLON	reduce by rule 179
++	RESOURCE	reduce by rule 179
++	CPU	reduce by rule 179
++	LATENCY	reduce by rule 179
++	EXCEPTION	reduce by rule 179
++	EOF	reduce by rule 179
++
++
++	.	error
++
++
++state 625:
++
++	expseq : typedexp SEMICOLON . expseq 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 337
++	typedexp	goto 593
++	expseq	goto 664
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 626:
++
++	formatbind : id opt_of LBRACE fields RBRACE . opt_exp 
++
++	ARCHITECTURE	reduce by rule 207
++	END	reduce by rule 207
++	LOCAL	reduce by rule 207
++	IN	reduce by rule 207
++	DATATYPE	reduce by rule 207
++	TYPE	reduce by rule 207
++	EQ	shift 666
++	RPAREN	reduce by rule 207
++	SEMICOLON	reduce by rule 207
++	STORAGE	reduce by rule 207
++	LOCATIONS	reduce by rule 207
++	BAR	reduce by rule 207
++	STRUCTURE	reduce by rule 207
++	FUNCTOR	reduce by rule 207
++	SIGNATURE	reduce by rule 207
++	SHARING	reduce by rule 207
++	INSTRUCTION	reduce by rule 207
++	VLIW	reduce by rule 207
++	SUPERSCALAR	reduce by rule 207
++	FUN	reduce by rule 207
++	VAL	reduce by rule 207
++	INCLUDE	reduce by rule 207
++	OPEN	reduce by rule 207
++	LITTLE	reduce by rule 207
++	BIG	reduce by rule 207
++	PIPELINE	reduce by rule 207
++	LOWERCASE	reduce by rule 207
++	UPPERCASE	reduce by rule 207
++	VERBATIM	reduce by rule 207
++	RTL	reduce by rule 207
++	NONFIX	reduce by rule 207
++	INFIX	reduce by rule 207
++	INFIXR	reduce by rule 207
++	DEBUG	reduce by rule 207
++	RESOURCE	reduce by rule 207
++	CPU	reduce by rule 207
++	LATENCY	reduce by rule 207
++	EXCEPTION	reduce by rule 207
++	EOF	reduce by rule 207
++
++	opt_exp	goto 665
++
++	.	error
++
++
++state 627:
++
++	field : fieldid COLON . cnv signedness width unsignedint_opt 
++
++	EQ	reduce by rule 215
++	DOLLAR	shift 669
++	RBRACE	reduce by rule 215
++	CELLSET	shift 50
++	COMMA	reduce by rule 215
++	SIGNED	reduce by rule 215
++	UNSIGNED	reduce by rule 215
++	ID	shift 49
++	SYMBOL	shift 48
++	INT	reduce by rule 215
++
++	id	goto 668
++	cnv	goto 667
++
++	.	error
++
++
++state 628:
++
++	fields : field COMMA . fields 
++
++	CELLSET	shift 50
++	WILD	shift 564
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 563
++	field	goto 562
++	fieldid	goto 561
++	fields	goto 670
++
++	.	error
++
++
++state 629:
++
++	mymldecl : FUNCTOR id LPAREN functorarg RPAREN sigcon EQ . structexp 
++
++	CELLSET	shift 50
++	STRUCT	shift 364
++	ID	shift 49
++	SYMBOL	shift 48
++
++	structexp	goto 671
++	id	goto 114
++	ident	goto 362
++	ident2	goto 112
++	path	goto 85
++
++	.	error
++
++
++state 630:
++
++	structexp : structexp . LPAREN scopeddecls RPAREN 
++	structexp : structexp . LPAREN ident RPAREN 
++	mymldecl : FUNCTOR id LPAREN functorarg RPAREN EQ structexp .  (reduce by rule 73)
++
++	ARCHITECTURE	reduce by rule 73
++	END	reduce by rule 73
++	LOCAL	reduce by rule 73
++	IN	reduce by rule 73
++	DATATYPE	reduce by rule 73
++	TYPE	reduce by rule 73
++	LPAREN	shift 477
++	RPAREN	reduce by rule 73
++	SEMICOLON	reduce by rule 73
++	STORAGE	reduce by rule 73
++	LOCATIONS	reduce by rule 73
++	STRUCTURE	reduce by rule 73
++	FUNCTOR	reduce by rule 73
++	SIGNATURE	reduce by rule 73
++	SHARING	reduce by rule 73
++	INSTRUCTION	reduce by rule 73
++	VLIW	reduce by rule 73
++	SUPERSCALAR	reduce by rule 73
++	FUN	reduce by rule 73
++	VAL	reduce by rule 73
++	INCLUDE	reduce by rule 73
++	OPEN	reduce by rule 73
++	LITTLE	reduce by rule 73
++	BIG	reduce by rule 73
++	PIPELINE	reduce by rule 73
++	LOWERCASE	reduce by rule 73
++	UPPERCASE	reduce by rule 73
++	VERBATIM	reduce by rule 73
++	RTL	reduce by rule 73
++	NONFIX	reduce by rule 73
++	INFIX	reduce by rule 73
++	INFIXR	reduce by rule 73
++	DEBUG	reduce by rule 73
++	RESOURCE	reduce by rule 73
++	CPU	reduce by rule 73
++	LATENCY	reduce by rule 73
++	EXCEPTION	reduce by rule 73
++	EOF	reduce by rule 73
++
++
++	.	error
++
++
++state 631:
++
++	structexp : structexp LPAREN scopeddecls RPAREN .  (reduce by rule 125)
++
++	ARCHITECTURE	reduce by rule 125
++	END	reduce by rule 125
++	LOCAL	reduce by rule 125
++	IN	reduce by rule 125
++	DATATYPE	reduce by rule 125
++	TYPE	reduce by rule 125
++	EQ	reduce by rule 125
++	AND	reduce by rule 125
++	LPAREN	reduce by rule 125
++	RPAREN	reduce by rule 125
++	SEMICOLON	reduce by rule 125
++	STORAGE	reduce by rule 125
++	LOCATIONS	reduce by rule 125
++	STRUCTURE	reduce by rule 125
++	FUNCTOR	reduce by rule 125
++	SIGNATURE	reduce by rule 125
++	WHERE	reduce by rule 125
++	SHARING	reduce by rule 125
++	INSTRUCTION	reduce by rule 125
++	VLIW	reduce by rule 125
++	SUPERSCALAR	reduce by rule 125
++	FUN	reduce by rule 125
++	VAL	reduce by rule 125
++	INCLUDE	reduce by rule 125
++	OPEN	reduce by rule 125
++	LITTLE	reduce by rule 125
++	BIG	reduce by rule 125
++	PIPELINE	reduce by rule 125
++	LOWERCASE	reduce by rule 125
++	UPPERCASE	reduce by rule 125
++	VERBATIM	reduce by rule 125
++	RTL	reduce by rule 125
++	NONFIX	reduce by rule 125
++	INFIX	reduce by rule 125
++	INFIXR	reduce by rule 125
++	DEBUG	reduce by rule 125
++	RESOURCE	reduce by rule 125
++	CPU	reduce by rule 125
++	LATENCY	reduce by rule 125
++	EXCEPTION	reduce by rule 125
++	EOF	reduce by rule 125
++
++
++	.	error
++
++
++state 632:
++
++	structexp : structexp LPAREN ident RPAREN .  (reduce by rule 126)
++
++	ARCHITECTURE	reduce by rule 126
++	END	reduce by rule 126
++	LOCAL	reduce by rule 126
++	IN	reduce by rule 126
++	DATATYPE	reduce by rule 126
++	TYPE	reduce by rule 126
++	EQ	reduce by rule 126
++	AND	reduce by rule 126
++	LPAREN	reduce by rule 126
++	RPAREN	reduce by rule 126
++	SEMICOLON	reduce by rule 126
++	STORAGE	reduce by rule 126
++	LOCATIONS	reduce by rule 126
++	STRUCTURE	reduce by rule 126
++	FUNCTOR	reduce by rule 126
++	SIGNATURE	reduce by rule 126
++	WHERE	reduce by rule 126
++	SHARING	reduce by rule 126
++	INSTRUCTION	reduce by rule 126
++	VLIW	reduce by rule 126
++	SUPERSCALAR	reduce by rule 126
++	FUN	reduce by rule 126
++	VAL	reduce by rule 126
++	INCLUDE	reduce by rule 126
++	OPEN	reduce by rule 126
++	LITTLE	reduce by rule 126
++	BIG	reduce by rule 126
++	PIPELINE	reduce by rule 126
++	LOWERCASE	reduce by rule 126
++	UPPERCASE	reduce by rule 126
++	VERBATIM	reduce by rule 126
++	RTL	reduce by rule 126
++	NONFIX	reduce by rule 126
++	INFIX	reduce by rule 126
++	INFIXR	reduce by rule 126
++	DEBUG	reduce by rule 126
++	RESOURCE	reduce by rule 126
++	CPU	reduce by rule 126
++	LATENCY	reduce by rule 126
++	EXCEPTION	reduce by rule 126
++	EOF	reduce by rule 126
++
++
++	.	error
++
++
++state 633:
++
++	storagedecl : id EQ DOLLAR id LBRACKET cellcount . RBRACKET bitSize aliasing defaults printcell 
++
++	RBRACKET	shift 672
++
++
++	.	error
++
++
++state 634:
++
++	cellcount : int .  (reduce by rule 388)
++
++	RBRACKET	reduce by rule 388
++
++
++	.	error
++
++
++state 635:
++
++	datatypebind : tyvarseq id opcodeencoding fieldty hasasm EQ . consbinds 
++	datatypebind : tyvarseq id opcodeencoding fieldty hasasm EQ . DATATYPE ty 
++
++	DATATYPE	shift 674
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 138
++	symb	goto 67
++	consbinds	goto 673
++	consbind	goto 136
++
++	.	error
++
++
++state 636:
++
++	encodingexps : encodingexp COMMA encodingexps .  (reduce by rule 138)
++
++	RBRACKET	reduce by rule 138
++
++
++	.	error
++
++
++state 637:
++
++	encodingexp : int int DOTDOT . int 
++
++	INT	shift 64
++
++	int	goto 675
++
++	.	error
++
++
++state 638:
++
++	encodingexp : int DOTDOT int .  (reduce by rule 140)
++
++	RBRACKET	reduce by rule 140
++	COMMA	reduce by rule 140
++
++
++	.	error
++
++
++state 639:
++
++	resources : resource COMMA resources .  (reduce by rule 36)
++
++	RBRACKET	reduce by rule 36
++
++
++	.	error
++
++
++state 640:
++
++	aexp2 : aexp2 AT LBRACKET slices RBRACKET .  (reduce by rule 265)
++
++	ARCHITECTURE	reduce by rule 265
++	END	reduce by rule 265
++	LOCAL	reduce by rule 265
++	IN	reduce by rule 265
++	OF	reduce by rule 265
++	DATATYPE	reduce by rule 265
++	TYPE	reduce by rule 265
++	EQ	reduce by rule 265
++	DOLLAR	reduce by rule 265
++	TIMES	reduce by rule 265
++	AND	reduce by rule 265
++	DEREF	reduce by rule 265
++	NOT	reduce by rule 265
++	LLBRACKET	reduce by rule 265
++	LHASHBRACKET	reduce by rule 265
++	LPAREN	reduce by rule 265
++	RPAREN	reduce by rule 265
++	LBRACKET	reduce by rule 265
++	RBRACKET	reduce by rule 265
++	LBRACE	reduce by rule 265
++	RBRACE	reduce by rule 265
++	SEMICOLON	reduce by rule 265
++	LDQUOTE	reduce by rule 265
++	RMETA	reduce by rule 265
++	CELLSET	reduce by rule 265
++	STORAGE	reduce by rule 265
++	LOCATIONS	reduce by rule 265
++	HASH	reduce by rule 265
++	COMMA	reduce by rule 265
++	COLON	reduce by rule 265
++	AT	reduce by rule 265
++	BAR	reduce by rule 265
++	DARROW	reduce by rule 265
++	THEN	reduce by rule 265
++	ELSE	reduce by rule 265
++	TRUE	reduce by rule 265
++	FALSE	reduce by rule 265
++	HANDLE	reduce by rule 265
++	LET	reduce by rule 265
++	STRUCTURE	reduce by rule 265
++	FUNCTOR	reduce by rule 265
++	SIGNATURE	reduce by rule 265
++	SHARING	reduce by rule 265
++	INSTRUCTION	reduce by rule 265
++	VLIW	reduce by rule 265
++	SUPERSCALAR	reduce by rule 265
++	WITHTYPE	reduce by rule 265
++	FUN	reduce by rule 265
++	VAL	reduce by rule 265
++	INCLUDE	reduce by rule 265
++	OPEN	reduce by rule 265
++	OP	reduce by rule 265
++	LITTLE	reduce by rule 265
++	BIG	reduce by rule 265
++	PIPELINE	reduce by rule 265
++	LOWERCASE	reduce by rule 265
++	UPPERCASE	reduce by rule 265
++	VERBATIM	reduce by rule 265
++	RTL	reduce by rule 265
++	SPAN	reduce by rule 265
++	DELAYSLOT	reduce by rule 265
++	ALWAYS	reduce by rule 265
++	NEVER	reduce by rule 265
++	NONFIX	reduce by rule 265
++	INFIX	reduce by rule 265
++	INFIXR	reduce by rule 265
++	DEBUG	reduce by rule 265
++	ASM_COLON	reduce by rule 265
++	MC_COLON	reduce by rule 265
++	RTL_COLON	reduce by rule 265
++	DELAYSLOT_COLON	reduce by rule 265
++	NULLIFIED_COLON	reduce by rule 265
++	PADDING_COLON	reduce by rule 265
++	RESOURCE	reduce by rule 265
++	CPU	reduce by rule 265
++	LATENCY	reduce by rule 265
++	EXCEPTION	reduce by rule 265
++	ID	reduce by rule 265
++	SYMBOL	reduce by rule 265
++	WORD	reduce by rule 265
++	INT	reduce by rule 265
++	INTINF	reduce by rule 265
++	REAL	reduce by rule 265
++	STRING	reduce by rule 265
++	CHAR	reduce by rule 265
++	EOF	reduce by rule 265
++
++
++	.	error
++
++
++state 641:
++
++	slices : slice COMMA . slices 
++
++	INT	shift 64
++
++	int	goto 590
++	slice	goto 589
++	slices	goto 676
++
++	.	error
++
++
++state 642:
++
++	slice : int DOTDOT . int 
++
++	INT	shift 64
++
++	int	goto 677
++
++	.	error
++
++
++state 643:
++
++	aexp : sym CONCAT LBRACKET exps RBRACKET .  (reduce by rule 256)
++	aexp : sym CONCAT LBRACKET exps RBRACKET . CONCAT sym 
++
++	ARCHITECTURE	reduce by rule 256
++	END	reduce by rule 256
++	LOCAL	reduce by rule 256
++	IN	reduce by rule 256
++	OF	reduce by rule 256
++	DATATYPE	reduce by rule 256
++	TYPE	reduce by rule 256
++	EQ	reduce by rule 256
++	DOLLAR	reduce by rule 256
++	TIMES	reduce by rule 256
++	AND	reduce by rule 256
++	DEREF	reduce by rule 256
++	NOT	reduce by rule 256
++	CONCAT	shift 678
++	LLBRACKET	reduce by rule 256
++	LHASHBRACKET	reduce by rule 256
++	LPAREN	reduce by rule 256
++	RPAREN	reduce by rule 256
++	LBRACKET	reduce by rule 256
++	RBRACKET	reduce by rule 256
++	LBRACE	reduce by rule 256
++	RBRACE	reduce by rule 256
++	SEMICOLON	reduce by rule 256
++	LDQUOTE	reduce by rule 256
++	RMETA	reduce by rule 256
++	CELLSET	reduce by rule 256
++	STORAGE	reduce by rule 256
++	LOCATIONS	reduce by rule 256
++	HASH	reduce by rule 256
++	COMMA	reduce by rule 256
++	COLON	reduce by rule 256
++	AT	reduce by rule 256
++	BAR	reduce by rule 256
++	DARROW	reduce by rule 256
++	THEN	reduce by rule 256
++	ELSE	reduce by rule 256
++	TRUE	reduce by rule 256
++	FALSE	reduce by rule 256
++	HANDLE	reduce by rule 256
++	LET	reduce by rule 256
++	STRUCTURE	reduce by rule 256
++	FUNCTOR	reduce by rule 256
++	SIGNATURE	reduce by rule 256
++	SHARING	reduce by rule 256
++	INSTRUCTION	reduce by rule 256
++	VLIW	reduce by rule 256
++	SUPERSCALAR	reduce by rule 256
++	WITHTYPE	reduce by rule 256
++	FUN	reduce by rule 256
++	VAL	reduce by rule 256
++	INCLUDE	reduce by rule 256
++	OPEN	reduce by rule 256
++	OP	reduce by rule 256
++	LITTLE	reduce by rule 256
++	BIG	reduce by rule 256
++	PIPELINE	reduce by rule 256
++	LOWERCASE	reduce by rule 256
++	UPPERCASE	reduce by rule 256
++	VERBATIM	reduce by rule 256
++	RTL	reduce by rule 256
++	SPAN	reduce by rule 256
++	DELAYSLOT	reduce by rule 256
++	ALWAYS	reduce by rule 256
++	NEVER	reduce by rule 256
++	NONFIX	reduce by rule 256
++	INFIX	reduce by rule 256
++	INFIXR	reduce by rule 256
++	DEBUG	reduce by rule 256
++	ASM_COLON	reduce by rule 256
++	MC_COLON	reduce by rule 256
++	RTL_COLON	reduce by rule 256
++	DELAYSLOT_COLON	reduce by rule 256
++	NULLIFIED_COLON	reduce by rule 256
++	PADDING_COLON	reduce by rule 256
++	RESOURCE	reduce by rule 256
++	CPU	reduce by rule 256
++	LATENCY	reduce by rule 256
++	EXCEPTION	reduce by rule 256
++	ID	reduce by rule 256
++	SYMBOL	reduce by rule 256
++	WORD	reduce by rule 256
++	INT	reduce by rule 256
++	INTINF	reduce by rule 256
++	REAL	reduce by rule 256
++	STRING	reduce by rule 256
++	CHAR	reduce by rule 256
++	EOF	reduce by rule 256
++
++
++	.	error
++
++
++state 644:
++
++	aexp : LET decls IN expseq END .  (reduce by rule 259)
++
++	ARCHITECTURE	reduce by rule 259
++	END	reduce by rule 259
++	LOCAL	reduce by rule 259
++	IN	reduce by rule 259
++	OF	reduce by rule 259
++	DATATYPE	reduce by rule 259
++	TYPE	reduce by rule 259
++	EQ	reduce by rule 259
++	DOLLAR	reduce by rule 259
++	TIMES	reduce by rule 259
++	AND	reduce by rule 259
++	DEREF	reduce by rule 259
++	NOT	reduce by rule 259
++	LLBRACKET	reduce by rule 259
++	LHASHBRACKET	reduce by rule 259
++	LPAREN	reduce by rule 259
++	RPAREN	reduce by rule 259
++	LBRACKET	reduce by rule 259
++	RBRACKET	reduce by rule 259
++	LBRACE	reduce by rule 259
++	RBRACE	reduce by rule 259
++	SEMICOLON	reduce by rule 259
++	LDQUOTE	reduce by rule 259
++	RMETA	reduce by rule 259
++	CELLSET	reduce by rule 259
++	STORAGE	reduce by rule 259
++	LOCATIONS	reduce by rule 259
++	HASH	reduce by rule 259
++	COMMA	reduce by rule 259
++	COLON	reduce by rule 259
++	AT	reduce by rule 259
++	BAR	reduce by rule 259
++	DARROW	reduce by rule 259
++	THEN	reduce by rule 259
++	ELSE	reduce by rule 259
++	TRUE	reduce by rule 259
++	FALSE	reduce by rule 259
++	HANDLE	reduce by rule 259
++	LET	reduce by rule 259
++	STRUCTURE	reduce by rule 259
++	FUNCTOR	reduce by rule 259
++	SIGNATURE	reduce by rule 259
++	SHARING	reduce by rule 259
++	INSTRUCTION	reduce by rule 259
++	VLIW	reduce by rule 259
++	SUPERSCALAR	reduce by rule 259
++	WITHTYPE	reduce by rule 259
++	FUN	reduce by rule 259
++	VAL	reduce by rule 259
++	INCLUDE	reduce by rule 259
++	OPEN	reduce by rule 259
++	OP	reduce by rule 259
++	LITTLE	reduce by rule 259
++	BIG	reduce by rule 259
++	PIPELINE	reduce by rule 259
++	LOWERCASE	reduce by rule 259
++	UPPERCASE	reduce by rule 259
++	VERBATIM	reduce by rule 259
++	RTL	reduce by rule 259
++	SPAN	reduce by rule 259
++	DELAYSLOT	reduce by rule 259
++	ALWAYS	reduce by rule 259
++	NEVER	reduce by rule 259
++	NONFIX	reduce by rule 259
++	INFIX	reduce by rule 259
++	INFIXR	reduce by rule 259
++	DEBUG	reduce by rule 259
++	ASM_COLON	reduce by rule 259
++	MC_COLON	reduce by rule 259
++	RTL_COLON	reduce by rule 259
++	DELAYSLOT_COLON	reduce by rule 259
++	NULLIFIED_COLON	reduce by rule 259
++	PADDING_COLON	reduce by rule 259
++	RESOURCE	reduce by rule 259
++	CPU	reduce by rule 259
++	LATENCY	reduce by rule 259
++	EXCEPTION	reduce by rule 259
++	ID	reduce by rule 259
++	SYMBOL	reduce by rule 259
++	WORD	reduce by rule 259
++	INT	reduce by rule 259
++	INTINF	reduce by rule 259
++	REAL	reduce by rule 259
++	STRING	reduce by rule 259
++	CHAR	reduce by rule 259
++	EOF	reduce by rule 259
++
++
++	.	error
++
++
++state 645:
++
++	exp : IF typedexp THEN typedexp ELSE . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 679
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 646:
++
++	clause : typedpat guard cont DARROW . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 680
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 647:
++
++	aexp : LBRACKET exps RBRACKET CONCAT sym .  (reduce by rule 257)
++
++	ARCHITECTURE	reduce by rule 257
++	END	reduce by rule 257
++	LOCAL	reduce by rule 257
++	IN	reduce by rule 257
++	OF	reduce by rule 257
++	DATATYPE	reduce by rule 257
++	TYPE	reduce by rule 257
++	EQ	reduce by rule 257
++	DOLLAR	reduce by rule 257
++	TIMES	reduce by rule 257
++	AND	reduce by rule 257
++	DEREF	reduce by rule 257
++	NOT	reduce by rule 257
++	LLBRACKET	reduce by rule 257
++	LHASHBRACKET	reduce by rule 257
++	LPAREN	reduce by rule 257
++	RPAREN	reduce by rule 257
++	LBRACKET	reduce by rule 257
++	RBRACKET	reduce by rule 257
++	LBRACE	reduce by rule 257
++	RBRACE	reduce by rule 257
++	SEMICOLON	reduce by rule 257
++	LDQUOTE	reduce by rule 257
++	RMETA	reduce by rule 257
++	CELLSET	reduce by rule 257
++	STORAGE	reduce by rule 257
++	LOCATIONS	reduce by rule 257
++	HASH	reduce by rule 257
++	COMMA	reduce by rule 257
++	COLON	reduce by rule 257
++	AT	reduce by rule 257
++	BAR	reduce by rule 257
++	DARROW	reduce by rule 257
++	THEN	reduce by rule 257
++	ELSE	reduce by rule 257
++	TRUE	reduce by rule 257
++	FALSE	reduce by rule 257
++	HANDLE	reduce by rule 257
++	LET	reduce by rule 257
++	STRUCTURE	reduce by rule 257
++	FUNCTOR	reduce by rule 257
++	SIGNATURE	reduce by rule 257
++	SHARING	reduce by rule 257
++	INSTRUCTION	reduce by rule 257
++	VLIW	reduce by rule 257
++	SUPERSCALAR	reduce by rule 257
++	WITHTYPE	reduce by rule 257
++	FUN	reduce by rule 257
++	VAL	reduce by rule 257
++	INCLUDE	reduce by rule 257
++	OPEN	reduce by rule 257
++	OP	reduce by rule 257
++	LITTLE	reduce by rule 257
++	BIG	reduce by rule 257
++	PIPELINE	reduce by rule 257
++	LOWERCASE	reduce by rule 257
++	UPPERCASE	reduce by rule 257
++	VERBATIM	reduce by rule 257
++	RTL	reduce by rule 257
++	SPAN	reduce by rule 257
++	DELAYSLOT	reduce by rule 257
++	ALWAYS	reduce by rule 257
++	NEVER	reduce by rule 257
++	NONFIX	reduce by rule 257
++	INFIX	reduce by rule 257
++	INFIXR	reduce by rule 257
++	DEBUG	reduce by rule 257
++	ASM_COLON	reduce by rule 257
++	MC_COLON	reduce by rule 257
++	RTL_COLON	reduce by rule 257
++	DELAYSLOT_COLON	reduce by rule 257
++	NULLIFIED_COLON	reduce by rule 257
++	PADDING_COLON	reduce by rule 257
++	RESOURCE	reduce by rule 257
++	CPU	reduce by rule 257
++	LATENCY	reduce by rule 257
++	EXCEPTION	reduce by rule 257
++	ID	reduce by rule 257
++	SYMBOL	reduce by rule 257
++	WORD	reduce by rule 257
++	INT	reduce by rule 257
++	INTINF	reduce by rule 257
++	REAL	reduce by rule 257
++	STRING	reduce by rule 257
++	CHAR	reduce by rule 257
++	EOF	reduce by rule 257
++
++
++	.	error
++
++
++state 648:
++
++	aexp : DOLLAR id LBRACKET exp region . RBRACKET 
++
++	RBRACKET	shift 681
++
++
++	.	error
++
++
++state 649:
++
++	region : COLON . id 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 682
++
++	.	error
++
++
++state 650:
++
++	apat : sym CONCAT LBRACKET pats RBRACKET CONCAT sym .  (reduce by rule 304)
++
++	EQ	reduce by rule 304
++	TIMES	reduce by rule 304
++	AND	reduce by rule 304
++	DEREF	reduce by rule 304
++	NOT	reduce by rule 304
++	LHASHBRACKET	reduce by rule 304
++	LPAREN	reduce by rule 304
++	RPAREN	reduce by rule 304
++	LBRACKET	reduce by rule 304
++	RBRACKET	reduce by rule 304
++	LBRACE	reduce by rule 304
++	RBRACE	reduce by rule 304
++	CELLSET	reduce by rule 304
++	COMMA	reduce by rule 304
++	COLON	reduce by rule 304
++	BAR	reduce by rule 304
++	DARROW	reduce by rule 304
++	TRUE	reduce by rule 304
++	FALSE	reduce by rule 304
++	WILD	reduce by rule 304
++	WHERE	reduce by rule 304
++	OP	reduce by rule 304
++	ALWAYS	reduce by rule 304
++	NEVER	reduce by rule 304
++	EXCEPTION	reduce by rule 304
++	ID	reduce by rule 304
++	SYMBOL	reduce by rule 304
++	WORD	reduce by rule 304
++	INT	reduce by rule 304
++	INTINF	reduce by rule 304
++	REAL	reduce by rule 304
++	STRING	reduce by rule 304
++	CHAR	reduce by rule 304
++
++
++	.	error
++
++
++state 651:
++
++	apat : LPAREN typedpat WHERE typedexp IN typedpat RPAREN .  (reduce by rule 301)
++
++	EQ	reduce by rule 301
++	TIMES	reduce by rule 301
++	AND	reduce by rule 301
++	DEREF	reduce by rule 301
++	NOT	reduce by rule 301
++	LHASHBRACKET	reduce by rule 301
++	LPAREN	reduce by rule 301
++	RPAREN	reduce by rule 301
++	LBRACKET	reduce by rule 301
++	RBRACKET	reduce by rule 301
++	LBRACE	reduce by rule 301
++	RBRACE	reduce by rule 301
++	CELLSET	reduce by rule 301
++	COMMA	reduce by rule 301
++	COLON	reduce by rule 301
++	BAR	reduce by rule 301
++	DARROW	reduce by rule 301
++	TRUE	reduce by rule 301
++	FALSE	reduce by rule 301
++	WILD	reduce by rule 301
++	WHERE	reduce by rule 301
++	OP	reduce by rule 301
++	ALWAYS	reduce by rule 301
++	NEVER	reduce by rule 301
++	EXCEPTION	reduce by rule 301
++	ID	reduce by rule 301
++	SYMBOL	reduce by rule 301
++	WORD	reduce by rule 301
++	INT	reduce by rule 301
++	INTINF	reduce by rule 301
++	REAL	reduce by rule 301
++	STRING	reduce by rule 301
++	CHAR	reduce by rule 301
++
++
++	.	error
++
++
++state 652:
++
++	cycles : cycle COMMA cycles .  (reduce by rule 48)
++
++	RBRACKET	reduce by rule 48
++
++
++	.	error
++
++error:  state 653: shift/reduce conflict (shift CONCAT, reduce by rule 50)
++error:  state 653: shift/reduce conflict (shift TIMES, reduce by rule 50)
++
++state 653:
++
++	cycle : cycle . CONCAT cycle 
++	cycle : cycle CONCAT cycle .  (reduce by rule 50)
++	cycle : cycle . TIMES int 
++
++	TIMES	shift 614
++	CONCAT	shift 613
++	RPAREN	reduce by rule 50
++	RBRACKET	reduce by rule 50
++	COMMA	reduce by rule 50
++
++
++	.	error
++
++
++state 654:
++
++	cycle : cycle TIMES int .  (reduce by rule 51)
++
++	TIMES	reduce by rule 51
++	CONCAT	reduce by rule 51
++	RPAREN	reduce by rule 51
++	RBRACKET	reduce by rule 51
++	COMMA	reduce by rule 51
++
++
++	.	error
++
++
++state 655:
++
++	cycle : LPAREN cycle RPAREN .  (reduce by rule 52)
++
++	TIMES	reduce by rule 52
++	CONCAT	reduce by rule 52
++	RPAREN	reduce by rule 52
++	RBRACKET	reduce by rule 52
++	COMMA	reduce by rule 52
++
++
++	.	error
++
++
++state 656:
++
++	consbind : sym of_ty consassembly consencoding rtl nop nullified . delayslot delayslotcandidate sdi latency pipeline 
++
++	ARCHITECTURE	reduce by rule 170
++	END	reduce by rule 170
++	LOCAL	reduce by rule 170
++	IN	reduce by rule 170
++	DATATYPE	reduce by rule 170
++	TYPE	reduce by rule 170
++	AND	reduce by rule 170
++	RPAREN	reduce by rule 170
++	SEMICOLON	reduce by rule 170
++	STORAGE	reduce by rule 170
++	LOCATIONS	reduce by rule 170
++	BAR	reduce by rule 170
++	STRUCTURE	reduce by rule 170
++	FUNCTOR	reduce by rule 170
++	SIGNATURE	reduce by rule 170
++	SHARING	reduce by rule 170
++	INSTRUCTION	reduce by rule 170
++	VLIW	reduce by rule 170
++	SUPERSCALAR	reduce by rule 170
++	WITHTYPE	reduce by rule 170
++	FUN	reduce by rule 170
++	VAL	reduce by rule 170
++	INCLUDE	reduce by rule 170
++	OPEN	reduce by rule 170
++	LITTLE	reduce by rule 170
++	BIG	reduce by rule 170
++	PIPELINE	reduce by rule 170
++	LOWERCASE	reduce by rule 170
++	UPPERCASE	reduce by rule 170
++	VERBATIM	reduce by rule 170
++	RTL	reduce by rule 170
++	SPAN	reduce by rule 170
++	DELAYSLOT	reduce by rule 170
++	NONFIX	reduce by rule 170
++	INFIX	reduce by rule 170
++	INFIXR	reduce by rule 170
++	DEBUG	reduce by rule 170
++	DELAYSLOT_COLON	shift 684
++	RESOURCE	reduce by rule 170
++	CPU	reduce by rule 170
++	LATENCY	reduce by rule 170
++	EXCEPTION	reduce by rule 170
++	EOF	reduce by rule 170
++
++	delayslot	goto 683
++
++	.	error
++
++
++state 657:
++
++	nullified : NULLIFIED_COLON . FALSE 
++	nullified : NULLIFIED_COLON . flag 
++
++	NOT	shift 662
++	CELLSET	shift 50
++	FALSE	shift 686
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 661
++	flag	goto 685
++
++	.	error
++
++
++state 658:
++
++	nop : PADDING_COLON False .  (reduce by rule 155)
++
++	ARCHITECTURE	reduce by rule 155
++	END	reduce by rule 155
++	LOCAL	reduce by rule 155
++	IN	reduce by rule 155
++	DATATYPE	reduce by rule 155
++	TYPE	reduce by rule 155
++	AND	reduce by rule 155
++	RPAREN	reduce by rule 155
++	SEMICOLON	reduce by rule 155
++	STORAGE	reduce by rule 155
++	LOCATIONS	reduce by rule 155
++	BAR	reduce by rule 155
++	STRUCTURE	reduce by rule 155
++	FUNCTOR	reduce by rule 155
++	SIGNATURE	reduce by rule 155
++	SHARING	reduce by rule 155
++	INSTRUCTION	reduce by rule 155
++	VLIW	reduce by rule 155
++	SUPERSCALAR	reduce by rule 155
++	WITHTYPE	reduce by rule 155
++	FUN	reduce by rule 155
++	VAL	reduce by rule 155
++	INCLUDE	reduce by rule 155
++	OPEN	reduce by rule 155
++	LITTLE	reduce by rule 155
++	BIG	reduce by rule 155
++	PIPELINE	reduce by rule 155
++	LOWERCASE	reduce by rule 155
++	UPPERCASE	reduce by rule 155
++	VERBATIM	reduce by rule 155
++	RTL	reduce by rule 155
++	SPAN	reduce by rule 155
++	DELAYSLOT	reduce by rule 155
++	NONFIX	reduce by rule 155
++	INFIX	reduce by rule 155
++	INFIXR	reduce by rule 155
++	DEBUG	reduce by rule 155
++	DELAYSLOT_COLON	reduce by rule 155
++	NULLIFIED_COLON	reduce by rule 155
++	RESOURCE	reduce by rule 155
++	CPU	reduce by rule 155
++	LATENCY	reduce by rule 155
++	EXCEPTION	reduce by rule 155
++	EOF	reduce by rule 155
++
++
++	.	error
++
++
++state 659:
++
++	nop : PADDING_COLON True .  (reduce by rule 156)
++
++	ARCHITECTURE	reduce by rule 156
++	END	reduce by rule 156
++	LOCAL	reduce by rule 156
++	IN	reduce by rule 156
++	DATATYPE	reduce by rule 156
++	TYPE	reduce by rule 156
++	AND	reduce by rule 156
++	RPAREN	reduce by rule 156
++	SEMICOLON	reduce by rule 156
++	STORAGE	reduce by rule 156
++	LOCATIONS	reduce by rule 156
++	BAR	reduce by rule 156
++	STRUCTURE	reduce by rule 156
++	FUNCTOR	reduce by rule 156
++	SIGNATURE	reduce by rule 156
++	SHARING	reduce by rule 156
++	INSTRUCTION	reduce by rule 156
++	VLIW	reduce by rule 156
++	SUPERSCALAR	reduce by rule 156
++	WITHTYPE	reduce by rule 156
++	FUN	reduce by rule 156
++	VAL	reduce by rule 156
++	INCLUDE	reduce by rule 156
++	OPEN	reduce by rule 156
++	LITTLE	reduce by rule 156
++	BIG	reduce by rule 156
++	PIPELINE	reduce by rule 156
++	LOWERCASE	reduce by rule 156
++	UPPERCASE	reduce by rule 156
++	VERBATIM	reduce by rule 156
++	RTL	reduce by rule 156
++	SPAN	reduce by rule 156
++	DELAYSLOT	reduce by rule 156
++	NONFIX	reduce by rule 156
++	INFIX	reduce by rule 156
++	INFIXR	reduce by rule 156
++	DEBUG	reduce by rule 156
++	DELAYSLOT_COLON	reduce by rule 156
++	NULLIFIED_COLON	reduce by rule 156
++	RESOURCE	reduce by rule 156
++	CPU	reduce by rule 156
++	LATENCY	reduce by rule 156
++	EXCEPTION	reduce by rule 156
++	EOF	reduce by rule 156
++
++
++	.	error
++
++
++state 660:
++
++	nop : PADDING_COLON flag .  (reduce by rule 154)
++
++	ARCHITECTURE	reduce by rule 154
++	END	reduce by rule 154
++	LOCAL	reduce by rule 154
++	IN	reduce by rule 154
++	DATATYPE	reduce by rule 154
++	TYPE	reduce by rule 154
++	AND	reduce by rule 154
++	RPAREN	reduce by rule 154
++	SEMICOLON	reduce by rule 154
++	STORAGE	reduce by rule 154
++	LOCATIONS	reduce by rule 154
++	BAR	reduce by rule 154
++	STRUCTURE	reduce by rule 154
++	FUNCTOR	reduce by rule 154
++	SIGNATURE	reduce by rule 154
++	SHARING	reduce by rule 154
++	INSTRUCTION	reduce by rule 154
++	VLIW	reduce by rule 154
++	SUPERSCALAR	reduce by rule 154
++	WITHTYPE	reduce by rule 154
++	FUN	reduce by rule 154
++	VAL	reduce by rule 154
++	INCLUDE	reduce by rule 154
++	OPEN	reduce by rule 154
++	LITTLE	reduce by rule 154
++	BIG	reduce by rule 154
++	PIPELINE	reduce by rule 154
++	LOWERCASE	reduce by rule 154
++	UPPERCASE	reduce by rule 154
++	VERBATIM	reduce by rule 154
++	RTL	reduce by rule 154
++	SPAN	reduce by rule 154
++	DELAYSLOT	reduce by rule 154
++	NONFIX	reduce by rule 154
++	INFIX	reduce by rule 154
++	INFIXR	reduce by rule 154
++	DEBUG	reduce by rule 154
++	DELAYSLOT_COLON	reduce by rule 154
++	NULLIFIED_COLON	reduce by rule 154
++	RESOURCE	reduce by rule 154
++	CPU	reduce by rule 154
++	LATENCY	reduce by rule 154
++	EXCEPTION	reduce by rule 154
++	EOF	reduce by rule 154
++
++
++	.	error
++
++error:  state 661: shift/reduce conflict (shift AND, reduce by rule 165)
++
++state 661:
++
++	flag : id . flagguard 
++	flag : id . EQ True flagguard 
++	flag : id . EQ False flagguard 
++
++	ARCHITECTURE	reduce by rule 165
++	END	reduce by rule 165
++	LOCAL	reduce by rule 165
++	IN	reduce by rule 165
++	DATATYPE	reduce by rule 165
++	TYPE	reduce by rule 165
++	EQ	shift 689
++	AND	shift 688
++	RPAREN	reduce by rule 165
++	SEMICOLON	reduce by rule 165
++	STORAGE	reduce by rule 165
++	LOCATIONS	reduce by rule 165
++	BAR	reduce by rule 165
++	STRUCTURE	reduce by rule 165
++	FUNCTOR	reduce by rule 165
++	SIGNATURE	reduce by rule 165
++	SHARING	reduce by rule 165
++	INSTRUCTION	reduce by rule 165
++	VLIW	reduce by rule 165
++	SUPERSCALAR	reduce by rule 165
++	WITHTYPE	reduce by rule 165
++	FUN	reduce by rule 165
++	VAL	reduce by rule 165
++	INCLUDE	reduce by rule 165
++	OPEN	reduce by rule 165
++	LITTLE	reduce by rule 165
++	BIG	reduce by rule 165
++	PIPELINE	reduce by rule 165
++	LOWERCASE	reduce by rule 165
++	UPPERCASE	reduce by rule 165
++	VERBATIM	reduce by rule 165
++	RTL	reduce by rule 165
++	SPAN	reduce by rule 165
++	DELAYSLOT	reduce by rule 165
++	NONFIX	reduce by rule 165
++	INFIX	reduce by rule 165
++	INFIXR	reduce by rule 165
++	DEBUG	reduce by rule 165
++	DELAYSLOT_COLON	reduce by rule 165
++	NULLIFIED_COLON	reduce by rule 165
++	RESOURCE	reduce by rule 165
++	CPU	reduce by rule 165
++	LATENCY	reduce by rule 165
++	EXCEPTION	reduce by rule 165
++	EOF	reduce by rule 165
++
++	flagguard	goto 687
++
++	.	error
++
++
++state 662:
++
++	flag : NOT . id flagguard 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 690
++
++	.	error
++
++
++state 663:
++
++	consencoding : id LBRACE labexps0 RBRACE .  (reduce by rule 180)
++
++	ARCHITECTURE	reduce by rule 180
++	END	reduce by rule 180
++	LOCAL	reduce by rule 180
++	IN	reduce by rule 180
++	DATATYPE	reduce by rule 180
++	TYPE	reduce by rule 180
++	AND	reduce by rule 180
++	RPAREN	reduce by rule 180
++	SEMICOLON	reduce by rule 180
++	STORAGE	reduce by rule 180
++	LOCATIONS	reduce by rule 180
++	BAR	reduce by rule 180
++	STRUCTURE	reduce by rule 180
++	FUNCTOR	reduce by rule 180
++	SIGNATURE	reduce by rule 180
++	SHARING	reduce by rule 180
++	INSTRUCTION	reduce by rule 180
++	VLIW	reduce by rule 180
++	SUPERSCALAR	reduce by rule 180
++	WITHTYPE	reduce by rule 180
++	FUN	reduce by rule 180
++	VAL	reduce by rule 180
++	INCLUDE	reduce by rule 180
++	OPEN	reduce by rule 180
++	LITTLE	reduce by rule 180
++	BIG	reduce by rule 180
++	PIPELINE	reduce by rule 180
++	LOWERCASE	reduce by rule 180
++	UPPERCASE	reduce by rule 180
++	VERBATIM	reduce by rule 180
++	RTL	reduce by rule 180
++	SPAN	reduce by rule 180
++	DELAYSLOT	reduce by rule 180
++	NONFIX	reduce by rule 180
++	INFIX	reduce by rule 180
++	INFIXR	reduce by rule 180
++	DEBUG	reduce by rule 180
++	RTL_COLON	reduce by rule 180
++	DELAYSLOT_COLON	reduce by rule 180
++	NULLIFIED_COLON	reduce by rule 180
++	PADDING_COLON	reduce by rule 180
++	RESOURCE	reduce by rule 180
++	CPU	reduce by rule 180
++	LATENCY	reduce by rule 180
++	EXCEPTION	reduce by rule 180
++	EOF	reduce by rule 180
++
++
++	.	error
++
++
++state 664:
++
++	expseq : typedexp SEMICOLON expseq .  (reduce by rule 283)
++
++	END	reduce by rule 283
++	RPAREN	reduce by rule 283
++
++
++	.	error
++
++
++state 665:
++
++	formatbind : id opt_of LBRACE fields RBRACE opt_exp .  (reduce by rule 206)
++
++	ARCHITECTURE	reduce by rule 206
++	END	reduce by rule 206
++	LOCAL	reduce by rule 206
++	IN	reduce by rule 206
++	DATATYPE	reduce by rule 206
++	TYPE	reduce by rule 206
++	RPAREN	reduce by rule 206
++	SEMICOLON	reduce by rule 206
++	STORAGE	reduce by rule 206
++	LOCATIONS	reduce by rule 206
++	BAR	reduce by rule 206
++	STRUCTURE	reduce by rule 206
++	FUNCTOR	reduce by rule 206
++	SIGNATURE	reduce by rule 206
++	SHARING	reduce by rule 206
++	INSTRUCTION	reduce by rule 206
++	VLIW	reduce by rule 206
++	SUPERSCALAR	reduce by rule 206
++	FUN	reduce by rule 206
++	VAL	reduce by rule 206
++	INCLUDE	reduce by rule 206
++	OPEN	reduce by rule 206
++	LITTLE	reduce by rule 206
++	BIG	reduce by rule 206
++	PIPELINE	reduce by rule 206
++	LOWERCASE	reduce by rule 206
++	UPPERCASE	reduce by rule 206
++	VERBATIM	reduce by rule 206
++	RTL	reduce by rule 206
++	NONFIX	reduce by rule 206
++	INFIX	reduce by rule 206
++	INFIXR	reduce by rule 206
++	DEBUG	reduce by rule 206
++	RESOURCE	reduce by rule 206
++	CPU	reduce by rule 206
++	LATENCY	reduce by rule 206
++	EXCEPTION	reduce by rule 206
++	EOF	reduce by rule 206
++
++
++	.	error
++
++
++state 666:
++
++	opt_exp : EQ . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 691
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 667:
++
++	field : fieldid COLON cnv . signedness width unsignedint_opt 
++
++	EQ	reduce by rule 227
++	RBRACE	reduce by rule 227
++	COMMA	reduce by rule 227
++	SIGNED	shift 694
++	UNSIGNED	shift 693
++	INT	reduce by rule 227
++
++	signedness	goto 692
++
++	.	error
++
++
++state 668:
++
++	cnv : id .  (reduce by rule 216)
++
++	EQ	reduce by rule 216
++	RBRACE	reduce by rule 216
++	COMMA	reduce by rule 216
++	SIGNED	reduce by rule 216
++	UNSIGNED	reduce by rule 216
++	INT	reduce by rule 216
++
++
++	.	error
++
++
++state 669:
++
++	cnv : DOLLAR . id 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 695
++
++	.	error
++
++
++state 670:
++
++	fields : field COMMA fields .  (reduce by rule 210)
++
++	RBRACE	reduce by rule 210
++
++
++	.	error
++
++
++state 671:
++
++	structexp : structexp . LPAREN scopeddecls RPAREN 
++	structexp : structexp . LPAREN ident RPAREN 
++	mymldecl : FUNCTOR id LPAREN functorarg RPAREN sigcon EQ structexp .  (reduce by rule 74)
++
++	ARCHITECTURE	reduce by rule 74
++	END	reduce by rule 74
++	LOCAL	reduce by rule 74
++	IN	reduce by rule 74
++	DATATYPE	reduce by rule 74
++	TYPE	reduce by rule 74
++	LPAREN	shift 477
++	RPAREN	reduce by rule 74
++	SEMICOLON	reduce by rule 74
++	STORAGE	reduce by rule 74
++	LOCATIONS	reduce by rule 74
++	STRUCTURE	reduce by rule 74
++	FUNCTOR	reduce by rule 74
++	SIGNATURE	reduce by rule 74
++	SHARING	reduce by rule 74
++	INSTRUCTION	reduce by rule 74
++	VLIW	reduce by rule 74
++	SUPERSCALAR	reduce by rule 74
++	FUN	reduce by rule 74
++	VAL	reduce by rule 74
++	INCLUDE	reduce by rule 74
++	OPEN	reduce by rule 74
++	LITTLE	reduce by rule 74
++	BIG	reduce by rule 74
++	PIPELINE	reduce by rule 74
++	LOWERCASE	reduce by rule 74
++	UPPERCASE	reduce by rule 74
++	VERBATIM	reduce by rule 74
++	RTL	reduce by rule 74
++	NONFIX	reduce by rule 74
++	INFIX	reduce by rule 74
++	INFIXR	reduce by rule 74
++	DEBUG	reduce by rule 74
++	RESOURCE	reduce by rule 74
++	CPU	reduce by rule 74
++	LATENCY	reduce by rule 74
++	EXCEPTION	reduce by rule 74
++	EOF	reduce by rule 74
++
++
++	.	error
++
++
++state 672:
++
++	storagedecl : id EQ DOLLAR id LBRACKET cellcount RBRACKET . bitSize aliasing defaults printcell 
++
++	OF	shift 697
++	WHERE	reduce by rule 387
++	ASM_COLON	reduce by rule 387
++	ALIASING	reduce by rule 387
++
++	bitSize	goto 696
++
++	.	error
++
++
++state 673:
++
++	datatypebind : tyvarseq id opcodeencoding fieldty hasasm EQ consbinds .  (reduce by rule 129)
++
++	ARCHITECTURE	reduce by rule 129
++	END	reduce by rule 129
++	LOCAL	reduce by rule 129
++	IN	reduce by rule 129
++	DATATYPE	reduce by rule 129
++	TYPE	reduce by rule 129
++	AND	reduce by rule 129
++	RPAREN	reduce by rule 129
++	SEMICOLON	reduce by rule 129
++	STORAGE	reduce by rule 129
++	LOCATIONS	reduce by rule 129
++	STRUCTURE	reduce by rule 129
++	FUNCTOR	reduce by rule 129
++	SIGNATURE	reduce by rule 129
++	SHARING	reduce by rule 129
++	INSTRUCTION	reduce by rule 129
++	VLIW	reduce by rule 129
++	SUPERSCALAR	reduce by rule 129
++	WITHTYPE	reduce by rule 129
++	FUN	reduce by rule 129
++	VAL	reduce by rule 129
++	INCLUDE	reduce by rule 129
++	OPEN	reduce by rule 129
++	LITTLE	reduce by rule 129
++	BIG	reduce by rule 129
++	PIPELINE	reduce by rule 129
++	LOWERCASE	reduce by rule 129
++	UPPERCASE	reduce by rule 129
++	VERBATIM	reduce by rule 129
++	RTL	reduce by rule 129
++	NONFIX	reduce by rule 129
++	INFIX	reduce by rule 129
++	INFIXR	reduce by rule 129
++	DEBUG	reduce by rule 129
++	RESOURCE	reduce by rule 129
++	CPU	reduce by rule 129
++	LATENCY	reduce by rule 129
++	EXCEPTION	reduce by rule 129
++	EOF	reduce by rule 129
++
++
++	.	error
++
++
++state 674:
++
++	datatypebind : tyvarseq id opcodeencoding fieldty hasasm EQ DATATYPE . ty 
++
++	DOLLAR	shift 271
++	LPAREN	shift 270
++	LBRACE	shift 269
++	CELLSET	shift 50
++	HASH	shift 268
++	BITS	shift 246
++	INSTRUCTION	shift 245
++	CELL	shift 244
++	ID	shift 49
++	SYMBOL	shift 48
++	TYVAR	shift 158
++
++	id	goto 243
++	tid	goto 267
++	tid2	goto 241
++	tident	goto 266
++	tpath	goto 265
++	ty	goto 698
++	aty	goto 263
++	appty	goto 262
++	tuplety	goto 261
++	tyvar	goto 260
++
++	.	error
++
++
++state 675:
++
++	encodingexp : int int DOTDOT int .  (reduce by rule 141)
++
++	RBRACKET	reduce by rule 141
++	COMMA	reduce by rule 141
++
++
++	.	error
++
++
++state 676:
++
++	slices : slice COMMA slices .  (reduce by rule 410)
++
++	RBRACKET	reduce by rule 410
++
++
++	.	error
++
++
++state 677:
++
++	slice : int DOTDOT int .  (reduce by rule 411)
++
++	RBRACKET	reduce by rule 411
++	COMMA	reduce by rule 411
++
++
++	.	error
++
++
++state 678:
++
++	aexp : sym CONCAT LBRACKET exps RBRACKET CONCAT . sym 
++
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 69
++	sym	goto 699
++	symb	goto 67
++
++	.	error
++
++
++state 679:
++
++	exp : IF typedexp THEN typedexp ELSE exp .  (reduce by rule 275)
++	exp : exp . HANDLE clauses 
++
++	ARCHITECTURE	reduce by rule 275
++	END	reduce by rule 275
++	LOCAL	reduce by rule 275
++	IN	reduce by rule 275
++	OF	reduce by rule 275
++	DATATYPE	reduce by rule 275
++	TYPE	reduce by rule 275
++	AND	reduce by rule 275
++	LPAREN	reduce by rule 275
++	RPAREN	reduce by rule 275
++	RBRACKET	reduce by rule 275
++	RBRACE	reduce by rule 275
++	SEMICOLON	reduce by rule 275
++	RMETA	reduce by rule 275
++	CELLSET	reduce by rule 275
++	STORAGE	reduce by rule 275
++	LOCATIONS	reduce by rule 275
++	COMMA	reduce by rule 275
++	COLON	reduce by rule 275
++	BAR	reduce by rule 275
++	DARROW	reduce by rule 275
++	THEN	reduce by rule 275
++	ELSE	reduce by rule 275
++	HANDLE	reduce by rule 275
++	STRUCTURE	reduce by rule 275
++	FUNCTOR	reduce by rule 275
++	SIGNATURE	reduce by rule 275
++	SHARING	reduce by rule 275
++	INSTRUCTION	reduce by rule 275
++	VLIW	reduce by rule 275
++	SUPERSCALAR	reduce by rule 275
++	WITHTYPE	reduce by rule 275
++	FUN	reduce by rule 275
++	VAL	reduce by rule 275
++	INCLUDE	reduce by rule 275
++	OPEN	reduce by rule 275
++	LITTLE	reduce by rule 275
++	BIG	reduce by rule 275
++	PIPELINE	reduce by rule 275
++	LOWERCASE	reduce by rule 275
++	UPPERCASE	reduce by rule 275
++	VERBATIM	reduce by rule 275
++	RTL	reduce by rule 275
++	SPAN	reduce by rule 275
++	DELAYSLOT	reduce by rule 275
++	NONFIX	reduce by rule 275
++	INFIX	reduce by rule 275
++	INFIXR	reduce by rule 275
++	DEBUG	reduce by rule 275
++	ASM_COLON	reduce by rule 275
++	MC_COLON	reduce by rule 275
++	RTL_COLON	reduce by rule 275
++	DELAYSLOT_COLON	reduce by rule 275
++	NULLIFIED_COLON	reduce by rule 275
++	PADDING_COLON	reduce by rule 275
++	RESOURCE	reduce by rule 275
++	CPU	reduce by rule 275
++	LATENCY	reduce by rule 275
++	EXCEPTION	reduce by rule 275
++	ID	reduce by rule 275
++	SYMBOL	reduce by rule 275
++	WORD	reduce by rule 275
++	INT	reduce by rule 275
++	EOF	reduce by rule 275
++
++
++	.	error
++
++
++state 680:
++
++	exp : exp . HANDLE clauses 
++	clause : typedpat guard cont DARROW exp .  (reduce by rule 336)
++
++	ARCHITECTURE	reduce by rule 336
++	END	reduce by rule 336
++	LOCAL	reduce by rule 336
++	IN	reduce by rule 336
++	OF	reduce by rule 336
++	DATATYPE	reduce by rule 336
++	TYPE	reduce by rule 336
++	AND	reduce by rule 336
++	LPAREN	reduce by rule 336
++	RPAREN	reduce by rule 336
++	RBRACKET	reduce by rule 336
++	RBRACE	reduce by rule 336
++	SEMICOLON	reduce by rule 336
++	RMETA	reduce by rule 336
++	CELLSET	reduce by rule 336
++	STORAGE	reduce by rule 336
++	LOCATIONS	reduce by rule 336
++	COMMA	reduce by rule 336
++	COLON	reduce by rule 336
++	BAR	reduce by rule 336
++	DARROW	reduce by rule 336
++	THEN	reduce by rule 336
++	ELSE	reduce by rule 336
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 336
++	FUNCTOR	reduce by rule 336
++	SIGNATURE	reduce by rule 336
++	SHARING	reduce by rule 336
++	INSTRUCTION	reduce by rule 336
++	VLIW	reduce by rule 336
++	SUPERSCALAR	reduce by rule 336
++	WITHTYPE	reduce by rule 336
++	FUN	reduce by rule 336
++	VAL	reduce by rule 336
++	INCLUDE	reduce by rule 336
++	OPEN	reduce by rule 336
++	LITTLE	reduce by rule 336
++	BIG	reduce by rule 336
++	PIPELINE	reduce by rule 336
++	LOWERCASE	reduce by rule 336
++	UPPERCASE	reduce by rule 336
++	VERBATIM	reduce by rule 336
++	RTL	reduce by rule 336
++	SPAN	reduce by rule 336
++	DELAYSLOT	reduce by rule 336
++	NONFIX	reduce by rule 336
++	INFIX	reduce by rule 336
++	INFIXR	reduce by rule 336
++	DEBUG	reduce by rule 336
++	ASM_COLON	reduce by rule 336
++	MC_COLON	reduce by rule 336
++	RTL_COLON	reduce by rule 336
++	DELAYSLOT_COLON	reduce by rule 336
++	NULLIFIED_COLON	reduce by rule 336
++	PADDING_COLON	reduce by rule 336
++	RESOURCE	reduce by rule 336
++	CPU	reduce by rule 336
++	LATENCY	reduce by rule 336
++	EXCEPTION	reduce by rule 336
++	ID	reduce by rule 336
++	SYMBOL	reduce by rule 336
++	WORD	reduce by rule 336
++	INT	reduce by rule 336
++	EOF	reduce by rule 336
++
++
++	.	error
++
++
++state 681:
++
++	aexp : DOLLAR id LBRACKET exp region RBRACKET .  (reduce by rule 254)
++
++	ARCHITECTURE	reduce by rule 254
++	END	reduce by rule 254
++	LOCAL	reduce by rule 254
++	IN	reduce by rule 254
++	OF	reduce by rule 254
++	DATATYPE	reduce by rule 254
++	TYPE	reduce by rule 254
++	EQ	reduce by rule 254
++	DOLLAR	reduce by rule 254
++	TIMES	reduce by rule 254
++	AND	reduce by rule 254
++	DEREF	reduce by rule 254
++	NOT	reduce by rule 254
++	LLBRACKET	reduce by rule 254
++	LHASHBRACKET	reduce by rule 254
++	LPAREN	reduce by rule 254
++	RPAREN	reduce by rule 254
++	LBRACKET	reduce by rule 254
++	RBRACKET	reduce by rule 254
++	LBRACE	reduce by rule 254
++	RBRACE	reduce by rule 254
++	SEMICOLON	reduce by rule 254
++	LDQUOTE	reduce by rule 254
++	RMETA	reduce by rule 254
++	CELLSET	reduce by rule 254
++	STORAGE	reduce by rule 254
++	LOCATIONS	reduce by rule 254
++	HASH	reduce by rule 254
++	COMMA	reduce by rule 254
++	COLON	reduce by rule 254
++	AT	reduce by rule 254
++	BAR	reduce by rule 254
++	DARROW	reduce by rule 254
++	THEN	reduce by rule 254
++	ELSE	reduce by rule 254
++	TRUE	reduce by rule 254
++	FALSE	reduce by rule 254
++	HANDLE	reduce by rule 254
++	LET	reduce by rule 254
++	STRUCTURE	reduce by rule 254
++	FUNCTOR	reduce by rule 254
++	SIGNATURE	reduce by rule 254
++	SHARING	reduce by rule 254
++	INSTRUCTION	reduce by rule 254
++	VLIW	reduce by rule 254
++	SUPERSCALAR	reduce by rule 254
++	WITHTYPE	reduce by rule 254
++	FUN	reduce by rule 254
++	VAL	reduce by rule 254
++	INCLUDE	reduce by rule 254
++	OPEN	reduce by rule 254
++	OP	reduce by rule 254
++	LITTLE	reduce by rule 254
++	BIG	reduce by rule 254
++	PIPELINE	reduce by rule 254
++	LOWERCASE	reduce by rule 254
++	UPPERCASE	reduce by rule 254
++	VERBATIM	reduce by rule 254
++	RTL	reduce by rule 254
++	SPAN	reduce by rule 254
++	DELAYSLOT	reduce by rule 254
++	ALWAYS	reduce by rule 254
++	NEVER	reduce by rule 254
++	NONFIX	reduce by rule 254
++	INFIX	reduce by rule 254
++	INFIXR	reduce by rule 254
++	DEBUG	reduce by rule 254
++	ASM_COLON	reduce by rule 254
++	MC_COLON	reduce by rule 254
++	RTL_COLON	reduce by rule 254
++	DELAYSLOT_COLON	reduce by rule 254
++	NULLIFIED_COLON	reduce by rule 254
++	PADDING_COLON	reduce by rule 254
++	RESOURCE	reduce by rule 254
++	CPU	reduce by rule 254
++	LATENCY	reduce by rule 254
++	EXCEPTION	reduce by rule 254
++	ID	reduce by rule 254
++	SYMBOL	reduce by rule 254
++	WORD	reduce by rule 254
++	INT	reduce by rule 254
++	INTINF	reduce by rule 254
++	REAL	reduce by rule 254
++	STRING	reduce by rule 254
++	CHAR	reduce by rule 254
++	EOF	reduce by rule 254
++
++
++	.	error
++
++
++state 682:
++
++	region : COLON id .  (reduce by rule 261)
++
++	RBRACKET	reduce by rule 261
++
++
++	.	error
++
++
++state 683:
++
++	consbind : sym of_ty consassembly consencoding rtl nop nullified delayslot . delayslotcandidate sdi latency pipeline 
++
++	ARCHITECTURE	reduce by rule 149
++	END	reduce by rule 149
++	LOCAL	reduce by rule 149
++	IN	reduce by rule 149
++	DATATYPE	reduce by rule 149
++	TYPE	reduce by rule 149
++	AND	reduce by rule 149
++	RPAREN	reduce by rule 149
++	SEMICOLON	reduce by rule 149
++	STORAGE	reduce by rule 149
++	LOCATIONS	reduce by rule 149
++	BAR	reduce by rule 149
++	STRUCTURE	reduce by rule 149
++	FUNCTOR	reduce by rule 149
++	SIGNATURE	reduce by rule 149
++	SHARING	reduce by rule 149
++	INSTRUCTION	reduce by rule 149
++	VLIW	reduce by rule 149
++	SUPERSCALAR	reduce by rule 149
++	WITHTYPE	reduce by rule 149
++	FUN	reduce by rule 149
++	VAL	reduce by rule 149
++	INCLUDE	reduce by rule 149
++	OPEN	reduce by rule 149
++	LITTLE	reduce by rule 149
++	BIG	reduce by rule 149
++	PIPELINE	reduce by rule 149
++	LOWERCASE	reduce by rule 149
++	UPPERCASE	reduce by rule 149
++	VERBATIM	reduce by rule 149
++	RTL	reduce by rule 149
++	SPAN	reduce by rule 149
++	DELAYSLOT	shift 701
++	NONFIX	reduce by rule 149
++	INFIX	reduce by rule 149
++	INFIXR	reduce by rule 149
++	DEBUG	reduce by rule 149
++	RESOURCE	reduce by rule 149
++	CPU	reduce by rule 149
++	LATENCY	reduce by rule 149
++	EXCEPTION	reduce by rule 149
++	EOF	reduce by rule 149
++
++	delayslotcandidate	goto 700
++
++	.	error
++
++
++state 684:
++
++	delayslot : DELAYSLOT_COLON . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 702
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 685:
++
++	nullified : NULLIFIED_COLON flag .  (reduce by rule 169)
++
++	ARCHITECTURE	reduce by rule 169
++	END	reduce by rule 169
++	LOCAL	reduce by rule 169
++	IN	reduce by rule 169
++	DATATYPE	reduce by rule 169
++	TYPE	reduce by rule 169
++	AND	reduce by rule 169
++	RPAREN	reduce by rule 169
++	SEMICOLON	reduce by rule 169
++	STORAGE	reduce by rule 169
++	LOCATIONS	reduce by rule 169
++	BAR	reduce by rule 169
++	STRUCTURE	reduce by rule 169
++	FUNCTOR	reduce by rule 169
++	SIGNATURE	reduce by rule 169
++	SHARING	reduce by rule 169
++	INSTRUCTION	reduce by rule 169
++	VLIW	reduce by rule 169
++	SUPERSCALAR	reduce by rule 169
++	WITHTYPE	reduce by rule 169
++	FUN	reduce by rule 169
++	VAL	reduce by rule 169
++	INCLUDE	reduce by rule 169
++	OPEN	reduce by rule 169
++	LITTLE	reduce by rule 169
++	BIG	reduce by rule 169
++	PIPELINE	reduce by rule 169
++	LOWERCASE	reduce by rule 169
++	UPPERCASE	reduce by rule 169
++	VERBATIM	reduce by rule 169
++	RTL	reduce by rule 169
++	SPAN	reduce by rule 169
++	DELAYSLOT	reduce by rule 169
++	NONFIX	reduce by rule 169
++	INFIX	reduce by rule 169
++	INFIXR	reduce by rule 169
++	DEBUG	reduce by rule 169
++	DELAYSLOT_COLON	reduce by rule 169
++	RESOURCE	reduce by rule 169
++	CPU	reduce by rule 169
++	LATENCY	reduce by rule 169
++	EXCEPTION	reduce by rule 169
++	EOF	reduce by rule 169
++
++
++	.	error
++
++
++state 686:
++
++	nullified : NULLIFIED_COLON FALSE .  (reduce by rule 168)
++
++	ARCHITECTURE	reduce by rule 168
++	END	reduce by rule 168
++	LOCAL	reduce by rule 168
++	IN	reduce by rule 168
++	DATATYPE	reduce by rule 168
++	TYPE	reduce by rule 168
++	AND	reduce by rule 168
++	RPAREN	reduce by rule 168
++	SEMICOLON	reduce by rule 168
++	STORAGE	reduce by rule 168
++	LOCATIONS	reduce by rule 168
++	BAR	reduce by rule 168
++	STRUCTURE	reduce by rule 168
++	FUNCTOR	reduce by rule 168
++	SIGNATURE	reduce by rule 168
++	SHARING	reduce by rule 168
++	INSTRUCTION	reduce by rule 168
++	VLIW	reduce by rule 168
++	SUPERSCALAR	reduce by rule 168
++	WITHTYPE	reduce by rule 168
++	FUN	reduce by rule 168
++	VAL	reduce by rule 168
++	INCLUDE	reduce by rule 168
++	OPEN	reduce by rule 168
++	LITTLE	reduce by rule 168
++	BIG	reduce by rule 168
++	PIPELINE	reduce by rule 168
++	LOWERCASE	reduce by rule 168
++	UPPERCASE	reduce by rule 168
++	VERBATIM	reduce by rule 168
++	RTL	reduce by rule 168
++	SPAN	reduce by rule 168
++	DELAYSLOT	reduce by rule 168
++	NONFIX	reduce by rule 168
++	INFIX	reduce by rule 168
++	INFIXR	reduce by rule 168
++	DEBUG	reduce by rule 168
++	DELAYSLOT_COLON	reduce by rule 168
++	RESOURCE	reduce by rule 168
++	CPU	reduce by rule 168
++	LATENCY	reduce by rule 168
++	EXCEPTION	reduce by rule 168
++	EOF	reduce by rule 168
++
++
++	.	error
++
++
++state 687:
++
++	flag : id flagguard .  (reduce by rule 161)
++
++	ARCHITECTURE	reduce by rule 161
++	END	reduce by rule 161
++	LOCAL	reduce by rule 161
++	IN	reduce by rule 161
++	DATATYPE	reduce by rule 161
++	TYPE	reduce by rule 161
++	AND	reduce by rule 161
++	RPAREN	reduce by rule 161
++	SEMICOLON	reduce by rule 161
++	STORAGE	reduce by rule 161
++	LOCATIONS	reduce by rule 161
++	BAR	reduce by rule 161
++	STRUCTURE	reduce by rule 161
++	FUNCTOR	reduce by rule 161
++	SIGNATURE	reduce by rule 161
++	SHARING	reduce by rule 161
++	INSTRUCTION	reduce by rule 161
++	VLIW	reduce by rule 161
++	SUPERSCALAR	reduce by rule 161
++	WITHTYPE	reduce by rule 161
++	FUN	reduce by rule 161
++	VAL	reduce by rule 161
++	INCLUDE	reduce by rule 161
++	OPEN	reduce by rule 161
++	LITTLE	reduce by rule 161
++	BIG	reduce by rule 161
++	PIPELINE	reduce by rule 161
++	LOWERCASE	reduce by rule 161
++	UPPERCASE	reduce by rule 161
++	VERBATIM	reduce by rule 161
++	RTL	reduce by rule 161
++	SPAN	reduce by rule 161
++	DELAYSLOT	reduce by rule 161
++	NONFIX	reduce by rule 161
++	INFIX	reduce by rule 161
++	INFIXR	reduce by rule 161
++	DEBUG	reduce by rule 161
++	DELAYSLOT_COLON	reduce by rule 161
++	NULLIFIED_COLON	reduce by rule 161
++	RESOURCE	reduce by rule 161
++	CPU	reduce by rule 161
++	LATENCY	reduce by rule 161
++	EXCEPTION	reduce by rule 161
++	EOF	reduce by rule 161
++
++
++	.	error
++
++
++state 688:
++
++	flagguard : AND . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 703
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 689:
++
++	flag : id EQ . True flagguard 
++	flag : id EQ . False flagguard 
++
++	TRUE	shift 99
++	FALSE	shift 98
++	ALWAYS	shift 96
++	NEVER	shift 95
++
++	True	goto 705
++	False	goto 704
++
++	.	error
++
++error:  state 690: shift/reduce conflict (shift AND, reduce by rule 165)
++
++state 690:
++
++	flag : NOT id . flagguard 
++
++	ARCHITECTURE	reduce by rule 165
++	END	reduce by rule 165
++	LOCAL	reduce by rule 165
++	IN	reduce by rule 165
++	DATATYPE	reduce by rule 165
++	TYPE	reduce by rule 165
++	AND	shift 688
++	RPAREN	reduce by rule 165
++	SEMICOLON	reduce by rule 165
++	STORAGE	reduce by rule 165
++	LOCATIONS	reduce by rule 165
++	BAR	reduce by rule 165
++	STRUCTURE	reduce by rule 165
++	FUNCTOR	reduce by rule 165
++	SIGNATURE	reduce by rule 165
++	SHARING	reduce by rule 165
++	INSTRUCTION	reduce by rule 165
++	VLIW	reduce by rule 165
++	SUPERSCALAR	reduce by rule 165
++	WITHTYPE	reduce by rule 165
++	FUN	reduce by rule 165
++	VAL	reduce by rule 165
++	INCLUDE	reduce by rule 165
++	OPEN	reduce by rule 165
++	LITTLE	reduce by rule 165
++	BIG	reduce by rule 165
++	PIPELINE	reduce by rule 165
++	LOWERCASE	reduce by rule 165
++	UPPERCASE	reduce by rule 165
++	VERBATIM	reduce by rule 165
++	RTL	reduce by rule 165
++	SPAN	reduce by rule 165
++	DELAYSLOT	reduce by rule 165
++	NONFIX	reduce by rule 165
++	INFIX	reduce by rule 165
++	INFIXR	reduce by rule 165
++	DEBUG	reduce by rule 165
++	DELAYSLOT_COLON	reduce by rule 165
++	NULLIFIED_COLON	reduce by rule 165
++	RESOURCE	reduce by rule 165
++	CPU	reduce by rule 165
++	LATENCY	reduce by rule 165
++	EXCEPTION	reduce by rule 165
++	EOF	reduce by rule 165
++
++	flagguard	goto 706
++
++	.	error
++
++
++state 691:
++
++	exp : exp . HANDLE clauses 
++	opt_exp : EQ exp .  (reduce by rule 208)
++
++	ARCHITECTURE	reduce by rule 208
++	END	reduce by rule 208
++	LOCAL	reduce by rule 208
++	IN	reduce by rule 208
++	DATATYPE	reduce by rule 208
++	TYPE	reduce by rule 208
++	RPAREN	reduce by rule 208
++	SEMICOLON	reduce by rule 208
++	STORAGE	reduce by rule 208
++	LOCATIONS	reduce by rule 208
++	BAR	reduce by rule 208
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 208
++	FUNCTOR	reduce by rule 208
++	SIGNATURE	reduce by rule 208
++	SHARING	reduce by rule 208
++	INSTRUCTION	reduce by rule 208
++	VLIW	reduce by rule 208
++	SUPERSCALAR	reduce by rule 208
++	FUN	reduce by rule 208
++	VAL	reduce by rule 208
++	INCLUDE	reduce by rule 208
++	OPEN	reduce by rule 208
++	LITTLE	reduce by rule 208
++	BIG	reduce by rule 208
++	PIPELINE	reduce by rule 208
++	LOWERCASE	reduce by rule 208
++	UPPERCASE	reduce by rule 208
++	VERBATIM	reduce by rule 208
++	RTL	reduce by rule 208
++	NONFIX	reduce by rule 208
++	INFIX	reduce by rule 208
++	INFIXR	reduce by rule 208
++	DEBUG	reduce by rule 208
++	RESOURCE	reduce by rule 208
++	CPU	reduce by rule 208
++	LATENCY	reduce by rule 208
++	EXCEPTION	reduce by rule 208
++	EOF	reduce by rule 208
++
++
++	.	error
++
++
++state 692:
++
++	field : fieldid COLON cnv signedness . width unsignedint_opt 
++
++	EQ	reduce by rule 218
++	RBRACE	reduce by rule 218
++	COMMA	reduce by rule 218
++	INT	shift 64
++
++	width	goto 708
++	int	goto 707
++
++	.	error
++
++
++state 693:
++
++	signedness : UNSIGNED .  (reduce by rule 226)
++
++	EQ	reduce by rule 226
++	RBRACE	reduce by rule 226
++	COMMA	reduce by rule 226
++	INT	reduce by rule 226
++
++
++	.	error
++
++
++state 694:
++
++	signedness : SIGNED .  (reduce by rule 225)
++
++	EQ	reduce by rule 225
++	RBRACE	reduce by rule 225
++	COMMA	reduce by rule 225
++	INT	reduce by rule 225
++
++
++	.	error
++
++
++state 695:
++
++	cnv : DOLLAR id .  (reduce by rule 217)
++
++	EQ	reduce by rule 217
++	RBRACE	reduce by rule 217
++	COMMA	reduce by rule 217
++	SIGNED	reduce by rule 217
++	UNSIGNED	reduce by rule 217
++	INT	reduce by rule 217
++
++
++	.	error
++
++
++state 696:
++
++	storagedecl : id EQ DOLLAR id LBRACKET cellcount RBRACKET bitSize . aliasing defaults printcell 
++
++	WHERE	reduce by rule 400
++	ASM_COLON	reduce by rule 400
++	ALIASING	shift 710
++
++	aliasing	goto 709
++
++	.	error
++
++
++state 697:
++
++	bitSize : OF . int aggregable BITS 
++
++	INT	shift 64
++
++	int	goto 711
++
++	.	error
++
++
++state 698:
++
++	ty : ty . ARROW ty 
++	datatypebind : tyvarseq id opcodeencoding fieldty hasasm EQ DATATYPE ty .  (reduce by rule 130)
++
++	ARCHITECTURE	reduce by rule 130
++	END	reduce by rule 130
++	LOCAL	reduce by rule 130
++	IN	reduce by rule 130
++	DATATYPE	reduce by rule 130
++	TYPE	reduce by rule 130
++	AND	reduce by rule 130
++	RPAREN	reduce by rule 130
++	SEMICOLON	reduce by rule 130
++	STORAGE	reduce by rule 130
++	LOCATIONS	reduce by rule 130
++	ARROW	shift 388
++	STRUCTURE	reduce by rule 130
++	FUNCTOR	reduce by rule 130
++	SIGNATURE	reduce by rule 130
++	SHARING	reduce by rule 130
++	INSTRUCTION	reduce by rule 130
++	VLIW	reduce by rule 130
++	SUPERSCALAR	reduce by rule 130
++	WITHTYPE	reduce by rule 130
++	FUN	reduce by rule 130
++	VAL	reduce by rule 130
++	INCLUDE	reduce by rule 130
++	OPEN	reduce by rule 130
++	LITTLE	reduce by rule 130
++	BIG	reduce by rule 130
++	PIPELINE	reduce by rule 130
++	LOWERCASE	reduce by rule 130
++	UPPERCASE	reduce by rule 130
++	VERBATIM	reduce by rule 130
++	RTL	reduce by rule 130
++	NONFIX	reduce by rule 130
++	INFIX	reduce by rule 130
++	INFIXR	reduce by rule 130
++	DEBUG	reduce by rule 130
++	RESOURCE	reduce by rule 130
++	CPU	reduce by rule 130
++	LATENCY	reduce by rule 130
++	EXCEPTION	reduce by rule 130
++	EOF	reduce by rule 130
++
++
++	.	error
++
++
++state 699:
++
++	aexp : sym CONCAT LBRACKET exps RBRACKET CONCAT sym .  (reduce by rule 258)
++
++	ARCHITECTURE	reduce by rule 258
++	END	reduce by rule 258
++	LOCAL	reduce by rule 258
++	IN	reduce by rule 258
++	OF	reduce by rule 258
++	DATATYPE	reduce by rule 258
++	TYPE	reduce by rule 258
++	EQ	reduce by rule 258
++	DOLLAR	reduce by rule 258
++	TIMES	reduce by rule 258
++	AND	reduce by rule 258
++	DEREF	reduce by rule 258
++	NOT	reduce by rule 258
++	LLBRACKET	reduce by rule 258
++	LHASHBRACKET	reduce by rule 258
++	LPAREN	reduce by rule 258
++	RPAREN	reduce by rule 258
++	LBRACKET	reduce by rule 258
++	RBRACKET	reduce by rule 258
++	LBRACE	reduce by rule 258
++	RBRACE	reduce by rule 258
++	SEMICOLON	reduce by rule 258
++	LDQUOTE	reduce by rule 258
++	RMETA	reduce by rule 258
++	CELLSET	reduce by rule 258
++	STORAGE	reduce by rule 258
++	LOCATIONS	reduce by rule 258
++	HASH	reduce by rule 258
++	COMMA	reduce by rule 258
++	COLON	reduce by rule 258
++	AT	reduce by rule 258
++	BAR	reduce by rule 258
++	DARROW	reduce by rule 258
++	THEN	reduce by rule 258
++	ELSE	reduce by rule 258
++	TRUE	reduce by rule 258
++	FALSE	reduce by rule 258
++	HANDLE	reduce by rule 258
++	LET	reduce by rule 258
++	STRUCTURE	reduce by rule 258
++	FUNCTOR	reduce by rule 258
++	SIGNATURE	reduce by rule 258
++	SHARING	reduce by rule 258
++	INSTRUCTION	reduce by rule 258
++	VLIW	reduce by rule 258
++	SUPERSCALAR	reduce by rule 258
++	WITHTYPE	reduce by rule 258
++	FUN	reduce by rule 258
++	VAL	reduce by rule 258
++	INCLUDE	reduce by rule 258
++	OPEN	reduce by rule 258
++	OP	reduce by rule 258
++	LITTLE	reduce by rule 258
++	BIG	reduce by rule 258
++	PIPELINE	reduce by rule 258
++	LOWERCASE	reduce by rule 258
++	UPPERCASE	reduce by rule 258
++	VERBATIM	reduce by rule 258
++	RTL	reduce by rule 258
++	SPAN	reduce by rule 258
++	DELAYSLOT	reduce by rule 258
++	ALWAYS	reduce by rule 258
++	NEVER	reduce by rule 258
++	NONFIX	reduce by rule 258
++	INFIX	reduce by rule 258
++	INFIXR	reduce by rule 258
++	DEBUG	reduce by rule 258
++	ASM_COLON	reduce by rule 258
++	MC_COLON	reduce by rule 258
++	RTL_COLON	reduce by rule 258
++	DELAYSLOT_COLON	reduce by rule 258
++	NULLIFIED_COLON	reduce by rule 258
++	PADDING_COLON	reduce by rule 258
++	RESOURCE	reduce by rule 258
++	CPU	reduce by rule 258
++	LATENCY	reduce by rule 258
++	EXCEPTION	reduce by rule 258
++	ID	reduce by rule 258
++	SYMBOL	reduce by rule 258
++	WORD	reduce by rule 258
++	INT	reduce by rule 258
++	INTINF	reduce by rule 258
++	REAL	reduce by rule 258
++	STRING	reduce by rule 258
++	CHAR	reduce by rule 258
++	EOF	reduce by rule 258
++
++
++	.	error
++
++
++state 700:
++
++	consbind : sym of_ty consassembly consencoding rtl nop nullified delayslot delayslotcandidate . sdi latency pipeline 
++
++	ARCHITECTURE	reduce by rule 174
++	END	reduce by rule 174
++	LOCAL	reduce by rule 174
++	IN	reduce by rule 174
++	DATATYPE	reduce by rule 174
++	TYPE	reduce by rule 174
++	AND	reduce by rule 174
++	RPAREN	reduce by rule 174
++	SEMICOLON	reduce by rule 174
++	STORAGE	reduce by rule 174
++	LOCATIONS	reduce by rule 174
++	BAR	reduce by rule 174
++	STRUCTURE	reduce by rule 174
++	FUNCTOR	reduce by rule 174
++	SIGNATURE	reduce by rule 174
++	SHARING	reduce by rule 174
++	INSTRUCTION	reduce by rule 174
++	VLIW	reduce by rule 174
++	SUPERSCALAR	reduce by rule 174
++	WITHTYPE	reduce by rule 174
++	FUN	reduce by rule 174
++	VAL	reduce by rule 174
++	INCLUDE	reduce by rule 174
++	OPEN	reduce by rule 174
++	LITTLE	reduce by rule 174
++	BIG	reduce by rule 174
++	PIPELINE	reduce by rule 174
++	LOWERCASE	reduce by rule 174
++	UPPERCASE	reduce by rule 174
++	VERBATIM	reduce by rule 174
++	RTL	reduce by rule 174
++	SPAN	shift 713
++	NONFIX	reduce by rule 174
++	INFIX	reduce by rule 174
++	INFIXR	reduce by rule 174
++	DEBUG	reduce by rule 174
++	RESOURCE	reduce by rule 174
++	CPU	reduce by rule 174
++	LATENCY	reduce by rule 174
++	EXCEPTION	reduce by rule 174
++	EOF	reduce by rule 174
++
++	sdi	goto 712
++
++	.	error
++
++
++state 701:
++
++	delayslotcandidate : DELAYSLOT . CANDIDATE_COLON exp 
++
++	CANDIDATE_COLON	shift 714
++
++
++	.	error
++
++
++state 702:
++
++	exp : exp . HANDLE clauses 
++	delayslot : DELAYSLOT_COLON exp .  (reduce by rule 171)
++
++	ARCHITECTURE	reduce by rule 171
++	END	reduce by rule 171
++	LOCAL	reduce by rule 171
++	IN	reduce by rule 171
++	DATATYPE	reduce by rule 171
++	TYPE	reduce by rule 171
++	AND	reduce by rule 171
++	RPAREN	reduce by rule 171
++	SEMICOLON	reduce by rule 171
++	STORAGE	reduce by rule 171
++	LOCATIONS	reduce by rule 171
++	BAR	reduce by rule 171
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 171
++	FUNCTOR	reduce by rule 171
++	SIGNATURE	reduce by rule 171
++	SHARING	reduce by rule 171
++	INSTRUCTION	reduce by rule 171
++	VLIW	reduce by rule 171
++	SUPERSCALAR	reduce by rule 171
++	WITHTYPE	reduce by rule 171
++	FUN	reduce by rule 171
++	VAL	reduce by rule 171
++	INCLUDE	reduce by rule 171
++	OPEN	reduce by rule 171
++	LITTLE	reduce by rule 171
++	BIG	reduce by rule 171
++	PIPELINE	reduce by rule 171
++	LOWERCASE	reduce by rule 171
++	UPPERCASE	reduce by rule 171
++	VERBATIM	reduce by rule 171
++	RTL	reduce by rule 171
++	SPAN	reduce by rule 171
++	DELAYSLOT	reduce by rule 171
++	NONFIX	reduce by rule 171
++	INFIX	reduce by rule 171
++	INFIXR	reduce by rule 171
++	DEBUG	reduce by rule 171
++	RESOURCE	reduce by rule 171
++	CPU	reduce by rule 171
++	LATENCY	reduce by rule 171
++	EXCEPTION	reduce by rule 171
++	EOF	reduce by rule 171
++
++
++	.	error
++
++
++state 703:
++
++	exp : exp . HANDLE clauses 
++	flagguard : AND exp .  (reduce by rule 166)
++
++	ARCHITECTURE	reduce by rule 166
++	END	reduce by rule 166
++	LOCAL	reduce by rule 166
++	IN	reduce by rule 166
++	DATATYPE	reduce by rule 166
++	TYPE	reduce by rule 166
++	AND	reduce by rule 166
++	RPAREN	reduce by rule 166
++	SEMICOLON	reduce by rule 166
++	STORAGE	reduce by rule 166
++	LOCATIONS	reduce by rule 166
++	BAR	reduce by rule 166
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 166
++	FUNCTOR	reduce by rule 166
++	SIGNATURE	reduce by rule 166
++	SHARING	reduce by rule 166
++	INSTRUCTION	reduce by rule 166
++	VLIW	reduce by rule 166
++	SUPERSCALAR	reduce by rule 166
++	WITHTYPE	reduce by rule 166
++	FUN	reduce by rule 166
++	VAL	reduce by rule 166
++	INCLUDE	reduce by rule 166
++	OPEN	reduce by rule 166
++	LITTLE	reduce by rule 166
++	BIG	reduce by rule 166
++	PIPELINE	reduce by rule 166
++	LOWERCASE	reduce by rule 166
++	UPPERCASE	reduce by rule 166
++	VERBATIM	reduce by rule 166
++	RTL	reduce by rule 166
++	SPAN	reduce by rule 166
++	DELAYSLOT	reduce by rule 166
++	NONFIX	reduce by rule 166
++	INFIX	reduce by rule 166
++	INFIXR	reduce by rule 166
++	DEBUG	reduce by rule 166
++	DELAYSLOT_COLON	reduce by rule 166
++	NULLIFIED_COLON	reduce by rule 166
++	RESOURCE	reduce by rule 166
++	CPU	reduce by rule 166
++	LATENCY	reduce by rule 166
++	EXCEPTION	reduce by rule 166
++	EOF	reduce by rule 166
++
++
++	.	error
++
++error:  state 704: shift/reduce conflict (shift AND, reduce by rule 165)
++
++state 704:
++
++	flag : id EQ False . flagguard 
++
++	ARCHITECTURE	reduce by rule 165
++	END	reduce by rule 165
++	LOCAL	reduce by rule 165
++	IN	reduce by rule 165
++	DATATYPE	reduce by rule 165
++	TYPE	reduce by rule 165
++	AND	shift 688
++	RPAREN	reduce by rule 165
++	SEMICOLON	reduce by rule 165
++	STORAGE	reduce by rule 165
++	LOCATIONS	reduce by rule 165
++	BAR	reduce by rule 165
++	STRUCTURE	reduce by rule 165
++	FUNCTOR	reduce by rule 165
++	SIGNATURE	reduce by rule 165
++	SHARING	reduce by rule 165
++	INSTRUCTION	reduce by rule 165
++	VLIW	reduce by rule 165
++	SUPERSCALAR	reduce by rule 165
++	WITHTYPE	reduce by rule 165
++	FUN	reduce by rule 165
++	VAL	reduce by rule 165
++	INCLUDE	reduce by rule 165
++	OPEN	reduce by rule 165
++	LITTLE	reduce by rule 165
++	BIG	reduce by rule 165
++	PIPELINE	reduce by rule 165
++	LOWERCASE	reduce by rule 165
++	UPPERCASE	reduce by rule 165
++	VERBATIM	reduce by rule 165
++	RTL	reduce by rule 165
++	SPAN	reduce by rule 165
++	DELAYSLOT	reduce by rule 165
++	NONFIX	reduce by rule 165
++	INFIX	reduce by rule 165
++	INFIXR	reduce by rule 165
++	DEBUG	reduce by rule 165
++	DELAYSLOT_COLON	reduce by rule 165
++	NULLIFIED_COLON	reduce by rule 165
++	RESOURCE	reduce by rule 165
++	CPU	reduce by rule 165
++	LATENCY	reduce by rule 165
++	EXCEPTION	reduce by rule 165
++	EOF	reduce by rule 165
++
++	flagguard	goto 715
++
++	.	error
++
++error:  state 705: shift/reduce conflict (shift AND, reduce by rule 165)
++
++state 705:
++
++	flag : id EQ True . flagguard 
++
++	ARCHITECTURE	reduce by rule 165
++	END	reduce by rule 165
++	LOCAL	reduce by rule 165
++	IN	reduce by rule 165
++	DATATYPE	reduce by rule 165
++	TYPE	reduce by rule 165
++	AND	shift 688
++	RPAREN	reduce by rule 165
++	SEMICOLON	reduce by rule 165
++	STORAGE	reduce by rule 165
++	LOCATIONS	reduce by rule 165
++	BAR	reduce by rule 165
++	STRUCTURE	reduce by rule 165
++	FUNCTOR	reduce by rule 165
++	SIGNATURE	reduce by rule 165
++	SHARING	reduce by rule 165
++	INSTRUCTION	reduce by rule 165
++	VLIW	reduce by rule 165
++	SUPERSCALAR	reduce by rule 165
++	WITHTYPE	reduce by rule 165
++	FUN	reduce by rule 165
++	VAL	reduce by rule 165
++	INCLUDE	reduce by rule 165
++	OPEN	reduce by rule 165
++	LITTLE	reduce by rule 165
++	BIG	reduce by rule 165
++	PIPELINE	reduce by rule 165
++	LOWERCASE	reduce by rule 165
++	UPPERCASE	reduce by rule 165
++	VERBATIM	reduce by rule 165
++	RTL	reduce by rule 165
++	SPAN	reduce by rule 165
++	DELAYSLOT	reduce by rule 165
++	NONFIX	reduce by rule 165
++	INFIX	reduce by rule 165
++	INFIXR	reduce by rule 165
++	DEBUG	reduce by rule 165
++	DELAYSLOT_COLON	reduce by rule 165
++	NULLIFIED_COLON	reduce by rule 165
++	RESOURCE	reduce by rule 165
++	CPU	reduce by rule 165
++	LATENCY	reduce by rule 165
++	EXCEPTION	reduce by rule 165
++	EOF	reduce by rule 165
++
++	flagguard	goto 716
++
++	.	error
++
++
++state 706:
++
++	flag : NOT id flagguard .  (reduce by rule 162)
++
++	ARCHITECTURE	reduce by rule 162
++	END	reduce by rule 162
++	LOCAL	reduce by rule 162
++	IN	reduce by rule 162
++	DATATYPE	reduce by rule 162
++	TYPE	reduce by rule 162
++	AND	reduce by rule 162
++	RPAREN	reduce by rule 162
++	SEMICOLON	reduce by rule 162
++	STORAGE	reduce by rule 162
++	LOCATIONS	reduce by rule 162
++	BAR	reduce by rule 162
++	STRUCTURE	reduce by rule 162
++	FUNCTOR	reduce by rule 162
++	SIGNATURE	reduce by rule 162
++	SHARING	reduce by rule 162
++	INSTRUCTION	reduce by rule 162
++	VLIW	reduce by rule 162
++	SUPERSCALAR	reduce by rule 162
++	WITHTYPE	reduce by rule 162
++	FUN	reduce by rule 162
++	VAL	reduce by rule 162
++	INCLUDE	reduce by rule 162
++	OPEN	reduce by rule 162
++	LITTLE	reduce by rule 162
++	BIG	reduce by rule 162
++	PIPELINE	reduce by rule 162
++	LOWERCASE	reduce by rule 162
++	UPPERCASE	reduce by rule 162
++	VERBATIM	reduce by rule 162
++	RTL	reduce by rule 162
++	SPAN	reduce by rule 162
++	DELAYSLOT	reduce by rule 162
++	NONFIX	reduce by rule 162
++	INFIX	reduce by rule 162
++	INFIXR	reduce by rule 162
++	DEBUG	reduce by rule 162
++	DELAYSLOT_COLON	reduce by rule 162
++	NULLIFIED_COLON	reduce by rule 162
++	RESOURCE	reduce by rule 162
++	CPU	reduce by rule 162
++	LATENCY	reduce by rule 162
++	EXCEPTION	reduce by rule 162
++	EOF	reduce by rule 162
++
++
++	.	error
++
++
++state 707:
++
++	width : int .  (reduce by rule 219)
++	width : int . DOTDOT int 
++
++	EQ	reduce by rule 219
++	RBRACE	reduce by rule 219
++	COMMA	reduce by rule 219
++	DOTDOT	shift 717
++
++
++	.	error
++
++
++state 708:
++
++	field : fieldid COLON cnv signedness width . unsignedint_opt 
++
++	EQ	shift 719
++	RBRACE	reduce by rule 223
++	COMMA	reduce by rule 223
++
++	unsignedint_opt	goto 718
++
++	.	error
++
++
++state 709:
++
++	storagedecl : id EQ DOLLAR id LBRACKET cellcount RBRACKET bitSize aliasing . defaults printcell 
++
++	WHERE	shift 721
++	ASM_COLON	reduce by rule 404
++
++	defaults	goto 720
++
++	.	error
++
++
++state 710:
++
++	aliasing : ALIASING . id 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 722
++
++	.	error
++
++
++state 711:
++
++	bitSize : OF int . aggregable BITS 
++
++	BITS	reduce by rule 384
++	AGGREGABLE	shift 724
++
++	aggregable	goto 723
++
++	.	error
++
++error:  state 712: shift/reduce conflict (shift LATENCY, reduce by rule 146)
++
++state 712:
++
++	consbind : sym of_ty consassembly consencoding rtl nop nullified delayslot delayslotcandidate sdi . latency pipeline 
++
++	ARCHITECTURE	reduce by rule 146
++	END	reduce by rule 146
++	LOCAL	reduce by rule 146
++	IN	reduce by rule 146
++	DATATYPE	reduce by rule 146
++	TYPE	reduce by rule 146
++	AND	reduce by rule 146
++	RPAREN	reduce by rule 146
++	SEMICOLON	reduce by rule 146
++	STORAGE	reduce by rule 146
++	LOCATIONS	reduce by rule 146
++	BAR	reduce by rule 146
++	STRUCTURE	reduce by rule 146
++	FUNCTOR	reduce by rule 146
++	SIGNATURE	reduce by rule 146
++	SHARING	reduce by rule 146
++	INSTRUCTION	reduce by rule 146
++	VLIW	reduce by rule 146
++	SUPERSCALAR	reduce by rule 146
++	WITHTYPE	reduce by rule 146
++	FUN	reduce by rule 146
++	VAL	reduce by rule 146
++	INCLUDE	reduce by rule 146
++	OPEN	reduce by rule 146
++	LITTLE	reduce by rule 146
++	BIG	reduce by rule 146
++	PIPELINE	reduce by rule 146
++	LOWERCASE	reduce by rule 146
++	UPPERCASE	reduce by rule 146
++	VERBATIM	reduce by rule 146
++	RTL	reduce by rule 146
++	NONFIX	reduce by rule 146
++	INFIX	reduce by rule 146
++	INFIXR	reduce by rule 146
++	DEBUG	reduce by rule 146
++	RESOURCE	reduce by rule 146
++	CPU	reduce by rule 146
++	LATENCY	shift 726
++	EXCEPTION	reduce by rule 146
++	EOF	reduce by rule 146
++
++	latency	goto 725
++
++	.	error
++
++
++state 713:
++
++	sdi : SPAN . DEPENDENT exp 
++
++	DEPENDENT	shift 727
++
++
++	.	error
++
++
++state 714:
++
++	delayslotcandidate : DELAYSLOT CANDIDATE_COLON . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 728
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 715:
++
++	flag : id EQ False flagguard .  (reduce by rule 164)
++
++	ARCHITECTURE	reduce by rule 164
++	END	reduce by rule 164
++	LOCAL	reduce by rule 164
++	IN	reduce by rule 164
++	DATATYPE	reduce by rule 164
++	TYPE	reduce by rule 164
++	AND	reduce by rule 164
++	RPAREN	reduce by rule 164
++	SEMICOLON	reduce by rule 164
++	STORAGE	reduce by rule 164
++	LOCATIONS	reduce by rule 164
++	BAR	reduce by rule 164
++	STRUCTURE	reduce by rule 164
++	FUNCTOR	reduce by rule 164
++	SIGNATURE	reduce by rule 164
++	SHARING	reduce by rule 164
++	INSTRUCTION	reduce by rule 164
++	VLIW	reduce by rule 164
++	SUPERSCALAR	reduce by rule 164
++	WITHTYPE	reduce by rule 164
++	FUN	reduce by rule 164
++	VAL	reduce by rule 164
++	INCLUDE	reduce by rule 164
++	OPEN	reduce by rule 164
++	LITTLE	reduce by rule 164
++	BIG	reduce by rule 164
++	PIPELINE	reduce by rule 164
++	LOWERCASE	reduce by rule 164
++	UPPERCASE	reduce by rule 164
++	VERBATIM	reduce by rule 164
++	RTL	reduce by rule 164
++	SPAN	reduce by rule 164
++	DELAYSLOT	reduce by rule 164
++	NONFIX	reduce by rule 164
++	INFIX	reduce by rule 164
++	INFIXR	reduce by rule 164
++	DEBUG	reduce by rule 164
++	DELAYSLOT_COLON	reduce by rule 164
++	NULLIFIED_COLON	reduce by rule 164
++	RESOURCE	reduce by rule 164
++	CPU	reduce by rule 164
++	LATENCY	reduce by rule 164
++	EXCEPTION	reduce by rule 164
++	EOF	reduce by rule 164
++
++
++	.	error
++
++
++state 716:
++
++	flag : id EQ True flagguard .  (reduce by rule 163)
++
++	ARCHITECTURE	reduce by rule 163
++	END	reduce by rule 163
++	LOCAL	reduce by rule 163
++	IN	reduce by rule 163
++	DATATYPE	reduce by rule 163
++	TYPE	reduce by rule 163
++	AND	reduce by rule 163
++	RPAREN	reduce by rule 163
++	SEMICOLON	reduce by rule 163
++	STORAGE	reduce by rule 163
++	LOCATIONS	reduce by rule 163
++	BAR	reduce by rule 163
++	STRUCTURE	reduce by rule 163
++	FUNCTOR	reduce by rule 163
++	SIGNATURE	reduce by rule 163
++	SHARING	reduce by rule 163
++	INSTRUCTION	reduce by rule 163
++	VLIW	reduce by rule 163
++	SUPERSCALAR	reduce by rule 163
++	WITHTYPE	reduce by rule 163
++	FUN	reduce by rule 163
++	VAL	reduce by rule 163
++	INCLUDE	reduce by rule 163
++	OPEN	reduce by rule 163
++	LITTLE	reduce by rule 163
++	BIG	reduce by rule 163
++	PIPELINE	reduce by rule 163
++	LOWERCASE	reduce by rule 163
++	UPPERCASE	reduce by rule 163
++	VERBATIM	reduce by rule 163
++	RTL	reduce by rule 163
++	SPAN	reduce by rule 163
++	DELAYSLOT	reduce by rule 163
++	NONFIX	reduce by rule 163
++	INFIX	reduce by rule 163
++	INFIXR	reduce by rule 163
++	DEBUG	reduce by rule 163
++	DELAYSLOT_COLON	reduce by rule 163
++	NULLIFIED_COLON	reduce by rule 163
++	RESOURCE	reduce by rule 163
++	CPU	reduce by rule 163
++	LATENCY	reduce by rule 163
++	EXCEPTION	reduce by rule 163
++	EOF	reduce by rule 163
++
++
++	.	error
++
++
++state 717:
++
++	width : int DOTDOT . int 
++
++	INT	shift 64
++
++	int	goto 729
++
++	.	error
++
++
++state 718:
++
++	field : fieldid COLON cnv signedness width unsignedint_opt .  (reduce by rule 211)
++
++	RBRACE	reduce by rule 211
++	COMMA	reduce by rule 211
++
++
++	.	error
++
++
++state 719:
++
++	unsignedint_opt : EQ . unsignedint 
++
++	WORD	shift 94
++	INT	shift 64
++
++	word	goto 466
++	unsignedint	goto 730
++	int	goto 464
++
++	.	error
++
++
++state 720:
++
++	storagedecl : id EQ DOLLAR id LBRACKET cellcount RBRACKET bitSize aliasing defaults . printcell 
++
++	ASM_COLON	shift 732
++
++	printcell	goto 731
++
++	.	error
++
++
++state 721:
++
++	defaults : WHERE . default_list 
++
++	DOLLAR	shift 735
++
++	default	goto 734
++	default_list	goto 733
++
++	.	error
++
++
++state 722:
++
++	aliasing : ALIASING id .  (reduce by rule 401)
++
++	WHERE	reduce by rule 401
++	ASM_COLON	reduce by rule 401
++
++
++	.	error
++
++
++state 723:
++
++	bitSize : OF int aggregable . BITS 
++
++	BITS	shift 736
++
++
++	.	error
++
++
++state 724:
++
++	aggregable : AGGREGABLE .  (reduce by rule 385)
++
++	BITS	reduce by rule 385
++
++
++	.	error
++
++error:  state 725: shift/reduce conflict (shift PIPELINE, reduce by rule 148)
++
++state 725:
++
++	consbind : sym of_ty consassembly consencoding rtl nop nullified delayslot delayslotcandidate sdi latency . pipeline 
++
++	ARCHITECTURE	reduce by rule 148
++	END	reduce by rule 148
++	LOCAL	reduce by rule 148
++	IN	reduce by rule 148
++	DATATYPE	reduce by rule 148
++	TYPE	reduce by rule 148
++	AND	reduce by rule 148
++	RPAREN	reduce by rule 148
++	SEMICOLON	reduce by rule 148
++	STORAGE	reduce by rule 148
++	LOCATIONS	reduce by rule 148
++	BAR	reduce by rule 148
++	STRUCTURE	reduce by rule 148
++	FUNCTOR	reduce by rule 148
++	SIGNATURE	reduce by rule 148
++	SHARING	reduce by rule 148
++	INSTRUCTION	reduce by rule 148
++	VLIW	reduce by rule 148
++	SUPERSCALAR	reduce by rule 148
++	WITHTYPE	reduce by rule 148
++	FUN	reduce by rule 148
++	VAL	reduce by rule 148
++	INCLUDE	reduce by rule 148
++	OPEN	reduce by rule 148
++	LITTLE	reduce by rule 148
++	BIG	reduce by rule 148
++	PIPELINE	shift 738
++	LOWERCASE	reduce by rule 148
++	UPPERCASE	reduce by rule 148
++	VERBATIM	reduce by rule 148
++	RTL	reduce by rule 148
++	NONFIX	reduce by rule 148
++	INFIX	reduce by rule 148
++	INFIXR	reduce by rule 148
++	DEBUG	reduce by rule 148
++	RESOURCE	reduce by rule 148
++	CPU	reduce by rule 148
++	LATENCY	reduce by rule 148
++	EXCEPTION	reduce by rule 148
++	EOF	reduce by rule 148
++
++	pipeline	goto 737
++
++	.	error
++
++
++state 726:
++
++	latency : LATENCY . COLON exp 
++
++	COLON	shift 739
++
++
++	.	error
++
++
++state 727:
++
++	sdi : SPAN DEPENDENT . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 740
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 728:
++
++	exp : exp . HANDLE clauses 
++	delayslotcandidate : DELAYSLOT CANDIDATE_COLON exp .  (reduce by rule 150)
++
++	ARCHITECTURE	reduce by rule 150
++	END	reduce by rule 150
++	LOCAL	reduce by rule 150
++	IN	reduce by rule 150
++	DATATYPE	reduce by rule 150
++	TYPE	reduce by rule 150
++	AND	reduce by rule 150
++	RPAREN	reduce by rule 150
++	SEMICOLON	reduce by rule 150
++	STORAGE	reduce by rule 150
++	LOCATIONS	reduce by rule 150
++	BAR	reduce by rule 150
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 150
++	FUNCTOR	reduce by rule 150
++	SIGNATURE	reduce by rule 150
++	SHARING	reduce by rule 150
++	INSTRUCTION	reduce by rule 150
++	VLIW	reduce by rule 150
++	SUPERSCALAR	reduce by rule 150
++	WITHTYPE	reduce by rule 150
++	FUN	reduce by rule 150
++	VAL	reduce by rule 150
++	INCLUDE	reduce by rule 150
++	OPEN	reduce by rule 150
++	LITTLE	reduce by rule 150
++	BIG	reduce by rule 150
++	PIPELINE	reduce by rule 150
++	LOWERCASE	reduce by rule 150
++	UPPERCASE	reduce by rule 150
++	VERBATIM	reduce by rule 150
++	RTL	reduce by rule 150
++	SPAN	reduce by rule 150
++	NONFIX	reduce by rule 150
++	INFIX	reduce by rule 150
++	INFIXR	reduce by rule 150
++	DEBUG	reduce by rule 150
++	RESOURCE	reduce by rule 150
++	CPU	reduce by rule 150
++	LATENCY	reduce by rule 150
++	EXCEPTION	reduce by rule 150
++	EOF	reduce by rule 150
++
++
++	.	error
++
++
++state 729:
++
++	width : int DOTDOT int .  (reduce by rule 220)
++
++	EQ	reduce by rule 220
++	RBRACE	reduce by rule 220
++	COMMA	reduce by rule 220
++
++
++	.	error
++
++
++state 730:
++
++	unsignedint_opt : EQ unsignedint .  (reduce by rule 224)
++
++	RBRACE	reduce by rule 224
++	COMMA	reduce by rule 224
++
++
++	.	error
++
++
++state 731:
++
++	storagedecl : id EQ DOLLAR id LBRACKET cellcount RBRACKET bitSize aliasing defaults printcell .  (reduce by rule 383)
++
++	ARCHITECTURE	reduce by rule 383
++	END	reduce by rule 383
++	LOCAL	reduce by rule 383
++	IN	reduce by rule 383
++	DATATYPE	reduce by rule 383
++	TYPE	reduce by rule 383
++	RPAREN	reduce by rule 383
++	SEMICOLON	reduce by rule 383
++	STORAGE	reduce by rule 383
++	LOCATIONS	reduce by rule 383
++	BAR	reduce by rule 383
++	STRUCTURE	reduce by rule 383
++	FUNCTOR	reduce by rule 383
++	SIGNATURE	reduce by rule 383
++	SHARING	reduce by rule 383
++	INSTRUCTION	reduce by rule 383
++	VLIW	reduce by rule 383
++	SUPERSCALAR	reduce by rule 383
++	FUN	reduce by rule 383
++	VAL	reduce by rule 383
++	INCLUDE	reduce by rule 383
++	OPEN	reduce by rule 383
++	LITTLE	reduce by rule 383
++	BIG	reduce by rule 383
++	PIPELINE	reduce by rule 383
++	LOWERCASE	reduce by rule 383
++	UPPERCASE	reduce by rule 383
++	VERBATIM	reduce by rule 383
++	RTL	reduce by rule 383
++	NONFIX	reduce by rule 383
++	INFIX	reduce by rule 383
++	INFIXR	reduce by rule 383
++	DEBUG	reduce by rule 383
++	RESOURCE	reduce by rule 383
++	CPU	reduce by rule 383
++	LATENCY	reduce by rule 383
++	EXCEPTION	reduce by rule 383
++	EOF	reduce by rule 383
++
++
++	.	error
++
++
++state 732:
++
++	printcell : ASM_COLON . string 
++	printcell : ASM_COLON . LPAREN exp RPAREN 
++
++	LPAREN	shift 742
++	STRING	shift 91
++
++	string	goto 741
++
++	.	error
++
++
++state 733:
++
++	defaults : WHERE default_list .  (reduce by rule 405)
++
++	ASM_COLON	reduce by rule 405
++
++
++	.	error
++
++
++state 734:
++
++	default_list : default .  (reduce by rule 406)
++	default_list : default . AND default_list 
++
++	AND	shift 743
++	ASM_COLON	reduce by rule 406
++
++
++	.	error
++
++
++state 735:
++
++	default : DOLLAR . id LBRACKET int RBRACKET EQ exp 
++
++	CELLSET	shift 50
++	ID	shift 49
++	SYMBOL	shift 48
++
++	id	goto 744
++
++	.	error
++
++
++state 736:
++
++	bitSize : OF int aggregable BITS .  (reduce by rule 386)
++
++	WHERE	reduce by rule 386
++	ASM_COLON	reduce by rule 386
++	ALIASING	reduce by rule 386
++
++
++	.	error
++
++
++state 737:
++
++	consbind : sym of_ty consassembly consencoding rtl nop nullified delayslot delayslotcandidate sdi latency pipeline .  (reduce by rule 144)
++
++	ARCHITECTURE	reduce by rule 144
++	END	reduce by rule 144
++	LOCAL	reduce by rule 144
++	IN	reduce by rule 144
++	DATATYPE	reduce by rule 144
++	TYPE	reduce by rule 144
++	AND	reduce by rule 144
++	RPAREN	reduce by rule 144
++	SEMICOLON	reduce by rule 144
++	STORAGE	reduce by rule 144
++	LOCATIONS	reduce by rule 144
++	BAR	reduce by rule 144
++	STRUCTURE	reduce by rule 144
++	FUNCTOR	reduce by rule 144
++	SIGNATURE	reduce by rule 144
++	SHARING	reduce by rule 144
++	INSTRUCTION	reduce by rule 144
++	VLIW	reduce by rule 144
++	SUPERSCALAR	reduce by rule 144
++	WITHTYPE	reduce by rule 144
++	FUN	reduce by rule 144
++	VAL	reduce by rule 144
++	INCLUDE	reduce by rule 144
++	OPEN	reduce by rule 144
++	LITTLE	reduce by rule 144
++	BIG	reduce by rule 144
++	PIPELINE	reduce by rule 144
++	LOWERCASE	reduce by rule 144
++	UPPERCASE	reduce by rule 144
++	VERBATIM	reduce by rule 144
++	RTL	reduce by rule 144
++	NONFIX	reduce by rule 144
++	INFIX	reduce by rule 144
++	INFIXR	reduce by rule 144
++	DEBUG	reduce by rule 144
++	RESOURCE	reduce by rule 144
++	CPU	reduce by rule 144
++	LATENCY	reduce by rule 144
++	EXCEPTION	reduce by rule 144
++	EOF	reduce by rule 144
++
++
++	.	error
++
++
++state 738:
++
++	pipeline : PIPELINE . COLON exp 
++
++	COLON	shift 745
++
++
++	.	error
++
++
++state 739:
++
++	latency : LATENCY COLON . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 746
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 740:
++
++	exp : exp . HANDLE clauses 
++	sdi : SPAN DEPENDENT exp .  (reduce by rule 175)
++
++	ARCHITECTURE	reduce by rule 175
++	END	reduce by rule 175
++	LOCAL	reduce by rule 175
++	IN	reduce by rule 175
++	DATATYPE	reduce by rule 175
++	TYPE	reduce by rule 175
++	AND	reduce by rule 175
++	RPAREN	reduce by rule 175
++	SEMICOLON	reduce by rule 175
++	STORAGE	reduce by rule 175
++	LOCATIONS	reduce by rule 175
++	BAR	reduce by rule 175
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 175
++	FUNCTOR	reduce by rule 175
++	SIGNATURE	reduce by rule 175
++	SHARING	reduce by rule 175
++	INSTRUCTION	reduce by rule 175
++	VLIW	reduce by rule 175
++	SUPERSCALAR	reduce by rule 175
++	WITHTYPE	reduce by rule 175
++	FUN	reduce by rule 175
++	VAL	reduce by rule 175
++	INCLUDE	reduce by rule 175
++	OPEN	reduce by rule 175
++	LITTLE	reduce by rule 175
++	BIG	reduce by rule 175
++	PIPELINE	reduce by rule 175
++	LOWERCASE	reduce by rule 175
++	UPPERCASE	reduce by rule 175
++	VERBATIM	reduce by rule 175
++	RTL	reduce by rule 175
++	NONFIX	reduce by rule 175
++	INFIX	reduce by rule 175
++	INFIXR	reduce by rule 175
++	DEBUG	reduce by rule 175
++	RESOURCE	reduce by rule 175
++	CPU	reduce by rule 175
++	LATENCY	reduce by rule 175
++	EXCEPTION	reduce by rule 175
++	EOF	reduce by rule 175
++
++
++	.	error
++
++
++state 741:
++
++	printcell : ASM_COLON string .  (reduce by rule 402)
++
++	ARCHITECTURE	reduce by rule 402
++	END	reduce by rule 402
++	LOCAL	reduce by rule 402
++	IN	reduce by rule 402
++	DATATYPE	reduce by rule 402
++	TYPE	reduce by rule 402
++	RPAREN	reduce by rule 402
++	SEMICOLON	reduce by rule 402
++	STORAGE	reduce by rule 402
++	LOCATIONS	reduce by rule 402
++	BAR	reduce by rule 402
++	STRUCTURE	reduce by rule 402
++	FUNCTOR	reduce by rule 402
++	SIGNATURE	reduce by rule 402
++	SHARING	reduce by rule 402
++	INSTRUCTION	reduce by rule 402
++	VLIW	reduce by rule 402
++	SUPERSCALAR	reduce by rule 402
++	FUN	reduce by rule 402
++	VAL	reduce by rule 402
++	INCLUDE	reduce by rule 402
++	OPEN	reduce by rule 402
++	LITTLE	reduce by rule 402
++	BIG	reduce by rule 402
++	PIPELINE	reduce by rule 402
++	LOWERCASE	reduce by rule 402
++	UPPERCASE	reduce by rule 402
++	VERBATIM	reduce by rule 402
++	RTL	reduce by rule 402
++	NONFIX	reduce by rule 402
++	INFIX	reduce by rule 402
++	INFIXR	reduce by rule 402
++	DEBUG	reduce by rule 402
++	RESOURCE	reduce by rule 402
++	CPU	reduce by rule 402
++	LATENCY	reduce by rule 402
++	EXCEPTION	reduce by rule 402
++	EOF	reduce by rule 402
++
++
++	.	error
++
++
++state 742:
++
++	printcell : ASM_COLON LPAREN . exp RPAREN 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 747
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 743:
++
++	default_list : default AND . default_list 
++
++	DOLLAR	shift 735
++
++	default	goto 734
++	default_list	goto 748
++
++	.	error
++
++
++state 744:
++
++	default : DOLLAR id . LBRACKET int RBRACKET EQ exp 
++
++	LBRACKET	shift 749
++
++
++	.	error
++
++
++state 745:
++
++	pipeline : PIPELINE COLON . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 750
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 746:
++
++	exp : exp . HANDLE clauses 
++	latency : LATENCY COLON exp .  (reduce by rule 145)
++
++	ARCHITECTURE	reduce by rule 145
++	END	reduce by rule 145
++	LOCAL	reduce by rule 145
++	IN	reduce by rule 145
++	DATATYPE	reduce by rule 145
++	TYPE	reduce by rule 145
++	AND	reduce by rule 145
++	RPAREN	reduce by rule 145
++	SEMICOLON	reduce by rule 145
++	STORAGE	reduce by rule 145
++	LOCATIONS	reduce by rule 145
++	BAR	reduce by rule 145
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 145
++	FUNCTOR	reduce by rule 145
++	SIGNATURE	reduce by rule 145
++	SHARING	reduce by rule 145
++	INSTRUCTION	reduce by rule 145
++	VLIW	reduce by rule 145
++	SUPERSCALAR	reduce by rule 145
++	WITHTYPE	reduce by rule 145
++	FUN	reduce by rule 145
++	VAL	reduce by rule 145
++	INCLUDE	reduce by rule 145
++	OPEN	reduce by rule 145
++	LITTLE	reduce by rule 145
++	BIG	reduce by rule 145
++	PIPELINE	reduce by rule 145
++	LOWERCASE	reduce by rule 145
++	UPPERCASE	reduce by rule 145
++	VERBATIM	reduce by rule 145
++	RTL	reduce by rule 145
++	NONFIX	reduce by rule 145
++	INFIX	reduce by rule 145
++	INFIXR	reduce by rule 145
++	DEBUG	reduce by rule 145
++	RESOURCE	reduce by rule 145
++	CPU	reduce by rule 145
++	LATENCY	reduce by rule 145
++	EXCEPTION	reduce by rule 145
++	EOF	reduce by rule 145
++
++
++	.	error
++
++
++state 747:
++
++	exp : exp . HANDLE clauses 
++	printcell : ASM_COLON LPAREN exp . RPAREN 
++
++	RPAREN	shift 751
++	HANDLE	shift 402
++
++
++	.	error
++
++
++state 748:
++
++	default_list : default AND default_list .  (reduce by rule 407)
++
++	ASM_COLON	reduce by rule 407
++
++
++	.	error
++
++
++state 749:
++
++	default : DOLLAR id LBRACKET . int RBRACKET EQ exp 
++
++	INT	shift 64
++
++	int	goto 752
++
++	.	error
++
++
++state 750:
++
++	exp : exp . HANDLE clauses 
++	pipeline : PIPELINE COLON exp .  (reduce by rule 147)
++
++	ARCHITECTURE	reduce by rule 147
++	END	reduce by rule 147
++	LOCAL	reduce by rule 147
++	IN	reduce by rule 147
++	DATATYPE	reduce by rule 147
++	TYPE	reduce by rule 147
++	AND	reduce by rule 147
++	RPAREN	reduce by rule 147
++	SEMICOLON	reduce by rule 147
++	STORAGE	reduce by rule 147
++	LOCATIONS	reduce by rule 147
++	BAR	reduce by rule 147
++	HANDLE	shift 402
++	STRUCTURE	reduce by rule 147
++	FUNCTOR	reduce by rule 147
++	SIGNATURE	reduce by rule 147
++	SHARING	reduce by rule 147
++	INSTRUCTION	reduce by rule 147
++	VLIW	reduce by rule 147
++	SUPERSCALAR	reduce by rule 147
++	WITHTYPE	reduce by rule 147
++	FUN	reduce by rule 147
++	VAL	reduce by rule 147
++	INCLUDE	reduce by rule 147
++	OPEN	reduce by rule 147
++	LITTLE	reduce by rule 147
++	BIG	reduce by rule 147
++	PIPELINE	reduce by rule 147
++	LOWERCASE	reduce by rule 147
++	UPPERCASE	reduce by rule 147
++	VERBATIM	reduce by rule 147
++	RTL	reduce by rule 147
++	NONFIX	reduce by rule 147
++	INFIX	reduce by rule 147
++	INFIXR	reduce by rule 147
++	DEBUG	reduce by rule 147
++	RESOURCE	reduce by rule 147
++	CPU	reduce by rule 147
++	LATENCY	reduce by rule 147
++	EXCEPTION	reduce by rule 147
++	EOF	reduce by rule 147
++
++
++	.	error
++
++
++state 751:
++
++	printcell : ASM_COLON LPAREN exp RPAREN .  (reduce by rule 403)
++
++	ARCHITECTURE	reduce by rule 403
++	END	reduce by rule 403
++	LOCAL	reduce by rule 403
++	IN	reduce by rule 403
++	DATATYPE	reduce by rule 403
++	TYPE	reduce by rule 403
++	RPAREN	reduce by rule 403
++	SEMICOLON	reduce by rule 403
++	STORAGE	reduce by rule 403
++	LOCATIONS	reduce by rule 403
++	BAR	reduce by rule 403
++	STRUCTURE	reduce by rule 403
++	FUNCTOR	reduce by rule 403
++	SIGNATURE	reduce by rule 403
++	SHARING	reduce by rule 403
++	INSTRUCTION	reduce by rule 403
++	VLIW	reduce by rule 403
++	SUPERSCALAR	reduce by rule 403
++	FUN	reduce by rule 403
++	VAL	reduce by rule 403
++	INCLUDE	reduce by rule 403
++	OPEN	reduce by rule 403
++	LITTLE	reduce by rule 403
++	BIG	reduce by rule 403
++	PIPELINE	reduce by rule 403
++	LOWERCASE	reduce by rule 403
++	UPPERCASE	reduce by rule 403
++	VERBATIM	reduce by rule 403
++	RTL	reduce by rule 403
++	NONFIX	reduce by rule 403
++	INFIX	reduce by rule 403
++	INFIXR	reduce by rule 403
++	DEBUG	reduce by rule 403
++	RESOURCE	reduce by rule 403
++	CPU	reduce by rule 403
++	LATENCY	reduce by rule 403
++	EXCEPTION	reduce by rule 403
++	EOF	reduce by rule 403
++
++
++	.	error
++
++
++state 752:
++
++	default : DOLLAR id LBRACKET int . RBRACKET EQ exp 
++
++	RBRACKET	shift 753
++
++
++	.	error
++
++
++state 753:
++
++	default : DOLLAR id LBRACKET int RBRACKET . EQ exp 
++
++	EQ	shift 754
++
++
++	.	error
++
++
++state 754:
++
++	default : DOLLAR id LBRACKET int RBRACKET EQ . exp 
++
++	CASE	shift 301
++	EQ	shift 300
++	DOLLAR	shift 299
++	TIMES	shift 72
++	DEREF	shift 71
++	NOT	shift 70
++	LLBRACKET	shift 298
++	LHASHBRACKET	shift 297
++	LPAREN	shift 296
++	LBRACKET	shift 295
++	LBRACE	shift 294
++	LDQUOTE	shift 293
++	CELLSET	shift 50
++	FN	shift 292
++	HASH	shift 291
++	IF	shift 290
++	TRUE	shift 99
++	FALSE	shift 98
++	RAISE	shift 289
++	LET	shift 288
++	OP	shift 287
++	ALWAYS	shift 96
++	NEVER	shift 95
++	ID	shift 49
++	SYMBOL	shift 48
++	WORD	shift 94
++	INT	shift 64
++	INTINF	shift 93
++	REAL	shift 92
++	STRING	shift 91
++	CHAR	shift 90
++
++	id	goto 135
++	sym	goto 286
++	symb	goto 67
++	ident2	goto 285
++	path	goto 85
++	aexp	goto 284
++	aexp2	goto 283
++	appexp	goto 282
++	exp	goto 755
++	word	goto 82
++	int	goto 81
++	intinf	goto 80
++	real	goto 79
++	string	goto 78
++	char	goto 77
++	bool	goto 76
++	literal	goto 280
++	asm_strings	goto 279
++	True	goto 74
++	False	goto 73
++
++	.	error
++
++
++state 755:
++
++	exp : exp . HANDLE clauses 
++	default : DOLLAR id LBRACKET int RBRACKET EQ exp .  (reduce by rule 408)
++
++	AND	reduce by rule 408
++	HANDLE	shift 402
++	ASM_COLON	reduce by rule 408
++
++
++	.	error
++
++
++state 756:
++
++
++	EOF	accept
++
++
++	.	error
++
++16352 of 19587 action table entries left after compaction
++2182 goto table entries
+diff -Naur MLRISC/Tools/Parser/mdl.grm.sig MLRISC-mlton/Tools/Parser/mdl.grm.sig
+--- MLRISC/Tools/Parser/mdl.grm.sig	1969-12-31 19:00:00.000000000 -0500
++++ MLRISC-mlton/Tools/Parser/mdl.grm.sig	2004-10-26 12:11:55.000000000 -0400
+@@ -0,0 +1,146 @@
++signature MDL_TOKENS =
++sig
++type ('a,'b) token
++type svalue
++val EOF:  'a * 'a -> (svalue,'a) token
++val ASMTEXT: (string) *  'a * 'a -> (svalue,'a) token
++val CHAR: (char) *  'a * 'a -> (svalue,'a) token
++val STRING: (string) *  'a * 'a -> (svalue,'a) token
++val REAL: (string) *  'a * 'a -> (svalue,'a) token
++val INTINF: (IntInf.int) *  'a * 'a -> (svalue,'a) token
++val INT: (int) *  'a * 'a -> (svalue,'a) token
++val WORD: (Word32.word) *  'a * 'a -> (svalue,'a) token
++val TYVAR: (string) *  'a * 'a -> (svalue,'a) token
++val SYMBOL: (string) *  'a * 'a -> (svalue,'a) token
++val ID: (string) *  'a * 'a -> (svalue,'a) token
++val EXCEPTION:  'a * 'a -> (svalue,'a) token
++val EQUATION:  'a * 'a -> (svalue,'a) token
++val LATENCY:  'a * 'a -> (svalue,'a) token
++val TABLE:  'a * 'a -> (svalue,'a) token
++val RESERVATION:  'a * 'a -> (svalue,'a) token
++val CPU:  'a * 'a -> (svalue,'a) token
++val RESOURCE:  'a * 'a -> (svalue,'a) token
++val ALIASING:  'a * 'a -> (svalue,'a) token
++val AGGREGABLE:  'a * 'a -> (svalue,'a) token
++val CANDIDATE_COLON:  'a * 'a -> (svalue,'a) token
++val PADDING_COLON:  'a * 'a -> (svalue,'a) token
++val NULLIFIED_COLON:  'a * 'a -> (svalue,'a) token
++val DELAYSLOT_COLON:  'a * 'a -> (svalue,'a) token
++val RTL_COLON:  'a * 'a -> (svalue,'a) token
++val MC_COLON:  'a * 'a -> (svalue,'a) token
++val ASM_COLON:  'a * 'a -> (svalue,'a) token
++val DEBUG:  'a * 'a -> (svalue,'a) token
++val INFIXR:  'a * 'a -> (svalue,'a) token
++val INFIX:  'a * 'a -> (svalue,'a) token
++val NONFIX:  'a * 'a -> (svalue,'a) token
++val CANDIDATE:  'a * 'a -> (svalue,'a) token
++val BACKWARDS:  'a * 'a -> (svalue,'a) token
++val NEVER:  'a * 'a -> (svalue,'a) token
++val ALWAYS:  'a * 'a -> (svalue,'a) token
++val FORWARDS:  'a * 'a -> (svalue,'a) token
++val DELAYSLOT:  'a * 'a -> (svalue,'a) token
++val ASSIGN:  'a * 'a -> (svalue,'a) token
++val DEPENDENT:  'a * 'a -> (svalue,'a) token
++val SPAN:  'a * 'a -> (svalue,'a) token
++val RTL:  'a * 'a -> (svalue,'a) token
++val ASSEMBLY:  'a * 'a -> (svalue,'a) token
++val TAKEN:  'a * 'a -> (svalue,'a) token
++val BRANCHING:  'a * 'a -> (svalue,'a) token
++val WHEN:  'a * 'a -> (svalue,'a) token
++val VERBATIM:  'a * 'a -> (svalue,'a) token
++val UPPERCASE:  'a * 'a -> (svalue,'a) token
++val LOWERCASE:  'a * 'a -> (svalue,'a) token
++val PREDICATED:  'a * 'a -> (svalue,'a) token
++val PIPELINE:  'a * 'a -> (svalue,'a) token
++val ENDIAN:  'a * 'a -> (svalue,'a) token
++val BIG:  'a * 'a -> (svalue,'a) token
++val LITTLE:  'a * 'a -> (svalue,'a) token
++val OP:  'a * 'a -> (svalue,'a) token
++val OPEN:  'a * 'a -> (svalue,'a) token
++val INCLUDE:  'a * 'a -> (svalue,'a) token
++val VAL:  'a * 'a -> (svalue,'a) token
++val FUN:  'a * 'a -> (svalue,'a) token
++val WITHTYPE:  'a * 'a -> (svalue,'a) token
++val ENCODING:  'a * 'a -> (svalue,'a) token
++val AS:  'a * 'a -> (svalue,'a) token
++val FORMATS:  'a * 'a -> (svalue,'a) token
++val UNSIGNED:  'a * 'a -> (svalue,'a) token
++val SIGNED:  'a * 'a -> (svalue,'a) token
++val SUPERSCALAR:  'a * 'a -> (svalue,'a) token
++val VLIW:  'a * 'a -> (svalue,'a) token
++val FIELDS:  'a * 'a -> (svalue,'a) token
++val FIELD:  'a * 'a -> (svalue,'a) token
++val ORDERING:  'a * 'a -> (svalue,'a) token
++val CELLS:  'a * 'a -> (svalue,'a) token
++val CELL:  'a * 'a -> (svalue,'a) token
++val REGISTER:  'a * 'a -> (svalue,'a) token
++val INSTRUCTION:  'a * 'a -> (svalue,'a) token
++val SHARING:  'a * 'a -> (svalue,'a) token
++val WHERE:  'a * 'a -> (svalue,'a) token
++val STRUCT:  'a * 'a -> (svalue,'a) token
++val SIG:  'a * 'a -> (svalue,'a) token
++val SIGNATURE:  'a * 'a -> (svalue,'a) token
++val FUNCTOR:  'a * 'a -> (svalue,'a) token
++val STRUCTURE:  'a * 'a -> (svalue,'a) token
++val LET:  'a * 'a -> (svalue,'a) token
++val HANDLE:  'a * 'a -> (svalue,'a) token
++val RAISE:  'a * 'a -> (svalue,'a) token
++val WILD:  'a * 'a -> (svalue,'a) token
++val FALSE:  'a * 'a -> (svalue,'a) token
++val TRUE:  'a * 'a -> (svalue,'a) token
++val ELSE:  'a * 'a -> (svalue,'a) token
++val THEN:  'a * 'a -> (svalue,'a) token
++val IF:  'a * 'a -> (svalue,'a) token
++val BITS:  'a * 'a -> (svalue,'a) token
++val PAR:  'a * 'a -> (svalue,'a) token
++val DARROW:  'a * 'a -> (svalue,'a) token
++val ARROW:  'a * 'a -> (svalue,'a) token
++val BAR:  'a * 'a -> (svalue,'a) token
++val AT:  'a * 'a -> (svalue,'a) token
++val DOTDOT:  'a * 'a -> (svalue,'a) token
++val DOT:  'a * 'a -> (svalue,'a) token
++val COLONGREATER:  'a * 'a -> (svalue,'a) token
++val COLON:  'a * 'a -> (svalue,'a) token
++val COMMA:  'a * 'a -> (svalue,'a) token
++val HASH:  'a * 'a -> (svalue,'a) token
++val LOCATIONS:  'a * 'a -> (svalue,'a) token
++val STORAGE:  'a * 'a -> (svalue,'a) token
++val FN:  'a * 'a -> (svalue,'a) token
++val CELLSET:  'a * 'a -> (svalue,'a) token
++val RMETA:  'a * 'a -> (svalue,'a) token
++val LMETA:  'a * 'a -> (svalue,'a) token
++val RDQUOTE:  'a * 'a -> (svalue,'a) token
++val LDQUOTE:  'a * 'a -> (svalue,'a) token
++val SEMICOLON:  'a * 'a -> (svalue,'a) token
++val RBRACE:  'a * 'a -> (svalue,'a) token
++val LBRACE:  'a * 'a -> (svalue,'a) token
++val RBRACKET:  'a * 'a -> (svalue,'a) token
++val LBRACKET:  'a * 'a -> (svalue,'a) token
++val RPAREN:  'a * 'a -> (svalue,'a) token
++val LPAREN:  'a * 'a -> (svalue,'a) token
++val LHASHBRACKET:  'a * 'a -> (svalue,'a) token
++val RRBRACKET:  'a * 'a -> (svalue,'a) token
++val LLBRACKET:  'a * 'a -> (svalue,'a) token
++val CONCAT:  'a * 'a -> (svalue,'a) token
++val NOT:  'a * 'a -> (svalue,'a) token
++val DEREF:  'a * 'a -> (svalue,'a) token
++val AND:  'a * 'a -> (svalue,'a) token
++val TIMES:  'a * 'a -> (svalue,'a) token
++val DOLLAR:  'a * 'a -> (svalue,'a) token
++val EQ:  'a * 'a -> (svalue,'a) token
++val TYPE:  'a * 'a -> (svalue,'a) token
++val DATATYPE:  'a * 'a -> (svalue,'a) token
++val CASE:  'a * 'a -> (svalue,'a) token
++val OF:  'a * 'a -> (svalue,'a) token
++val IN:  'a * 'a -> (svalue,'a) token
++val LOCAL:  'a * 'a -> (svalue,'a) token
++val END:  'a * 'a -> (svalue,'a) token
++val ARCHITECTURE:  'a * 'a -> (svalue,'a) token
++end
++signature MDL_LRVALS=
++sig
++structure Tokens : MDL_TOKENS
++structure ParserData:PARSER_DATA
++sharing type ParserData.Token.token = Tokens.token
++sharing type ParserData.svalue = Tokens.svalue
++end
+diff -Naur MLRISC/Tools/Parser/mdl.grm.sml MLRISC-mlton/Tools/Parser/mdl.grm.sml
+--- MLRISC/Tools/Parser/mdl.grm.sml	1969-12-31 19:00:00.000000000 -0500
++++ MLRISC-mlton/Tools/Parser/mdl.grm.sml	2004-10-26 12:11:55.000000000 -0400
+@@ -0,0 +1,9258 @@
++
++functor MDLParser(structure Token   : TOKEN
++                           structure AstPP   : MDL_AST_PRETTY_PRINTER
++                          )
++         = 
++struct
++structure ParserData=
++struct
++structure Header = 
++struct
++(* There are 30 shift/reduce errors *)
++
++structure Ast  = AstPP.Ast
++structure Prec = PrecedenceParser 
++open Ast  
++
++val precStacks= ref [] : PrecedenceParser.precedence_stack list ref 
++fun newScope precStack = precStacks := !precStack :: !precStacks
++fun oldScope precStack = 
++    case !precStacks of
++      h::t => (precStacks := t; precStack := h)
++
++fun Infix precStack (p,[]) = ()
++  | Infix precStack (p,id::ids) = 
++      (precStack := Prec.declare(!precStack,id,Prec.INFIX p); 
++       Infix precStack (p,ids))
++    
++fun Infixr precStack (p,[]) = ()
++  | Infixr precStack (p,id::ids) = 
++      (precStack := Prec.declare(!precStack,id,Prec.INFIXR p); 
++       Infixr precStack (p,ids))
++
++fun Nonfix precStack ([]) = ()
++  | Nonfix precStack (id::ids) = 
++      (precStack := Prec.declare(!precStack,id,Prec.NONFIX); 
++       Nonfix precStack (ids))
++
++fun p2s p = PP.text(AstPP.pat p)
++fun e2s e = PP.text(AstPP.exp e)
++fun ps2s ps = PP.text(PP.concat(map AstPP.pat ps))
++
++fun BOOLexp b = LITexp(BOOLlit b)
++
++fun precErr err loc msg = err(loc,msg)
++
++fun parseExp precStack err loc toks =
++    Prec.parse{error=precErr err loc,app=APPexp,tuple=TUPLEexp,
++               id=fn id => IDexp(IDENT([],id)),stack= !precStack,
++               toString=e2s, kind="expression"} toks
++
++fun parsePat precStack err loc toks = 
++let fun appPat (IDpat id,p) = CONSpat(IDENT([],id),SOME p)
++      | appPat (CONSpat(id,NONE),p) = CONSpat(id,SOME p)
++      | appPat (p1,p2) = (err(loc,"pattern "^p2s p1^" "^p2s p2); p1)
++in  case Prec.parse{error=precErr err loc,app=appPat,tuple=TUPLEpat,
++               id=IDpat, stack= !precStack, kind="pattern",
++               toString=p2s} toks of
++      CONSpat(IDENT([],"not"),SOME p) => NOTpat p
++    | p => p     
++end
++
++fun parseFunPat precStack err loc toks = 
++let fun pr(SOME f,ps) = f^" "^ps2s ps
++      | pr(NONE, ps)  = ps2s ps
++    fun appPat ((f,ps), (NONE,ps')) = (f, ps@ps')
++      | appPat ((f,ps), (SOME g,ps')) = (f, ps@[IDpat g]@ps')
++      (*| appPat (p1,p2) = (err(loc,"fun pattern ("^pr p1^") "^pr p2); p1)*)
++    fun lower(NONE,[p]) = p
++      | lower(SOME f,[]) = IDpat f
++    fun tuple ps = (NONE,[TUPLEpat(map lower ps)])
++    fun id n = (SOME n,[])
++    fun toString(NONE,ps) = ps2s ps
++      | toString(SOME f,ps) = f^" "^ps2s ps
++in  Prec.parse{error=precErr err loc,
++               app=appPat,
++               tuple=tuple,
++               id=id, 
++               stack= !precStack,
++               kind="function argument",
++               toString=toString
++              } (map (fn Prec.EXP p => Prec.EXP(NONE,[p])
++                       | Prec.ID id => Prec.ID id
++                     ) toks)
++end
++
++
++fun markdecl srcMap (decl,left,right) = 
++     MARKdecl(SourceMapping.location srcMap (left,right), decl)
++fun markexp srcMap (exp,left,right) = 
++     MARKexp(SourceMapping.location srcMap (left,right), exp)
++
++exception Bad
++
++fun enumPat(err, loc, id, ps) = 
++    map (fn IDpat x => IDpat(id^x) 
++                  | p => (err(loc,"bad pattern "^PP.text(AstPP.pat p)); p)
++                ) ps
++fun enumPat'(err, loc, ps, id) = 
++    map (fn IDpat x => IDpat(x^id) 
++                  | p => (err(loc,"bad pattern "^PP.text(AstPP.pat p)); p)
++                ) ps
++ 
++fun enumExp(err, loc, id, es) = 
++    map (fn IDexp(IDENT([],x)) => IDexp(IDENT([],id^x))
++                  | e => (err(loc,"bad expression "^PP.text(AstPP.exp e)); e)
++                ) es
++fun enumExp'(err, loc, es, id) = 
++    map (fn IDexp(IDENT([],x)) => IDexp(IDENT([],x^id))
++                  | e => (err(loc,"bad expression "^PP.text(AstPP.exp e)); e)
++                ) es
++
++fun clause(pats, guard, exn, return_ty, e) = 
++    let val e = case exn of NONE => e | SOME x => CONTexp(e, x) 
++        val e = case return_ty of NONE => e | SOME ty => TYPEDexp(e,ty)
++    in  CLAUSE(pats, guard, e)
++    end
++
++fun seqdecl [d] = d
++  | seqdecl ds  = SEQdecl ds
++
++fun idty(IDENT([],"unit")) = TUPLEty []
++  | idty x = IDty x
++
++
++end
++structure LrTable = Token.LrTable
++structure Token = Token
++local open LrTable in 
++val table=let val actionRows =
++"\
++\\001\000\001\000\252\002\002\000\252\002\003\000\252\002\004\000\252\002\
++\\007\000\252\002\008\000\252\002\020\000\252\002\025\000\044\000\
++\\032\000\252\002\033\000\252\002\055\000\252\002\056\000\252\002\
++\\057\000\252\002\061\000\252\002\062\000\252\002\069\000\252\002\
++\\070\000\252\002\077\000\252\002\078\000\252\002\079\000\252\002\
++\\080\000\252\002\082\000\252\002\083\000\252\002\085\000\252\002\
++\\087\000\252\002\088\000\252\002\089\000\252\002\094\000\252\002\
++\\104\000\252\002\105\000\252\002\106\000\252\002\107\000\252\002\
++\\117\000\252\002\118\000\252\002\121\000\252\002\123\000\252\002\
++\\134\000\252\002\000\000\
++\\001\000\001\000\253\002\002\000\253\002\003\000\253\002\004\000\253\002\
++\\007\000\253\002\008\000\253\002\020\000\253\002\032\000\253\002\
++\\033\000\253\002\055\000\253\002\056\000\253\002\057\000\253\002\
++\\061\000\253\002\062\000\253\002\069\000\253\002\070\000\253\002\
++\\077\000\253\002\078\000\253\002\079\000\253\002\080\000\253\002\
++\\082\000\253\002\083\000\253\002\085\000\253\002\087\000\253\002\
++\\088\000\253\002\089\000\253\002\094\000\253\002\104\000\253\002\
++\\105\000\253\002\106\000\253\002\107\000\253\002\117\000\253\002\
++\\118\000\253\002\121\000\253\002\123\000\253\002\134\000\253\002\000\000\
++\\001\000\001\000\254\002\002\000\254\002\003\000\254\002\004\000\254\002\
++\\007\000\254\002\008\000\254\002\020\000\254\002\032\000\254\002\
++\\033\000\254\002\055\000\254\002\056\000\254\002\057\000\254\002\
++\\061\000\254\002\062\000\254\002\069\000\254\002\070\000\254\002\
++\\077\000\254\002\078\000\254\002\079\000\254\002\080\000\254\002\
++\\082\000\254\002\083\000\254\002\085\000\254\002\087\000\254\002\
++\\088\000\254\002\089\000\254\002\094\000\254\002\104\000\254\002\
++\\105\000\254\002\106\000\254\002\107\000\254\002\117\000\254\002\
++\\118\000\254\002\121\000\254\002\123\000\254\002\134\000\254\002\000\000\
++\\001\000\001\000\255\002\002\000\255\002\003\000\255\002\004\000\255\002\
++\\007\000\255\002\008\000\255\002\020\000\255\002\032\000\255\002\
++\\033\000\255\002\055\000\255\002\056\000\255\002\057\000\255\002\
++\\061\000\255\002\062\000\255\002\069\000\255\002\070\000\255\002\
++\\077\000\255\002\078\000\255\002\079\000\255\002\080\000\255\002\
++\\082\000\255\002\083\000\255\002\085\000\255\002\087\000\255\002\
++\\088\000\255\002\089\000\255\002\094\000\255\002\104\000\255\002\
++\\105\000\255\002\106\000\255\002\107\000\255\002\117\000\255\002\
++\\118\000\255\002\121\000\255\002\123\000\255\002\134\000\255\002\000\000\
++\\001\000\001\000\000\003\002\000\000\003\003\000\000\003\004\000\000\003\
++\\007\000\000\003\008\000\000\003\020\000\000\003\032\000\000\003\
++\\033\000\000\003\055\000\000\003\056\000\000\003\057\000\000\003\
++\\061\000\000\003\062\000\000\003\069\000\000\003\070\000\000\003\
++\\077\000\000\003\078\000\000\003\079\000\000\003\080\000\000\003\
++\\082\000\000\003\083\000\000\003\085\000\000\003\087\000\000\003\
++\\088\000\000\003\089\000\000\003\094\000\000\003\104\000\000\003\
++\\105\000\000\003\106\000\000\003\107\000\000\003\117\000\000\003\
++\\118\000\000\003\121\000\000\003\123\000\000\003\134\000\000\003\000\000\
++\\001\000\001\000\001\003\002\000\001\003\003\000\001\003\004\000\001\003\
++\\007\000\001\003\008\000\001\003\020\000\001\003\025\000\001\003\
++\\032\000\001\003\033\000\001\003\055\000\001\003\056\000\001\003\
++\\057\000\001\003\061\000\001\003\062\000\001\003\069\000\001\003\
++\\070\000\001\003\077\000\001\003\078\000\001\003\079\000\001\003\
++\\080\000\001\003\082\000\001\003\083\000\001\003\085\000\001\003\
++\\087\000\001\003\088\000\001\003\089\000\001\003\094\000\001\003\
++\\104\000\001\003\105\000\001\003\106\000\001\003\107\000\001\003\
++\\117\000\001\003\118\000\001\003\121\000\001\003\123\000\001\003\
++\\134\000\001\003\000\000\
++\\001\000\001\000\002\003\002\000\002\003\003\000\002\003\004\000\002\003\
++\\007\000\002\003\008\000\002\003\020\000\002\003\025\000\002\003\
++\\032\000\002\003\033\000\002\003\055\000\002\003\056\000\002\003\
++\\057\000\002\003\061\000\002\003\062\000\002\003\069\000\002\003\
++\\070\000\002\003\077\000\002\003\078\000\002\003\079\000\002\003\
++\\080\000\002\003\082\000\002\003\083\000\002\003\085\000\002\003\
++\\087\000\002\003\088\000\002\003\089\000\002\003\094\000\002\003\
++\\104\000\002\003\105\000\002\003\106\000\002\003\107\000\002\003\
++\\117\000\002\003\118\000\002\003\121\000\002\003\123\000\002\003\
++\\134\000\002\003\000\000\
++\\001\000\001\000\003\003\002\000\003\003\003\000\003\003\004\000\003\003\
++\\007\000\003\003\008\000\003\003\020\000\003\003\025\000\003\003\
++\\032\000\003\003\033\000\003\003\055\000\003\003\056\000\003\003\
++\\057\000\003\003\061\000\003\003\062\000\003\003\069\000\003\003\
++\\070\000\003\003\077\000\003\003\078\000\003\003\079\000\003\003\
++\\080\000\003\003\082\000\003\003\083\000\003\003\085\000\003\003\
++\\087\000\003\003\088\000\003\003\089\000\003\003\094\000\003\003\
++\\104\000\003\003\105\000\003\003\106\000\003\003\107\000\003\003\
++\\117\000\003\003\118\000\003\003\121\000\003\003\123\000\003\003\
++\\134\000\003\003\000\000\
++\\001\000\001\000\004\003\002\000\004\003\003\000\004\003\004\000\004\003\
++\\007\000\004\003\008\000\004\003\020\000\004\003\025\000\004\003\
++\\032\000\004\003\033\000\004\003\055\000\004\003\056\000\004\003\
++\\057\000\004\003\061\000\004\003\062\000\004\003\069\000\004\003\
++\\070\000\004\003\077\000\004\003\078\000\004\003\079\000\004\003\
++\\080\000\004\003\082\000\004\003\083\000\004\003\085\000\004\003\
++\\087\000\004\003\088\000\004\003\089\000\004\003\094\000\004\003\
++\\104\000\004\003\105\000\004\003\106\000\004\003\107\000\004\003\
++\\117\000\004\003\118\000\004\003\121\000\004\003\123\000\004\003\
++\\134\000\004\003\000\000\
++\\001\000\001\000\005\003\002\000\005\003\003\000\005\003\004\000\005\003\
++\\007\000\005\003\008\000\005\003\020\000\005\003\025\000\005\003\
++\\032\000\005\003\033\000\005\003\055\000\005\003\056\000\005\003\
++\\057\000\005\003\061\000\005\003\062\000\005\003\069\000\005\003\
++\\070\000\005\003\077\000\005\003\078\000\005\003\079\000\005\003\
++\\080\000\005\003\082\000\005\003\083\000\005\003\085\000\005\003\
++\\087\000\005\003\088\000\005\003\089\000\005\003\094\000\005\003\
++\\104\000\005\003\105\000\005\003\106\000\005\003\107\000\005\003\
++\\117\000\005\003\118\000\005\003\121\000\005\003\123\000\005\003\
++\\134\000\005\003\000\000\
++\\001\000\001\000\006\003\002\000\006\003\003\000\006\003\004\000\006\003\
++\\007\000\006\003\008\000\006\003\020\000\006\003\025\000\006\003\
++\\032\000\006\003\033\000\006\003\055\000\006\003\056\000\006\003\
++\\057\000\006\003\061\000\006\003\062\000\006\003\069\000\006\003\
++\\070\000\006\003\077\000\006\003\078\000\006\003\079\000\006\003\
++\\080\000\006\003\082\000\006\003\083\000\006\003\085\000\006\003\
++\\087\000\006\003\088\000\006\003\089\000\006\003\094\000\006\003\
++\\104\000\006\003\105\000\006\003\106\000\006\003\107\000\006\003\
++\\117\000\006\003\118\000\006\003\121\000\006\003\123\000\006\003\
++\\134\000\006\003\000\000\
++\\001\000\001\000\007\003\002\000\007\003\003\000\007\003\004\000\007\003\
++\\007\000\007\003\008\000\007\003\020\000\007\003\025\000\007\003\
++\\032\000\007\003\033\000\007\003\055\000\007\003\056\000\007\003\
++\\057\000\007\003\061\000\007\003\062\000\007\003\069\000\007\003\
++\\070\000\007\003\077\000\007\003\078\000\007\003\079\000\007\003\
++\\080\000\007\003\082\000\007\003\083\000\007\003\085\000\007\003\
++\\087\000\007\003\088\000\007\003\089\000\007\003\094\000\007\003\
++\\104\000\007\003\105\000\007\003\106\000\007\003\107\000\007\003\
++\\117\000\007\003\118\000\007\003\121\000\007\003\123\000\007\003\
++\\134\000\007\003\000\000\
++\\001\000\001\000\008\003\002\000\008\003\003\000\008\003\004\000\008\003\
++\\007\000\008\003\008\000\008\003\020\000\008\003\025\000\008\003\
++\\032\000\008\003\033\000\008\003\055\000\008\003\056\000\008\003\
++\\057\000\008\003\061\000\008\003\062\000\008\003\069\000\008\003\
++\\070\000\008\003\077\000\008\003\078\000\008\003\079\000\008\003\
++\\080\000\008\003\082\000\008\003\083\000\008\003\085\000\008\003\
++\\087\000\008\003\088\000\008\003\089\000\008\003\094\000\008\003\
++\\104\000\008\003\105\000\008\003\106\000\008\003\107\000\008\003\
++\\117\000\008\003\118\000\008\003\121\000\008\003\123\000\008\003\
++\\134\000\008\003\000\000\
++\\001\000\001\000\009\003\002\000\009\003\003\000\009\003\004\000\009\003\
++\\007\000\009\003\008\000\009\003\020\000\009\003\025\000\009\003\
++\\032\000\009\003\033\000\009\003\055\000\009\003\056\000\009\003\
++\\057\000\009\003\061\000\009\003\062\000\009\003\069\000\009\003\
++\\070\000\009\003\077\000\009\003\078\000\009\003\079\000\009\003\
++\\080\000\009\003\082\000\009\003\083\000\009\003\085\000\009\003\
++\\087\000\009\003\088\000\009\003\089\000\009\003\094\000\009\003\
++\\104\000\009\003\105\000\009\003\106\000\009\003\107\000\009\003\
++\\117\000\009\003\118\000\009\003\121\000\009\003\123\000\009\003\
++\\134\000\009\003\000\000\
++\\001\000\001\000\010\003\002\000\010\003\003\000\010\003\004\000\010\003\
++\\007\000\010\003\008\000\010\003\020\000\010\003\025\000\010\003\
++\\032\000\010\003\033\000\010\003\055\000\010\003\056\000\010\003\
++\\057\000\010\003\061\000\010\003\062\000\010\003\069\000\010\003\
++\\070\000\010\003\077\000\010\003\078\000\010\003\079\000\010\003\
++\\080\000\010\003\082\000\010\003\083\000\010\003\085\000\010\003\
++\\087\000\010\003\088\000\010\003\089\000\010\003\094\000\010\003\
++\\104\000\010\003\105\000\010\003\106\000\010\003\107\000\010\003\
++\\117\000\010\003\118\000\010\003\121\000\010\003\123\000\010\003\
++\\134\000\010\003\000\000\
++\\001\000\001\000\011\003\002\000\011\003\003\000\011\003\004\000\011\003\
++\\007\000\011\003\008\000\011\003\020\000\011\003\025\000\011\003\
++\\032\000\011\003\033\000\011\003\055\000\011\003\056\000\011\003\
++\\057\000\011\003\061\000\011\003\062\000\011\003\069\000\011\003\
++\\070\000\011\003\077\000\011\003\078\000\011\003\079\000\011\003\
++\\080\000\011\003\082\000\011\003\083\000\011\003\085\000\011\003\
++\\087\000\011\003\088\000\011\003\089\000\011\003\094\000\011\003\
++\\104\000\011\003\105\000\011\003\106\000\011\003\107\000\011\003\
++\\117\000\011\003\118\000\011\003\121\000\011\003\123\000\011\003\
++\\134\000\011\003\000\000\
++\\001\000\001\000\012\003\002\000\012\003\003\000\012\003\004\000\012\003\
++\\007\000\012\003\008\000\012\003\020\000\012\003\025\000\012\003\
++\\032\000\012\003\033\000\012\003\055\000\012\003\056\000\012\003\
++\\057\000\012\003\061\000\012\003\062\000\012\003\069\000\012\003\
++\\070\000\012\003\077\000\012\003\078\000\012\003\079\000\012\003\
++\\080\000\012\003\082\000\012\003\083\000\012\003\085\000\012\003\
++\\087\000\012\003\088\000\012\003\089\000\012\003\094\000\012\003\
++\\104\000\012\003\105\000\012\003\106\000\012\003\107\000\012\003\
++\\117\000\012\003\118\000\012\003\121\000\012\003\123\000\012\003\
++\\134\000\012\003\000\000\
++\\001\000\001\000\013\003\002\000\013\003\003\000\013\003\004\000\013\003\
++\\007\000\013\003\008\000\013\003\020\000\013\003\025\000\013\003\
++\\032\000\013\003\033\000\013\003\055\000\013\003\056\000\013\003\
++\\057\000\013\003\061\000\013\003\062\000\013\003\069\000\013\003\
++\\070\000\013\003\077\000\013\003\078\000\013\003\079\000\013\003\
++\\080\000\013\003\082\000\013\003\083\000\013\003\085\000\013\003\
++\\087\000\013\003\088\000\013\003\089\000\013\003\094\000\013\003\
++\\104\000\013\003\105\000\013\003\106\000\013\003\107\000\013\003\
++\\117\000\013\003\118\000\013\003\121\000\013\003\123\000\013\003\
++\\134\000\013\003\000\000\
++\\001\000\001\000\014\003\002\000\014\003\003\000\014\003\004\000\014\003\
++\\007\000\014\003\008\000\014\003\020\000\014\003\025\000\014\003\
++\\032\000\014\003\033\000\014\003\055\000\014\003\056\000\014\003\
++\\057\000\014\003\061\000\014\003\062\000\014\003\069\000\014\003\
++\\070\000\014\003\077\000\014\003\078\000\014\003\079\000\014\003\
++\\080\000\014\003\082\000\014\003\083\000\014\003\085\000\014\003\
++\\087\000\014\003\088\000\014\003\089\000\014\003\094\000\014\003\
++\\104\000\014\003\105\000\014\003\106\000\014\003\107\000\014\003\
++\\117\000\014\003\118\000\014\003\121\000\014\003\123\000\014\003\
++\\134\000\014\003\000\000\
++\\001\000\001\000\015\003\002\000\015\003\003\000\015\003\004\000\015\003\
++\\007\000\015\003\008\000\015\003\020\000\015\003\025\000\015\003\
++\\032\000\015\003\033\000\015\003\055\000\015\003\056\000\015\003\
++\\057\000\015\003\061\000\015\003\062\000\015\003\069\000\015\003\
++\\070\000\015\003\077\000\015\003\078\000\015\003\079\000\015\003\
++\\080\000\015\003\082\000\015\003\083\000\015\003\085\000\015\003\
++\\087\000\015\003\088\000\015\003\089\000\015\003\094\000\015\003\
++\\104\000\015\003\105\000\015\003\106\000\015\003\107\000\015\003\
++\\117\000\015\003\118\000\015\003\121\000\015\003\123\000\015\003\
++\\134\000\015\003\000\000\
++\\001\000\001\000\016\003\002\000\016\003\003\000\016\003\004\000\016\003\
++\\007\000\016\003\008\000\016\003\020\000\016\003\025\000\016\003\
++\\032\000\016\003\033\000\016\003\055\000\016\003\056\000\016\003\
++\\057\000\016\003\061\000\016\003\062\000\016\003\069\000\016\003\
++\\070\000\016\003\077\000\016\003\078\000\016\003\079\000\016\003\
++\\080\000\016\003\082\000\016\003\083\000\016\003\085\000\016\003\
++\\087\000\016\003\088\000\016\003\089\000\016\003\094\000\016\003\
++\\104\000\016\003\105\000\016\003\106\000\016\003\107\000\016\003\
++\\117\000\016\003\118\000\016\003\121\000\016\003\123\000\016\003\
++\\134\000\016\003\000\000\
++\\001\000\001\000\017\003\002\000\017\003\003\000\017\003\004\000\017\003\
++\\007\000\017\003\008\000\017\003\020\000\017\003\025\000\017\003\
++\\032\000\017\003\033\000\017\003\055\000\017\003\056\000\017\003\
++\\057\000\017\003\061\000\017\003\062\000\017\003\069\000\017\003\
++\\070\000\017\003\077\000\017\003\078\000\017\003\079\000\017\003\
++\\080\000\017\003\082\000\017\003\083\000\017\003\085\000\017\003\
++\\087\000\017\003\088\000\017\003\089\000\017\003\094\000\017\003\
++\\104\000\017\003\105\000\017\003\106\000\017\003\107\000\017\003\
++\\117\000\017\003\118\000\017\003\121\000\017\003\123\000\017\003\
++\\134\000\017\003\000\000\
++\\001\000\001\000\018\003\002\000\018\003\003\000\018\003\004\000\018\003\
++\\007\000\018\003\008\000\018\003\020\000\018\003\025\000\018\003\
++\\032\000\018\003\033\000\018\003\055\000\018\003\056\000\018\003\
++\\057\000\018\003\061\000\018\003\062\000\018\003\069\000\018\003\
++\\070\000\018\003\077\000\018\003\078\000\018\003\079\000\018\003\
++\\080\000\018\003\082\000\018\003\083\000\018\003\085\000\018\003\
++\\087\000\018\003\088\000\018\003\089\000\018\003\094\000\018\003\
++\\104\000\018\003\105\000\018\003\106\000\018\003\107\000\018\003\
++\\117\000\018\003\118\000\018\003\121\000\018\003\123\000\018\003\
++\\134\000\018\003\000\000\
++\\001\000\001\000\019\003\002\000\019\003\003\000\019\003\004\000\019\003\
++\\007\000\019\003\008\000\019\003\012\000\179\000\020\000\019\003\
++\\025\000\019\003\032\000\019\003\033\000\019\003\055\000\019\003\
++\\056\000\019\003\057\000\019\003\061\000\019\003\062\000\019\003\
++\\069\000\019\003\070\000\019\003\077\000\019\003\078\000\019\003\
++\\079\000\019\003\080\000\019\003\082\000\019\003\083\000\019\003\
++\\085\000\019\003\087\000\019\003\088\000\019\003\089\000\019\003\
++\\094\000\019\003\104\000\019\003\105\000\019\003\106\000\019\003\
++\\107\000\019\003\117\000\019\003\118\000\019\003\121\000\019\003\
++\\123\000\019\003\134\000\019\003\000\000\
++\\001\000\001\000\020\003\002\000\020\003\003\000\020\003\004\000\020\003\
++\\007\000\020\003\008\000\020\003\020\000\020\003\025\000\020\003\
++\\032\000\020\003\033\000\020\003\055\000\020\003\056\000\020\003\
++\\057\000\020\003\061\000\020\003\062\000\020\003\069\000\020\003\
++\\070\000\020\003\077\000\020\003\078\000\020\003\079\000\020\003\
++\\080\000\020\003\082\000\020\003\083\000\020\003\085\000\020\003\
++\\087\000\020\003\088\000\020\003\089\000\020\003\094\000\020\003\
++\\104\000\020\003\105\000\020\003\106\000\020\003\107\000\020\003\
++\\117\000\020\003\118\000\020\003\121\000\020\003\123\000\020\003\
++\\134\000\020\003\000\000\
++\\001\000\001\000\021\003\002\000\021\003\003\000\021\003\004\000\021\003\
++\\007\000\021\003\008\000\021\003\012\000\176\000\020\000\021\003\
++\\025\000\021\003\032\000\021\003\033\000\021\003\055\000\021\003\
++\\056\000\021\003\057\000\021\003\061\000\021\003\062\000\021\003\
++\\069\000\021\003\070\000\021\003\077\000\021\003\078\000\021\003\
++\\079\000\021\003\080\000\021\003\082\000\021\003\083\000\021\003\
++\\085\000\021\003\087\000\021\003\088\000\021\003\089\000\021\003\
++\\094\000\021\003\104\000\021\003\105\000\021\003\106\000\021\003\
++\\107\000\021\003\117\000\021\003\118\000\021\003\121\000\021\003\
++\\123\000\021\003\134\000\021\003\000\000\
++\\001\000\001\000\022\003\002\000\022\003\003\000\022\003\004\000\022\003\
++\\007\000\022\003\008\000\022\003\020\000\022\003\025\000\022\003\
++\\032\000\022\003\033\000\022\003\055\000\022\003\056\000\022\003\
++\\057\000\022\003\061\000\022\003\062\000\022\003\069\000\022\003\
++\\070\000\022\003\077\000\022\003\078\000\022\003\079\000\022\003\
++\\080\000\022\003\082\000\022\003\083\000\022\003\085\000\022\003\
++\\087\000\022\003\088\000\022\003\089\000\022\003\094\000\022\003\
++\\104\000\022\003\105\000\022\003\106\000\022\003\107\000\022\003\
++\\117\000\022\003\118\000\022\003\121\000\022\003\123\000\022\003\
++\\134\000\022\003\000\000\
++\\001\000\001\000\023\003\002\000\023\003\003\000\023\003\004\000\023\003\
++\\007\000\023\003\008\000\023\003\012\000\023\003\020\000\023\003\
++\\025\000\023\003\032\000\023\003\033\000\023\003\055\000\023\003\
++\\056\000\023\003\057\000\023\003\061\000\023\003\062\000\023\003\
++\\069\000\023\003\070\000\023\003\077\000\023\003\078\000\023\003\
++\\079\000\023\003\080\000\023\003\082\000\023\003\083\000\023\003\
++\\085\000\023\003\087\000\023\003\088\000\023\003\089\000\023\003\
++\\094\000\023\003\104\000\023\003\105\000\023\003\106\000\023\003\
++\\107\000\023\003\117\000\023\003\118\000\023\003\121\000\023\003\
++\\123\000\023\003\134\000\023\003\000\000\
++\\001\000\001\000\030\003\002\000\030\003\003\000\030\003\004\000\030\003\
++\\007\000\030\003\008\000\030\003\012\000\205\000\020\000\030\003\
++\\025\000\030\003\032\000\030\003\033\000\030\003\055\000\030\003\
++\\056\000\030\003\057\000\030\003\061\000\030\003\062\000\030\003\
++\\069\000\030\003\070\000\030\003\077\000\030\003\078\000\030\003\
++\\079\000\030\003\080\000\030\003\082\000\030\003\083\000\030\003\
++\\085\000\030\003\087\000\030\003\088\000\030\003\089\000\030\003\
++\\094\000\030\003\104\000\030\003\105\000\030\003\106\000\030\003\
++\\107\000\030\003\117\000\030\003\118\000\030\003\121\000\030\003\
++\\123\000\030\003\134\000\030\003\000\000\
++\\001\000\001\000\031\003\002\000\031\003\003\000\031\003\004\000\031\003\
++\\007\000\031\003\008\000\031\003\020\000\031\003\025\000\031\003\
++\\032\000\031\003\033\000\031\003\055\000\031\003\056\000\031\003\
++\\057\000\031\003\061\000\031\003\062\000\031\003\069\000\031\003\
++\\070\000\031\003\077\000\031\003\078\000\031\003\079\000\031\003\
++\\080\000\031\003\082\000\031\003\083\000\031\003\085\000\031\003\
++\\087\000\031\003\088\000\031\003\089\000\031\003\094\000\031\003\
++\\104\000\031\003\105\000\031\003\106\000\031\003\107\000\031\003\
++\\117\000\031\003\118\000\031\003\121\000\031\003\123\000\031\003\
++\\134\000\031\003\000\000\
++\\001\000\001\000\032\003\002\000\032\003\003\000\032\003\004\000\032\003\
++\\007\000\032\003\008\000\032\003\012\000\032\003\020\000\032\003\
++\\025\000\032\003\032\000\032\003\033\000\032\003\055\000\032\003\
++\\056\000\032\003\057\000\032\003\061\000\032\003\062\000\032\003\
++\\069\000\032\003\070\000\032\003\077\000\032\003\078\000\032\003\
++\\079\000\032\003\080\000\032\003\082\000\032\003\083\000\032\003\
++\\085\000\032\003\087\000\032\003\088\000\032\003\089\000\032\003\
++\\094\000\032\003\104\000\032\003\105\000\032\003\106\000\032\003\
++\\107\000\032\003\117\000\032\003\118\000\032\003\121\000\032\003\
++\\123\000\032\003\134\000\032\003\000\000\
++\\001\000\001\000\033\003\002\000\033\003\003\000\033\003\004\000\033\003\
++\\007\000\033\003\008\000\033\003\012\000\033\003\020\000\033\003\
++\\025\000\033\003\032\000\033\003\033\000\033\003\041\000\204\000\
++\\055\000\033\003\056\000\033\003\057\000\033\003\061\000\033\003\
++\\062\000\033\003\069\000\033\003\070\000\033\003\077\000\033\003\
++\\078\000\033\003\079\000\033\003\080\000\033\003\082\000\033\003\
++\\083\000\033\003\085\000\033\003\087\000\033\003\088\000\033\003\
++\\089\000\033\003\094\000\033\003\104\000\033\003\105\000\033\003\
++\\106\000\033\003\107\000\033\003\117\000\033\003\118\000\033\003\
++\\121\000\033\003\123\000\033\003\134\000\033\003\000\000\
++\\001\000\001\000\034\003\002\000\034\003\003\000\034\003\004\000\034\003\
++\\007\000\034\003\008\000\034\003\012\000\034\003\020\000\034\003\
++\\025\000\034\003\032\000\034\003\033\000\034\003\055\000\034\003\
++\\056\000\034\003\057\000\034\003\061\000\034\003\062\000\034\003\
++\\069\000\034\003\070\000\034\003\077\000\034\003\078\000\034\003\
++\\079\000\034\003\080\000\034\003\082\000\034\003\083\000\034\003\
++\\085\000\034\003\087\000\034\003\088\000\034\003\089\000\034\003\
++\\094\000\034\003\104\000\034\003\105\000\034\003\106\000\034\003\
++\\107\000\034\003\117\000\034\003\118\000\034\003\121\000\034\003\
++\\123\000\034\003\134\000\034\003\000\000\
++\\001\000\001\000\035\003\002\000\035\003\003\000\035\003\004\000\035\003\
++\\007\000\035\003\008\000\035\003\012\000\035\003\020\000\035\003\
++\\025\000\035\003\032\000\035\003\033\000\035\003\041\000\035\003\
++\\055\000\035\003\056\000\035\003\057\000\035\003\061\000\035\003\
++\\062\000\035\003\069\000\035\003\070\000\035\003\077\000\035\003\
++\\078\000\035\003\079\000\035\003\080\000\035\003\082\000\035\003\
++\\083\000\035\003\085\000\035\003\087\000\035\003\088\000\035\003\
++\\089\000\035\003\094\000\035\003\104\000\035\003\105\000\035\003\
++\\106\000\035\003\107\000\035\003\117\000\035\003\118\000\035\003\
++\\121\000\035\003\123\000\035\003\134\000\035\003\000\000\
++\\001\000\001\000\044\003\002\000\044\003\003\000\044\003\004\000\044\003\
++\\007\000\044\003\008\000\044\003\012\000\174\000\020\000\044\003\
++\\025\000\044\003\032\000\044\003\033\000\044\003\055\000\044\003\
++\\056\000\044\003\057\000\044\003\061\000\044\003\062\000\044\003\
++\\069\000\044\003\070\000\044\003\077\000\044\003\078\000\044\003\
++\\079\000\044\003\080\000\044\003\082\000\044\003\083\000\044\003\
++\\085\000\044\003\087\000\044\003\088\000\044\003\089\000\044\003\
++\\094\000\044\003\104\000\044\003\105\000\044\003\106\000\044\003\
++\\107\000\044\003\117\000\044\003\118\000\044\003\121\000\044\003\
++\\123\000\044\003\134\000\044\003\000\000\
++\\001\000\001\000\045\003\002\000\045\003\003\000\045\003\004\000\045\003\
++\\007\000\045\003\008\000\045\003\020\000\045\003\025\000\045\003\
++\\032\000\045\003\033\000\045\003\055\000\045\003\056\000\045\003\
++\\057\000\045\003\061\000\045\003\062\000\045\003\069\000\045\003\
++\\070\000\045\003\077\000\045\003\078\000\045\003\079\000\045\003\
++\\080\000\045\003\082\000\045\003\083\000\045\003\085\000\045\003\
++\\087\000\045\003\088\000\045\003\089\000\045\003\094\000\045\003\
++\\104\000\045\003\105\000\045\003\106\000\045\003\107\000\045\003\
++\\117\000\045\003\118\000\045\003\121\000\045\003\123\000\045\003\
++\\134\000\045\003\000\000\
++\\001\000\001\000\046\003\002\000\046\003\003\000\046\003\004\000\046\003\
++\\007\000\046\003\008\000\046\003\012\000\046\003\020\000\046\003\
++\\025\000\046\003\032\000\046\003\033\000\046\003\055\000\046\003\
++\\056\000\046\003\057\000\046\003\061\000\046\003\062\000\046\003\
++\\069\000\046\003\070\000\046\003\077\000\046\003\078\000\046\003\
++\\079\000\046\003\080\000\046\003\082\000\046\003\083\000\046\003\
++\\085\000\046\003\087\000\046\003\088\000\046\003\089\000\046\003\
++\\094\000\046\003\104\000\046\003\105\000\046\003\106\000\046\003\
++\\107\000\046\003\117\000\046\003\118\000\046\003\121\000\046\003\
++\\123\000\046\003\134\000\046\003\000\000\
++\\001\000\001\000\047\003\002\000\047\003\003\000\047\003\004\000\047\003\
++\\007\000\047\003\008\000\047\003\012\000\047\003\020\000\047\003\
++\\025\000\047\003\032\000\047\003\033\000\047\003\041\000\173\000\
++\\055\000\047\003\056\000\047\003\057\000\047\003\061\000\047\003\
++\\062\000\047\003\069\000\047\003\070\000\047\003\077\000\047\003\
++\\078\000\047\003\079\000\047\003\080\000\047\003\082\000\047\003\
++\\083\000\047\003\085\000\047\003\087\000\047\003\088\000\047\003\
++\\089\000\047\003\094\000\047\003\104\000\047\003\105\000\047\003\
++\\106\000\047\003\107\000\047\003\117\000\047\003\118\000\047\003\
++\\121\000\047\003\123\000\047\003\134\000\047\003\000\000\
++\\001\000\001\000\048\003\002\000\048\003\003\000\048\003\004\000\048\003\
++\\007\000\048\003\008\000\048\003\012\000\048\003\020\000\048\003\
++\\025\000\048\003\032\000\048\003\033\000\048\003\055\000\048\003\
++\\056\000\048\003\057\000\048\003\061\000\048\003\062\000\048\003\
++\\069\000\048\003\070\000\048\003\077\000\048\003\078\000\048\003\
++\\079\000\048\003\080\000\048\003\082\000\048\003\083\000\048\003\
++\\085\000\048\003\087\000\048\003\088\000\048\003\089\000\048\003\
++\\094\000\048\003\104\000\048\003\105\000\048\003\106\000\048\003\
++\\107\000\048\003\117\000\048\003\118\000\048\003\121\000\048\003\
++\\123\000\048\003\134\000\048\003\000\000\
++\\001\000\001\000\049\003\002\000\049\003\003\000\049\003\004\000\049\003\
++\\007\000\049\003\008\000\049\003\012\000\049\003\020\000\049\003\
++\\025\000\049\003\032\000\049\003\033\000\049\003\041\000\049\003\
++\\053\000\148\001\055\000\049\003\056\000\049\003\057\000\049\003\
++\\061\000\049\003\062\000\049\003\069\000\049\003\070\000\049\003\
++\\077\000\049\003\078\000\049\003\079\000\049\003\080\000\049\003\
++\\082\000\049\003\083\000\049\003\085\000\049\003\087\000\049\003\
++\\088\000\049\003\089\000\049\003\094\000\049\003\104\000\049\003\
++\\105\000\049\003\106\000\049\003\107\000\049\003\117\000\049\003\
++\\118\000\049\003\121\000\049\003\123\000\049\003\134\000\049\003\000\000\
++\\001\000\001\000\050\003\002\000\050\003\003\000\050\003\004\000\050\003\
++\\007\000\050\003\008\000\050\003\020\000\050\003\025\000\050\003\
++\\032\000\050\003\033\000\050\003\055\000\050\003\056\000\050\003\
++\\057\000\050\003\061\000\050\003\062\000\050\003\069\000\050\003\
++\\070\000\050\003\077\000\050\003\078\000\050\003\079\000\050\003\
++\\080\000\050\003\082\000\050\003\083\000\050\003\085\000\050\003\
++\\087\000\050\003\088\000\050\003\089\000\050\003\094\000\050\003\
++\\104\000\050\003\105\000\050\003\106\000\050\003\107\000\050\003\
++\\117\000\050\003\118\000\050\003\121\000\050\003\123\000\050\003\
++\\134\000\050\003\000\000\
++\\001\000\001\000\051\003\002\000\051\003\003\000\051\003\004\000\051\003\
++\\007\000\051\003\008\000\051\003\020\000\051\003\025\000\051\003\
++\\032\000\051\003\033\000\051\003\055\000\051\003\056\000\051\003\
++\\057\000\051\003\061\000\051\003\062\000\051\003\069\000\051\003\
++\\070\000\051\003\077\000\051\003\078\000\051\003\079\000\051\003\
++\\080\000\051\003\082\000\051\003\083\000\051\003\085\000\051\003\
++\\087\000\051\003\088\000\051\003\089\000\051\003\094\000\051\003\
++\\104\000\051\003\105\000\051\003\106\000\051\003\107\000\051\003\
++\\117\000\051\003\118\000\051\003\121\000\051\003\123\000\051\003\
++\\134\000\051\003\000\000\
++\\001\000\001\000\052\003\002\000\052\003\003\000\052\003\004\000\052\003\
++\\007\000\052\003\008\000\052\003\020\000\052\003\025\000\052\003\
++\\032\000\052\003\033\000\052\003\055\000\052\003\056\000\052\003\
++\\057\000\052\003\061\000\052\003\062\000\052\003\069\000\052\003\
++\\070\000\052\003\077\000\052\003\078\000\052\003\079\000\052\003\
++\\080\000\052\003\082\000\052\003\083\000\052\003\085\000\052\003\
++\\087\000\052\003\088\000\052\003\089\000\052\003\094\000\052\003\
++\\104\000\052\003\105\000\052\003\106\000\052\003\107\000\052\003\
++\\117\000\052\003\118\000\052\003\121\000\052\003\123\000\052\003\
++\\134\000\052\003\000\000\
++\\001\000\001\000\053\003\002\000\053\003\003\000\053\003\004\000\053\003\
++\\007\000\053\003\008\000\053\003\020\000\053\003\025\000\053\003\
++\\032\000\053\003\033\000\053\003\053\000\148\001\055\000\053\003\
++\\056\000\053\003\057\000\053\003\061\000\053\003\062\000\053\003\
++\\069\000\053\003\070\000\053\003\077\000\053\003\078\000\053\003\
++\\079\000\053\003\080\000\053\003\082\000\053\003\083\000\053\003\
++\\085\000\053\003\087\000\053\003\088\000\053\003\089\000\053\003\
++\\094\000\053\003\104\000\053\003\105\000\053\003\106\000\053\003\
++\\107\000\053\003\117\000\053\003\118\000\053\003\121\000\053\003\
++\\123\000\053\003\134\000\053\003\000\000\
++\\001\000\001\000\054\003\002\000\054\003\003\000\054\003\004\000\054\003\
++\\007\000\054\003\008\000\054\003\020\000\054\003\025\000\054\003\
++\\032\000\054\003\033\000\054\003\053\000\148\001\055\000\054\003\
++\\056\000\054\003\057\000\054\003\061\000\054\003\062\000\054\003\
++\\069\000\054\003\070\000\054\003\077\000\054\003\078\000\054\003\
++\\079\000\054\003\080\000\054\003\082\000\054\003\083\000\054\003\
++\\085\000\054\003\087\000\054\003\088\000\054\003\089\000\054\003\
++\\094\000\054\003\104\000\054\003\105\000\054\003\106\000\054\003\
++\\107\000\054\003\117\000\054\003\118\000\054\003\121\000\054\003\
++\\123\000\054\003\134\000\054\003\000\000\
++\\001\000\001\000\055\003\002\000\055\003\003\000\055\003\004\000\055\003\
++\\007\000\055\003\008\000\055\003\020\000\055\003\025\000\055\003\
++\\032\000\055\003\033\000\055\003\042\000\134\001\055\000\055\003\
++\\056\000\055\003\057\000\055\003\061\000\055\003\062\000\055\003\
++\\069\000\055\003\070\000\055\003\077\000\055\003\078\000\055\003\
++\\079\000\055\003\080\000\055\003\082\000\055\003\083\000\055\003\
++\\085\000\055\003\087\000\055\003\088\000\055\003\089\000\055\003\
++\\094\000\055\003\104\000\055\003\105\000\055\003\106\000\055\003\
++\\107\000\055\003\117\000\055\003\118\000\055\003\121\000\055\003\
++\\123\000\055\003\134\000\055\003\000\000\
++\\001\000\001\000\056\003\002\000\056\003\003\000\056\003\004\000\056\003\
++\\007\000\056\003\008\000\056\003\020\000\056\003\025\000\056\003\
++\\032\000\056\003\033\000\056\003\055\000\056\003\056\000\056\003\
++\\057\000\056\003\061\000\056\003\062\000\056\003\069\000\056\003\
++\\070\000\056\003\077\000\056\003\078\000\056\003\079\000\056\003\
++\\080\000\056\003\082\000\056\003\083\000\056\003\085\000\056\003\
++\\087\000\056\003\088\000\056\003\089\000\056\003\094\000\056\003\
++\\104\000\056\003\105\000\056\003\106\000\056\003\107\000\056\003\
++\\117\000\056\003\118\000\056\003\121\000\056\003\123\000\056\003\
++\\134\000\056\003\000\000\
++\\001\000\001\000\057\003\002\000\057\003\003\000\057\003\004\000\057\003\
++\\007\000\057\003\008\000\057\003\020\000\057\003\025\000\057\003\
++\\032\000\057\003\033\000\057\003\042\000\134\001\055\000\057\003\
++\\056\000\057\003\057\000\057\003\061\000\057\003\062\000\057\003\
++\\069\000\057\003\070\000\057\003\077\000\057\003\078\000\057\003\
++\\079\000\057\003\080\000\057\003\082\000\057\003\083\000\057\003\
++\\085\000\057\003\087\000\057\003\088\000\057\003\089\000\057\003\
++\\094\000\057\003\104\000\057\003\105\000\057\003\106\000\057\003\
++\\107\000\057\003\117\000\057\003\118\000\057\003\121\000\057\003\
++\\123\000\057\003\134\000\057\003\000\000\
++\\001\000\001\000\058\003\002\000\058\003\003\000\058\003\004\000\058\003\
++\\007\000\058\003\008\000\058\003\009\000\120\001\020\000\058\003\
++\\025\000\058\003\032\000\058\003\033\000\058\003\055\000\058\003\
++\\056\000\058\003\057\000\058\003\061\000\058\003\062\000\058\003\
++\\069\000\058\003\070\000\058\003\077\000\058\003\078\000\058\003\
++\\079\000\058\003\080\000\058\003\082\000\058\003\083\000\058\003\
++\\085\000\058\003\087\000\058\003\088\000\058\003\089\000\058\003\
++\\094\000\058\003\104\000\058\003\105\000\058\003\106\000\058\003\
++\\107\000\058\003\117\000\058\003\118\000\058\003\121\000\058\003\
++\\123\000\058\003\134\000\058\003\000\000\
++\\001\000\001\000\059\003\002\000\059\003\003\000\059\003\004\000\059\003\
++\\007\000\059\003\008\000\059\003\020\000\059\003\025\000\059\003\
++\\032\000\059\003\033\000\059\003\055\000\059\003\056\000\059\003\
++\\057\000\059\003\061\000\059\003\062\000\059\003\069\000\059\003\
++\\070\000\059\003\077\000\059\003\078\000\059\003\079\000\059\003\
++\\080\000\059\003\082\000\059\003\083\000\059\003\085\000\059\003\
++\\087\000\059\003\088\000\059\003\089\000\059\003\094\000\059\003\
++\\104\000\059\003\105\000\059\003\106\000\059\003\107\000\059\003\
++\\117\000\059\003\118\000\059\003\121\000\059\003\123\000\059\003\
++\\134\000\059\003\000\000\
++\\001\000\001\000\060\003\002\000\060\003\003\000\060\003\004\000\060\003\
++\\007\000\060\003\008\000\060\003\019\000\223\001\020\000\060\003\
++\\025\000\060\003\032\000\060\003\033\000\060\003\055\000\060\003\
++\\056\000\060\003\057\000\060\003\061\000\060\003\062\000\060\003\
++\\069\000\060\003\070\000\060\003\077\000\060\003\078\000\060\003\
++\\079\000\060\003\080\000\060\003\082\000\060\003\083\000\060\003\
++\\085\000\060\003\087\000\060\003\088\000\060\003\089\000\060\003\
++\\094\000\060\003\104\000\060\003\105\000\060\003\106\000\060\003\
++\\107\000\060\003\117\000\060\003\118\000\060\003\121\000\060\003\
++\\123\000\060\003\134\000\060\003\000\000\
++\\001\000\001\000\061\003\002\000\061\003\003\000\061\003\004\000\061\003\
++\\007\000\061\003\008\000\061\003\019\000\223\001\020\000\061\003\
++\\025\000\061\003\032\000\061\003\033\000\061\003\055\000\061\003\
++\\056\000\061\003\057\000\061\003\061\000\061\003\062\000\061\003\
++\\069\000\061\003\070\000\061\003\077\000\061\003\078\000\061\003\
++\\079\000\061\003\080\000\061\003\082\000\061\003\083\000\061\003\
++\\085\000\061\003\087\000\061\003\088\000\061\003\089\000\061\003\
++\\094\000\061\003\104\000\061\003\105\000\061\003\106\000\061\003\
++\\107\000\061\003\117\000\061\003\118\000\061\003\121\000\061\003\
++\\123\000\061\003\134\000\061\003\000\000\
++\\001\000\001\000\062\003\002\000\062\003\003\000\062\003\004\000\062\003\
++\\007\000\062\003\008\000\062\003\009\000\084\003\020\000\062\003\
++\\025\000\062\003\032\000\062\003\033\000\062\003\055\000\062\003\
++\\056\000\062\003\057\000\062\003\060\000\208\000\061\000\062\003\
++\\062\000\062\003\069\000\062\003\070\000\062\003\077\000\062\003\
++\\078\000\062\003\079\000\062\003\080\000\062\003\082\000\062\003\
++\\083\000\062\003\085\000\062\003\087\000\062\003\088\000\062\003\
++\\089\000\062\003\094\000\062\003\104\000\062\003\105\000\062\003\
++\\106\000\062\003\107\000\062\003\117\000\062\003\118\000\062\003\
++\\121\000\062\003\123\000\062\003\134\000\062\003\000\000\
++\\001\000\001\000\063\003\002\000\063\003\003\000\063\003\004\000\063\003\
++\\007\000\063\003\008\000\063\003\020\000\063\003\025\000\063\003\
++\\032\000\063\003\033\000\063\003\055\000\063\003\056\000\063\003\
++\\057\000\063\003\060\000\208\000\061\000\063\003\062\000\063\003\
++\\069\000\063\003\070\000\063\003\077\000\063\003\078\000\063\003\
++\\079\000\063\003\080\000\063\003\082\000\063\003\083\000\063\003\
++\\085\000\063\003\087\000\063\003\088\000\063\003\089\000\063\003\
++\\094\000\063\003\104\000\063\003\105\000\063\003\106\000\063\003\
++\\107\000\063\003\117\000\063\003\118\000\063\003\121\000\063\003\
++\\123\000\063\003\134\000\063\003\000\000\
++\\001\000\001\000\064\003\002\000\064\003\003\000\064\003\004\000\064\003\
++\\007\000\064\003\008\000\064\003\019\000\223\001\020\000\064\003\
++\\025\000\064\003\032\000\064\003\033\000\064\003\055\000\064\003\
++\\056\000\064\003\057\000\064\003\061\000\064\003\062\000\064\003\
++\\069\000\064\003\070\000\064\003\077\000\064\003\078\000\064\003\
++\\079\000\064\003\080\000\064\003\082\000\064\003\083\000\064\003\
++\\085\000\064\003\087\000\064\003\088\000\064\003\089\000\064\003\
++\\094\000\064\003\104\000\064\003\105\000\064\003\106\000\064\003\
++\\107\000\064\003\117\000\064\003\118\000\064\003\121\000\064\003\
++\\123\000\064\003\134\000\064\003\000\000\
++\\001\000\001\000\065\003\002\000\065\003\003\000\065\003\004\000\065\003\
++\\007\000\065\003\008\000\065\003\019\000\223\001\020\000\065\003\
++\\025\000\065\003\032\000\065\003\033\000\065\003\055\000\065\003\
++\\056\000\065\003\057\000\065\003\061\000\065\003\062\000\065\003\
++\\069\000\065\003\070\000\065\003\077\000\065\003\078\000\065\003\
++\\079\000\065\003\080\000\065\003\082\000\065\003\083\000\065\003\
++\\085\000\065\003\087\000\065\003\088\000\065\003\089\000\065\003\
++\\094\000\065\003\104\000\065\003\105\000\065\003\106\000\065\003\
++\\107\000\065\003\117\000\065\003\118\000\065\003\121\000\065\003\
++\\123\000\065\003\134\000\065\003\000\000\
++\\001\000\001\000\066\003\002\000\066\003\003\000\066\003\004\000\066\003\
++\\007\000\066\003\008\000\066\003\019\000\223\001\020\000\066\003\
++\\025\000\066\003\032\000\066\003\033\000\066\003\055\000\066\003\
++\\056\000\066\003\057\000\066\003\061\000\066\003\062\000\066\003\
++\\069\000\066\003\070\000\066\003\077\000\066\003\078\000\066\003\
++\\079\000\066\003\080\000\066\003\082\000\066\003\083\000\066\003\
++\\085\000\066\003\087\000\066\003\088\000\066\003\089\000\066\003\
++\\094\000\066\003\104\000\066\003\105\000\066\003\106\000\066\003\
++\\107\000\066\003\117\000\066\003\118\000\066\003\121\000\066\003\
++\\123\000\066\003\134\000\066\003\000\000\
++\\001\000\001\000\067\003\002\000\067\003\003\000\067\003\004\000\067\003\
++\\007\000\067\003\008\000\067\003\020\000\067\003\025\000\067\003\
++\\032\000\067\003\033\000\067\003\055\000\067\003\056\000\067\003\
++\\057\000\067\003\061\000\067\003\062\000\067\003\069\000\067\003\
++\\070\000\067\003\077\000\067\003\078\000\067\003\079\000\067\003\
++\\080\000\067\003\082\000\067\003\083\000\067\003\085\000\067\003\
++\\087\000\067\003\088\000\067\003\089\000\067\003\094\000\067\003\
++\\104\000\067\003\105\000\067\003\106\000\067\003\107\000\067\003\
++\\117\000\067\003\118\000\067\003\121\000\067\003\123\000\067\003\
++\\134\000\067\003\000\000\
++\\001\000\001\000\068\003\002\000\068\003\003\000\068\003\004\000\068\003\
++\\007\000\068\003\008\000\068\003\020\000\068\003\025\000\068\003\
++\\032\000\068\003\033\000\068\003\055\000\068\003\056\000\068\003\
++\\057\000\068\003\061\000\068\003\062\000\068\003\069\000\068\003\
++\\070\000\068\003\077\000\068\003\078\000\068\003\079\000\068\003\
++\\080\000\068\003\082\000\068\003\083\000\068\003\085\000\068\003\
++\\087\000\068\003\088\000\068\003\089\000\068\003\094\000\068\003\
++\\104\000\068\003\105\000\068\003\106\000\068\003\107\000\068\003\
++\\117\000\068\003\118\000\068\003\121\000\068\003\123\000\068\003\
++\\134\000\068\003\000\000\
++\\001\000\001\000\069\003\002\000\069\003\003\000\069\003\004\000\069\003\
++\\007\000\069\003\008\000\069\003\020\000\069\003\025\000\069\003\
++\\032\000\069\003\033\000\069\003\055\000\069\003\056\000\069\003\
++\\057\000\069\003\061\000\069\003\062\000\069\003\069\000\069\003\
++\\070\000\069\003\077\000\069\003\078\000\069\003\079\000\069\003\
++\\080\000\069\003\082\000\069\003\083\000\069\003\085\000\069\003\
++\\087\000\069\003\088\000\069\003\089\000\069\003\094\000\069\003\
++\\104\000\069\003\105\000\069\003\106\000\069\003\107\000\069\003\
++\\117\000\069\003\118\000\069\003\121\000\069\003\123\000\069\003\
++\\134\000\069\003\000\000\
++\\001\000\001\000\070\003\002\000\070\003\003\000\070\003\004\000\070\003\
++\\007\000\070\003\008\000\070\003\020\000\070\003\025\000\070\003\
++\\032\000\070\003\033\000\070\003\055\000\070\003\056\000\070\003\
++\\057\000\070\003\061\000\070\003\062\000\070\003\069\000\070\003\
++\\070\000\070\003\077\000\070\003\078\000\070\003\079\000\070\003\
++\\080\000\070\003\082\000\070\003\083\000\070\003\085\000\070\003\
++\\087\000\070\003\088\000\070\003\089\000\070\003\094\000\070\003\
++\\104\000\070\003\105\000\070\003\106\000\070\003\107\000\070\003\
++\\117\000\070\003\118\000\070\003\121\000\070\003\123\000\070\003\
++\\134\000\070\003\000\000\
++\\001\000\001\000\071\003\002\000\071\003\003\000\071\003\004\000\071\003\
++\\007\000\071\003\008\000\071\003\020\000\071\003\025\000\071\003\
++\\032\000\071\003\033\000\071\003\055\000\071\003\056\000\071\003\
++\\057\000\071\003\061\000\071\003\062\000\071\003\069\000\071\003\
++\\070\000\071\003\077\000\071\003\078\000\071\003\079\000\071\003\
++\\080\000\071\003\082\000\071\003\083\000\071\003\085\000\071\003\
++\\087\000\071\003\088\000\071\003\089\000\071\003\094\000\071\003\
++\\104\000\071\003\105\000\071\003\106\000\071\003\107\000\071\003\
++\\117\000\071\003\118\000\071\003\121\000\071\003\123\000\071\003\
++\\134\000\071\003\000\000\
++\\001\000\001\000\072\003\002\000\072\003\003\000\072\003\004\000\072\003\
++\\007\000\072\003\008\000\072\003\020\000\072\003\025\000\072\003\
++\\032\000\072\003\033\000\072\003\055\000\072\003\056\000\072\003\
++\\057\000\072\003\060\000\208\000\061\000\072\003\062\000\072\003\
++\\069\000\072\003\070\000\072\003\077\000\072\003\078\000\072\003\
++\\079\000\072\003\080\000\072\003\082\000\072\003\083\000\072\003\
++\\085\000\072\003\087\000\072\003\088\000\072\003\089\000\072\003\
++\\094\000\072\003\104\000\072\003\105\000\072\003\106\000\072\003\
++\\107\000\072\003\117\000\072\003\118\000\072\003\121\000\072\003\
++\\123\000\072\003\134\000\072\003\000\000\
++\\001\000\001\000\073\003\002\000\073\003\003\000\073\003\004\000\073\003\
++\\007\000\073\003\008\000\073\003\020\000\073\003\025\000\073\003\
++\\032\000\073\003\033\000\073\003\055\000\073\003\056\000\073\003\
++\\057\000\073\003\061\000\073\003\062\000\073\003\069\000\073\003\
++\\070\000\073\003\077\000\073\003\078\000\073\003\079\000\073\003\
++\\080\000\073\003\082\000\073\003\083\000\073\003\085\000\073\003\
++\\087\000\073\003\088\000\073\003\089\000\073\003\094\000\073\003\
++\\104\000\073\003\105\000\073\003\106\000\073\003\107\000\073\003\
++\\117\000\073\003\118\000\073\003\121\000\073\003\123\000\073\003\
++\\134\000\073\003\000\000\
++\\001\000\001\000\074\003\002\000\074\003\003\000\074\003\004\000\074\003\
++\\007\000\074\003\008\000\074\003\012\000\170\000\020\000\074\003\
++\\025\000\074\003\032\000\074\003\033\000\074\003\055\000\074\003\
++\\056\000\074\003\057\000\074\003\061\000\074\003\062\000\074\003\
++\\069\000\074\003\070\000\074\003\077\000\074\003\078\000\074\003\
++\\079\000\074\003\080\000\074\003\082\000\074\003\083\000\074\003\
++\\085\000\074\003\087\000\074\003\088\000\074\003\089\000\074\003\
++\\094\000\074\003\104\000\074\003\105\000\074\003\106\000\074\003\
++\\107\000\074\003\117\000\074\003\118\000\074\003\121\000\074\003\
++\\123\000\074\003\134\000\074\003\000\000\
++\\001\000\001\000\075\003\002\000\075\003\003\000\075\003\004\000\075\003\
++\\007\000\075\003\008\000\075\003\020\000\075\003\025\000\075\003\
++\\032\000\075\003\033\000\075\003\055\000\075\003\056\000\075\003\
++\\057\000\075\003\061\000\075\003\062\000\075\003\069\000\075\003\
++\\070\000\075\003\077\000\075\003\078\000\075\003\079\000\075\003\
++\\080\000\075\003\082\000\075\003\083\000\075\003\085\000\075\003\
++\\087\000\075\003\088\000\075\003\089\000\075\003\094\000\075\003\
++\\104\000\075\003\105\000\075\003\106\000\075\003\107\000\075\003\
++\\117\000\075\003\118\000\075\003\121\000\075\003\123\000\075\003\
++\\134\000\075\003\000\000\
++\\001\000\001\000\076\003\002\000\076\003\003\000\076\003\004\000\076\003\
++\\005\000\172\000\007\000\076\003\008\000\076\003\009\000\171\000\
++\\012\000\076\003\020\000\076\003\025\000\076\003\032\000\076\003\
++\\033\000\076\003\055\000\076\003\056\000\076\003\057\000\076\003\
++\\061\000\076\003\062\000\076\003\069\000\076\003\070\000\076\003\
++\\077\000\076\003\078\000\076\003\079\000\076\003\080\000\076\003\
++\\082\000\076\003\083\000\076\003\085\000\076\003\087\000\076\003\
++\\088\000\076\003\089\000\076\003\094\000\076\003\104\000\076\003\
++\\105\000\076\003\106\000\076\003\107\000\076\003\117\000\076\003\
++\\118\000\076\003\121\000\076\003\123\000\076\003\134\000\076\003\000\000\
++\\001\000\001\000\077\003\002\000\077\003\003\000\077\003\004\000\077\003\
++\\007\000\077\003\008\000\077\003\012\000\077\003\020\000\077\003\
++\\025\000\077\003\032\000\077\003\033\000\077\003\042\000\134\001\
++\\055\000\077\003\056\000\077\003\057\000\077\003\061\000\077\003\
++\\062\000\077\003\069\000\077\003\070\000\077\003\077\000\077\003\
++\\078\000\077\003\079\000\077\003\080\000\077\003\082\000\077\003\
++\\083\000\077\003\085\000\077\003\087\000\077\003\088\000\077\003\
++\\089\000\077\003\094\000\077\003\104\000\077\003\105\000\077\003\
++\\106\000\077\003\107\000\077\003\117\000\077\003\118\000\077\003\
++\\121\000\077\003\123\000\077\003\134\000\077\003\000\000\
++\\001\000\001\000\078\003\002\000\078\003\003\000\078\003\004\000\078\003\
++\\007\000\078\003\008\000\078\003\012\000\078\003\020\000\078\003\
++\\025\000\078\003\032\000\078\003\033\000\078\003\055\000\078\003\
++\\056\000\078\003\057\000\078\003\061\000\078\003\062\000\078\003\
++\\069\000\078\003\070\000\078\003\077\000\078\003\078\000\078\003\
++\\079\000\078\003\080\000\078\003\082\000\078\003\083\000\078\003\
++\\085\000\078\003\087\000\078\003\088\000\078\003\089\000\078\003\
++\\094\000\078\003\104\000\078\003\105\000\078\003\106\000\078\003\
++\\107\000\078\003\117\000\078\003\118\000\078\003\121\000\078\003\
++\\123\000\078\003\134\000\078\003\000\000\
++\\001\000\001\000\081\003\002\000\081\003\003\000\081\003\004\000\081\003\
++\\007\000\081\003\008\000\081\003\009\000\081\003\020\000\081\003\
++\\025\000\081\003\032\000\081\003\033\000\081\003\055\000\081\003\
++\\056\000\081\003\057\000\081\003\060\000\081\003\061\000\081\003\
++\\062\000\081\003\069\000\081\003\070\000\081\003\077\000\081\003\
++\\078\000\081\003\079\000\081\003\080\000\081\003\082\000\081\003\
++\\083\000\081\003\085\000\081\003\087\000\081\003\088\000\081\003\
++\\089\000\081\003\094\000\081\003\104\000\081\003\105\000\081\003\
++\\106\000\081\003\107\000\081\003\117\000\081\003\118\000\081\003\
++\\121\000\081\003\123\000\081\003\134\000\081\003\000\000\
++\\001\000\001\000\082\003\002\000\082\003\003\000\082\003\004\000\082\003\
++\\007\000\082\003\008\000\082\003\009\000\082\003\020\000\082\003\
++\\025\000\082\003\032\000\082\003\033\000\082\003\055\000\082\003\
++\\056\000\082\003\057\000\082\003\060\000\082\003\061\000\082\003\
++\\062\000\082\003\069\000\082\003\070\000\082\003\077\000\082\003\
++\\078\000\082\003\079\000\082\003\080\000\082\003\082\000\082\003\
++\\083\000\082\003\085\000\082\003\087\000\082\003\088\000\082\003\
++\\089\000\082\003\094\000\082\003\104\000\082\003\105\000\082\003\
++\\106\000\082\003\107\000\082\003\117\000\082\003\118\000\082\003\
++\\121\000\082\003\123\000\082\003\134\000\082\003\000\000\
++\\001\000\001\000\083\003\002\000\083\003\003\000\083\003\004\000\083\003\
++\\007\000\083\003\008\000\083\003\009\000\083\003\020\000\083\003\
++\\025\000\083\003\032\000\083\003\033\000\083\003\055\000\083\003\
++\\056\000\083\003\057\000\083\003\060\000\083\003\061\000\083\003\
++\\062\000\083\003\069\000\083\003\070\000\083\003\077\000\083\003\
++\\078\000\083\003\079\000\083\003\080\000\083\003\082\000\083\003\
++\\083\000\083\003\085\000\083\003\087\000\083\003\088\000\083\003\
++\\089\000\083\003\094\000\083\003\104\000\083\003\105\000\083\003\
++\\106\000\083\003\107\000\083\003\117\000\083\003\118\000\083\003\
++\\121\000\083\003\123\000\083\003\134\000\083\003\000\000\
++\\001\000\001\000\086\003\002\000\086\003\003\000\086\003\004\000\086\003\
++\\007\000\086\003\008\000\086\003\009\000\086\003\012\000\201\001\
++\\020\000\086\003\025\000\086\003\032\000\086\003\033\000\086\003\
++\\055\000\086\003\056\000\086\003\057\000\086\003\060\000\086\003\
++\\061\000\086\003\062\000\086\003\069\000\086\003\070\000\086\003\
++\\077\000\086\003\078\000\086\003\079\000\086\003\080\000\086\003\
++\\082\000\086\003\083\000\086\003\085\000\086\003\087\000\086\003\
++\\088\000\086\003\089\000\086\003\094\000\086\003\104\000\086\003\
++\\105\000\086\003\106\000\086\003\107\000\086\003\117\000\086\003\
++\\118\000\086\003\121\000\086\003\123\000\086\003\134\000\086\003\000\000\
++\\001\000\001\000\087\003\002\000\087\003\003\000\087\003\004\000\087\003\
++\\007\000\087\003\008\000\087\003\009\000\087\003\020\000\087\003\
++\\025\000\087\003\032\000\087\003\033\000\087\003\055\000\087\003\
++\\056\000\087\003\057\000\087\003\060\000\087\003\061\000\087\003\
++\\062\000\087\003\069\000\087\003\070\000\087\003\077\000\087\003\
++\\078\000\087\003\079\000\087\003\080\000\087\003\082\000\087\003\
++\\083\000\087\003\085\000\087\003\087\000\087\003\088\000\087\003\
++\\089\000\087\003\094\000\087\003\104\000\087\003\105\000\087\003\
++\\106\000\087\003\107\000\087\003\117\000\087\003\118\000\087\003\
++\\121\000\087\003\123\000\087\003\134\000\087\003\000\000\
++\\001\000\001\000\088\003\002\000\088\003\003\000\088\003\004\000\088\003\
++\\007\000\088\003\008\000\088\003\009\000\088\003\012\000\088\003\
++\\020\000\088\003\025\000\088\003\032\000\088\003\033\000\088\003\
++\\042\000\134\001\055\000\088\003\056\000\088\003\057\000\088\003\
++\\060\000\088\003\061\000\088\003\062\000\088\003\069\000\088\003\
++\\070\000\088\003\077\000\088\003\078\000\088\003\079\000\088\003\
++\\080\000\088\003\082\000\088\003\083\000\088\003\085\000\088\003\
++\\087\000\088\003\088\000\088\003\089\000\088\003\094\000\088\003\
++\\104\000\088\003\105\000\088\003\106\000\088\003\107\000\088\003\
++\\117\000\088\003\118\000\088\003\121\000\088\003\123\000\088\003\
++\\134\000\088\003\000\000\
++\\001\000\001\000\089\003\002\000\089\003\003\000\089\003\004\000\089\003\
++\\007\000\089\003\008\000\089\003\009\000\089\003\012\000\089\003\
++\\019\000\223\001\020\000\089\003\025\000\089\003\032\000\089\003\
++\\033\000\089\003\055\000\089\003\056\000\089\003\057\000\089\003\
++\\060\000\089\003\061\000\089\003\062\000\089\003\069\000\089\003\
++\\070\000\089\003\077\000\089\003\078\000\089\003\079\000\089\003\
++\\080\000\089\003\082\000\089\003\083\000\089\003\085\000\089\003\
++\\087\000\089\003\088\000\089\003\089\000\089\003\094\000\089\003\
++\\104\000\089\003\105\000\089\003\106\000\089\003\107\000\089\003\
++\\117\000\089\003\118\000\089\003\121\000\089\003\123\000\089\003\
++\\134\000\089\003\000\000\
++\\001\000\001\000\090\003\002\000\090\003\003\000\090\003\004\000\090\003\
++\\007\000\090\003\008\000\090\003\012\000\228\000\020\000\090\003\
++\\025\000\090\003\032\000\090\003\033\000\090\003\055\000\090\003\
++\\056\000\090\003\057\000\090\003\061\000\090\003\062\000\090\003\
++\\069\000\090\003\070\000\090\003\077\000\090\003\078\000\090\003\
++\\079\000\090\003\080\000\090\003\082\000\090\003\083\000\090\003\
++\\085\000\090\003\087\000\090\003\088\000\090\003\089\000\090\003\
++\\094\000\090\003\104\000\090\003\105\000\090\003\106\000\090\003\
++\\107\000\090\003\117\000\090\003\118\000\090\003\121\000\090\003\
++\\123\000\090\003\134\000\090\003\000\000\
++\\001\000\001\000\091\003\002\000\091\003\003\000\091\003\004\000\091\003\
++\\007\000\091\003\008\000\091\003\020\000\091\003\025\000\091\003\
++\\032\000\091\003\033\000\091\003\055\000\091\003\056\000\091\003\
++\\057\000\091\003\061\000\091\003\062\000\091\003\069\000\091\003\
++\\070\000\091\003\077\000\091\003\078\000\091\003\079\000\091\003\
++\\080\000\091\003\082\000\091\003\083\000\091\003\085\000\091\003\
++\\087\000\091\003\088\000\091\003\089\000\091\003\094\000\091\003\
++\\104\000\091\003\105\000\091\003\106\000\091\003\107\000\091\003\
++\\117\000\091\003\118\000\091\003\121\000\091\003\123\000\091\003\
++\\134\000\091\003\000\000\
++\\001\000\001\000\092\003\002\000\092\003\003\000\092\003\004\000\092\003\
++\\007\000\092\003\008\000\092\003\012\000\092\003\020\000\092\003\
++\\025\000\092\003\032\000\092\003\033\000\092\003\055\000\092\003\
++\\056\000\092\003\057\000\092\003\061\000\092\003\062\000\092\003\
++\\069\000\092\003\070\000\092\003\077\000\092\003\078\000\092\003\
++\\079\000\092\003\080\000\092\003\082\000\092\003\083\000\092\003\
++\\085\000\092\003\087\000\092\003\088\000\092\003\089\000\092\003\
++\\094\000\092\003\104\000\092\003\105\000\092\003\106\000\092\003\
++\\107\000\092\003\117\000\092\003\118\000\092\003\121\000\092\003\
++\\123\000\092\003\134\000\092\003\000\000\
++\\001\000\001\000\093\003\002\000\093\003\003\000\093\003\004\000\093\003\
++\\007\000\093\003\008\000\093\003\012\000\093\003\020\000\093\003\
++\\025\000\093\003\032\000\093\003\033\000\093\003\055\000\093\003\
++\\056\000\093\003\057\000\093\003\061\000\093\003\062\000\093\003\
++\\069\000\093\003\070\000\093\003\077\000\093\003\078\000\093\003\
++\\079\000\093\003\080\000\093\003\082\000\093\003\083\000\093\003\
++\\085\000\093\003\087\000\093\003\088\000\093\003\089\000\093\003\
++\\094\000\093\003\104\000\093\003\105\000\093\003\106\000\093\003\
++\\107\000\093\003\117\000\093\003\118\000\093\003\121\000\093\003\
++\\123\000\093\003\134\000\093\003\000\000\
++\\001\000\001\000\094\003\002\000\094\003\003\000\094\003\004\000\094\003\
++\\007\000\094\003\008\000\094\003\009\000\229\000\012\000\094\003\
++\\020\000\094\003\025\000\094\003\032\000\094\003\033\000\094\003\
++\\055\000\094\003\056\000\094\003\057\000\094\003\061\000\094\003\
++\\062\000\094\003\069\000\094\003\070\000\094\003\077\000\094\003\
++\\078\000\094\003\079\000\094\003\080\000\094\003\082\000\094\003\
++\\083\000\094\003\085\000\094\003\087\000\094\003\088\000\094\003\
++\\089\000\094\003\094\000\094\003\104\000\094\003\105\000\094\003\
++\\106\000\094\003\107\000\094\003\117\000\094\003\118\000\094\003\
++\\121\000\094\003\123\000\094\003\134\000\094\003\000\000\
++\\001\000\001\000\095\003\002\000\095\003\003\000\095\003\004\000\095\003\
++\\007\000\095\003\008\000\095\003\012\000\095\003\020\000\095\003\
++\\025\000\095\003\032\000\095\003\033\000\095\003\055\000\095\003\
++\\056\000\095\003\057\000\095\003\061\000\095\003\062\000\095\003\
++\\069\000\095\003\070\000\095\003\077\000\095\003\078\000\095\003\
++\\079\000\095\003\080\000\095\003\082\000\095\003\083\000\095\003\
++\\085\000\095\003\087\000\095\003\088\000\095\003\089\000\095\003\
++\\094\000\095\003\104\000\095\003\105\000\095\003\106\000\095\003\
++\\107\000\095\003\117\000\095\003\118\000\095\003\121\000\095\003\
++\\123\000\095\003\134\000\095\003\000\000\
++\\001\000\001\000\098\003\002\000\098\003\003\000\098\003\007\000\098\003\
++\\008\000\098\003\032\000\098\003\033\000\098\003\055\000\098\003\
++\\056\000\098\003\057\000\098\003\061\000\098\003\062\000\098\003\
++\\069\000\098\003\070\000\098\003\077\000\098\003\078\000\098\003\
++\\079\000\098\003\080\000\098\003\082\000\098\003\083\000\098\003\
++\\085\000\098\003\087\000\098\003\088\000\098\003\089\000\098\003\
++\\094\000\098\003\104\000\098\003\105\000\098\003\106\000\098\003\
++\\107\000\098\003\117\000\098\003\118\000\098\003\121\000\098\003\
++\\123\000\098\003\000\000\
++\\001\000\001\000\098\003\003\000\098\003\004\000\098\003\007\000\098\003\
++\\008\000\098\003\032\000\098\003\033\000\098\003\055\000\098\003\
++\\056\000\098\003\057\000\098\003\061\000\098\003\062\000\098\003\
++\\069\000\098\003\070\000\098\003\077\000\098\003\078\000\098\003\
++\\079\000\098\003\080\000\098\003\082\000\098\003\083\000\098\003\
++\\085\000\098\003\087\000\098\003\088\000\098\003\089\000\098\003\
++\\094\000\098\003\104\000\098\003\105\000\098\003\106\000\098\003\
++\\107\000\098\003\117\000\098\003\118\000\098\003\121\000\098\003\
++\\123\000\098\003\000\000\
++\\001\000\001\000\098\003\003\000\098\003\007\000\098\003\008\000\098\003\
++\\020\000\098\003\030\000\052\000\032\000\098\003\033\000\098\003\
++\\055\000\098\003\056\000\098\003\057\000\098\003\061\000\098\003\
++\\062\000\098\003\069\000\098\003\070\000\098\003\077\000\098\003\
++\\078\000\098\003\079\000\098\003\080\000\098\003\082\000\098\003\
++\\083\000\098\003\085\000\098\003\087\000\098\003\088\000\098\003\
++\\089\000\098\003\094\000\098\003\104\000\098\003\105\000\098\003\
++\\106\000\098\003\107\000\098\003\117\000\098\003\118\000\098\003\
++\\121\000\098\003\123\000\098\003\124\000\051\000\125\000\050\000\000\000\
++\\001\000\001\000\100\003\002\000\100\003\003\000\100\003\004\000\100\003\
++\\007\000\100\003\008\000\100\003\011\000\074\000\013\000\073\000\
++\\014\000\072\000\020\000\100\003\025\000\100\003\030\000\052\000\
++\\032\000\100\003\033\000\100\003\036\000\100\003\055\000\100\003\
++\\056\000\100\003\057\000\100\003\061\000\100\003\062\000\100\003\
++\\069\000\100\003\070\000\100\003\077\000\100\003\078\000\100\003\
++\\079\000\100\003\080\000\100\003\082\000\100\003\083\000\100\003\
++\\085\000\100\003\087\000\100\003\088\000\100\003\089\000\100\003\
++\\094\000\100\003\104\000\100\003\105\000\100\003\106\000\100\003\
++\\107\000\100\003\117\000\100\003\118\000\100\003\121\000\100\003\
++\\123\000\100\003\124\000\051\000\125\000\050\000\134\000\100\003\000\000\
++\\001\000\001\000\101\003\002\000\101\003\003\000\101\003\004\000\101\003\
++\\007\000\101\003\008\000\101\003\020\000\101\003\025\000\101\003\
++\\032\000\101\003\033\000\101\003\036\000\101\003\055\000\101\003\
++\\056\000\101\003\057\000\101\003\061\000\101\003\062\000\101\003\
++\\069\000\101\003\070\000\101\003\077\000\101\003\078\000\101\003\
++\\079\000\101\003\080\000\101\003\082\000\101\003\083\000\101\003\
++\\085\000\101\003\087\000\101\003\088\000\101\003\089\000\101\003\
++\\094\000\101\003\104\000\101\003\105\000\101\003\106\000\101\003\
++\\107\000\101\003\117\000\101\003\118\000\101\003\121\000\101\003\
++\\123\000\101\003\134\000\101\003\000\000\
++\\001\000\001\000\102\003\002\000\102\003\003\000\102\003\004\000\102\003\
++\\007\000\102\003\008\000\102\003\020\000\102\003\025\000\102\003\
++\\030\000\052\000\032\000\102\003\033\000\102\003\055\000\102\003\
++\\056\000\102\003\057\000\102\003\061\000\102\003\062\000\102\003\
++\\069\000\102\003\070\000\102\003\077\000\102\003\078\000\102\003\
++\\079\000\102\003\080\000\102\003\082\000\102\003\083\000\102\003\
++\\085\000\102\003\087\000\102\003\088\000\102\003\089\000\102\003\
++\\094\000\102\003\104\000\102\003\105\000\102\003\106\000\102\003\
++\\107\000\102\003\117\000\102\003\118\000\102\003\121\000\102\003\
++\\123\000\102\003\124\000\051\000\125\000\050\000\134\000\102\003\000\000\
++\\001\000\001\000\103\003\002\000\103\003\003\000\103\003\004\000\103\003\
++\\007\000\103\003\008\000\103\003\020\000\103\003\025\000\103\003\
++\\032\000\103\003\033\000\103\003\055\000\103\003\056\000\103\003\
++\\057\000\103\003\061\000\103\003\062\000\103\003\069\000\103\003\
++\\070\000\103\003\077\000\103\003\078\000\103\003\079\000\103\003\
++\\080\000\103\003\082\000\103\003\083\000\103\003\085\000\103\003\
++\\087\000\103\003\088\000\103\003\089\000\103\003\094\000\103\003\
++\\104\000\103\003\105\000\103\003\106\000\103\003\107\000\103\003\
++\\117\000\103\003\118\000\103\003\121\000\103\003\123\000\103\003\
++\\134\000\103\003\000\000\
++\\001\000\001\000\107\003\002\000\107\003\003\000\107\003\004\000\107\003\
++\\007\000\107\003\008\000\107\003\012\000\107\003\020\000\107\003\
++\\025\000\107\003\032\000\107\003\033\000\107\003\041\000\107\003\
++\\053\000\148\001\055\000\107\003\056\000\107\003\057\000\107\003\
++\\061\000\107\003\062\000\107\003\069\000\107\003\070\000\107\003\
++\\076\000\107\003\077\000\107\003\078\000\107\003\079\000\107\003\
++\\080\000\107\003\082\000\107\003\083\000\107\003\085\000\107\003\
++\\087\000\107\003\088\000\107\003\089\000\107\003\094\000\107\003\
++\\095\000\107\003\098\000\107\003\104\000\107\003\105\000\107\003\
++\\106\000\107\003\107\000\107\003\111\000\107\003\112\000\107\003\
++\\113\000\107\003\117\000\107\003\118\000\107\003\121\000\107\003\
++\\123\000\107\003\134\000\107\003\000\000\
++\\001\000\001\000\108\003\002\000\108\003\003\000\108\003\004\000\108\003\
++\\007\000\108\003\008\000\108\003\012\000\108\003\020\000\108\003\
++\\025\000\108\003\032\000\108\003\033\000\108\003\041\000\108\003\
++\\055\000\108\003\056\000\108\003\057\000\108\003\061\000\108\003\
++\\062\000\108\003\069\000\108\003\070\000\108\003\076\000\108\003\
++\\077\000\108\003\078\000\108\003\079\000\108\003\080\000\108\003\
++\\082\000\108\003\083\000\108\003\085\000\108\003\087\000\108\003\
++\\088\000\108\003\089\000\108\003\094\000\108\003\095\000\108\003\
++\\098\000\108\003\104\000\108\003\105\000\108\003\106\000\108\003\
++\\107\000\108\003\110\000\044\002\111\000\108\003\112\000\108\003\
++\\113\000\108\003\117\000\108\003\118\000\108\003\121\000\108\003\
++\\123\000\108\003\134\000\108\003\000\000\
++\\001\000\001\000\114\003\002\000\114\003\003\000\114\003\004\000\114\003\
++\\007\000\114\003\008\000\114\003\009\000\114\003\012\000\114\003\
++\\019\000\114\003\020\000\114\003\025\000\114\003\032\000\114\003\
++\\033\000\114\003\055\000\114\003\056\000\114\003\057\000\114\003\
++\\060\000\114\003\061\000\114\003\062\000\114\003\069\000\114\003\
++\\070\000\114\003\077\000\114\003\078\000\114\003\079\000\114\003\
++\\080\000\114\003\082\000\114\003\083\000\114\003\085\000\114\003\
++\\087\000\114\003\088\000\114\003\089\000\114\003\094\000\114\003\
++\\104\000\114\003\105\000\114\003\106\000\114\003\107\000\114\003\
++\\117\000\114\003\118\000\114\003\121\000\114\003\123\000\114\003\
++\\134\000\114\003\000\000\
++\\001\000\001\000\115\003\002\000\115\003\003\000\115\003\004\000\115\003\
++\\007\000\115\003\008\000\115\003\009\000\115\003\012\000\115\003\
++\\019\000\115\003\020\000\115\003\025\000\115\003\032\000\115\003\
++\\033\000\115\003\055\000\115\003\056\000\115\003\057\000\115\003\
++\\060\000\115\003\061\000\115\003\062\000\115\003\069\000\115\003\
++\\070\000\115\003\077\000\115\003\078\000\115\003\079\000\115\003\
++\\080\000\115\003\082\000\115\003\083\000\115\003\085\000\115\003\
++\\087\000\115\003\088\000\115\003\089\000\115\003\094\000\115\003\
++\\104\000\115\003\105\000\115\003\106\000\115\003\107\000\115\003\
++\\117\000\115\003\118\000\115\003\121\000\115\003\123\000\115\003\
++\\134\000\115\003\000\000\
++\\001\000\001\000\116\003\002\000\116\003\003\000\116\003\004\000\116\003\
++\\007\000\116\003\008\000\116\003\009\000\116\003\012\000\116\003\
++\\019\000\116\003\020\000\116\003\025\000\116\003\032\000\116\003\
++\\033\000\116\003\055\000\116\003\056\000\116\003\057\000\116\003\
++\\060\000\116\003\061\000\116\003\062\000\116\003\069\000\116\003\
++\\070\000\116\003\077\000\116\003\078\000\116\003\079\000\116\003\
++\\080\000\116\003\082\000\116\003\083\000\116\003\085\000\116\003\
++\\087\000\116\003\088\000\116\003\089\000\116\003\094\000\116\003\
++\\104\000\116\003\105\000\116\003\106\000\116\003\107\000\116\003\
++\\117\000\116\003\118\000\116\003\121\000\116\003\123\000\116\003\
++\\134\000\116\003\000\000\
++\\001\000\001\000\117\003\002\000\117\003\003\000\117\003\004\000\117\003\
++\\007\000\117\003\008\000\117\003\009\000\117\003\012\000\117\003\
++\\019\000\117\003\020\000\117\003\025\000\117\003\032\000\117\003\
++\\033\000\117\003\055\000\117\003\056\000\117\003\057\000\117\003\
++\\060\000\117\003\061\000\117\003\062\000\117\003\069\000\117\003\
++\\070\000\117\003\077\000\117\003\078\000\117\003\079\000\117\003\
++\\080\000\117\003\082\000\117\003\083\000\117\003\085\000\117\003\
++\\087\000\117\003\088\000\117\003\089\000\117\003\094\000\117\003\
++\\104\000\117\003\105\000\117\003\106\000\117\003\107\000\117\003\
++\\117\000\117\003\118\000\117\003\121\000\117\003\123\000\117\003\
++\\134\000\117\003\000\000\
++\\001\000\001\000\118\003\002\000\118\003\003\000\118\003\004\000\118\003\
++\\007\000\118\003\008\000\118\003\012\000\254\000\020\000\118\003\
++\\025\000\118\003\032\000\118\003\033\000\118\003\055\000\118\003\
++\\056\000\118\003\057\000\118\003\061\000\118\003\062\000\118\003\
++\\069\000\118\003\070\000\118\003\076\000\118\003\077\000\118\003\
++\\078\000\118\003\079\000\118\003\080\000\118\003\082\000\118\003\
++\\083\000\118\003\085\000\118\003\087\000\118\003\088\000\118\003\
++\\089\000\118\003\094\000\118\003\104\000\118\003\105\000\118\003\
++\\106\000\118\003\107\000\118\003\117\000\118\003\118\000\118\003\
++\\121\000\118\003\123\000\118\003\134\000\118\003\000\000\
++\\001\000\001\000\119\003\002\000\119\003\003\000\119\003\004\000\119\003\
++\\007\000\119\003\008\000\119\003\020\000\119\003\025\000\119\003\
++\\032\000\119\003\033\000\119\003\055\000\119\003\056\000\119\003\
++\\057\000\119\003\061\000\119\003\062\000\119\003\069\000\119\003\
++\\070\000\119\003\076\000\119\003\077\000\119\003\078\000\119\003\
++\\079\000\119\003\080\000\119\003\082\000\119\003\083\000\119\003\
++\\085\000\119\003\087\000\119\003\088\000\119\003\089\000\119\003\
++\\094\000\119\003\104\000\119\003\105\000\119\003\106\000\119\003\
++\\107\000\119\003\117\000\119\003\118\000\119\003\121\000\119\003\
++\\123\000\119\003\134\000\119\003\000\000\
++\\001\000\001\000\120\003\002\000\120\003\003\000\120\003\004\000\120\003\
++\\007\000\120\003\008\000\120\003\012\000\120\003\020\000\120\003\
++\\025\000\120\003\032\000\120\003\033\000\120\003\055\000\120\003\
++\\056\000\120\003\057\000\120\003\061\000\120\003\062\000\120\003\
++\\069\000\120\003\070\000\120\003\076\000\120\003\077\000\120\003\
++\\078\000\120\003\079\000\120\003\080\000\120\003\082\000\120\003\
++\\083\000\120\003\085\000\120\003\087\000\120\003\088\000\120\003\
++\\089\000\120\003\094\000\120\003\104\000\120\003\105\000\120\003\
++\\106\000\120\003\107\000\120\003\117\000\120\003\118\000\120\003\
++\\121\000\120\003\123\000\120\003\134\000\120\003\000\000\
++\\001\000\001\000\121\003\002\000\121\003\003\000\121\003\004\000\121\003\
++\\007\000\121\003\008\000\121\003\012\000\121\003\020\000\121\003\
++\\025\000\121\003\032\000\121\003\033\000\121\003\042\000\134\001\
++\\055\000\121\003\056\000\121\003\057\000\121\003\061\000\121\003\
++\\062\000\121\003\069\000\121\003\070\000\121\003\076\000\121\003\
++\\077\000\121\003\078\000\121\003\079\000\121\003\080\000\121\003\
++\\082\000\121\003\083\000\121\003\085\000\121\003\087\000\121\003\
++\\088\000\121\003\089\000\121\003\094\000\121\003\104\000\121\003\
++\\105\000\121\003\106\000\121\003\107\000\121\003\117\000\121\003\
++\\118\000\121\003\121\000\121\003\123\000\121\003\134\000\121\003\000\000\
++\\001\000\001\000\133\003\002\000\133\003\003\000\133\003\004\000\133\003\
++\\007\000\133\003\008\000\133\003\012\000\133\003\020\000\133\003\
++\\025\000\133\003\032\000\133\003\033\000\133\003\041\000\221\000\
++\\055\000\133\003\056\000\133\003\057\000\133\003\061\000\133\003\
++\\062\000\133\003\069\000\133\003\070\000\133\003\076\000\133\003\
++\\077\000\133\003\078\000\133\003\079\000\133\003\080\000\133\003\
++\\082\000\133\003\083\000\133\003\085\000\133\003\087\000\133\003\
++\\088\000\133\003\089\000\133\003\094\000\133\003\104\000\133\003\
++\\105\000\133\003\106\000\133\003\107\000\133\003\117\000\133\003\
++\\118\000\133\003\121\000\133\003\123\000\133\003\134\000\133\003\000\000\
++\\001\000\001\000\134\003\002\000\134\003\003\000\134\003\004\000\134\003\
++\\007\000\134\003\008\000\134\003\012\000\134\003\020\000\134\003\
++\\025\000\134\003\032\000\134\003\033\000\134\003\055\000\134\003\
++\\056\000\134\003\057\000\134\003\061\000\134\003\062\000\134\003\
++\\069\000\134\003\070\000\134\003\076\000\134\003\077\000\134\003\
++\\078\000\134\003\079\000\134\003\080\000\134\003\082\000\134\003\
++\\083\000\134\003\085\000\134\003\087\000\134\003\088\000\134\003\
++\\089\000\134\003\094\000\134\003\104\000\134\003\105\000\134\003\
++\\106\000\134\003\107\000\134\003\117\000\134\003\118\000\134\003\
++\\121\000\134\003\123\000\134\003\134\000\134\003\000\000\
++\\001\000\001\000\135\003\002\000\135\003\003\000\135\003\004\000\135\003\
++\\007\000\135\003\008\000\135\003\012\000\135\003\020\000\135\003\
++\\025\000\135\003\032\000\135\003\033\000\135\003\041\000\135\003\
++\\055\000\135\003\056\000\135\003\057\000\135\003\061\000\135\003\
++\\062\000\135\003\069\000\135\003\070\000\135\003\076\000\135\003\
++\\077\000\135\003\078\000\135\003\079\000\135\003\080\000\135\003\
++\\082\000\135\003\083\000\135\003\085\000\135\003\087\000\135\003\
++\\088\000\135\003\089\000\135\003\094\000\135\003\104\000\135\003\
++\\105\000\135\003\106\000\135\003\107\000\135\003\117\000\135\003\
++\\118\000\135\003\121\000\135\003\123\000\135\003\134\000\135\003\000\000\
++\\001\000\001\000\136\003\002\000\136\003\003\000\136\003\004\000\136\003\
++\\007\000\136\003\008\000\136\003\012\000\136\003\020\000\136\003\
++\\025\000\136\003\032\000\136\003\033\000\136\003\041\000\136\003\
++\\053\000\148\001\055\000\136\003\056\000\136\003\057\000\136\003\
++\\061\000\136\003\062\000\136\003\069\000\136\003\070\000\136\003\
++\\076\000\136\003\077\000\136\003\078\000\136\003\079\000\136\003\
++\\080\000\136\003\082\000\136\003\083\000\136\003\085\000\136\003\
++\\087\000\136\003\088\000\136\003\089\000\136\003\094\000\136\003\
++\\104\000\136\003\105\000\136\003\106\000\136\003\107\000\136\003\
++\\117\000\136\003\118\000\136\003\121\000\136\003\123\000\136\003\
++\\134\000\136\003\000\000\
++\\001\000\001\000\137\003\002\000\137\003\003\000\137\003\004\000\137\003\
++\\007\000\137\003\008\000\137\003\012\000\137\003\020\000\137\003\
++\\025\000\137\003\032\000\137\003\033\000\137\003\041\000\137\003\
++\\055\000\137\003\056\000\137\003\057\000\137\003\061\000\137\003\
++\\062\000\137\003\069\000\137\003\070\000\137\003\076\000\137\003\
++\\077\000\137\003\078\000\137\003\079\000\137\003\080\000\137\003\
++\\082\000\137\003\083\000\137\003\085\000\137\003\087\000\137\003\
++\\088\000\137\003\089\000\137\003\094\000\137\003\104\000\137\003\
++\\105\000\137\003\106\000\137\003\107\000\137\003\117\000\137\003\
++\\118\000\137\003\121\000\216\002\123\000\137\003\134\000\137\003\000\000\
++\\001\000\001\000\138\003\002\000\138\003\003\000\138\003\004\000\138\003\
++\\007\000\138\003\008\000\138\003\012\000\138\003\020\000\138\003\
++\\025\000\138\003\032\000\138\003\033\000\138\003\041\000\138\003\
++\\053\000\148\001\055\000\138\003\056\000\138\003\057\000\138\003\
++\\061\000\138\003\062\000\138\003\069\000\138\003\070\000\138\003\
++\\076\000\138\003\077\000\138\003\078\000\138\003\079\000\138\003\
++\\080\000\138\003\082\000\138\003\083\000\138\003\085\000\138\003\
++\\087\000\138\003\088\000\138\003\089\000\138\003\094\000\138\003\
++\\104\000\138\003\105\000\138\003\106\000\138\003\107\000\138\003\
++\\117\000\138\003\118\000\138\003\121\000\138\003\123\000\138\003\
++\\134\000\138\003\000\000\
++\\001\000\001\000\139\003\002\000\139\003\003\000\139\003\004\000\139\003\
++\\007\000\139\003\008\000\139\003\012\000\139\003\020\000\139\003\
++\\025\000\139\003\032\000\139\003\033\000\139\003\041\000\139\003\
++\\055\000\139\003\056\000\139\003\057\000\139\003\061\000\139\003\
++\\062\000\139\003\069\000\139\003\070\000\139\003\076\000\139\003\
++\\077\000\139\003\078\000\139\003\079\000\139\003\080\000\139\003\
++\\082\000\139\003\083\000\139\003\085\000\228\002\087\000\139\003\
++\\088\000\139\003\089\000\139\003\094\000\139\003\104\000\139\003\
++\\105\000\139\003\106\000\139\003\107\000\139\003\117\000\139\003\
++\\118\000\139\003\121\000\139\003\123\000\139\003\134\000\139\003\000\000\
++\\001\000\001\000\140\003\002\000\140\003\003\000\140\003\004\000\140\003\
++\\007\000\140\003\008\000\140\003\012\000\140\003\020\000\140\003\
++\\025\000\140\003\032\000\140\003\033\000\140\003\041\000\140\003\
++\\055\000\140\003\056\000\140\003\057\000\140\003\061\000\140\003\
++\\062\000\140\003\069\000\140\003\070\000\140\003\076\000\140\003\
++\\077\000\140\003\078\000\140\003\079\000\140\003\080\000\140\003\
++\\082\000\140\003\083\000\140\003\085\000\140\003\087\000\140\003\
++\\088\000\140\003\089\000\140\003\094\000\140\003\095\000\140\003\
++\\098\000\191\002\104\000\140\003\105\000\140\003\106\000\140\003\
++\\107\000\140\003\117\000\140\003\118\000\140\003\121\000\140\003\
++\\123\000\140\003\134\000\140\003\000\000\
++\\001\000\001\000\141\003\002\000\141\003\003\000\141\003\004\000\141\003\
++\\007\000\141\003\008\000\141\003\012\000\141\003\020\000\141\003\
++\\025\000\141\003\032\000\141\003\033\000\141\003\041\000\141\003\
++\\053\000\148\001\055\000\141\003\056\000\141\003\057\000\141\003\
++\\061\000\141\003\062\000\141\003\069\000\141\003\070\000\141\003\
++\\076\000\141\003\077\000\141\003\078\000\141\003\079\000\141\003\
++\\080\000\141\003\082\000\141\003\083\000\141\003\085\000\141\003\
++\\087\000\141\003\088\000\141\003\089\000\141\003\094\000\141\003\
++\\095\000\141\003\104\000\141\003\105\000\141\003\106\000\141\003\
++\\107\000\141\003\117\000\141\003\118\000\141\003\121\000\141\003\
++\\123\000\141\003\134\000\141\003\000\000\
++\\001\000\001\000\142\003\002\000\142\003\003\000\142\003\004\000\142\003\
++\\005\000\223\000\007\000\142\003\008\000\142\003\012\000\142\003\
++\\019\000\142\003\020\000\142\003\025\000\142\003\026\000\142\003\
++\\030\000\142\003\032\000\142\003\033\000\142\003\041\000\142\003\
++\\055\000\142\003\056\000\142\003\057\000\142\003\061\000\142\003\
++\\062\000\142\003\069\000\142\003\070\000\142\003\076\000\142\003\
++\\077\000\142\003\078\000\142\003\079\000\142\003\080\000\142\003\
++\\082\000\142\003\083\000\142\003\085\000\142\003\087\000\142\003\
++\\088\000\142\003\089\000\142\003\094\000\142\003\095\000\142\003\
++\\098\000\142\003\104\000\142\003\105\000\142\003\106\000\142\003\
++\\107\000\142\003\108\000\142\003\109\000\142\003\110\000\142\003\
++\\111\000\142\003\112\000\142\003\113\000\142\003\117\000\142\003\
++\\118\000\142\003\121\000\142\003\123\000\142\003\124\000\142\003\
++\\125\000\142\003\127\000\142\003\128\000\142\003\131\000\142\003\
++\\134\000\142\003\000\000\
++\\001\000\001\000\143\003\002\000\143\003\003\000\143\003\004\000\143\003\
++\\007\000\143\003\008\000\143\003\012\000\143\003\019\000\143\003\
++\\020\000\143\003\025\000\143\003\026\000\143\003\030\000\143\003\
++\\032\000\143\003\033\000\143\003\041\000\143\003\042\000\134\001\
++\\055\000\143\003\056\000\143\003\057\000\143\003\061\000\143\003\
++\\062\000\143\003\069\000\143\003\070\000\143\003\076\000\143\003\
++\\077\000\143\003\078\000\143\003\079\000\143\003\080\000\143\003\
++\\082\000\143\003\083\000\143\003\085\000\143\003\087\000\143\003\
++\\088\000\143\003\089\000\143\003\094\000\143\003\095\000\143\003\
++\\098\000\143\003\104\000\143\003\105\000\143\003\106\000\143\003\
++\\107\000\143\003\108\000\143\003\109\000\143\003\110\000\143\003\
++\\111\000\143\003\112\000\143\003\113\000\143\003\117\000\143\003\
++\\118\000\143\003\121\000\143\003\123\000\143\003\124\000\143\003\
++\\125\000\143\003\127\000\143\003\128\000\143\003\131\000\143\003\
++\\134\000\143\003\000\000\
++\\001\000\001\000\144\003\002\000\144\003\003\000\144\003\004\000\144\003\
++\\007\000\144\003\008\000\144\003\012\000\144\003\020\000\144\003\
++\\025\000\144\003\032\000\144\003\033\000\144\003\041\000\144\003\
++\\055\000\144\003\056\000\144\003\057\000\144\003\061\000\144\003\
++\\062\000\144\003\069\000\144\003\070\000\144\003\076\000\144\003\
++\\077\000\144\003\078\000\144\003\079\000\144\003\080\000\144\003\
++\\082\000\144\003\083\000\144\003\085\000\144\003\087\000\144\003\
++\\088\000\144\003\089\000\144\003\094\000\144\003\095\000\144\003\
++\\098\000\144\003\104\000\144\003\105\000\144\003\106\000\144\003\
++\\107\000\144\003\111\000\144\003\112\000\144\003\113\000\110\002\
++\\117\000\144\003\118\000\144\003\121\000\144\003\123\000\144\003\
++\\134\000\144\003\000\000\
++\\001\000\001\000\145\003\002\000\145\003\003\000\145\003\004\000\145\003\
++\\007\000\145\003\008\000\145\003\012\000\145\003\020\000\145\003\
++\\025\000\145\003\032\000\145\003\033\000\145\003\041\000\145\003\
++\\055\000\145\003\056\000\145\003\057\000\145\003\061\000\145\003\
++\\062\000\145\003\069\000\145\003\070\000\145\003\076\000\145\003\
++\\077\000\145\003\078\000\145\003\079\000\145\003\080\000\145\003\
++\\082\000\145\003\083\000\145\003\085\000\145\003\087\000\145\003\
++\\088\000\145\003\089\000\145\003\094\000\145\003\095\000\145\003\
++\\098\000\145\003\104\000\145\003\105\000\145\003\106\000\145\003\
++\\107\000\145\003\111\000\145\003\112\000\145\003\117\000\145\003\
++\\118\000\145\003\121\000\145\003\123\000\145\003\134\000\145\003\000\000\
++\\001\000\001\000\146\003\002\000\146\003\003\000\146\003\004\000\146\003\
++\\007\000\146\003\008\000\146\003\012\000\146\003\020\000\146\003\
++\\025\000\146\003\032\000\146\003\033\000\146\003\041\000\146\003\
++\\055\000\146\003\056\000\146\003\057\000\146\003\061\000\146\003\
++\\062\000\146\003\069\000\146\003\070\000\146\003\076\000\146\003\
++\\077\000\146\003\078\000\146\003\079\000\146\003\080\000\146\003\
++\\082\000\146\003\083\000\146\003\085\000\146\003\087\000\146\003\
++\\088\000\146\003\089\000\146\003\094\000\146\003\095\000\146\003\
++\\098\000\146\003\104\000\146\003\105\000\146\003\106\000\146\003\
++\\107\000\146\003\111\000\146\003\112\000\146\003\117\000\146\003\
++\\118\000\146\003\121\000\146\003\123\000\146\003\134\000\146\003\000\000\
++\\001\000\001\000\147\003\002\000\147\003\003\000\147\003\004\000\147\003\
++\\007\000\147\003\008\000\147\003\012\000\147\003\020\000\147\003\
++\\025\000\147\003\032\000\147\003\033\000\147\003\041\000\147\003\
++\\055\000\147\003\056\000\147\003\057\000\147\003\061\000\147\003\
++\\062\000\147\003\069\000\147\003\070\000\147\003\076\000\147\003\
++\\077\000\147\003\078\000\147\003\079\000\147\003\080\000\147\003\
++\\082\000\147\003\083\000\147\003\085\000\147\003\087\000\147\003\
++\\088\000\147\003\089\000\147\003\094\000\147\003\095\000\147\003\
++\\098\000\147\003\104\000\147\003\105\000\147\003\106\000\147\003\
++\\107\000\147\003\111\000\147\003\112\000\147\003\117\000\147\003\
++\\118\000\147\003\121\000\147\003\123\000\147\003\134\000\147\003\000\000\
++\\001\000\001\000\148\003\002\000\148\003\003\000\148\003\004\000\148\003\
++\\005\000\148\003\007\000\148\003\008\000\148\003\009\000\148\003\
++\\010\000\148\003\011\000\148\003\012\000\148\003\013\000\148\003\
++\\014\000\148\003\016\000\148\003\018\000\148\003\019\000\148\003\
++\\020\000\148\003\021\000\148\003\022\000\148\003\023\000\148\003\
++\\024\000\148\003\025\000\148\003\026\000\148\003\029\000\148\003\
++\\030\000\148\003\032\000\148\003\033\000\148\003\034\000\148\003\
++\\035\000\148\003\036\000\148\003\040\000\148\003\041\000\148\003\
++\\043\000\148\003\047\000\148\003\048\000\148\003\049\000\148\003\
++\\050\000\148\003\051\000\148\003\053\000\148\003\054\000\148\003\
++\\055\000\148\003\056\000\148\003\057\000\148\003\060\000\148\003\
++\\061\000\148\003\062\000\148\003\069\000\148\003\070\000\148\003\
++\\076\000\148\003\077\000\148\003\078\000\148\003\079\000\148\003\
++\\080\000\148\003\081\000\148\003\082\000\148\003\083\000\148\003\
++\\085\000\148\003\087\000\148\003\088\000\148\003\089\000\148\003\
++\\094\000\148\003\095\000\148\003\098\000\148\003\100\000\148\003\
++\\101\000\148\003\104\000\148\003\105\000\148\003\106\000\148\003\
++\\107\000\148\003\108\000\148\003\109\000\148\003\110\000\148\003\
++\\111\000\148\003\112\000\148\003\113\000\148\003\117\000\148\003\
++\\118\000\148\003\121\000\148\003\123\000\148\003\124\000\148\003\
++\\125\000\148\003\127\000\148\003\128\000\148\003\129\000\148\003\
++\\130\000\148\003\131\000\148\003\132\000\148\003\134\000\148\003\000\000\
++\\001\000\001\000\149\003\002\000\149\003\003\000\149\003\004\000\149\003\
++\\005\000\149\003\007\000\149\003\008\000\149\003\009\000\149\003\
++\\010\000\149\003\011\000\149\003\012\000\149\003\013\000\149\003\
++\\014\000\149\003\016\000\149\003\018\000\149\003\019\000\149\003\
++\\020\000\149\003\021\000\149\003\022\000\149\003\023\000\149\003\
++\\024\000\149\003\025\000\149\003\026\000\149\003\029\000\149\003\
++\\030\000\149\003\032\000\149\003\033\000\149\003\034\000\149\003\
++\\035\000\149\003\036\000\149\003\040\000\149\003\041\000\149\003\
++\\043\000\149\003\047\000\149\003\048\000\149\003\049\000\149\003\
++\\050\000\149\003\051\000\149\003\053\000\149\003\054\000\149\003\
++\\055\000\149\003\056\000\149\003\057\000\149\003\060\000\149\003\
++\\061\000\149\003\062\000\149\003\069\000\149\003\070\000\149\003\
++\\076\000\149\003\077\000\149\003\078\000\149\003\079\000\149\003\
++\\080\000\149\003\081\000\149\003\082\000\149\003\083\000\149\003\
++\\085\000\149\003\087\000\149\003\088\000\149\003\089\000\149\003\
++\\094\000\149\003\095\000\149\003\098\000\149\003\100\000\149\003\
++\\101\000\149\003\104\000\149\003\105\000\149\003\106\000\149\003\
++\\107\000\149\003\108\000\149\003\109\000\149\003\110\000\149\003\
++\\111\000\149\003\112\000\149\003\113\000\149\003\117\000\149\003\
++\\118\000\149\003\121\000\149\003\123\000\149\003\124\000\149\003\
++\\125\000\149\003\127\000\149\003\128\000\149\003\129\000\149\003\
++\\130\000\149\003\131\000\149\003\132\000\149\003\134\000\149\003\000\000\
++\\001\000\001\000\150\003\002\000\150\003\003\000\150\003\004\000\150\003\
++\\005\000\150\003\007\000\150\003\008\000\150\003\009\000\150\003\
++\\010\000\150\003\011\000\150\003\012\000\150\003\013\000\150\003\
++\\014\000\150\003\016\000\150\003\018\000\150\003\019\000\150\003\
++\\020\000\150\003\021\000\150\003\022\000\150\003\023\000\150\003\
++\\024\000\150\003\025\000\150\003\026\000\150\003\029\000\150\003\
++\\030\000\150\003\032\000\150\003\033\000\150\003\034\000\150\003\
++\\035\000\150\003\036\000\150\003\040\000\150\003\041\000\150\003\
++\\043\000\150\003\047\000\150\003\048\000\150\003\049\000\150\003\
++\\050\000\150\003\051\000\150\003\053\000\150\003\054\000\150\003\
++\\055\000\150\003\056\000\150\003\057\000\150\003\060\000\150\003\
++\\061\000\150\003\062\000\150\003\069\000\150\003\070\000\150\003\
++\\076\000\150\003\077\000\150\003\078\000\150\003\079\000\150\003\
++\\080\000\150\003\081\000\150\003\082\000\150\003\083\000\150\003\
++\\085\000\150\003\087\000\150\003\088\000\150\003\089\000\150\003\
++\\094\000\150\003\095\000\150\003\098\000\150\003\100\000\150\003\
++\\101\000\150\003\104\000\150\003\105\000\150\003\106\000\150\003\
++\\107\000\150\003\108\000\150\003\109\000\150\003\110\000\150\003\
++\\111\000\150\003\112\000\150\003\113\000\150\003\117\000\150\003\
++\\118\000\150\003\121\000\150\003\123\000\150\003\124\000\150\003\
++\\125\000\150\003\127\000\150\003\128\000\150\003\129\000\150\003\
++\\130\000\150\003\131\000\150\003\132\000\150\003\134\000\150\003\000\000\
++\\001\000\001\000\151\003\002\000\151\003\003\000\151\003\004\000\151\003\
++\\005\000\151\003\007\000\151\003\008\000\151\003\009\000\151\003\
++\\010\000\151\003\011\000\151\003\012\000\151\003\013\000\151\003\
++\\014\000\151\003\016\000\151\003\018\000\151\003\019\000\151\003\
++\\020\000\151\003\021\000\151\003\022\000\151\003\023\000\151\003\
++\\024\000\151\003\025\000\151\003\026\000\151\003\029\000\151\003\
++\\030\000\151\003\032\000\151\003\033\000\151\003\034\000\151\003\
++\\035\000\151\003\036\000\151\003\040\000\151\003\041\000\151\003\
++\\043\000\151\003\047\000\151\003\048\000\151\003\049\000\151\003\
++\\050\000\151\003\051\000\151\003\053\000\151\003\054\000\151\003\
++\\055\000\151\003\056\000\151\003\057\000\151\003\060\000\151\003\
++\\061\000\151\003\062\000\151\003\069\000\151\003\070\000\151\003\
++\\076\000\151\003\077\000\151\003\078\000\151\003\079\000\151\003\
++\\080\000\151\003\081\000\151\003\082\000\151\003\083\000\151\003\
++\\085\000\151\003\087\000\151\003\088\000\151\003\089\000\151\003\
++\\094\000\151\003\095\000\151\003\098\000\151\003\100\000\151\003\
++\\101\000\151\003\104\000\151\003\105\000\151\003\106\000\151\003\
++\\107\000\151\003\108\000\151\003\109\000\151\003\110\000\151\003\
++\\111\000\151\003\112\000\151\003\113\000\151\003\117\000\151\003\
++\\118\000\151\003\121\000\151\003\123\000\151\003\124\000\151\003\
++\\125\000\151\003\127\000\151\003\128\000\151\003\129\000\151\003\
++\\130\000\151\003\131\000\151\003\132\000\151\003\134\000\151\003\000\000\
++\\001\000\001\000\152\003\002\000\152\003\003\000\152\003\004\000\152\003\
++\\007\000\152\003\008\000\152\003\012\000\152\003\020\000\152\003\
++\\025\000\152\003\032\000\152\003\033\000\152\003\041\000\152\003\
++\\055\000\152\003\056\000\152\003\057\000\152\003\061\000\152\003\
++\\062\000\152\003\069\000\152\003\070\000\152\003\076\000\152\003\
++\\077\000\152\003\078\000\152\003\079\000\152\003\080\000\152\003\
++\\082\000\152\003\083\000\152\003\085\000\152\003\087\000\152\003\
++\\088\000\152\003\089\000\152\003\094\000\152\003\095\000\152\003\
++\\098\000\152\003\104\000\152\003\105\000\152\003\106\000\152\003\
++\\107\000\152\003\111\000\152\003\112\000\152\003\117\000\152\003\
++\\118\000\152\003\121\000\152\003\123\000\152\003\134\000\152\003\000\000\
++\\001\000\001\000\153\003\002\000\153\003\003\000\153\003\004\000\153\003\
++\\007\000\153\003\008\000\153\003\012\000\153\003\020\000\153\003\
++\\025\000\153\003\032\000\153\003\033\000\153\003\041\000\153\003\
++\\055\000\153\003\056\000\153\003\057\000\153\003\061\000\153\003\
++\\062\000\153\003\069\000\153\003\070\000\153\003\076\000\153\003\
++\\077\000\153\003\078\000\153\003\079\000\153\003\080\000\153\003\
++\\082\000\153\003\083\000\153\003\085\000\153\003\087\000\153\003\
++\\088\000\153\003\089\000\153\003\094\000\153\003\095\000\153\003\
++\\098\000\153\003\104\000\153\003\105\000\153\003\106\000\153\003\
++\\107\000\153\003\111\000\153\003\112\000\153\003\117\000\153\003\
++\\118\000\153\003\121\000\153\003\123\000\153\003\134\000\153\003\000\000\
++\\001\000\001\000\154\003\002\000\154\003\003\000\154\003\004\000\154\003\
++\\007\000\154\003\008\000\154\003\012\000\154\003\020\000\154\003\
++\\025\000\154\003\032\000\154\003\033\000\154\003\041\000\154\003\
++\\055\000\154\003\056\000\154\003\057\000\154\003\061\000\154\003\
++\\062\000\154\003\069\000\154\003\070\000\154\003\076\000\154\003\
++\\077\000\154\003\078\000\154\003\079\000\154\003\080\000\154\003\
++\\082\000\154\003\083\000\154\003\085\000\154\003\087\000\154\003\
++\\088\000\154\003\089\000\154\003\094\000\154\003\095\000\154\003\
++\\098\000\154\003\104\000\154\003\105\000\154\003\106\000\154\003\
++\\107\000\154\003\111\000\154\003\112\000\154\003\117\000\154\003\
++\\118\000\154\003\121\000\154\003\123\000\154\003\134\000\154\003\000\000\
++\\001\000\001\000\155\003\002\000\155\003\003\000\155\003\004\000\155\003\
++\\007\000\155\003\008\000\155\003\012\000\155\003\020\000\155\003\
++\\025\000\155\003\032\000\155\003\033\000\155\003\041\000\155\003\
++\\055\000\155\003\056\000\155\003\057\000\155\003\061\000\155\003\
++\\062\000\155\003\069\000\155\003\070\000\155\003\076\000\155\003\
++\\077\000\155\003\078\000\155\003\079\000\155\003\080\000\155\003\
++\\082\000\155\003\083\000\155\003\085\000\155\003\087\000\155\003\
++\\088\000\155\003\089\000\155\003\094\000\155\003\095\000\155\003\
++\\098\000\155\003\104\000\155\003\105\000\155\003\106\000\155\003\
++\\107\000\155\003\111\000\155\003\112\000\155\003\117\000\155\003\
++\\118\000\155\003\121\000\155\003\123\000\155\003\134\000\155\003\000\000\
++\\001\000\001\000\156\003\002\000\156\003\003\000\156\003\004\000\156\003\
++\\007\000\156\003\008\000\156\003\009\000\179\002\012\000\178\002\
++\\020\000\156\003\025\000\156\003\032\000\156\003\033\000\156\003\
++\\041\000\156\003\055\000\156\003\056\000\156\003\057\000\156\003\
++\\061\000\156\003\062\000\156\003\069\000\156\003\070\000\156\003\
++\\076\000\156\003\077\000\156\003\078\000\156\003\079\000\156\003\
++\\080\000\156\003\082\000\156\003\083\000\156\003\085\000\156\003\
++\\087\000\156\003\088\000\156\003\089\000\156\003\094\000\156\003\
++\\095\000\156\003\098\000\156\003\104\000\156\003\105\000\156\003\
++\\106\000\156\003\107\000\156\003\111\000\156\003\112\000\156\003\
++\\117\000\156\003\118\000\156\003\121\000\156\003\123\000\156\003\
++\\134\000\156\003\000\000\
++\\001\000\001\000\156\003\002\000\156\003\003\000\156\003\004\000\156\003\
++\\007\000\156\003\008\000\156\003\012\000\178\002\020\000\156\003\
++\\025\000\156\003\032\000\156\003\033\000\156\003\041\000\156\003\
++\\055\000\156\003\056\000\156\003\057\000\156\003\061\000\156\003\
++\\062\000\156\003\069\000\156\003\070\000\156\003\076\000\156\003\
++\\077\000\156\003\078\000\156\003\079\000\156\003\080\000\156\003\
++\\082\000\156\003\083\000\156\003\085\000\156\003\087\000\156\003\
++\\088\000\156\003\089\000\156\003\094\000\156\003\095\000\156\003\
++\\098\000\156\003\104\000\156\003\105\000\156\003\106\000\156\003\
++\\107\000\156\003\111\000\156\003\112\000\156\003\117\000\156\003\
++\\118\000\156\003\121\000\156\003\123\000\156\003\134\000\156\003\000\000\
++\\001\000\001\000\157\003\002\000\157\003\003\000\157\003\004\000\157\003\
++\\007\000\157\003\008\000\157\003\012\000\157\003\020\000\157\003\
++\\025\000\157\003\032\000\157\003\033\000\157\003\041\000\157\003\
++\\053\000\148\001\055\000\157\003\056\000\157\003\057\000\157\003\
++\\061\000\157\003\062\000\157\003\069\000\157\003\070\000\157\003\
++\\076\000\157\003\077\000\157\003\078\000\157\003\079\000\157\003\
++\\080\000\157\003\082\000\157\003\083\000\157\003\085\000\157\003\
++\\087\000\157\003\088\000\157\003\089\000\157\003\094\000\157\003\
++\\095\000\157\003\098\000\157\003\104\000\157\003\105\000\157\003\
++\\106\000\157\003\107\000\157\003\111\000\157\003\112\000\157\003\
++\\117\000\157\003\118\000\157\003\121\000\157\003\123\000\157\003\
++\\134\000\157\003\000\000\
++\\001\000\001\000\158\003\002\000\158\003\003\000\158\003\004\000\158\003\
++\\007\000\158\003\008\000\158\003\012\000\158\003\020\000\158\003\
++\\025\000\158\003\032\000\158\003\033\000\158\003\041\000\158\003\
++\\055\000\158\003\056\000\158\003\057\000\158\003\061\000\158\003\
++\\062\000\158\003\069\000\158\003\070\000\158\003\076\000\158\003\
++\\077\000\158\003\078\000\158\003\079\000\158\003\080\000\158\003\
++\\082\000\158\003\083\000\158\003\085\000\158\003\087\000\158\003\
++\\088\000\158\003\089\000\158\003\094\000\158\003\095\000\158\003\
++\\098\000\158\003\104\000\158\003\105\000\158\003\106\000\158\003\
++\\107\000\158\003\111\000\158\003\112\000\147\002\117\000\158\003\
++\\118\000\158\003\121\000\158\003\123\000\158\003\134\000\158\003\000\000\
++\\001\000\001\000\159\003\002\000\159\003\003\000\159\003\004\000\159\003\
++\\007\000\159\003\008\000\159\003\012\000\159\003\020\000\159\003\
++\\025\000\159\003\032\000\159\003\033\000\159\003\041\000\159\003\
++\\055\000\159\003\056\000\159\003\057\000\159\003\061\000\159\003\
++\\062\000\159\003\069\000\159\003\070\000\159\003\076\000\159\003\
++\\077\000\159\003\078\000\159\003\079\000\159\003\080\000\159\003\
++\\082\000\159\003\083\000\159\003\085\000\159\003\087\000\159\003\
++\\088\000\159\003\089\000\159\003\094\000\159\003\095\000\159\003\
++\\098\000\159\003\104\000\159\003\105\000\159\003\106\000\159\003\
++\\107\000\159\003\111\000\159\003\117\000\159\003\118\000\159\003\
++\\121\000\159\003\123\000\159\003\134\000\159\003\000\000\
++\\001\000\001\000\160\003\002\000\160\003\003\000\160\003\004\000\160\003\
++\\007\000\160\003\008\000\160\003\012\000\160\003\020\000\160\003\
++\\025\000\160\003\032\000\160\003\033\000\160\003\041\000\160\003\
++\\055\000\160\003\056\000\160\003\057\000\160\003\061\000\160\003\
++\\062\000\160\003\069\000\160\003\070\000\160\003\076\000\160\003\
++\\077\000\160\003\078\000\160\003\079\000\160\003\080\000\160\003\
++\\082\000\160\003\083\000\160\003\085\000\160\003\087\000\160\003\
++\\088\000\160\003\089\000\160\003\094\000\160\003\095\000\160\003\
++\\098\000\160\003\104\000\160\003\105\000\160\003\106\000\160\003\
++\\107\000\160\003\111\000\160\003\117\000\160\003\118\000\160\003\
++\\121\000\160\003\123\000\160\003\134\000\160\003\000\000\
++\\001\000\001\000\161\003\002\000\161\003\003\000\161\003\004\000\161\003\
++\\007\000\161\003\008\000\161\003\012\000\161\003\020\000\161\003\
++\\025\000\161\003\032\000\161\003\033\000\161\003\041\000\161\003\
++\\055\000\161\003\056\000\161\003\057\000\161\003\061\000\161\003\
++\\062\000\161\003\069\000\161\003\070\000\161\003\076\000\161\003\
++\\077\000\161\003\078\000\161\003\079\000\161\003\080\000\161\003\
++\\082\000\161\003\083\000\161\003\085\000\161\003\087\000\161\003\
++\\088\000\161\003\089\000\161\003\094\000\161\003\095\000\161\003\
++\\098\000\161\003\104\000\161\003\105\000\161\003\106\000\161\003\
++\\107\000\161\003\111\000\174\002\117\000\161\003\118\000\161\003\
++\\121\000\161\003\123\000\161\003\134\000\161\003\000\000\
++\\001\000\001\000\162\003\002\000\162\003\003\000\162\003\004\000\162\003\
++\\007\000\162\003\008\000\162\003\012\000\162\003\020\000\162\003\
++\\025\000\162\003\032\000\162\003\033\000\162\003\041\000\162\003\
++\\053\000\148\001\055\000\162\003\056\000\162\003\057\000\162\003\
++\\061\000\162\003\062\000\162\003\069\000\162\003\070\000\162\003\
++\\076\000\162\003\077\000\162\003\078\000\162\003\079\000\162\003\
++\\080\000\162\003\082\000\162\003\083\000\162\003\085\000\162\003\
++\\087\000\162\003\088\000\162\003\089\000\162\003\094\000\162\003\
++\\095\000\162\003\098\000\162\003\104\000\162\003\105\000\162\003\
++\\106\000\162\003\107\000\162\003\117\000\162\003\118\000\162\003\
++\\121\000\162\003\123\000\162\003\134\000\162\003\000\000\
++\\001\000\001\000\165\003\002\000\165\003\003\000\165\003\004\000\165\003\
++\\007\000\165\003\008\000\165\003\012\000\165\003\020\000\165\003\
++\\025\000\165\003\032\000\165\003\033\000\165\003\041\000\165\003\
++\\055\000\165\003\056\000\165\003\057\000\165\003\061\000\165\003\
++\\062\000\165\003\069\000\165\003\070\000\165\003\076\000\165\003\
++\\077\000\165\003\078\000\165\003\079\000\165\003\080\000\165\003\
++\\082\000\165\003\083\000\165\003\085\000\165\003\087\000\165\003\
++\\088\000\165\003\089\000\165\003\094\000\165\003\095\000\203\002\
++\\104\000\165\003\105\000\165\003\106\000\165\003\107\000\165\003\
++\\117\000\165\003\118\000\165\003\121\000\165\003\123\000\165\003\
++\\134\000\165\003\000\000\
++\\001\000\001\000\166\003\002\000\166\003\003\000\166\003\004\000\166\003\
++\\007\000\166\003\008\000\166\003\012\000\166\003\020\000\166\003\
++\\025\000\166\003\032\000\166\003\033\000\166\003\041\000\166\003\
++\\053\000\148\001\055\000\166\003\056\000\166\003\057\000\166\003\
++\\061\000\166\003\062\000\166\003\069\000\166\003\070\000\166\003\
++\\076\000\166\003\077\000\166\003\078\000\166\003\079\000\166\003\
++\\080\000\166\003\082\000\166\003\083\000\166\003\085\000\166\003\
++\\087\000\166\003\088\000\166\003\089\000\166\003\094\000\166\003\
++\\104\000\166\003\105\000\166\003\106\000\166\003\107\000\166\003\
++\\117\000\166\003\118\000\166\003\121\000\166\003\123\000\166\003\
++\\134\000\166\003\000\000\
++\\001\000\001\000\167\003\002\000\167\003\003\000\167\003\004\000\167\003\
++\\007\000\167\003\008\000\167\003\012\000\167\003\019\000\215\001\
++\\020\000\167\003\025\000\167\003\030\000\052\000\032\000\167\003\
++\\033\000\167\003\041\000\167\003\055\000\167\003\056\000\167\003\
++\\057\000\167\003\061\000\167\003\062\000\167\003\069\000\167\003\
++\\070\000\167\003\076\000\167\003\077\000\167\003\078\000\167\003\
++\\079\000\167\003\080\000\167\003\082\000\167\003\083\000\167\003\
++\\085\000\167\003\087\000\167\003\088\000\167\003\089\000\167\003\
++\\094\000\167\003\095\000\167\003\098\000\167\003\104\000\167\003\
++\\105\000\167\003\106\000\167\003\107\000\167\003\109\000\214\001\
++\\110\000\167\003\111\000\167\003\112\000\167\003\113\000\167\003\
++\\117\000\167\003\118\000\167\003\121\000\167\003\123\000\167\003\
++\\124\000\051\000\125\000\050\000\127\000\096\000\128\000\066\000\
++\\134\000\167\003\000\000\
++\\001\000\001\000\168\003\002\000\168\003\003\000\168\003\004\000\168\003\
++\\007\000\168\003\008\000\168\003\012\000\168\003\020\000\168\003\
++\\025\000\168\003\032\000\168\003\033\000\168\003\041\000\168\003\
++\\055\000\168\003\056\000\168\003\057\000\168\003\061\000\168\003\
++\\062\000\168\003\069\000\168\003\070\000\168\003\076\000\168\003\
++\\077\000\168\003\078\000\168\003\079\000\168\003\080\000\168\003\
++\\082\000\168\003\083\000\168\003\085\000\168\003\087\000\168\003\
++\\088\000\168\003\089\000\168\003\094\000\168\003\095\000\168\003\
++\\098\000\168\003\104\000\168\003\105\000\168\003\106\000\168\003\
++\\107\000\168\003\110\000\168\003\111\000\168\003\112\000\168\003\
++\\113\000\168\003\117\000\168\003\118\000\168\003\121\000\168\003\
++\\123\000\168\003\134\000\168\003\000\000\
++\\001\000\001\000\169\003\002\000\169\003\003\000\169\003\004\000\169\003\
++\\007\000\169\003\008\000\169\003\012\000\169\003\020\000\169\003\
++\\025\000\169\003\032\000\169\003\033\000\169\003\041\000\169\003\
++\\055\000\169\003\056\000\169\003\057\000\169\003\061\000\169\003\
++\\062\000\169\003\069\000\169\003\070\000\169\003\076\000\169\003\
++\\077\000\169\003\078\000\169\003\079\000\169\003\080\000\169\003\
++\\082\000\169\003\083\000\169\003\085\000\169\003\087\000\169\003\
++\\088\000\169\003\089\000\169\003\094\000\169\003\095\000\169\003\
++\\098\000\169\003\104\000\169\003\105\000\169\003\106\000\169\003\
++\\107\000\169\003\110\000\169\003\111\000\169\003\112\000\169\003\
++\\113\000\169\003\117\000\169\003\118\000\169\003\121\000\169\003\
++\\123\000\169\003\134\000\169\003\000\000\
++\\001\000\001\000\170\003\002\000\170\003\003\000\170\003\004\000\170\003\
++\\007\000\170\003\008\000\170\003\012\000\170\003\020\000\170\003\
++\\025\000\170\003\032\000\170\003\033\000\170\003\041\000\170\003\
++\\055\000\170\003\056\000\170\003\057\000\170\003\061\000\170\003\
++\\062\000\170\003\069\000\170\003\070\000\170\003\076\000\170\003\
++\\077\000\170\003\078\000\170\003\079\000\170\003\080\000\170\003\
++\\082\000\170\003\083\000\170\003\085\000\170\003\087\000\170\003\
++\\088\000\170\003\089\000\170\003\094\000\170\003\095\000\170\003\
++\\098\000\170\003\104\000\170\003\105\000\170\003\106\000\170\003\
++\\107\000\170\003\110\000\170\003\111\000\170\003\112\000\170\003\
++\\113\000\170\003\117\000\170\003\118\000\170\003\121\000\170\003\
++\\123\000\170\003\134\000\170\003\000\000\
++\\001\000\001\000\171\003\002\000\171\003\003\000\171\003\004\000\171\003\
++\\007\000\171\003\008\000\171\003\012\000\171\003\020\000\171\003\
++\\025\000\171\003\032\000\171\003\033\000\171\003\041\000\171\003\
++\\055\000\171\003\056\000\171\003\057\000\171\003\061\000\171\003\
++\\062\000\171\003\069\000\171\003\070\000\171\003\076\000\171\003\
++\\077\000\171\003\078\000\171\003\079\000\171\003\080\000\171\003\
++\\082\000\171\003\083\000\171\003\085\000\171\003\087\000\171\003\
++\\088\000\171\003\089\000\171\003\094\000\171\003\095\000\171\003\
++\\098\000\171\003\104\000\171\003\105\000\171\003\106\000\171\003\
++\\107\000\171\003\110\000\171\003\111\000\171\003\112\000\171\003\
++\\113\000\171\003\117\000\171\003\118\000\171\003\121\000\171\003\
++\\123\000\171\003\134\000\171\003\000\000\
++\\001\000\001\000\172\003\002\000\172\003\003\000\172\003\004\000\172\003\
++\\007\000\172\003\008\000\172\003\012\000\172\003\020\000\172\003\
++\\025\000\172\003\032\000\172\003\033\000\172\003\041\000\172\003\
++\\053\000\148\001\055\000\172\003\056\000\172\003\057\000\172\003\
++\\061\000\172\003\062\000\172\003\069\000\172\003\070\000\172\003\
++\\076\000\172\003\077\000\172\003\078\000\172\003\079\000\172\003\
++\\080\000\172\003\082\000\172\003\083\000\172\003\085\000\172\003\
++\\087\000\172\003\088\000\172\003\089\000\172\003\094\000\172\003\
++\\095\000\172\003\098\000\172\003\104\000\172\003\105\000\172\003\
++\\106\000\172\003\107\000\172\003\110\000\172\003\111\000\172\003\
++\\112\000\172\003\113\000\172\003\117\000\172\003\118\000\172\003\
++\\121\000\172\003\123\000\172\003\134\000\172\003\000\000\
++\\001\000\001\000\173\003\002\000\173\003\003\000\173\003\004\000\173\003\
++\\007\000\173\003\008\000\173\003\012\000\173\003\019\000\173\003\
++\\020\000\173\003\025\000\173\003\026\000\039\001\030\000\173\003\
++\\032\000\173\003\033\000\173\003\041\000\173\003\055\000\173\003\
++\\056\000\173\003\057\000\173\003\061\000\173\003\062\000\173\003\
++\\069\000\173\003\070\000\173\003\076\000\173\003\077\000\173\003\
++\\078\000\173\003\079\000\173\003\080\000\173\003\082\000\173\003\
++\\083\000\173\003\085\000\173\003\087\000\173\003\088\000\173\003\
++\\089\000\173\003\094\000\173\003\095\000\173\003\098\000\173\003\
++\\104\000\173\003\105\000\173\003\106\000\173\003\107\000\173\003\
++\\108\000\095\001\109\000\173\003\110\000\173\003\111\000\173\003\
++\\112\000\173\003\113\000\173\003\117\000\173\003\118\000\173\003\
++\\121\000\173\003\123\000\173\003\124\000\173\003\125\000\173\003\
++\\127\000\173\003\128\000\173\003\131\000\093\000\134\000\173\003\000\000\
++\\001\000\001\000\174\003\002\000\174\003\003\000\174\003\004\000\174\003\
++\\007\000\174\003\008\000\174\003\012\000\174\003\019\000\174\003\
++\\020\000\174\003\025\000\174\003\030\000\174\003\032\000\174\003\
++\\033\000\174\003\041\000\174\003\055\000\174\003\056\000\174\003\
++\\057\000\174\003\061\000\174\003\062\000\174\003\069\000\174\003\
++\\070\000\174\003\076\000\174\003\077\000\174\003\078\000\174\003\
++\\079\000\174\003\080\000\174\003\082\000\174\003\083\000\174\003\
++\\085\000\174\003\087\000\174\003\088\000\174\003\089\000\174\003\
++\\094\000\174\003\095\000\174\003\098\000\174\003\104\000\174\003\
++\\105\000\174\003\106\000\174\003\107\000\174\003\109\000\174\003\
++\\110\000\174\003\111\000\174\003\112\000\174\003\113\000\174\003\
++\\117\000\174\003\118\000\174\003\121\000\174\003\123\000\174\003\
++\\124\000\174\003\125\000\174\003\127\000\174\003\128\000\174\003\
++\\134\000\174\003\000\000\
++\\001\000\001\000\175\003\002\000\175\003\003\000\175\003\004\000\175\003\
++\\007\000\175\003\008\000\175\003\012\000\175\003\019\000\175\003\
++\\020\000\175\003\025\000\175\003\030\000\175\003\032\000\175\003\
++\\033\000\175\003\041\000\175\003\055\000\175\003\056\000\175\003\
++\\057\000\175\003\061\000\175\003\062\000\175\003\069\000\175\003\
++\\070\000\175\003\076\000\175\003\077\000\175\003\078\000\175\003\
++\\079\000\175\003\080\000\175\003\082\000\175\003\083\000\175\003\
++\\085\000\175\003\087\000\175\003\088\000\175\003\089\000\175\003\
++\\094\000\175\003\095\000\175\003\098\000\175\003\104\000\175\003\
++\\105\000\175\003\106\000\175\003\107\000\175\003\109\000\175\003\
++\\110\000\175\003\111\000\175\003\112\000\175\003\113\000\175\003\
++\\117\000\175\003\118\000\175\003\121\000\175\003\123\000\175\003\
++\\124\000\175\003\125\000\175\003\127\000\175\003\128\000\175\003\
++\\134\000\175\003\000\000\
++\\001\000\001\000\176\003\002\000\176\003\003\000\176\003\004\000\176\003\
++\\007\000\176\003\008\000\176\003\012\000\176\003\019\000\176\003\
++\\020\000\176\003\025\000\176\003\030\000\176\003\032\000\176\003\
++\\033\000\176\003\041\000\176\003\053\000\148\001\055\000\176\003\
++\\056\000\176\003\057\000\176\003\061\000\176\003\062\000\176\003\
++\\069\000\176\003\070\000\176\003\076\000\176\003\077\000\176\003\
++\\078\000\176\003\079\000\176\003\080\000\176\003\082\000\176\003\
++\\083\000\176\003\085\000\176\003\087\000\176\003\088\000\176\003\
++\\089\000\176\003\094\000\176\003\095\000\176\003\098\000\176\003\
++\\104\000\176\003\105\000\176\003\106\000\176\003\107\000\176\003\
++\\109\000\176\003\110\000\176\003\111\000\176\003\112\000\176\003\
++\\113\000\176\003\117\000\176\003\118\000\176\003\121\000\176\003\
++\\123\000\176\003\124\000\176\003\125\000\176\003\127\000\176\003\
++\\128\000\176\003\134\000\176\003\000\000\
++\\001\000\001\000\177\003\002\000\177\003\003\000\177\003\004\000\177\003\
++\\005\000\177\003\007\000\177\003\008\000\177\003\009\000\177\003\
++\\010\000\177\003\011\000\177\003\012\000\177\003\013\000\177\003\
++\\014\000\177\003\016\000\177\003\018\000\177\003\019\000\177\003\
++\\020\000\177\003\021\000\177\003\022\000\177\003\023\000\177\003\
++\\024\000\177\003\025\000\177\003\026\000\039\001\029\000\177\003\
++\\030\000\177\003\032\000\177\003\033\000\177\003\034\000\177\003\
++\\035\000\177\003\036\000\177\003\040\000\177\003\041\000\177\003\
++\\043\000\177\003\047\000\177\003\048\000\177\003\049\000\177\003\
++\\050\000\177\003\053\000\177\003\054\000\177\003\055\000\177\003\
++\\056\000\177\003\057\000\177\003\061\000\177\003\062\000\177\003\
++\\069\000\177\003\070\000\177\003\076\000\177\003\077\000\177\003\
++\\078\000\177\003\079\000\177\003\080\000\177\003\081\000\177\003\
++\\082\000\177\003\083\000\177\003\085\000\177\003\087\000\177\003\
++\\088\000\177\003\089\000\177\003\094\000\177\003\095\000\177\003\
++\\098\000\177\003\100\000\177\003\101\000\177\003\104\000\177\003\
++\\105\000\177\003\106\000\177\003\107\000\177\003\108\000\177\003\
++\\109\000\177\003\110\000\177\003\111\000\177\003\112\000\177\003\
++\\113\000\177\003\117\000\177\003\118\000\177\003\121\000\177\003\
++\\123\000\177\003\124\000\177\003\125\000\177\003\127\000\177\003\
++\\128\000\177\003\129\000\177\003\130\000\177\003\131\000\177\003\
++\\132\000\177\003\134\000\177\003\000\000\
++\\001\000\001\000\178\003\002\000\178\003\003\000\178\003\004\000\178\003\
++\\005\000\178\003\007\000\178\003\008\000\178\003\009\000\178\003\
++\\010\000\178\003\011\000\178\003\012\000\178\003\013\000\178\003\
++\\014\000\178\003\016\000\178\003\018\000\178\003\019\000\178\003\
++\\020\000\178\003\021\000\178\003\022\000\178\003\023\000\178\003\
++\\024\000\178\003\025\000\178\003\026\000\178\003\029\000\178\003\
++\\030\000\178\003\032\000\178\003\033\000\178\003\034\000\178\003\
++\\035\000\178\003\036\000\178\003\040\000\178\003\041\000\178\003\
++\\043\000\178\003\047\000\178\003\048\000\178\003\049\000\178\003\
++\\050\000\178\003\053\000\178\003\054\000\178\003\055\000\178\003\
++\\056\000\178\003\057\000\178\003\061\000\178\003\062\000\178\003\
++\\069\000\178\003\070\000\178\003\076\000\178\003\077\000\178\003\
++\\078\000\178\003\079\000\178\003\080\000\178\003\081\000\178\003\
++\\082\000\178\003\083\000\178\003\085\000\178\003\087\000\178\003\
++\\088\000\178\003\089\000\178\003\094\000\178\003\095\000\178\003\
++\\098\000\178\003\100\000\178\003\101\000\178\003\104\000\178\003\
++\\105\000\178\003\106\000\178\003\107\000\178\003\108\000\178\003\
++\\109\000\178\003\110\000\178\003\111\000\178\003\112\000\178\003\
++\\113\000\178\003\117\000\178\003\118\000\178\003\121\000\178\003\
++\\123\000\178\003\124\000\178\003\125\000\178\003\127\000\178\003\
++\\128\000\178\003\129\000\178\003\130\000\178\003\131\000\178\003\
++\\132\000\178\003\134\000\178\003\000\000\
++\\001\000\001\000\185\003\002\000\185\003\003\000\185\003\004\000\185\003\
++\\007\000\185\003\008\000\185\003\020\000\185\003\025\000\185\003\
++\\032\000\185\003\033\000\185\003\055\000\185\003\056\000\185\003\
++\\057\000\185\003\061\000\185\003\062\000\185\003\069\000\185\003\
++\\070\000\185\003\076\000\000\001\077\000\185\003\078\000\185\003\
++\\079\000\185\003\080\000\185\003\082\000\185\003\083\000\185\003\
++\\085\000\185\003\087\000\185\003\088\000\185\003\089\000\185\003\
++\\094\000\185\003\104\000\185\003\105\000\185\003\106\000\185\003\
++\\107\000\185\003\117\000\185\003\118\000\185\003\121\000\185\003\
++\\123\000\185\003\134\000\185\003\000\000\
++\\001\000\001\000\186\003\002\000\186\003\003\000\186\003\004\000\186\003\
++\\007\000\186\003\008\000\186\003\020\000\186\003\025\000\186\003\
++\\032\000\186\003\033\000\186\003\055\000\186\003\056\000\186\003\
++\\057\000\186\003\061\000\186\003\062\000\186\003\069\000\186\003\
++\\070\000\186\003\077\000\186\003\078\000\186\003\079\000\186\003\
++\\080\000\186\003\082\000\186\003\083\000\186\003\085\000\186\003\
++\\087\000\186\003\088\000\186\003\089\000\186\003\094\000\186\003\
++\\104\000\186\003\105\000\186\003\106\000\186\003\107\000\186\003\
++\\117\000\186\003\118\000\186\003\121\000\186\003\123\000\186\003\
++\\134\000\186\003\000\000\
++\\001\000\001\000\187\003\002\000\187\003\003\000\187\003\004\000\187\003\
++\\007\000\187\003\008\000\187\003\012\000\249\000\020\000\187\003\
++\\025\000\187\003\032\000\187\003\033\000\187\003\055\000\187\003\
++\\056\000\187\003\057\000\187\003\061\000\187\003\062\000\187\003\
++\\069\000\187\003\070\000\187\003\077\000\187\003\078\000\187\003\
++\\079\000\187\003\080\000\187\003\082\000\187\003\083\000\187\003\
++\\085\000\187\003\087\000\187\003\088\000\187\003\089\000\187\003\
++\\094\000\187\003\104\000\187\003\105\000\187\003\106\000\187\003\
++\\107\000\187\003\117\000\187\003\118\000\187\003\121\000\187\003\
++\\123\000\187\003\134\000\187\003\000\000\
++\\001\000\001\000\188\003\002\000\188\003\003\000\188\003\004\000\188\003\
++\\007\000\188\003\008\000\188\003\020\000\188\003\025\000\188\003\
++\\032\000\188\003\033\000\188\003\055\000\188\003\056\000\188\003\
++\\057\000\188\003\061\000\188\003\062\000\188\003\069\000\188\003\
++\\070\000\188\003\077\000\188\003\078\000\188\003\079\000\188\003\
++\\080\000\188\003\082\000\188\003\083\000\188\003\085\000\188\003\
++\\087\000\188\003\088\000\188\003\089\000\188\003\094\000\188\003\
++\\104\000\188\003\105\000\188\003\106\000\188\003\107\000\188\003\
++\\117\000\188\003\118\000\188\003\121\000\188\003\123\000\188\003\
++\\134\000\188\003\000\000\
++\\001\000\001\000\189\003\002\000\189\003\003\000\189\003\004\000\189\003\
++\\007\000\189\003\008\000\189\003\012\000\189\003\020\000\189\003\
++\\025\000\189\003\032\000\189\003\033\000\189\003\042\000\134\001\
++\\055\000\189\003\056\000\189\003\057\000\189\003\061\000\189\003\
++\\062\000\189\003\069\000\189\003\070\000\189\003\077\000\189\003\
++\\078\000\189\003\079\000\189\003\080\000\189\003\082\000\189\003\
++\\083\000\189\003\085\000\189\003\087\000\189\003\088\000\189\003\
++\\089\000\189\003\094\000\189\003\104\000\189\003\105\000\189\003\
++\\106\000\189\003\107\000\189\003\117\000\189\003\118\000\189\003\
++\\121\000\189\003\123\000\189\003\134\000\189\003\000\000\
++\\001\000\001\000\195\003\002\000\195\003\003\000\195\003\004\000\195\003\
++\\007\000\195\003\008\000\195\003\020\000\195\003\025\000\195\003\
++\\032\000\195\003\033\000\195\003\041\000\097\001\055\000\195\003\
++\\056\000\195\003\057\000\195\003\061\000\195\003\062\000\195\003\
++\\069\000\195\003\070\000\195\003\077\000\195\003\078\000\195\003\
++\\079\000\195\003\080\000\195\003\082\000\195\003\083\000\195\003\
++\\085\000\195\003\087\000\195\003\088\000\195\003\089\000\195\003\
++\\094\000\195\003\104\000\195\003\105\000\195\003\106\000\195\003\
++\\107\000\195\003\117\000\195\003\118\000\195\003\121\000\195\003\
++\\123\000\195\003\134\000\195\003\000\000\
++\\001\000\001\000\196\003\002\000\196\003\003\000\196\003\004\000\196\003\
++\\007\000\196\003\008\000\196\003\020\000\196\003\025\000\196\003\
++\\032\000\196\003\033\000\196\003\055\000\196\003\056\000\196\003\
++\\057\000\196\003\061\000\196\003\062\000\196\003\069\000\196\003\
++\\070\000\196\003\077\000\196\003\078\000\196\003\079\000\196\003\
++\\080\000\196\003\082\000\196\003\083\000\196\003\085\000\196\003\
++\\087\000\196\003\088\000\196\003\089\000\196\003\094\000\196\003\
++\\104\000\196\003\105\000\196\003\106\000\196\003\107\000\196\003\
++\\117\000\196\003\118\000\196\003\121\000\196\003\123\000\196\003\
++\\134\000\196\003\000\000\
++\\001\000\001\000\197\003\002\000\197\003\003\000\197\003\004\000\197\003\
++\\007\000\197\003\008\000\197\003\020\000\197\003\025\000\197\003\
++\\032\000\197\003\033\000\197\003\041\000\197\003\055\000\197\003\
++\\056\000\197\003\057\000\197\003\061\000\197\003\062\000\197\003\
++\\069\000\197\003\070\000\197\003\077\000\197\003\078\000\197\003\
++\\079\000\197\003\080\000\197\003\082\000\197\003\083\000\197\003\
++\\085\000\197\003\087\000\197\003\088\000\197\003\089\000\197\003\
++\\094\000\197\003\104\000\197\003\105\000\197\003\106\000\197\003\
++\\107\000\197\003\117\000\197\003\118\000\197\003\121\000\197\003\
++\\123\000\197\003\134\000\197\003\000\000\
++\\001\000\001\000\198\003\002\000\198\003\003\000\198\003\004\000\198\003\
++\\007\000\198\003\008\000\198\003\009\000\156\002\020\000\198\003\
++\\025\000\198\003\032\000\198\003\033\000\198\003\041\000\198\003\
++\\055\000\198\003\056\000\198\003\057\000\198\003\061\000\198\003\
++\\062\000\198\003\069\000\198\003\070\000\198\003\077\000\198\003\
++\\078\000\198\003\079\000\198\003\080\000\198\003\082\000\198\003\
++\\083\000\198\003\085\000\198\003\087\000\198\003\088\000\198\003\
++\\089\000\198\003\094\000\198\003\104\000\198\003\105\000\198\003\
++\\106\000\198\003\107\000\198\003\117\000\198\003\118\000\198\003\
++\\121\000\198\003\123\000\198\003\134\000\198\003\000\000\
++\\001\000\001\000\199\003\002\000\199\003\003\000\199\003\004\000\199\003\
++\\007\000\199\003\008\000\199\003\020\000\199\003\025\000\199\003\
++\\032\000\199\003\033\000\199\003\041\000\199\003\053\000\148\001\
++\\055\000\199\003\056\000\199\003\057\000\199\003\061\000\199\003\
++\\062\000\199\003\069\000\199\003\070\000\199\003\077\000\199\003\
++\\078\000\199\003\079\000\199\003\080\000\199\003\082\000\199\003\
++\\083\000\199\003\085\000\199\003\087\000\199\003\088\000\199\003\
++\\089\000\199\003\094\000\199\003\104\000\199\003\105\000\199\003\
++\\106\000\199\003\107\000\199\003\117\000\199\003\118\000\199\003\
++\\121\000\199\003\123\000\199\003\134\000\199\003\000\000\
++\\001\000\001\000\212\003\002\000\212\003\003\000\212\003\004\000\212\003\
++\\007\000\212\003\008\000\212\003\012\000\212\003\020\000\212\003\
++\\024\000\212\003\025\000\212\003\032\000\212\003\033\000\212\003\
++\\035\000\212\003\041\000\212\003\055\000\212\003\056\000\212\003\
++\\057\000\212\003\061\000\212\003\062\000\212\003\069\000\212\003\
++\\070\000\212\003\076\000\212\003\077\000\212\003\078\000\212\003\
++\\079\000\212\003\080\000\212\003\082\000\212\003\083\000\212\003\
++\\085\000\212\003\087\000\212\003\088\000\212\003\089\000\212\003\
++\\094\000\212\003\095\000\212\003\098\000\212\003\104\000\212\003\
++\\105\000\212\003\106\000\212\003\107\000\212\003\110\000\212\003\
++\\111\000\212\003\112\000\212\003\113\000\212\003\117\000\212\003\
++\\118\000\212\003\121\000\212\003\123\000\212\003\134\000\212\003\000\000\
++\\001\000\001\000\213\003\002\000\213\003\003\000\213\003\004\000\213\003\
++\\007\000\213\003\008\000\213\003\012\000\213\003\020\000\213\003\
++\\024\000\213\003\025\000\213\003\032\000\213\003\033\000\213\003\
++\\035\000\213\003\041\000\213\003\055\000\213\003\056\000\213\003\
++\\057\000\213\003\061\000\213\003\062\000\213\003\069\000\213\003\
++\\070\000\213\003\076\000\213\003\077\000\213\003\078\000\213\003\
++\\079\000\213\003\080\000\213\003\082\000\213\003\083\000\213\003\
++\\085\000\213\003\087\000\213\003\088\000\213\003\089\000\213\003\
++\\094\000\213\003\095\000\213\003\098\000\213\003\104\000\213\003\
++\\105\000\213\003\106\000\213\003\107\000\213\003\110\000\213\003\
++\\111\000\213\003\112\000\213\003\113\000\213\003\117\000\213\003\
++\\118\000\213\003\121\000\213\003\123\000\213\003\134\000\213\003\000\000\
++\\001\000\001\000\219\003\002\000\219\003\003\000\219\003\004\000\219\003\
++\\007\000\219\003\008\000\219\003\012\000\217\000\020\000\219\003\
++\\025\000\219\003\032\000\219\003\033\000\219\003\055\000\219\003\
++\\056\000\219\003\057\000\219\003\061\000\219\003\062\000\219\003\
++\\069\000\219\003\070\000\219\003\077\000\219\003\078\000\219\003\
++\\079\000\219\003\080\000\219\003\082\000\219\003\083\000\219\003\
++\\085\000\219\003\087\000\219\003\088\000\219\003\089\000\219\003\
++\\094\000\219\003\104\000\219\003\105\000\219\003\106\000\219\003\
++\\107\000\219\003\117\000\219\003\118\000\219\003\121\000\219\003\
++\\123\000\219\003\134\000\219\003\000\000\
++\\001\000\001\000\220\003\002\000\220\003\003\000\220\003\004\000\220\003\
++\\007\000\220\003\008\000\220\003\020\000\220\003\025\000\220\003\
++\\032\000\220\003\033\000\220\003\055\000\220\003\056\000\220\003\
++\\057\000\220\003\061\000\220\003\062\000\220\003\069\000\220\003\
++\\070\000\220\003\077\000\220\003\078\000\220\003\079\000\220\003\
++\\080\000\220\003\082\000\220\003\083\000\220\003\085\000\220\003\
++\\087\000\220\003\088\000\220\003\089\000\220\003\094\000\220\003\
++\\104\000\220\003\105\000\220\003\106\000\220\003\107\000\220\003\
++\\117\000\220\003\118\000\220\003\121\000\220\003\123\000\220\003\
++\\134\000\220\003\000\000\
++\\001\000\001\000\221\003\002\000\221\003\003\000\221\003\004\000\221\003\
++\\007\000\221\003\008\000\221\003\012\000\221\003\020\000\221\003\
++\\025\000\221\003\032\000\221\003\033\000\221\003\055\000\221\003\
++\\056\000\221\003\057\000\221\003\061\000\221\003\062\000\221\003\
++\\069\000\221\003\070\000\221\003\077\000\221\003\078\000\221\003\
++\\079\000\221\003\080\000\221\003\082\000\221\003\083\000\221\003\
++\\085\000\221\003\087\000\221\003\088\000\221\003\089\000\221\003\
++\\094\000\221\003\104\000\221\003\105\000\221\003\106\000\221\003\
++\\107\000\221\003\117\000\221\003\118\000\221\003\121\000\221\003\
++\\123\000\221\003\134\000\221\003\000\000\
++\\001\000\001\000\222\003\002\000\222\003\003\000\222\003\004\000\222\003\
++\\007\000\222\003\008\000\222\003\012\000\211\000\020\000\222\003\
++\\025\000\222\003\032\000\222\003\033\000\222\003\055\000\222\003\
++\\056\000\222\003\057\000\222\003\061\000\222\003\062\000\222\003\
++\\069\000\222\003\070\000\222\003\077\000\222\003\078\000\222\003\
++\\079\000\222\003\080\000\222\003\082\000\222\003\083\000\222\003\
++\\085\000\222\003\087\000\222\003\088\000\222\003\089\000\222\003\
++\\094\000\222\003\104\000\222\003\105\000\222\003\106\000\222\003\
++\\107\000\222\003\117\000\222\003\118\000\222\003\121\000\222\003\
++\\123\000\222\003\134\000\222\003\000\000\
++\\001\000\001\000\223\003\002\000\223\003\003\000\223\003\004\000\223\003\
++\\007\000\223\003\008\000\223\003\020\000\223\003\025\000\223\003\
++\\032\000\223\003\033\000\223\003\055\000\223\003\056\000\223\003\
++\\057\000\223\003\061\000\223\003\062\000\223\003\069\000\223\003\
++\\070\000\223\003\077\000\223\003\078\000\223\003\079\000\223\003\
++\\080\000\223\003\082\000\223\003\083\000\223\003\085\000\223\003\
++\\087\000\223\003\088\000\223\003\089\000\223\003\094\000\223\003\
++\\104\000\223\003\105\000\223\003\106\000\223\003\107\000\223\003\
++\\117\000\223\003\118\000\223\003\121\000\223\003\123\000\223\003\
++\\134\000\223\003\000\000\
++\\001\000\001\000\224\003\002\000\224\003\003\000\224\003\004\000\224\003\
++\\007\000\224\003\008\000\224\003\012\000\224\003\020\000\224\003\
++\\025\000\224\003\032\000\224\003\033\000\224\003\036\000\204\001\
++\\055\000\224\003\056\000\224\003\057\000\224\003\061\000\224\003\
++\\062\000\224\003\069\000\224\003\070\000\224\003\077\000\224\003\
++\\078\000\224\003\079\000\224\003\080\000\224\003\082\000\224\003\
++\\083\000\224\003\085\000\224\003\087\000\224\003\088\000\224\003\
++\\089\000\224\003\094\000\224\003\104\000\224\003\105\000\224\003\
++\\106\000\224\003\107\000\224\003\117\000\224\003\118\000\224\003\
++\\121\000\224\003\123\000\224\003\134\000\224\003\000\000\
++\\001\000\001\000\225\003\002\000\225\003\003\000\225\003\004\000\225\003\
++\\005\000\225\003\007\000\225\003\008\000\225\003\009\000\225\003\
++\\010\000\225\003\011\000\225\003\012\000\225\003\013\000\225\003\
++\\014\000\225\003\016\000\225\003\018\000\225\003\019\000\225\003\
++\\020\000\225\003\021\000\225\003\022\000\225\003\023\000\225\003\
++\\024\000\225\003\025\000\225\003\026\000\225\003\029\000\225\003\
++\\030\000\225\003\032\000\225\003\033\000\225\003\034\000\225\003\
++\\035\000\225\003\036\000\225\003\040\000\225\003\041\000\225\003\
++\\043\000\225\003\047\000\225\003\048\000\225\003\049\000\225\003\
++\\050\000\225\003\051\000\225\003\053\000\225\003\054\000\225\003\
++\\055\000\225\003\056\000\225\003\057\000\225\003\060\000\225\003\
++\\061\000\225\003\062\000\225\003\069\000\225\003\070\000\225\003\
++\\076\000\225\003\077\000\225\003\078\000\225\003\079\000\225\003\
++\\080\000\225\003\081\000\225\003\082\000\225\003\083\000\225\003\
++\\085\000\225\003\087\000\225\003\088\000\225\003\089\000\225\003\
++\\094\000\225\003\095\000\225\003\098\000\225\003\100\000\225\003\
++\\101\000\225\003\104\000\225\003\105\000\225\003\106\000\225\003\
++\\107\000\225\003\108\000\225\003\109\000\225\003\110\000\225\003\
++\\111\000\225\003\112\000\225\003\113\000\225\003\117\000\225\003\
++\\118\000\225\003\121\000\225\003\123\000\225\003\124\000\225\003\
++\\125\000\225\003\127\000\225\003\128\000\225\003\129\000\225\003\
++\\130\000\225\003\131\000\225\003\132\000\225\003\134\000\225\003\000\000\
++\\001\000\001\000\226\003\002\000\226\003\003\000\226\003\004\000\226\003\
++\\005\000\226\003\007\000\226\003\008\000\226\003\009\000\226\003\
++\\010\000\226\003\011\000\226\003\012\000\226\003\013\000\226\003\
++\\014\000\226\003\016\000\226\003\018\000\226\003\019\000\226\003\
++\\020\000\226\003\021\000\226\003\022\000\226\003\023\000\226\003\
++\\024\000\226\003\025\000\226\003\026\000\226\003\029\000\226\003\
++\\030\000\226\003\032\000\226\003\033\000\226\003\034\000\226\003\
++\\035\000\226\003\036\000\226\003\040\000\226\003\041\000\226\003\
++\\043\000\226\003\047\000\226\003\048\000\226\003\049\000\226\003\
++\\050\000\226\003\051\000\226\003\053\000\226\003\054\000\226\003\
++\\055\000\226\003\056\000\226\003\057\000\226\003\060\000\226\003\
++\\061\000\226\003\062\000\226\003\069\000\226\003\070\000\226\003\
++\\076\000\226\003\077\000\226\003\078\000\226\003\079\000\226\003\
++\\080\000\226\003\081\000\226\003\082\000\226\003\083\000\226\003\
++\\085\000\226\003\087\000\226\003\088\000\226\003\089\000\226\003\
++\\094\000\226\003\095\000\226\003\098\000\226\003\100\000\226\003\
++\\101\000\226\003\104\000\226\003\105\000\226\003\106\000\226\003\
++\\107\000\226\003\108\000\226\003\109\000\226\003\110\000\226\003\
++\\111\000\226\003\112\000\226\003\113\000\226\003\117\000\226\003\
++\\118\000\226\003\121\000\226\003\123\000\226\003\124\000\226\003\
++\\125\000\226\003\127\000\226\003\128\000\226\003\129\000\226\003\
++\\130\000\226\003\131\000\226\003\132\000\226\003\134\000\226\003\000\000\
++\\001\000\001\000\227\003\002\000\227\003\003\000\227\003\004\000\227\003\
++\\005\000\227\003\007\000\227\003\008\000\227\003\009\000\227\003\
++\\010\000\227\003\011\000\227\003\012\000\227\003\013\000\227\003\
++\\014\000\227\003\016\000\227\003\018\000\227\003\019\000\227\003\
++\\020\000\227\003\021\000\227\003\022\000\227\003\023\000\227\003\
++\\024\000\227\003\025\000\227\003\026\000\227\003\029\000\227\003\
++\\030\000\227\003\032\000\227\003\033\000\227\003\034\000\227\003\
++\\035\000\227\003\036\000\227\003\040\000\227\003\041\000\227\003\
++\\043\000\227\003\047\000\227\003\048\000\227\003\049\000\227\003\
++\\050\000\227\003\051\000\227\003\053\000\227\003\054\000\227\003\
++\\055\000\227\003\056\000\227\003\057\000\227\003\060\000\227\003\
++\\061\000\227\003\062\000\227\003\069\000\227\003\070\000\227\003\
++\\076\000\227\003\077\000\227\003\078\000\227\003\079\000\227\003\
++\\080\000\227\003\081\000\227\003\082\000\227\003\083\000\227\003\
++\\085\000\227\003\087\000\227\003\088\000\227\003\089\000\227\003\
++\\094\000\227\003\095\000\227\003\098\000\227\003\100\000\227\003\
++\\101\000\227\003\104\000\227\003\105\000\227\003\106\000\227\003\
++\\107\000\227\003\108\000\227\003\109\000\227\003\110\000\227\003\
++\\111\000\227\003\112\000\227\003\113\000\227\003\117\000\227\003\
++\\118\000\227\003\121\000\227\003\123\000\227\003\124\000\227\003\
++\\125\000\227\003\127\000\227\003\128\000\227\003\129\000\227\003\
++\\130\000\227\003\131\000\227\003\132\000\227\003\134\000\227\003\000\000\
++\\001\000\001\000\228\003\002\000\228\003\003\000\228\003\004\000\228\003\
++\\005\000\228\003\007\000\228\003\008\000\228\003\009\000\228\003\
++\\010\000\228\003\011\000\228\003\012\000\228\003\013\000\228\003\
++\\014\000\228\003\016\000\228\003\018\000\228\003\019\000\228\003\
++\\020\000\228\003\021\000\228\003\022\000\228\003\023\000\228\003\
++\\024\000\228\003\025\000\228\003\026\000\228\003\029\000\228\003\
++\\030\000\228\003\032\000\228\003\033\000\228\003\034\000\228\003\
++\\035\000\228\003\036\000\228\003\040\000\228\003\041\000\228\003\
++\\043\000\228\003\047\000\228\003\048\000\228\003\049\000\228\003\
++\\050\000\228\003\051\000\228\003\053\000\228\003\054\000\228\003\
++\\055\000\228\003\056\000\228\003\057\000\228\003\060\000\228\003\
++\\061\000\228\003\062\000\228\003\069\000\228\003\070\000\228\003\
++\\076\000\228\003\077\000\228\003\078\000\228\003\079\000\228\003\
++\\080\000\228\003\081\000\228\003\082\000\228\003\083\000\228\003\
++\\085\000\228\003\087\000\228\003\088\000\228\003\089\000\228\003\
++\\094\000\228\003\095\000\228\003\098\000\228\003\100\000\228\003\
++\\101\000\228\003\104\000\228\003\105\000\228\003\106\000\228\003\
++\\107\000\228\003\108\000\228\003\109\000\228\003\110\000\228\003\
++\\111\000\228\003\112\000\228\003\113\000\228\003\117\000\228\003\
++\\118\000\228\003\121\000\228\003\123\000\228\003\124\000\228\003\
++\\125\000\228\003\127\000\228\003\128\000\228\003\129\000\228\003\
++\\130\000\228\003\131\000\228\003\132\000\228\003\134\000\228\003\000\000\
++\\001\000\001\000\229\003\002\000\229\003\003\000\229\003\004\000\229\003\
++\\005\000\229\003\007\000\229\003\008\000\229\003\009\000\229\003\
++\\010\000\229\003\011\000\229\003\012\000\229\003\013\000\229\003\
++\\014\000\229\003\016\000\229\003\018\000\229\003\019\000\229\003\
++\\020\000\229\003\021\000\229\003\022\000\229\003\023\000\229\003\
++\\024\000\229\003\025\000\229\003\026\000\229\003\029\000\229\003\
++\\030\000\229\003\032\000\229\003\033\000\229\003\034\000\229\003\
++\\035\000\229\003\036\000\229\003\040\000\229\003\041\000\229\003\
++\\043\000\229\003\047\000\229\003\048\000\229\003\049\000\229\003\
++\\050\000\229\003\051\000\229\003\053\000\229\003\054\000\229\003\
++\\055\000\229\003\056\000\229\003\057\000\229\003\060\000\229\003\
++\\061\000\229\003\062\000\229\003\069\000\229\003\070\000\229\003\
++\\076\000\229\003\077\000\229\003\078\000\229\003\079\000\229\003\
++\\080\000\229\003\081\000\229\003\082\000\229\003\083\000\229\003\
++\\085\000\229\003\087\000\229\003\088\000\229\003\089\000\229\003\
++\\094\000\229\003\095\000\229\003\098\000\229\003\100\000\229\003\
++\\101\000\229\003\104\000\229\003\105\000\229\003\106\000\229\003\
++\\107\000\229\003\108\000\229\003\109\000\229\003\110\000\229\003\
++\\111\000\229\003\112\000\229\003\113\000\229\003\117\000\229\003\
++\\118\000\229\003\121\000\229\003\123\000\229\003\124\000\229\003\
++\\125\000\229\003\127\000\229\003\128\000\229\003\129\000\229\003\
++\\130\000\229\003\131\000\229\003\132\000\229\003\134\000\229\003\000\000\
++\\001\000\001\000\230\003\002\000\230\003\003\000\230\003\004\000\230\003\
++\\005\000\230\003\007\000\230\003\008\000\230\003\009\000\230\003\
++\\010\000\230\003\011\000\230\003\012\000\230\003\013\000\230\003\
++\\014\000\230\003\016\000\230\003\018\000\230\003\019\000\230\003\
++\\020\000\230\003\021\000\230\003\022\000\230\003\023\000\230\003\
++\\024\000\230\003\025\000\230\003\026\000\230\003\029\000\230\003\
++\\030\000\230\003\032\000\230\003\033\000\230\003\034\000\230\003\
++\\035\000\230\003\036\000\230\003\040\000\230\003\041\000\230\003\
++\\043\000\230\003\047\000\230\003\048\000\230\003\049\000\230\003\
++\\050\000\230\003\051\000\230\003\053\000\230\003\054\000\230\003\
++\\055\000\230\003\056\000\230\003\057\000\230\003\060\000\230\003\
++\\061\000\230\003\062\000\230\003\069\000\230\003\070\000\230\003\
++\\076\000\230\003\077\000\230\003\078\000\230\003\079\000\230\003\
++\\080\000\230\003\081\000\230\003\082\000\230\003\083\000\230\003\
++\\085\000\230\003\087\000\230\003\088\000\230\003\089\000\230\003\
++\\094\000\230\003\095\000\230\003\098\000\230\003\100\000\230\003\
++\\101\000\230\003\104\000\230\003\105\000\230\003\106\000\230\003\
++\\107\000\230\003\108\000\230\003\109\000\230\003\110\000\230\003\
++\\111\000\230\003\112\000\230\003\113\000\230\003\117\000\230\003\
++\\118\000\230\003\121\000\230\003\123\000\230\003\124\000\230\003\
++\\125\000\230\003\127\000\230\003\128\000\230\003\129\000\230\003\
++\\130\000\230\003\131\000\230\003\132\000\230\003\134\000\230\003\000\000\
++\\001\000\001\000\231\003\002\000\231\003\003\000\231\003\004\000\231\003\
++\\005\000\231\003\007\000\231\003\008\000\231\003\009\000\231\003\
++\\010\000\231\003\011\000\231\003\012\000\231\003\013\000\231\003\
++\\014\000\231\003\016\000\231\003\018\000\231\003\019\000\231\003\
++\\020\000\231\003\021\000\231\003\022\000\231\003\023\000\231\003\
++\\024\000\231\003\025\000\231\003\026\000\231\003\029\000\231\003\
++\\030\000\231\003\032\000\231\003\033\000\231\003\034\000\231\003\
++\\035\000\231\003\036\000\231\003\040\000\231\003\041\000\231\003\
++\\043\000\231\003\047\000\231\003\048\000\231\003\049\000\231\003\
++\\050\000\231\003\051\000\231\003\053\000\231\003\054\000\231\003\
++\\055\000\231\003\056\000\231\003\057\000\231\003\060\000\231\003\
++\\061\000\231\003\062\000\231\003\069\000\231\003\070\000\231\003\
++\\076\000\231\003\077\000\231\003\078\000\231\003\079\000\231\003\
++\\080\000\231\003\081\000\231\003\082\000\231\003\083\000\231\003\
++\\085\000\231\003\087\000\231\003\088\000\231\003\089\000\231\003\
++\\094\000\231\003\095\000\231\003\098\000\231\003\100\000\231\003\
++\\101\000\231\003\104\000\231\003\105\000\231\003\106\000\231\003\
++\\107\000\231\003\108\000\231\003\109\000\231\003\110\000\231\003\
++\\111\000\231\003\112\000\231\003\113\000\231\003\117\000\231\003\
++\\118\000\231\003\121\000\231\003\123\000\231\003\124\000\231\003\
++\\125\000\231\003\127\000\231\003\128\000\231\003\129\000\231\003\
++\\130\000\231\003\131\000\231\003\132\000\231\003\134\000\231\003\000\000\
++\\001\000\001\000\232\003\002\000\232\003\003\000\232\003\004\000\232\003\
++\\005\000\232\003\007\000\232\003\008\000\232\003\009\000\232\003\
++\\010\000\232\003\011\000\232\003\012\000\232\003\013\000\232\003\
++\\014\000\232\003\016\000\232\003\018\000\232\003\019\000\232\003\
++\\020\000\232\003\021\000\232\003\022\000\232\003\023\000\232\003\
++\\024\000\232\003\025\000\232\003\026\000\232\003\029\000\232\003\
++\\030\000\232\003\032\000\232\003\033\000\232\003\034\000\232\003\
++\\035\000\232\003\036\000\232\003\040\000\232\003\041\000\232\003\
++\\043\000\232\003\047\000\232\003\048\000\232\003\049\000\232\003\
++\\050\000\232\003\053\000\232\003\054\000\232\003\055\000\232\003\
++\\056\000\232\003\057\000\232\003\061\000\232\003\062\000\232\003\
++\\069\000\232\003\070\000\232\003\076\000\232\003\077\000\232\003\
++\\078\000\232\003\079\000\232\003\080\000\232\003\081\000\232\003\
++\\082\000\232\003\083\000\232\003\085\000\232\003\087\000\232\003\
++\\088\000\232\003\089\000\232\003\094\000\232\003\095\000\232\003\
++\\098\000\232\003\100\000\232\003\101\000\232\003\104\000\232\003\
++\\105\000\232\003\106\000\232\003\107\000\232\003\108\000\232\003\
++\\109\000\232\003\110\000\232\003\111\000\232\003\112\000\232\003\
++\\113\000\232\003\117\000\232\003\118\000\232\003\121\000\232\003\
++\\123\000\232\003\124\000\232\003\125\000\232\003\127\000\232\003\
++\\128\000\232\003\129\000\232\003\130\000\232\003\131\000\232\003\
++\\132\000\232\003\134\000\232\003\000\000\
++\\001\000\001\000\233\003\002\000\233\003\003\000\233\003\004\000\233\003\
++\\005\000\233\003\007\000\233\003\008\000\233\003\009\000\233\003\
++\\010\000\233\003\011\000\233\003\012\000\233\003\013\000\233\003\
++\\014\000\233\003\016\000\233\003\018\000\233\003\019\000\233\003\
++\\020\000\233\003\021\000\233\003\022\000\233\003\023\000\233\003\
++\\024\000\233\003\025\000\233\003\026\000\233\003\029\000\233\003\
++\\030\000\233\003\032\000\233\003\033\000\233\003\034\000\233\003\
++\\035\000\233\003\036\000\233\003\040\000\233\003\041\000\233\003\
++\\043\000\233\003\047\000\233\003\048\000\233\003\049\000\233\003\
++\\050\000\233\003\053\000\233\003\054\000\233\003\055\000\233\003\
++\\056\000\233\003\057\000\233\003\061\000\233\003\062\000\233\003\
++\\069\000\233\003\070\000\233\003\076\000\233\003\077\000\233\003\
++\\078\000\233\003\079\000\233\003\080\000\233\003\081\000\233\003\
++\\082\000\233\003\083\000\233\003\085\000\233\003\087\000\233\003\
++\\088\000\233\003\089\000\233\003\094\000\233\003\095\000\233\003\
++\\098\000\233\003\100\000\233\003\101\000\233\003\104\000\233\003\
++\\105\000\233\003\106\000\233\003\107\000\233\003\108\000\233\003\
++\\109\000\233\003\110\000\233\003\111\000\233\003\112\000\233\003\
++\\113\000\233\003\117\000\233\003\118\000\233\003\121\000\233\003\
++\\123\000\233\003\124\000\233\003\125\000\233\003\127\000\233\003\
++\\128\000\233\003\129\000\233\003\130\000\233\003\131\000\233\003\
++\\132\000\233\003\134\000\233\003\000\000\
++\\001\000\001\000\234\003\002\000\234\003\003\000\234\003\004\000\234\003\
++\\005\000\234\003\007\000\234\003\008\000\234\003\009\000\234\003\
++\\010\000\234\003\011\000\234\003\012\000\234\003\013\000\234\003\
++\\014\000\234\003\016\000\234\003\018\000\234\003\019\000\234\003\
++\\020\000\234\003\021\000\234\003\022\000\234\003\023\000\234\003\
++\\024\000\234\003\025\000\234\003\026\000\234\003\029\000\234\003\
++\\030\000\234\003\032\000\234\003\033\000\234\003\034\000\234\003\
++\\035\000\234\003\036\000\234\003\040\000\234\003\041\000\234\003\
++\\043\000\234\003\047\000\234\003\048\000\234\003\049\000\234\003\
++\\050\000\234\003\053\000\234\003\054\000\234\003\055\000\234\003\
++\\056\000\234\003\057\000\234\003\061\000\234\003\062\000\234\003\
++\\069\000\234\003\070\000\234\003\076\000\234\003\077\000\234\003\
++\\078\000\234\003\079\000\234\003\080\000\234\003\081\000\234\003\
++\\082\000\234\003\083\000\234\003\085\000\234\003\087\000\234\003\
++\\088\000\234\003\089\000\234\003\094\000\234\003\095\000\234\003\
++\\098\000\234\003\100\000\234\003\101\000\234\003\104\000\234\003\
++\\105\000\234\003\106\000\234\003\107\000\234\003\108\000\234\003\
++\\109\000\234\003\110\000\234\003\111\000\234\003\112\000\234\003\
++\\113\000\234\003\117\000\234\003\118\000\234\003\121\000\234\003\
++\\123\000\234\003\124\000\234\003\125\000\234\003\127\000\234\003\
++\\128\000\234\003\129\000\234\003\130\000\234\003\131\000\234\003\
++\\132\000\234\003\134\000\234\003\000\000\
++\\001\000\001\000\235\003\002\000\235\003\003\000\235\003\004\000\235\003\
++\\005\000\235\003\007\000\235\003\008\000\235\003\009\000\235\003\
++\\010\000\235\003\011\000\235\003\012\000\235\003\013\000\235\003\
++\\014\000\235\003\016\000\235\003\018\000\235\003\019\000\235\003\
++\\020\000\235\003\021\000\235\003\022\000\235\003\023\000\235\003\
++\\024\000\235\003\025\000\235\003\026\000\235\003\029\000\235\003\
++\\030\000\235\003\032\000\235\003\033\000\235\003\034\000\235\003\
++\\035\000\235\003\036\000\235\003\040\000\235\003\041\000\235\003\
++\\043\000\235\003\047\000\235\003\048\000\235\003\049\000\235\003\
++\\050\000\235\003\053\000\235\003\054\000\235\003\055\000\235\003\
++\\056\000\235\003\057\000\235\003\061\000\235\003\062\000\235\003\
++\\069\000\235\003\070\000\235\003\076\000\235\003\077\000\235\003\
++\\078\000\235\003\079\000\235\003\080\000\235\003\081\000\235\003\
++\\082\000\235\003\083\000\235\003\085\000\235\003\087\000\235\003\
++\\088\000\235\003\089\000\235\003\094\000\235\003\095\000\235\003\
++\\098\000\235\003\100\000\235\003\101\000\235\003\104\000\235\003\
++\\105\000\235\003\106\000\235\003\107\000\235\003\108\000\235\003\
++\\109\000\235\003\110\000\235\003\111\000\235\003\112\000\235\003\
++\\113\000\235\003\117\000\235\003\118\000\235\003\121\000\235\003\
++\\123\000\235\003\124\000\235\003\125\000\235\003\127\000\235\003\
++\\128\000\235\003\129\000\235\003\130\000\235\003\131\000\235\003\
++\\132\000\235\003\134\000\235\003\000\000\
++\\001\000\001\000\236\003\002\000\236\003\003\000\236\003\004\000\236\003\
++\\005\000\236\003\007\000\236\003\008\000\236\003\009\000\236\003\
++\\010\000\236\003\011\000\236\003\012\000\236\003\013\000\236\003\
++\\014\000\236\003\016\000\236\003\018\000\236\003\019\000\236\003\
++\\020\000\236\003\021\000\236\003\022\000\236\003\023\000\236\003\
++\\024\000\236\003\025\000\236\003\026\000\236\003\029\000\236\003\
++\\030\000\236\003\032\000\236\003\033\000\236\003\034\000\236\003\
++\\035\000\236\003\036\000\236\003\040\000\236\003\041\000\236\003\
++\\043\000\236\003\047\000\236\003\048\000\236\003\049\000\236\003\
++\\050\000\236\003\053\000\236\003\054\000\236\003\055\000\236\003\
++\\056\000\236\003\057\000\236\003\061\000\236\003\062\000\236\003\
++\\069\000\236\003\070\000\236\003\076\000\236\003\077\000\236\003\
++\\078\000\236\003\079\000\236\003\080\000\236\003\081\000\236\003\
++\\082\000\236\003\083\000\236\003\085\000\236\003\087\000\236\003\
++\\088\000\236\003\089\000\236\003\094\000\236\003\095\000\236\003\
++\\098\000\236\003\100\000\236\003\101\000\236\003\104\000\236\003\
++\\105\000\236\003\106\000\236\003\107\000\236\003\108\000\236\003\
++\\109\000\236\003\110\000\236\003\111\000\236\003\112\000\236\003\
++\\113\000\236\003\117\000\236\003\118\000\236\003\121\000\236\003\
++\\123\000\236\003\124\000\236\003\125\000\236\003\127\000\236\003\
++\\128\000\236\003\129\000\236\003\130\000\236\003\131\000\236\003\
++\\132\000\236\003\134\000\236\003\000\000\
++\\001\000\001\000\237\003\002\000\237\003\003\000\237\003\004\000\237\003\
++\\005\000\237\003\007\000\237\003\008\000\237\003\009\000\237\003\
++\\010\000\237\003\011\000\237\003\012\000\237\003\013\000\237\003\
++\\014\000\237\003\016\000\237\003\018\000\237\003\019\000\237\003\
++\\020\000\237\003\021\000\237\003\022\000\237\003\023\000\237\003\
++\\024\000\237\003\025\000\237\003\026\000\237\003\029\000\237\003\
++\\030\000\237\003\032\000\237\003\033\000\237\003\034\000\237\003\
++\\035\000\237\003\036\000\237\003\040\000\237\003\041\000\237\003\
++\\043\000\237\003\047\000\237\003\048\000\237\003\049\000\237\003\
++\\050\000\237\003\053\000\237\003\054\000\237\003\055\000\237\003\
++\\056\000\237\003\057\000\237\003\061\000\237\003\062\000\237\003\
++\\069\000\237\003\070\000\237\003\076\000\237\003\077\000\237\003\
++\\078\000\237\003\079\000\237\003\080\000\237\003\081\000\237\003\
++\\082\000\237\003\083\000\237\003\085\000\237\003\087\000\237\003\
++\\088\000\237\003\089\000\237\003\094\000\237\003\095\000\237\003\
++\\098\000\237\003\100\000\237\003\101\000\237\003\104\000\237\003\
++\\105\000\237\003\106\000\237\003\107\000\237\003\108\000\237\003\
++\\109\000\237\003\110\000\237\003\111\000\237\003\112\000\237\003\
++\\113\000\237\003\117\000\237\003\118\000\237\003\121\000\237\003\
++\\123\000\237\003\124\000\237\003\125\000\237\003\127\000\237\003\
++\\128\000\237\003\129\000\237\003\130\000\237\003\131\000\237\003\
++\\132\000\237\003\134\000\237\003\000\000\
++\\001\000\001\000\238\003\002\000\238\003\003\000\238\003\004\000\238\003\
++\\005\000\238\003\007\000\238\003\008\000\238\003\009\000\238\003\
++\\010\000\238\003\011\000\238\003\012\000\238\003\013\000\238\003\
++\\014\000\238\003\016\000\238\003\018\000\238\003\019\000\238\003\
++\\020\000\238\003\021\000\238\003\022\000\238\003\023\000\238\003\
++\\024\000\238\003\025\000\238\003\026\000\238\003\029\000\238\003\
++\\030\000\238\003\032\000\238\003\033\000\238\003\034\000\238\003\
++\\035\000\238\003\036\000\238\003\040\000\238\003\041\000\238\003\
++\\043\000\238\003\047\000\238\003\048\000\238\003\049\000\238\003\
++\\050\000\238\003\053\000\238\003\054\000\238\003\055\000\238\003\
++\\056\000\238\003\057\000\238\003\061\000\238\003\062\000\238\003\
++\\069\000\238\003\070\000\238\003\076\000\238\003\077\000\238\003\
++\\078\000\238\003\079\000\238\003\080\000\238\003\081\000\238\003\
++\\082\000\238\003\083\000\238\003\085\000\238\003\087\000\238\003\
++\\088\000\238\003\089\000\238\003\094\000\238\003\095\000\238\003\
++\\098\000\238\003\100\000\238\003\101\000\238\003\104\000\238\003\
++\\105\000\238\003\106\000\238\003\107\000\238\003\108\000\238\003\
++\\109\000\238\003\110\000\238\003\111\000\238\003\112\000\238\003\
++\\113\000\238\003\117\000\238\003\118\000\238\003\121\000\238\003\
++\\123\000\238\003\124\000\238\003\125\000\238\003\127\000\238\003\
++\\128\000\238\003\129\000\238\003\130\000\238\003\131\000\238\003\
++\\132\000\238\003\134\000\238\003\000\000\
++\\001\000\001\000\239\003\002\000\239\003\003\000\239\003\004\000\239\003\
++\\005\000\239\003\007\000\239\003\008\000\239\003\009\000\239\003\
++\\010\000\239\003\011\000\239\003\012\000\239\003\013\000\239\003\
++\\014\000\239\003\016\000\239\003\018\000\239\003\019\000\239\003\
++\\020\000\239\003\021\000\239\003\022\000\239\003\023\000\239\003\
++\\024\000\239\003\025\000\239\003\026\000\239\003\029\000\239\003\
++\\030\000\239\003\032\000\239\003\033\000\239\003\034\000\239\003\
++\\035\000\239\003\036\000\239\003\040\000\239\003\041\000\239\003\
++\\043\000\239\003\047\000\239\003\048\000\239\003\049\000\239\003\
++\\050\000\239\003\053\000\239\003\054\000\239\003\055\000\239\003\
++\\056\000\239\003\057\000\239\003\061\000\239\003\062\000\239\003\
++\\069\000\239\003\070\000\239\003\076\000\239\003\077\000\239\003\
++\\078\000\239\003\079\000\239\003\080\000\239\003\081\000\239\003\
++\\082\000\239\003\083\000\239\003\085\000\239\003\087\000\239\003\
++\\088\000\239\003\089\000\239\003\094\000\239\003\095\000\239\003\
++\\098\000\239\003\100\000\239\003\101\000\239\003\104\000\239\003\
++\\105\000\239\003\106\000\239\003\107\000\239\003\108\000\239\003\
++\\109\000\239\003\110\000\239\003\111\000\239\003\112\000\239\003\
++\\113\000\239\003\117\000\239\003\118\000\239\003\121\000\239\003\
++\\123\000\239\003\124\000\239\003\125\000\239\003\127\000\239\003\
++\\128\000\239\003\129\000\239\003\130\000\239\003\131\000\239\003\
++\\132\000\239\003\134\000\239\003\000\000\
++\\001\000\001\000\240\003\002\000\240\003\003\000\240\003\004\000\240\003\
++\\005\000\240\003\007\000\240\003\008\000\240\003\009\000\240\003\
++\\010\000\240\003\011\000\240\003\012\000\240\003\013\000\240\003\
++\\014\000\240\003\016\000\240\003\018\000\240\003\019\000\240\003\
++\\020\000\240\003\021\000\240\003\022\000\240\003\023\000\240\003\
++\\024\000\240\003\025\000\240\003\026\000\240\003\029\000\240\003\
++\\030\000\240\003\032\000\240\003\033\000\240\003\034\000\240\003\
++\\035\000\240\003\036\000\240\003\040\000\240\003\041\000\240\003\
++\\043\000\240\003\047\000\240\003\048\000\240\003\049\000\240\003\
++\\050\000\240\003\053\000\240\003\054\000\240\003\055\000\240\003\
++\\056\000\240\003\057\000\240\003\061\000\240\003\062\000\240\003\
++\\069\000\240\003\070\000\240\003\076\000\240\003\077\000\240\003\
++\\078\000\240\003\079\000\240\003\080\000\240\003\081\000\240\003\
++\\082\000\240\003\083\000\240\003\085\000\240\003\087\000\240\003\
++\\088\000\240\003\089\000\240\003\094\000\240\003\095\000\240\003\
++\\098\000\240\003\100\000\240\003\101\000\240\003\104\000\240\003\
++\\105\000\240\003\106\000\240\003\107\000\240\003\108\000\240\003\
++\\109\000\240\003\110\000\240\003\111\000\240\003\112\000\240\003\
++\\113\000\240\003\117\000\240\003\118\000\240\003\121\000\240\003\
++\\123\000\240\003\124\000\240\003\125\000\240\003\127\000\240\003\
++\\128\000\240\003\129\000\240\003\130\000\240\003\131\000\240\003\
++\\132\000\240\003\134\000\240\003\000\000\
++\\001\000\001\000\241\003\002\000\241\003\003\000\241\003\004\000\241\003\
++\\005\000\241\003\007\000\241\003\008\000\241\003\009\000\241\003\
++\\010\000\241\003\011\000\241\003\012\000\241\003\013\000\241\003\
++\\014\000\241\003\016\000\241\003\018\000\241\003\019\000\241\003\
++\\020\000\241\003\021\000\241\003\022\000\241\003\023\000\241\003\
++\\024\000\241\003\025\000\241\003\026\000\241\003\029\000\241\003\
++\\030\000\241\003\032\000\241\003\033\000\241\003\034\000\241\003\
++\\035\000\241\003\036\000\241\003\040\000\241\003\041\000\241\003\
++\\043\000\241\003\047\000\241\003\048\000\241\003\049\000\241\003\
++\\050\000\241\003\053\000\241\003\054\000\241\003\055\000\241\003\
++\\056\000\241\003\057\000\241\003\061\000\241\003\062\000\241\003\
++\\069\000\241\003\070\000\241\003\076\000\241\003\077\000\241\003\
++\\078\000\241\003\079\000\241\003\080\000\241\003\081\000\241\003\
++\\082\000\241\003\083\000\241\003\085\000\241\003\087\000\241\003\
++\\088\000\241\003\089\000\241\003\094\000\241\003\095\000\241\003\
++\\098\000\241\003\100\000\241\003\101\000\241\003\104\000\241\003\
++\\105\000\241\003\106\000\241\003\107\000\241\003\108\000\241\003\
++\\109\000\241\003\110\000\241\003\111\000\241\003\112\000\241\003\
++\\113\000\241\003\117\000\241\003\118\000\241\003\121\000\241\003\
++\\123\000\241\003\124\000\241\003\125\000\241\003\127\000\241\003\
++\\128\000\241\003\129\000\241\003\130\000\241\003\131\000\241\003\
++\\132\000\241\003\134\000\241\003\000\000\
++\\001\000\001\000\242\003\002\000\242\003\003\000\242\003\004\000\242\003\
++\\005\000\242\003\007\000\242\003\008\000\242\003\009\000\242\003\
++\\010\000\242\003\011\000\242\003\012\000\242\003\013\000\242\003\
++\\014\000\242\003\015\000\092\002\016\000\242\003\018\000\242\003\
++\\019\000\242\003\020\000\242\003\021\000\242\003\022\000\242\003\
++\\023\000\242\003\024\000\242\003\025\000\242\003\026\000\242\003\
++\\029\000\242\003\030\000\242\003\032\000\242\003\033\000\242\003\
++\\034\000\242\003\035\000\242\003\036\000\242\003\040\000\242\003\
++\\041\000\242\003\043\000\242\003\047\000\242\003\048\000\242\003\
++\\049\000\242\003\050\000\242\003\053\000\242\003\054\000\242\003\
++\\055\000\242\003\056\000\242\003\057\000\242\003\061\000\242\003\
++\\062\000\242\003\069\000\242\003\070\000\242\003\076\000\242\003\
++\\077\000\242\003\078\000\242\003\079\000\242\003\080\000\242\003\
++\\081\000\242\003\082\000\242\003\083\000\242\003\085\000\242\003\
++\\087\000\242\003\088\000\242\003\089\000\242\003\094\000\242\003\
++\\095\000\242\003\098\000\242\003\100\000\242\003\101\000\242\003\
++\\104\000\242\003\105\000\242\003\106\000\242\003\107\000\242\003\
++\\108\000\242\003\109\000\242\003\110\000\242\003\111\000\242\003\
++\\112\000\242\003\113\000\242\003\117\000\242\003\118\000\242\003\
++\\121\000\242\003\123\000\242\003\124\000\242\003\125\000\242\003\
++\\127\000\242\003\128\000\242\003\129\000\242\003\130\000\242\003\
++\\131\000\242\003\132\000\242\003\134\000\242\003\000\000\
++\\001\000\001\000\243\003\002\000\243\003\003\000\243\003\004\000\243\003\
++\\005\000\243\003\007\000\243\003\008\000\243\003\009\000\243\003\
++\\010\000\243\003\011\000\243\003\012\000\243\003\013\000\243\003\
++\\014\000\243\003\016\000\243\003\018\000\243\003\019\000\243\003\
++\\020\000\243\003\021\000\243\003\022\000\243\003\023\000\243\003\
++\\024\000\243\003\025\000\243\003\026\000\243\003\029\000\243\003\
++\\030\000\243\003\032\000\243\003\033\000\243\003\034\000\243\003\
++\\035\000\243\003\036\000\243\003\040\000\243\003\041\000\243\003\
++\\043\000\243\003\047\000\243\003\048\000\243\003\049\000\243\003\
++\\050\000\243\003\053\000\243\003\054\000\243\003\055\000\243\003\
++\\056\000\243\003\057\000\243\003\061\000\243\003\062\000\243\003\
++\\069\000\243\003\070\000\243\003\076\000\243\003\077\000\243\003\
++\\078\000\243\003\079\000\243\003\080\000\243\003\081\000\243\003\
++\\082\000\243\003\083\000\243\003\085\000\243\003\087\000\243\003\
++\\088\000\243\003\089\000\243\003\094\000\243\003\095\000\243\003\
++\\098\000\243\003\100\000\243\003\101\000\243\003\104\000\243\003\
++\\105\000\243\003\106\000\243\003\107\000\243\003\108\000\243\003\
++\\109\000\243\003\110\000\243\003\111\000\243\003\112\000\243\003\
++\\113\000\243\003\117\000\243\003\118\000\243\003\121\000\243\003\
++\\123\000\243\003\124\000\243\003\125\000\243\003\127\000\243\003\
++\\128\000\243\003\129\000\243\003\130\000\243\003\131\000\243\003\
++\\132\000\243\003\134\000\243\003\000\000\
++\\001\000\001\000\244\003\002\000\244\003\003\000\244\003\004\000\244\003\
++\\005\000\244\003\007\000\244\003\008\000\244\003\009\000\244\003\
++\\010\000\244\003\011\000\244\003\012\000\244\003\013\000\244\003\
++\\014\000\244\003\016\000\244\003\018\000\244\003\019\000\244\003\
++\\020\000\244\003\021\000\244\003\022\000\244\003\023\000\244\003\
++\\024\000\244\003\025\000\244\003\026\000\244\003\029\000\244\003\
++\\030\000\244\003\032\000\244\003\033\000\244\003\034\000\244\003\
++\\035\000\244\003\036\000\244\003\040\000\244\003\041\000\244\003\
++\\043\000\244\003\047\000\244\003\048\000\244\003\049\000\244\003\
++\\050\000\244\003\053\000\244\003\054\000\244\003\055\000\244\003\
++\\056\000\244\003\057\000\244\003\061\000\244\003\062\000\244\003\
++\\069\000\244\003\070\000\244\003\076\000\244\003\077\000\244\003\
++\\078\000\244\003\079\000\244\003\080\000\244\003\081\000\244\003\
++\\082\000\244\003\083\000\244\003\085\000\244\003\087\000\244\003\
++\\088\000\244\003\089\000\244\003\094\000\244\003\095\000\244\003\
++\\098\000\244\003\100\000\244\003\101\000\244\003\104\000\244\003\
++\\105\000\244\003\106\000\244\003\107\000\244\003\108\000\244\003\
++\\109\000\244\003\110\000\244\003\111\000\244\003\112\000\244\003\
++\\113\000\244\003\117\000\244\003\118\000\244\003\121\000\244\003\
++\\123\000\244\003\124\000\244\003\125\000\244\003\127\000\244\003\
++\\128\000\244\003\129\000\244\003\130\000\244\003\131\000\244\003\
++\\132\000\244\003\134\000\244\003\000\000\
++\\001\000\001\000\245\003\002\000\245\003\003\000\245\003\004\000\245\003\
++\\005\000\245\003\007\000\245\003\008\000\245\003\009\000\245\003\
++\\010\000\245\003\011\000\245\003\012\000\245\003\013\000\245\003\
++\\014\000\245\003\016\000\245\003\018\000\245\003\019\000\245\003\
++\\020\000\245\003\021\000\245\003\022\000\245\003\023\000\245\003\
++\\024\000\245\003\025\000\245\003\026\000\245\003\029\000\245\003\
++\\030\000\245\003\032\000\245\003\033\000\245\003\034\000\245\003\
++\\035\000\245\003\036\000\245\003\040\000\245\003\041\000\245\003\
++\\043\000\245\003\047\000\245\003\048\000\245\003\049\000\245\003\
++\\050\000\245\003\053\000\245\003\054\000\245\003\055\000\245\003\
++\\056\000\245\003\057\000\245\003\061\000\245\003\062\000\245\003\
++\\069\000\245\003\070\000\245\003\076\000\245\003\077\000\245\003\
++\\078\000\245\003\079\000\245\003\080\000\245\003\081\000\245\003\
++\\082\000\245\003\083\000\245\003\085\000\245\003\087\000\245\003\
++\\088\000\245\003\089\000\245\003\094\000\245\003\095\000\245\003\
++\\098\000\245\003\100\000\245\003\101\000\245\003\104\000\245\003\
++\\105\000\245\003\106\000\245\003\107\000\245\003\108\000\245\003\
++\\109\000\245\003\110\000\245\003\111\000\245\003\112\000\245\003\
++\\113\000\245\003\117\000\245\003\118\000\245\003\121\000\245\003\
++\\123\000\245\003\124\000\245\003\125\000\245\003\127\000\245\003\
++\\128\000\245\003\129\000\245\003\130\000\245\003\131\000\245\003\
++\\132\000\245\003\134\000\245\003\000\000\
++\\001\000\001\000\246\003\002\000\246\003\003\000\246\003\004\000\246\003\
++\\005\000\246\003\007\000\246\003\008\000\246\003\009\000\246\003\
++\\010\000\246\003\011\000\246\003\012\000\246\003\013\000\246\003\
++\\014\000\246\003\016\000\246\003\018\000\246\003\019\000\246\003\
++\\020\000\246\003\021\000\246\003\022\000\246\003\023\000\246\003\
++\\024\000\246\003\025\000\246\003\026\000\246\003\029\000\246\003\
++\\030\000\246\003\032\000\246\003\033\000\246\003\034\000\246\003\
++\\035\000\246\003\036\000\246\003\040\000\246\003\041\000\246\003\
++\\043\000\246\003\047\000\246\003\048\000\246\003\049\000\246\003\
++\\050\000\246\003\053\000\246\003\054\000\246\003\055\000\246\003\
++\\056\000\246\003\057\000\246\003\061\000\246\003\062\000\246\003\
++\\069\000\246\003\070\000\246\003\076\000\246\003\077\000\246\003\
++\\078\000\246\003\079\000\246\003\080\000\246\003\081\000\246\003\
++\\082\000\246\003\083\000\246\003\085\000\246\003\087\000\246\003\
++\\088\000\246\003\089\000\246\003\094\000\246\003\095\000\246\003\
++\\098\000\246\003\100\000\246\003\101\000\246\003\104\000\246\003\
++\\105\000\246\003\106\000\246\003\107\000\246\003\108\000\246\003\
++\\109\000\246\003\110\000\246\003\111\000\246\003\112\000\246\003\
++\\113\000\246\003\117\000\246\003\118\000\246\003\121\000\246\003\
++\\123\000\246\003\124\000\246\003\125\000\246\003\127\000\246\003\
++\\128\000\246\003\129\000\246\003\130\000\246\003\131\000\246\003\
++\\132\000\246\003\134\000\246\003\000\000\
++\\001\000\001\000\247\003\002\000\247\003\003\000\247\003\004\000\247\003\
++\\005\000\247\003\007\000\247\003\008\000\247\003\009\000\247\003\
++\\010\000\247\003\011\000\247\003\012\000\247\003\013\000\247\003\
++\\014\000\247\003\015\000\168\002\016\000\247\003\018\000\247\003\
++\\019\000\247\003\020\000\247\003\021\000\247\003\022\000\247\003\
++\\023\000\247\003\024\000\247\003\025\000\247\003\026\000\247\003\
++\\029\000\247\003\030\000\247\003\032\000\247\003\033\000\247\003\
++\\034\000\247\003\035\000\247\003\036\000\247\003\040\000\247\003\
++\\041\000\247\003\043\000\247\003\047\000\247\003\048\000\247\003\
++\\049\000\247\003\050\000\247\003\053\000\247\003\054\000\247\003\
++\\055\000\247\003\056\000\247\003\057\000\247\003\061\000\247\003\
++\\062\000\247\003\069\000\247\003\070\000\247\003\076\000\247\003\
++\\077\000\247\003\078\000\247\003\079\000\247\003\080\000\247\003\
++\\081\000\247\003\082\000\247\003\083\000\247\003\085\000\247\003\
++\\087\000\247\003\088\000\247\003\089\000\247\003\094\000\247\003\
++\\095\000\247\003\098\000\247\003\100\000\247\003\101\000\247\003\
++\\104\000\247\003\105\000\247\003\106\000\247\003\107\000\247\003\
++\\108\000\247\003\109\000\247\003\110\000\247\003\111\000\247\003\
++\\112\000\247\003\113\000\247\003\117\000\247\003\118\000\247\003\
++\\121\000\247\003\123\000\247\003\124\000\247\003\125\000\247\003\
++\\127\000\247\003\128\000\247\003\129\000\247\003\130\000\247\003\
++\\131\000\247\003\132\000\247\003\134\000\247\003\000\000\
++\\001\000\001\000\248\003\002\000\248\003\003\000\248\003\004\000\248\003\
++\\005\000\248\003\007\000\248\003\008\000\248\003\009\000\248\003\
++\\010\000\248\003\011\000\248\003\012\000\248\003\013\000\248\003\
++\\014\000\248\003\016\000\248\003\018\000\248\003\019\000\248\003\
++\\020\000\248\003\021\000\248\003\022\000\248\003\023\000\248\003\
++\\024\000\248\003\025\000\248\003\026\000\248\003\029\000\248\003\
++\\030\000\248\003\032\000\248\003\033\000\248\003\034\000\248\003\
++\\035\000\248\003\036\000\248\003\040\000\248\003\041\000\248\003\
++\\043\000\248\003\047\000\248\003\048\000\248\003\049\000\248\003\
++\\050\000\248\003\053\000\248\003\054\000\248\003\055\000\248\003\
++\\056\000\248\003\057\000\248\003\061\000\248\003\062\000\248\003\
++\\069\000\248\003\070\000\248\003\076\000\248\003\077\000\248\003\
++\\078\000\248\003\079\000\248\003\080\000\248\003\081\000\248\003\
++\\082\000\248\003\083\000\248\003\085\000\248\003\087\000\248\003\
++\\088\000\248\003\089\000\248\003\094\000\248\003\095\000\248\003\
++\\098\000\248\003\100\000\248\003\101\000\248\003\104\000\248\003\
++\\105\000\248\003\106\000\248\003\107\000\248\003\108\000\248\003\
++\\109\000\248\003\110\000\248\003\111\000\248\003\112\000\248\003\
++\\113\000\248\003\117\000\248\003\118\000\248\003\121\000\248\003\
++\\123\000\248\003\124\000\248\003\125\000\248\003\127\000\248\003\
++\\128\000\248\003\129\000\248\003\130\000\248\003\131\000\248\003\
++\\132\000\248\003\134\000\248\003\000\000\
++\\001\000\001\000\249\003\002\000\249\003\003\000\249\003\004\000\249\003\
++\\005\000\249\003\007\000\249\003\008\000\249\003\009\000\249\003\
++\\010\000\249\003\011\000\249\003\012\000\249\003\013\000\249\003\
++\\014\000\249\003\016\000\249\003\018\000\249\003\019\000\249\003\
++\\020\000\249\003\021\000\249\003\022\000\249\003\023\000\249\003\
++\\024\000\249\003\025\000\249\003\026\000\249\003\029\000\249\003\
++\\030\000\249\003\032\000\249\003\033\000\249\003\034\000\249\003\
++\\035\000\249\003\036\000\249\003\040\000\249\003\041\000\249\003\
++\\043\000\249\003\047\000\249\003\048\000\249\003\049\000\249\003\
++\\050\000\249\003\053\000\249\003\054\000\249\003\055\000\249\003\
++\\056\000\249\003\057\000\249\003\061\000\249\003\062\000\249\003\
++\\069\000\249\003\070\000\249\003\076\000\249\003\077\000\249\003\
++\\078\000\249\003\079\000\249\003\080\000\249\003\081\000\249\003\
++\\082\000\249\003\083\000\249\003\085\000\249\003\087\000\249\003\
++\\088\000\249\003\089\000\249\003\094\000\249\003\095\000\249\003\
++\\098\000\249\003\100\000\249\003\101\000\249\003\104\000\249\003\
++\\105\000\249\003\106\000\249\003\107\000\249\003\108\000\249\003\
++\\109\000\249\003\110\000\249\003\111\000\249\003\112\000\249\003\
++\\113\000\249\003\117\000\249\003\118\000\249\003\121\000\249\003\
++\\123\000\249\003\124\000\249\003\125\000\249\003\127\000\249\003\
++\\128\000\249\003\129\000\249\003\130\000\249\003\131\000\249\003\
++\\132\000\249\003\134\000\249\003\000\000\
++\\001\000\001\000\250\003\002\000\250\003\003\000\250\003\004\000\250\003\
++\\005\000\250\003\007\000\250\003\008\000\250\003\009\000\250\003\
++\\010\000\250\003\011\000\250\003\012\000\250\003\013\000\250\003\
++\\014\000\250\003\016\000\250\003\018\000\250\003\019\000\250\003\
++\\020\000\250\003\021\000\250\003\022\000\250\003\023\000\250\003\
++\\024\000\250\003\025\000\250\003\026\000\250\003\029\000\250\003\
++\\030\000\250\003\032\000\250\003\033\000\250\003\034\000\250\003\
++\\035\000\250\003\036\000\250\003\040\000\250\003\041\000\250\003\
++\\043\000\250\003\047\000\250\003\048\000\250\003\049\000\250\003\
++\\050\000\250\003\053\000\250\003\054\000\250\003\055\000\250\003\
++\\056\000\250\003\057\000\250\003\061\000\250\003\062\000\250\003\
++\\069\000\250\003\070\000\250\003\076\000\250\003\077\000\250\003\
++\\078\000\250\003\079\000\250\003\080\000\250\003\081\000\250\003\
++\\082\000\250\003\083\000\250\003\085\000\250\003\087\000\250\003\
++\\088\000\250\003\089\000\250\003\094\000\250\003\095\000\250\003\
++\\098\000\250\003\100\000\250\003\101\000\250\003\104\000\250\003\
++\\105\000\250\003\106\000\250\003\107\000\250\003\108\000\250\003\
++\\109\000\250\003\110\000\250\003\111\000\250\003\112\000\250\003\
++\\113\000\250\003\117\000\250\003\118\000\250\003\121\000\250\003\
++\\123\000\250\003\124\000\250\003\125\000\250\003\127\000\250\003\
++\\128\000\250\003\129\000\250\003\130\000\250\003\131\000\250\003\
++\\132\000\250\003\134\000\250\003\000\000\
++\\001\000\001\000\253\003\002\000\253\003\003\000\253\003\004\000\253\003\
++\\005\000\253\003\007\000\253\003\008\000\253\003\009\000\253\003\
++\\010\000\253\003\011\000\253\003\012\000\253\003\013\000\253\003\
++\\014\000\253\003\016\000\253\003\018\000\253\003\019\000\253\003\
++\\020\000\253\003\021\000\253\003\022\000\253\003\023\000\253\003\
++\\024\000\253\003\025\000\253\003\026\000\253\003\029\000\253\003\
++\\030\000\253\003\032\000\253\003\033\000\253\003\034\000\253\003\
++\\035\000\253\003\036\000\253\003\040\000\253\003\041\000\253\003\
++\\043\000\253\003\047\000\253\003\048\000\253\003\049\000\253\003\
++\\050\000\253\003\053\000\253\003\054\000\253\003\055\000\253\003\
++\\056\000\253\003\057\000\253\003\061\000\253\003\062\000\253\003\
++\\069\000\253\003\070\000\253\003\076\000\253\003\077\000\253\003\
++\\078\000\253\003\079\000\253\003\080\000\253\003\081\000\253\003\
++\\082\000\253\003\083\000\253\003\085\000\253\003\087\000\253\003\
++\\088\000\253\003\089\000\253\003\094\000\253\003\095\000\253\003\
++\\098\000\253\003\100\000\253\003\101\000\253\003\104\000\253\003\
++\\105\000\253\003\106\000\253\003\107\000\253\003\108\000\253\003\
++\\109\000\253\003\110\000\253\003\111\000\253\003\112\000\253\003\
++\\113\000\253\003\117\000\253\003\118\000\253\003\121\000\253\003\
++\\123\000\253\003\124\000\253\003\125\000\253\003\127\000\253\003\
++\\128\000\253\003\129\000\253\003\130\000\253\003\131\000\253\003\
++\\132\000\253\003\134\000\253\003\000\000\
++\\001\000\001\000\254\003\002\000\254\003\003\000\254\003\004\000\254\003\
++\\005\000\254\003\007\000\254\003\008\000\254\003\009\000\254\003\
++\\010\000\254\003\011\000\254\003\012\000\254\003\013\000\254\003\
++\\014\000\254\003\015\000\151\001\016\000\254\003\018\000\254\003\
++\\019\000\254\003\020\000\254\003\021\000\254\003\022\000\254\003\
++\\023\000\254\003\024\000\254\003\025\000\254\003\026\000\254\003\
++\\029\000\254\003\030\000\254\003\032\000\254\003\033\000\254\003\
++\\034\000\254\003\035\000\254\003\036\000\254\003\040\000\254\003\
++\\041\000\254\003\043\000\254\003\047\000\254\003\048\000\254\003\
++\\049\000\254\003\050\000\254\003\053\000\254\003\054\000\254\003\
++\\055\000\254\003\056\000\254\003\057\000\254\003\061\000\254\003\
++\\062\000\254\003\069\000\254\003\070\000\254\003\076\000\254\003\
++\\077\000\254\003\078\000\254\003\079\000\254\003\080\000\254\003\
++\\081\000\254\003\082\000\254\003\083\000\254\003\085\000\254\003\
++\\087\000\254\003\088\000\254\003\089\000\254\003\094\000\254\003\
++\\095\000\254\003\098\000\254\003\100\000\254\003\101\000\254\003\
++\\104\000\254\003\105\000\254\003\106\000\254\003\107\000\254\003\
++\\108\000\254\003\109\000\254\003\110\000\254\003\111\000\254\003\
++\\112\000\254\003\113\000\254\003\117\000\254\003\118\000\254\003\
++\\121\000\254\003\123\000\254\003\124\000\254\003\125\000\254\003\
++\\127\000\254\003\128\000\254\003\129\000\254\003\130\000\254\003\
++\\131\000\254\003\132\000\254\003\134\000\254\003\000\000\
++\\001\000\001\000\255\003\002\000\255\003\003\000\255\003\004\000\255\003\
++\\005\000\255\003\007\000\255\003\008\000\255\003\009\000\255\003\
++\\010\000\255\003\011\000\255\003\012\000\255\003\013\000\255\003\
++\\014\000\255\003\016\000\255\003\018\000\255\003\019\000\255\003\
++\\020\000\255\003\021\000\255\003\022\000\255\003\023\000\255\003\
++\\024\000\255\003\025\000\255\003\026\000\255\003\029\000\255\003\
++\\030\000\255\003\032\000\255\003\033\000\255\003\034\000\255\003\
++\\035\000\255\003\036\000\255\003\040\000\255\003\041\000\255\003\
++\\043\000\255\003\047\000\255\003\048\000\255\003\049\000\255\003\
++\\050\000\255\003\053\000\255\003\054\000\255\003\055\000\255\003\
++\\056\000\255\003\057\000\255\003\061\000\255\003\062\000\255\003\
++\\069\000\255\003\070\000\255\003\076\000\255\003\077\000\255\003\
++\\078\000\255\003\079\000\255\003\080\000\255\003\081\000\255\003\
++\\082\000\255\003\083\000\255\003\085\000\255\003\087\000\255\003\
++\\088\000\255\003\089\000\255\003\094\000\255\003\095\000\255\003\
++\\098\000\255\003\100\000\255\003\101\000\255\003\104\000\255\003\
++\\105\000\255\003\106\000\255\003\107\000\255\003\108\000\255\003\
++\\109\000\255\003\110\000\255\003\111\000\255\003\112\000\255\003\
++\\113\000\255\003\117\000\255\003\118\000\255\003\121\000\255\003\
++\\123\000\255\003\124\000\255\003\125\000\255\003\127\000\255\003\
++\\128\000\255\003\129\000\255\003\130\000\255\003\131\000\255\003\
++\\132\000\255\003\134\000\255\003\000\000\
++\\001\000\001\000\000\004\002\000\000\004\003\000\000\004\004\000\000\004\
++\\005\000\000\004\007\000\000\004\008\000\000\004\009\000\000\004\
++\\010\000\000\004\011\000\000\004\012\000\000\004\013\000\000\004\
++\\014\000\000\004\016\000\000\004\018\000\000\004\019\000\000\004\
++\\020\000\000\004\021\000\000\004\022\000\000\004\023\000\000\004\
++\\024\000\000\004\025\000\000\004\026\000\000\004\029\000\000\004\
++\\030\000\000\004\032\000\000\004\033\000\000\004\034\000\000\004\
++\\035\000\000\004\036\000\000\004\040\000\000\004\041\000\000\004\
++\\043\000\000\004\047\000\000\004\048\000\000\004\049\000\000\004\
++\\050\000\000\004\053\000\000\004\054\000\000\004\055\000\000\004\
++\\056\000\000\004\057\000\000\004\061\000\000\004\062\000\000\004\
++\\069\000\000\004\070\000\000\004\076\000\000\004\077\000\000\004\
++\\078\000\000\004\079\000\000\004\080\000\000\004\081\000\000\004\
++\\082\000\000\004\083\000\000\004\085\000\000\004\087\000\000\004\
++\\088\000\000\004\089\000\000\004\094\000\000\004\095\000\000\004\
++\\098\000\000\004\100\000\000\004\101\000\000\004\104\000\000\004\
++\\105\000\000\004\106\000\000\004\107\000\000\004\108\000\000\004\
++\\109\000\000\004\110\000\000\004\111\000\000\004\112\000\000\004\
++\\113\000\000\004\117\000\000\004\118\000\000\004\121\000\000\004\
++\\123\000\000\004\124\000\000\004\125\000\000\004\127\000\000\004\
++\\128\000\000\004\129\000\000\004\130\000\000\004\131\000\000\004\
++\\132\000\000\004\134\000\000\004\000\000\
++\\001\000\001\000\007\004\002\000\007\004\003\000\007\004\004\000\007\004\
++\\005\000\007\004\007\000\007\004\008\000\007\004\009\000\007\004\
++\\010\000\007\004\011\000\007\004\012\000\007\004\013\000\007\004\
++\\014\000\007\004\016\000\007\004\018\000\007\004\019\000\007\004\
++\\020\000\007\004\021\000\007\004\022\000\007\004\023\000\007\004\
++\\024\000\007\004\025\000\007\004\026\000\007\004\029\000\007\004\
++\\030\000\007\004\032\000\007\004\033\000\007\004\034\000\007\004\
++\\035\000\007\004\036\000\007\004\040\000\150\001\041\000\007\004\
++\\043\000\007\004\047\000\007\004\048\000\007\004\049\000\007\004\
++\\050\000\007\004\053\000\007\004\054\000\007\004\055\000\007\004\
++\\056\000\007\004\057\000\007\004\061\000\007\004\062\000\007\004\
++\\069\000\007\004\070\000\007\004\076\000\007\004\077\000\007\004\
++\\078\000\007\004\079\000\007\004\080\000\007\004\081\000\007\004\
++\\082\000\007\004\083\000\007\004\085\000\007\004\087\000\007\004\
++\\088\000\007\004\089\000\007\004\094\000\007\004\095\000\007\004\
++\\098\000\007\004\100\000\007\004\101\000\007\004\104\000\007\004\
++\\105\000\007\004\106\000\007\004\107\000\007\004\108\000\007\004\
++\\109\000\007\004\110\000\007\004\111\000\007\004\112\000\007\004\
++\\113\000\007\004\117\000\007\004\118\000\007\004\121\000\007\004\
++\\123\000\007\004\124\000\007\004\125\000\007\004\127\000\007\004\
++\\128\000\007\004\129\000\007\004\130\000\007\004\131\000\007\004\
++\\132\000\007\004\134\000\007\004\000\000\
++\\001\000\001\000\008\004\002\000\008\004\003\000\008\004\004\000\008\004\
++\\005\000\008\004\007\000\008\004\008\000\008\004\009\000\008\004\
++\\010\000\008\004\011\000\008\004\012\000\008\004\013\000\008\004\
++\\014\000\008\004\016\000\008\004\018\000\008\004\019\000\008\004\
++\\020\000\008\004\021\000\008\004\022\000\008\004\023\000\008\004\
++\\024\000\008\004\025\000\008\004\026\000\008\004\029\000\008\004\
++\\030\000\008\004\032\000\008\004\033\000\008\004\034\000\008\004\
++\\035\000\008\004\036\000\008\004\040\000\150\001\041\000\008\004\
++\\043\000\008\004\047\000\008\004\048\000\008\004\049\000\008\004\
++\\050\000\008\004\053\000\008\004\054\000\008\004\055\000\008\004\
++\\056\000\008\004\057\000\008\004\061\000\008\004\062\000\008\004\
++\\069\000\008\004\070\000\008\004\076\000\008\004\077\000\008\004\
++\\078\000\008\004\079\000\008\004\080\000\008\004\081\000\008\004\
++\\082\000\008\004\083\000\008\004\085\000\008\004\087\000\008\004\
++\\088\000\008\004\089\000\008\004\094\000\008\004\095\000\008\004\
++\\098\000\008\004\100\000\008\004\101\000\008\004\104\000\008\004\
++\\105\000\008\004\106\000\008\004\107\000\008\004\108\000\008\004\
++\\109\000\008\004\110\000\008\004\111\000\008\004\112\000\008\004\
++\\113\000\008\004\117\000\008\004\118\000\008\004\121\000\008\004\
++\\123\000\008\004\124\000\008\004\125\000\008\004\127\000\008\004\
++\\128\000\008\004\129\000\008\004\130\000\008\004\131\000\008\004\
++\\132\000\008\004\134\000\008\004\000\000\
++\\001\000\001\000\009\004\002\000\009\004\003\000\009\004\004\000\009\004\
++\\005\000\009\004\007\000\009\004\008\000\009\004\009\000\046\001\
++\\010\000\045\001\011\000\074\000\012\000\009\004\013\000\073\000\
++\\014\000\072\000\016\000\044\001\018\000\043\001\019\000\042\001\
++\\020\000\009\004\021\000\041\001\022\000\009\004\023\000\040\001\
++\\024\000\009\004\025\000\009\004\026\000\039\001\029\000\009\004\
++\\030\000\052\000\032\000\009\004\033\000\009\004\034\000\037\001\
++\\035\000\009\004\036\000\009\004\041\000\009\004\043\000\009\004\
++\\047\000\009\004\048\000\009\004\049\000\101\000\050\000\100\000\
++\\053\000\009\004\054\000\034\001\055\000\009\004\056\000\009\004\
++\\057\000\009\004\061\000\009\004\062\000\009\004\069\000\009\004\
++\\070\000\009\004\076\000\009\004\077\000\009\004\078\000\009\004\
++\\079\000\009\004\080\000\009\004\081\000\033\001\082\000\009\004\
++\\083\000\009\004\085\000\009\004\087\000\009\004\088\000\009\004\
++\\089\000\009\004\094\000\009\004\095\000\009\004\098\000\009\004\
++\\100\000\098\000\101\000\097\000\104\000\009\004\105\000\009\004\
++\\106\000\009\004\107\000\009\004\108\000\009\004\109\000\009\004\
++\\110\000\009\004\111\000\009\004\112\000\009\004\113\000\009\004\
++\\117\000\009\004\118\000\009\004\121\000\009\004\123\000\009\004\
++\\124\000\051\000\125\000\050\000\127\000\096\000\128\000\066\000\
++\\129\000\095\000\130\000\094\000\131\000\093\000\132\000\092\000\
++\\134\000\009\004\000\000\
++\\001\000\001\000\010\004\002\000\010\004\003\000\010\004\004\000\010\004\
++\\005\000\010\004\007\000\010\004\008\000\010\004\012\000\010\004\
++\\019\000\010\004\020\000\010\004\022\000\010\004\024\000\010\004\
++\\025\000\010\004\029\000\010\004\030\000\010\004\032\000\010\004\
++\\033\000\010\004\035\000\010\004\036\000\010\004\041\000\010\004\
++\\043\000\010\004\047\000\010\004\048\000\010\004\053\000\010\004\
++\\055\000\010\004\056\000\010\004\057\000\010\004\061\000\010\004\
++\\062\000\010\004\069\000\010\004\070\000\010\004\076\000\010\004\
++\\077\000\010\004\078\000\010\004\079\000\010\004\080\000\010\004\
++\\082\000\010\004\083\000\010\004\085\000\010\004\087\000\010\004\
++\\088\000\010\004\089\000\010\004\094\000\010\004\095\000\010\004\
++\\098\000\010\004\104\000\010\004\105\000\010\004\106\000\010\004\
++\\107\000\010\004\108\000\010\004\109\000\010\004\110\000\010\004\
++\\111\000\010\004\112\000\010\004\113\000\010\004\117\000\010\004\
++\\118\000\010\004\121\000\010\004\123\000\010\004\124\000\010\004\
++\\125\000\010\004\127\000\010\004\128\000\010\004\134\000\010\004\000\000\
++\\001\000\001\000\011\004\002\000\011\004\003\000\011\004\004\000\011\004\
++\\005\000\011\004\007\000\011\004\008\000\011\004\012\000\011\004\
++\\019\000\011\004\020\000\011\004\022\000\011\004\024\000\011\004\
++\\025\000\011\004\029\000\011\004\030\000\011\004\032\000\011\004\
++\\033\000\011\004\035\000\011\004\036\000\011\004\041\000\011\004\
++\\043\000\011\004\047\000\011\004\048\000\011\004\053\000\011\004\
++\\055\000\011\004\056\000\011\004\057\000\011\004\061\000\011\004\
++\\062\000\011\004\069\000\011\004\070\000\011\004\076\000\011\004\
++\\077\000\011\004\078\000\011\004\079\000\011\004\080\000\011\004\
++\\082\000\011\004\083\000\011\004\085\000\011\004\087\000\011\004\
++\\088\000\011\004\089\000\011\004\094\000\011\004\095\000\011\004\
++\\098\000\011\004\104\000\011\004\105\000\011\004\106\000\011\004\
++\\107\000\011\004\108\000\011\004\109\000\011\004\110\000\011\004\
++\\111\000\011\004\112\000\011\004\113\000\011\004\117\000\011\004\
++\\118\000\011\004\121\000\011\004\123\000\011\004\124\000\011\004\
++\\125\000\011\004\127\000\011\004\128\000\011\004\134\000\011\004\000\000\
++\\001\000\001\000\012\004\002\000\012\004\003\000\012\004\004\000\012\004\
++\\005\000\012\004\007\000\012\004\008\000\012\004\012\000\012\004\
++\\019\000\012\004\020\000\012\004\022\000\012\004\024\000\012\004\
++\\025\000\012\004\029\000\012\004\030\000\012\004\032\000\012\004\
++\\033\000\012\004\035\000\012\004\036\000\012\004\041\000\012\004\
++\\043\000\012\004\047\000\012\004\048\000\012\004\053\000\012\004\
++\\055\000\012\004\056\000\012\004\057\000\012\004\061\000\012\004\
++\\062\000\012\004\069\000\012\004\070\000\012\004\076\000\012\004\
++\\077\000\012\004\078\000\012\004\079\000\012\004\080\000\012\004\
++\\082\000\012\004\083\000\012\004\085\000\012\004\087\000\012\004\
++\\088\000\012\004\089\000\012\004\094\000\012\004\095\000\012\004\
++\\098\000\012\004\104\000\012\004\105\000\012\004\106\000\012\004\
++\\107\000\012\004\108\000\012\004\109\000\012\004\110\000\012\004\
++\\111\000\012\004\112\000\012\004\113\000\012\004\117\000\012\004\
++\\118\000\012\004\121\000\012\004\123\000\012\004\124\000\012\004\
++\\125\000\012\004\127\000\012\004\128\000\012\004\134\000\012\004\000\000\
++\\001\000\001\000\013\004\002\000\013\004\003\000\013\004\004\000\013\004\
++\\005\000\013\004\007\000\013\004\008\000\013\004\012\000\013\004\
++\\019\000\013\004\020\000\013\004\022\000\013\004\024\000\013\004\
++\\025\000\013\004\029\000\013\004\030\000\013\004\032\000\013\004\
++\\033\000\013\004\035\000\013\004\036\000\013\004\041\000\013\004\
++\\043\000\013\004\047\000\013\004\048\000\013\004\053\000\013\004\
++\\055\000\013\004\056\000\013\004\057\000\013\004\061\000\013\004\
++\\062\000\013\004\069\000\013\004\070\000\013\004\076\000\013\004\
++\\077\000\013\004\078\000\013\004\079\000\013\004\080\000\013\004\
++\\082\000\013\004\083\000\013\004\085\000\013\004\087\000\013\004\
++\\088\000\013\004\089\000\013\004\094\000\013\004\095\000\013\004\
++\\098\000\013\004\104\000\013\004\105\000\013\004\106\000\013\004\
++\\107\000\013\004\108\000\013\004\109\000\013\004\110\000\013\004\
++\\111\000\013\004\112\000\013\004\113\000\013\004\117\000\013\004\
++\\118\000\013\004\121\000\013\004\123\000\013\004\124\000\013\004\
++\\125\000\013\004\127\000\013\004\128\000\013\004\134\000\013\004\000\000\
++\\001\000\001\000\014\004\002\000\014\004\003\000\014\004\004\000\014\004\
++\\005\000\014\004\007\000\014\004\008\000\014\004\012\000\014\004\
++\\019\000\014\004\020\000\014\004\022\000\014\004\024\000\014\004\
++\\025\000\014\004\029\000\014\004\030\000\014\004\032\000\014\004\
++\\033\000\014\004\035\000\014\004\036\000\014\004\041\000\014\004\
++\\043\000\014\004\047\000\014\004\048\000\014\004\053\000\014\004\
++\\055\000\014\004\056\000\014\004\057\000\014\004\061\000\014\004\
++\\062\000\014\004\069\000\014\004\070\000\014\004\076\000\014\004\
++\\077\000\014\004\078\000\014\004\079\000\014\004\080\000\014\004\
++\\082\000\014\004\083\000\014\004\085\000\014\004\087\000\014\004\
++\\088\000\014\004\089\000\014\004\094\000\014\004\095\000\014\004\
++\\098\000\014\004\104\000\014\004\105\000\014\004\106\000\014\004\
++\\107\000\014\004\108\000\014\004\109\000\014\004\110\000\014\004\
++\\111\000\014\004\112\000\014\004\113\000\014\004\117\000\014\004\
++\\118\000\014\004\121\000\014\004\123\000\014\004\124\000\014\004\
++\\125\000\014\004\127\000\014\004\128\000\014\004\134\000\014\004\000\000\
++\\001\000\001\000\015\004\002\000\015\004\003\000\015\004\004\000\015\004\
++\\005\000\015\004\007\000\015\004\008\000\015\004\012\000\015\004\
++\\020\000\015\004\022\000\015\004\024\000\015\004\025\000\015\004\
++\\032\000\015\004\033\000\015\004\035\000\015\004\036\000\015\004\
++\\041\000\015\004\043\000\015\004\047\000\015\004\048\000\015\004\
++\\053\000\148\001\055\000\015\004\056\000\015\004\057\000\015\004\
++\\061\000\015\004\062\000\015\004\069\000\015\004\070\000\015\004\
++\\077\000\015\004\078\000\015\004\079\000\015\004\080\000\015\004\
++\\082\000\015\004\083\000\015\004\085\000\015\004\087\000\015\004\
++\\088\000\015\004\089\000\015\004\094\000\015\004\104\000\015\004\
++\\105\000\015\004\106\000\015\004\107\000\015\004\117\000\015\004\
++\\118\000\015\004\121\000\015\004\123\000\015\004\134\000\015\004\000\000\
++\\001\000\001\000\016\004\002\000\016\004\003\000\016\004\004\000\016\004\
++\\005\000\016\004\007\000\016\004\008\000\016\004\012\000\016\004\
++\\020\000\016\004\022\000\016\004\024\000\016\004\025\000\016\004\
++\\032\000\016\004\033\000\016\004\035\000\016\004\036\000\016\004\
++\\041\000\016\004\042\000\134\001\043\000\016\004\047\000\016\004\
++\\048\000\016\004\055\000\016\004\056\000\016\004\057\000\016\004\
++\\061\000\016\004\062\000\016\004\069\000\016\004\070\000\016\004\
++\\077\000\016\004\078\000\016\004\079\000\016\004\080\000\016\004\
++\\082\000\016\004\083\000\016\004\085\000\016\004\087\000\016\004\
++\\088\000\016\004\089\000\016\004\094\000\016\004\104\000\016\004\
++\\105\000\016\004\106\000\016\004\107\000\016\004\117\000\016\004\
++\\118\000\016\004\121\000\016\004\123\000\016\004\134\000\016\004\000\000\
++\\001\000\001\000\071\004\002\000\071\004\003\000\071\004\004\000\071\004\
++\\005\000\071\004\007\000\071\004\008\000\071\004\012\000\071\004\
++\\019\000\071\004\020\000\071\004\022\000\071\004\024\000\071\004\
++\\025\000\071\004\029\000\071\004\030\000\071\004\032\000\071\004\
++\\033\000\071\004\035\000\071\004\036\000\071\004\041\000\071\004\
++\\043\000\071\004\047\000\071\004\048\000\071\004\053\000\148\001\
++\\055\000\071\004\056\000\071\004\057\000\071\004\061\000\071\004\
++\\062\000\071\004\069\000\071\004\070\000\071\004\076\000\071\004\
++\\077\000\071\004\078\000\071\004\079\000\071\004\080\000\071\004\
++\\082\000\071\004\083\000\071\004\085\000\071\004\087\000\071\004\
++\\088\000\071\004\089\000\071\004\094\000\071\004\095\000\071\004\
++\\098\000\071\004\104\000\071\004\105\000\071\004\106\000\071\004\
++\\107\000\071\004\108\000\071\004\109\000\071\004\110\000\071\004\
++\\111\000\071\004\112\000\071\004\113\000\071\004\117\000\071\004\
++\\118\000\071\004\121\000\071\004\123\000\071\004\124\000\071\004\
++\\125\000\071\004\127\000\071\004\128\000\071\004\134\000\071\004\000\000\
++\\001\000\001\000\076\004\002\000\076\004\003\000\076\004\004\000\076\004\
++\\005\000\076\004\007\000\076\004\008\000\076\004\012\000\076\004\
++\\019\000\076\004\020\000\076\004\022\000\076\004\024\000\076\004\
++\\025\000\076\004\029\000\076\004\030\000\076\004\032\000\076\004\
++\\033\000\076\004\035\000\076\004\036\000\076\004\041\000\002\002\
++\\043\000\076\004\047\000\076\004\048\000\076\004\053\000\076\004\
++\\055\000\076\004\056\000\076\004\057\000\076\004\061\000\076\004\
++\\062\000\076\004\069\000\076\004\070\000\076\004\076\000\076\004\
++\\077\000\076\004\078\000\076\004\079\000\076\004\080\000\076\004\
++\\082\000\076\004\083\000\076\004\085\000\076\004\087\000\076\004\
++\\088\000\076\004\089\000\076\004\094\000\076\004\095\000\076\004\
++\\098\000\076\004\104\000\076\004\105\000\076\004\106\000\076\004\
++\\107\000\076\004\108\000\076\004\109\000\076\004\110\000\076\004\
++\\111\000\076\004\112\000\076\004\113\000\076\004\117\000\076\004\
++\\118\000\076\004\121\000\076\004\123\000\076\004\124\000\076\004\
++\\125\000\076\004\127\000\076\004\128\000\076\004\134\000\076\004\000\000\
++\\001\000\001\000\077\004\002\000\077\004\003\000\077\004\004\000\077\004\
++\\005\000\077\004\007\000\077\004\008\000\077\004\012\000\077\004\
++\\019\000\077\004\020\000\077\004\022\000\077\004\024\000\077\004\
++\\025\000\077\004\029\000\077\004\030\000\077\004\032\000\077\004\
++\\033\000\077\004\035\000\077\004\036\000\077\004\041\000\077\004\
++\\043\000\077\004\047\000\077\004\048\000\077\004\053\000\077\004\
++\\055\000\077\004\056\000\077\004\057\000\077\004\061\000\077\004\
++\\062\000\077\004\069\000\077\004\070\000\077\004\076\000\077\004\
++\\077\000\077\004\078\000\077\004\079\000\077\004\080\000\077\004\
++\\082\000\077\004\083\000\077\004\085\000\077\004\087\000\077\004\
++\\088\000\077\004\089\000\077\004\094\000\077\004\095\000\077\004\
++\\098\000\077\004\104\000\077\004\105\000\077\004\106\000\077\004\
++\\107\000\077\004\108\000\077\004\109\000\077\004\110\000\077\004\
++\\111\000\077\004\112\000\077\004\113\000\077\004\117\000\077\004\
++\\118\000\077\004\121\000\077\004\123\000\077\004\124\000\077\004\
++\\125\000\077\004\127\000\077\004\128\000\077\004\134\000\077\004\000\000\
++\\001\000\001\000\078\004\002\000\078\004\003\000\078\004\004\000\078\004\
++\\007\000\078\004\008\000\078\004\012\000\078\004\020\000\078\004\
++\\025\000\078\004\032\000\078\004\033\000\078\004\036\000\204\001\
++\\041\000\078\004\055\000\078\004\056\000\078\004\057\000\078\004\
++\\061\000\078\004\062\000\078\004\069\000\078\004\070\000\078\004\
++\\077\000\078\004\078\000\078\004\079\000\078\004\080\000\078\004\
++\\082\000\078\004\083\000\078\004\085\000\078\004\087\000\078\004\
++\\088\000\078\004\089\000\078\004\094\000\078\004\104\000\078\004\
++\\105\000\078\004\106\000\078\004\107\000\078\004\117\000\078\004\
++\\118\000\078\004\121\000\078\004\123\000\078\004\134\000\078\004\000\000\
++\\001\000\001\000\083\004\002\000\083\004\003\000\083\004\004\000\083\004\
++\\007\000\083\004\008\000\083\004\012\000\083\004\020\000\083\004\
++\\025\000\083\004\032\000\083\004\033\000\083\004\041\000\218\000\
++\\055\000\083\004\056\000\083\004\057\000\083\004\061\000\083\004\
++\\062\000\083\004\069\000\083\004\070\000\083\004\077\000\083\004\
++\\078\000\083\004\079\000\083\004\080\000\083\004\082\000\083\004\
++\\083\000\083\004\085\000\083\004\087\000\083\004\088\000\083\004\
++\\089\000\083\004\094\000\083\004\104\000\083\004\105\000\083\004\
++\\106\000\083\004\107\000\083\004\117\000\083\004\118\000\083\004\
++\\121\000\083\004\123\000\083\004\134\000\083\004\000\000\
++\\001\000\001\000\084\004\002\000\084\004\003\000\084\004\004\000\084\004\
++\\007\000\084\004\008\000\084\004\012\000\084\004\020\000\084\004\
++\\025\000\084\004\032\000\084\004\033\000\084\004\055\000\084\004\
++\\056\000\084\004\057\000\084\004\061\000\084\004\062\000\084\004\
++\\069\000\084\004\070\000\084\004\077\000\084\004\078\000\084\004\
++\\079\000\084\004\080\000\084\004\082\000\084\004\083\000\084\004\
++\\085\000\084\004\087\000\084\004\088\000\084\004\089\000\084\004\
++\\094\000\084\004\104\000\084\004\105\000\084\004\106\000\084\004\
++\\107\000\084\004\117\000\084\004\118\000\084\004\121\000\084\004\
++\\123\000\084\004\134\000\084\004\000\000\
++\\001\000\001\000\085\004\002\000\085\004\003\000\085\004\004\000\085\004\
++\\005\000\085\004\007\000\085\004\008\000\085\004\009\000\085\004\
++\\011\000\085\004\012\000\085\004\019\000\085\004\020\000\085\004\
++\\022\000\085\004\024\000\085\004\025\000\085\004\026\000\085\004\
++\\030\000\085\004\032\000\085\004\033\000\085\004\035\000\085\004\
++\\036\000\085\004\041\000\085\004\042\000\085\004\043\000\085\004\
++\\045\000\085\004\047\000\085\004\048\000\085\004\055\000\085\004\
++\\056\000\085\004\057\000\085\004\060\000\085\004\061\000\085\004\
++\\062\000\085\004\064\000\085\004\069\000\085\004\070\000\085\004\
++\\076\000\085\004\077\000\085\004\078\000\085\004\079\000\085\004\
++\\080\000\085\004\082\000\085\004\083\000\085\004\085\000\085\004\
++\\087\000\085\004\088\000\085\004\089\000\085\004\094\000\085\004\
++\\095\000\085\004\098\000\085\004\104\000\085\004\105\000\085\004\
++\\106\000\085\004\107\000\085\004\108\000\085\004\109\000\085\004\
++\\110\000\085\004\111\000\085\004\112\000\085\004\113\000\085\004\
++\\117\000\085\004\118\000\085\004\121\000\085\004\123\000\085\004\
++\\124\000\085\004\125\000\085\004\127\000\085\004\128\000\085\004\
++\\131\000\085\004\134\000\085\004\000\000\
++\\001\000\001\000\086\004\002\000\086\004\003\000\086\004\004\000\086\004\
++\\005\000\086\004\007\000\086\004\008\000\086\004\009\000\086\004\
++\\011\000\086\004\012\000\086\004\019\000\086\004\020\000\086\004\
++\\022\000\086\004\024\000\086\004\025\000\086\004\026\000\086\004\
++\\030\000\086\004\032\000\086\004\033\000\086\004\035\000\086\004\
++\\036\000\086\004\041\000\086\004\042\000\086\004\043\000\086\004\
++\\045\000\086\004\047\000\086\004\048\000\086\004\055\000\086\004\
++\\056\000\086\004\057\000\086\004\060\000\086\004\061\000\086\004\
++\\062\000\086\004\064\000\086\004\069\000\086\004\070\000\086\004\
++\\076\000\086\004\077\000\086\004\078\000\086\004\079\000\086\004\
++\\080\000\086\004\082\000\086\004\083\000\086\004\085\000\086\004\
++\\087\000\086\004\088\000\086\004\089\000\086\004\094\000\086\004\
++\\095\000\086\004\098\000\086\004\104\000\086\004\105\000\086\004\
++\\106\000\086\004\107\000\086\004\108\000\086\004\109\000\086\004\
++\\110\000\086\004\111\000\086\004\112\000\086\004\113\000\086\004\
++\\117\000\086\004\118\000\086\004\121\000\086\004\123\000\086\004\
++\\124\000\086\004\125\000\086\004\127\000\086\004\128\000\086\004\
++\\131\000\086\004\134\000\086\004\000\000\
++\\001\000\001\000\087\004\002\000\087\004\003\000\087\004\004\000\087\004\
++\\005\000\087\004\007\000\087\004\008\000\087\004\009\000\087\004\
++\\011\000\087\004\012\000\087\004\019\000\087\004\020\000\087\004\
++\\022\000\087\004\024\000\087\004\025\000\087\004\026\000\087\004\
++\\030\000\087\004\032\000\087\004\033\000\087\004\035\000\087\004\
++\\036\000\087\004\041\000\087\004\042\000\087\004\043\000\087\004\
++\\045\000\087\004\047\000\087\004\048\000\087\004\055\000\087\004\
++\\056\000\087\004\057\000\087\004\060\000\087\004\061\000\087\004\
++\\062\000\087\004\064\000\087\004\069\000\087\004\070\000\087\004\
++\\076\000\087\004\077\000\087\004\078\000\087\004\079\000\087\004\
++\\080\000\087\004\082\000\087\004\083\000\087\004\085\000\087\004\
++\\087\000\087\004\088\000\087\004\089\000\087\004\094\000\087\004\
++\\095\000\087\004\098\000\087\004\104\000\087\004\105\000\087\004\
++\\106\000\087\004\107\000\087\004\108\000\087\004\109\000\087\004\
++\\110\000\087\004\111\000\087\004\112\000\087\004\113\000\087\004\
++\\117\000\087\004\118\000\087\004\121\000\087\004\123\000\087\004\
++\\124\000\087\004\125\000\087\004\127\000\087\004\128\000\087\004\
++\\131\000\087\004\134\000\087\004\000\000\
++\\001\000\001\000\088\004\002\000\088\004\003\000\088\004\004\000\088\004\
++\\005\000\088\004\007\000\088\004\008\000\088\004\009\000\088\004\
++\\011\000\088\004\012\000\088\004\019\000\088\004\020\000\088\004\
++\\022\000\088\004\024\000\088\004\025\000\088\004\026\000\088\004\
++\\030\000\088\004\032\000\088\004\033\000\088\004\035\000\088\004\
++\\036\000\088\004\041\000\088\004\042\000\088\004\043\000\088\004\
++\\045\000\088\004\047\000\088\004\048\000\088\004\055\000\088\004\
++\\056\000\088\004\057\000\088\004\060\000\088\004\061\000\088\004\
++\\062\000\088\004\064\000\088\004\069\000\088\004\070\000\088\004\
++\\076\000\088\004\077\000\088\004\078\000\088\004\079\000\088\004\
++\\080\000\088\004\082\000\088\004\083\000\088\004\085\000\088\004\
++\\087\000\088\004\088\000\088\004\089\000\088\004\094\000\088\004\
++\\095\000\088\004\098\000\088\004\104\000\088\004\105\000\088\004\
++\\106\000\088\004\107\000\088\004\108\000\088\004\109\000\088\004\
++\\110\000\088\004\111\000\088\004\112\000\088\004\113\000\088\004\
++\\117\000\088\004\118\000\088\004\121\000\088\004\123\000\088\004\
++\\124\000\088\004\125\000\088\004\127\000\088\004\128\000\088\004\
++\\131\000\088\004\134\000\088\004\000\000\
++\\001\000\001\000\089\004\002\000\089\004\003\000\089\004\004\000\089\004\
++\\005\000\089\004\007\000\089\004\008\000\089\004\009\000\089\004\
++\\011\000\089\004\012\000\089\004\019\000\089\004\020\000\089\004\
++\\022\000\089\004\024\000\089\004\025\000\089\004\026\000\089\004\
++\\030\000\089\004\032\000\089\004\033\000\089\004\035\000\089\004\
++\\036\000\089\004\041\000\089\004\042\000\089\004\043\000\089\004\
++\\045\000\089\004\047\000\089\004\048\000\089\004\055\000\089\004\
++\\056\000\089\004\057\000\089\004\060\000\089\004\061\000\089\004\
++\\062\000\089\004\064\000\089\004\069\000\089\004\070\000\089\004\
++\\076\000\089\004\077\000\089\004\078\000\089\004\079\000\089\004\
++\\080\000\089\004\082\000\089\004\083\000\089\004\085\000\089\004\
++\\087\000\089\004\088\000\089\004\089\000\089\004\094\000\089\004\
++\\095\000\089\004\098\000\089\004\104\000\089\004\105\000\089\004\
++\\106\000\089\004\107\000\089\004\108\000\089\004\109\000\089\004\
++\\110\000\089\004\111\000\089\004\112\000\089\004\113\000\089\004\
++\\117\000\089\004\118\000\089\004\121\000\089\004\123\000\089\004\
++\\124\000\089\004\125\000\089\004\127\000\089\004\128\000\089\004\
++\\131\000\089\004\134\000\089\004\000\000\
++\\001\000\001\000\090\004\002\000\090\004\003\000\090\004\004\000\090\004\
++\\005\000\090\004\007\000\090\004\008\000\090\004\009\000\090\004\
++\\011\000\090\004\012\000\090\004\019\000\090\004\020\000\090\004\
++\\022\000\090\004\024\000\090\004\025\000\090\004\026\000\090\004\
++\\030\000\090\004\032\000\090\004\033\000\090\004\035\000\090\004\
++\\036\000\090\004\041\000\090\004\042\000\090\004\043\000\090\004\
++\\045\000\090\004\047\000\090\004\048\000\090\004\055\000\090\004\
++\\056\000\090\004\057\000\090\004\060\000\090\004\061\000\090\004\
++\\062\000\090\004\064\000\090\004\069\000\090\004\070\000\090\004\
++\\076\000\090\004\077\000\090\004\078\000\090\004\079\000\090\004\
++\\080\000\090\004\082\000\090\004\083\000\090\004\085\000\090\004\
++\\087\000\090\004\088\000\090\004\089\000\090\004\094\000\090\004\
++\\095\000\090\004\098\000\090\004\104\000\090\004\105\000\090\004\
++\\106\000\090\004\107\000\090\004\108\000\090\004\109\000\090\004\
++\\110\000\090\004\111\000\090\004\112\000\090\004\113\000\090\004\
++\\117\000\090\004\118\000\090\004\121\000\090\004\123\000\090\004\
++\\124\000\090\004\125\000\090\004\127\000\090\004\128\000\090\004\
++\\131\000\090\004\134\000\090\004\000\000\
++\\001\000\001\000\091\004\002\000\091\004\003\000\091\004\004\000\091\004\
++\\005\000\091\004\007\000\091\004\008\000\091\004\009\000\091\004\
++\\011\000\091\004\012\000\091\004\019\000\091\004\020\000\091\004\
++\\022\000\091\004\024\000\091\004\025\000\091\004\026\000\091\004\
++\\030\000\091\004\032\000\091\004\033\000\091\004\035\000\091\004\
++\\036\000\091\004\041\000\091\004\042\000\091\004\043\000\091\004\
++\\045\000\091\004\047\000\091\004\048\000\091\004\055\000\091\004\
++\\056\000\091\004\057\000\091\004\060\000\091\004\061\000\091\004\
++\\062\000\091\004\064\000\091\004\069\000\091\004\070\000\091\004\
++\\076\000\091\004\077\000\091\004\078\000\091\004\079\000\091\004\
++\\080\000\091\004\082\000\091\004\083\000\091\004\085\000\091\004\
++\\087\000\091\004\088\000\091\004\089\000\091\004\094\000\091\004\
++\\095\000\091\004\098\000\091\004\104\000\091\004\105\000\091\004\
++\\106\000\091\004\107\000\091\004\108\000\091\004\109\000\091\004\
++\\110\000\091\004\111\000\091\004\112\000\091\004\113\000\091\004\
++\\117\000\091\004\118\000\091\004\121\000\091\004\123\000\091\004\
++\\124\000\091\004\125\000\091\004\127\000\091\004\128\000\091\004\
++\\131\000\091\004\134\000\091\004\000\000\
++\\001\000\001\000\092\004\002\000\092\004\003\000\092\004\004\000\092\004\
++\\005\000\092\004\007\000\092\004\008\000\092\004\009\000\092\004\
++\\011\000\092\004\012\000\092\004\019\000\092\004\020\000\092\004\
++\\022\000\092\004\024\000\092\004\025\000\092\004\026\000\092\004\
++\\030\000\092\004\032\000\092\004\033\000\092\004\035\000\092\004\
++\\036\000\092\004\041\000\092\004\042\000\092\004\043\000\092\004\
++\\045\000\092\004\047\000\092\004\048\000\092\004\055\000\092\004\
++\\056\000\092\004\057\000\092\004\060\000\092\004\061\000\092\004\
++\\062\000\092\004\064\000\092\004\069\000\092\004\070\000\092\004\
++\\076\000\092\004\077\000\092\004\078\000\092\004\079\000\092\004\
++\\080\000\092\004\082\000\092\004\083\000\092\004\085\000\092\004\
++\\087\000\092\004\088\000\092\004\089\000\092\004\094\000\092\004\
++\\095\000\092\004\098\000\092\004\104\000\092\004\105\000\092\004\
++\\106\000\092\004\107\000\092\004\108\000\092\004\109\000\092\004\
++\\110\000\092\004\111\000\092\004\112\000\092\004\113\000\092\004\
++\\117\000\092\004\118\000\092\004\121\000\092\004\123\000\092\004\
++\\124\000\092\004\125\000\092\004\127\000\092\004\128\000\092\004\
++\\131\000\092\004\134\000\092\004\000\000\
++\\001\000\001\000\093\004\002\000\093\004\003\000\093\004\004\000\093\004\
++\\005\000\093\004\007\000\093\004\008\000\093\004\009\000\093\004\
++\\011\000\093\004\012\000\093\004\019\000\093\004\020\000\093\004\
++\\022\000\093\004\024\000\093\004\025\000\093\004\026\000\093\004\
++\\030\000\093\004\032\000\093\004\033\000\093\004\035\000\093\004\
++\\036\000\093\004\041\000\093\004\042\000\093\004\043\000\093\004\
++\\045\000\093\004\047\000\093\004\048\000\093\004\055\000\093\004\
++\\056\000\093\004\057\000\093\004\060\000\093\004\061\000\093\004\
++\\062\000\093\004\064\000\093\004\069\000\093\004\070\000\093\004\
++\\076\000\093\004\077\000\093\004\078\000\093\004\079\000\093\004\
++\\080\000\093\004\082\000\093\004\083\000\093\004\085\000\093\004\
++\\087\000\093\004\088\000\093\004\089\000\093\004\094\000\093\004\
++\\095\000\093\004\098\000\093\004\104\000\093\004\105\000\093\004\
++\\106\000\093\004\107\000\093\004\108\000\093\004\109\000\093\004\
++\\110\000\093\004\111\000\093\004\112\000\093\004\113\000\093\004\
++\\117\000\093\004\118\000\093\004\121\000\093\004\123\000\093\004\
++\\124\000\093\004\125\000\093\004\127\000\093\004\128\000\093\004\
++\\131\000\093\004\134\000\093\004\000\000\
++\\001\000\001\000\094\004\002\000\094\004\003\000\094\004\004\000\094\004\
++\\005\000\094\004\007\000\094\004\008\000\094\004\009\000\094\004\
++\\011\000\094\004\012\000\094\004\019\000\094\004\020\000\094\004\
++\\022\000\094\004\024\000\094\004\025\000\094\004\026\000\094\004\
++\\030\000\094\004\032\000\094\004\033\000\094\004\035\000\094\004\
++\\036\000\094\004\041\000\094\004\042\000\094\004\043\000\094\004\
++\\045\000\094\004\047\000\094\004\048\000\094\004\055\000\094\004\
++\\056\000\094\004\057\000\094\004\060\000\094\004\061\000\094\004\
++\\062\000\094\004\064\000\094\004\069\000\094\004\070\000\094\004\
++\\076\000\094\004\077\000\094\004\078\000\094\004\079\000\094\004\
++\\080\000\094\004\082\000\094\004\083\000\094\004\085\000\094\004\
++\\087\000\094\004\088\000\094\004\089\000\094\004\094\000\094\004\
++\\095\000\094\004\098\000\094\004\104\000\094\004\105\000\094\004\
++\\106\000\094\004\107\000\094\004\108\000\094\004\109\000\094\004\
++\\110\000\094\004\111\000\094\004\112\000\094\004\113\000\094\004\
++\\117\000\094\004\118\000\094\004\121\000\094\004\123\000\094\004\
++\\124\000\094\004\125\000\094\004\127\000\094\004\128\000\094\004\
++\\131\000\094\004\134\000\094\004\000\000\
++\\001\000\001\000\095\004\002\000\095\004\003\000\095\004\004\000\095\004\
++\\005\000\095\004\007\000\095\004\008\000\095\004\009\000\095\004\
++\\011\000\095\004\012\000\095\004\019\000\095\004\020\000\095\004\
++\\022\000\095\004\024\000\095\004\025\000\095\004\026\000\095\004\
++\\030\000\095\004\032\000\095\004\033\000\095\004\035\000\095\004\
++\\036\000\095\004\038\000\095\004\041\000\095\004\042\000\095\004\
++\\043\000\095\004\045\000\095\004\047\000\095\004\048\000\095\004\
++\\055\000\095\004\056\000\095\004\057\000\095\004\060\000\095\004\
++\\061\000\095\004\062\000\095\004\064\000\095\004\069\000\095\004\
++\\070\000\095\004\076\000\095\004\077\000\095\004\078\000\095\004\
++\\079\000\095\004\080\000\095\004\082\000\095\004\083\000\095\004\
++\\085\000\095\004\087\000\095\004\088\000\095\004\089\000\095\004\
++\\094\000\095\004\095\000\095\004\098\000\095\004\104\000\095\004\
++\\105\000\095\004\106\000\095\004\107\000\095\004\108\000\095\004\
++\\109\000\095\004\110\000\095\004\111\000\095\004\112\000\095\004\
++\\113\000\095\004\117\000\095\004\118\000\095\004\121\000\095\004\
++\\123\000\095\004\124\000\095\004\125\000\095\004\127\000\095\004\
++\\128\000\095\004\131\000\095\004\134\000\095\004\000\000\
++\\001\000\001\000\096\004\002\000\096\004\003\000\096\004\004\000\096\004\
++\\005\000\096\004\007\000\096\004\008\000\096\004\009\000\096\004\
++\\011\000\096\004\012\000\096\004\019\000\096\004\020\000\096\004\
++\\022\000\096\004\024\000\096\004\025\000\096\004\026\000\096\004\
++\\030\000\096\004\032\000\096\004\033\000\096\004\035\000\096\004\
++\\036\000\096\004\038\000\096\004\041\000\096\004\042\000\096\004\
++\\043\000\096\004\045\000\096\004\047\000\096\004\048\000\096\004\
++\\055\000\096\004\056\000\096\004\057\000\096\004\060\000\096\004\
++\\061\000\096\004\062\000\096\004\064\000\096\004\069\000\096\004\
++\\070\000\096\004\076\000\096\004\077\000\096\004\078\000\096\004\
++\\079\000\096\004\080\000\096\004\082\000\096\004\083\000\096\004\
++\\085\000\096\004\087\000\096\004\088\000\096\004\089\000\096\004\
++\\094\000\096\004\095\000\096\004\098\000\096\004\104\000\096\004\
++\\105\000\096\004\106\000\096\004\107\000\096\004\108\000\096\004\
++\\109\000\096\004\110\000\096\004\111\000\096\004\112\000\096\004\
++\\113\000\096\004\117\000\096\004\118\000\096\004\121\000\096\004\
++\\123\000\096\004\124\000\096\004\125\000\096\004\127\000\096\004\
++\\128\000\096\004\131\000\096\004\134\000\096\004\000\000\
++\\001\000\001\000\097\004\002\000\097\004\003\000\097\004\004\000\097\004\
++\\005\000\097\004\007\000\097\004\008\000\097\004\009\000\097\004\
++\\011\000\097\004\012\000\097\004\019\000\097\004\020\000\097\004\
++\\022\000\097\004\024\000\097\004\025\000\097\004\026\000\097\004\
++\\030\000\097\004\032\000\097\004\033\000\097\004\035\000\097\004\
++\\036\000\097\004\038\000\097\004\041\000\097\004\042\000\097\004\
++\\043\000\097\004\045\000\097\004\047\000\097\004\048\000\097\004\
++\\055\000\097\004\056\000\097\004\057\000\097\004\060\000\097\004\
++\\061\000\097\004\062\000\097\004\064\000\097\004\069\000\097\004\
++\\070\000\097\004\076\000\097\004\077\000\097\004\078\000\097\004\
++\\079\000\097\004\080\000\097\004\082\000\097\004\083\000\097\004\
++\\085\000\097\004\087\000\097\004\088\000\097\004\089\000\097\004\
++\\094\000\097\004\095\000\097\004\098\000\097\004\104\000\097\004\
++\\105\000\097\004\106\000\097\004\107\000\097\004\108\000\097\004\
++\\109\000\097\004\110\000\097\004\111\000\097\004\112\000\097\004\
++\\113\000\097\004\117\000\097\004\118\000\097\004\121\000\097\004\
++\\123\000\097\004\124\000\097\004\125\000\097\004\127\000\097\004\
++\\128\000\097\004\131\000\097\004\134\000\097\004\000\000\
++\\001\000\001\000\098\004\002\000\098\004\003\000\098\004\004\000\098\004\
++\\005\000\098\004\007\000\098\004\008\000\098\004\009\000\098\004\
++\\011\000\098\004\012\000\098\004\019\000\098\004\020\000\098\004\
++\\022\000\098\004\024\000\098\004\025\000\098\004\026\000\098\004\
++\\030\000\098\004\032\000\098\004\033\000\098\004\035\000\098\004\
++\\036\000\098\004\038\000\098\004\041\000\098\004\042\000\098\004\
++\\043\000\098\004\045\000\098\004\047\000\098\004\048\000\098\004\
++\\055\000\098\004\056\000\098\004\057\000\098\004\060\000\098\004\
++\\061\000\098\004\062\000\098\004\064\000\098\004\069\000\098\004\
++\\070\000\098\004\076\000\098\004\077\000\098\004\078\000\098\004\
++\\079\000\098\004\080\000\098\004\082\000\098\004\083\000\098\004\
++\\085\000\098\004\087\000\098\004\088\000\098\004\089\000\098\004\
++\\094\000\098\004\095\000\098\004\098\000\098\004\104\000\098\004\
++\\105\000\098\004\106\000\098\004\107\000\098\004\108\000\098\004\
++\\109\000\098\004\110\000\098\004\111\000\098\004\112\000\098\004\
++\\113\000\098\004\117\000\098\004\118\000\098\004\121\000\098\004\
++\\123\000\098\004\124\000\098\004\125\000\098\004\127\000\098\004\
++\\128\000\098\004\131\000\098\004\134\000\098\004\000\000\
++\\001\000\001\000\099\004\002\000\099\004\003\000\099\004\004\000\099\004\
++\\005\000\099\004\007\000\099\004\008\000\099\004\009\000\099\004\
++\\011\000\099\004\012\000\099\004\019\000\099\004\020\000\099\004\
++\\022\000\099\004\024\000\099\004\025\000\099\004\026\000\099\004\
++\\030\000\099\004\032\000\099\004\033\000\099\004\035\000\099\004\
++\\036\000\099\004\038\000\099\004\041\000\099\004\042\000\099\004\
++\\043\000\099\004\045\000\099\004\047\000\099\004\048\000\099\004\
++\\055\000\099\004\056\000\099\004\057\000\099\004\060\000\099\004\
++\\061\000\099\004\062\000\099\004\064\000\099\004\069\000\099\004\
++\\070\000\099\004\076\000\099\004\077\000\099\004\078\000\099\004\
++\\079\000\099\004\080\000\099\004\082\000\099\004\083\000\099\004\
++\\085\000\099\004\087\000\099\004\088\000\099\004\089\000\099\004\
++\\094\000\099\004\095\000\099\004\098\000\099\004\104\000\099\004\
++\\105\000\099\004\106\000\099\004\107\000\099\004\108\000\099\004\
++\\109\000\099\004\110\000\099\004\111\000\099\004\112\000\099\004\
++\\113\000\099\004\117\000\099\004\118\000\099\004\121\000\099\004\
++\\123\000\099\004\124\000\099\004\125\000\099\004\127\000\099\004\
++\\128\000\099\004\131\000\099\004\134\000\099\004\000\000\
++\\001\000\001\000\100\004\002\000\100\004\003\000\100\004\004\000\100\004\
++\\005\000\100\004\007\000\100\004\008\000\100\004\009\000\100\004\
++\\011\000\100\004\012\000\100\004\019\000\100\004\020\000\100\004\
++\\022\000\100\004\024\000\100\004\025\000\100\004\026\000\100\004\
++\\030\000\100\004\032\000\100\004\033\000\100\004\035\000\100\004\
++\\036\000\100\004\038\000\136\001\041\000\100\004\042\000\100\004\
++\\043\000\100\004\045\000\100\004\047\000\100\004\048\000\100\004\
++\\055\000\100\004\056\000\100\004\057\000\100\004\060\000\100\004\
++\\061\000\100\004\062\000\100\004\064\000\100\004\069\000\100\004\
++\\070\000\100\004\076\000\100\004\077\000\100\004\078\000\100\004\
++\\079\000\100\004\080\000\100\004\082\000\100\004\083\000\100\004\
++\\085\000\100\004\087\000\100\004\088\000\100\004\089\000\100\004\
++\\094\000\100\004\095\000\100\004\098\000\100\004\104\000\100\004\
++\\105\000\100\004\106\000\100\004\107\000\100\004\108\000\100\004\
++\\109\000\100\004\110\000\100\004\111\000\100\004\112\000\100\004\
++\\113\000\100\004\117\000\100\004\118\000\100\004\121\000\100\004\
++\\123\000\100\004\124\000\100\004\125\000\100\004\127\000\100\004\
++\\128\000\100\004\131\000\100\004\134\000\100\004\000\000\
++\\001\000\001\000\101\004\002\000\101\004\003\000\101\004\004\000\101\004\
++\\005\000\101\004\007\000\101\004\008\000\101\004\009\000\101\004\
++\\011\000\101\004\012\000\101\004\019\000\101\004\020\000\101\004\
++\\022\000\101\004\024\000\101\004\025\000\101\004\026\000\101\004\
++\\030\000\101\004\032\000\101\004\033\000\101\004\035\000\101\004\
++\\036\000\101\004\038\000\135\001\041\000\101\004\042\000\101\004\
++\\043\000\101\004\045\000\101\004\047\000\101\004\048\000\101\004\
++\\055\000\101\004\056\000\101\004\057\000\101\004\060\000\101\004\
++\\061\000\101\004\062\000\101\004\064\000\101\004\069\000\101\004\
++\\070\000\101\004\076\000\101\004\077\000\101\004\078\000\101\004\
++\\079\000\101\004\080\000\101\004\082\000\101\004\083\000\101\004\
++\\085\000\101\004\087\000\101\004\088\000\101\004\089\000\101\004\
++\\094\000\101\004\095\000\101\004\098\000\101\004\104\000\101\004\
++\\105\000\101\004\106\000\101\004\107\000\101\004\108\000\101\004\
++\\109\000\101\004\110\000\101\004\111\000\101\004\112\000\101\004\
++\\113\000\101\004\117\000\101\004\118\000\101\004\121\000\101\004\
++\\123\000\101\004\124\000\101\004\125\000\101\004\127\000\101\004\
++\\128\000\101\004\131\000\101\004\134\000\101\004\000\000\
++\\001\000\001\000\102\004\002\000\102\004\003\000\102\004\004\000\102\004\
++\\005\000\102\004\007\000\102\004\008\000\102\004\009\000\102\004\
++\\011\000\102\004\012\000\102\004\019\000\102\004\020\000\102\004\
++\\022\000\102\004\024\000\102\004\025\000\102\004\026\000\102\004\
++\\030\000\102\004\032\000\102\004\033\000\102\004\035\000\102\004\
++\\036\000\102\004\038\000\102\004\041\000\102\004\042\000\102\004\
++\\043\000\102\004\045\000\102\004\047\000\102\004\048\000\102\004\
++\\055\000\102\004\056\000\102\004\057\000\102\004\060\000\102\004\
++\\061\000\102\004\062\000\102\004\064\000\102\004\069\000\102\004\
++\\070\000\102\004\076\000\102\004\077\000\102\004\078\000\102\004\
++\\079\000\102\004\080\000\102\004\082\000\102\004\083\000\102\004\
++\\085\000\102\004\087\000\102\004\088\000\102\004\089\000\102\004\
++\\094\000\102\004\095\000\102\004\098\000\102\004\104\000\102\004\
++\\105\000\102\004\106\000\102\004\107\000\102\004\108\000\102\004\
++\\109\000\102\004\110\000\102\004\111\000\102\004\112\000\102\004\
++\\113\000\102\004\117\000\102\004\118\000\102\004\121\000\102\004\
++\\123\000\102\004\124\000\102\004\125\000\102\004\127\000\102\004\
++\\128\000\102\004\131\000\102\004\134\000\102\004\000\000\
++\\001\000\001\000\103\004\002\000\103\004\003\000\103\004\004\000\103\004\
++\\005\000\103\004\007\000\103\004\008\000\103\004\009\000\103\004\
++\\011\000\103\004\012\000\103\004\019\000\103\004\020\000\103\004\
++\\022\000\103\004\024\000\103\004\025\000\103\004\026\000\103\004\
++\\030\000\103\004\032\000\103\004\033\000\103\004\035\000\103\004\
++\\036\000\103\004\038\000\103\004\041\000\103\004\042\000\103\004\
++\\043\000\103\004\045\000\103\004\047\000\103\004\048\000\103\004\
++\\055\000\103\004\056\000\103\004\057\000\103\004\060\000\103\004\
++\\061\000\103\004\062\000\103\004\064\000\103\004\069\000\103\004\
++\\070\000\103\004\076\000\103\004\077\000\103\004\078\000\103\004\
++\\079\000\103\004\080\000\103\004\082\000\103\004\083\000\103\004\
++\\085\000\103\004\087\000\103\004\088\000\103\004\089\000\103\004\
++\\094\000\103\004\095\000\103\004\098\000\103\004\104\000\103\004\
++\\105\000\103\004\106\000\103\004\107\000\103\004\108\000\103\004\
++\\109\000\103\004\110\000\103\004\111\000\103\004\112\000\103\004\
++\\113\000\103\004\117\000\103\004\118\000\103\004\121\000\103\004\
++\\123\000\103\004\124\000\103\004\125\000\103\004\127\000\103\004\
++\\128\000\103\004\131\000\103\004\134\000\103\004\000\000\
++\\001\000\001\000\106\004\002\000\106\004\003\000\106\004\004\000\106\004\
++\\005\000\106\004\007\000\106\004\008\000\106\004\009\000\106\004\
++\\012\000\106\004\019\000\106\004\020\000\106\004\022\000\106\004\
++\\024\000\106\004\025\000\106\004\026\000\106\004\030\000\106\004\
++\\032\000\106\004\033\000\106\004\035\000\106\004\036\000\106\004\
++\\041\000\106\004\042\000\134\001\043\000\106\004\047\000\106\004\
++\\048\000\106\004\055\000\106\004\056\000\106\004\057\000\106\004\
++\\060\000\106\004\061\000\106\004\062\000\106\004\069\000\106\004\
++\\070\000\106\004\076\000\106\004\077\000\106\004\078\000\106\004\
++\\079\000\106\004\080\000\106\004\082\000\106\004\083\000\106\004\
++\\085\000\106\004\087\000\106\004\088\000\106\004\089\000\106\004\
++\\094\000\106\004\095\000\106\004\098\000\106\004\104\000\106\004\
++\\105\000\106\004\106\000\106\004\107\000\106\004\108\000\106\004\
++\\109\000\106\004\110\000\106\004\111\000\106\004\112\000\106\004\
++\\113\000\106\004\117\000\106\004\118\000\106\004\121\000\106\004\
++\\123\000\106\004\124\000\106\004\125\000\106\004\127\000\106\004\
++\\128\000\106\004\131\000\106\004\134\000\106\004\000\000\
++\\001\000\001\000\107\004\002\000\107\004\003\000\107\004\004\000\107\004\
++\\005\000\107\004\007\000\107\004\008\000\107\004\009\000\107\004\
++\\012\000\107\004\019\000\107\004\020\000\107\004\022\000\107\004\
++\\024\000\107\004\025\000\107\004\026\000\107\004\030\000\107\004\
++\\032\000\107\004\033\000\107\004\035\000\107\004\036\000\107\004\
++\\041\000\107\004\042\000\107\004\043\000\107\004\047\000\107\004\
++\\048\000\107\004\055\000\107\004\056\000\107\004\057\000\107\004\
++\\060\000\107\004\061\000\107\004\062\000\107\004\069\000\107\004\
++\\070\000\107\004\076\000\107\004\077\000\107\004\078\000\107\004\
++\\079\000\107\004\080\000\107\004\082\000\107\004\083\000\107\004\
++\\085\000\107\004\087\000\107\004\088\000\107\004\089\000\107\004\
++\\094\000\107\004\095\000\107\004\098\000\107\004\104\000\107\004\
++\\105\000\107\004\106\000\107\004\107\000\107\004\108\000\107\004\
++\\109\000\107\004\110\000\107\004\111\000\107\004\112\000\107\004\
++\\113\000\107\004\117\000\107\004\118\000\107\004\121\000\107\004\
++\\123\000\107\004\124\000\107\004\125\000\107\004\127\000\107\004\
++\\128\000\107\004\131\000\107\004\134\000\107\004\000\000\
++\\001\000\001\000\108\004\002\000\108\004\003\000\108\004\004\000\108\004\
++\\005\000\108\004\007\000\108\004\008\000\108\004\009\000\108\004\
++\\011\000\133\001\012\000\108\004\019\000\108\004\020\000\108\004\
++\\022\000\108\004\024\000\108\004\025\000\108\004\026\000\108\004\
++\\030\000\052\000\032\000\108\004\033\000\108\004\035\000\108\004\
++\\036\000\108\004\041\000\108\004\042\000\108\004\043\000\108\004\
++\\045\000\248\000\047\000\108\004\048\000\108\004\055\000\108\004\
++\\056\000\108\004\057\000\108\004\060\000\108\004\061\000\108\004\
++\\062\000\247\000\064\000\246\000\069\000\108\004\070\000\108\004\
++\\076\000\108\004\077\000\108\004\078\000\108\004\079\000\108\004\
++\\080\000\108\004\082\000\108\004\083\000\108\004\085\000\108\004\
++\\087\000\108\004\088\000\108\004\089\000\108\004\094\000\108\004\
++\\095\000\108\004\098\000\108\004\104\000\108\004\105\000\108\004\
++\\106\000\108\004\107\000\108\004\108\000\108\004\109\000\108\004\
++\\110\000\108\004\111\000\108\004\112\000\108\004\113\000\108\004\
++\\117\000\108\004\118\000\108\004\121\000\108\004\123\000\108\004\
++\\124\000\051\000\125\000\050\000\127\000\108\004\128\000\108\004\
++\\131\000\108\004\134\000\108\004\000\000\
++\\001\000\001\000\114\004\002\000\114\004\003\000\114\004\004\000\114\004\
++\\005\000\114\004\007\000\114\004\008\000\114\004\009\000\114\004\
++\\011\000\133\001\012\000\114\004\019\000\114\004\020\000\114\004\
++\\022\000\114\004\024\000\114\004\025\000\114\004\026\000\114\004\
++\\030\000\052\000\032\000\114\004\033\000\114\004\035\000\114\004\
++\\036\000\114\004\041\000\114\004\042\000\114\004\043\000\114\004\
++\\045\000\248\000\047\000\114\004\048\000\114\004\055\000\114\004\
++\\056\000\114\004\057\000\114\004\060\000\114\004\061\000\114\004\
++\\062\000\247\000\064\000\246\000\069\000\114\004\070\000\114\004\
++\\076\000\114\004\077\000\114\004\078\000\114\004\079\000\114\004\
++\\080\000\114\004\082\000\114\004\083\000\114\004\085\000\114\004\
++\\087\000\114\004\088\000\114\004\089\000\114\004\094\000\114\004\
++\\095\000\114\004\098\000\114\004\104\000\114\004\105\000\114\004\
++\\106\000\114\004\107\000\114\004\108\000\114\004\109\000\114\004\
++\\110\000\114\004\111\000\114\004\112\000\114\004\113\000\114\004\
++\\117\000\114\004\118\000\114\004\121\000\114\004\123\000\114\004\
++\\124\000\051\000\125\000\050\000\127\000\114\004\128\000\114\004\
++\\131\000\114\004\134\000\114\004\000\000\
++\\001\000\001\000\115\004\002\000\115\004\003\000\115\004\004\000\115\004\
++\\005\000\115\004\007\000\115\004\008\000\115\004\009\000\115\004\
++\\012\000\115\004\019\000\115\004\020\000\115\004\022\000\115\004\
++\\024\000\115\004\025\000\115\004\026\000\115\004\030\000\115\004\
++\\032\000\115\004\033\000\115\004\035\000\115\004\036\000\115\004\
++\\041\000\115\004\042\000\115\004\043\000\115\004\047\000\115\004\
++\\048\000\115\004\055\000\115\004\056\000\115\004\057\000\115\004\
++\\060\000\115\004\061\000\115\004\062\000\115\004\069\000\115\004\
++\\070\000\115\004\076\000\115\004\077\000\115\004\078\000\115\004\
++\\079\000\115\004\080\000\115\004\082\000\115\004\083\000\115\004\
++\\085\000\115\004\087\000\115\004\088\000\115\004\089\000\115\004\
++\\094\000\115\004\095\000\115\004\098\000\115\004\104\000\115\004\
++\\105\000\115\004\106\000\115\004\107\000\115\004\108\000\115\004\
++\\109\000\115\004\110\000\115\004\111\000\115\004\112\000\115\004\
++\\113\000\115\004\117\000\115\004\118\000\115\004\121\000\115\004\
++\\123\000\115\004\124\000\115\004\125\000\115\004\127\000\115\004\
++\\128\000\115\004\131\000\115\004\134\000\115\004\000\000\
++\\001\000\001\000\116\004\002\000\116\004\003\000\116\004\004\000\116\004\
++\\007\000\116\004\008\000\116\004\020\000\116\004\025\000\116\004\
++\\032\000\116\004\033\000\116\004\041\000\241\000\055\000\116\004\
++\\056\000\116\004\057\000\116\004\061\000\116\004\062\000\116\004\
++\\069\000\116\004\070\000\116\004\077\000\116\004\078\000\116\004\
++\\079\000\116\004\080\000\116\004\082\000\116\004\083\000\116\004\
++\\085\000\116\004\087\000\116\004\088\000\116\004\089\000\116\004\
++\\094\000\116\004\104\000\116\004\105\000\116\004\106\000\116\004\
++\\107\000\116\004\117\000\116\004\118\000\116\004\121\000\116\004\
++\\123\000\116\004\134\000\116\004\000\000\
++\\001\000\001\000\117\004\002\000\117\004\003\000\117\004\004\000\117\004\
++\\007\000\117\004\008\000\117\004\020\000\117\004\025\000\117\004\
++\\032\000\117\004\033\000\117\004\055\000\117\004\056\000\117\004\
++\\057\000\117\004\061\000\117\004\062\000\117\004\069\000\117\004\
++\\070\000\117\004\077\000\117\004\078\000\117\004\079\000\117\004\
++\\080\000\117\004\082\000\117\004\083\000\117\004\085\000\117\004\
++\\087\000\117\004\088\000\117\004\089\000\117\004\094\000\117\004\
++\\104\000\117\004\105\000\117\004\106\000\117\004\107\000\117\004\
++\\117\000\117\004\118\000\117\004\121\000\117\004\123\000\117\004\
++\\134\000\117\004\000\000\
++\\001\000\001\000\118\004\002\000\118\004\003\000\118\004\004\000\118\004\
++\\007\000\118\004\008\000\118\004\020\000\118\004\025\000\118\004\
++\\032\000\118\004\033\000\118\004\041\000\118\004\055\000\118\004\
++\\056\000\118\004\057\000\118\004\061\000\118\004\062\000\118\004\
++\\069\000\118\004\070\000\118\004\077\000\118\004\078\000\118\004\
++\\079\000\118\004\080\000\118\004\082\000\118\004\083\000\118\004\
++\\085\000\118\004\087\000\118\004\088\000\118\004\089\000\118\004\
++\\094\000\118\004\104\000\118\004\105\000\118\004\106\000\118\004\
++\\107\000\118\004\117\000\118\004\118\000\118\004\121\000\118\004\
++\\123\000\118\004\134\000\118\004\000\000\
++\\001\000\001\000\125\004\002\000\125\004\003\000\125\004\004\000\125\004\
++\\007\000\125\004\008\000\125\004\012\000\125\004\020\000\125\004\
++\\025\000\125\004\032\000\125\004\033\000\125\004\053\000\148\001\
++\\055\000\125\004\056\000\125\004\057\000\125\004\061\000\125\004\
++\\062\000\125\004\069\000\125\004\070\000\125\004\077\000\125\004\
++\\078\000\125\004\079\000\125\004\080\000\125\004\082\000\125\004\
++\\083\000\125\004\085\000\125\004\087\000\125\004\088\000\125\004\
++\\089\000\125\004\094\000\125\004\104\000\125\004\105\000\125\004\
++\\106\000\125\004\107\000\125\004\117\000\125\004\118\000\125\004\
++\\121\000\125\004\123\000\125\004\134\000\125\004\000\000\
++\\001\000\001\000\126\004\002\000\126\004\003\000\126\004\004\000\126\004\
++\\007\000\126\004\008\000\126\004\012\000\126\004\020\000\126\004\
++\\025\000\126\004\032\000\126\004\033\000\126\004\053\000\148\001\
++\\055\000\126\004\056\000\126\004\057\000\126\004\061\000\126\004\
++\\062\000\126\004\069\000\126\004\070\000\126\004\077\000\126\004\
++\\078\000\126\004\079\000\126\004\080\000\126\004\082\000\126\004\
++\\083\000\126\004\085\000\126\004\087\000\126\004\088\000\126\004\
++\\089\000\126\004\094\000\126\004\104\000\126\004\105\000\126\004\
++\\106\000\126\004\107\000\126\004\117\000\126\004\118\000\126\004\
++\\121\000\126\004\123\000\126\004\134\000\126\004\000\000\
++\\001\000\001\000\127\004\002\000\127\004\003\000\127\004\004\000\127\004\
++\\007\000\127\004\008\000\127\004\012\000\238\000\020\000\127\004\
++\\025\000\127\004\032\000\127\004\033\000\127\004\055\000\127\004\
++\\056\000\127\004\057\000\127\004\061\000\127\004\062\000\127\004\
++\\069\000\127\004\070\000\127\004\077\000\127\004\078\000\127\004\
++\\079\000\127\004\080\000\127\004\082\000\127\004\083\000\127\004\
++\\085\000\127\004\087\000\127\004\088\000\127\004\089\000\127\004\
++\\094\000\127\004\104\000\127\004\105\000\127\004\106\000\127\004\
++\\107\000\127\004\117\000\127\004\118\000\127\004\121\000\127\004\
++\\123\000\127\004\134\000\127\004\000\000\
++\\001\000\001\000\128\004\002\000\128\004\003\000\128\004\004\000\128\004\
++\\007\000\128\004\008\000\128\004\020\000\128\004\025\000\128\004\
++\\032\000\128\004\033\000\128\004\055\000\128\004\056\000\128\004\
++\\057\000\128\004\061\000\128\004\062\000\128\004\069\000\128\004\
++\\070\000\128\004\077\000\128\004\078\000\128\004\079\000\128\004\
++\\080\000\128\004\082\000\128\004\083\000\128\004\085\000\128\004\
++\\087\000\128\004\088\000\128\004\089\000\128\004\094\000\128\004\
++\\104\000\128\004\105\000\128\004\106\000\128\004\107\000\128\004\
++\\117\000\128\004\118\000\128\004\121\000\128\004\123\000\128\004\
++\\134\000\128\004\000\000\
++\\001\000\001\000\129\004\002\000\129\004\003\000\129\004\004\000\129\004\
++\\005\000\129\004\007\000\129\004\008\000\129\004\009\000\129\004\
++\\010\000\129\004\011\000\129\004\012\000\129\004\013\000\129\004\
++\\014\000\129\004\016\000\129\004\018\000\129\004\019\000\129\004\
++\\020\000\129\004\021\000\129\004\022\000\129\004\023\000\129\004\
++\\024\000\129\004\025\000\129\004\026\000\129\004\029\000\129\004\
++\\030\000\129\004\032\000\129\004\033\000\129\004\034\000\129\004\
++\\035\000\129\004\036\000\129\004\040\000\129\004\041\000\129\004\
++\\043\000\129\004\047\000\129\004\048\000\129\004\049\000\129\004\
++\\050\000\129\004\051\000\129\004\053\000\129\004\054\000\129\004\
++\\055\000\129\004\056\000\129\004\057\000\129\004\060\000\129\004\
++\\061\000\129\004\062\000\129\004\069\000\129\004\070\000\129\004\
++\\076\000\129\004\077\000\129\004\078\000\129\004\079\000\129\004\
++\\080\000\129\004\081\000\129\004\082\000\129\004\083\000\129\004\
++\\085\000\129\004\087\000\129\004\088\000\129\004\089\000\129\004\
++\\094\000\129\004\095\000\129\004\098\000\129\004\100\000\129\004\
++\\101\000\129\004\104\000\129\004\105\000\129\004\106\000\129\004\
++\\107\000\129\004\108\000\129\004\109\000\129\004\110\000\129\004\
++\\111\000\129\004\112\000\129\004\113\000\129\004\117\000\129\004\
++\\118\000\129\004\121\000\129\004\123\000\129\004\124\000\129\004\
++\\125\000\129\004\127\000\129\004\128\000\129\004\129\000\129\004\
++\\130\000\129\004\131\000\129\004\132\000\129\004\134\000\129\004\000\000\
++\\001\000\001\000\130\004\002\000\130\004\003\000\130\004\004\000\130\004\
++\\005\000\130\004\007\000\130\004\008\000\130\004\009\000\130\004\
++\\010\000\130\004\011\000\130\004\012\000\130\004\013\000\130\004\
++\\014\000\130\004\015\000\130\004\016\000\130\004\018\000\130\004\
++\\019\000\130\004\020\000\130\004\021\000\130\004\022\000\130\004\
++\\023\000\130\004\024\000\130\004\025\000\130\004\026\000\130\004\
++\\029\000\130\004\030\000\130\004\032\000\130\004\033\000\130\004\
++\\034\000\130\004\035\000\130\004\036\000\130\004\039\000\130\004\
++\\040\000\130\004\041\000\130\004\042\000\130\004\043\000\130\004\
++\\045\000\130\004\047\000\130\004\048\000\130\004\049\000\130\004\
++\\050\000\130\004\051\000\130\004\053\000\130\004\054\000\130\004\
++\\055\000\130\004\056\000\130\004\057\000\130\004\060\000\130\004\
++\\061\000\130\004\062\000\130\004\064\000\130\004\069\000\130\004\
++\\070\000\130\004\076\000\130\004\077\000\130\004\078\000\130\004\
++\\079\000\130\004\080\000\130\004\081\000\130\004\082\000\130\004\
++\\083\000\130\004\085\000\130\004\087\000\130\004\088\000\130\004\
++\\089\000\130\004\094\000\130\004\095\000\130\004\098\000\130\004\
++\\100\000\130\004\101\000\130\004\104\000\130\004\105\000\130\004\
++\\106\000\130\004\107\000\130\004\108\000\130\004\109\000\130\004\
++\\110\000\130\004\111\000\130\004\112\000\130\004\113\000\130\004\
++\\115\000\130\004\117\000\130\004\118\000\130\004\121\000\130\004\
++\\123\000\130\004\124\000\130\004\125\000\130\004\127\000\130\004\
++\\128\000\130\004\129\000\130\004\130\000\130\004\131\000\130\004\
++\\132\000\130\004\134\000\130\004\000\000\
++\\001\000\001\000\133\004\002\000\133\004\003\000\133\004\004\000\133\004\
++\\005\000\133\004\007\000\133\004\008\000\133\004\009\000\133\004\
++\\010\000\133\004\011\000\133\004\012\000\133\004\013\000\133\004\
++\\014\000\133\004\016\000\133\004\018\000\133\004\019\000\133\004\
++\\020\000\133\004\021\000\133\004\022\000\133\004\023\000\133\004\
++\\024\000\133\004\025\000\133\004\026\000\133\004\029\000\133\004\
++\\030\000\133\004\032\000\133\004\033\000\133\004\034\000\133\004\
++\\035\000\133\004\036\000\133\004\040\000\133\004\041\000\133\004\
++\\043\000\133\004\047\000\133\004\048\000\133\004\049\000\133\004\
++\\050\000\133\004\051\000\133\004\053\000\133\004\054\000\133\004\
++\\055\000\133\004\056\000\133\004\057\000\133\004\060\000\133\004\
++\\061\000\133\004\062\000\133\004\069\000\133\004\070\000\133\004\
++\\076\000\133\004\077\000\133\004\078\000\133\004\079\000\133\004\
++\\080\000\133\004\081\000\133\004\082\000\133\004\083\000\133\004\
++\\085\000\133\004\087\000\133\004\088\000\133\004\089\000\133\004\
++\\094\000\133\004\095\000\133\004\098\000\133\004\100\000\133\004\
++\\101\000\133\004\104\000\133\004\105\000\133\004\106\000\133\004\
++\\107\000\133\004\108\000\133\004\109\000\133\004\110\000\133\004\
++\\111\000\133\004\112\000\133\004\113\000\133\004\117\000\133\004\
++\\118\000\133\004\121\000\133\004\123\000\133\004\124\000\133\004\
++\\125\000\133\004\127\000\133\004\128\000\133\004\129\000\133\004\
++\\130\000\133\004\131\000\133\004\132\000\133\004\134\000\133\004\000\000\
++\\001\000\001\000\134\004\002\000\134\004\003\000\134\004\004\000\134\004\
++\\005\000\134\004\007\000\134\004\008\000\134\004\009\000\134\004\
++\\010\000\134\004\011\000\134\004\012\000\134\004\013\000\134\004\
++\\014\000\134\004\016\000\134\004\018\000\134\004\019\000\134\004\
++\\020\000\134\004\021\000\134\004\022\000\134\004\023\000\134\004\
++\\024\000\134\004\025\000\134\004\026\000\134\004\029\000\134\004\
++\\030\000\134\004\032\000\134\004\033\000\134\004\034\000\134\004\
++\\035\000\134\004\036\000\134\004\040\000\134\004\041\000\134\004\
++\\043\000\134\004\047\000\134\004\048\000\134\004\049\000\134\004\
++\\050\000\134\004\051\000\134\004\053\000\134\004\054\000\134\004\
++\\055\000\134\004\056\000\134\004\057\000\134\004\060\000\134\004\
++\\061\000\134\004\062\000\134\004\069\000\134\004\070\000\134\004\
++\\076\000\134\004\077\000\134\004\078\000\134\004\079\000\134\004\
++\\080\000\134\004\081\000\134\004\082\000\134\004\083\000\134\004\
++\\085\000\134\004\087\000\134\004\088\000\134\004\089\000\134\004\
++\\094\000\134\004\095\000\134\004\098\000\134\004\100\000\134\004\
++\\101\000\134\004\104\000\134\004\105\000\134\004\106\000\134\004\
++\\107\000\134\004\108\000\134\004\109\000\134\004\110\000\134\004\
++\\111\000\134\004\112\000\134\004\113\000\134\004\117\000\134\004\
++\\118\000\134\004\121\000\134\004\123\000\134\004\124\000\134\004\
++\\125\000\134\004\127\000\134\004\128\000\134\004\129\000\134\004\
++\\130\000\134\004\131\000\134\004\132\000\134\004\134\000\134\004\000\000\
++\\001\000\001\000\137\004\002\000\137\004\003\000\137\004\004\000\137\004\
++\\007\000\137\004\008\000\137\004\020\000\137\004\025\000\137\004\
++\\032\000\137\004\033\000\137\004\041\000\137\004\055\000\137\004\
++\\056\000\137\004\057\000\137\004\061\000\137\004\062\000\137\004\
++\\069\000\137\004\070\000\137\004\077\000\137\004\078\000\137\004\
++\\079\000\137\004\080\000\137\004\082\000\137\004\083\000\137\004\
++\\085\000\137\004\087\000\137\004\088\000\137\004\089\000\137\004\
++\\094\000\137\004\104\000\137\004\105\000\137\004\106\000\137\004\
++\\107\000\137\004\117\000\137\004\118\000\137\004\121\000\137\004\
++\\123\000\137\004\134\000\137\004\000\000\
++\\001\000\001\000\138\004\002\000\138\004\003\000\138\004\004\000\138\004\
++\\007\000\138\004\008\000\138\004\020\000\138\004\025\000\138\004\
++\\032\000\138\004\033\000\138\004\041\000\138\004\055\000\138\004\
++\\056\000\138\004\057\000\138\004\061\000\138\004\062\000\138\004\
++\\069\000\138\004\070\000\138\004\077\000\138\004\078\000\138\004\
++\\079\000\138\004\080\000\138\004\082\000\138\004\083\000\138\004\
++\\085\000\138\004\087\000\138\004\088\000\138\004\089\000\138\004\
++\\094\000\138\004\104\000\138\004\105\000\138\004\106\000\138\004\
++\\107\000\138\004\117\000\138\004\118\000\138\004\121\000\138\004\
++\\123\000\138\004\134\000\138\004\000\000\
++\\001\000\001\000\148\004\002\000\148\004\003\000\148\004\004\000\148\004\
++\\005\000\148\004\007\000\148\004\008\000\148\004\009\000\148\004\
++\\010\000\148\004\011\000\148\004\012\000\148\004\013\000\148\004\
++\\014\000\148\004\015\000\148\004\016\000\148\004\017\000\148\004\
++\\018\000\148\004\019\000\148\004\020\000\148\004\021\000\148\004\
++\\022\000\148\004\023\000\148\004\024\000\148\004\025\000\148\004\
++\\026\000\148\004\029\000\148\004\030\000\148\004\032\000\148\004\
++\\033\000\148\004\034\000\148\004\035\000\148\004\036\000\148\004\
++\\037\000\148\004\038\000\148\004\040\000\148\004\041\000\148\004\
++\\042\000\148\004\043\000\148\004\045\000\148\004\047\000\148\004\
++\\048\000\148\004\049\000\148\004\050\000\148\004\051\000\148\004\
++\\053\000\148\004\054\000\148\004\055\000\148\004\056\000\148\004\
++\\057\000\148\004\060\000\148\004\061\000\148\004\062\000\148\004\
++\\064\000\148\004\069\000\148\004\070\000\148\004\071\000\148\004\
++\\072\000\148\004\074\000\148\004\076\000\148\004\077\000\148\004\
++\\078\000\148\004\079\000\148\004\080\000\148\004\081\000\148\004\
++\\082\000\148\004\083\000\148\004\085\000\148\004\087\000\148\004\
++\\088\000\148\004\089\000\148\004\094\000\148\004\095\000\148\004\
++\\098\000\148\004\100\000\148\004\101\000\148\004\104\000\148\004\
++\\105\000\148\004\106\000\148\004\107\000\148\004\108\000\148\004\
++\\109\000\148\004\110\000\148\004\111\000\148\004\112\000\148\004\
++\\113\000\148\004\117\000\148\004\118\000\148\004\121\000\148\004\
++\\123\000\148\004\124\000\148\004\125\000\148\004\127\000\148\004\
++\\128\000\148\004\129\000\148\004\130\000\148\004\131\000\148\004\
++\\132\000\148\004\134\000\148\004\000\000\
++\\001\000\001\000\149\004\002\000\149\004\003\000\149\004\004\000\149\004\
++\\005\000\149\004\007\000\149\004\008\000\149\004\009\000\149\004\
++\\010\000\149\004\011\000\149\004\012\000\149\004\013\000\149\004\
++\\014\000\149\004\015\000\149\004\016\000\149\004\017\000\149\004\
++\\018\000\149\004\019\000\149\004\020\000\149\004\021\000\149\004\
++\\022\000\149\004\023\000\149\004\024\000\149\004\025\000\149\004\
++\\026\000\149\004\029\000\149\004\030\000\149\004\032\000\149\004\
++\\033\000\149\004\034\000\149\004\035\000\149\004\036\000\149\004\
++\\037\000\149\004\038\000\149\004\040\000\149\004\041\000\149\004\
++\\042\000\149\004\043\000\149\004\045\000\149\004\047\000\149\004\
++\\048\000\149\004\049\000\149\004\050\000\149\004\051\000\149\004\
++\\053\000\149\004\054\000\149\004\055\000\149\004\056\000\149\004\
++\\057\000\149\004\060\000\149\004\061\000\149\004\062\000\149\004\
++\\064\000\149\004\069\000\149\004\070\000\149\004\071\000\149\004\
++\\072\000\149\004\074\000\149\004\076\000\149\004\077\000\149\004\
++\\078\000\149\004\079\000\149\004\080\000\149\004\081\000\149\004\
++\\082\000\149\004\083\000\149\004\085\000\149\004\087\000\149\004\
++\\088\000\149\004\089\000\149\004\094\000\149\004\095\000\149\004\
++\\098\000\149\004\100\000\149\004\101\000\149\004\104\000\149\004\
++\\105\000\149\004\106\000\149\004\107\000\149\004\108\000\149\004\
++\\109\000\149\004\110\000\149\004\111\000\149\004\112\000\149\004\
++\\113\000\149\004\117\000\149\004\118\000\149\004\121\000\149\004\
++\\123\000\149\004\124\000\149\004\125\000\149\004\127\000\149\004\
++\\128\000\149\004\129\000\149\004\130\000\149\004\131\000\149\004\
++\\132\000\149\004\134\000\149\004\000\000\
++\\001\000\001\000\150\004\002\000\150\004\003\000\150\004\004\000\150\004\
++\\005\000\150\004\007\000\150\004\008\000\150\004\009\000\150\004\
++\\010\000\150\004\011\000\150\004\012\000\150\004\013\000\150\004\
++\\014\000\150\004\015\000\150\004\016\000\150\004\017\000\150\004\
++\\018\000\150\004\019\000\150\004\020\000\150\004\021\000\150\004\
++\\022\000\150\004\023\000\150\004\024\000\150\004\025\000\150\004\
++\\026\000\150\004\029\000\150\004\030\000\150\004\032\000\150\004\
++\\033\000\150\004\034\000\150\004\035\000\150\004\036\000\150\004\
++\\037\000\150\004\038\000\150\004\040\000\150\004\041\000\150\004\
++\\042\000\150\004\043\000\150\004\045\000\150\004\047\000\150\004\
++\\048\000\150\004\049\000\150\004\050\000\150\004\051\000\150\004\
++\\053\000\150\004\054\000\150\004\055\000\150\004\056\000\150\004\
++\\057\000\150\004\060\000\150\004\061\000\150\004\062\000\150\004\
++\\064\000\150\004\069\000\150\004\070\000\150\004\071\000\150\004\
++\\072\000\150\004\074\000\150\004\076\000\150\004\077\000\150\004\
++\\078\000\150\004\079\000\150\004\080\000\150\004\081\000\150\004\
++\\082\000\150\004\083\000\150\004\085\000\150\004\087\000\150\004\
++\\088\000\150\004\089\000\150\004\094\000\150\004\095\000\150\004\
++\\098\000\150\004\100\000\150\004\101\000\150\004\104\000\150\004\
++\\105\000\150\004\106\000\150\004\107\000\150\004\108\000\150\004\
++\\109\000\150\004\110\000\150\004\111\000\150\004\112\000\150\004\
++\\113\000\150\004\117\000\150\004\118\000\150\004\121\000\150\004\
++\\123\000\150\004\124\000\150\004\125\000\150\004\127\000\150\004\
++\\128\000\150\004\129\000\150\004\130\000\150\004\131\000\150\004\
++\\132\000\150\004\134\000\150\004\000\000\
++\\001\000\001\000\151\004\002\000\151\004\003\000\151\004\004\000\151\004\
++\\005\000\151\004\007\000\151\004\008\000\151\004\009\000\151\004\
++\\010\000\151\004\011\000\151\004\012\000\151\004\013\000\151\004\
++\\014\000\151\004\015\000\151\004\016\000\151\004\018\000\151\004\
++\\019\000\151\004\020\000\151\004\021\000\151\004\022\000\151\004\
++\\023\000\151\004\024\000\151\004\025\000\151\004\026\000\151\004\
++\\029\000\151\004\030\000\151\004\032\000\151\004\033\000\151\004\
++\\034\000\151\004\035\000\151\004\036\000\151\004\038\000\188\000\
++\\040\000\151\004\041\000\151\004\043\000\151\004\047\000\151\004\
++\\048\000\151\004\049\000\151\004\050\000\151\004\051\000\151\004\
++\\053\000\151\004\054\000\151\004\055\000\151\004\056\000\151\004\
++\\057\000\151\004\060\000\151\004\061\000\151\004\062\000\151\004\
++\\069\000\151\004\070\000\151\004\076\000\151\004\077\000\151\004\
++\\078\000\151\004\079\000\151\004\080\000\151\004\081\000\151\004\
++\\082\000\151\004\083\000\151\004\085\000\151\004\087\000\151\004\
++\\088\000\151\004\089\000\151\004\094\000\151\004\095\000\151\004\
++\\098\000\151\004\100\000\151\004\101\000\151\004\104\000\151\004\
++\\105\000\151\004\106\000\151\004\107\000\151\004\108\000\151\004\
++\\109\000\151\004\110\000\151\004\111\000\151\004\112\000\151\004\
++\\113\000\151\004\117\000\151\004\118\000\151\004\121\000\151\004\
++\\123\000\151\004\124\000\151\004\125\000\151\004\127\000\151\004\
++\\128\000\151\004\129\000\151\004\130\000\151\004\131\000\151\004\
++\\132\000\151\004\134\000\151\004\000\000\
++\\001\000\001\000\151\004\002\000\151\004\003\000\151\004\004\000\151\004\
++\\005\000\151\004\007\000\151\004\008\000\151\004\009\000\151\004\
++\\010\000\151\004\011\000\151\004\012\000\151\004\013\000\151\004\
++\\014\000\151\004\016\000\151\004\017\000\151\004\018\000\151\004\
++\\019\000\151\004\020\000\151\004\021\000\151\004\022\000\151\004\
++\\023\000\151\004\024\000\151\004\025\000\151\004\026\000\151\004\
++\\029\000\151\004\030\000\151\004\032\000\151\004\033\000\151\004\
++\\034\000\151\004\035\000\151\004\036\000\151\004\038\000\151\004\
++\\040\000\151\004\041\000\151\004\043\000\151\004\047\000\151\004\
++\\048\000\151\004\049\000\151\004\050\000\151\004\051\000\151\004\
++\\053\000\151\004\054\000\151\004\055\000\151\004\056\000\151\004\
++\\057\000\151\004\060\000\151\004\061\000\151\004\062\000\151\004\
++\\069\000\151\004\070\000\151\004\074\000\151\004\076\000\151\004\
++\\077\000\151\004\078\000\151\004\079\000\151\004\080\000\151\004\
++\\081\000\151\004\082\000\151\004\083\000\151\004\085\000\151\004\
++\\087\000\151\004\088\000\151\004\089\000\151\004\094\000\151\004\
++\\095\000\151\004\098\000\151\004\100\000\151\004\101\000\151\004\
++\\104\000\151\004\105\000\151\004\106\000\151\004\107\000\151\004\
++\\108\000\151\004\109\000\151\004\110\000\151\004\111\000\151\004\
++\\112\000\151\004\113\000\151\004\117\000\151\004\118\000\151\004\
++\\121\000\151\004\123\000\151\004\124\000\151\004\125\000\151\004\
++\\127\000\151\004\128\000\151\004\129\000\151\004\130\000\151\004\
++\\131\000\151\004\132\000\151\004\134\000\151\004\000\000\
++\\001\000\001\000\152\004\002\000\152\004\003\000\152\004\004\000\152\004\
++\\005\000\152\004\007\000\152\004\008\000\152\004\009\000\152\004\
++\\010\000\152\004\011\000\152\004\012\000\152\004\013\000\152\004\
++\\014\000\152\004\015\000\152\004\016\000\152\004\017\000\152\004\
++\\018\000\152\004\019\000\152\004\020\000\152\004\021\000\152\004\
++\\022\000\152\004\023\000\152\004\024\000\152\004\025\000\152\004\
++\\026\000\152\004\029\000\152\004\030\000\152\004\032\000\152\004\
++\\033\000\152\004\034\000\152\004\035\000\152\004\036\000\152\004\
++\\038\000\152\004\040\000\152\004\041\000\152\004\043\000\152\004\
++\\047\000\152\004\048\000\152\004\049\000\152\004\050\000\152\004\
++\\051\000\152\004\053\000\152\004\054\000\152\004\055\000\152\004\
++\\056\000\152\004\057\000\152\004\060\000\152\004\061\000\152\004\
++\\062\000\152\004\069\000\152\004\070\000\152\004\074\000\152\004\
++\\076\000\152\004\077\000\152\004\078\000\152\004\079\000\152\004\
++\\080\000\152\004\081\000\152\004\082\000\152\004\083\000\152\004\
++\\085\000\152\004\087\000\152\004\088\000\152\004\089\000\152\004\
++\\094\000\152\004\095\000\152\004\098\000\152\004\100\000\152\004\
++\\101\000\152\004\104\000\152\004\105\000\152\004\106\000\152\004\
++\\107\000\152\004\108\000\152\004\109\000\152\004\110\000\152\004\
++\\111\000\152\004\112\000\152\004\113\000\152\004\117\000\152\004\
++\\118\000\152\004\121\000\152\004\123\000\152\004\124\000\152\004\
++\\125\000\152\004\127\000\152\004\128\000\152\004\129\000\152\004\
++\\130\000\152\004\131\000\152\004\132\000\152\004\134\000\152\004\000\000\
++\\001\000\001\000\153\004\002\000\153\004\003\000\153\004\004\000\153\004\
++\\005\000\153\004\007\000\153\004\008\000\153\004\009\000\153\004\
++\\010\000\153\004\011\000\153\004\012\000\153\004\013\000\153\004\
++\\014\000\153\004\015\000\153\004\016\000\153\004\017\000\153\004\
++\\018\000\153\004\019\000\153\004\020\000\153\004\021\000\153\004\
++\\022\000\153\004\023\000\153\004\024\000\153\004\025\000\153\004\
++\\026\000\153\004\029\000\153\004\030\000\153\004\032\000\153\004\
++\\033\000\153\004\034\000\153\004\035\000\153\004\036\000\153\004\
++\\038\000\153\004\040\000\153\004\041\000\153\004\043\000\153\004\
++\\047\000\153\004\048\000\153\004\049\000\153\004\050\000\153\004\
++\\051\000\153\004\053\000\153\004\054\000\153\004\055\000\153\004\
++\\056\000\153\004\057\000\153\004\060\000\153\004\061\000\153\004\
++\\062\000\153\004\069\000\153\004\070\000\153\004\074\000\153\004\
++\\076\000\153\004\077\000\153\004\078\000\153\004\079\000\153\004\
++\\080\000\153\004\081\000\153\004\082\000\153\004\083\000\153\004\
++\\085\000\153\004\087\000\153\004\088\000\153\004\089\000\153\004\
++\\094\000\153\004\095\000\153\004\098\000\153\004\100\000\153\004\
++\\101\000\153\004\104\000\153\004\105\000\153\004\106\000\153\004\
++\\107\000\153\004\108\000\153\004\109\000\153\004\110\000\153\004\
++\\111\000\153\004\112\000\153\004\113\000\153\004\117\000\153\004\
++\\118\000\153\004\121\000\153\004\123\000\153\004\124\000\153\004\
++\\125\000\153\004\127\000\153\004\128\000\153\004\129\000\153\004\
++\\130\000\153\004\131\000\153\004\132\000\153\004\134\000\153\004\000\000\
++\\001\000\001\000\154\004\002\000\154\004\003\000\154\004\004\000\154\004\
++\\005\000\154\004\007\000\154\004\008\000\154\004\009\000\154\004\
++\\010\000\154\004\011\000\154\004\012\000\154\004\013\000\154\004\
++\\014\000\154\004\015\000\154\004\016\000\154\004\017\000\154\004\
++\\018\000\154\004\019\000\154\004\020\000\154\004\021\000\154\004\
++\\022\000\154\004\023\000\154\004\024\000\154\004\025\000\154\004\
++\\026\000\154\004\029\000\154\004\030\000\154\004\032\000\154\004\
++\\033\000\154\004\034\000\154\004\035\000\154\004\036\000\154\004\
++\\038\000\154\004\040\000\154\004\041\000\154\004\043\000\154\004\
++\\047\000\154\004\048\000\154\004\049\000\154\004\050\000\154\004\
++\\051\000\154\004\053\000\154\004\054\000\154\004\055\000\154\004\
++\\056\000\154\004\057\000\154\004\060\000\154\004\061\000\154\004\
++\\062\000\154\004\069\000\154\004\070\000\154\004\074\000\154\004\
++\\076\000\154\004\077\000\154\004\078\000\154\004\079\000\154\004\
++\\080\000\154\004\081\000\154\004\082\000\154\004\083\000\154\004\
++\\085\000\154\004\087\000\154\004\088\000\154\004\089\000\154\004\
++\\094\000\154\004\095\000\154\004\098\000\154\004\100\000\154\004\
++\\101\000\154\004\104\000\154\004\105\000\154\004\106\000\154\004\
++\\107\000\154\004\108\000\154\004\109\000\154\004\110\000\154\004\
++\\111\000\154\004\112\000\154\004\113\000\154\004\117\000\154\004\
++\\118\000\154\004\121\000\154\004\123\000\154\004\124\000\154\004\
++\\125\000\154\004\127\000\154\004\128\000\154\004\129\000\154\004\
++\\130\000\154\004\131\000\154\004\132\000\154\004\134\000\154\004\000\000\
++\\001\000\001\000\155\004\002\000\155\004\003\000\155\004\004\000\155\004\
++\\005\000\155\004\007\000\155\004\008\000\155\004\009\000\155\004\
++\\010\000\155\004\011\000\155\004\012\000\155\004\013\000\155\004\
++\\014\000\155\004\015\000\155\004\016\000\155\004\017\000\155\004\
++\\018\000\155\004\019\000\155\004\020\000\155\004\021\000\155\004\
++\\022\000\155\004\023\000\155\004\024\000\155\004\025\000\155\004\
++\\026\000\155\004\029\000\155\004\030\000\155\004\032\000\155\004\
++\\033\000\155\004\034\000\155\004\035\000\155\004\036\000\155\004\
++\\038\000\155\004\040\000\155\004\041\000\155\004\043\000\155\004\
++\\047\000\155\004\048\000\155\004\049\000\155\004\050\000\155\004\
++\\051\000\155\004\053\000\155\004\054\000\155\004\055\000\155\004\
++\\056\000\155\004\057\000\155\004\060\000\155\004\061\000\155\004\
++\\062\000\155\004\069\000\155\004\070\000\155\004\074\000\155\004\
++\\076\000\155\004\077\000\155\004\078\000\155\004\079\000\155\004\
++\\080\000\155\004\081\000\155\004\082\000\155\004\083\000\155\004\
++\\085\000\155\004\087\000\155\004\088\000\155\004\089\000\155\004\
++\\094\000\155\004\095\000\155\004\098\000\155\004\100\000\155\004\
++\\101\000\155\004\104\000\155\004\105\000\155\004\106\000\155\004\
++\\107\000\155\004\108\000\155\004\109\000\155\004\110\000\155\004\
++\\111\000\155\004\112\000\155\004\113\000\155\004\117\000\155\004\
++\\118\000\155\004\121\000\155\004\123\000\155\004\124\000\155\004\
++\\125\000\155\004\127\000\155\004\128\000\155\004\129\000\155\004\
++\\130\000\155\004\131\000\155\004\132\000\155\004\134\000\155\004\000\000\
++\\001\000\001\000\156\004\002\000\156\004\003\000\156\004\004\000\156\004\
++\\007\000\156\004\008\000\156\004\009\000\156\004\012\000\156\004\
++\\019\000\156\004\020\000\156\004\025\000\156\004\030\000\156\004\
++\\032\000\156\004\033\000\156\004\038\000\188\000\055\000\156\004\
++\\056\000\156\004\057\000\156\004\060\000\156\004\061\000\156\004\
++\\062\000\156\004\069\000\156\004\070\000\156\004\077\000\156\004\
++\\078\000\156\004\079\000\156\004\080\000\156\004\082\000\156\004\
++\\083\000\156\004\085\000\156\004\087\000\156\004\088\000\156\004\
++\\089\000\156\004\094\000\156\004\104\000\156\004\105\000\156\004\
++\\106\000\156\004\107\000\156\004\117\000\156\004\118\000\156\004\
++\\121\000\156\004\123\000\156\004\124\000\156\004\125\000\156\004\
++\\134\000\156\004\000\000\
++\\001\000\001\000\157\004\002\000\157\004\003\000\157\004\004\000\157\004\
++\\007\000\157\004\008\000\157\004\009\000\157\004\012\000\157\004\
++\\019\000\157\004\020\000\157\004\025\000\157\004\030\000\157\004\
++\\032\000\157\004\033\000\157\004\055\000\157\004\056\000\157\004\
++\\057\000\157\004\060\000\157\004\061\000\157\004\062\000\157\004\
++\\069\000\157\004\070\000\157\004\077\000\157\004\078\000\157\004\
++\\079\000\157\004\080\000\157\004\082\000\157\004\083\000\157\004\
++\\085\000\157\004\087\000\157\004\088\000\157\004\089\000\157\004\
++\\094\000\157\004\104\000\157\004\105\000\157\004\106\000\157\004\
++\\107\000\157\004\117\000\157\004\118\000\157\004\121\000\157\004\
++\\123\000\157\004\124\000\157\004\125\000\157\004\134\000\157\004\000\000\
++\\001\000\001\000\158\004\002\000\158\004\003\000\158\004\004\000\158\004\
++\\005\000\158\004\007\000\158\004\008\000\158\004\009\000\158\004\
++\\010\000\158\004\011\000\158\004\012\000\158\004\013\000\158\004\
++\\014\000\158\004\016\000\158\004\018\000\158\004\019\000\158\004\
++\\020\000\158\004\021\000\158\004\022\000\158\004\023\000\158\004\
++\\024\000\158\004\025\000\158\004\026\000\158\004\029\000\158\004\
++\\030\000\158\004\032\000\158\004\033\000\158\004\034\000\158\004\
++\\035\000\158\004\036\000\158\004\038\000\184\000\040\000\158\004\
++\\041\000\158\004\043\000\158\004\047\000\158\004\048\000\158\004\
++\\049\000\158\004\050\000\158\004\051\000\158\004\053\000\158\004\
++\\054\000\158\004\055\000\158\004\056\000\158\004\057\000\158\004\
++\\060\000\158\004\061\000\158\004\062\000\158\004\069\000\158\004\
++\\070\000\158\004\076\000\158\004\077\000\158\004\078\000\158\004\
++\\079\000\158\004\080\000\158\004\081\000\158\004\082\000\158\004\
++\\083\000\158\004\085\000\158\004\087\000\158\004\088\000\158\004\
++\\089\000\158\004\094\000\158\004\095\000\158\004\098\000\158\004\
++\\100\000\158\004\101\000\158\004\104\000\158\004\105\000\158\004\
++\\106\000\158\004\107\000\158\004\108\000\158\004\109\000\158\004\
++\\110\000\158\004\111\000\158\004\112\000\158\004\113\000\158\004\
++\\117\000\158\004\118\000\158\004\121\000\158\004\123\000\158\004\
++\\124\000\158\004\125\000\158\004\127\000\158\004\128\000\158\004\
++\\129\000\158\004\130\000\158\004\131\000\158\004\132\000\158\004\
++\\134\000\158\004\000\000\
++\\001\000\001\000\159\004\002\000\159\004\003\000\159\004\004\000\159\004\
++\\005\000\159\004\007\000\159\004\008\000\159\004\009\000\159\004\
++\\010\000\159\004\011\000\159\004\012\000\159\004\013\000\159\004\
++\\014\000\159\004\016\000\159\004\018\000\159\004\019\000\159\004\
++\\020\000\159\004\021\000\159\004\022\000\159\004\023\000\159\004\
++\\024\000\159\004\025\000\159\004\026\000\159\004\029\000\159\004\
++\\030\000\159\004\032\000\159\004\033\000\159\004\034\000\159\004\
++\\035\000\159\004\036\000\159\004\038\000\159\004\040\000\159\004\
++\\041\000\159\004\043\000\159\004\047\000\159\004\048\000\159\004\
++\\049\000\159\004\050\000\159\004\051\000\159\004\053\000\159\004\
++\\054\000\159\004\055\000\159\004\056\000\159\004\057\000\159\004\
++\\060\000\159\004\061\000\159\004\062\000\159\004\069\000\159\004\
++\\070\000\159\004\076\000\159\004\077\000\159\004\078\000\159\004\
++\\079\000\159\004\080\000\159\004\081\000\159\004\082\000\159\004\
++\\083\000\159\004\085\000\159\004\087\000\159\004\088\000\159\004\
++\\089\000\159\004\094\000\159\004\095\000\159\004\098\000\159\004\
++\\100\000\159\004\101\000\159\004\104\000\159\004\105\000\159\004\
++\\106\000\159\004\107\000\159\004\108\000\159\004\109\000\159\004\
++\\110\000\159\004\111\000\159\004\112\000\159\004\113\000\159\004\
++\\117\000\159\004\118\000\159\004\121\000\159\004\123\000\159\004\
++\\124\000\159\004\125\000\159\004\127\000\159\004\128\000\159\004\
++\\129\000\159\004\130\000\159\004\131\000\159\004\132\000\159\004\
++\\134\000\159\004\000\000\
++\\001\000\001\000\160\004\002\000\160\004\003\000\160\004\004\000\160\004\
++\\005\000\160\004\007\000\160\004\008\000\160\004\009\000\160\004\
++\\010\000\160\004\011\000\160\004\012\000\160\004\013\000\160\004\
++\\014\000\160\004\016\000\160\004\018\000\160\004\019\000\160\004\
++\\020\000\160\004\021\000\160\004\022\000\160\004\023\000\160\004\
++\\024\000\160\004\025\000\160\004\026\000\160\004\029\000\160\004\
++\\030\000\160\004\032\000\160\004\033\000\160\004\034\000\160\004\
++\\035\000\160\004\036\000\160\004\038\000\160\004\040\000\160\004\
++\\041\000\160\004\043\000\160\004\047\000\160\004\048\000\160\004\
++\\049\000\160\004\050\000\160\004\051\000\160\004\053\000\160\004\
++\\054\000\160\004\055\000\160\004\056\000\160\004\057\000\160\004\
++\\060\000\160\004\061\000\160\004\062\000\160\004\069\000\160\004\
++\\070\000\160\004\076\000\160\004\077\000\160\004\078\000\160\004\
++\\079\000\160\004\080\000\160\004\081\000\160\004\082\000\160\004\
++\\083\000\160\004\085\000\160\004\087\000\160\004\088\000\160\004\
++\\089\000\160\004\094\000\160\004\095\000\160\004\098\000\160\004\
++\\100\000\160\004\101\000\160\004\104\000\160\004\105\000\160\004\
++\\106\000\160\004\107\000\160\004\108\000\160\004\109\000\160\004\
++\\110\000\160\004\111\000\160\004\112\000\160\004\113\000\160\004\
++\\117\000\160\004\118\000\160\004\121\000\160\004\123\000\160\004\
++\\124\000\160\004\125\000\160\004\127\000\160\004\128\000\160\004\
++\\129\000\160\004\130\000\160\004\131\000\160\004\132\000\160\004\
++\\134\000\160\004\000\000\
++\\001\000\001\000\161\004\002\000\161\004\003\000\161\004\004\000\161\004\
++\\005\000\161\004\007\000\161\004\008\000\161\004\009\000\161\004\
++\\011\000\161\004\012\000\161\004\019\000\161\004\020\000\161\004\
++\\022\000\161\004\024\000\161\004\025\000\161\004\026\000\161\004\
++\\030\000\161\004\032\000\161\004\033\000\161\004\035\000\161\004\
++\\036\000\161\004\041\000\161\004\042\000\161\004\043\000\161\004\
++\\045\000\161\004\047\000\161\004\048\000\161\004\055\000\161\004\
++\\056\000\161\004\057\000\161\004\060\000\161\004\061\000\161\004\
++\\062\000\161\004\064\000\161\004\069\000\161\004\070\000\161\004\
++\\076\000\161\004\077\000\161\004\078\000\161\004\079\000\161\004\
++\\080\000\161\004\082\000\161\004\083\000\161\004\085\000\161\004\
++\\087\000\161\004\088\000\161\004\089\000\161\004\094\000\161\004\
++\\095\000\161\004\098\000\161\004\104\000\161\004\105\000\161\004\
++\\106\000\161\004\107\000\161\004\108\000\161\004\109\000\161\004\
++\\110\000\161\004\111\000\161\004\112\000\161\004\113\000\161\004\
++\\117\000\161\004\118\000\161\004\121\000\161\004\123\000\161\004\
++\\124\000\161\004\125\000\161\004\127\000\161\004\128\000\161\004\
++\\131\000\161\004\134\000\161\004\000\000\
++\\001\000\001\000\162\004\002\000\162\004\003\000\162\004\004\000\162\004\
++\\005\000\162\004\007\000\162\004\008\000\162\004\009\000\162\004\
++\\011\000\162\004\012\000\162\004\019\000\162\004\020\000\162\004\
++\\022\000\162\004\024\000\162\004\025\000\162\004\026\000\162\004\
++\\030\000\162\004\032\000\162\004\033\000\162\004\035\000\162\004\
++\\036\000\162\004\041\000\162\004\042\000\162\004\043\000\162\004\
++\\045\000\162\004\047\000\162\004\048\000\162\004\055\000\162\004\
++\\056\000\162\004\057\000\162\004\060\000\162\004\061\000\162\004\
++\\062\000\162\004\064\000\162\004\069\000\162\004\070\000\162\004\
++\\076\000\162\004\077\000\162\004\078\000\162\004\079\000\162\004\
++\\080\000\162\004\082\000\162\004\083\000\162\004\085\000\162\004\
++\\087\000\162\004\088\000\162\004\089\000\162\004\094\000\162\004\
++\\095\000\162\004\098\000\162\004\104\000\162\004\105\000\162\004\
++\\106\000\162\004\107\000\162\004\108\000\162\004\109\000\162\004\
++\\110\000\162\004\111\000\162\004\112\000\162\004\113\000\162\004\
++\\117\000\162\004\118\000\162\004\121\000\162\004\123\000\162\004\
++\\124\000\162\004\125\000\162\004\127\000\162\004\128\000\162\004\
++\\131\000\162\004\134\000\162\004\000\000\
++\\001\000\001\000\163\004\002\000\163\004\003\000\163\004\004\000\163\004\
++\\005\000\163\004\007\000\163\004\008\000\163\004\009\000\163\004\
++\\010\000\163\004\011\000\163\004\012\000\163\004\013\000\163\004\
++\\014\000\163\004\016\000\163\004\017\000\163\004\018\000\163\004\
++\\019\000\163\004\020\000\163\004\021\000\163\004\022\000\163\004\
++\\023\000\163\004\024\000\163\004\025\000\163\004\026\000\163\004\
++\\029\000\163\004\030\000\163\004\032\000\163\004\033\000\163\004\
++\\034\000\163\004\035\000\163\004\036\000\163\004\040\000\163\004\
++\\041\000\163\004\043\000\163\004\047\000\163\004\048\000\163\004\
++\\049\000\163\004\050\000\163\004\051\000\163\004\053\000\163\004\
++\\054\000\163\004\055\000\163\004\056\000\163\004\057\000\163\004\
++\\060\000\163\004\061\000\163\004\062\000\163\004\069\000\163\004\
++\\070\000\163\004\076\000\163\004\077\000\163\004\078\000\163\004\
++\\079\000\163\004\080\000\163\004\081\000\163\004\082\000\163\004\
++\\083\000\163\004\085\000\163\004\087\000\163\004\088\000\163\004\
++\\089\000\163\004\094\000\163\004\095\000\163\004\098\000\163\004\
++\\100\000\163\004\101\000\163\004\104\000\163\004\105\000\163\004\
++\\106\000\163\004\107\000\163\004\108\000\163\004\109\000\163\004\
++\\110\000\163\004\111\000\163\004\112\000\163\004\113\000\163\004\
++\\117\000\163\004\118\000\163\004\121\000\163\004\123\000\163\004\
++\\124\000\163\004\125\000\163\004\127\000\163\004\128\000\163\004\
++\\129\000\163\004\130\000\163\004\131\000\163\004\132\000\163\004\
++\\134\000\163\004\000\000\
++\\001\000\001\000\164\004\002\000\164\004\003\000\164\004\004\000\164\004\
++\\005\000\164\004\007\000\164\004\008\000\164\004\009\000\164\004\
++\\010\000\164\004\011\000\164\004\012\000\164\004\013\000\164\004\
++\\014\000\164\004\016\000\164\004\018\000\164\004\019\000\164\004\
++\\020\000\164\004\021\000\164\004\022\000\164\004\023\000\164\004\
++\\024\000\164\004\025\000\164\004\026\000\164\004\029\000\164\004\
++\\030\000\164\004\032\000\164\004\033\000\164\004\034\000\164\004\
++\\035\000\164\004\036\000\164\004\040\000\164\004\041\000\164\004\
++\\043\000\164\004\047\000\164\004\048\000\164\004\049\000\164\004\
++\\050\000\164\004\051\000\164\004\053\000\164\004\054\000\164\004\
++\\055\000\164\004\056\000\164\004\057\000\164\004\060\000\164\004\
++\\061\000\164\004\062\000\164\004\069\000\164\004\070\000\164\004\
++\\076\000\164\004\077\000\164\004\078\000\164\004\079\000\164\004\
++\\080\000\164\004\081\000\164\004\082\000\164\004\083\000\164\004\
++\\085\000\164\004\087\000\164\004\088\000\164\004\089\000\164\004\
++\\094\000\164\004\095\000\164\004\098\000\164\004\100\000\164\004\
++\\101\000\164\004\104\000\164\004\105\000\164\004\106\000\164\004\
++\\107\000\164\004\108\000\164\004\109\000\164\004\110\000\164\004\
++\\111\000\164\004\112\000\164\004\113\000\164\004\117\000\164\004\
++\\118\000\164\004\121\000\164\004\123\000\164\004\124\000\164\004\
++\\125\000\164\004\127\000\164\004\128\000\164\004\129\000\164\004\
++\\130\000\164\004\131\000\164\004\132\000\164\004\134\000\164\004\000\000\
++\\001\000\001\000\165\004\002\000\165\004\003\000\165\004\004\000\165\004\
++\\005\000\165\004\007\000\165\004\008\000\165\004\009\000\165\004\
++\\010\000\165\004\011\000\165\004\012\000\165\004\013\000\165\004\
++\\014\000\165\004\016\000\165\004\018\000\165\004\019\000\165\004\
++\\020\000\165\004\021\000\165\004\022\000\165\004\023\000\165\004\
++\\024\000\165\004\025\000\165\004\026\000\165\004\029\000\165\004\
++\\030\000\165\004\032\000\165\004\033\000\165\004\034\000\165\004\
++\\035\000\165\004\036\000\165\004\040\000\165\004\041\000\165\004\
++\\043\000\165\004\047\000\165\004\048\000\165\004\049\000\165\004\
++\\050\000\165\004\051\000\165\004\053\000\165\004\054\000\165\004\
++\\055\000\165\004\056\000\165\004\057\000\165\004\060\000\165\004\
++\\061\000\165\004\062\000\165\004\069\000\165\004\070\000\165\004\
++\\076\000\165\004\077\000\165\004\078\000\165\004\079\000\165\004\
++\\080\000\165\004\081\000\165\004\082\000\165\004\083\000\165\004\
++\\085\000\165\004\087\000\165\004\088\000\165\004\089\000\165\004\
++\\094\000\165\004\095\000\165\004\098\000\165\004\100\000\165\004\
++\\101\000\165\004\104\000\165\004\105\000\165\004\106\000\165\004\
++\\107\000\165\004\108\000\165\004\109\000\165\004\110\000\165\004\
++\\111\000\165\004\112\000\165\004\113\000\165\004\117\000\165\004\
++\\118\000\165\004\121\000\165\004\123\000\165\004\124\000\165\004\
++\\125\000\165\004\127\000\165\004\128\000\165\004\129\000\165\004\
++\\130\000\165\004\131\000\165\004\132\000\165\004\134\000\165\004\000\000\
++\\001\000\001\000\166\004\002\000\166\004\003\000\166\004\004\000\166\004\
++\\005\000\166\004\007\000\166\004\008\000\166\004\009\000\166\004\
++\\010\000\166\004\011\000\166\004\012\000\166\004\013\000\166\004\
++\\014\000\166\004\016\000\166\004\018\000\166\004\019\000\166\004\
++\\020\000\166\004\021\000\166\004\022\000\166\004\023\000\166\004\
++\\024\000\166\004\025\000\166\004\026\000\166\004\029\000\166\004\
++\\030\000\166\004\032\000\166\004\033\000\166\004\034\000\166\004\
++\\035\000\166\004\036\000\166\004\040\000\166\004\041\000\166\004\
++\\043\000\166\004\047\000\166\004\048\000\166\004\049\000\166\004\
++\\050\000\166\004\051\000\166\004\053\000\166\004\054\000\166\004\
++\\055\000\166\004\056\000\166\004\057\000\166\004\060\000\166\004\
++\\061\000\166\004\062\000\166\004\069\000\166\004\070\000\166\004\
++\\076\000\166\004\077\000\166\004\078\000\166\004\079\000\166\004\
++\\080\000\166\004\081\000\166\004\082\000\166\004\083\000\166\004\
++\\085\000\166\004\087\000\166\004\088\000\166\004\089\000\166\004\
++\\094\000\166\004\095\000\166\004\098\000\166\004\100\000\166\004\
++\\101\000\166\004\104\000\166\004\105\000\166\004\106\000\166\004\
++\\107\000\166\004\108\000\166\004\109\000\166\004\110\000\166\004\
++\\111\000\166\004\112\000\166\004\113\000\166\004\117\000\166\004\
++\\118\000\166\004\121\000\166\004\123\000\166\004\124\000\166\004\
++\\125\000\166\004\127\000\166\004\128\000\166\004\129\000\166\004\
++\\130\000\166\004\131\000\166\004\132\000\166\004\134\000\166\004\000\000\
++\\001\000\001\000\041\000\002\000\248\002\003\000\040\000\004\000\248\002\
++\\007\000\039\000\008\000\038\000\020\000\248\002\032\000\037\000\
++\\033\000\036\000\055\000\035\000\056\000\034\000\057\000\033\000\
++\\061\000\032\000\062\000\031\000\069\000\030\000\070\000\029\000\
++\\077\000\028\000\078\000\027\000\079\000\026\000\080\000\025\000\
++\\082\000\024\000\083\000\023\000\085\000\022\000\087\000\021\000\
++\\088\000\020\000\089\000\019\000\094\000\018\000\104\000\017\000\
++\\105\000\016\000\106\000\015\000\107\000\014\000\117\000\013\000\
++\\118\000\012\000\121\000\011\000\123\000\010\000\000\000\
++\\001\000\001\000\041\000\002\000\248\002\003\000\040\000\004\000\248\002\
++\\007\000\039\000\008\000\038\000\020\000\248\002\032\000\037\000\
++\\033\000\036\000\055\000\035\000\056\000\034\000\057\000\033\000\
++\\061\000\032\000\062\000\031\000\069\000\030\000\070\000\029\000\
++\\077\000\028\000\078\000\027\000\079\000\026\000\080\000\025\000\
++\\082\000\024\000\083\000\023\000\085\000\022\000\087\000\021\000\
++\\088\000\020\000\089\000\019\000\094\000\018\000\104\000\017\000\
++\\105\000\016\000\106\000\015\000\107\000\014\000\117\000\013\000\
++\\118\000\012\000\121\000\011\000\123\000\010\000\134\000\248\002\000\000\
++\\001\000\001\000\041\000\002\000\248\002\003\000\040\000\007\000\039\000\
++\\008\000\038\000\032\000\037\000\033\000\036\000\055\000\035\000\
++\\056\000\034\000\057\000\033\000\061\000\032\000\062\000\031\000\
++\\069\000\030\000\070\000\029\000\077\000\028\000\078\000\027\000\
++\\079\000\026\000\080\000\025\000\082\000\024\000\083\000\023\000\
++\\085\000\022\000\087\000\021\000\088\000\020\000\089\000\019\000\
++\\094\000\018\000\104\000\017\000\105\000\016\000\106\000\015\000\
++\\107\000\014\000\117\000\013\000\118\000\012\000\121\000\011\000\
++\\123\000\010\000\000\000\
++\\001\000\001\000\041\000\003\000\040\000\004\000\248\002\007\000\039\000\
++\\008\000\038\000\032\000\037\000\033\000\036\000\055\000\035\000\
++\\056\000\034\000\057\000\033\000\061\000\032\000\062\000\031\000\
++\\069\000\030\000\070\000\029\000\077\000\028\000\078\000\027\000\
++\\079\000\026\000\080\000\025\000\082\000\024\000\083\000\023\000\
++\\085\000\022\000\087\000\021\000\088\000\020\000\089\000\019\000\
++\\094\000\018\000\104\000\017\000\105\000\016\000\106\000\015\000\
++\\107\000\014\000\117\000\013\000\118\000\012\000\121\000\011\000\
++\\123\000\010\000\000\000\
++\\001\000\001\000\041\000\003\000\040\000\007\000\039\000\008\000\038\000\
++\\032\000\037\000\033\000\036\000\055\000\035\000\056\000\034\000\
++\\057\000\033\000\061\000\032\000\062\000\031\000\069\000\030\000\
++\\070\000\029\000\077\000\028\000\078\000\027\000\079\000\026\000\
++\\080\000\025\000\082\000\024\000\083\000\023\000\085\000\022\000\
++\\087\000\021\000\088\000\020\000\089\000\019\000\094\000\018\000\
++\\104\000\017\000\105\000\016\000\106\000\015\000\107\000\014\000\
++\\117\000\013\000\118\000\012\000\121\000\011\000\123\000\010\000\
++\\134\000\248\002\000\000\
++\\001\000\002\000\249\002\004\000\249\002\020\000\249\002\134\000\249\002\000\000\
++\\001\000\002\000\097\003\004\000\097\003\020\000\097\003\000\000\
++\\001\000\002\000\099\003\004\000\099\003\020\000\099\003\000\000\
++\\001\000\002\000\017\004\020\000\017\004\025\000\115\002\036\000\204\001\000\000\
++\\001\000\002\000\018\004\020\000\018\004\000\000\
++\\001\000\002\000\080\001\000\000\
++\\001\000\002\000\236\001\000\000\
++\\001\000\002\000\060\002\000\000\
++\\001\000\002\000\069\002\000\000\
++\\001\000\002\000\134\002\000\000\
++\\001\000\004\000\002\001\000\000\
++\\001\000\004\000\000\002\000\000\
++\\001\000\004\000\027\002\024\000\069\004\035\000\069\004\036\000\204\001\000\000\
++\\001\000\004\000\030\002\020\000\029\002\036\000\204\001\000\000\
++\\001\000\005\000\100\001\023\000\183\003\000\000\
++\\001\000\005\000\024\002\036\000\204\001\000\000\
++\\001\000\005\000\187\002\060\000\122\004\108\000\122\004\116\000\122\004\000\000\
++\\001\000\006\000\047\001\009\000\046\001\010\000\045\001\011\000\074\000\
++\\013\000\073\000\014\000\072\000\016\000\044\001\018\000\043\001\
++\\019\000\042\001\020\000\175\001\021\000\041\001\023\000\040\001\
++\\026\000\039\001\030\000\052\000\031\000\038\001\034\000\037\001\
++\\046\000\036\001\049\000\101\000\050\000\100\000\052\000\035\001\
++\\054\000\034\001\081\000\033\001\100\000\098\000\101\000\097\000\
++\\124\000\051\000\125\000\050\000\127\000\096\000\128\000\066\000\
++\\129\000\095\000\130\000\094\000\131\000\093\000\132\000\092\000\000\000\
++\\001\000\006\000\047\001\009\000\046\001\010\000\045\001\011\000\074\000\
++\\013\000\073\000\014\000\072\000\016\000\044\001\018\000\043\001\
++\\019\000\042\001\021\000\041\001\022\000\023\004\023\000\040\001\
++\\026\000\039\001\030\000\052\000\031\000\038\001\034\000\037\001\
++\\046\000\036\001\049\000\101\000\050\000\100\000\052\000\035\001\
++\\054\000\034\001\081\000\033\001\100\000\098\000\101\000\097\000\
++\\124\000\051\000\125\000\050\000\127\000\096\000\128\000\066\000\
++\\129\000\095\000\130\000\094\000\131\000\093\000\132\000\092\000\000\000\
++\\001\000\006\000\047\001\009\000\046\001\010\000\045\001\011\000\074\000\
++\\013\000\073\000\014\000\072\000\016\000\044\001\018\000\043\001\
++\\019\000\042\001\021\000\041\001\023\000\040\001\026\000\039\001\
++\\030\000\052\000\031\000\038\001\034\000\037\001\046\000\036\001\
++\\049\000\101\000\050\000\100\000\052\000\035\001\054\000\034\001\
++\\081\000\033\001\100\000\098\000\101\000\097\000\124\000\051\000\
++\\125\000\050\000\127\000\096\000\128\000\066\000\129\000\095\000\
++\\130\000\094\000\131\000\093\000\132\000\092\000\000\000\
++\\001\000\007\000\164\002\011\000\074\000\013\000\073\000\014\000\072\000\
++\\030\000\052\000\124\000\051\000\125\000\050\000\000\000\
++\\001\000\008\000\146\000\030\000\052\000\124\000\051\000\125\000\050\000\000\000\
++\\001\000\008\000\079\001\030\000\052\000\124\000\051\000\125\000\050\000\000\000\
++\\001\000\009\000\084\003\020\000\084\003\060\000\208\000\000\000\
++\\001\000\009\000\085\003\020\000\085\003\060\000\208\000\000\000\
++\\001\000\009\000\122\003\000\000\
++\\001\000\009\000\123\003\013\000\063\002\000\000\
++\\001\000\009\000\124\003\013\000\124\003\036\000\232\001\000\000\
++\\001\000\009\000\125\003\013\000\125\003\000\000\
++\\001\000\009\000\126\003\013\000\126\003\021\000\126\001\036\000\126\003\000\000\
++\\001\000\009\000\127\003\013\000\127\003\036\000\127\003\000\000\
++\\001\000\009\000\206\003\010\000\159\002\024\000\206\003\030\000\052\000\
++\\035\000\206\003\071\000\206\003\072\000\206\003\124\000\051\000\
++\\125\000\050\000\128\000\206\003\000\000\
++\\001\000\009\000\207\003\024\000\207\003\035\000\207\003\071\000\207\003\
++\\072\000\207\003\128\000\207\003\000\000\
++\\001\000\009\000\208\003\024\000\208\003\035\000\208\003\071\000\208\003\
++\\072\000\208\003\128\000\208\003\000\000\
++\\001\000\009\000\209\003\024\000\209\003\035\000\209\003\128\000\066\000\000\000\
++\\001\000\009\000\210\003\024\000\210\003\035\000\210\003\039\000\207\002\000\000\
++\\001\000\009\000\211\003\024\000\211\003\035\000\211\003\000\000\
++\\001\000\009\000\216\003\024\000\216\003\035\000\216\003\128\000\216\003\000\000\
++\\001\000\009\000\217\003\024\000\217\003\035\000\217\003\128\000\217\003\000\000\
++\\001\000\009\000\218\003\024\000\218\003\035\000\218\003\071\000\184\002\
++\\072\000\183\002\128\000\218\003\000\000\
++\\001\000\009\000\025\004\011\000\025\004\012\000\025\004\013\000\025\004\
++\\014\000\025\004\018\000\025\004\019\000\025\004\020\000\025\004\
++\\021\000\025\004\022\000\025\004\023\000\025\004\024\000\025\004\
++\\030\000\025\004\035\000\025\004\036\000\025\004\041\000\025\004\
++\\043\000\025\004\049\000\025\004\050\000\025\004\051\000\025\004\
++\\060\000\025\004\081\000\025\004\100\000\025\004\101\000\025\004\
++\\123\000\025\004\124\000\025\004\125\000\025\004\127\000\025\004\
++\\128\000\025\004\129\000\025\004\130\000\025\004\131\000\025\004\
++\\132\000\025\004\000\000\
++\\001\000\009\000\026\004\011\000\026\004\012\000\026\004\013\000\026\004\
++\\014\000\026\004\018\000\026\004\019\000\026\004\020\000\026\004\
++\\021\000\026\004\022\000\026\004\023\000\026\004\024\000\026\004\
++\\030\000\026\004\035\000\026\004\036\000\026\004\041\000\026\004\
++\\043\000\026\004\049\000\026\004\050\000\026\004\051\000\026\004\
++\\060\000\026\004\081\000\026\004\100\000\026\004\101\000\026\004\
++\\123\000\026\004\124\000\026\004\125\000\026\004\127\000\026\004\
++\\128\000\026\004\129\000\026\004\130\000\026\004\131\000\026\004\
++\\132\000\026\004\000\000\
++\\001\000\009\000\027\004\011\000\027\004\012\000\027\004\013\000\027\004\
++\\014\000\027\004\018\000\027\004\019\000\027\004\020\000\027\004\
++\\021\000\027\004\022\000\027\004\023\000\027\004\024\000\027\004\
++\\030\000\027\004\035\000\027\004\036\000\027\004\041\000\027\004\
++\\043\000\027\004\049\000\027\004\050\000\027\004\051\000\027\004\
++\\060\000\027\004\081\000\027\004\100\000\027\004\101\000\027\004\
++\\123\000\027\004\124\000\027\004\125\000\027\004\127\000\027\004\
++\\128\000\027\004\129\000\027\004\130\000\027\004\131\000\027\004\
++\\132\000\027\004\000\000\
++\\001\000\009\000\028\004\011\000\028\004\012\000\028\004\013\000\028\004\
++\\014\000\028\004\018\000\028\004\019\000\028\004\020\000\028\004\
++\\021\000\028\004\022\000\028\004\023\000\028\004\024\000\028\004\
++\\030\000\028\004\035\000\028\004\036\000\028\004\041\000\028\004\
++\\043\000\028\004\049\000\028\004\050\000\028\004\051\000\028\004\
++\\060\000\028\004\081\000\028\004\100\000\028\004\101\000\028\004\
++\\123\000\028\004\124\000\028\004\125\000\028\004\127\000\028\004\
++\\128\000\028\004\129\000\028\004\130\000\028\004\131\000\028\004\
++\\132\000\028\004\000\000\
++\\001\000\009\000\029\004\011\000\029\004\012\000\029\004\013\000\029\004\
++\\014\000\029\004\015\000\191\001\018\000\029\004\019\000\029\004\
++\\020\000\029\004\021\000\029\004\022\000\029\004\023\000\029\004\
++\\024\000\029\004\030\000\029\004\035\000\029\004\036\000\029\004\
++\\041\000\029\004\043\000\029\004\049\000\029\004\050\000\029\004\
++\\051\000\029\004\060\000\029\004\081\000\029\004\100\000\029\004\
++\\101\000\029\004\123\000\029\004\124\000\029\004\125\000\029\004\
++\\127\000\029\004\128\000\029\004\129\000\029\004\130\000\029\004\
++\\131\000\029\004\132\000\029\004\000\000\
++\\001\000\009\000\030\004\011\000\030\004\012\000\030\004\013\000\030\004\
++\\014\000\030\004\018\000\030\004\019\000\030\004\020\000\030\004\
++\\021\000\030\004\022\000\030\004\023\000\030\004\024\000\030\004\
++\\030\000\030\004\035\000\030\004\036\000\030\004\041\000\030\004\
++\\043\000\030\004\049\000\030\004\050\000\030\004\051\000\030\004\
++\\060\000\030\004\081\000\030\004\100\000\030\004\101\000\030\004\
++\\123\000\030\004\124\000\030\004\125\000\030\004\127\000\030\004\
++\\128\000\030\004\129\000\030\004\130\000\030\004\131\000\030\004\
++\\132\000\030\004\000\000\
++\\001\000\009\000\031\004\011\000\031\004\012\000\031\004\013\000\031\004\
++\\014\000\031\004\018\000\031\004\019\000\031\004\020\000\031\004\
++\\021\000\031\004\022\000\031\004\023\000\031\004\024\000\031\004\
++\\030\000\031\004\035\000\031\004\036\000\031\004\041\000\031\004\
++\\043\000\031\004\049\000\031\004\050\000\031\004\051\000\031\004\
++\\060\000\031\004\081\000\031\004\100\000\031\004\101\000\031\004\
++\\123\000\031\004\124\000\031\004\125\000\031\004\127\000\031\004\
++\\128\000\031\004\129\000\031\004\130\000\031\004\131\000\031\004\
++\\132\000\031\004\000\000\
++\\001\000\009\000\032\004\011\000\032\004\012\000\032\004\013\000\032\004\
++\\014\000\032\004\018\000\032\004\019\000\032\004\020\000\032\004\
++\\021\000\032\004\022\000\032\004\023\000\032\004\024\000\032\004\
++\\030\000\032\004\035\000\032\004\036\000\032\004\041\000\032\004\
++\\043\000\032\004\049\000\032\004\050\000\032\004\051\000\032\004\
++\\060\000\032\004\081\000\032\004\100\000\032\004\101\000\032\004\
++\\123\000\032\004\124\000\032\004\125\000\032\004\127\000\032\004\
++\\128\000\032\004\129\000\032\004\130\000\032\004\131\000\032\004\
++\\132\000\032\004\000\000\
++\\001\000\009\000\033\004\011\000\033\004\012\000\033\004\013\000\033\004\
++\\014\000\033\004\018\000\033\004\019\000\033\004\020\000\033\004\
++\\021\000\033\004\022\000\033\004\023\000\033\004\024\000\033\004\
++\\030\000\033\004\035\000\033\004\036\000\033\004\041\000\033\004\
++\\043\000\033\004\049\000\033\004\050\000\033\004\051\000\033\004\
++\\060\000\033\004\081\000\033\004\100\000\033\004\101\000\033\004\
++\\123\000\033\004\124\000\033\004\125\000\033\004\127\000\033\004\
++\\128\000\033\004\129\000\033\004\130\000\033\004\131\000\033\004\
++\\132\000\033\004\000\000\
++\\001\000\009\000\034\004\011\000\034\004\012\000\034\004\013\000\034\004\
++\\014\000\034\004\018\000\034\004\019\000\034\004\020\000\034\004\
++\\021\000\034\004\022\000\034\004\023\000\034\004\024\000\034\004\
++\\030\000\034\004\035\000\034\004\036\000\034\004\041\000\034\004\
++\\043\000\034\004\049\000\034\004\050\000\034\004\051\000\034\004\
++\\060\000\034\004\081\000\034\004\100\000\034\004\101\000\034\004\
++\\123\000\034\004\124\000\034\004\125\000\034\004\127\000\034\004\
++\\128\000\034\004\129\000\034\004\130\000\034\004\131\000\034\004\
++\\132\000\034\004\000\000\
++\\001\000\009\000\035\004\011\000\035\004\012\000\035\004\013\000\035\004\
++\\014\000\035\004\018\000\035\004\019\000\035\004\020\000\035\004\
++\\021\000\035\004\022\000\035\004\023\000\035\004\024\000\035\004\
++\\030\000\035\004\035\000\035\004\036\000\035\004\041\000\035\004\
++\\043\000\035\004\049\000\035\004\050\000\035\004\051\000\035\004\
++\\060\000\035\004\081\000\035\004\100\000\035\004\101\000\035\004\
++\\123\000\035\004\124\000\035\004\125\000\035\004\127\000\035\004\
++\\128\000\035\004\129\000\035\004\130\000\035\004\131\000\035\004\
++\\132\000\035\004\000\000\
++\\001\000\009\000\036\004\011\000\036\004\012\000\036\004\013\000\036\004\
++\\014\000\036\004\018\000\036\004\019\000\036\004\020\000\036\004\
++\\021\000\036\004\022\000\036\004\023\000\036\004\024\000\036\004\
++\\030\000\036\004\035\000\036\004\036\000\036\004\041\000\036\004\
++\\043\000\036\004\049\000\036\004\050\000\036\004\051\000\036\004\
++\\060\000\036\004\081\000\036\004\100\000\036\004\101\000\036\004\
++\\123\000\036\004\124\000\036\004\125\000\036\004\127\000\036\004\
++\\128\000\036\004\129\000\036\004\130\000\036\004\131\000\036\004\
++\\132\000\036\004\000\000\
++\\001\000\009\000\037\004\011\000\037\004\012\000\037\004\013\000\037\004\
++\\014\000\037\004\018\000\037\004\019\000\037\004\020\000\037\004\
++\\021\000\037\004\022\000\037\004\023\000\037\004\024\000\037\004\
++\\030\000\037\004\035\000\037\004\036\000\037\004\041\000\037\004\
++\\043\000\037\004\049\000\037\004\050\000\037\004\051\000\037\004\
++\\060\000\037\004\081\000\037\004\100\000\037\004\101\000\037\004\
++\\123\000\037\004\124\000\037\004\125\000\037\004\127\000\037\004\
++\\128\000\037\004\129\000\037\004\130\000\037\004\131\000\037\004\
++\\132\000\037\004\000\000\
++\\001\000\009\000\038\004\011\000\038\004\012\000\038\004\013\000\038\004\
++\\014\000\038\004\015\000\098\002\018\000\038\004\019\000\038\004\
++\\020\000\038\004\021\000\038\004\022\000\038\004\023\000\038\004\
++\\024\000\038\004\030\000\038\004\035\000\038\004\036\000\038\004\
++\\041\000\038\004\043\000\038\004\049\000\038\004\050\000\038\004\
++\\051\000\038\004\060\000\038\004\081\000\038\004\100\000\038\004\
++\\101\000\038\004\123\000\038\004\124\000\038\004\125\000\038\004\
++\\127\000\038\004\128\000\038\004\129\000\038\004\130\000\038\004\
++\\131\000\038\004\132\000\038\004\000\000\
++\\001\000\009\000\039\004\011\000\039\004\012\000\039\004\013\000\039\004\
++\\014\000\039\004\018\000\039\004\019\000\039\004\020\000\039\004\
++\\021\000\039\004\022\000\039\004\023\000\039\004\024\000\039\004\
++\\030\000\039\004\035\000\039\004\036\000\039\004\041\000\039\004\
++\\043\000\039\004\049\000\039\004\050\000\039\004\051\000\039\004\
++\\060\000\039\004\081\000\039\004\100\000\039\004\101\000\039\004\
++\\123\000\039\004\124\000\039\004\125\000\039\004\127\000\039\004\
++\\128\000\039\004\129\000\039\004\130\000\039\004\131\000\039\004\
++\\132\000\039\004\000\000\
++\\001\000\009\000\040\004\011\000\040\004\012\000\040\004\013\000\040\004\
++\\014\000\040\004\018\000\040\004\019\000\040\004\020\000\040\004\
++\\021\000\040\004\022\000\040\004\023\000\040\004\024\000\040\004\
++\\030\000\040\004\035\000\040\004\036\000\040\004\041\000\040\004\
++\\043\000\040\004\049\000\040\004\050\000\040\004\051\000\040\004\
++\\060\000\040\004\081\000\040\004\100\000\040\004\101\000\040\004\
++\\123\000\040\004\124\000\040\004\125\000\040\004\127\000\040\004\
++\\128\000\040\004\129\000\040\004\130\000\040\004\131\000\040\004\
++\\132\000\040\004\000\000\
++\\001\000\009\000\045\004\011\000\045\004\012\000\045\004\013\000\045\004\
++\\014\000\045\004\018\000\045\004\019\000\045\004\020\000\045\004\
++\\021\000\045\004\022\000\045\004\023\000\045\004\024\000\045\004\
++\\030\000\045\004\035\000\045\004\036\000\045\004\041\000\045\004\
++\\043\000\045\004\049\000\045\004\050\000\045\004\051\000\045\004\
++\\060\000\045\004\081\000\045\004\100\000\045\004\101\000\045\004\
++\\123\000\045\004\124\000\045\004\125\000\045\004\127\000\045\004\
++\\128\000\045\004\129\000\045\004\130\000\045\004\131\000\045\004\
++\\132\000\045\004\000\000\
++\\001\000\009\000\046\004\011\000\046\004\012\000\046\004\013\000\046\004\
++\\014\000\046\004\015\000\186\000\018\000\046\004\019\000\046\004\
++\\020\000\046\004\021\000\046\004\022\000\046\004\023\000\046\004\
++\\024\000\046\004\030\000\046\004\035\000\046\004\036\000\046\004\
++\\041\000\046\004\043\000\046\004\049\000\046\004\050\000\046\004\
++\\051\000\046\004\060\000\046\004\081\000\046\004\100\000\046\004\
++\\101\000\046\004\123\000\046\004\124\000\046\004\125\000\046\004\
++\\127\000\046\004\128\000\046\004\129\000\046\004\130\000\046\004\
++\\131\000\046\004\132\000\046\004\000\000\
++\\001\000\009\000\046\004\011\000\074\000\013\000\073\000\014\000\072\000\
++\\015\000\186\000\018\000\046\004\019\000\046\004\021\000\046\004\
++\\023\000\046\004\030\000\052\000\036\000\100\003\049\000\046\004\
++\\050\000\046\004\051\000\046\004\081\000\046\004\100\000\046\004\
++\\101\000\046\004\124\000\051\000\125\000\050\000\127\000\046\004\
++\\128\000\046\004\129\000\046\004\130\000\046\004\131\000\046\004\
++\\132\000\046\004\000\000\
++\\001\000\009\000\047\004\011\000\047\004\012\000\047\004\013\000\047\004\
++\\014\000\047\004\018\000\047\004\019\000\047\004\020\000\047\004\
++\\021\000\047\004\022\000\047\004\023\000\047\004\024\000\047\004\
++\\030\000\047\004\035\000\047\004\036\000\047\004\041\000\047\004\
++\\043\000\047\004\049\000\047\004\050\000\047\004\051\000\047\004\
++\\060\000\047\004\081\000\047\004\100\000\047\004\101\000\047\004\
++\\123\000\047\004\124\000\047\004\125\000\047\004\127\000\047\004\
++\\128\000\047\004\129\000\047\004\130\000\047\004\131\000\047\004\
++\\132\000\047\004\000\000\
++\\001\000\009\000\048\004\011\000\048\004\012\000\048\004\013\000\048\004\
++\\014\000\048\004\018\000\048\004\019\000\048\004\020\000\048\004\
++\\021\000\048\004\022\000\048\004\023\000\048\004\024\000\048\004\
++\\030\000\048\004\035\000\048\004\036\000\048\004\041\000\048\004\
++\\043\000\048\004\049\000\048\004\050\000\048\004\051\000\048\004\
++\\060\000\048\004\081\000\048\004\100\000\048\004\101\000\048\004\
++\\123\000\048\004\124\000\048\004\125\000\048\004\127\000\048\004\
++\\128\000\048\004\129\000\048\004\130\000\048\004\131\000\048\004\
++\\132\000\048\004\000\000\
++\\001\000\009\000\049\004\011\000\049\004\012\000\049\004\013\000\049\004\
++\\014\000\049\004\018\000\049\004\019\000\049\004\020\000\049\004\
++\\021\000\049\004\022\000\049\004\023\000\049\004\024\000\049\004\
++\\030\000\049\004\035\000\049\004\036\000\049\004\041\000\049\004\
++\\043\000\049\004\049\000\049\004\050\000\049\004\051\000\049\004\
++\\060\000\049\004\081\000\049\004\100\000\049\004\101\000\049\004\
++\\123\000\049\004\124\000\049\004\125\000\049\004\127\000\049\004\
++\\128\000\049\004\129\000\049\004\130\000\049\004\131\000\049\004\
++\\132\000\049\004\000\000\
++\\001\000\009\000\050\004\011\000\074\000\012\000\050\004\013\000\073\000\
++\\014\000\072\000\018\000\105\000\019\000\104\000\020\000\050\004\
++\\021\000\103\000\022\000\050\004\023\000\102\000\024\000\050\004\
++\\030\000\052\000\035\000\050\004\036\000\050\004\041\000\050\004\
++\\043\000\050\004\049\000\101\000\050\000\100\000\051\000\099\000\
++\\060\000\050\004\081\000\130\000\100\000\098\000\101\000\097\000\
++\\123\000\050\004\124\000\051\000\125\000\050\000\127\000\096\000\
++\\128\000\066\000\129\000\095\000\130\000\094\000\131\000\093\000\
++\\132\000\092\000\000\000\
++\\001\000\009\000\051\004\012\000\051\004\020\000\051\004\022\000\051\004\
++\\024\000\051\004\035\000\051\004\036\000\051\004\041\000\051\004\
++\\043\000\051\004\060\000\051\004\123\000\051\004\000\000\
++\\001\000\009\000\054\004\000\000\
++\\001\000\009\000\055\004\000\000\
++\\001\000\009\000\072\004\123\000\206\001\000\000\
++\\001\000\009\000\073\004\043\000\073\004\000\000\
++\\001\000\009\000\079\004\036\000\089\001\123\000\079\004\000\000\
++\\001\000\009\000\080\004\042\000\134\001\123\000\080\004\000\000\
++\\001\000\009\000\081\004\011\000\074\000\013\000\073\000\014\000\072\000\
++\\018\000\105\000\019\000\104\000\021\000\103\000\023\000\102\000\
++\\030\000\052\000\036\000\081\004\049\000\101\000\050\000\100\000\
++\\051\000\099\000\060\000\220\000\081\000\130\000\100\000\098\000\
++\\101\000\097\000\123\000\081\004\124\000\051\000\125\000\050\000\
++\\127\000\096\000\128\000\066\000\129\000\095\000\130\000\094\000\
++\\131\000\093\000\132\000\092\000\000\000\
++\\001\000\009\000\082\004\036\000\082\004\123\000\082\004\000\000\
++\\001\000\009\000\151\004\011\000\151\004\012\000\151\004\013\000\151\004\
++\\014\000\151\004\015\000\151\004\018\000\151\004\019\000\151\004\
++\\020\000\151\004\021\000\151\004\022\000\151\004\023\000\151\004\
++\\024\000\151\004\030\000\151\004\035\000\151\004\036\000\151\004\
++\\038\000\188\000\041\000\151\004\043\000\151\004\049\000\151\004\
++\\050\000\151\004\051\000\151\004\060\000\151\004\074\000\215\000\
++\\081\000\151\004\100\000\151\004\101\000\151\004\123\000\151\004\
++\\124\000\151\004\125\000\151\004\127\000\151\004\128\000\151\004\
++\\129\000\151\004\130\000\151\004\131\000\151\004\132\000\151\004\000\000\
++\\001\000\009\000\152\004\010\000\152\004\011\000\152\004\013\000\152\004\
++\\014\000\152\004\015\000\152\004\016\000\152\004\018\000\152\004\
++\\019\000\152\004\020\000\018\002\021\000\152\004\023\000\152\004\
++\\025\000\152\004\026\000\152\004\030\000\152\004\034\000\152\004\
++\\035\000\152\004\036\000\152\004\040\000\152\004\049\000\152\004\
++\\050\000\152\004\053\000\152\004\054\000\152\004\081\000\152\004\
++\\100\000\152\004\101\000\152\004\124\000\152\004\125\000\152\004\
++\\127\000\152\004\128\000\152\004\129\000\152\004\130\000\152\004\
++\\131\000\152\004\132\000\152\004\000\000\
++\\001\000\009\000\183\000\000\000\
++\\001\000\009\000\212\000\000\000\
++\\001\000\009\000\229\000\000\000\
++\\001\000\009\000\231\000\000\000\
++\\001\000\009\000\233\000\019\000\232\000\000\000\
++\\001\000\009\000\237\000\036\000\236\000\037\000\235\000\000\000\
++\\001\000\009\000\240\000\011\000\074\000\013\000\073\000\014\000\072\000\
++\\018\000\105\000\019\000\104\000\021\000\103\000\023\000\102\000\
++\\030\000\052\000\049\000\101\000\050\000\100\000\051\000\099\000\
++\\081\000\130\000\100\000\098\000\101\000\097\000\124\000\051\000\
++\\125\000\050\000\127\000\096\000\128\000\066\000\129\000\095\000\
++\\130\000\094\000\131\000\093\000\132\000\092\000\000\000\
++\\001\000\009\000\242\000\000\000\
++\\001\000\009\000\003\001\000\000\
++\\001\000\009\000\020\001\000\000\
++\\001\000\009\000\060\001\024\000\066\004\035\000\066\004\060\000\059\001\
++\\074\000\058\001\000\000\
++\\001\000\009\000\075\001\000\000\
++\\001\000\009\000\111\001\000\000\
++\\001\000\009\000\116\001\000\000\
++\\001\000\009\000\120\001\000\000\
++\\001\000\009\000\202\001\000\000\
++\\001\000\009\000\010\002\024\000\006\004\035\000\006\004\000\000\
++\\001\000\009\000\026\002\000\000\
++\\001\000\009\000\038\002\000\000\
++\\001\000\009\000\040\002\000\000\
++\\001\000\009\000\056\002\036\000\222\001\037\000\235\000\000\000\
++\\001\000\009\000\119\002\000\000\
++\\001\000\009\000\125\002\000\000\
++\\001\000\009\000\209\002\024\000\214\003\035\000\214\003\000\000\
++\\001\000\009\000\244\002\000\000\
++\\001\000\010\000\017\001\019\000\016\001\020\000\144\001\023\000\015\001\
++\\030\000\052\000\034\000\014\001\045\000\248\000\062\000\247\000\
++\\064\000\246\000\124\000\051\000\125\000\050\000\126\000\160\000\000\000\
++\\001\000\010\000\017\001\019\000\016\001\023\000\015\001\030\000\052\000\
++\\034\000\014\001\045\000\248\000\062\000\247\000\064\000\246\000\
++\\124\000\051\000\125\000\050\000\126\000\160\000\000\000\
++\\001\000\010\000\119\001\000\000\
++\\001\000\010\000\225\002\000\000\
++\\001\000\011\000\040\003\015\000\040\003\020\000\040\003\022\000\040\003\
++\\035\000\040\003\000\000\
++\\001\000\011\000\042\003\015\000\042\003\020\000\042\003\022\000\042\003\
++\\035\000\042\003\000\000\
++\\001\000\011\000\043\003\015\000\043\003\020\000\043\003\022\000\043\003\
++\\035\000\043\003\000\000\
++\\001\000\011\000\111\003\013\000\111\003\014\000\111\003\017\000\111\003\
++\\030\000\111\003\034\000\111\003\124\000\111\003\125\000\111\003\
++\\131\000\111\003\000\000\
++\\001\000\011\000\112\003\013\000\112\003\014\000\112\003\017\000\112\003\
++\\030\000\112\003\034\000\112\003\124\000\112\003\125\000\112\003\
++\\131\000\112\003\000\000\
++\\001\000\011\000\113\003\013\000\113\003\014\000\113\003\017\000\113\003\
++\\030\000\113\003\034\000\113\003\124\000\113\003\125\000\113\003\
++\\131\000\113\003\000\000\
++\\001\000\011\000\131\004\013\000\131\004\014\000\131\004\030\000\131\004\
++\\124\000\131\004\125\000\131\004\000\000\
++\\001\000\011\000\132\004\013\000\132\004\014\000\132\004\030\000\132\004\
++\\124\000\132\004\125\000\132\004\128\000\066\000\000\000\
++\\001\000\011\000\151\004\013\000\151\004\014\000\151\004\015\000\151\004\
++\\023\000\189\000\030\000\151\004\036\000\151\004\038\000\188\000\
++\\074\000\187\000\124\000\151\004\125\000\151\004\000\000\
++\\001\000\011\000\074\000\013\000\073\000\014\000\072\000\000\000\
++\\001\000\011\000\074\000\013\000\073\000\014\000\072\000\015\000\186\000\
++\\030\000\052\000\036\000\100\003\124\000\051\000\125\000\050\000\000\000\
++\\001\000\011\000\074\000\013\000\073\000\014\000\072\000\017\000\109\003\
++\\030\000\052\000\034\000\181\001\124\000\051\000\125\000\050\000\
++\\131\000\093\000\000\000\
++\\001\000\011\000\074\000\013\000\073\000\014\000\072\000\018\000\105\000\
++\\019\000\104\000\020\000\202\000\021\000\103\000\023\000\102\000\
++\\030\000\052\000\049\000\101\000\050\000\100\000\051\000\099\000\
++\\081\000\130\000\100\000\098\000\101\000\097\000\124\000\051\000\
++\\125\000\050\000\127\000\096\000\128\000\066\000\129\000\095\000\
++\\130\000\094\000\131\000\093\000\132\000\092\000\000\000\
++\\001\000\011\000\074\000\013\000\073\000\014\000\072\000\018\000\105\000\
++\\019\000\104\000\021\000\103\000\022\000\056\004\023\000\102\000\
++\\030\000\052\000\049\000\101\000\050\000\100\000\051\000\099\000\
++\\081\000\130\000\100\000\098\000\101\000\097\000\124\000\051\000\
++\\125\000\050\000\127\000\096\000\128\000\066\000\129\000\095\000\
++\\130\000\094\000\131\000\093\000\132\000\092\000\000\000\
++\\001\000\011\000\074\000\013\000\073\000\014\000\072\000\018\000\105\000\
++\\019\000\104\000\021\000\103\000\023\000\102\000\030\000\052\000\
++\\049\000\101\000\050\000\100\000\051\000\099\000\081\000\130\000\
++\\100\000\098\000\101\000\097\000\124\000\051\000\125\000\050\000\
++\\127\000\096\000\128\000\066\000\129\000\095\000\130\000\094\000\
++\\131\000\093\000\132\000\092\000\000\000\
++\\001\000\011\000\074\000\013\000\073\000\014\000\072\000\018\000\105\000\
++\\019\000\104\000\021\000\103\000\023\000\102\000\030\000\052\000\
++\\049\000\101\000\050\000\100\000\051\000\099\000\100\000\098\000\
++\\101\000\097\000\124\000\051\000\125\000\050\000\127\000\096\000\
++\\128\000\066\000\129\000\095\000\130\000\094\000\131\000\093\000\
++\\132\000\092\000\000\000\
++\\001\000\011\000\074\000\013\000\073\000\014\000\072\000\024\000\061\004\
++\\030\000\052\000\124\000\051\000\125\000\050\000\000\000\
++\\001\000\011\000\074\000\013\000\073\000\014\000\072\000\030\000\052\000\
++\\034\000\181\001\124\000\051\000\125\000\050\000\131\000\093\000\000\000\
++\\001\000\011\000\074\000\013\000\073\000\014\000\072\000\030\000\052\000\
++\\039\000\187\001\124\000\051\000\125\000\050\000\000\000\
++\\001\000\011\000\074\000\013\000\073\000\014\000\072\000\030\000\052\000\
++\\073\000\141\000\124\000\051\000\125\000\050\000\000\000\
++\\001\000\011\000\074\000\013\000\073\000\014\000\072\000\030\000\052\000\
++\\124\000\051\000\125\000\050\000\000\000\
++\\001\000\011\000\104\002\015\000\103\002\020\000\041\003\022\000\041\003\
++\\035\000\041\003\000\000\
++\\001\000\011\000\104\002\015\000\103\002\020\000\145\002\000\000\
++\\001\000\011\000\104\002\015\000\103\002\022\000\038\003\035\000\102\002\000\000\
++\\001\000\012\000\052\004\020\000\052\004\022\000\052\004\024\000\052\004\
++\\035\000\052\004\036\000\052\004\041\000\052\004\043\000\052\004\
++\\060\000\052\004\123\000\052\004\000\000\
++\\001\000\012\000\053\004\020\000\053\004\022\000\053\004\024\000\053\004\
++\\035\000\053\004\036\000\053\004\041\000\053\004\042\000\134\001\
++\\043\000\053\004\060\000\053\004\123\000\053\004\000\000\
++\\001\000\012\000\143\004\053\000\148\001\108\000\143\004\000\000\
++\\001\000\012\000\071\001\020\000\043\004\036\000\062\001\000\000\
++\\001\000\012\000\071\001\020\000\070\001\035\000\069\001\036\000\062\001\
++\\041\000\068\001\060\000\067\001\000\000\
++\\001\000\012\000\233\002\108\000\141\004\000\000\
++\\001\000\014\000\152\002\030\000\052\000\049\000\101\000\050\000\100\000\
++\\100\000\098\000\101\000\097\000\124\000\051\000\125\000\050\000\000\000\
++\\001\000\014\000\152\002\030\000\052\000\050\000\176\002\124\000\051\000\
++\\125\000\050\000\000\000\
++\\001\000\015\000\151\004\038\000\188\000\074\000\187\000\000\000\
++\\001\000\015\000\186\000\000\000\
++\\001\000\017\000\110\003\000\000\
++\\001\000\017\000\020\002\000\000\
++\\001\000\019\000\162\000\030\000\190\003\034\000\161\000\045\000\190\003\
++\\062\000\190\003\064\000\190\003\124\000\190\003\125\000\190\003\
++\\126\000\160\000\000\000\
++\\001\000\019\000\162\000\030\000\190\003\034\000\161\000\124\000\190\003\
++\\125\000\190\003\126\000\160\000\000\000\
++\\001\000\019\000\090\001\000\000\
++\\001\000\019\000\035\002\022\000\036\003\030\000\052\000\124\000\051\000\
++\\125\000\050\000\000\000\
++\\001\000\019\000\035\002\030\000\052\000\124\000\051\000\125\000\050\000\000\000\
++\\001\000\019\000\232\002\131\000\093\000\000\000\
++\\001\000\020\000\079\003\000\000\
++\\001\000\020\000\080\003\000\000\
++\\001\000\020\000\193\003\035\000\124\001\000\000\
++\\001\000\020\000\194\003\000\000\
++\\001\000\020\000\017\004\025\000\115\002\035\000\015\002\036\000\204\001\000\000\
++\\001\000\020\000\019\004\000\000\
++\\001\000\020\000\020\004\022\000\020\004\035\000\012\002\036\000\204\001\000\000\
++\\001\000\020\000\021\004\022\000\021\004\000\000\
++\\001\000\020\000\022\004\000\000\
++\\001\000\020\000\041\004\036\000\062\001\041\000\068\001\000\000\
++\\001\000\020\000\042\004\000\000\
++\\001\000\020\000\044\004\000\000\
++\\001\000\020\000\058\004\022\000\058\004\035\000\063\001\036\000\062\001\000\000\
++\\001\000\020\000\059\004\022\000\059\004\000\000\
++\\001\000\020\000\060\004\000\000\
++\\001\000\020\000\104\004\035\000\247\001\042\000\134\001\000\000\
++\\001\000\020\000\105\004\000\000\
++\\001\000\020\000\064\001\000\000\
++\\001\000\020\000\065\001\000\000\
++\\001\000\020\000\066\001\000\000\
++\\001\000\020\000\123\001\000\000\
++\\001\000\020\000\220\001\000\000\
++\\001\000\020\000\246\001\000\000\
++\\001\000\020\000\248\001\035\000\247\001\042\000\134\001\000\000\
++\\001\000\020\000\013\002\000\000\
++\\001\000\020\000\014\002\000\000\
++\\001\000\020\000\017\002\025\000\016\002\035\000\015\002\036\000\204\001\000\000\
++\\001\000\020\000\042\002\036\000\204\001\000\000\
++\\001\000\020\000\113\002\000\000\
++\\001\000\020\000\114\002\000\000\
++\\001\000\020\000\121\002\000\000\
++\\001\000\020\000\122\002\000\000\
++\\001\000\020\000\141\002\036\000\062\001\000\000\
++\\001\000\020\000\241\002\053\000\148\001\000\000\
++\\001\000\021\000\050\001\000\000\
++\\001\000\021\000\147\001\000\000\
++\\001\000\021\000\200\001\000\000\
++\\001\000\021\000\254\001\000\000\
++\\001\000\021\000\255\001\000\000\
++\\001\000\021\000\023\002\000\000\
++\\001\000\021\000\061\002\000\000\
++\\001\000\021\000\239\002\000\000\
++\\001\000\022\000\026\003\035\000\075\002\000\000\
++\\001\000\022\000\027\003\000\000\
++\\001\000\022\000\028\003\035\000\028\003\000\000\
++\\001\000\022\000\029\003\035\000\029\003\000\000\
++\\001\000\022\000\037\003\000\000\
++\\001\000\022\000\039\003\000\000\
++\\001\000\022\000\128\003\035\000\066\002\000\000\
++\\001\000\022\000\129\003\000\000\
++\\001\000\022\000\130\003\035\000\130\003\039\000\068\002\128\000\066\000\000\000\
++\\001\000\022\000\131\003\035\000\131\003\000\000\
++\\001\000\022\000\132\003\035\000\132\003\000\000\
++\\001\000\022\000\251\003\036\000\139\002\053\000\148\001\000\000\
++\\001\000\022\000\252\003\000\000\
++\\001\000\022\000\024\004\000\000\
++\\001\000\022\000\057\004\000\000\
++\\001\000\022\000\123\004\000\000\
++\\001\000\022\000\124\004\128\000\066\000\000\000\
++\\001\000\022\000\144\004\035\000\131\002\000\000\
++\\001\000\022\000\145\004\000\000\
++\\001\000\022\000\146\004\035\000\146\004\000\000\
++\\001\000\022\000\147\004\035\000\147\004\039\000\132\002\000\000\
++\\001\000\022\000\061\001\000\000\
++\\001\000\022\000\072\001\000\000\
++\\001\000\022\000\011\002\000\000\
++\\001\000\022\000\019\002\000\000\
++\\001\000\022\000\025\002\000\000\
++\\001\000\022\000\065\002\000\000\
++\\001\000\022\000\076\002\000\000\
++\\001\000\022\000\105\002\000\000\
++\\001\000\022\000\130\002\000\000\
++\\001\000\022\000\133\002\000\000\
++\\001\000\022\000\162\002\000\000\
++\\001\000\022\000\171\002\000\000\
++\\001\000\022\000\243\002\000\000\
++\\001\000\023\000\184\003\000\000\
++\\001\000\023\000\219\001\000\000\
++\\001\000\023\000\045\002\000\000\
++\\001\000\024\000\200\003\035\000\118\002\000\000\
++\\001\000\024\000\201\003\000\000\
++\\001\000\024\000\202\003\035\000\202\003\000\000\
++\\001\000\024\000\203\003\035\000\203\003\036\000\204\003\000\000\
++\\001\000\024\000\215\003\035\000\215\003\000\000\
++\\001\000\024\000\001\004\030\000\052\000\124\000\051\000\125\000\050\000\000\000\
++\\001\000\024\000\002\004\000\000\
++\\001\000\024\000\003\004\035\000\008\002\000\000\
++\\001\000\024\000\004\004\000\000\
++\\001\000\024\000\005\004\035\000\005\004\036\000\204\001\000\000\
++\\001\000\024\000\062\004\000\000\
++\\001\000\024\000\063\004\035\000\057\001\000\000\
++\\001\000\024\000\064\004\000\000\
++\\001\000\024\000\065\004\000\000\
++\\001\000\024\000\067\004\035\000\067\004\036\000\062\001\000\000\
++\\001\000\024\000\068\004\035\000\068\004\036\000\062\001\000\000\
++\\001\000\024\000\070\004\035\000\070\004\036\000\062\001\000\000\
++\\001\000\024\000\109\004\030\000\052\000\124\000\051\000\125\000\050\000\000\000\
++\\001\000\024\000\110\004\000\000\
++\\001\000\024\000\111\004\035\000\244\001\000\000\
++\\001\000\024\000\112\004\000\000\
++\\001\000\024\000\113\004\035\000\113\004\042\000\134\001\000\000\
++\\001\000\024\000\056\001\000\000\
++\\001\000\024\000\185\001\000\000\
++\\001\000\024\000\243\001\000\000\
++\\001\000\024\000\009\002\000\000\
++\\001\000\024\000\116\002\000\000\
++\\001\000\024\000\153\002\000\000\
++\\001\000\027\000\179\003\028\000\163\001\133\000\162\001\000\000\
++\\001\000\027\000\180\003\000\000\
++\\001\000\027\000\181\003\028\000\181\003\133\000\181\003\000\000\
++\\001\000\027\000\182\003\028\000\182\003\133\000\182\003\000\000\
++\\001\000\027\000\006\002\000\000\
++\\001\000\028\000\163\001\133\000\162\001\000\000\
++\\001\000\029\000\089\002\053\000\148\001\000\000\
++\\001\000\030\000\191\003\045\000\191\003\062\000\191\003\064\000\191\003\
++\\124\000\191\003\125\000\191\003\000\000\
++\\001\000\030\000\192\003\045\000\192\003\062\000\192\003\064\000\192\003\
++\\124\000\192\003\125\000\192\003\000\000\
++\\001\000\030\000\052\000\045\000\248\000\062\000\247\000\064\000\246\000\
++\\124\000\051\000\125\000\050\000\000\000\
++\\001\000\030\000\052\000\051\000\054\002\124\000\051\000\125\000\050\000\000\000\
++\\001\000\030\000\052\000\058\000\120\000\124\000\051\000\125\000\050\000\000\000\
++\\001\000\030\000\052\000\058\000\120\000\124\000\051\000\125\000\050\000\
++\\131\000\093\000\000\000\
++\\001\000\030\000\052\000\059\000\110\001\124\000\051\000\125\000\050\000\000\000\
++\\001\000\030\000\052\000\124\000\051\000\125\000\050\000\000\000\
++\\001\000\030\000\052\000\124\000\051\000\125\000\050\000\128\000\066\000\000\000\
++\\001\000\034\000\161\000\126\000\160\000\000\000\
++\\001\000\036\000\205\003\000\000\
++\\001\000\036\000\185\000\000\000\
++\\001\000\036\000\214\000\000\000\
++\\001\000\036\000\062\001\043\000\074\004\060\000\004\002\123\000\074\004\000\000\
++\\001\000\036\000\204\001\043\000\075\004\123\000\075\004\000\000\
++\\001\000\036\000\204\001\047\000\001\002\000\000\
++\\001\000\036\000\204\001\048\000\135\002\000\000\
++\\001\000\036\000\222\001\037\000\235\000\000\000\
++\\001\000\036\000\245\001\000\000\
++\\001\000\036\000\117\002\000\000\
++\\001\000\036\000\229\002\000\000\
++\\001\000\036\000\235\002\000\000\
++\\001\000\039\000\127\002\000\000\
++\\001\000\043\000\072\004\123\000\206\001\000\000\
++\\001\000\043\000\136\002\000\000\
++\\001\000\045\000\119\004\115\000\214\002\000\000\
++\\001\000\045\000\120\004\000\000\
++\\001\000\045\000\098\001\000\000\
++\\001\000\045\000\226\002\000\000\
++\\001\000\049\000\101\000\050\000\100\000\100\000\098\000\101\000\097\000\000\000\
++\\001\000\059\000\131\001\000\000\
++\\001\000\060\000\121\004\108\000\121\004\116\000\121\004\000\000\
++\\001\000\060\000\135\004\108\000\135\004\116\000\200\002\000\000\
++\\001\000\060\000\136\004\108\000\136\004\000\000\
++\\001\000\060\000\211\002\108\000\139\004\000\000\
++\\001\000\084\000\111\000\000\000\
++\\001\000\084\000\112\000\000\000\
++\\001\000\093\000\104\003\000\000\
++\\001\000\093\000\105\003\000\000\
++\\001\000\093\000\106\003\000\000\
++\\001\000\093\000\042\000\000\000\
++\\001\000\096\000\217\002\000\000\
++\\001\000\108\000\140\004\000\000\
++\\001\000\108\000\142\004\000\000\
++\\001\000\108\000\222\002\000\000\
++\\001\000\114\000\204\002\000\000\
++\\001\000\127\000\096\000\128\000\066\000\000\000\
++\\001\000\128\000\024\003\131\000\093\000\000\000\
++\\001\000\128\000\025\003\000\000\
++\\001\000\128\000\066\000\000\000\
++\\001\000\134\000\000\000\000\000\
++\\001\000\134\000\247\002\000\000\
++\"
++val actionRowNumbers =
++"\013\001\057\002\006\000\000\000\
++\\005\000\000\000\010\001\068\002\
++\\024\002\024\002\024\002\024\002\
++\\024\002\124\001\124\001\137\001\
++\\132\001\056\002\055\002\054\002\
++\\024\002\052\002\053\002\024\002\
++\\022\002\131\001\131\001\011\000\
++\\010\000\136\001\035\001\024\002\
++\\024\002\024\002\024\002\024\002\
++\\153\001\154\001\083\000\024\002\
++\\012\000\003\000\000\000\002\000\
++\\014\001\063\000\064\000\066\000\
++\\246\000\245\000\247\000\037\000\
++\\036\000\034\000\022\000\131\001\
++\\025\000\020\000\064\002\019\000\
++\\023\000\018\000\137\001\123\001\
++\\240\000\137\001\060\000\250\000\
++\\085\000\249\000\252\000\253\000\
++\\251\000\007\001\008\001\055\001\
++\\167\000\166\000\165\000\168\000\
++\\164\000\163\000\162\000\088\001\
++\\078\001\000\001\028\002\054\001\
++\\127\001\125\001\006\001\005\001\
++\\242\000\241\000\239\000\117\000\
++\\115\000\056\001\116\000\114\000\
++\\133\001\130\001\129\001\130\001\
++\\031\000\030\000\028\000\021\000\
++\\131\001\009\000\008\000\061\000\
++\\255\000\087\000\254\000\062\000\
++\\000\000\069\000\011\001\046\000\
++\\159\000\089\001\076\001\074\001\
++\\070\001\029\002\072\001\086\001\
++\\137\001\042\000\156\000\158\000\
++\\206\000\084\001\071\001\248\000\
++\\099\000\017\000\108\000\025\002\
++\\079\000\057\000\076\000\090\001\
++\\024\002\091\001\092\001\093\001\
++\\016\000\237\000\094\001\015\000\
++\\232\000\095\001\019\002\017\002\
++\\146\000\041\000\003\001\024\002\
++\\026\002\024\002\095\000\144\000\
++\\009\001\024\001\096\001\001\000\
++\\024\002\024\002\114\001\024\002\
++\\024\002\097\001\024\002\066\002\
++\\064\002\024\002\059\000\058\000\
++\\086\000\033\001\137\001\114\001\
++\\193\001\132\001\137\001\133\001\
++\\248\001\004\002\249\001\098\001\
++\\215\001\222\001\171\001\141\001\
++\\176\001\177\001\178\001\145\001\
++\\057\001\223\001\024\002\024\002\
++\\099\001\088\000\036\001\004\000\
++\\019\001\131\001\033\001\075\001\
++\\114\001\131\001\073\001\131\001\
++\\131\001\082\001\155\001\137\001\
++\\138\000\114\001\014\000\149\000\
++\\044\002\028\001\035\001\024\002\
++\\078\000\021\002\084\000\023\002\
++\\100\001\021\002\021\002\023\002\
++\\024\002\101\001\033\001\024\002\
++\\115\001\219\000\048\000\218\000\
++\\221\000\222\000\220\000\153\001\
++\\004\001\179\001\161\001\043\001\
++\\154\001\040\000\153\001\016\001\
++\\082\000\047\002\065\000\068\000\
++\\210\000\228\000\229\000\215\000\
++\\067\000\224\000\208\000\223\000\
++\\025\002\255\001\113\001\024\002\
++\\038\000\035\000\033\001\026\000\
++\\194\001\065\002\024\000\174\000\
++\\169\000\044\000\194\000\192\000\
++\\188\000\170\000\189\000\126\001\
++\\012\001\033\001\033\001\024\002\
++\\131\001\015\002\243\001\032\001\
++\\031\001\032\001\134\001\024\002\
++\\190\000\033\001\002\001\045\000\
++\\130\001\079\001\150\001\149\001\
++\\001\001\005\002\066\001\135\001\
++\\131\001\033\001\131\001\058\001\
++\\114\001\131\001\062\001\061\001\
++\\060\001\033\001\131\001\131\001\
++\\063\001\131\001\059\001\032\000\
++\\029\000\195\001\071\000\072\000\
++\\103\001\024\002\070\000\160\000\
++\\161\000\200\000\047\000\077\001\
++\\157\000\207\000\080\001\114\001\
++\\033\001\100\000\140\000\132\000\
++\\139\000\033\001\109\000\024\002\
++\\024\002\236\001\235\001\077\000\
++\\081\000\080\000\053\000\180\001\
++\\159\001\034\002\091\000\056\000\
++\\082\000\023\002\038\001\052\000\
++\\050\000\238\000\033\001\235\000\
++\\233\000\024\002\114\001\019\002\
++\\147\000\018\002\026\002\041\001\
++\\066\002\096\000\145\000\015\001\
++\\020\001\011\001\216\000\114\001\
++\\114\001\019\002\019\002\209\000\
++\\000\002\006\002\001\002\035\002\
++\\181\001\182\001\212\000\211\000\
++\\039\000\025\002\131\001\193\000\
++\\196\001\197\001\172\000\025\001\
++\\199\000\032\002\171\000\197\000\
++\\203\000\030\002\010\002\014\002\
++\\013\002\033\001\245\001\244\001\
++\\007\002\104\001\214\001\224\001\
++\\165\001\183\001\184\001\185\001\
++\\087\001\175\000\225\001\152\001\
++\\128\001\120\001\121\001\024\002\
++\\198\001\029\001\226\001\105\001\
++\\251\001\250\001\253\001\026\001\
++\\252\001\137\001\142\001\172\001\
++\\027\001\169\001\168\001\173\001\
++\\170\001\144\001\156\001\036\001\
++\\023\002\106\001\114\001\107\001\
++\\024\002\083\001\186\001\090\000\
++\\154\000\133\000\155\000\237\001\
++\\033\001\033\001\141\000\150\000\
++\\013\000\020\002\108\001\160\001\
++\\021\002\084\000\021\001\051\000\
++\\236\000\199\001\148\000\102\001\
++\\162\001\040\001\024\002\227\001\
++\\207\001\209\001\049\000\022\001\
++\\231\000\230\000\227\000\226\000\
++\\225\000\214\000\024\002\114\001\
++\\019\002\114\001\213\000\201\001\
++\\228\001\024\002\204\001\198\000\
++\\066\002\032\001\033\001\033\001\
++\\131\001\040\002\033\001\011\002\
++\\142\000\016\002\024\002\181\000\
++\\033\001\179\000\033\001\178\000\
++\\177\000\033\001\033\001\176\000\
++\\173\000\180\000\183\000\151\001\
++\\122\001\033\001\131\001\067\001\
++\\033\001\131\001\069\001\064\001\
++\\131\001\140\001\205\001\229\001\
++\\117\001\157\001\073\000\075\000\
++\\114\001\201\000\033\001\081\001\
++\\085\001\110\000\033\001\243\001\
++\\137\000\187\001\188\001\163\001\
++\\008\002\036\002\238\001\241\001\
++\\027\002\109\001\023\002\037\001\
++\\189\001\190\001\092\000\217\001\
++\\110\001\039\001\042\001\044\001\
++\\066\002\039\002\066\002\007\000\
++\\002\002\003\002\217\000\175\001\
++\\174\001\025\002\027\000\203\001\
++\\230\001\218\001\221\001\231\001\
++\\023\001\017\001\033\002\204\000\
++\\041\002\031\002\143\000\012\002\
++\\246\001\247\001\137\001\166\001\
++\\167\001\164\001\212\001\196\000\
++\\137\001\043\000\254\001\191\001\
++\\157\001\157\001\066\002\033\000\
++\\139\001\074\000\205\000\125\000\
++\\147\001\089\000\009\002\134\000\
++\\135\000\033\001\152\000\045\001\
++\\020\002\023\002\054\000\093\000\
++\\094\000\232\001\216\001\034\001\
++\\208\001\066\002\210\001\202\001\
++\\191\000\066\002\066\002\184\000\
++\\187\000\033\001\033\001\185\000\
++\\233\001\024\002\068\001\065\001\
++\\206\001\138\001\118\001\119\001\
++\\128\000\148\001\112\000\113\000\
++\\111\000\122\000\024\002\136\000\
++\\018\001\151\000\033\001\053\001\
++\\046\001\024\002\239\001\055\000\
++\\030\001\097\000\114\001\211\001\
++\\219\001\220\001\137\001\195\000\
++\\202\000\182\000\213\001\106\000\
++\\033\001\127\000\126\000\118\000\
++\\033\001\046\002\123\000\153\000\
++\\048\001\052\001\051\001\047\001\
++\\049\002\066\002\098\000\186\000\
++\\130\000\062\002\129\000\124\000\
++\\123\000\123\000\119\000\049\001\
++\\111\001\051\002\024\002\042\002\
++\\103\000\058\002\033\001\121\000\
++\\120\000\066\002\240\001\063\002\
++\\061\002\116\001\050\002\045\002\
++\\043\002\105\000\037\002\033\001\
++\\107\000\050\001\242\001\234\000\
++\\158\001\059\002\146\001\024\002\
++\\048\002\101\000\038\002\033\001\
++\\131\000\243\000\033\001\116\001\
++\\200\001\033\001\102\000\192\001\
++\\060\002\066\002\104\000\244\000\
++\\234\001\112\001\033\001\143\001\
++\\067\002"
++val gotoT =
++"\
++\\001\000\244\002\017\000\007\000\026\000\006\000\029\000\005\000\
++\\030\000\004\000\031\000\003\000\032\000\002\000\139\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\178\000\041\000\000\000\
++\\000\000\
++\\178\000\043\000\000\000\
++\\017\000\044\000\026\000\006\000\029\000\005\000\030\000\004\000\
++\\031\000\003\000\032\000\002\000\139\000\001\000\000\000\
++\\000\000\
++\\005\000\047\000\024\000\046\000\025\000\045\000\000\000\
++\\005\000\055\000\174\000\054\000\175\000\053\000\176\000\052\000\
++\\177\000\051\000\000\000\
++\\005\000\058\000\162\000\057\000\163\000\056\000\000\000\
++\\005\000\060\000\161\000\059\000\000\000\
++\\005\000\061\000\000\000\
++\\083\000\063\000\084\000\062\000\000\000\
++\\083\000\063\000\084\000\065\000\000\000\
++\\005\000\069\000\006\000\068\000\007\000\067\000\015\000\066\000\000\000\
++\\005\000\089\000\006\000\088\000\007\000\067\000\009\000\087\000\
++\\015\000\086\000\016\000\085\000\054\000\084\000\055\000\083\000\
++\\079\000\082\000\083\000\081\000\085\000\080\000\086\000\079\000\
++\\089\000\078\000\090\000\077\000\091\000\076\000\092\000\075\000\
++\\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\108\000\167\000\107\000\168\000\106\000\169\000\105\000\
++\\170\000\104\000\000\000\
++\\000\000\
++\\000\000\
++\\005\000\114\000\008\000\113\000\009\000\112\000\014\000\111\000\
++\\016\000\085\000\000\000\
++\\005\000\114\000\008\000\117\000\009\000\112\000\016\000\085\000\
++\\089\000\116\000\153\000\115\000\000\000\
++\\005\000\127\000\006\000\126\000\007\000\067\000\009\000\087\000\
++\\015\000\125\000\016\000\085\000\054\000\124\000\056\000\123\000\
++\\057\000\122\000\058\000\121\000\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\075\000\137\000\120\000\138\000\119\000\
++\\154\000\074\000\155\000\073\000\000\000\
++\\005\000\135\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\133\000\
++\\079\000\082\000\083\000\081\000\085\000\080\000\086\000\079\000\
++\\089\000\078\000\090\000\077\000\091\000\076\000\092\000\075\000\
++\\133\000\132\000\134\000\131\000\135\000\130\000\136\000\129\000\
++\\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\005\000\069\000\006\000\138\000\007\000\067\000\110\000\137\000\
++\\111\000\136\000\000\000\
++\\005\000\114\000\008\000\143\000\009\000\112\000\016\000\085\000\
++\\033\000\142\000\034\000\141\000\035\000\140\000\000\000\
++\\005\000\145\000\000\000\
++\\005\000\146\000\000\000\
++\\005\000\147\000\000\000\
++\\005\000\150\000\100\000\149\000\101\000\148\000\000\000\
++\\005\000\153\000\095\000\152\000\098\000\151\000\000\000\
++\\125\000\157\000\127\000\156\000\128\000\155\000\130\000\154\000\000\000\
++\\108\000\163\000\109\000\162\000\128\000\155\000\130\000\161\000\000\000\
++\\018\000\165\000\021\000\164\000\000\000\
++\\005\000\166\000\000\000\
++\\000\000\
++\\000\000\
++\\178\000\167\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\173\000\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\075\000\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\089\000\176\000\164\000\175\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\069\000\006\000\068\000\007\000\067\000\015\000\178\000\000\000\
++\\000\000\
++\\000\000\
++\\005\000\069\000\006\000\068\000\007\000\067\000\015\000\179\000\000\000\
++\\000\000\
++\\000\000\
++\\005\000\069\000\006\000\068\000\007\000\067\000\015\000\180\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\069\000\006\000\068\000\007\000\067\000\015\000\180\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\069\000\006\000\191\000\007\000\067\000\065\000\190\000\
++\\066\000\189\000\067\000\188\000\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\194\000\060\000\193\000\061\000\192\000\
++\\079\000\082\000\083\000\081\000\085\000\080\000\086\000\079\000\
++\\089\000\078\000\090\000\077\000\091\000\076\000\092\000\075\000\
++\\154\000\074\000\155\000\073\000\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\199\000\062\000\198\000\063\000\197\000\
++\\064\000\196\000\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\075\000\154\000\074\000\155\000\073\000\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\194\000\060\000\201\000\061\000\192\000\
++\\079\000\082\000\083\000\081\000\085\000\080\000\086\000\079\000\
++\\089\000\078\000\090\000\077\000\091\000\076\000\092\000\075\000\
++\\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\204\000\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\075\000\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\114\000\008\000\113\000\009\000\112\000\014\000\205\000\
++\\016\000\085\000\000\000\
++\\000\000\
++\\000\000\
++\\178\000\207\000\000\000\
++\\000\000\
++\\017\000\208\000\026\000\006\000\029\000\005\000\030\000\004\000\
++\\031\000\003\000\032\000\002\000\139\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\211\000\079\000\082\000\
++\\083\000\081\000\085\000\080\000\086\000\079\000\089\000\078\000\
++\\090\000\077\000\091\000\076\000\092\000\075\000\154\000\074\000\
++\\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\069\000\006\000\068\000\007\000\067\000\015\000\180\000\000\000\
++\\000\000\
++\\005\000\069\000\006\000\214\000\007\000\067\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\042\000\217\000\054\000\124\000\056\000\211\000\
++\\079\000\082\000\083\000\081\000\085\000\080\000\086\000\079\000\
++\\089\000\078\000\090\000\077\000\091\000\076\000\092\000\075\000\
++\\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\068\000\220\000\000\000\
++\\005\000\225\000\083\000\224\000\106\000\223\000\107\000\222\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\114\000\008\000\143\000\009\000\112\000\016\000\085\000\
++\\035\000\228\000\000\000\
++\\000\000\
++\\000\000\
++\\003\000\232\000\000\000\
++\\000\000\
++\\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\237\000\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\075\000\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\243\000\010\000\242\000\011\000\241\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\248\000\000\000\
++\\128\000\250\000\129\000\249\000\000\000\
++\\005\000\251\000\000\000\
++\\000\000\
++\\126\000\253\000\000\000\
++\\017\000\255\000\026\000\006\000\029\000\005\000\030\000\004\000\
++\\031\000\003\000\032\000\002\000\139\000\001\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\047\000\024\000\046\000\025\000\002\001\000\000\
++\\005\000\114\000\008\000\003\001\009\000\112\000\016\000\085\000\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\069\000\008\001\071\000\007\001\072\000\006\001\
++\\077\000\005\001\128\000\004\001\000\000\
++\\005\000\055\000\176\000\016\001\177\000\051\000\000\000\
++\\005\000\055\000\174\000\017\001\175\000\053\000\176\000\052\000\
++\\177\000\051\000\000\000\
++\\000\000\
++\\005\000\058\000\162\000\019\001\163\000\056\000\000\000\
++\\083\000\020\001\000\000\
++\\089\000\176\000\164\000\021\001\000\000\
++\\005\000\060\000\161\000\022\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\025\001\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\005\000\069\000\006\000\046\001\007\000\067\000\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\069\000\047\001\071\000\007\001\072\000\006\001\
++\\077\000\005\001\128\000\004\001\000\000\
++\\000\000\
++\\005\000\051\001\006\000\050\001\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\084\000\055\000\049\001\079\000\082\000\
++\\083\000\081\000\085\000\080\000\086\000\079\000\089\000\078\000\
++\\090\000\077\000\091\000\076\000\092\000\075\000\154\000\074\000\
++\\155\000\073\000\000\000\
++\\005\000\069\000\006\000\052\001\007\000\067\000\000\000\
++\\005\000\069\000\006\000\191\000\007\000\067\000\065\000\190\000\
++\\066\000\053\001\067\000\188\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\108\000\169\000\071\001\170\000\104\000\000\000\
++\\005\000\108\000\167\000\072\001\168\000\106\000\169\000\105\000\
++\\170\000\104\000\000\000\
++\\000\000\
++\\000\000\
++\\005\000\114\000\008\000\076\001\009\000\112\000\016\000\085\000\
++\\151\000\075\001\152\000\074\001\000\000\
++\\000\000\
++\\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\121\000\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\075\000\137\000\120\000\138\000\079\001\154\000\074\000\
++\\155\000\073\000\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\080\001\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\024\001\148\000\023\001\154\000\074\000\
++\\155\000\073\000\000\000\
++\\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\069\000\082\001\071\000\007\001\072\000\006\001\
++\\077\000\005\001\128\000\004\001\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\083\001\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\075\000\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\005\000\135\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\133\000\
++\\079\000\082\000\083\000\081\000\085\000\080\000\086\000\079\000\
++\\089\000\078\000\090\000\077\000\091\000\076\000\092\000\075\000\
++\\133\000\132\000\134\000\131\000\135\000\130\000\136\000\084\001\
++\\154\000\074\000\155\000\073\000\000\000\
++\\005\000\135\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\133\000\
++\\079\000\082\000\083\000\081\000\085\000\080\000\086\000\079\000\
++\\089\000\078\000\090\000\077\000\091\000\076\000\092\000\075\000\
++\\133\000\132\000\134\000\085\001\154\000\074\000\155\000\073\000\000\000\
++\\070\000\086\001\000\000\
++\\000\000\
++\\005\000\069\000\006\000\138\000\007\000\067\000\110\000\089\001\
++\\111\000\136\000\000\000\
++\\089\000\092\001\124\000\091\001\148\000\090\001\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\069\000\094\001\071\000\007\001\072\000\006\001\
++\\077\000\005\001\128\000\004\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\004\000\097\001\000\000\
++\\005\000\114\000\008\000\143\000\009\000\112\000\016\000\085\000\
++\\033\000\142\000\034\000\099\001\035\000\140\000\000\000\
++\\005\000\114\000\008\000\101\001\009\000\112\000\016\000\085\000\
++\\035\000\100\001\000\000\
++\\000\000\
++\\005\000\114\000\008\000\117\000\009\000\112\000\016\000\085\000\
++\\153\000\102\001\000\000\
++\\005\000\105\001\018\000\104\001\019\000\103\001\021\000\164\000\000\000\
++\\002\000\107\001\005\000\114\000\008\000\106\001\009\000\112\000\
++\\016\000\085\000\000\000\
++\\000\000\
++\\005\000\114\000\008\000\117\000\009\000\112\000\016\000\085\000\
++\\153\000\110\001\000\000\
++\\005\000\114\000\008\000\117\000\009\000\112\000\016\000\085\000\
++\\153\000\111\001\000\000\
++\\002\000\112\001\005\000\114\000\008\000\106\001\009\000\112\000\
++\\016\000\085\000\000\000\
++\\005\000\150\000\100\000\149\000\101\000\113\001\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\115\001\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\005\000\153\000\095\000\152\000\098\000\116\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\125\000\120\001\127\000\156\000\128\000\155\000\130\000\119\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\143\000\123\001\000\000\
++\\108\000\125\001\109\000\162\000\128\000\155\000\130\000\161\000\000\000\
++\\000\000\
++\\125\000\126\001\127\000\156\000\128\000\155\000\130\000\119\001\000\000\
++\\022\000\127\001\000\000\
++\\018\000\128\001\021\000\164\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\130\001\
++\\013\000\009\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\248\000\083\000\135\001\000\000\
++\\005\000\139\001\074\000\138\001\075\000\137\001\076\000\136\001\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\069\000\141\001\071\000\007\001\072\000\006\001\
++\\073\000\140\001\077\000\005\001\128\000\004\001\000\000\
++\\005\000\143\001\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\144\001\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\147\001\079\000\082\000\
++\\083\000\081\000\085\000\080\000\086\000\079\000\089\000\078\000\
++\\090\000\077\000\091\000\076\000\092\000\024\001\148\000\023\001\
++\\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\007\000\150\001\000\000\
++\\017\000\151\001\026\000\006\000\029\000\005\000\030\000\004\000\
++\\031\000\003\000\032\000\002\000\139\000\001\000\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\152\001\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\153\001\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\024\001\148\000\023\001\154\000\074\000\
++\\155\000\073\000\000\000\
++\\005\000\154\001\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\157\001\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\075\000\131\000\156\001\132\000\155\001\
++\\154\000\074\000\155\000\073\000\000\000\
++\\147\000\159\001\149\000\158\001\000\000\
++\\005\000\165\001\051\000\164\001\052\000\163\001\053\000\162\001\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\168\001\046\000\167\001\047\000\166\001\
++\\079\000\082\000\083\000\081\000\085\000\080\000\086\000\079\000\
++\\089\000\078\000\090\000\077\000\091\000\076\000\092\000\024\001\
++\\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\005\000\135\000\006\000\030\001\007\000\172\001\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\171\001\048\000\170\001\050\000\169\001\
++\\079\000\082\000\083\000\081\000\085\000\080\000\086\000\079\000\
++\\089\000\078\000\090\000\077\000\091\000\076\000\092\000\024\001\
++\\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\168\001\046\000\174\001\047\000\166\001\
++\\079\000\082\000\083\000\081\000\085\000\080\000\086\000\079\000\
++\\089\000\078\000\090\000\077\000\091\000\076\000\092\000\024\001\
++\\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\005\000\069\000\006\000\178\001\007\000\067\000\089\000\177\001\
++\\141\000\176\001\142\000\175\001\000\000\
++\\005\000\180\001\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\181\001\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\024\001\148\000\023\001\154\000\074\000\
++\\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\194\000\060\000\182\001\061\000\192\000\
++\\079\000\082\000\083\000\081\000\085\000\080\000\086\000\079\000\
++\\089\000\078\000\090\000\077\000\091\000\076\000\092\000\075\000\
++\\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\069\000\006\000\191\000\007\000\067\000\065\000\190\000\
++\\067\000\184\001\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\186\001\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\075\000\154\000\074\000\155\000\073\000\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\187\001\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\024\001\148\000\023\001\154\000\074\000\
++\\155\000\073\000\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\188\001\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\075\000\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\069\000\190\001\071\000\007\001\072\000\006\001\
++\\077\000\005\001\128\000\004\001\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\194\000\061\000\191\001\079\000\082\000\
++\\083\000\081\000\085\000\080\000\086\000\079\000\089\000\078\000\
++\\090\000\077\000\091\000\076\000\092\000\075\000\154\000\074\000\
++\\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\192\001\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\024\001\148\000\023\001\154\000\074\000\
++\\155\000\073\000\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\194\001\063\000\193\001\079\000\082\000\
++\\083\000\081\000\085\000\080\000\086\000\079\000\089\000\078\000\
++\\090\000\077\000\091\000\076\000\092\000\075\000\154\000\074\000\
++\\155\000\073\000\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\194\000\061\000\195\001\079\000\082\000\
++\\083\000\081\000\085\000\080\000\086\000\079\000\089\000\078\000\
++\\090\000\077\000\091\000\076\000\092\000\075\000\154\000\074\000\
++\\155\000\073\000\000\000\
++\\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\197\001\064\000\196\001\079\000\082\000\
++\\083\000\081\000\085\000\080\000\086\000\079\000\089\000\078\000\
++\\090\000\077\000\091\000\076\000\092\000\075\000\154\000\074\000\
++\\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\114\000\008\000\201\001\009\000\112\000\016\000\085\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\043\000\203\001\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\069\000\205\001\071\000\007\001\072\000\006\001\
++\\077\000\005\001\128\000\004\001\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\206\001\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\024\001\148\000\023\001\154\000\074\000\
++\\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\005\000\211\001\079\000\210\001\080\000\209\001\083\000\208\001\
++\\112\000\207\001\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\214\001\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\005\000\225\000\106\000\223\000\107\000\215\001\000\000\
++\\005\000\225\000\106\000\223\000\107\000\216\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\003\000\219\001\000\000\
++\\000\000\
++\\000\000\
++\\018\000\222\001\021\000\164\000\000\000\
++\\002\000\223\001\005\000\114\000\008\000\106\001\009\000\112\000\
++\\016\000\085\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\224\001\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\005\000\225\001\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\069\000\226\001\071\000\007\001\072\000\006\001\
++\\077\000\005\001\128\000\004\001\000\000\
++\\005\000\243\000\010\000\227\001\011\000\241\000\000\000\
++\\000\000\
++\\000\000\
++\\128\000\250\000\129\000\228\001\000\000\
++\\146\000\229\001\000\000\
++\\083\000\233\001\144\000\232\001\145\000\231\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\017\000\235\001\026\000\006\000\029\000\005\000\030\000\004\000\
++\\031\000\003\000\032\000\002\000\139\000\001\000\000\000\
++\\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\071\000\007\001\072\000\237\001\077\000\236\001\
++\\128\000\004\001\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\069\000\238\001\071\000\007\001\072\000\006\001\
++\\077\000\005\001\128\000\004\001\000\000\
++\\005\000\243\000\010\000\239\001\011\000\241\000\000\000\
++\\005\000\243\000\010\000\240\001\011\000\241\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\250\001\083\000\249\001\165\000\248\001\166\000\247\001\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\157\001\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\075\000\131\000\156\001\132\000\251\001\
++\\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\041\000\001\002\000\000\
++\\147\000\003\002\149\000\158\001\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\005\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\069\000\006\000\178\001\007\000\067\000\089\000\177\001\
++\\141\000\176\001\142\000\019\002\000\000\
++\\000\000\
++\\000\000\
++\\005\000\020\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\069\000\006\000\026\002\007\000\067\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\032\002\171\000\031\002\172\000\030\002\173\000\029\002\000\000\
++\\005\000\114\000\008\000\076\001\009\000\112\000\016\000\085\000\
++\\151\000\075\001\152\000\034\002\000\000\
++\\002\000\035\002\005\000\114\000\008\000\106\001\009\000\112\000\
++\\016\000\085\000\000\000\
++\\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\069\000\037\002\071\000\007\001\072\000\006\001\
++\\077\000\005\001\128\000\004\001\000\000\
++\\000\000\
++\\005\000\039\002\000\000\
++\\000\000\
++\\000\000\
++\\140\000\041\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\044\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\047\002\048\000\046\002\049\000\045\002\
++\\079\000\082\000\083\000\081\000\085\000\080\000\086\000\079\000\
++\\089\000\078\000\090\000\077\000\091\000\076\000\092\000\024\001\
++\\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\051\002\102\000\050\002\103\000\049\002\105\000\048\002\000\000\
++\\003\000\053\002\000\000\
++\\000\000\
++\\005\000\114\000\008\000\117\000\009\000\112\000\016\000\085\000\
++\\153\000\055\002\000\000\
++\\005\000\114\000\008\000\057\002\009\000\112\000\016\000\085\000\
++\\018\000\056\002\021\000\164\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\150\000\060\002\000\000\
++\\005\000\062\002\000\000\
++\\000\000\
++\\000\000\
++\\083\000\065\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\130\001\
++\\013\000\009\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\139\001\074\000\138\001\076\000\068\002\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\069\000\069\002\071\000\007\001\072\000\006\001\
++\\077\000\005\001\128\000\004\001\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\070\002\
++\\013\000\009\001\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\069\000\072\002\071\000\007\001\072\000\006\001\
++\\073\000\071\002\077\000\005\001\128\000\004\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\075\002\000\000\
++\\000\000\
++\\000\000\
++\\083\000\078\002\093\000\077\002\094\000\076\002\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\168\001\046\000\079\002\047\000\166\001\
++\\079\000\082\000\083\000\081\000\085\000\080\000\086\000\079\000\
++\\089\000\078\000\090\000\077\000\091\000\076\000\092\000\024\001\
++\\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\081\002\049\000\080\002\079\000\082\000\
++\\083\000\081\000\085\000\080\000\086\000\079\000\089\000\078\000\
++\\090\000\077\000\091\000\076\000\092\000\024\001\148\000\023\001\
++\\154\000\074\000\155\000\073\000\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\082\002\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\024\001\148\000\023\001\154\000\074\000\
++\\155\000\073\000\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\157\001\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\075\000\131\000\156\001\132\000\083\002\
++\\154\000\074\000\155\000\073\000\000\000\
++\\043\000\084\002\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\085\002\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\024\001\148\000\023\001\154\000\074\000\
++\\155\000\073\000\000\000\
++\\000\000\
++\\148\000\086\002\000\000\
++\\000\000\
++\\005\000\165\001\052\000\088\002\053\000\162\001\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\089\002\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\024\001\148\000\023\001\154\000\074\000\
++\\155\000\073\000\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\168\001\047\000\091\002\079\000\082\000\
++\\083\000\081\000\085\000\080\000\086\000\079\000\089\000\078\000\
++\\090\000\077\000\091\000\076\000\092\000\024\001\148\000\023\001\
++\\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\168\001\047\000\092\002\079\000\082\000\
++\\083\000\081\000\085\000\080\000\086\000\079\000\089\000\078\000\
++\\090\000\077\000\091\000\076\000\092\000\024\001\148\000\023\001\
++\\154\000\074\000\155\000\073\000\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\081\002\049\000\093\002\079\000\082\000\
++\\083\000\081\000\085\000\080\000\086\000\079\000\089\000\078\000\
++\\090\000\077\000\091\000\076\000\092\000\024\001\148\000\023\001\
++\\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\094\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\157\001\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\075\000\131\000\156\001\132\000\095\002\
++\\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\097\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\098\002\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\075\000\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\005\000\127\000\006\000\134\000\007\000\067\000\009\000\087\000\
++\\016\000\085\000\054\000\124\000\056\000\123\000\057\000\122\000\
++\\058\000\195\000\059\000\099\002\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\075\000\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\032\002\173\000\104\002\000\000\
++\\000\000\
++\\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\069\000\105\002\071\000\007\001\072\000\006\001\
++\\077\000\005\001\128\000\004\001\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\106\002\079\000\082\000\083\000\081\000\
++\\085\000\080\000\086\000\079\000\089\000\078\000\090\000\077\000\
++\\091\000\076\000\092\000\024\001\148\000\023\001\154\000\074\000\
++\\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\116\000\107\002\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\109\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\005\000\165\001\051\000\110\002\052\000\163\001\053\000\162\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\002\000\118\002\005\000\114\000\008\000\106\001\009\000\112\000\
++\\016\000\085\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\083\000\122\002\099\000\121\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\083\000\233\001\144\000\232\001\145\000\124\002\000\000\
++\\000\000\
++\\083\000\126\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\250\001\083\000\249\001\165\000\127\002\166\000\247\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\
++\\005\000\069\000\006\000\135\002\007\000\067\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\044\000\136\002\000\000\
++\\000\000\
++\\005\000\069\000\006\000\138\002\007\000\067\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\032\002\172\000\140\002\173\000\029\002\000\000\
++\\005\000\032\002\173\000\141\002\000\000\
++\\083\000\142\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\119\000\144\002\000\000\
++\\005\000\149\002\117\000\148\002\154\000\147\002\155\000\146\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\081\001\040\000\081\002\049\000\152\002\079\000\082\000\
++\\083\000\081\000\085\000\080\000\086\000\079\000\089\000\078\000\
++\\090\000\077\000\091\000\076\000\092\000\024\001\148\000\023\001\
++\\154\000\074\000\155\000\073\000\000\000\
++\\045\000\153\002\000\000\
++\\005\000\156\002\104\000\155\002\000\000\
++\\005\000\051\002\102\000\050\002\103\000\049\002\105\000\158\002\000\000\
++\\002\000\159\002\005\000\114\000\008\000\106\001\009\000\112\000\
++\\016\000\085\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\069\000\006\000\138\000\007\000\067\000\110\000\161\002\
++\\111\000\136\000\000\000\
++\\000\000\
++\\083\000\163\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\083\000\078\002\093\000\077\002\094\000\164\002\000\000\
++\\083\000\165\002\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\167\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\168\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\005\000\170\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\120\000\171\002\000\000\
++\\005\000\149\002\117\000\173\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\118\000\175\002\000\000\
++\\005\000\178\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\179\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\078\000\180\002\000\000\
++\\000\000\
++\\005\000\183\002\000\000\
++\\000\000\
++\\000\000\
++\\160\000\184\002\000\000\
++\\000\000\
++\\005\000\243\000\010\000\011\001\011\000\241\000\012\000\010\001\
++\\013\000\009\001\069\000\186\002\071\000\007\001\072\000\006\001\
++\\077\000\005\001\128\000\004\001\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\069\000\006\000\187\002\007\000\067\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\121\000\188\002\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\190\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\191\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\154\000\193\002\155\000\192\002\000\000\
++\\118\000\194\002\000\000\
++\\000\000\
++\\082\000\196\002\083\000\195\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\096\000\197\002\000\000\
++\\083\000\199\002\000\000\
++\\000\000\
++\\000\000\
++\\113\000\200\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\118\000\203\002\000\000\
++\\118\000\204\002\000\000\
++\\000\000\
++\\000\000\
++\\081\000\206\002\000\000\
++\\158\000\208\002\000\000\
++\\005\000\210\002\000\000\
++\\159\000\211\002\000\000\
++\\114\000\213\002\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\216\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\083\000\217\002\000\000\
++\\000\000\
++\\079\000\210\001\080\000\218\002\083\000\208\001\000\000\
++\\097\000\219\002\000\000\
++\\156\000\222\002\157\000\221\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\115\000\225\002\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\228\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\089\000\229\002\000\000\
++\\000\000\
++\\000\000\
++\\005\000\232\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\234\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\235\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\156\000\222\002\157\000\236\002\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\238\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\083\000\240\002\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\000\000\
++\\005\000\135\000\006\000\030\001\007\000\067\000\009\000\029\001\
++\\016\000\085\000\036\000\028\001\037\000\027\001\038\000\026\001\
++\\039\000\243\002\079\000\082\000\083\000\081\000\085\000\080\000\
++\\086\000\079\000\089\000\078\000\090\000\077\000\091\000\076\000\
++\\092\000\024\001\148\000\023\001\154\000\074\000\155\000\073\000\000\000\
++\\000\000\
++\\000\000\
++\"
++val numstates = 757
++val numrules = 432
++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 = SourceMapping.sourcemap* ( SourceMapping.location * string -> unit ) * ( SourceMapping.location * string -> decl list ) *PrecedenceParser.precedence_stack ref*Ast.storagedecl list
++structure MlyValue = 
++struct
++datatype svalue = VOID | ntVOID of unit ->  unit
++ | ASMTEXT of unit ->  (string) | CHAR of unit ->  (char)
++ | STRING of unit ->  (string) | REAL of unit ->  (string)
++ | INTINF of unit ->  (IntInf.int) | INT of unit ->  (int)
++ | WORD of unit ->  (Word32.word) | TYVAR of unit ->  (string)
++ | SYMBOL of unit ->  (string) | ID of unit ->  (string)
++ | optsemi of unit ->  (unit)
++ | latencyclause of unit ->  ( ( id * pat * exp ) )
++ | latencyclauses of unit ->  ( ( id * pat * exp )  list)
++ | latencybind of unit ->  (latencybind)
++ | latencybinds of unit ->  (latencybind list)
++ | cycle of unit ->  (cycle) | cycles of unit ->  (cycle list)
++ | cycles0 of unit ->  (cycle list)
++ | pipelineclause of unit ->  ( ( id * pat * pipelineexp ) )
++ | pipelineclauses of unit ->  ( ( id * pat * pipelineexp )  list)
++ | pipelinebind of unit ->  (pipelinebind)
++ | pipelinebinds of unit ->  (pipelinebind list)
++ | resource of unit ->  ( ( int * id ) )
++ | resources of unit ->  ( ( int * id )  list)
++ | aliases of unit ->  (string list) | cpubind of unit ->  (cpubind)
++ | cpubinds of unit ->  (cpubind list)
++ | resourcebinds of unit ->  (id list)
++ | bitSize of unit ->  (int*bool) | aggregable of unit ->  (bool)
++ | defaults of unit ->  ( ( int * exp )  list)
++ | default_list of unit ->  ( ( int * exp )  list)
++ | default of unit ->  (int*exp) | False of unit ->  (unit)
++ | True of unit ->  (unit) | sigexp of unit ->  (sigexp)
++ | sigsubs of unit ->  (sigexp -> sigexp)
++ | sigsub of unit ->  (sigexp -> sigexp) | hasasm of unit ->  (bool)
++ | asm of unit ->  (asm) | asm_strings of unit ->  (asm list)
++ | asms of unit ->  (asm list) | fieldty of unit ->  (id option)
++ | encodingexps of unit ->  (int list)
++ | encodingexp of unit ->  (int list)
++ | opcodeencoding of unit ->  (int list option)
++ | rtlterms of unit ->  (rtlterm list) | rtlterm of unit ->  (rtlterm)
++ | rtl of unit ->  (exp option)
++ | assemblycase of unit ->  (assemblycase)
++ | valbinds of unit ->  (valbind list) | valbind of unit ->  (valbind)
++ | funbinds of unit ->  (funbind list) | funbind of unit ->  (funbind)
++ | funclauses of unit ->  (id*clause list)
++ | funclause of unit ->  (id*clause)
++ | clauses of unit ->  (clause list) | clause of unit ->  (clause)
++ | tyvarseq of unit ->  (tyvar list) | tyvars of unit ->  (tyvar list)
++ | tyvar of unit ->  (tyvar) | typebind of unit ->  (typebind)
++ | withtypeclause of unit ->  (typebind list)
++ | typebinds of unit ->  (typebind list)
++ | consassembly of unit ->  (assembly option)
++ | branching of unit ->  (branching) | delay of unit ->  (delayslot)
++ | delayslotcandidate of unit ->  (exp option)
++ | delayslot of unit ->  (exp option) | nullified of unit ->  (flag)
++ | flagguard of unit ->  (exp) | flag of unit ->  (flag)
++ | nop of unit ->  (flag) | pipeline of unit ->  (exp option)
++ | latency of unit ->  (exp option) | sdi of unit ->  (exp option)
++ | consencoding of unit ->  (mc option)
++ | consbind of unit ->  (consbind)
++ | consbinds of unit ->  (consbind list)
++ | datatypebind of unit ->  (datatypebind)
++ | datatypebinds of unit ->  (datatypebind list)
++ | formatbinds of unit ->  (formatbind list)
++ | formatbind of unit ->  (formatbind)
++ | fields of unit ->  (field list) | cnv of unit ->  (cnv)
++ | fieldid of unit ->  (id) | field of unit ->  (field)
++ | locbinds of unit ->  (locbind list) | locbind of unit ->  (locbind)
++ | cellcount of unit ->  (int option)
++ | storagedecls of unit ->  (storagedecl list)
++ | printcell of unit ->  (exp) | aliasing of unit ->  (id option)
++ | storagedecl of unit ->  (storagedecl)
++ | slices of unit ->  ( ( int * int )  list)
++ | slice of unit ->  (int*int) | literal of unit ->  (literal)
++ | bool of unit ->  (bool) | char of unit ->  (char)
++ | string of unit ->  (string) | kind of unit ->  (archKind)
++ | endianess of unit ->  (endianess) | real of unit ->  (string)
++ | intinf of unit ->  (IntInf.int) | intopt of unit ->  (int)
++ | int of unit ->  (int) | width of unit ->  (width)
++ | unsignedint_opt of unit ->  (Word32.word option)
++ | unsignedint of unit ->  (Word32.word)
++ | word of unit ->  (Word32.word)
++ | signedness of unit ->  (signedness) | tuplety of unit ->  (ty list)
++ | labtys1 of unit ->  ( ( id * ty )  list)
++ | labtys of unit ->  ( ( id * ty )  list) | labty of unit ->  (id*ty)
++ | tys2 of unit ->  (ty list) | appty of unit ->  (ty)
++ | aty of unit ->  (ty) | return_ty of unit ->  (ty option)
++ | ty of unit ->  (ty) | of_ty of unit ->  (ty option)
++ | labpats of unit ->  ( ( id * pat )  list*bool)
++ | labpats0 of unit ->  ( ( id * pat )  list*bool)
++ | labpat of unit ->  (id*pat) | andpats2 of unit ->  (pat list)
++ | orpats2 of unit ->  (pat list) | pats2 of unit ->  (pat list)
++ | pats1 of unit ->  (pat list) | pats of unit ->  (pat list)
++ | typedpat of unit ->  (pat) | pat of unit ->  (pat)
++ | apppat of unit ->  (pat Prec.token list)
++ | apat2 of unit ->  (pat Prec.token) | asapat of unit ->  (pat)
++ | apat of unit ->  (pat) | labexp of unit ->  (id*exp)
++ | labexps of unit ->  ( ( id * exp )  list)
++ | labexps0 of unit ->  ( ( id * exp )  list)
++ | expseq2 of unit ->  (exp list) | expseq of unit ->  (exp list)
++ | exps2 of unit ->  (exp list) | exps1 of unit ->  (exp list)
++ | exps of unit ->  (exp list) | opt_exp of unit ->  (exp option)
++ | region of unit ->  (id option) | cont of unit ->  (id option)
++ | funguard of unit ->  (exp option) | guard of unit ->  (exp option)
++ | typedexp of unit ->  (exp) | exp of unit ->  (exp)
++ | appexp of unit ->  (exp Prec.token list)
++ | aexp2 of unit ->  (exp Prec.token) | aexp of unit ->  (exp)
++ | sharelist of unit ->  (ident list)
++ | sharingdecls of unit ->  (share list)
++ | sharingdecl of unit ->  (share) | mymddecl of unit ->  (decl)
++ | mddecl of unit ->  (decl) | mymldecl of unit ->  (decl)
++ | mldecl of unit ->  (decl) | loc of unit ->  (loc)
++ | locdecl of unit ->  (loc*decl) | decl of unit ->  (decl)
++ | exceptionbinds of unit ->  (exceptionbind list)
++ | exceptionbind of unit ->  (exceptionbind)
++ | mldecls of unit ->  (decl list) | oldScope of unit ->  (unit)
++ | newScope of unit ->  (unit) | scopedmldecls of unit ->  (decl list)
++ | functorarg of unit ->  (decl list)
++ | scopeddecls of unit ->  (decl list) | decls of unit ->  (decl list)
++ | path of unit ->  (id list) | syms of unit ->  (id list)
++ | idents of unit ->  (ident list) | tpath of unit ->  (id list*id)
++ | tident of unit ->  (ident) | tid2 of unit ->  (id)
++ | tid of unit ->  (id) | ident2 of unit ->  (ident)
++ | ident of unit ->  (ident) | symb of unit ->  (id)
++ | sym of unit ->  (id) | id of unit ->  (id)
++ | opt_of of unit ->  (unit) | sigcon of unit ->  (sigconstraint)
++ | structexp of unit ->  (structexp)
++ | architecture of unit ->  (decl list)
++end
++type svalue = MlyValue.svalue
++type result = decl list
++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 _ => false
++val showTerminal =
++fn (T 0) => "ARCHITECTURE"
++  | (T 1) => "END"
++  | (T 2) => "LOCAL"
++  | (T 3) => "IN"
++  | (T 4) => "OF"
++  | (T 5) => "CASE"
++  | (T 6) => "DATATYPE"
++  | (T 7) => "TYPE"
++  | (T 8) => "EQ"
++  | (T 9) => "DOLLAR"
++  | (T 10) => "TIMES"
++  | (T 11) => "AND"
++  | (T 12) => "DEREF"
++  | (T 13) => "NOT"
++  | (T 14) => "CONCAT"
++  | (T 15) => "LLBRACKET"
++  | (T 16) => "RRBRACKET"
++  | (T 17) => "LHASHBRACKET"
++  | (T 18) => "LPAREN"
++  | (T 19) => "RPAREN"
++  | (T 20) => "LBRACKET"
++  | (T 21) => "RBRACKET"
++  | (T 22) => "LBRACE"
++  | (T 23) => "RBRACE"
++  | (T 24) => "SEMICOLON"
++  | (T 25) => "LDQUOTE"
++  | (T 26) => "RDQUOTE"
++  | (T 27) => "LMETA"
++  | (T 28) => "RMETA"
++  | (T 29) => "CELLSET"
++  | (T 30) => "FN"
++  | (T 31) => "STORAGE"
++  | (T 32) => "LOCATIONS"
++  | (T 33) => "HASH"
++  | (T 34) => "COMMA"
++  | (T 35) => "COLON"
++  | (T 36) => "COLONGREATER"
++  | (T 37) => "DOT"
++  | (T 38) => "DOTDOT"
++  | (T 39) => "AT"
++  | (T 40) => "BAR"
++  | (T 41) => "ARROW"
++  | (T 42) => "DARROW"
++  | (T 43) => "PAR"
++  | (T 44) => "BITS"
++  | (T 45) => "IF"
++  | (T 46) => "THEN"
++  | (T 47) => "ELSE"
++  | (T 48) => "TRUE"
++  | (T 49) => "FALSE"
++  | (T 50) => "WILD"
++  | (T 51) => "RAISE"
++  | (T 52) => "HANDLE"
++  | (T 53) => "LET"
++  | (T 54) => "STRUCTURE"
++  | (T 55) => "FUNCTOR"
++  | (T 56) => "SIGNATURE"
++  | (T 57) => "SIG"
++  | (T 58) => "STRUCT"
++  | (T 59) => "WHERE"
++  | (T 60) => "SHARING"
++  | (T 61) => "INSTRUCTION"
++  | (T 62) => "REGISTER"
++  | (T 63) => "CELL"
++  | (T 64) => "CELLS"
++  | (T 65) => "ORDERING"
++  | (T 66) => "FIELD"
++  | (T 67) => "FIELDS"
++  | (T 68) => "VLIW"
++  | (T 69) => "SUPERSCALAR"
++  | (T 70) => "SIGNED"
++  | (T 71) => "UNSIGNED"
++  | (T 72) => "FORMATS"
++  | (T 73) => "AS"
++  | (T 74) => "ENCODING"
++  | (T 75) => "WITHTYPE"
++  | (T 76) => "FUN"
++  | (T 77) => "VAL"
++  | (T 78) => "INCLUDE"
++  | (T 79) => "OPEN"
++  | (T 80) => "OP"
++  | (T 81) => "LITTLE"
++  | (T 82) => "BIG"
++  | (T 83) => "ENDIAN"
++  | (T 84) => "PIPELINE"
++  | (T 85) => "PREDICATED"
++  | (T 86) => "LOWERCASE"
++  | (T 87) => "UPPERCASE"
++  | (T 88) => "VERBATIM"
++  | (T 89) => "WHEN"
++  | (T 90) => "BRANCHING"
++  | (T 91) => "TAKEN"
++  | (T 92) => "ASSEMBLY"
++  | (T 93) => "RTL"
++  | (T 94) => "SPAN"
++  | (T 95) => "DEPENDENT"
++  | (T 96) => "ASSIGN"
++  | (T 97) => "DELAYSLOT"
++  | (T 98) => "FORWARDS"
++  | (T 99) => "ALWAYS"
++  | (T 100) => "NEVER"
++  | (T 101) => "BACKWARDS"
++  | (T 102) => "CANDIDATE"
++  | (T 103) => "NONFIX"
++  | (T 104) => "INFIX"
++  | (T 105) => "INFIXR"
++  | (T 106) => "DEBUG"
++  | (T 107) => "ASM_COLON"
++  | (T 108) => "MC_COLON"
++  | (T 109) => "RTL_COLON"
++  | (T 110) => "DELAYSLOT_COLON"
++  | (T 111) => "NULLIFIED_COLON"
++  | (T 112) => "PADDING_COLON"
++  | (T 113) => "CANDIDATE_COLON"
++  | (T 114) => "AGGREGABLE"
++  | (T 115) => "ALIASING"
++  | (T 116) => "RESOURCE"
++  | (T 117) => "CPU"
++  | (T 118) => "RESERVATION"
++  | (T 119) => "TABLE"
++  | (T 120) => "LATENCY"
++  | (T 121) => "EQUATION"
++  | (T 122) => "EXCEPTION"
++  | (T 123) => "ID"
++  | (T 124) => "SYMBOL"
++  | (T 125) => "TYVAR"
++  | (T 126) => "WORD"
++  | (T 127) => "INT"
++  | (T 128) => "INTINF"
++  | (T 129) => "REAL"
++  | (T 130) => "STRING"
++  | (T 131) => "CHAR"
++  | (T 132) => "ASMTEXT"
++  | (T 133) => "EOF"
++  | _ => "bogus-term"
++local open Header in
++val errtermvalue=
++fn _ => MlyValue.VOID
++end
++val terms : term list = nil
++ $$ (T 133) $$ (T 122) $$ (T 121) $$ (T 120) $$ (T 119) $$ (T 118) $$ 
++(T 117) $$ (T 116) $$ (T 115) $$ (T 114) $$ (T 113) $$ (T 112) $$ (T 
++111) $$ (T 110) $$ (T 109) $$ (T 108) $$ (T 107) $$ (T 106) $$ (T 105)
++ $$ (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 91) $$ (T 90) $$ (T 89) $$ (T 88) $$ (T 87) $$ (T 86) $$ (T 85) $$ 
++(T 84) $$ (T 83) $$ (T 82) $$ (T 81) $$ (T 80) $$ (T 79) $$ (T 78) $$ 
++(T 77) $$ (T 76) $$ (T 75) $$ (T 74) $$ (T 73) $$ (T 72) $$ (T 71) $$ 
++(T 70) $$ (T 69) $$ (T 68) $$ (T 67) $$ (T 66) $$ (T 65) $$ (T 64) $$ 
++(T 63) $$ (T 62) $$ (T 61) $$ (T 60) $$ (T 59) $$ (T 58) $$ (T 57) $$ 
++(T 56) $$ (T 55) $$ (T 54) $$ (T 53) $$ (T 52) $$ (T 51) $$ (T 50) $$ 
++(T 49) $$ (T 48) $$ (T 47) $$ (T 46) $$ (T 45) $$ (T 44) $$ (T 43) $$ 
++(T 42) $$ (T 41) $$ (T 40) $$ (T 39) $$ (T 38) $$ (T 37) $$ (T 36) $$ 
++(T 35) $$ (T 34) $$ (T 33) $$ (T 32) $$ (T 31) $$ (T 30) $$ (T 29) $$ 
++(T 28) $$ (T 27) $$ (T 26) $$ (T 25) $$ (T 24) $$ (T 23) $$ (T 22) $$ 
++(T 21) $$ (T 20) $$ (T 19) $$ (T 18) $$ (T 17) $$ (T 16) $$ (T 15) $$ 
++(T 14) $$ (T 13) $$ (T 12) $$ (T 11) $$ (T 10) $$ (T 9) $$ (T 8) $$ 
++(T 7) $$ (T 6) $$ (T 5) $$ (T 4) $$ (T 3) $$ (T 2) $$ (T 1) $$ (T 0)end
++structure Actions =
++struct 
++exception mlyAction of int
++local open Header in
++val actions = 
++fn (i392,defaultPos,stack,
++    (srcMap,err,import,precStack,extraCells):arg) =>
++case (i392,stack)
++of (0,(_,(MlyValue.decls decls1,decls1left,decls1right))::rest671) => 
++let val result=MlyValue.architecture(fn _ => let val decls as decls1=
++decls1 ()
++ in (decls) end
++)
++ in (LrTable.NT 0,(result,decls1left,decls1right),rest671) end
++| (1,rest671) => let val result=MlyValue.decls(fn _ => ([]))
++ in (LrTable.NT 16,(result,defaultPos,defaultPos),rest671) end
++| (2,(_,(MlyValue.decls decls1,_,decls1right))::(_,(MlyValue.decl 
++decl1,decl1left,_))::rest671) => let val result=MlyValue.decls(fn _
++ => let val decl as decl1=decl1 ()
++val decls as decls1=decls1 ()
++ in (decl::decls) end
++)
++ in (LrTable.NT 16,(result,decl1left,decls1right),rest671) end
++| (3,rest671) => let val result=MlyValue.mldecls(fn _ => ([]))
++ in (LrTable.NT 22,(result,defaultPos,defaultPos),rest671) end
++| (4,(_,(MlyValue.mldecls mldecls1,_,mldecls1right))::(_,(
++MlyValue.mldecl mldecl1,mldecl1left,_))::rest671) => let val result=
++MlyValue.mldecls(fn _ => let val mldecl as mldecl1=mldecl1 ()
++val mldecls as mldecls1=mldecls1 ()
++ in (mldecl::mldecls) end
++)
++ in (LrTable.NT 22,(result,mldecl1left,mldecls1right),rest671) end
++| (5,rest671) => let val result=MlyValue.optsemi(fn _ => ())
++ in (LrTable.NT 177,(result,defaultPos,defaultPos),rest671) end
++| (6,(_,(MlyValue.optsemi optsemi1,_,optsemi1right))::(_,(_,
++SEMICOLON1left,_))::rest671) => let val result=MlyValue.optsemi(fn _
++ => let val optsemi1=optsemi1 ()
++ in () end
++)
++ in (LrTable.NT 177,(result,SEMICOLON1left,optsemi1right),rest671) end
++| (7,(_,(MlyValue.optsemi optsemi1,_,optsemi1right))::(_,(
++MlyValue.mldecl mldecl1,mldecl1left,_))::rest671) => let val result=
++MlyValue.decl(fn _ => let val mldecl as mldecl1=mldecl1 ()
++val optsemi1=optsemi1 ()
++ in (mldecl) end
++)
++ in (LrTable.NT 25,(result,mldecl1left,optsemi1right),rest671) end
++| (8,(_,(MlyValue.optsemi optsemi1,_,optsemi1right))::(_,(
++MlyValue.mddecl mddecl1,mddecl1left,_))::rest671) => let val result=
++MlyValue.decl(fn _ => let val mddecl as mddecl1=mddecl1 ()
++val optsemi1=optsemi1 ()
++ in (mddecl) end
++)
++ in (LrTable.NT 25,(result,mddecl1left,optsemi1right),rest671) end
++| (9,(_,(MlyValue.optsemi optsemi1,_,optsemi1right))::(_,(
++MlyValue.string string1,_,stringright))::(_,(_,INCLUDEleft as 
++INCLUDE1left,_))::rest671) => let val result=MlyValue.decl(fn _ => 
++let val string as string1=string1 ()
++val optsemi1=optsemi1 ()
++ in (
++seqdecl(import
++                  (SourceMapping.location srcMap 
++                      (INCLUDEleft,stringright), string))
++) end
++)
++ in (LrTable.NT 25,(result,INCLUDE1left,optsemi1right),rest671) end
++| (10,(_,(MlyValue.mymldecl mymldecl1,mymldeclleft as mymldecl1left,
++mymldeclright as mymldecl1right))::rest671) => let val result=
++MlyValue.mldecl(fn _ => let val mymldecl as mymldecl1=mymldecl1 ()
++ in (markdecl srcMap (mymldecl,mymldeclleft,mymldeclright)) end
++)
++ in (LrTable.NT 28,(result,mymldecl1left,mymldecl1right),rest671) end
++| (11,(_,(MlyValue.mymddecl mymddecl1,mymddeclleft as mymddecl1left,
++mymddeclright as mymddecl1right))::rest671) => let val result=
++MlyValue.mddecl(fn _ => let val mymddecl as mymddecl1=mymddecl1 ()
++ in (markdecl srcMap (mymddecl,mymddeclleft,mymddeclright)) end
++)
++ in (LrTable.NT 30,(result,mymddecl1left,mymddecl1right),rest671) end
++| (12,(_,(_,_,END1right))::(_,(MlyValue.decls decls1,_,_))::_::_::(_,(
++MlyValue.id id1,_,_))::(_,(_,ARCHITECTURE1left,_))::rest671) => let 
++val result=MlyValue.mymddecl(fn _ => let val id as id1=id1 ()
++val decls as decls1=decls1 ()
++ in (ARCHdecl(id,decls)) end
++)
++ in (LrTable.NT 31,(result,ARCHITECTURE1left,END1right),rest671) end
++| (13,(_,(_,_,ENDIAN1right))::(_,(_,LITTLE1left,_))::rest671) => let 
++val result=MlyValue.mymddecl(fn _ => (ENDIANESSdecl LITTLE))
++ in (LrTable.NT 31,(result,LITTLE1left,ENDIAN1right),rest671) end
++| (14,(_,(_,_,ENDIAN1right))::(_,(_,BIG1left,_))::rest671) => let val 
++result=MlyValue.mymddecl(fn _ => (ENDIANESSdecl BIG))
++ in (LrTable.NT 31,(result,BIG1left,ENDIAN1right),rest671) end
++| (15,(_,(_,VLIW1left,VLIW1right))::rest671) => let val result=
++MlyValue.mymddecl(fn _ => (ARCHKINDdecl VLIW))
++ in (LrTable.NT 31,(result,VLIW1left,VLIW1right),rest671) end
++| (16,(_,(_,SUPERSCALAR1left,SUPERSCALAR1right))::rest671) => let val 
++result=MlyValue.mymddecl(fn _ => (ARCHKINDdecl SUPERSCALAR))
++ in (LrTable.NT 31,(result,SUPERSCALAR1left,SUPERSCALAR1right),rest671
++) end
++| (17,(_,(_,_,ASSEMBLY1right))::(_,(MlyValue.assemblycase 
++assemblycase1,assemblycase1left,_))::rest671) => let val result=
++MlyValue.mymddecl(fn _ => let val assemblycase as assemblycase1=
++assemblycase1 ()
++ in (ASSEMBLYCASEdecl assemblycase) end
++)
++ in (LrTable.NT 31,(result,assemblycase1left,ASSEMBLY1right),rest671)
++ end
++| (18,(_,(MlyValue.formatbinds formatbinds1,_,formatbinds1right))::_::
++(_,(MlyValue.int int1,_,_))::_::(_,(_,INSTRUCTION1left,_))::rest671)
++ => let val result=MlyValue.mymddecl(fn _ => let val int as int1=int1 
++()
++val formatbinds as formatbinds1=formatbinds1 ()
++ in (FORMATdecl(SOME int,formatbinds)) end
++)
++ in (LrTable.NT 31,(result,INSTRUCTION1left,formatbinds1right),rest671
++) end
++| (19,(_,(MlyValue.formatbinds formatbinds1,_,formatbinds1right))::_::
++(_,(_,INSTRUCTION1left,_))::rest671) => let val result=
++MlyValue.mymddecl(fn _ => let val formatbinds as formatbinds1=
++formatbinds1 ()
++ in (FORMATdecl(NONE,formatbinds)) end
++)
++ in (LrTable.NT 31,(result,INSTRUCTION1left,formatbinds1right),rest671
++) end
++| (20,(_,(MlyValue.storagedecls storagedecls1,_,storagedecls1right))::
++(_,(_,STORAGE1left,_))::rest671) => let val result=MlyValue.mymddecl(
++fn _ => let val storagedecls as storagedecls1=storagedecls1 ()
++ in (STORAGEdecl(storagedecls @ extraCells)) end
++)
++ in (LrTable.NT 31,(result,STORAGE1left,storagedecls1right),rest671)
++ end
++| (21,(_,(MlyValue.locbinds locbinds1,_,locbinds1right))::(_,(_,
++LOCATIONS1left,_))::rest671) => let val result=MlyValue.mymddecl(fn _
++ => let val locbinds as locbinds1=locbinds1 ()
++ in (LOCATIONSdecl locbinds) end
++)
++ in (LrTable.NT 31,(result,LOCATIONS1left,locbinds1right),rest671) end
++| (22,(_,(MlyValue.consbinds consbinds1,_,consbinds1right))::(_,(_,
++INSTRUCTION1left,_))::rest671) => let val result=MlyValue.mymddecl(fn 
++_ => let val consbinds as consbinds1=consbinds1 ()
++ in (INSTRUCTIONdecl consbinds) end
++)
++ in (LrTable.NT 31,(result,INSTRUCTION1left,consbinds1right),rest671)
++ end
++| (23,(_,(MlyValue.id id1,_,id1right))::(_,(_,DEBUG1left,_))::rest671)
++ => let val result=MlyValue.mymddecl(fn _ => let val id as id1=id1 ()
++ in (DEBUGdecl id) end
++)
++ in (LrTable.NT 31,(result,DEBUG1left,id1right),rest671) end
++| (24,(_,(MlyValue.resourcebinds resourcebinds1,_,resourcebinds1right)
++)::(_,(_,RESOURCE1left,_))::rest671) => let val result=
++MlyValue.mymddecl(fn _ => let val resourcebinds as resourcebinds1=
++resourcebinds1 ()
++ in (RESOURCEdecl resourcebinds) end
++)
++ in (LrTable.NT 31,(result,RESOURCE1left,resourcebinds1right),rest671)
++ end
++| (25,(_,(MlyValue.cpubinds cpubinds1,_,cpubinds1right))::(_,(_,
++CPU1left,_))::rest671) => let val result=MlyValue.mymddecl(fn _ => 
++let val cpubinds as cpubinds1=cpubinds1 ()
++ in (CPUdecl cpubinds) end
++)
++ in (LrTable.NT 31,(result,CPU1left,cpubinds1right),rest671) end
++| (26,(_,(MlyValue.pipelinebinds pipelinebinds1,_,pipelinebinds1right)
++)::(_,(_,PIPELINE1left,_))::rest671) => let val result=
++MlyValue.mymddecl(fn _ => let val pipelinebinds as pipelinebinds1=
++pipelinebinds1 ()
++ in (PIPELINEdecl pipelinebinds) end
++)
++ in (LrTable.NT 31,(result,PIPELINE1left,pipelinebinds1right),rest671)
++ end
++| (27,(_,(MlyValue.latencybinds latencybinds1,_,latencybinds1right))::
++(_,(_,LATENCY1left,_))::rest671) => let val result=MlyValue.mymddecl(
++fn _ => let val latencybinds as latencybinds1=latencybinds1 ()
++ in (LATENCYdecl latencybinds) end
++)
++ in (LrTable.NT 31,(result,LATENCY1left,latencybinds1right),rest671)
++ end
++| (28,(_,(MlyValue.id id1,id1left,id1right))::rest671) => let val 
++result=MlyValue.resourcebinds(fn _ => let val id as id1=id1 ()
++ in ([id]) end
++)
++ in (LrTable.NT 160,(result,id1left,id1right),rest671) end
++| (29,(_,(MlyValue.resourcebinds resourcebinds1,_,resourcebinds1right)
++)::_::(_,(MlyValue.id id1,id1left,_))::rest671) => let val result=
++MlyValue.resourcebinds(fn _ => let val id as id1=id1 ()
++val resourcebinds as resourcebinds1=resourcebinds1 ()
++ in (id::resourcebinds) end
++)
++ in (LrTable.NT 160,(result,id1left,resourcebinds1right),rest671) end
++| (30,(_,(MlyValue.cpubind cpubind1,cpubind1left,cpubind1right))::
++rest671) => let val result=MlyValue.cpubinds(fn _ => let val cpubind
++ as cpubind1=cpubind1 ()
++ in ([cpubind]) end
++)
++ in (LrTable.NT 161,(result,cpubind1left,cpubind1right),rest671) end
++| (31,(_,(MlyValue.cpubinds cpubinds1,_,cpubinds1right))::_::(_,(
++MlyValue.cpubind cpubind1,cpubind1left,_))::rest671) => let val result
++=MlyValue.cpubinds(fn _ => let val cpubind as cpubind1=cpubind1 ()
++val cpubinds as cpubinds1=cpubinds1 ()
++ in (cpubind::cpubinds) end
++)
++ in (LrTable.NT 161,(result,cpubind1left,cpubinds1right),rest671) end
++| (32,(_,(_,_,RBRACKET1right))::(_,(MlyValue.resources resources1,_,_)
++)::_::(_,(MlyValue.int int1,_,_))::(_,(MlyValue.aliases aliases1,_,_))
++::(_,(MlyValue.id id1,id1left,_))::rest671) => let val result=
++MlyValue.cpubind(fn _ => let val id as id1=id1 ()
++val aliases as aliases1=aliases1 ()
++val int as int1=int1 ()
++val resources as resources1=resources1 ()
++ in (
++CPUbind{name=id,aliases=aliases,
++                         maxIssues=int,resources=resources}
++) end
++)
++ in (LrTable.NT 162,(result,id1left,RBRACKET1right),rest671) end
++| (33,rest671) => let val result=MlyValue.aliases(fn _ => ([]))
++ in (LrTable.NT 163,(result,defaultPos,defaultPos),rest671) end
++| (34,(_,(MlyValue.aliases aliases1,_,aliases1right))::(_,(
++MlyValue.string string1,string1left,_))::rest671) => let val result=
++MlyValue.aliases(fn _ => let val string as string1=string1 ()
++val aliases as aliases1=aliases1 ()
++ in (string::aliases) end
++)
++ in (LrTable.NT 163,(result,string1left,aliases1right),rest671) end
++| (35,(_,(MlyValue.resource resource1,resource1left,resource1right))::
++rest671) => let val result=MlyValue.resources(fn _ => let val resource
++ as resource1=resource1 ()
++ in ([resource]) end
++)
++ in (LrTable.NT 164,(result,resource1left,resource1right),rest671) end
++| (36,(_,(MlyValue.resources resources1,_,resources1right))::_::(_,(
++MlyValue.resource resource1,resource1left,_))::rest671) => let val 
++result=MlyValue.resources(fn _ => let val resource as resource1=
++resource1 ()
++val resources as resources1=resources1 ()
++ in (resource::resources) end
++)
++ in (LrTable.NT 164,(result,resource1left,resources1right),rest671)
++ end
++| (37,(_,(MlyValue.id id1,_,id1right))::(_,(MlyValue.int int1,int1left
++,_))::rest671) => let val result=MlyValue.resource(fn _ => let val int
++ as int1=int1 ()
++val id as id1=id1 ()
++ in (int,id) end
++)
++ in (LrTable.NT 165,(result,int1left,id1right),rest671) end
++| (38,(_,(MlyValue.id id1,id1left,id1right))::rest671) => let val 
++result=MlyValue.resource(fn _ => let val id as id1=id1 ()
++ in (1,id) end
++)
++ in (LrTable.NT 165,(result,id1left,id1right),rest671) end
++| (39,(_,(MlyValue.pipelinebind pipelinebind1,pipelinebind1left,
++pipelinebind1right))::rest671) => let val result=
++MlyValue.pipelinebinds(fn _ => let val pipelinebind as pipelinebind1=
++pipelinebind1 ()
++ in ([pipelinebind]) end
++)
++ in (LrTable.NT 166,(result,pipelinebind1left,pipelinebind1right),
++rest671) end
++| (40,(_,(MlyValue.pipelinebinds pipelinebinds1,_,pipelinebinds1right)
++)::_::(_,(MlyValue.pipelinebind pipelinebind1,pipelinebind1left,_))::
++rest671) => let val result=MlyValue.pipelinebinds(fn _ => let val 
++pipelinebind as pipelinebind1=pipelinebind1 ()
++val pipelinebinds as pipelinebinds1=pipelinebinds1 ()
++ in (pipelinebind::pipelinebinds) end
++)
++ in (LrTable.NT 166,(result,pipelinebind1left,pipelinebinds1right),
++rest671) end
++| (41,(_,(MlyValue.pipelineclauses pipelineclauses1,
++pipelineclauses1left,pipelineclauses1right))::rest671) => let val 
++result=MlyValue.pipelinebind(fn _ => let val pipelineclauses as 
++pipelineclauses1=pipelineclauses1 ()
++ in (
++let val name = #1(hd pipelineclauses)
++                     val clauses = map (fn (_,x,y) => (x,y)) pipelineclauses
++                 in  (PIPELINEbind(name, clauses)) end
++                
++) end
++)
++ in (LrTable.NT 167,(result,pipelineclauses1left,pipelineclauses1right
++),rest671) end
++| (42,(_,(MlyValue.pipelineclause pipelineclause1,pipelineclause1left,
++pipelineclause1right))::rest671) => let val result=
++MlyValue.pipelineclauses(fn _ => let val pipelineclause as 
++pipelineclause1=pipelineclause1 ()
++ in ([pipelineclause]) end
++)
++ in (LrTable.NT 168,(result,pipelineclause1left,pipelineclause1right),
++rest671) end
++| (43,(_,(MlyValue.pipelineclauses pipelineclauses1,_,
++pipelineclauses1right))::_::(_,(MlyValue.pipelineclause 
++pipelineclause1,pipelineclause1left,_))::rest671) => let val result=
++MlyValue.pipelineclauses(fn _ => let val pipelineclause as 
++pipelineclause1=pipelineclause1 ()
++val pipelineclauses as pipelineclauses1=pipelineclauses1 ()
++ in (pipelineclause::pipelineclauses) end
++)
++ in (LrTable.NT 168,(result,pipelineclause1left,pipelineclauses1right)
++,rest671) end
++| (44,(_,(_,_,RBRACKET1right))::(_,(MlyValue.cycles0 cycles01,_,_))::_
++::_::(_,(MlyValue.pat pat1,_,_))::(_,(MlyValue.id id1,id1left,_))::
++rest671) => let val result=MlyValue.pipelineclause(fn _ => let val id
++ as id1=id1 ()
++val pat as pat1=pat1 ()
++val cycles0 as cycles01=cycles01 ()
++ in (id, pat,PIPELINE cycles0) end
++)
++ in (LrTable.NT 169,(result,id1left,RBRACKET1right),rest671) end
++| (45,rest671) => let val result=MlyValue.cycles0(fn _ => ([]))
++ in (LrTable.NT 170,(result,defaultPos,defaultPos),rest671) end
++| (46,(_,(MlyValue.cycles cycles1,cycles1left,cycles1right))::rest671)
++ => let val result=MlyValue.cycles0(fn _ => let val cycles as cycles1=
++cycles1 ()
++ in (cycles) end
++)
++ in (LrTable.NT 170,(result,cycles1left,cycles1right),rest671) end
++| (47,(_,(MlyValue.cycle cycle1,cycle1left,cycle1right))::rest671) => 
++let val result=MlyValue.cycles(fn _ => let val cycle as cycle1=cycle1 
++()
++ in ([cycle]) end
++)
++ in (LrTable.NT 171,(result,cycle1left,cycle1right),rest671) end
++| (48,(_,(MlyValue.cycles cycles1,_,cycles1right))::_::(_,(
++MlyValue.cycle cycle1,cycle1left,_))::rest671) => let val result=
++MlyValue.cycles(fn _ => let val cycle as cycle1=cycle1 ()
++val cycles as cycles1=cycles1 ()
++ in (cycle::cycles) end
++)
++ in (LrTable.NT 171,(result,cycle1left,cycles1right),rest671) end
++| (49,(_,(MlyValue.id id1,id1left,id1right))::rest671) => let val 
++result=MlyValue.cycle(fn _ => let val id as id1=id1 ()
++ in (IDcycle id) end
++)
++ in (LrTable.NT 172,(result,id1left,id1right),rest671) end
++| (50,(_,(MlyValue.cycle cycle2,_,cycle2right))::_::(_,(MlyValue.cycle
++ cycle1,cycle1left,_))::rest671) => let val result=MlyValue.cycle(fn _
++ => let val cycle1=cycle1 ()
++val cycle2=cycle2 ()
++ in (ORcycle(cycle1,cycle2)) end
++)
++ in (LrTable.NT 172,(result,cycle1left,cycle2right),rest671) end
++| (51,(_,(MlyValue.int int1,_,int1right))::_::(_,(MlyValue.cycle 
++cycle1,cycle1left,_))::rest671) => let val result=MlyValue.cycle(fn _
++ => let val cycle as cycle1=cycle1 ()
++val int as int1=int1 ()
++ in (REPEATcycle(cycle, int)) end
++)
++ in (LrTable.NT 172,(result,cycle1left,int1right),rest671) end
++| (52,(_,(_,_,RPAREN1right))::(_,(MlyValue.cycle cycle1,_,_))::(_,(_,
++LPAREN1left,_))::rest671) => let val result=MlyValue.cycle(fn _ => 
++let val cycle as cycle1=cycle1 ()
++ in (cycle) end
++)
++ in (LrTable.NT 172,(result,LPAREN1left,RPAREN1right),rest671) end
++| (53,(_,(MlyValue.latencybind latencybind1,latencybind1left,
++latencybind1right))::rest671) => let val result=MlyValue.latencybinds(
++fn _ => let val latencybind as latencybind1=latencybind1 ()
++ in ([latencybind]) end
++)
++ in (LrTable.NT 173,(result,latencybind1left,latencybind1right),
++rest671) end
++| (54,(_,(MlyValue.latencybinds latencybinds1,_,latencybinds1right))::
++_::(_,(MlyValue.latencybind latencybind1,latencybind1left,_))::rest671
++) => let val result=MlyValue.latencybinds(fn _ => let val latencybind
++ as latencybind1=latencybind1 ()
++val latencybinds as latencybinds1=latencybinds1 ()
++ in (latencybind::latencybinds) end
++)
++ in (LrTable.NT 173,(result,latencybind1left,latencybinds1right),
++rest671) end
++| (55,(_,(MlyValue.latencyclauses latencyclauses1,latencyclauses1left,
++latencyclauses1right))::rest671) => let val result=
++MlyValue.latencybind(fn _ => let val latencyclauses as latencyclauses1
++=latencyclauses1 ()
++ in (
++let val name = #1(hd latencyclauses)
++                     val clauses = map (fn (_,x,y) => (x,y)) latencyclauses
++                 in  (LATENCYbind(name, clauses)) end
++                
++) end
++)
++ in (LrTable.NT 174,(result,latencyclauses1left,latencyclauses1right),
++rest671) end
++| (56,(_,(MlyValue.latencyclause latencyclause1,latencyclause1left,
++latencyclause1right))::rest671) => let val result=
++MlyValue.latencyclauses(fn _ => let val latencyclause as 
++latencyclause1=latencyclause1 ()
++ in ([latencyclause]) end
++)
++ in (LrTable.NT 175,(result,latencyclause1left,latencyclause1right),
++rest671) end
++| (57,(_,(MlyValue.latencyclauses latencyclauses1,_,
++latencyclauses1right))::_::(_,(MlyValue.latencyclause latencyclause1,
++latencyclause1left,_))::rest671) => let val result=
++MlyValue.latencyclauses(fn _ => let val latencyclause as 
++latencyclause1=latencyclause1 ()
++val latencyclauses as latencyclauses1=latencyclauses1 ()
++ in (latencyclause::latencyclauses) end
++)
++ in (LrTable.NT 175,(result,latencyclause1left,latencyclauses1right),
++rest671) end
++| (58,(_,(MlyValue.exp exp1,_,exp1right))::_::(_,(MlyValue.pat pat1,_,
++_))::(_,(MlyValue.id id1,id1left,_))::rest671) => let val result=
++MlyValue.latencyclause(fn _ => let val id as id1=id1 ()
++val pat as pat1=pat1 ()
++val exp as exp1=exp1 ()
++ in (id, pat, exp) end
++)
++ in (LrTable.NT 176,(result,id1left,exp1right),rest671) end
++| (59,(_,(MlyValue.withtypeclause withtypeclause1,_,
++withtypeclause1right))::(_,(MlyValue.datatypebinds datatypebinds1,_,_)
++)::(_,(_,DATATYPE1left,_))::rest671) => let val result=
++MlyValue.mymldecl(fn _ => let val datatypebinds as datatypebinds1=
++datatypebinds1 ()
++val withtypeclause as withtypeclause1=withtypeclause1 ()
++ in (DATATYPEdecl(datatypebinds,withtypeclause)) end
++)
++ in (LrTable.NT 29,(result,DATATYPE1left,withtypeclause1right),rest671
++) end
++| (60,(_,(MlyValue.typebinds typebinds1,_,typebinds1right))::(_,(_,
++TYPE1left,_))::rest671) => let val result=MlyValue.mymldecl(fn _ => 
++let val typebinds as typebinds1=typebinds1 ()
++ in (DATATYPEdecl([],typebinds)) end
++)
++ in (LrTable.NT 29,(result,TYPE1left,typebinds1right),rest671) end
++| (61,(_,(MlyValue.funbinds funbinds1,_,funbinds1right))::(_,(_,
++FUN1left,_))::rest671) => let val result=MlyValue.mymldecl(fn _ => 
++let val funbinds as funbinds1=funbinds1 ()
++ in (FUNdecl(funbinds)) end
++)
++ in (LrTable.NT 29,(result,FUN1left,funbinds1right),rest671) end
++| (62,(_,(MlyValue.exp exp1,_,expright as exp1right))::_::_::(_,(
++MlyValue.labpats0 labpats01,_,_))::_::(_,(MlyValue.id id1,_,_))::(_,(_
++,RTLleft as RTL1left,_))::rest671) => let val result=MlyValue.mymldecl
++(fn _ => let val id as id1=id1 ()
++val labpats0 as labpats01=labpats01 ()
++val exp as exp1=exp1 ()
++ in (
++RTLdecl(IDpat id,LAMBDAexp
++                                  [CLAUSE([RECORDpat labpats0],NONE,exp)],
++                      SourceMapping.location srcMap (RTLleft, expright))
++) end
++)
++ in (LrTable.NT 29,(result,RTL1left,exp1right),rest671) end
++| (63,(_,(MlyValue.exp exp1,_,expright as exp1right))::_::(_,(
++MlyValue.asapat asapat1,_,_))::(_,(_,RTLleft as RTL1left,_))::rest671)
++ => let val result=MlyValue.mymldecl(fn _ => let val asapat as asapat1
++=asapat1 ()
++val exp as exp1=exp1 ()
++ in (
++RTLdecl(asapat,exp,
++                            SourceMapping.location srcMap (RTLleft,expright))
++) end
++)
++ in (LrTable.NT 29,(result,RTL1left,exp1right),rest671) end
++| (64,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.syms syms1,_,_
++))::(_,(_,RTL1left,_))::rest671) => let val result=MlyValue.mymldecl(
++fn _ => let val syms as syms1=syms1 ()
++val ty as ty1=ty1 ()
++ in (RTLSIGdecl(syms,ty)) end
++)
++ in (LrTable.NT 29,(result,RTL1left,ty1right),rest671) end
++| (65,(_,(MlyValue.valbinds valbinds1,_,valbinds1right))::(_,(_,
++VAL1left,_))::rest671) => let val result=MlyValue.mymldecl(fn _ => 
++let val valbinds as valbinds1=valbinds1 ()
++ in (VALdecl(valbinds)) end
++)
++ in (LrTable.NT 29,(result,VAL1left,valbinds1right),rest671) end
++| (66,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.syms syms1,_,_
++))::(_,(_,VAL1left,_))::rest671) => let val result=MlyValue.mymldecl(
++fn _ => let val syms as syms1=syms1 ()
++val ty as ty1=ty1 ()
++ in (VALSIGdecl(syms,ty)) end
++)
++ in (LrTable.NT 29,(result,VAL1left,ty1right),rest671) end
++| (67,(_,(MlyValue.tid tid1,_,tid1right))::(_,(MlyValue.tyvarseq 
++tyvarseq1,_,_))::(_,(_,TYPE1left,_))::rest671) => let val result=
++MlyValue.mymldecl(fn _ => let val tyvarseq as tyvarseq1=tyvarseq1 ()
++val tid as tid1=tid1 ()
++ in (TYPESIGdecl(tid,tyvarseq)) end
++)
++ in (LrTable.NT 29,(result,TYPE1left,tid1right),rest671) end
++| (68,(_,(_,_,END1right))::(_,(MlyValue.scopeddecls scopeddecls2,_,_))
++::_::(_,(MlyValue.scopeddecls scopeddecls1,_,_))::(_,(_,LOCAL1left,_))
++::rest671) => let val result=MlyValue.mymldecl(fn _ => let val 
++scopeddecls1=scopeddecls1 ()
++val scopeddecls2=scopeddecls2 ()
++ in (LOCALdecl(scopeddecls1,scopeddecls2)) end
++)
++ in (LrTable.NT 29,(result,LOCAL1left,END1right),rest671) end
++| (69,(_,(MlyValue.structexp structexp1,_,structexp1right))::_::(_,(
++MlyValue.id id1,_,_))::(_,(_,STRUCTURE1left,_))::rest671) => let val 
++result=MlyValue.mymldecl(fn _ => let val id as id1=id1 ()
++val structexp as structexp1=structexp1 ()
++ in (STRUCTUREdecl(id,[],NONE,structexp)) end
++)
++ in (LrTable.NT 29,(result,STRUCTURE1left,structexp1right),rest671)
++ end
++| (70,(_,(MlyValue.structexp structexp1,_,structexp1right))::_::(_,(
++MlyValue.sigcon sigcon1,_,_))::(_,(MlyValue.id id1,_,_))::(_,(_,
++STRUCTURE1left,_))::rest671) => let val result=MlyValue.mymldecl(fn _
++ => let val id as id1=id1 ()
++val sigcon as sigcon1=sigcon1 ()
++val structexp as structexp1=structexp1 ()
++ in (STRUCTUREdecl(id,[],SOME sigcon,structexp)) end
++)
++ in (LrTable.NT 29,(result,STRUCTURE1left,structexp1right),rest671)
++ end
++| (71,(_,(MlyValue.sigexp sigexp1,_,sigexp1right))::_::(_,(MlyValue.id
++ id1,_,_))::(_,(_,STRUCTURE1left,_))::rest671) => let val result=
++MlyValue.mymldecl(fn _ => let val id as id1=id1 ()
++val sigexp as sigexp1=sigexp1 ()
++ in (STRUCTURESIGdecl(id,sigexp)) end
++)
++ in (LrTable.NT 29,(result,STRUCTURE1left,sigexp1right),rest671) end
++| (72,(_,(MlyValue.sigexp sigexp1,_,sigexp1right))::_::(_,(MlyValue.id
++ id1,_,_))::(_,(_,SIGNATURE1left,_))::rest671) => let val result=
++MlyValue.mymldecl(fn _ => let val id as id1=id1 ()
++val sigexp as sigexp1=sigexp1 ()
++ in (SIGNATUREdecl(id,sigexp)) end
++)
++ in (LrTable.NT 29,(result,SIGNATURE1left,sigexp1right),rest671) end
++| (73,(_,(MlyValue.structexp structexp1,_,structexp1right))::_::_::(_,
++(MlyValue.functorarg functorarg1,_,_))::_::(_,(MlyValue.id id1,_,_))::
++(_,(_,FUNCTOR1left,_))::rest671) => let val result=MlyValue.mymldecl(
++fn _ => let val id as id1=id1 ()
++val functorarg as functorarg1=functorarg1 ()
++val structexp as structexp1=structexp1 ()
++ in (STRUCTUREdecl(id,functorarg,NONE,structexp)) end
++)
++ in (LrTable.NT 29,(result,FUNCTOR1left,structexp1right),rest671) end
++| (74,(_,(MlyValue.structexp structexp1,_,structexp1right))::_::(_,(
++MlyValue.sigcon sigcon1,_,_))::_::(_,(MlyValue.functorarg functorarg1,
++_,_))::_::(_,(MlyValue.id id1,_,_))::(_,(_,FUNCTOR1left,_))::rest671)
++ => let val result=MlyValue.mymldecl(fn _ => let val id as id1=id1 ()
++val functorarg as functorarg1=functorarg1 ()
++val sigcon as sigcon1=sigcon1 ()
++val structexp as structexp1=structexp1 ()
++ in (STRUCTUREdecl(id,functorarg,SOME sigcon,structexp)) end
++)
++ in (LrTable.NT 29,(result,FUNCTOR1left,structexp1right),rest671) end
++| (75,(_,(MlyValue.structexp structexp1,_,structexp1right))::_::(_,(
++MlyValue.id id1,_,_))::(_,(_,FUNCTOR1left,_))::rest671) => let val 
++result=MlyValue.mymldecl(fn _ => let val id as id1=id1 ()
++val structexp as structexp1=structexp1 ()
++ in (FUNCTORdecl(id,[],NONE,structexp)) end
++)
++ in (LrTable.NT 29,(result,FUNCTOR1left,structexp1right),rest671) end
++| (76,(_,(MlyValue.sharingdecls sharingdecls1,_,sharingdecls1right))::
++(_,(_,SHARING1left,_))::rest671) => let val result=MlyValue.mymldecl(
++fn _ => let val sharingdecls as sharingdecls1=sharingdecls1 ()
++ in (SHARINGdecl sharingdecls) end
++)
++ in (LrTable.NT 29,(result,SHARING1left,sharingdecls1right),rest671)
++ end
++| (77,(_,(MlyValue.syms syms1,_,syms1right))::(_,(MlyValue.intopt 
++intopt1,_,_))::(_,(_,INFIX1left,_))::rest671) => let val result=
++MlyValue.mymldecl(fn _ => let val intopt as intopt1=intopt1 ()
++val syms as syms1=syms1 ()
++ in (Infix precStack (intopt,syms); INFIXdecl(intopt,syms)) end
++)
++ in (LrTable.NT 29,(result,INFIX1left,syms1right),rest671) end
++| (78,(_,(MlyValue.syms syms1,_,syms1right))::(_,(MlyValue.intopt 
++intopt1,_,_))::(_,(_,INFIXR1left,_))::rest671) => let val result=
++MlyValue.mymldecl(fn _ => let val intopt as intopt1=intopt1 ()
++val syms as syms1=syms1 ()
++ in (Infixr precStack (intopt,syms); INFIXRdecl(intopt,syms)) end
++)
++ in (LrTable.NT 29,(result,INFIXR1left,syms1right),rest671) end
++| (79,(_,(MlyValue.syms syms1,_,syms1right))::(_,(_,NONFIX1left,_))::
++rest671) => let val result=MlyValue.mymldecl(fn _ => let val syms as 
++syms1=syms1 ()
++ in (Nonfix precStack (syms); NONFIXdecl(syms)) end
++)
++ in (LrTable.NT 29,(result,NONFIX1left,syms1right),rest671) end
++| (80,(_,(MlyValue.idents idents1,_,idents1right))::(_,(_,OPEN1left,_)
++)::rest671) => let val result=MlyValue.mymldecl(fn _ => let val idents
++ as idents1=idents1 ()
++ in (OPENdecl(idents)) end
++)
++ in (LrTable.NT 29,(result,OPEN1left,idents1right),rest671) end
++| (81,(_,(MlyValue.sigexp sigexp1,_,sigexp1right))::(_,(_,INCLUDE1left
++,_))::rest671) => let val result=MlyValue.mymldecl(fn _ => let val 
++sigexp as sigexp1=sigexp1 ()
++ in (INCLUDESIGdecl sigexp) end
++)
++ in (LrTable.NT 29,(result,INCLUDE1left,sigexp1right),rest671) end
++| (82,(_,(MlyValue.exceptionbinds exceptionbinds1,_,
++exceptionbinds1right))::(_,(_,EXCEPTION1left,_))::rest671) => let val 
++result=MlyValue.mymldecl(fn _ => let val exceptionbinds as 
++exceptionbinds1=exceptionbinds1 ()
++ in (EXCEPTIONdecl exceptionbinds) end
++)
++ in (LrTable.NT 29,(result,EXCEPTION1left,exceptionbinds1right),
++rest671) end
++| (83,(_,(MlyValue.exceptionbind exceptionbind1,exceptionbind1left,
++exceptionbind1right))::rest671) => let val result=
++MlyValue.exceptionbinds(fn _ => let val exceptionbind as 
++exceptionbind1=exceptionbind1 ()
++ in ([exceptionbind]) end
++)
++ in (LrTable.NT 24,(result,exceptionbind1left,exceptionbind1right),
++rest671) end
++| (84,(_,(MlyValue.exceptionbinds exceptionbinds1,_,
++exceptionbinds1right))::_::(_,(MlyValue.exceptionbind exceptionbind1,
++exceptionbind1left,_))::rest671) => let val result=
++MlyValue.exceptionbinds(fn _ => let val exceptionbind as 
++exceptionbind1=exceptionbind1 ()
++val exceptionbinds as exceptionbinds1=exceptionbinds1 ()
++ in (exceptionbind::exceptionbinds) end
++)
++ in (LrTable.NT 24,(result,exceptionbind1left,exceptionbinds1right),
++rest671) end
++| (85,(_,(MlyValue.id id1,id1left,id1right))::rest671) => let val 
++result=MlyValue.exceptionbind(fn _ => let val id as id1=id1 ()
++ in (EXCEPTIONbind(id,NONE)) end
++)
++ in (LrTable.NT 23,(result,id1left,id1right),rest671) end
++| (86,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.id id1,id1left
++,_))::rest671) => let val result=MlyValue.exceptionbind(fn _ => let 
++val id as id1=id1 ()
++val ty as ty1=ty1 ()
++ in (EXCEPTIONbind(id,SOME ty)) end
++)
++ in (LrTable.NT 23,(result,id1left,ty1right),rest671) end
++| (87,(_,(MlyValue.ident ident1,_,ident1right))::_::(_,(MlyValue.id 
++id1,id1left,_))::rest671) => let val result=MlyValue.exceptionbind(fn 
++_ => let val id as id1=id1 ()
++val ident as ident1=ident1 ()
++ in (EXCEPTIONEQbind(id,ident)) end
++)
++ in (LrTable.NT 23,(result,id1left,ident1right),rest671) end
++| (88,(_,(MlyValue.scopeddecls scopeddecls1,scopeddecls1left,
++scopeddecls1right))::rest671) => let val result=MlyValue.functorarg(
++fn _ => let val scopeddecls as scopeddecls1=scopeddecls1 ()
++ in (scopeddecls) end
++)
++ in (LrTable.NT 18,(result,scopeddecls1left,scopeddecls1right),rest671
++) end
++| (89,(_,(MlyValue.sigcon sigcon1,_,sigcon1right))::(_,(MlyValue.id 
++id1,id1left,_))::rest671) => let val result=MlyValue.functorarg(fn _
++ => let val id as id1=id1 ()
++val sigcon as sigcon1=sigcon1 ()
++ in ([FUNCTORARGdecl(id,sigcon)]) end
++)
++ in (LrTable.NT 18,(result,id1left,sigcon1right),rest671) end
++| (90,(_,(MlyValue.ident ident1,ident1left,ident1right))::rest671) => 
++let val result=MlyValue.sigexp(fn _ => let val ident as ident1=ident1 
++()
++ in (IDsig ident) end
++)
++ in (LrTable.NT 152,(result,ident1left,ident1right),rest671) end
++| (91,(_,(_,_,END1right))::(_,(MlyValue.decls decls1,_,_))::(_,(_,
++SIG1left,_))::rest671) => let val result=MlyValue.sigexp(fn _ => let 
++val decls as decls1=decls1 ()
++ in (DECLsig decls) end
++)
++ in (LrTable.NT 152,(result,SIG1left,END1right),rest671) end
++| (92,(_,(MlyValue.sigsubs sigsubs1,_,sigsubs1right))::_::(_,(
++MlyValue.sigexp sigexp1,sigexp1left,_))::rest671) => let val result=
++MlyValue.sigexp(fn _ => let val sigexp as sigexp1=sigexp1 ()
++val sigsubs as sigsubs1=sigsubs1 ()
++ in (sigsubs sigexp) end
++)
++ in (LrTable.NT 152,(result,sigexp1left,sigsubs1right),rest671) end
++| (93,(_,(MlyValue.sigexp sigexp1,_,sigexp1right))::(_,(_,COLON1left,_
++))::rest671) => let val result=MlyValue.sigcon(fn _ => let val sigexp
++ as sigexp1=sigexp1 ()
++ in ({abstract=false,sigexp=sigexp}) end
++)
++ in (LrTable.NT 2,(result,COLON1left,sigexp1right),rest671) end
++| (94,(_,(MlyValue.sigexp sigexp1,_,sigexp1right))::(_,(_,
++COLONGREATER1left,_))::rest671) => let val result=MlyValue.sigcon(fn _
++ => let val sigexp as sigexp1=sigexp1 ()
++ in ({abstract=true,sigexp=sigexp}) end
++)
++ in (LrTable.NT 2,(result,COLONGREATER1left,sigexp1right),rest671) end
++| (95,(_,(MlyValue.sigsub sigsub1,sigsub1left,sigsub1right))::rest671)
++ => let val result=MlyValue.sigsubs(fn _ => let val sigsub as sigsub1=
++sigsub1 ()
++ in (sigsub) end
++)
++ in (LrTable.NT 151,(result,sigsub1left,sigsub1right),rest671) end
++| (96,(_,(MlyValue.sigsubs sigsubs1,_,sigsubs1right))::_::(_,(
++MlyValue.sigsub sigsub1,sigsub1left,_))::rest671) => let val result=
++MlyValue.sigsubs(fn _ => let val sigsub as sigsub1=sigsub1 ()
++val sigsubs as sigsubs1=sigsubs1 ()
++ in (sigsub o sigsubs) end
++)
++ in (LrTable.NT 151,(result,sigsub1left,sigsubs1right),rest671) end
++| (97,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.ident ident1,_
++,_))::(_,(_,TYPE1left,_))::rest671) => let val result=MlyValue.sigsub(
++fn _ => let val ident as ident1=ident1 ()
++val ty as ty1=ty1 ()
++ in (fn s => WHERETYPEsig(s,ident,ty)) end
++)
++ in (LrTable.NT 150,(result,TYPE1left,ty1right),rest671) end
++| (98,(_,(MlyValue.structexp structexp1,_,structexp1right))::_::(_,(
++MlyValue.ident ident1,ident1left,_))::rest671) => let val result=
++MlyValue.sigsub(fn _ => let val ident as ident1=ident1 ()
++val structexp as structexp1=structexp1 ()
++ in (fn s => WHEREsig(s,ident,structexp)) end
++)
++ in (LrTable.NT 150,(result,ident1left,structexp1right),rest671) end
++| (99,(_,(MlyValue.sharingdecl sharingdecl1,sharingdecl1left,
++sharingdecl1right))::rest671) => let val result=MlyValue.sharingdecls(
++fn _ => let val sharingdecl as sharingdecl1=sharingdecl1 ()
++ in ([sharingdecl]) end
++)
++ in (LrTable.NT 33,(result,sharingdecl1left,sharingdecl1right),rest671
++) end
++| (100,(_,(MlyValue.sharingdecls sharingdecls1,_,sharingdecls1right))
++::_::(_,(MlyValue.sharingdecl sharingdecl1,sharingdecl1left,_))::
++rest671) => let val result=MlyValue.sharingdecls(fn _ => let val 
++sharingdecl as sharingdecl1=sharingdecl1 ()
++val sharingdecls as sharingdecls1=sharingdecls1 ()
++ in (sharingdecl::sharingdecls) end
++)
++ in (LrTable.NT 33,(result,sharingdecl1left,sharingdecls1right),
++rest671) end
++| (101,(_,(MlyValue.sharelist sharelist1,_,sharelist1right))::(_,(_,
++TYPE1left,_))::rest671) => let val result=MlyValue.sharingdecl(fn _
++ => let val sharelist as sharelist1=sharelist1 ()
++ in (TYPEshare sharelist) end
++)
++ in (LrTable.NT 32,(result,TYPE1left,sharelist1right),rest671) end
++| (102,(_,(MlyValue.sharelist sharelist1,sharelist1left,
++sharelist1right))::rest671) => let val result=MlyValue.sharingdecl(fn 
++_ => let val sharelist as sharelist1=sharelist1 ()
++ in (STRUCTshare sharelist) end
++)
++ in (LrTable.NT 32,(result,sharelist1left,sharelist1right),rest671)
++ end
++| (103,(_,(MlyValue.ident ident2,_,ident2right))::_::(_,(
++MlyValue.ident ident1,ident1left,_))::rest671) => let val result=
++MlyValue.sharelist(fn _ => let val ident1=ident1 ()
++val ident2=ident2 ()
++ in ([ident1,ident2]) end
++)
++ in (LrTable.NT 34,(result,ident1left,ident2right),rest671) end
++| (104,(_,(MlyValue.sharelist sharelist1,_,sharelist1right))::_::(_,(
++MlyValue.ident ident1,ident1left,_))::rest671) => let val result=
++MlyValue.sharelist(fn _ => let val ident as ident1=ident1 ()
++val sharelist as sharelist1=sharelist1 ()
++ in (ident::sharelist) end
++)
++ in (LrTable.NT 34,(result,ident1left,sharelist1right),rest671) end
++| (105,(_,(MlyValue.oldScope oldScope1,_,oldScope1right))::(_,(
++MlyValue.mldecls mldecls1,_,_))::(_,(MlyValue.newScope newScope1,
++newScope1left,_))::rest671) => let val result=MlyValue.scopedmldecls(
++fn _ => let val newScope1=newScope1 ()
++val mldecls as mldecls1=mldecls1 ()
++val oldScope1=oldScope1 ()
++ in (mldecls) end
++)
++ in (LrTable.NT 19,(result,newScope1left,oldScope1right),rest671) end
++| (106,(_,(MlyValue.oldScope oldScope1,_,oldScope1right))::(_,(
++MlyValue.decls decls1,_,_))::(_,(MlyValue.newScope newScope1,
++newScope1left,_))::rest671) => let val result=MlyValue.scopeddecls(fn 
++_ => let val newScope1=newScope1 ()
++val decls as decls1=decls1 ()
++val oldScope1=oldScope1 ()
++ in (decls) end
++)
++ in (LrTable.NT 17,(result,newScope1left,oldScope1right),rest671) end
++| (107,rest671) => let val result=MlyValue.newScope(fn _ => (
++newScope precStack))
++ in (LrTable.NT 20,(result,defaultPos,defaultPos),rest671) end
++| (108,rest671) => let val result=MlyValue.oldScope(fn _ => (
++oldScope precStack))
++ in (LrTable.NT 21,(result,defaultPos,defaultPos),rest671) end
++| (109,(_,(MlyValue.sym sym1,sym1left,sym1right))::rest671) => let 
++val result=MlyValue.syms(fn _ => let val sym as sym1=sym1 ()
++ in ([sym]) end
++)
++ in (LrTable.NT 14,(result,sym1left,sym1right),rest671) end
++| (110,(_,(MlyValue.syms syms1,_,syms1right))::(_,(MlyValue.sym sym1,
++sym1left,_))::rest671) => let val result=MlyValue.syms(fn _ => let 
++val sym as sym1=sym1 ()
++val syms as syms1=syms1 ()
++ in (sym::syms) end
++)
++ in (LrTable.NT 14,(result,sym1left,syms1right),rest671) end
++| (111,(_,(MlyValue.ident ident1,ident1left,ident1right))::rest671)
++ => let val result=MlyValue.idents(fn _ => let val ident as ident1=
++ident1 ()
++ in ([ident]) end
++)
++ in (LrTable.NT 13,(result,ident1left,ident1right),rest671) end
++| (112,(_,(MlyValue.idents idents1,_,idents1right))::(_,(
++MlyValue.ident ident1,ident1left,_))::rest671) => let val result=
++MlyValue.idents(fn _ => let val ident as ident1=ident1 ()
++val idents as idents1=idents1 ()
++ in (ident::idents) end
++)
++ in (LrTable.NT 13,(result,ident1left,idents1right),rest671) end
++| (113,(_,(_,LOWERCASE1left,LOWERCASE1right))::rest671) => let val 
++result=MlyValue.assemblycase(fn _ => (LOWERCASE))
++ in (LrTable.NT 138,(result,LOWERCASE1left,LOWERCASE1right),rest671)
++ end
++| (114,(_,(_,UPPERCASE1left,UPPERCASE1right))::rest671) => let val 
++result=MlyValue.assemblycase(fn _ => (UPPERCASE))
++ in (LrTable.NT 138,(result,UPPERCASE1left,UPPERCASE1right),rest671)
++ end
++| (115,(_,(_,VERBATIM1left,VERBATIM1right))::rest671) => let val 
++result=MlyValue.assemblycase(fn _ => (VERBATIM))
++ in (LrTable.NT 138,(result,VERBATIM1left,VERBATIM1right),rest671) end
++| (116,(_,(MlyValue.exp exp1,_,exp1right))::(_,(_,RTL_COLON1left,_))::
++rest671) => let val result=MlyValue.rtl(fn _ => let val exp as exp1=
++exp1 ()
++ in (SOME(exp)) end
++)
++ in (LrTable.NT 139,(result,RTL_COLON1left,exp1right),rest671) end
++| (117,rest671) => let val result=MlyValue.rtl(fn _ => (NONE))
++ in (LrTable.NT 139,(result,defaultPos,defaultPos),rest671) end
++| (118,(_,(MlyValue.rtlterm rtlterm1,rtlterm1left,rtlterm1right))::
++rest671) => let val result=MlyValue.rtlterms(fn _ => let val rtlterm
++ as rtlterm1=rtlterm1 ()
++ in ([rtlterm]) end
++)
++ in (LrTable.NT 141,(result,rtlterm1left,rtlterm1right),rest671) end
++| (119,(_,(MlyValue.rtlterms rtlterms1,_,rtlterms1right))::(_,(
++MlyValue.rtlterm rtlterm1,rtlterm1left,_))::rest671) => let val result
++=MlyValue.rtlterms(fn _ => let val rtlterm as rtlterm1=rtlterm1 ()
++val rtlterms as rtlterms1=rtlterms1 ()
++ in (rtlterm::rtlterms) end
++)
++ in (LrTable.NT 141,(result,rtlterm1left,rtlterms1right),rest671) end
++| (120,(_,(MlyValue.string string1,string1left,string1right))::rest671
++) => let val result=MlyValue.rtlterm(fn _ => let val string as string1
++=string1 ()
++ in (LITrtl string) end
++)
++ in (LrTable.NT 140,(result,string1left,string1right),rest671) end
++| (121,(_,(MlyValue.sym sym1,sym1left,sym1right))::rest671) => let 
++val result=MlyValue.rtlterm(fn _ => let val sym as sym1=sym1 ()
++ in (IDrtl sym) end
++)
++ in (LrTable.NT 140,(result,sym1left,sym1right),rest671) end
++| (122,(_,(MlyValue.id id1,_,id1right))::(_,(_,HASH1left,_))::rest671)
++ => let val result=MlyValue.rtlterm(fn _ => let val id as id1=id1 ()
++ in (COMPOSITErtl id) end
++)
++ in (LrTable.NT 140,(result,HASH1left,id1right),rest671) end
++| (123,(_,(MlyValue.ident ident1,ident1left,ident1right))::rest671)
++ => let val result=MlyValue.structexp(fn _ => let val ident as ident1=
++ident1 ()
++ in (IDsexp ident) end
++)
++ in (LrTable.NT 1,(result,ident1left,ident1right),rest671) end
++| (124,(_,(_,_,END1right))::(_,(MlyValue.scopeddecls scopeddecls1,_,_)
++)::(_,(_,STRUCT1left,_))::rest671) => let val result=
++MlyValue.structexp(fn _ => let val scopeddecls as scopeddecls1=
++scopeddecls1 ()
++ in (DECLsexp scopeddecls) end
++)
++ in (LrTable.NT 1,(result,STRUCT1left,END1right),rest671) end
++| (125,(_,(_,_,RPAREN1right))::(_,(MlyValue.scopeddecls scopeddecls1,_
++,_))::_::(_,(MlyValue.structexp structexp1,structexp1left,_))::rest671
++) => let val result=MlyValue.structexp(fn _ => let val structexp as 
++structexp1=structexp1 ()
++val scopeddecls as scopeddecls1=scopeddecls1 ()
++ in (APPsexp(structexp,DECLsexp scopeddecls)) end
++)
++ in (LrTable.NT 1,(result,structexp1left,RPAREN1right),rest671) end
++| (126,(_,(_,_,RPAREN1right))::(_,(MlyValue.ident ident1,_,_))::_::(_,
++(MlyValue.structexp structexp1,structexp1left,_))::rest671) => let 
++val result=MlyValue.structexp(fn _ => let val structexp as structexp1=
++structexp1 ()
++val ident as ident1=ident1 ()
++ in (APPsexp(structexp,IDsexp ident)) end
++)
++ in (LrTable.NT 1,(result,structexp1left,RPAREN1right),rest671) end
++| (127,(_,(MlyValue.datatypebind datatypebind1,datatypebind1left,
++datatypebind1right))::rest671) => let val result=
++MlyValue.datatypebinds(fn _ => let val datatypebind as datatypebind1=
++datatypebind1 ()
++ in ([datatypebind]) end
++)
++ in (LrTable.NT 107,(result,datatypebind1left,datatypebind1right),
++rest671) end
++| (128,(_,(MlyValue.datatypebinds datatypebinds1,_,datatypebinds1right
++))::_::(_,(MlyValue.datatypebind datatypebind1,datatypebind1left,_))::
++rest671) => let val result=MlyValue.datatypebinds(fn _ => let val 
++datatypebind as datatypebind1=datatypebind1 ()
++val datatypebinds as datatypebinds1=datatypebinds1 ()
++ in (datatypebind::datatypebinds) end
++)
++ in (LrTable.NT 107,(result,datatypebind1left,datatypebinds1right),
++rest671) end
++| (129,(_,(MlyValue.consbinds consbinds1,_,consbinds1right))::_::(_,(
++MlyValue.hasasm hasasm1,_,_))::(_,(MlyValue.fieldty fieldty1,_,_))::(_
++,(MlyValue.opcodeencoding opcodeencoding1,_,_))::(_,(MlyValue.id id1,_
++,_))::(_,(MlyValue.tyvarseq tyvarseq1,tyvarseq1left,_))::rest671) => 
++let val result=MlyValue.datatypebind(fn _ => let val tyvarseq as 
++tyvarseq1=tyvarseq1 ()
++val id as id1=id1 ()
++val opcodeencoding as opcodeencoding1=opcodeencoding1 ()
++val fieldty as fieldty1=fieldty1 ()
++val hasasm as hasasm1=hasasm1 ()
++val consbinds as consbinds1=consbinds1 ()
++ in (
++let val a = hasasm orelse
++   			List.exists(fn CONSbind{asm=SOME _,...}=>true
++				     | _ => false) consbinds
++		 in
++		    DATATYPEbind{id=id,tyvars=tyvarseq,mc=opcodeencoding,
++                                 asm=a,field=fieldty,cbs=consbinds}
++		 end
++		
++) end
++)
++ in (LrTable.NT 108,(result,tyvarseq1left,consbinds1right),rest671)
++ end
++| (130,(_,(MlyValue.ty ty1,_,ty1right))::_::_::(_,(MlyValue.hasasm 
++hasasm1,_,_))::(_,(MlyValue.fieldty fieldty1,_,_))::(_,(
++MlyValue.opcodeencoding opcodeencoding1,_,_))::(_,(MlyValue.id id1,_,_
++))::(_,(MlyValue.tyvarseq tyvarseq1,tyvarseq1left,_))::rest671) => 
++let val result=MlyValue.datatypebind(fn _ => let val tyvarseq as 
++tyvarseq1=tyvarseq1 ()
++val id as id1=id1 ()
++val opcodeencoding1=opcodeencoding1 ()
++val fieldty1=fieldty1 ()
++val hasasm1=hasasm1 ()
++val ty as ty1=ty1 ()
++ in (DATATYPEEQbind{id=id,tyvars=tyvarseq,ty=ty}) end
++)
++ in (LrTable.NT 108,(result,tyvarseq1left,ty1right),rest671) end
++| (131,(_,(_,DEREF1left,DEREF1right))::rest671) => let val result=
++MlyValue.hasasm(fn _ => (true))
++ in (LrTable.NT 149,(result,DEREF1left,DEREF1right),rest671) end
++| (132,rest671) => let val result=MlyValue.hasasm(fn _ => (false))
++ in (LrTable.NT 149,(result,defaultPos,defaultPos),rest671) end
++| (133,rest671) => let val result=MlyValue.fieldty(fn _ => (NONE))
++ in (LrTable.NT 145,(result,defaultPos,defaultPos),rest671) end
++| (134,(_,(MlyValue.id id1,_,id1right))::(_,(_,COLON1left,_))::rest671
++) => let val result=MlyValue.fieldty(fn _ => let val id as id1=id1 ()
++ in (SOME id) end
++)
++ in (LrTable.NT 145,(result,COLON1left,id1right),rest671) end
++| (135,rest671) => let val result=MlyValue.opcodeencoding(fn _ => (
++NONE))
++ in (LrTable.NT 142,(result,defaultPos,defaultPos),rest671) end
++| (136,(_,(_,_,RBRACKET1right))::(_,(MlyValue.encodingexps 
++encodingexps1,_,_))::(_,(_,LBRACKET1left,_))::rest671) => let val 
++result=MlyValue.opcodeencoding(fn _ => let val encodingexps as 
++encodingexps1=encodingexps1 ()
++ in (SOME encodingexps) end
++)
++ in (LrTable.NT 142,(result,LBRACKET1left,RBRACKET1right),rest671) end
++| (137,(_,(MlyValue.encodingexp encodingexp1,encodingexp1left,
++encodingexp1right))::rest671) => let val result=MlyValue.encodingexps(
++fn _ => let val encodingexp as encodingexp1=encodingexp1 ()
++ in (encodingexp) end
++)
++ in (LrTable.NT 144,(result,encodingexp1left,encodingexp1right),
++rest671) end
++| (138,(_,(MlyValue.encodingexps encodingexps1,_,encodingexps1right))
++::_::(_,(MlyValue.encodingexp encodingexp1,encodingexp1left,_))::
++rest671) => let val result=MlyValue.encodingexps(fn _ => let val 
++encodingexp as encodingexp1=encodingexp1 ()
++val encodingexps as encodingexps1=encodingexps1 ()
++ in (encodingexp@encodingexps) end
++)
++ in (LrTable.NT 144,(result,encodingexp1left,encodingexps1right),
++rest671) end
++| (139,(_,(MlyValue.int int1,int1left,int1right))::rest671) => let 
++val result=MlyValue.encodingexp(fn _ => let val int as int1=int1 ()
++ in ([int]) end
++)
++ in (LrTable.NT 143,(result,int1left,int1right),rest671) end
++| (140,(_,(MlyValue.int int2,_,int2right))::_::(_,(MlyValue.int int1,
++int1left,_))::rest671) => let val result=MlyValue.encodingexp(fn _ => 
++let val int1=int1 ()
++val int2=int2 ()
++ in (
++let fun f i = if i > int2 then [] else i::f(i+1)
++                 in  f int1 end
++) end
++)
++ in (LrTable.NT 143,(result,int1left,int2right),rest671) end
++| (141,(_,(MlyValue.int int3,_,int3right))::_::(_,(MlyValue.int int2,_
++,_))::(_,(MlyValue.int int1,int1left,_))::rest671) => let val result=
++MlyValue.encodingexp(fn _ => let val int1=int1 ()
++val int2=int2 ()
++val int3=int3 ()
++ in (
++let val inc = int2 - int1 
++                     fun f i = if i > int3 then [] else i::f(i+inc)
++                 in  f int1 end
++) end
++)
++ in (LrTable.NT 143,(result,int1left,int3right),rest671) end
++| (142,(_,(MlyValue.consbind consbind1,consbind1left,consbind1right))
++::rest671) => let val result=MlyValue.consbinds(fn _ => let val 
++consbind as consbind1=consbind1 ()
++ in ([consbind]) end
++)
++ in (LrTable.NT 109,(result,consbind1left,consbind1right),rest671) end
++| (143,(_,(MlyValue.consbinds consbinds1,_,consbinds1right))::_::(_,(
++MlyValue.consbind consbind1,consbind1left,_))::rest671) => let val 
++result=MlyValue.consbinds(fn _ => let val consbind as consbind1=
++consbind1 ()
++val consbinds as consbinds1=consbinds1 ()
++ in (consbind::consbinds) end
++)
++ in (LrTable.NT 109,(result,consbind1left,consbinds1right),rest671)
++ end
++| (144,(_,(MlyValue.pipeline pipeline1,_,pipeline1right))::(_,(
++MlyValue.latency latency1,_,_))::(_,(MlyValue.sdi sdi1,_,sdiright))::(
++_,(MlyValue.delayslotcandidate delayslotcandidate1,_,_))::(_,(
++MlyValue.delayslot delayslot1,_,_))::(_,(MlyValue.nullified nullified1
++,_,_))::(_,(MlyValue.nop nop1,_,_))::(_,(MlyValue.rtl rtl1,_,_))::(_,(
++MlyValue.consencoding consencoding1,_,_))::(_,(MlyValue.consassembly 
++consassembly1,_,_))::(_,(MlyValue.of_ty of_ty1,_,_))::(_,(MlyValue.sym
++ sym1,symleft as sym1left,_))::rest671) => let val result=
++MlyValue.consbind(fn _ => let val sym as sym1=sym1 ()
++val of_ty as of_ty1=of_ty1 ()
++val consassembly as consassembly1=consassembly1 ()
++val consencoding as consencoding1=consencoding1 ()
++val rtl as rtl1=rtl1 ()
++val nop as nop1=nop1 ()
++val nullified as nullified1=nullified1 ()
++val delayslot as delayslot1=delayslot1 ()
++val delayslotcandidate as delayslotcandidate1=delayslotcandidate1 ()
++val sdi as sdi1=sdi1 ()
++val latency as latency1=latency1 ()
++val pipeline as pipeline1=pipeline1 ()
++ in (
++let val cand = 
++			case delayslotcandidate of
++			  SOME _ => delayslotcandidate
++			| _ => case (nop,nullified) of
++				  (FLAGoff,FLAGoff) => NONE
++ 		    	        | _ => (SOME(BOOLexp false))
++		 in
++		    CONSbind{id=sym,ty=of_ty,mc=consencoding,
++			  asm=consassembly,rtl=rtl,
++			  nop=nop,sdi=sdi,nullified=nullified, 
++			  delayslot=delayslot,
++			  delaycand=cand, latency=latency, pipeline=pipeline,
++                          loc=SourceMapping.location srcMap (symleft,sdiright)
++			 }
++		 end
++		
++) end
++)
++ in (LrTable.NT 110,(result,sym1left,pipeline1right),rest671) end
++| (145,(_,(MlyValue.exp exp1,_,exp1right))::_::(_,(_,LATENCY1left,_))
++::rest671) => let val result=MlyValue.latency(fn _ => let val exp as 
++exp1=exp1 ()
++ in (SOME exp) end
++)
++ in (LrTable.NT 113,(result,LATENCY1left,exp1right),rest671) end
++| (146,rest671) => let val result=MlyValue.latency(fn _ => (NONE))
++ in (LrTable.NT 113,(result,defaultPos,defaultPos),rest671) end
++| (147,(_,(MlyValue.exp exp1,_,exp1right))::_::(_,(_,PIPELINE1left,_))
++::rest671) => let val result=MlyValue.pipeline(fn _ => let val exp as 
++exp1=exp1 ()
++ in (SOME exp) end
++)
++ in (LrTable.NT 114,(result,PIPELINE1left,exp1right),rest671) end
++| (148,rest671) => let val result=MlyValue.pipeline(fn _ => (NONE))
++ in (LrTable.NT 114,(result,defaultPos,defaultPos),rest671) end
++| (149,rest671) => let val result=MlyValue.delayslotcandidate(fn _ => 
++(NONE))
++ in (LrTable.NT 120,(result,defaultPos,defaultPos),rest671) end
++| (150,(_,(MlyValue.exp exp1,_,exp1right))::_::(_,(_,DELAYSLOT1left,_)
++)::rest671) => let val result=MlyValue.delayslotcandidate(fn _ => let 
++val exp as exp1=exp1 ()
++ in (SOME exp) end
++)
++ in (LrTable.NT 120,(result,DELAYSLOT1left,exp1right),rest671) end
++| (151,rest671) => let val result=MlyValue.of_ty(fn _ => (NONE))
++ in (LrTable.NT 67,(result,defaultPos,defaultPos),rest671) end
++| (152,(_,(MlyValue.ty ty1,_,ty1right))::(_,(_,OF1left,_))::rest671)
++ => let val result=MlyValue.of_ty(fn _ => let val ty as ty1=ty1 ()
++ in (SOME ty) end
++)
++ in (LrTable.NT 67,(result,OF1left,ty1right),rest671) end
++| (153,rest671) => let val result=MlyValue.nop(fn _ => (FLAGoff))
++ in (LrTable.NT 115,(result,defaultPos,defaultPos),rest671) end
++| (154,(_,(MlyValue.flag flag1,_,flag1right))::(_,(_,
++PADDING_COLON1left,_))::rest671) => let val result=MlyValue.nop(fn _
++ => let val flag as flag1=flag1 ()
++ in (flag) end
++)
++ in (LrTable.NT 115,(result,PADDING_COLON1left,flag1right),rest671)
++ end
++| (155,(_,(MlyValue.False False1,_,False1right))::(_,(_,
++PADDING_COLON1left,_))::rest671) => let val result=MlyValue.nop(fn _
++ => let val False1=False1 ()
++ in (FLAGoff) end
++)
++ in (LrTable.NT 115,(result,PADDING_COLON1left,False1right),rest671)
++ end
++| (156,(_,(MlyValue.True True1,_,True1right))::(_,(_,
++PADDING_COLON1left,_))::rest671) => let val result=MlyValue.nop(fn _
++ => let val True1=True1 ()
++ in (FLAGon) end
++)
++ in (LrTable.NT 115,(result,PADDING_COLON1left,True1right),rest671)
++ end
++| (157,(_,(_,TRUE1left,TRUE1right))::rest671) => let val result=
++MlyValue.True(fn _ => ())
++ in (LrTable.NT 153,(result,TRUE1left,TRUE1right),rest671) end
++| (158,(_,(_,ALWAYS1left,ALWAYS1right))::rest671) => let val result=
++MlyValue.True(fn _ => ())
++ in (LrTable.NT 153,(result,ALWAYS1left,ALWAYS1right),rest671) end
++| (159,(_,(_,FALSE1left,FALSE1right))::rest671) => let val result=
++MlyValue.False(fn _ => ())
++ in (LrTable.NT 154,(result,FALSE1left,FALSE1right),rest671) end
++| (160,(_,(_,NEVER1left,NEVER1right))::rest671) => let val result=
++MlyValue.False(fn _ => ())
++ in (LrTable.NT 154,(result,NEVER1left,NEVER1right),rest671) end
++| (161,(_,(MlyValue.flagguard flagguard1,_,flagguard1right))::(_,(
++MlyValue.id id1,id1left,_))::rest671) => let val result=MlyValue.flag(
++fn _ => let val id as id1=id1 ()
++val flagguard as flagguard1=flagguard1 ()
++ in (FLAGid(id,true,flagguard)) end
++)
++ in (LrTable.NT 116,(result,id1left,flagguard1right),rest671) end
++| (162,(_,(MlyValue.flagguard flagguard1,_,flagguard1right))::(_,(
++MlyValue.id id1,_,_))::(_,(_,NOT1left,_))::rest671) => let val result=
++MlyValue.flag(fn _ => let val id as id1=id1 ()
++val flagguard as flagguard1=flagguard1 ()
++ in (FLAGid(id,false,flagguard)) end
++)
++ in (LrTable.NT 116,(result,NOT1left,flagguard1right),rest671) end
++| (163,(_,(MlyValue.flagguard flagguard1,_,flagguard1right))::(_,(
++MlyValue.True True1,_,_))::_::(_,(MlyValue.id id1,id1left,_))::rest671
++) => let val result=MlyValue.flag(fn _ => let val id as id1=id1 ()
++val True1=True1 ()
++val flagguard as flagguard1=flagguard1 ()
++ in (FLAGid(id,true,flagguard)) end
++)
++ in (LrTable.NT 116,(result,id1left,flagguard1right),rest671) end
++| (164,(_,(MlyValue.flagguard flagguard1,_,flagguard1right))::(_,(
++MlyValue.False False1,_,_))::_::(_,(MlyValue.id id1,id1left,_))::
++rest671) => let val result=MlyValue.flag(fn _ => let val id as id1=id1
++ ()
++val False1=False1 ()
++val flagguard as flagguard1=flagguard1 ()
++ in (FLAGid(id,false,flagguard)) end
++)
++ in (LrTable.NT 116,(result,id1left,flagguard1right),rest671) end
++| (165,rest671) => let val result=MlyValue.flagguard(fn _ => (
++BOOLexp true))
++ in (LrTable.NT 117,(result,defaultPos,defaultPos),rest671) end
++| (166,(_,(MlyValue.exp exp1,_,exp1right))::(_,(_,AND1left,_))::
++rest671) => let val result=MlyValue.flagguard(fn _ => let val exp as 
++exp1=exp1 ()
++ in (exp) end
++)
++ in (LrTable.NT 117,(result,AND1left,exp1right),rest671) end
++| (167,rest671) => let val result=MlyValue.nullified(fn _ => (FLAGoff)
++)
++ in (LrTable.NT 118,(result,defaultPos,defaultPos),rest671) end
++| (168,(_,(_,_,FALSE1right))::(_,(_,NULLIFIED_COLON1left,_))::rest671)
++ => let val result=MlyValue.nullified(fn _ => (FLAGoff))
++ in (LrTable.NT 118,(result,NULLIFIED_COLON1left,FALSE1right),rest671)
++ end
++| (169,(_,(MlyValue.flag flag1,_,flag1right))::(_,(_,
++NULLIFIED_COLON1left,_))::rest671) => let val result=
++MlyValue.nullified(fn _ => let val flag as flag1=flag1 ()
++ in (flag) end
++)
++ in (LrTable.NT 118,(result,NULLIFIED_COLON1left,flag1right),rest671)
++ end
++| (170,rest671) => let val result=MlyValue.delayslot(fn _ => (NONE))
++ in (LrTable.NT 119,(result,defaultPos,defaultPos),rest671) end
++| (171,(_,(MlyValue.exp exp1,_,exp1right))::(_,(_,DELAYSLOT_COLON1left
++,_))::rest671) => let val result=MlyValue.delayslot(fn _ => let val 
++exp as exp1=exp1 ()
++ in (SOME exp) end
++)
++ in (LrTable.NT 119,(result,DELAYSLOT_COLON1left,exp1right),rest671)
++ end
++| (172,(_,(_,_,FORWARDS1right))::(_,(_,BRANCHING1left,_))::rest671)
++ => let val result=MlyValue.branching(fn _ => (BRANCHforwards))
++ in (LrTable.NT 122,(result,BRANCHING1left,FORWARDS1right),rest671)
++ end
++| (173,(_,(_,_,BACKWARDS1right))::(_,(_,BRANCHING1left,_))::rest671)
++ => let val result=MlyValue.branching(fn _ => (BRANCHbackwards))
++ in (LrTable.NT 122,(result,BRANCHING1left,BACKWARDS1right),rest671)
++ end
++| (174,rest671) => let val result=MlyValue.sdi(fn _ => (NONE))
++ in (LrTable.NT 112,(result,defaultPos,defaultPos),rest671) end
++| (175,(_,(MlyValue.exp exp1,_,exp1right))::_::(_,(_,SPAN1left,_))::
++rest671) => let val result=MlyValue.sdi(fn _ => let val exp as exp1=
++exp1 ()
++ in (SOME exp) end
++)
++ in (LrTable.NT 112,(result,SPAN1left,exp1right),rest671) end
++| (176,rest671) => let val result=MlyValue.consencoding(fn _ => (NONE)
++)
++ in (LrTable.NT 111,(result,defaultPos,defaultPos),rest671) end
++| (177,(_,(MlyValue.unsignedint unsignedint1,unsignedint1left,
++unsignedint1right))::rest671) => let val result=MlyValue.consencoding(
++fn _ => let val unsignedint as unsignedint1=unsignedint1 ()
++ in (SOME(WORDmc(unsignedint))) end
++)
++ in (LrTable.NT 111,(result,unsignedint1left,unsignedint1right),
++rest671) end
++| (178,(_,(_,_,RPAREN1right))::(_,(MlyValue.expseq expseq1,_,_))::(_,(
++_,LPAREN1left,_))::rest671) => let val result=MlyValue.consencoding(
++fn _ => let val expseq as expseq1=expseq1 ()
++ in (SOME(EXPmc(SEQexp expseq))) end
++)
++ in (LrTable.NT 111,(result,LPAREN1left,RPAREN1right),rest671) end
++| (179,(_,(_,_,RPAREN1right))::(_,(MlyValue.exps2 exps21,_,_))::(_,(_,
++LPAREN1left,_))::rest671) => let val result=MlyValue.consencoding(fn _
++ => let val exps2 as exps21=exps21 ()
++ in (SOME(EXPmc(TUPLEexp exps2))) end
++)
++ in (LrTable.NT 111,(result,LPAREN1left,RPAREN1right),rest671) end
++| (180,(_,(_,_,RBRACE1right))::(_,(MlyValue.labexps0 labexps01,_,_))::
++_::(_,(MlyValue.id id1,id1left,_))::rest671) => let val result=
++MlyValue.consencoding(fn _ => let val id as id1=id1 ()
++val labexps0 as labexps01=labexps01 ()
++ in (SOME(EXPmc(APPexp(IDexp(IDENT([],id)),
++			RECORDexp labexps0))))
++ end
++)
++ in (LrTable.NT 111,(result,id1left,RBRACE1right),rest671) end
++| (181,(_,(MlyValue.exp exp1,_,exp1right))::(_,(_,MC_COLON1left,_))::
++rest671) => let val result=MlyValue.consencoding(fn _ => let val exp
++ as exp1=exp1 ()
++ in (SOME(EXPmc exp)) end
++)
++ in (LrTable.NT 111,(result,MC_COLON1left,exp1right),rest671) end
++| (182,rest671) => let val result=MlyValue.consassembly(fn _ => (NONE)
++)
++ in (LrTable.NT 123,(result,defaultPos,defaultPos),rest671) end
++| (183,(_,(MlyValue.string string1,string1left,string1right))::rest671
++) => let val result=MlyValue.consassembly(fn _ => let val string as 
++string1=string1 ()
++ in (SOME(STRINGasm string)) end
++)
++ in (LrTable.NT 123,(result,string1left,string1right),rest671) end
++| (184,(_,(MlyValue.asm_strings asm_strings1,asm_strings1left,
++asm_strings1right))::rest671) => let val result=MlyValue.consassembly(
++fn _ => let val asm_strings as asm_strings1=asm_strings1 ()
++ in (SOME(ASMasm asm_strings)) end
++)
++ in (LrTable.NT 123,(result,asm_strings1left,asm_strings1right),
++rest671) end
++| (185,(_,(MlyValue.exp exp1,_,exp1right))::(_,(_,ASM_COLON1left,_))::
++rest671) => let val result=MlyValue.consassembly(fn _ => let val exp
++ as exp1=exp1 ()
++ in (SOME(ASMasm[EXPasm exp])) end
++)
++ in (LrTable.NT 123,(result,ASM_COLON1left,exp1right),rest671) end
++| (186,(_,(_,_,RDQUOTE1right))::(_,(MlyValue.asms asms1,_,_))::(_,(_,
++LDQUOTE1left,_))::rest671) => let val result=MlyValue.asm_strings(fn _
++ => let val asms as asms1=asms1 ()
++ in (asms) end
++)
++ in (LrTable.NT 147,(result,LDQUOTE1left,RDQUOTE1right),rest671) end
++| (187,(_,(MlyValue.asm_strings asm_strings1,_,asm_strings1right))::_
++::(_,(MlyValue.asms asms1,_,_))::(_,(_,LDQUOTE1left,_))::rest671) => 
++let val result=MlyValue.asm_strings(fn _ => let val asms as asms1=
++asms1 ()
++val asm_strings as asm_strings1=asm_strings1 ()
++ in (asms@asm_strings) end
++)
++ in (LrTable.NT 147,(result,LDQUOTE1left,asm_strings1right),rest671)
++ end
++| (188,(_,(MlyValue.asm asm1,asm1left,asm1right))::rest671) => let 
++val result=MlyValue.asms(fn _ => let val asm as asm1=asm1 ()
++ in ([asm]) end
++)
++ in (LrTable.NT 146,(result,asm1left,asm1right),rest671) end
++| (189,(_,(MlyValue.asms asms1,_,asms1right))::(_,(MlyValue.asm asm1,
++asm1left,_))::rest671) => let val result=MlyValue.asms(fn _ => let 
++val asm as asm1=asm1 ()
++val asms as asms1=asms1 ()
++ in (asm::asms) end
++)
++ in (LrTable.NT 146,(result,asm1left,asms1right),rest671) end
++| (190,(_,(_,_,RMETA1right))::(_,(MlyValue.exp exp1,_,_))::(_,(_,
++LMETA1left,_))::rest671) => let val result=MlyValue.asm(fn _ => let 
++val exp as exp1=exp1 ()
++ in (EXPasm exp) end
++)
++ in (LrTable.NT 148,(result,LMETA1left,RMETA1right),rest671) end
++| (191,(_,(MlyValue.ASMTEXT ASMTEXT1,ASMTEXT1left,ASMTEXT1right))::
++rest671) => let val result=MlyValue.asm(fn _ => let val ASMTEXT as 
++ASMTEXT1=ASMTEXT1 ()
++ in (TEXTasm ASMTEXT) end
++)
++ in (LrTable.NT 148,(result,ASMTEXT1left,ASMTEXT1right),rest671) end
++| (192,rest671) => let val result=MlyValue.opt_of(fn _ => ())
++ in (LrTable.NT 3,(result,defaultPos,defaultPos),rest671) end
++| (193,(_,(_,OF1left,OF1right))::rest671) => let val result=
++MlyValue.opt_of(fn _ => ())
++ in (LrTable.NT 3,(result,OF1left,OF1right),rest671) end
++| (194,rest671) => let val result=MlyValue.withtypeclause(fn _ => ([])
++)
++ in (LrTable.NT 125,(result,defaultPos,defaultPos),rest671) end
++| (195,(_,(MlyValue.typebinds typebinds1,_,typebinds1right))::(_,(_,
++WITHTYPE1left,_))::rest671) => let val result=MlyValue.withtypeclause(
++fn _ => let val typebinds as typebinds1=typebinds1 ()
++ in (typebinds) end
++)
++ in (LrTable.NT 125,(result,WITHTYPE1left,typebinds1right),rest671)
++ end
++| (196,(_,(MlyValue.typebind typebind1,typebind1left,typebind1right))
++::rest671) => let val result=MlyValue.typebinds(fn _ => let val 
++typebind as typebind1=typebind1 ()
++ in ([typebind]) end
++)
++ in (LrTable.NT 124,(result,typebind1left,typebind1right),rest671) end
++| (197,(_,(MlyValue.typebinds typebinds1,_,typebinds1right))::_::(_,(
++MlyValue.typebind typebind1,typebind1left,_))::rest671) => let val 
++result=MlyValue.typebinds(fn _ => let val typebind as typebind1=
++typebind1 ()
++val typebinds as typebinds1=typebinds1 ()
++ in (typebind::typebinds) end
++)
++ in (LrTable.NT 124,(result,typebind1left,typebinds1right),rest671)
++ end
++| (198,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.tid tid1,_,_)
++)::(_,(MlyValue.tyvarseq tyvarseq1,tyvarseq1left,_))::rest671) => let 
++val result=MlyValue.typebind(fn _ => let val tyvarseq as tyvarseq1=
++tyvarseq1 ()
++val tid as tid1=tid1 ()
++val ty as ty1=ty1 ()
++ in (TYPEbind(tid,tyvarseq,ty)) end
++)
++ in (LrTable.NT 126,(result,tyvarseq1left,ty1right),rest671) end
++| (199,rest671) => let val result=MlyValue.tyvarseq(fn _ => ([]))
++ in (LrTable.NT 129,(result,defaultPos,defaultPos),rest671) end
++| (200,(_,(MlyValue.tyvar tyvar1,tyvar1left,tyvar1right))::rest671)
++ => let val result=MlyValue.tyvarseq(fn _ => let val tyvar as tyvar1=
++tyvar1 ()
++ in ([tyvar]) end
++)
++ in (LrTable.NT 129,(result,tyvar1left,tyvar1right),rest671) end
++| (201,(_,(_,_,RPAREN1right))::(_,(MlyValue.tyvars tyvars1,_,_))::(_,(
++_,LPAREN1left,_))::rest671) => let val result=MlyValue.tyvarseq(fn _
++ => let val tyvars as tyvars1=tyvars1 ()
++ in (tyvars) end
++)
++ in (LrTable.NT 129,(result,LPAREN1left,RPAREN1right),rest671) end
++| (202,(_,(MlyValue.tyvar tyvar1,tyvar1left,tyvar1right))::rest671)
++ => let val result=MlyValue.tyvars(fn _ => let val tyvar as tyvar1=
++tyvar1 ()
++ in ([tyvar]) end
++)
++ in (LrTable.NT 128,(result,tyvar1left,tyvar1right),rest671) end
++| (203,(_,(MlyValue.tyvars tyvars1,_,tyvars1right))::_::(_,(
++MlyValue.tyvar tyvar1,tyvar1left,_))::rest671) => let val result=
++MlyValue.tyvars(fn _ => let val tyvar as tyvar1=tyvar1 ()
++val tyvars as tyvars1=tyvars1 ()
++ in (tyvar::tyvars) end
++)
++ in (LrTable.NT 128,(result,tyvar1left,tyvars1right),rest671) end
++| (204,(_,(MlyValue.formatbind formatbind1,formatbind1left,
++formatbind1right))::rest671) => let val result=MlyValue.formatbinds(
++fn _ => let val formatbind as formatbind1=formatbind1 ()
++ in ([formatbind]) end
++)
++ in (LrTable.NT 106,(result,formatbind1left,formatbind1right),rest671)
++ end
++| (205,(_,(MlyValue.formatbinds formatbinds1,_,formatbinds1right))::_
++::(_,(MlyValue.formatbind formatbind1,formatbind1left,_))::rest671)
++ => let val result=MlyValue.formatbinds(fn _ => let val formatbind as 
++formatbind1=formatbind1 ()
++val formatbinds as formatbinds1=formatbinds1 ()
++ in (formatbind::formatbinds) end
++)
++ in (LrTable.NT 106,(result,formatbind1left,formatbinds1right),rest671
++) end
++| (206,(_,(MlyValue.opt_exp opt_exp1,_,opt_exp1right))::_::(_,(
++MlyValue.fields fields1,_,_))::_::(_,(MlyValue.opt_of opt_of1,_,_))::(
++_,(MlyValue.id id1,id1left,_))::rest671) => let val result=
++MlyValue.formatbind(fn _ => let val id as id1=id1 ()
++val opt_of1=opt_of1 ()
++val fields as fields1=fields1 ()
++val opt_exp as opt_exp1=opt_exp1 ()
++ in (FORMATbind(id,fields,opt_exp)) end
++)
++ in (LrTable.NT 105,(result,id1left,opt_exp1right),rest671) end
++| (207,rest671) => let val result=MlyValue.opt_exp(fn _ => (NONE))
++ in (LrTable.NT 44,(result,defaultPos,defaultPos),rest671) end
++| (208,(_,(MlyValue.exp exp1,_,exp1right))::(_,(_,EQ1left,_))::rest671
++) => let val result=MlyValue.opt_exp(fn _ => let val exp as exp1=exp1 
++()
++ in (SOME exp) end
++)
++ in (LrTable.NT 44,(result,EQ1left,exp1right),rest671) end
++| (209,(_,(MlyValue.field field1,field1left,field1right))::rest671)
++ => let val result=MlyValue.fields(fn _ => let val field as field1=
++field1 ()
++ in ([field]) end
++)
++ in (LrTable.NT 104,(result,field1left,field1right),rest671) end
++| (210,(_,(MlyValue.fields fields1,_,fields1right))::_::(_,(
++MlyValue.field field1,field1left,_))::rest671) => let val result=
++MlyValue.fields(fn _ => let val field as field1=field1 ()
++val fields as fields1=fields1 ()
++ in (field::fields) end
++)
++ in (LrTable.NT 104,(result,field1left,fields1right),rest671) end
++| (211,(_,(MlyValue.unsignedint_opt unsignedint_opt1,_,
++unsignedint_opt1right))::(_,(MlyValue.width width1,_,_))::(_,(
++MlyValue.signedness signedness1,_,_))::(_,(MlyValue.cnv cnv1,_,_))::_
++::(_,(MlyValue.fieldid fieldid1,fieldid1left,_))::rest671) => let val 
++result=MlyValue.field(fn _ => let val fieldid as fieldid1=fieldid1 ()
++val cnv as cnv1=cnv1 ()
++val signedness as signedness1=signedness1 ()
++val width as width1=width1 ()
++val unsignedint_opt as unsignedint_opt1=unsignedint_opt1 ()
++ in (
++FIELD{id=fieldid,cnv=cnv,
++                       width=width,sign=signedness,value=unsignedint_opt}
++) end
++)
++ in (LrTable.NT 101,(result,fieldid1left,unsignedint_opt1right),
++rest671) end
++| (212,(_,(MlyValue.id id1,id1left,id1right))::rest671) => let val 
++result=MlyValue.field(fn _ => let val id as id1=id1 ()
++ in (FIELD{id=id,cnv=NOcnv,width=WIDTH 0,sign=UNSIGNED,value=NONE})
++ end
++)
++ in (LrTable.NT 101,(result,id1left,id1right),rest671) end
++| (213,(_,(MlyValue.id id1,id1left,id1right))::rest671) => let val 
++result=MlyValue.fieldid(fn _ => let val id as id1=id1 ()
++ in (id) end
++)
++ in (LrTable.NT 102,(result,id1left,id1right),rest671) end
++| (214,(_,(_,WILD1left,WILD1right))::rest671) => let val result=
++MlyValue.fieldid(fn _ => (""))
++ in (LrTable.NT 102,(result,WILD1left,WILD1right),rest671) end
++| (215,rest671) => let val result=MlyValue.cnv(fn _ => (NOcnv))
++ in (LrTable.NT 103,(result,defaultPos,defaultPos),rest671) end
++| (216,(_,(MlyValue.id id1,id1left,id1right))::rest671) => let val 
++result=MlyValue.cnv(fn _ => let val id as id1=id1 ()
++ in (FUNcnv id) end
++)
++ in (LrTable.NT 103,(result,id1left,id1right),rest671) end
++| (217,(_,(MlyValue.id id1,_,id1right))::(_,(_,DOLLAR1left,_))::
++rest671) => let val result=MlyValue.cnv(fn _ => let val id as id1=id1 
++()
++ in (CELLcnv id) end
++)
++ in (LrTable.NT 103,(result,DOLLAR1left,id1right),rest671) end
++| (218,rest671) => let val result=MlyValue.width(fn _ => (WIDTH 0))
++ in (LrTable.NT 81,(result,defaultPos,defaultPos),rest671) end
++| (219,(_,(MlyValue.int int1,int1left,int1right))::rest671) => let 
++val result=MlyValue.width(fn _ => let val int as int1=int1 ()
++ in (WIDTH int) end
++)
++ in (LrTable.NT 81,(result,int1left,int1right),rest671) end
++| (220,(_,(MlyValue.int int2,_,int2right))::_::(_,(MlyValue.int int1,
++int1left,_))::rest671) => let val result=MlyValue.width(fn _ => let 
++val int1=int1 ()
++val int2=int2 ()
++ in (RANGE(int1,int2)) end
++)
++ in (LrTable.NT 81,(result,int1left,int2right),rest671) end
++| (221,(_,(MlyValue.int int1,int1left,int1right))::rest671) => let 
++val result=MlyValue.unsignedint(fn _ => let val int as int1=int1 ()
++ in (Word32.fromInt int) end
++)
++ in (LrTable.NT 79,(result,int1left,int1right),rest671) end
++| (222,(_,(MlyValue.word word1,word1left,word1right))::rest671) => 
++let val result=MlyValue.unsignedint(fn _ => let val word as word1=
++word1 ()
++ in (word) end
++)
++ in (LrTable.NT 79,(result,word1left,word1right),rest671) end
++| (223,rest671) => let val result=MlyValue.unsignedint_opt(fn _ => (
++NONE))
++ in (LrTable.NT 80,(result,defaultPos,defaultPos),rest671) end
++| (224,(_,(MlyValue.unsignedint unsignedint1,_,unsignedint1right))::(_
++,(_,EQ1left,_))::rest671) => let val result=MlyValue.unsignedint_opt(
++fn _ => let val unsignedint as unsignedint1=unsignedint1 ()
++ in (SOME unsignedint) end
++)
++ in (LrTable.NT 80,(result,EQ1left,unsignedint1right),rest671) end
++| (225,(_,(_,SIGNED1left,SIGNED1right))::rest671) => let val result=
++MlyValue.signedness(fn _ => (SIGNED))
++ in (LrTable.NT 77,(result,SIGNED1left,SIGNED1right),rest671) end
++| (226,(_,(_,UNSIGNED1left,UNSIGNED1right))::rest671) => let val 
++result=MlyValue.signedness(fn _ => (UNSIGNED))
++ in (LrTable.NT 77,(result,UNSIGNED1left,UNSIGNED1right),rest671) end
++| (227,rest671) => let val result=MlyValue.signedness(fn _ => (
++UNSIGNED))
++ in (LrTable.NT 77,(result,defaultPos,defaultPos),rest671) end
++| (228,(_,(MlyValue.funbind funbind1,funbind1left,funbind1right))::
++rest671) => let val result=MlyValue.funbinds(fn _ => let val funbind
++ as funbind1=funbind1 ()
++ in ([funbind]) end
++)
++ in (LrTable.NT 135,(result,funbind1left,funbind1right),rest671) end
++| (229,(_,(MlyValue.funbinds funbinds1,_,funbinds1right))::_::(_,(
++MlyValue.funbind funbind1,funbind1left,_))::rest671) => let val result
++=MlyValue.funbinds(fn _ => let val funbind as funbind1=funbind1 ()
++val funbinds as funbinds1=funbinds1 ()
++ in (funbind::funbinds) end
++)
++ in (LrTable.NT 135,(result,funbind1left,funbinds1right),rest671) end
++| (230,(_,(MlyValue.funclauses funclauses1,funclauses1left,
++funclauses1right))::rest671) => let val result=MlyValue.funbind(fn _
++ => let val funclauses as funclauses1=funclauses1 ()
++ in (FUNbind funclauses) end
++)
++ in (LrTable.NT 134,(result,funclauses1left,funclauses1right),rest671)
++ end
++| (231,(_,(MlyValue.valbind valbind1,valbind1left,valbind1right))::
++rest671) => let val result=MlyValue.valbinds(fn _ => let val valbind
++ as valbind1=valbind1 ()
++ in ([valbind]) end
++)
++ in (LrTable.NT 137,(result,valbind1left,valbind1right),rest671) end
++| (232,(_,(MlyValue.valbinds valbinds1,_,valbinds1right))::_::(_,(
++MlyValue.valbind valbind1,valbind1left,_))::rest671) => let val result
++=MlyValue.valbinds(fn _ => let val valbind as valbind1=valbind1 ()
++val valbinds as valbinds1=valbinds1 ()
++ in (valbind::valbinds) end
++)
++ in (LrTable.NT 137,(result,valbind1left,valbinds1right),rest671) end
++| (233,(_,(MlyValue.typedexp typedexp1,_,typedexp1right))::_::(_,(
++MlyValue.pat pat1,pat1left,_))::rest671) => let val result=
++MlyValue.valbind(fn _ => let val pat as pat1=pat1 ()
++val typedexp as typedexp1=typedexp1 ()
++ in (VALbind(pat,typedexp)) end
++)
++ in (LrTable.NT 136,(result,pat1left,typedexp1right),rest671) end
++| (234,(_,(MlyValue.word word1,word1left,word1right))::rest671) => 
++let val result=MlyValue.literal(fn _ => let val word as word1=word1 ()
++ in (WORD32lit word) end
++)
++ in (LrTable.NT 91,(result,word1left,word1right),rest671) end
++| (235,(_,(MlyValue.int int1,int1left,int1right))::rest671) => let 
++val result=MlyValue.literal(fn _ => let val int as int1=int1 ()
++ in (INTlit int) end
++)
++ in (LrTable.NT 91,(result,int1left,int1right),rest671) end
++| (236,(_,(MlyValue.intinf intinf1,intinf1left,intinf1right))::rest671
++) => let val result=MlyValue.literal(fn _ => let val intinf as intinf1
++=intinf1 ()
++ in (INTINFlit intinf) end
++)
++ in (LrTable.NT 91,(result,intinf1left,intinf1right),rest671) end
++| (237,(_,(MlyValue.string string1,string1left,string1right))::rest671
++) => let val result=MlyValue.literal(fn _ => let val string as string1
++=string1 ()
++ in (STRINGlit string) end
++)
++ in (LrTable.NT 91,(result,string1left,string1right),rest671) end
++| (238,(_,(MlyValue.char char1,char1left,char1right))::rest671) => 
++let val result=MlyValue.literal(fn _ => let val char as char1=char1 ()
++ in (CHARlit char) end
++)
++ in (LrTable.NT 91,(result,char1left,char1right),rest671) end
++| (239,(_,(MlyValue.bool bool1,bool1left,bool1right))::rest671) => 
++let val result=MlyValue.literal(fn _ => let val bool as bool1=bool1 ()
++ in (BOOLlit bool) end
++)
++ in (LrTable.NT 91,(result,bool1left,bool1right),rest671) end
++| (240,(_,(MlyValue.real real1,real1left,real1right))::rest671) => 
++let val result=MlyValue.literal(fn _ => let val real as real1=real1 ()
++ in (REALlit real) end
++)
++ in (LrTable.NT 91,(result,real1left,real1right),rest671) end
++| (241,(_,(MlyValue.literal literal1,literal1left,literal1right))::
++rest671) => let val result=MlyValue.aexp(fn _ => let val literal as 
++literal1=literal1 ()
++ in (LITexp literal) end
++)
++ in (LrTable.NT 35,(result,literal1left,literal1right),rest671) end
++| (242,(_,(MlyValue.ident2 ident21,ident21left,ident21right))::rest671
++) => let val result=MlyValue.aexp(fn _ => let val ident2 as ident21=
++ident21 ()
++ in (IDexp ident2) end
++)
++ in (LrTable.NT 35,(result,ident21left,ident21right),rest671) end
++| (243,(_,(MlyValue.id id1,_,id1right))::(_,(_,HASH1left,_))::rest671)
++ => let val result=MlyValue.aexp(fn _ => let val id as id1=id1 ()
++ in (TYPEexp(TYVARty(INTtv id))) end
++)
++ in (LrTable.NT 35,(result,HASH1left,id1right),rest671) end
++| (244,(_,(MlyValue.symb symb1,_,symb1right))::(_,(_,OP1left,_))::
++rest671) => let val result=MlyValue.aexp(fn _ => let val symb as symb1
++=symb1 ()
++ in (IDexp(IDENT([],symb))) end
++)
++ in (LrTable.NT 35,(result,OP1left,symb1right),rest671) end
++| (245,(_,(_,_,RPAREN1right))::(_,(MlyValue.symb symb1,_,_))::(_,(_,
++LPAREN1left,_))::rest671) => let val result=MlyValue.aexp(fn _ => let 
++val symb as symb1=symb1 ()
++ in (IDexp(IDENT([],symb))) end
++)
++ in (LrTable.NT 35,(result,LPAREN1left,RPAREN1right),rest671) end
++| (246,(_,(MlyValue.asm_strings asm_strings1,asm_strings1left,
++asm_strings1right))::rest671) => let val result=MlyValue.aexp(fn _ => 
++let val asm_strings as asm_strings1=asm_strings1 ()
++ in (ASMexp(ASMasm asm_strings)) end
++)
++ in (LrTable.NT 35,(result,asm_strings1left,asm_strings1right),rest671
++) end
++| (247,(_,(_,_,RPAREN1right))::(_,(_,LPAREN1left,_))::rest671) => let 
++val result=MlyValue.aexp(fn _ => (TUPLEexp []))
++ in (LrTable.NT 35,(result,LPAREN1left,RPAREN1right),rest671) end
++| (248,(_,(_,_,RPAREN1right))::(_,(MlyValue.typedexp typedexp1,_,_))::
++(_,(_,LPAREN1left,_))::rest671) => let val result=MlyValue.aexp(fn _
++ => let val typedexp as typedexp1=typedexp1 ()
++ in (typedexp) end
++)
++ in (LrTable.NT 35,(result,LPAREN1left,RPAREN1right),rest671) end
++| (249,(_,(_,_,RPAREN1right))::(_,(MlyValue.exps2 exps21,_,_))::(_,(_,
++LPAREN1left,_))::rest671) => let val result=MlyValue.aexp(fn _ => let 
++val exps2 as exps21=exps21 ()
++ in (TUPLEexp exps2) end
++)
++ in (LrTable.NT 35,(result,LPAREN1left,RPAREN1right),rest671) end
++| (250,(_,(_,_,RPAREN1right))::(_,(MlyValue.expseq2 expseq21,_,_))::(_
++,(_,LPAREN1left,_))::rest671) => let val result=MlyValue.aexp(fn _ => 
++let val expseq2 as expseq21=expseq21 ()
++ in (SEQexp expseq2) end
++)
++ in (LrTable.NT 35,(result,LPAREN1left,RPAREN1right),rest671) end
++| (251,(_,(_,_,RBRACKET1right))::(_,(MlyValue.exps exps1,_,_))::(_,(_,
++LBRACKET1left,_))::rest671) => let val result=MlyValue.aexp(fn _ => 
++let val exps as exps1=exps1 ()
++ in (LISTexp(exps,NONE)) end
++)
++ in (LrTable.NT 35,(result,LBRACKET1left,RBRACKET1right),rest671) end
++| (252,(_,(_,_,RBRACKET1right))::(_,(MlyValue.exps exps1,_,_))::(_,(_,
++LHASHBRACKET1left,_))::rest671) => let val result=MlyValue.aexp(fn _
++ => let val exps as exps1=exps1 ()
++ in (VECTORexp exps) end
++)
++ in (LrTable.NT 35,(result,LHASHBRACKET1left,RBRACKET1right),rest671)
++ end
++| (253,(_,(_,_,RBRACE1right))::(_,(MlyValue.labexps0 labexps01,_,_))::
++(_,(_,LBRACE1left,_))::rest671) => let val result=MlyValue.aexp(fn _
++ => let val labexps0 as labexps01=labexps01 ()
++ in (RECORDexp labexps0) end
++)
++ in (LrTable.NT 35,(result,LBRACE1left,RBRACE1right),rest671) end
++| (254,(_,(_,_,RBRACKET1right))::(_,(MlyValue.region region1,_,_))::(_
++,(MlyValue.exp exp1,_,_))::_::(_,(MlyValue.id id1,_,_))::(_,(_,
++DOLLAR1left,_))::rest671) => let val result=MlyValue.aexp(fn _ => let 
++val id as id1=id1 ()
++val exp as exp1=exp1 ()
++val region as region1=region1 ()
++ in (LOCexp(id,exp,region)) end
++)
++ in (LrTable.NT 35,(result,DOLLAR1left,RBRACKET1right),rest671) end
++| (255,(_,(_,_,RRBRACKET1right))::(_,(MlyValue.rtlterms rtlterms1,_,_)
++)::(_,(_,LLBRACKET1left,_))::rest671) => let val result=MlyValue.aexp(
++fn _ => let val rtlterms as rtlterms1=rtlterms1 ()
++ in (RTLexp(rtlterms)) end
++)
++ in (LrTable.NT 35,(result,LLBRACKET1left,RRBRACKET1right),rest671)
++ end
++| (256,(_,(_,_,RBRACKETright as RBRACKET1right))::(_,(MlyValue.exps 
++exps1,_,_))::_::_::(_,(MlyValue.sym sym1,symleft as sym1left,_))::
++rest671) => let val result=MlyValue.aexp(fn _ => let val sym as sym1=
++sym1 ()
++val exps as exps1=exps1 ()
++ in (
++let val loc = SourceMapping.location srcMap 
++                                (symleft,RBRACKETright)
++                 in LISTexp(enumExp(err,loc,sym,exps),NONE) end
++                
++) end
++)
++ in (LrTable.NT 35,(result,sym1left,RBRACKET1right),rest671) end
++| (257,(_,(MlyValue.sym sym1,symleft,sym1right))::_::(_,(_,_,
++RBRACKETright))::(_,(MlyValue.exps exps1,_,_))::(_,(_,LBRACKET1left,_)
++)::rest671) => let val result=MlyValue.aexp(fn _ => let val exps as 
++exps1=exps1 ()
++val sym as sym1=sym1 ()
++ in (
++let val loc = SourceMapping.location srcMap 
++                                (symleft,RBRACKETright)
++                 in LISTexp(enumExp'(err,loc,exps,sym),NONE) end
++                
++) end
++)
++ in (LrTable.NT 35,(result,LBRACKET1left,sym1right),rest671) end
++| (258,(_,(MlyValue.sym sym2,_,sym2right))::_::(_,(_,_,RBRACKETright))
++::(_,(MlyValue.exps exps1,_,_))::_::_::(_,(MlyValue.sym sym1,symleft
++ as sym1left,_))::rest671) => let val result=MlyValue.aexp(fn _ => 
++let val sym1=sym1 ()
++val exps as exps1=exps1 ()
++val sym2=sym2 ()
++ in (
++let val loc = SourceMapping.location srcMap 
++                                (symleft,RBRACKETright)
++                 in LISTexp(enumExp'(err,loc,
++                                    enumExp(err,loc,sym1,exps),sym2),
++                            NONE) 
++                 end
++                
++) end
++)
++ in (LrTable.NT 35,(result,sym1left,sym2right),rest671) end
++| (259,(_,(_,_,END1right))::(_,(MlyValue.expseq expseq1,_,_))::_::(_,(
++MlyValue.decls decls1,_,_))::(_,(_,LET1left,_))::rest671) => let val 
++result=MlyValue.aexp(fn _ => let val decls as decls1=decls1 ()
++val expseq as expseq1=expseq1 ()
++ in (LETexp(decls,expseq)) end
++)
++ in (LrTable.NT 35,(result,LET1left,END1right),rest671) end
++| (260,rest671) => let val result=MlyValue.region(fn _ => (NONE))
++ in (LrTable.NT 43,(result,defaultPos,defaultPos),rest671) end
++| (261,(_,(MlyValue.id id1,_,id1right))::(_,(_,COLON1left,_))::rest671
++) => let val result=MlyValue.region(fn _ => let val id as id1=id1 ()
++ in (SOME id) end
++)
++ in (LrTable.NT 43,(result,COLON1left,id1right),rest671) end
++| (262,(_,(MlyValue.aexp aexp1,aexp1left,aexp1right))::rest671) => 
++let val result=MlyValue.aexp2(fn _ => let val aexp as aexp1=aexp1 ()
++ in (Prec.EXP aexp) end
++)
++ in (LrTable.NT 36,(result,aexp1left,aexp1right),rest671) end
++| (263,(_,(MlyValue.sym sym1,sym1left,sym1right))::rest671) => let 
++val result=MlyValue.aexp2(fn _ => let val sym as sym1=sym1 ()
++ in (Prec.ID sym) end
++)
++ in (LrTable.NT 36,(result,sym1left,sym1right),rest671) end
++| (264,(_,(_,EQ1left,EQ1right))::rest671) => let val result=
++MlyValue.aexp2(fn _ => (Prec.ID "="))
++ in (LrTable.NT 36,(result,EQ1left,EQ1right),rest671) end
++| (265,(_,(_,_,RBRACKET1right))::(_,(MlyValue.slices slices1,_,_))::_
++::_::(_,(MlyValue.aexp2 aexp21,aexp21left,_))::rest671) => let val 
++result=MlyValue.aexp2(fn _ => let val aexp2 as aexp21=aexp21 ()
++val slices as slices1=slices1 ()
++ in (
++Prec.EXP(BITSLICEexp(
++                    case aexp2 of Prec.EXP e => e 
++                                | Prec.ID x => IDexp(IDENT([],x)),slices))
++) end
++)
++ in (LrTable.NT 36,(result,aexp21left,RBRACKET1right),rest671) end
++| (266,rest671) => let val result=MlyValue.labexps0(fn _ => ([]))
++ in (LrTable.NT 50,(result,defaultPos,defaultPos),rest671) end
++| (267,(_,(MlyValue.labexps labexps1,labexps1left,labexps1right))::
++rest671) => let val result=MlyValue.labexps0(fn _ => let val labexps
++ as labexps1=labexps1 ()
++ in (labexps) end
++)
++ in (LrTable.NT 50,(result,labexps1left,labexps1right),rest671) end
++| (268,(_,(MlyValue.labexp labexp1,labexp1left,labexp1right))::rest671
++) => let val result=MlyValue.labexps(fn _ => let val labexp as labexp1
++=labexp1 ()
++ in ([labexp]) end
++)
++ in (LrTable.NT 51,(result,labexp1left,labexp1right),rest671) end
++| (269,(_,(MlyValue.labexps labexps1,_,labexps1right))::_::(_,(
++MlyValue.labexp labexp1,labexp1left,_))::rest671) => let val result=
++MlyValue.labexps(fn _ => let val labexp as labexp1=labexp1 ()
++val labexps as labexps1=labexps1 ()
++ in (labexp::labexps) end
++)
++ in (LrTable.NT 51,(result,labexp1left,labexps1right),rest671) end
++| (270,(_,(MlyValue.typedexp typedexp1,_,typedexp1right))::_::(_,(
++MlyValue.id id1,id1left,_))::rest671) => let val result=
++MlyValue.labexp(fn _ => let val id as id1=id1 ()
++val typedexp as typedexp1=typedexp1 ()
++ in (id,typedexp) end
++)
++ in (LrTable.NT 52,(result,id1left,typedexp1right),rest671) end
++| (271,(_,(MlyValue.id id1,id1left,id1right))::rest671) => let val 
++result=MlyValue.labexp(fn _ => let val id as id1=id1 ()
++ in (id,IDexp(IDENT([],id))) end
++)
++ in (LrTable.NT 52,(result,id1left,id1right),rest671) end
++| (272,(_,(MlyValue.aexp2 aexp21,aexp21left,aexp21right))::rest671)
++ => let val result=MlyValue.appexp(fn _ => let val aexp2 as aexp21=
++aexp21 ()
++ in ([aexp2]) end
++)
++ in (LrTable.NT 37,(result,aexp21left,aexp21right),rest671) end
++| (273,(_,(MlyValue.aexp2 aexp21,_,aexp21right))::(_,(MlyValue.appexp 
++appexp1,appexp1left,_))::rest671) => let val result=MlyValue.appexp(
++fn _ => let val appexp as appexp1=appexp1 ()
++val aexp2 as aexp21=aexp21 ()
++ in (appexp @ [aexp2]) end
++)
++ in (LrTable.NT 37,(result,appexp1left,aexp21right),rest671) end
++| (274,(_,(MlyValue.appexp appexp1,appexpleft as appexp1left,
++appexpright as appexp1right))::rest671) => let val result=MlyValue.exp
++(fn _ => let val appexp as appexp1=appexp1 ()
++ in (
++parseExp precStack err 
++                 (SourceMapping.location srcMap (appexpleft,appexpright)) appexp
++) end
++)
++ in (LrTable.NT 38,(result,appexp1left,appexp1right),rest671) end
++| (275,(_,(MlyValue.exp exp1,_,exp1right))::_::(_,(MlyValue.typedexp 
++typedexp2,_,_))::_::(_,(MlyValue.typedexp typedexp1,_,_))::(_,(_,
++IF1left,_))::rest671) => let val result=MlyValue.exp(fn _ => let val 
++typedexp1=typedexp1 ()
++val typedexp2=typedexp2 ()
++val exp as exp1=exp1 ()
++ in (IFexp(typedexp1,typedexp2,exp)) end
++)
++ in (LrTable.NT 38,(result,IF1left,exp1right),rest671) end
++| (276,(_,(MlyValue.clauses clauses1,_,clauses1right))::_::(_,(
++MlyValue.typedexp typedexp1,_,_))::(_,(_,CASE1left,_))::rest671) => 
++let val result=MlyValue.exp(fn _ => let val typedexp as typedexp1=
++typedexp1 ()
++val clauses as clauses1=clauses1 ()
++ in (CASEexp(typedexp,clauses)) end
++)
++ in (LrTable.NT 38,(result,CASE1left,clauses1right),rest671) end
++| (277,(_,(MlyValue.clauses clauses1,_,clauses1right))::(_,(_,FN1left,
++_))::rest671) => let val result=MlyValue.exp(fn _ => let val clauses
++ as clauses1=clauses1 ()
++ in (LAMBDAexp clauses) end
++)
++ in (LrTable.NT 38,(result,FN1left,clauses1right),rest671) end
++| (278,(_,(MlyValue.clauses clauses1,_,clauses1right))::_::(_,(
++MlyValue.exp exp1,exp1left,_))::rest671) => let val result=
++MlyValue.exp(fn _ => let val exp as exp1=exp1 ()
++val clauses as clauses1=clauses1 ()
++ in (HANDLEexp(exp,clauses)) end
++)
++ in (LrTable.NT 38,(result,exp1left,clauses1right),rest671) end
++| (279,(_,(MlyValue.exp exp1,_,exp1right))::(_,(_,RAISE1left,_))::
++rest671) => let val result=MlyValue.exp(fn _ => let val exp as exp1=
++exp1 ()
++ in (RAISEexp exp) end
++)
++ in (LrTable.NT 38,(result,RAISE1left,exp1right),rest671) end
++| (280,(_,(MlyValue.exp exp1,exp1left,exp1right))::rest671) => let 
++val result=MlyValue.typedexp(fn _ => let val exp as exp1=exp1 ()
++ in (exp) end
++)
++ in (LrTable.NT 39,(result,exp1left,exp1right),rest671) end
++| (281,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.typedexp 
++typedexp1,typedexp1left,_))::rest671) => let val result=
++MlyValue.typedexp(fn _ => let val typedexp as typedexp1=typedexp1 ()
++val ty as ty1=ty1 ()
++ in (TYPEDexp(typedexp,ty)) end
++)
++ in (LrTable.NT 39,(result,typedexp1left,ty1right),rest671) end
++| (282,(_,(MlyValue.typedexp typedexp1,typedexp1left,typedexp1right))
++::rest671) => let val result=MlyValue.expseq(fn _ => let val typedexp
++ as typedexp1=typedexp1 ()
++ in ([typedexp]) end
++)
++ in (LrTable.NT 48,(result,typedexp1left,typedexp1right),rest671) end
++| (283,(_,(MlyValue.expseq expseq1,_,expseq1right))::_::(_,(
++MlyValue.typedexp typedexp1,typedexp1left,_))::rest671) => let val 
++result=MlyValue.expseq(fn _ => let val typedexp as typedexp1=typedexp1
++ ()
++val expseq as expseq1=expseq1 ()
++ in (typedexp::expseq) end
++)
++ in (LrTable.NT 48,(result,typedexp1left,expseq1right),rest671) end
++| (284,(_,(MlyValue.expseq expseq1,_,expseq1right))::_::(_,(
++MlyValue.typedexp typedexp1,typedexp1left,_))::rest671) => let val 
++result=MlyValue.expseq2(fn _ => let val typedexp as typedexp1=
++typedexp1 ()
++val expseq as expseq1=expseq1 ()
++ in (typedexp::expseq) end
++)
++ in (LrTable.NT 49,(result,typedexp1left,expseq1right),rest671) end
++| (285,(_,(MlyValue.typedexp typedexp1,typedexp1left,typedexp1right))
++::rest671) => let val result=MlyValue.exps1(fn _ => let val typedexp
++ as typedexp1=typedexp1 ()
++ in ([typedexp]) end
++)
++ in (LrTable.NT 46,(result,typedexp1left,typedexp1right),rest671) end
++| (286,(_,(MlyValue.exps1 exps11,_,exps11right))::_::(_,(
++MlyValue.typedexp typedexp1,typedexp1left,_))::rest671) => let val 
++result=MlyValue.exps1(fn _ => let val typedexp as typedexp1=typedexp1 
++()
++val exps1 as exps11=exps11 ()
++ in (typedexp::exps1) end
++)
++ in (LrTable.NT 46,(result,typedexp1left,exps11right),rest671) end
++| (287,(_,(MlyValue.exps1 exps11,_,exps11right))::_::(_,(
++MlyValue.typedexp typedexp1,typedexp1left,_))::rest671) => let val 
++result=MlyValue.exps2(fn _ => let val typedexp as typedexp1=typedexp1 
++()
++val exps1 as exps11=exps11 ()
++ in (typedexp::exps1) end
++)
++ in (LrTable.NT 47,(result,typedexp1left,exps11right),rest671) end
++| (288,rest671) => let val result=MlyValue.exps(fn _ => ([]))
++ in (LrTable.NT 45,(result,defaultPos,defaultPos),rest671) end
++| (289,(_,(MlyValue.exps1 exps11,exps11left,exps11right))::rest671)
++ => let val result=MlyValue.exps(fn _ => let val exps1 as exps11=
++exps11 ()
++ in (exps1) end
++)
++ in (LrTable.NT 45,(result,exps11left,exps11right),rest671) end
++| (290,(_,(MlyValue.ident2 ident21,ident21left,ident21right))::rest671
++) => let val result=MlyValue.apat(fn _ => let val ident2 as ident21=
++ident21 ()
++ in (CONSpat(ident2,NONE)) end
++)
++ in (LrTable.NT 53,(result,ident21left,ident21right),rest671) end
++| (291,(_,(MlyValue.literal literal1,literal1left,literal1right))::
++rest671) => let val result=MlyValue.apat(fn _ => let val literal as 
++literal1=literal1 ()
++ in (LITpat literal) end
++)
++ in (LrTable.NT 53,(result,literal1left,literal1right),rest671) end
++| (292,(_,(_,WILD1left,WILD1right))::rest671) => let val result=
++MlyValue.apat(fn _ => (WILDpat))
++ in (LrTable.NT 53,(result,WILD1left,WILD1right),rest671) end
++| (293,(_,(_,_,RPAREN1right))::(_,(_,LPAREN1left,_))::rest671) => let 
++val result=MlyValue.apat(fn _ => (TUPLEpat []))
++ in (LrTable.NT 53,(result,LPAREN1left,RPAREN1right),rest671) end
++| (294,(_,(_,_,RBRACKET1right))::(_,(MlyValue.pats pats1,_,_))::(_,(_,
++LBRACKET1left,_))::rest671) => let val result=MlyValue.apat(fn _ => 
++let val pats as pats1=pats1 ()
++ in (LISTpat(pats,NONE)) end
++)
++ in (LrTable.NT 53,(result,LBRACKET1left,RBRACKET1right),rest671) end
++| (295,(_,(_,_,RBRACKET1right))::(_,(MlyValue.pats pats1,_,_))::(_,(_,
++LHASHBRACKET1left,_))::rest671) => let val result=MlyValue.apat(fn _
++ => let val pats as pats1=pats1 ()
++ in (VECTORpat pats) end
++)
++ in (LrTable.NT 53,(result,LHASHBRACKET1left,RBRACKET1right),rest671)
++ end
++| (296,(_,(_,_,RPAREN1right))::(_,(MlyValue.pats2 pats21,_,_))::(_,(_,
++LPAREN1left,_))::rest671) => let val result=MlyValue.apat(fn _ => let 
++val pats2 as pats21=pats21 ()
++ in (TUPLEpat pats2) end
++)
++ in (LrTable.NT 53,(result,LPAREN1left,RPAREN1right),rest671) end
++| (297,(_,(_,_,RPAREN1right))::(_,(MlyValue.orpats2 orpats21,_,_))::(_
++,(_,LPAREN1left,_))::rest671) => let val result=MlyValue.apat(fn _ => 
++let val orpats2 as orpats21=orpats21 ()
++ in (ORpat orpats2) end
++)
++ in (LrTable.NT 53,(result,LPAREN1left,RPAREN1right),rest671) end
++| (298,(_,(_,_,RPAREN1right))::(_,(MlyValue.andpats2 andpats21,_,_))::
++(_,(_,LPAREN1left,_))::rest671) => let val result=MlyValue.apat(fn _
++ => let val andpats2 as andpats21=andpats21 ()
++ in (ANDpat andpats2) end
++)
++ in (LrTable.NT 53,(result,LPAREN1left,RPAREN1right),rest671) end
++| (299,(_,(_,_,RPAREN1right))::(_,(MlyValue.typedpat typedpat1,_,_))::
++(_,(_,LPAREN1left,_))::rest671) => let val result=MlyValue.apat(fn _
++ => let val typedpat as typedpat1=typedpat1 ()
++ in (typedpat) end
++)
++ in (LrTable.NT 53,(result,LPAREN1left,RPAREN1right),rest671) end
++| (300,(_,(_,_,RPAREN1right))::(_,(MlyValue.typedexp typedexp1,_,_))::
++_::(_,(MlyValue.typedpat typedpat1,_,_))::(_,(_,LPAREN1left,_))::
++rest671) => let val result=MlyValue.apat(fn _ => let val typedpat as 
++typedpat1=typedpat1 ()
++val typedexp as typedexp1=typedexp1 ()
++ in (WHEREpat(typedpat,typedexp)) end
++)
++ in (LrTable.NT 53,(result,LPAREN1left,RPAREN1right),rest671) end
++| (301,(_,(_,_,RPAREN1right))::(_,(MlyValue.typedpat typedpat2,_,_))::
++_::(_,(MlyValue.typedexp typedexp1,_,_))::_::(_,(MlyValue.typedpat 
++typedpat1,_,_))::(_,(_,LPAREN1left,_))::rest671) => let val result=
++MlyValue.apat(fn _ => let val typedpat1=typedpat1 ()
++val typedexp as typedexp1=typedexp1 ()
++val typedpat2=typedpat2 ()
++ in (NESTEDpat(typedpat1,typedexp,typedpat2)) end
++)
++ in (LrTable.NT 53,(result,LPAREN1left,RPAREN1right),rest671) end
++| (302,(_,(_,_,RBRACE1right))::(_,(MlyValue.labpats0 labpats01,_,_))::
++(_,(_,LBRACE1left,_))::rest671) => let val result=MlyValue.apat(fn _
++ => let val labpats0 as labpats01=labpats01 ()
++ in (RECORDpat(labpats0)) end
++)
++ in (LrTable.NT 53,(result,LBRACE1left,RBRACE1right),rest671) end
++| (303,(_,(_,_,RBRACKETright as RBRACKET1right))::(_,(MlyValue.pats 
++pats1,_,_))::_::_::(_,(MlyValue.sym sym1,symleft as sym1left,_))::
++rest671) => let val result=MlyValue.apat(fn _ => let val sym as sym1=
++sym1 ()
++val pats as pats1=pats1 ()
++ in (
++let val loc = SourceMapping.location srcMap 
++                                   (symleft,RBRACKETright)
++                 in LISTpat(enumPat(err,loc,sym,pats),NONE) end
++		
++) end
++)
++ in (LrTable.NT 53,(result,sym1left,RBRACKET1right),rest671) end
++| (304,(_,(MlyValue.sym sym2,_,sym2right))::_::(_,(_,_,RBRACKETright))
++::(_,(MlyValue.pats pats1,_,_))::_::_::(_,(MlyValue.sym sym1,symleft
++ as sym1left,_))::rest671) => let val result=MlyValue.apat(fn _ => 
++let val sym1=sym1 ()
++val pats as pats1=pats1 ()
++val sym2=sym2 ()
++ in (
++let val loc = SourceMapping.location srcMap 
++                                   (symleft,RBRACKETright)
++                 in LISTpat(enumPat'(err,loc,
++                                enumPat(err,loc,sym1,pats),sym2),NONE) end
++		
++) end
++)
++ in (LrTable.NT 53,(result,sym1left,sym2right),rest671) end
++| (305,(_,(MlyValue.sym sym1,symleft,sym1right))::_::(_,(_,_,
++RBRACKETright))::(_,(MlyValue.pats pats1,_,_))::(_,(_,LBRACKET1left,_)
++)::rest671) => let val result=MlyValue.apat(fn _ => let val pats as 
++pats1=pats1 ()
++val sym as sym1=sym1 ()
++ in (
++let val loc = SourceMapping.location srcMap 
++                                   (symleft,RBRACKETright)
++                 in LISTpat(enumPat'(err,loc,pats,sym),NONE) end
++		
++) end
++)
++ in (LrTable.NT 53,(result,LBRACKET1left,sym1right),rest671) end
++| (306,(_,(MlyValue.typedpat typedpat2,_,typedpat2right))::_::(_,(
++MlyValue.typedpat typedpat1,typedpat1left,_))::rest671) => let val 
++result=MlyValue.orpats2(fn _ => let val typedpat1=typedpat1 ()
++val typedpat2=typedpat2 ()
++ in ([typedpat1,typedpat2]) end
++)
++ in (LrTable.NT 62,(result,typedpat1left,typedpat2right),rest671) end
++| (307,(_,(MlyValue.orpats2 orpats21,_,orpats21right))::_::(_,(
++MlyValue.typedpat typedpat1,typedpat1left,_))::rest671) => let val 
++result=MlyValue.orpats2(fn _ => let val typedpat as typedpat1=
++typedpat1 ()
++val orpats2 as orpats21=orpats21 ()
++ in (typedpat::orpats2) end
++)
++ in (LrTable.NT 62,(result,typedpat1left,orpats21right),rest671) end
++| (308,(_,(MlyValue.typedpat typedpat2,_,typedpat2right))::_::(_,(
++MlyValue.typedpat typedpat1,typedpat1left,_))::rest671) => let val 
++result=MlyValue.andpats2(fn _ => let val typedpat1=typedpat1 ()
++val typedpat2=typedpat2 ()
++ in ([typedpat1,typedpat2]) end
++)
++ in (LrTable.NT 63,(result,typedpat1left,typedpat2right),rest671) end
++| (309,(_,(MlyValue.andpats2 andpats21,_,andpats21right))::_::(_,(
++MlyValue.typedpat typedpat1,typedpat1left,_))::rest671) => let val 
++result=MlyValue.andpats2(fn _ => let val typedpat as typedpat1=
++typedpat1 ()
++val andpats2 as andpats21=andpats21 ()
++ in (typedpat::andpats2) end
++)
++ in (LrTable.NT 63,(result,typedpat1left,andpats21right),rest671) end
++| (310,(_,(MlyValue.apat apat1,apat1left,apat1right))::rest671) => 
++let val result=MlyValue.apat2(fn _ => let val apat as apat1=apat1 ()
++ in (Prec.EXP apat) end
++)
++ in (LrTable.NT 55,(result,apat1left,apat1right),rest671) end
++| (311,(_,(MlyValue.sym sym1,sym1left,sym1right))::rest671) => let 
++val result=MlyValue.apat2(fn _ => let val sym as sym1=sym1 ()
++ in (Prec.ID sym) end
++)
++ in (LrTable.NT 55,(result,sym1left,sym1right),rest671) end
++| (312,(_,(MlyValue.sym sym1,_,sym1right))::(_,(_,OP1left,_))::rest671
++) => let val result=MlyValue.apat2(fn _ => let val sym as sym1=sym1 ()
++ in (Prec.ID sym) end
++)
++ in (LrTable.NT 55,(result,OP1left,sym1right),rest671) end
++| (313,(_,(MlyValue.apat2 apat21,apat21left,apat21right))::rest671)
++ => let val result=MlyValue.apppat(fn _ => let val apat2 as apat21=
++apat21 ()
++ in ([apat2]) end
++)
++ in (LrTable.NT 56,(result,apat21left,apat21right),rest671) end
++| (314,(_,(MlyValue.apat2 apat21,_,apat21right))::(_,(MlyValue.apppat 
++apppat1,apppat1left,_))::rest671) => let val result=MlyValue.apppat(
++fn _ => let val apppat as apppat1=apppat1 ()
++val apat2 as apat21=apat21 ()
++ in (apppat@[apat2]) end
++)
++ in (LrTable.NT 56,(result,apppat1left,apat21right),rest671) end
++| (315,(_,(MlyValue.apppat apppat1,apppatleft as apppat1left,
++apppatright as apppat1right))::rest671) => let val result=MlyValue.pat
++(fn _ => let val apppat as apppat1=apppat1 ()
++ in (
++parsePat precStack err 
++                                    (SourceMapping.location srcMap 
++                                       (apppatleft,apppatright)) apppat
++) end
++)
++ in (LrTable.NT 57,(result,apppat1left,apppat1right),rest671) end
++| (316,(_,(MlyValue.pat pat1,_,pat1right))::_::(_,(MlyValue.id id1,
++id1left,_))::rest671) => let val result=MlyValue.pat(fn _ => let val 
++id as id1=id1 ()
++val pat as pat1=pat1 ()
++ in (ASpat(id,pat)) end
++)
++ in (LrTable.NT 57,(result,id1left,pat1right),rest671) end
++| (317,(_,(MlyValue.pat pat1,pat1left,pat1right))::rest671) => let 
++val result=MlyValue.typedpat(fn _ => let val pat as pat1=pat1 ()
++ in (pat) end
++)
++ in (LrTable.NT 58,(result,pat1left,pat1right),rest671) end
++| (318,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.typedpat 
++typedpat1,typedpat1left,_))::rest671) => let val result=
++MlyValue.typedpat(fn _ => let val typedpat as typedpat1=typedpat1 ()
++val ty as ty1=ty1 ()
++ in (TYPEDpat(typedpat,ty)) end
++)
++ in (LrTable.NT 58,(result,typedpat1left,ty1right),rest671) end
++| (319,(_,(MlyValue.apat apat1,apat1left,apat1right))::rest671) => 
++let val result=MlyValue.asapat(fn _ => let val apat as apat1=apat1 ()
++ in (apat) end
++)
++ in (LrTable.NT 54,(result,apat1left,apat1right),rest671) end
++| (320,(_,(MlyValue.asapat asapat1,_,asapat1right))::_::(_,(
++MlyValue.id id1,id1left,_))::rest671) => let val result=
++MlyValue.asapat(fn _ => let val id as id1=id1 ()
++val asapat as asapat1=asapat1 ()
++ in (ASpat(id,asapat)) end
++)
++ in (LrTable.NT 54,(result,id1left,asapat1right),rest671) end
++| (321,rest671) => let val result=MlyValue.pats(fn _ => ([]))
++ in (LrTable.NT 59,(result,defaultPos,defaultPos),rest671) end
++| (322,(_,(MlyValue.pats1 pats11,pats11left,pats11right))::rest671)
++ => let val result=MlyValue.pats(fn _ => let val pats1 as pats11=
++pats11 ()
++ in (pats1) end
++)
++ in (LrTable.NT 59,(result,pats11left,pats11right),rest671) end
++| (323,(_,(MlyValue.typedpat typedpat1,typedpat1left,typedpat1right))
++::rest671) => let val result=MlyValue.pats1(fn _ => let val typedpat
++ as typedpat1=typedpat1 ()
++ in ([typedpat]) end
++)
++ in (LrTable.NT 60,(result,typedpat1left,typedpat1right),rest671) end
++| (324,(_,(MlyValue.pats1 pats11,_,pats11right))::_::(_,(
++MlyValue.typedpat typedpat1,typedpat1left,_))::rest671) => let val 
++result=MlyValue.pats1(fn _ => let val typedpat as typedpat1=typedpat1 
++()
++val pats1 as pats11=pats11 ()
++ in (typedpat::pats1) end
++)
++ in (LrTable.NT 60,(result,typedpat1left,pats11right),rest671) end
++| (325,(_,(MlyValue.pats1 pats11,_,pats11right))::_::(_,(
++MlyValue.typedpat typedpat1,typedpat1left,_))::rest671) => let val 
++result=MlyValue.pats2(fn _ => let val typedpat as typedpat1=typedpat1 
++()
++val pats1 as pats11=pats11 ()
++ in (typedpat::pats1) end
++)
++ in (LrTable.NT 61,(result,typedpat1left,pats11right),rest671) end
++| (326,rest671) => let val result=MlyValue.labpats0(fn _ => ([],false)
++)
++ in (LrTable.NT 65,(result,defaultPos,defaultPos),rest671) end
++| (327,(_,(MlyValue.labpats labpats1,labpats1left,labpats1right))::
++rest671) => let val result=MlyValue.labpats0(fn _ => let val labpats
++ as labpats1=labpats1 ()
++ in (labpats) end
++)
++ in (LrTable.NT 65,(result,labpats1left,labpats1right),rest671) end
++| (328,(_,(MlyValue.labpat labpat1,labpat1left,labpat1right))::rest671
++) => let val result=MlyValue.labpats(fn _ => let val labpat as labpat1
++=labpat1 ()
++ in ([labpat],false) end
++)
++ in (LrTable.NT 66,(result,labpat1left,labpat1right),rest671) end
++| (329,(_,(_,_,DOTDOT1right))::_::(_,(MlyValue.labpat labpat1,
++labpat1left,_))::rest671) => let val result=MlyValue.labpats(fn _ => 
++let val labpat as labpat1=labpat1 ()
++ in ([labpat],true) end
++)
++ in (LrTable.NT 66,(result,labpat1left,DOTDOT1right),rest671) end
++| (330,(_,(MlyValue.labpats labpats1,_,labpats1right))::_::(_,(
++MlyValue.labpat labpat1,labpat1left,_))::rest671) => let val result=
++MlyValue.labpats(fn _ => let val labpat as labpat1=labpat1 ()
++val labpats as labpats1=labpats1 ()
++ in (labpat:: #1 labpats, #2 labpats) end
++)
++ in (LrTable.NT 66,(result,labpat1left,labpats1right),rest671) end
++| (331,(_,(MlyValue.sym sym1,sym1left,sym1right))::rest671) => let 
++val result=MlyValue.labpat(fn _ => let val sym as sym1=sym1 ()
++ in (sym,IDpat sym) end
++)
++ in (LrTable.NT 64,(result,sym1left,sym1right),rest671) end
++| (332,(_,(MlyValue.typedpat typedpat1,_,typedpat1right))::_::(_,(
++MlyValue.sym sym1,sym1left,_))::rest671) => let val result=
++MlyValue.labpat(fn _ => let val sym as sym1=sym1 ()
++val typedpat as typedpat1=typedpat1 ()
++ in (sym,typedpat) end
++)
++ in (LrTable.NT 64,(result,sym1left,typedpat1right),rest671) end
++| (333,(_,(MlyValue.typedpat typedpat1,_,typedpat1right))::_::(_,(
++MlyValue.sym sym1,sym1left,_))::rest671) => let val result=
++MlyValue.labpat(fn _ => let val sym as sym1=sym1 ()
++val typedpat as typedpat1=typedpat1 ()
++ in (sym,ASpat(sym,typedpat)) end
++)
++ in (LrTable.NT 64,(result,sym1left,typedpat1right),rest671) end
++| (334,(_,(MlyValue.typedexp typedexp1,_,typedexp1right))::_::(_,(
++MlyValue.sym sym1,sym1left,_))::rest671) => let val result=
++MlyValue.labpat(fn _ => let val sym as sym1=sym1 ()
++val typedexp as typedexp1=typedexp1 ()
++ in (sym,WHEREpat(IDpat sym,typedexp)) end
++)
++ in (LrTable.NT 64,(result,sym1left,typedexp1right),rest671) end
++| (335,(_,(MlyValue.typedpat typedpat1,_,typedpat1right))::_::(_,(
++MlyValue.typedexp typedexp1,_,_))::_::(_,(MlyValue.sym sym1,sym1left,_
++))::rest671) => let val result=MlyValue.labpat(fn _ => let val sym as 
++sym1=sym1 ()
++val typedexp as typedexp1=typedexp1 ()
++val typedpat as typedpat1=typedpat1 ()
++ in (sym,NESTEDpat(IDpat sym,typedexp,typedpat)) end
++)
++ in (LrTable.NT 64,(result,sym1left,typedpat1right),rest671) end
++| (336,(_,(MlyValue.exp exp1,_,exp1right))::_::(_,(MlyValue.cont cont1
++,_,_))::(_,(MlyValue.guard guard1,_,_))::(_,(MlyValue.typedpat 
++typedpat1,typedpat1left,_))::rest671) => let val result=
++MlyValue.clause(fn _ => let val typedpat as typedpat1=typedpat1 ()
++val guard as guard1=guard1 ()
++val cont as cont1=cont1 ()
++val exp as exp1=exp1 ()
++ in (clause([typedpat],guard,cont,NONE,exp)) end
++)
++ in (LrTable.NT 130,(result,typedpat1left,exp1right),rest671) end
++| (337,rest671) => let val result=MlyValue.cont(fn _ => (NONE))
++ in (LrTable.NT 42,(result,defaultPos,defaultPos),rest671) end
++| (338,(_,(MlyValue.id id1,_,id1right))::(_,(_,EXCEPTION1left,_))::
++rest671) => let val result=MlyValue.cont(fn _ => let val id as id1=id1
++ ()
++ in (SOME id) end
++)
++ in (LrTable.NT 42,(result,EXCEPTION1left,id1right),rest671) end
++| (339,rest671) => let val result=MlyValue.guard(fn _ => (NONE))
++ in (LrTable.NT 40,(result,defaultPos,defaultPos),rest671) end
++| (340,(_,(MlyValue.typedexp typedexp1,_,typedexp1right))::(_,(_,
++WHERE1left,_))::rest671) => let val result=MlyValue.guard(fn _ => let 
++val typedexp as typedexp1=typedexp1 ()
++ in (SOME typedexp) end
++)
++ in (LrTable.NT 40,(result,WHERE1left,typedexp1right),rest671) end
++| (341,(_,(MlyValue.clause clause1,clause1left,clause1right))::rest671
++) => let val result=MlyValue.clauses(fn _ => let val clause as clause1
++=clause1 ()
++ in ([clause]) end
++)
++ in (LrTable.NT 131,(result,clause1left,clause1right),rest671) end
++| (342,(_,(MlyValue.clauses clauses1,_,clauses1right))::_::(_,(
++MlyValue.clause clause1,clause1left,_))::rest671) => let val result=
++MlyValue.clauses(fn _ => let val clause as clause1=clause1 ()
++val clauses as clauses1=clauses1 ()
++ in (clause::clauses) end
++)
++ in (LrTable.NT 131,(result,clause1left,clauses1right),rest671) end
++| (343,(_,(MlyValue.typedexp typedexp1,_,typedexpright as 
++typedexp1right))::_::(_,(MlyValue.cont cont1,_,_))::(_,(
++MlyValue.return_ty return_ty1,_,_))::(_,(MlyValue.funguard funguard1,_
++,_))::(_,(MlyValue.apppat apppat1,apppatleft as apppat1left,_))::
++rest671) => let val result=MlyValue.funclause(fn _ => let val apppat
++ as apppat1=apppat1 ()
++val funguard as funguard1=funguard1 ()
++val return_ty as return_ty1=return_ty1 ()
++val cont as cont1=cont1 ()
++val typedexp as typedexp1=typedexp1 ()
++ in (
++let val loc = SourceMapping.location srcMap (apppatleft,typedexpright)
++                 in case parseFunPat precStack err loc apppat of
++                      (SOME f,ps) => (f,clause(ps,funguard,cont,return_ty,typedexp))
++                    | (NONE,ps) => 
++                      (err(loc,
++                           "in clause "^
++                             PP.text(AstPP.clause (CLAUSE(ps,funguard,typedexp))));
++                       ("dummy",clause(ps,funguard,cont,return_ty,typedexp)))
++                 end
++                
++) end
++)
++ in (LrTable.NT 132,(result,apppat1left,typedexp1right),rest671) end
++| (344,rest671) => let val result=MlyValue.return_ty(fn _ => (NONE))
++ in (LrTable.NT 69,(result,defaultPos,defaultPos),rest671) end
++| (345,(_,(MlyValue.ty ty1,_,ty1right))::(_,(_,COLON1left,_))::rest671
++) => let val result=MlyValue.return_ty(fn _ => let val ty as ty1=ty1 
++()
++ in (SOME ty) end
++)
++ in (LrTable.NT 69,(result,COLON1left,ty1right),rest671) end
++| (346,rest671) => let val result=MlyValue.funguard(fn _ => (NONE))
++ in (LrTable.NT 41,(result,defaultPos,defaultPos),rest671) end
++| (347,(_,(_,_,RPAREN1right))::(_,(MlyValue.typedexp typedexp1,_,_))::
++_::(_,(_,WHERE1left,_))::rest671) => let val result=MlyValue.funguard(
++fn _ => let val typedexp as typedexp1=typedexp1 ()
++ in (SOME typedexp) end
++)
++ in (LrTable.NT 41,(result,WHERE1left,RPAREN1right),rest671) end
++| (348,(_,(MlyValue.funclause funclause1,funclause1left,
++funclause1right))::rest671) => let val result=MlyValue.funclauses(fn _
++ => let val funclause as funclause1=funclause1 ()
++ in (#1 funclause,[#2 funclause]) end
++)
++ in (LrTable.NT 133,(result,funclause1left,funclause1right),rest671)
++ end
++| (349,(_,(MlyValue.funclauses funclauses1,_,funclauses1right))::_::(_
++,(MlyValue.funclause funclause1,funclause1left,_))::rest671) => let 
++val result=MlyValue.funclauses(fn _ => let val funclause as funclause1
++=funclause1 ()
++val funclauses as funclauses1=funclauses1 ()
++ in (#1 funclause,#2 funclause:: #2 funclauses) end
++)
++ in (LrTable.NT 133,(result,funclause1left,funclauses1right),rest671)
++ end
++| (350,(_,(MlyValue.tident tident1,tident1left,tident1right))::rest671
++) => let val result=MlyValue.aty(fn _ => let val tident as tident1=
++tident1 ()
++ in (idty(tident)) end
++)
++ in (LrTable.NT 70,(result,tident1left,tident1right),rest671) end
++| (351,(_,(MlyValue.int int1,_,int1right))::(_,(_,HASH1left,_))::
++rest671) => let val result=MlyValue.aty(fn _ => let val int as int1=
++int1 ()
++ in (INTVARty int) end
++)
++ in (LrTable.NT 70,(result,HASH1left,int1right),rest671) end
++| (352,(_,(MlyValue.tyvar tyvar1,tyvar1left,tyvar1right))::rest671)
++ => let val result=MlyValue.aty(fn _ => let val tyvar as tyvar1=tyvar1
++ ()
++ in (TYVARty tyvar) end
++)
++ in (LrTable.NT 70,(result,tyvar1left,tyvar1right),rest671) end
++| (353,(_,(MlyValue.id id1,_,id1right))::(_,(_,DOLLAR1left,_))::
++rest671) => let val result=MlyValue.aty(fn _ => let val id as id1=id1 
++()
++ in (CELLty id) end
++)
++ in (LrTable.NT 70,(result,DOLLAR1left,id1right),rest671) end
++| (354,(_,(_,_,RPAREN1right))::(_,(_,LPAREN1left,_))::rest671) => let 
++val result=MlyValue.aty(fn _ => (TUPLEty []))
++ in (LrTable.NT 70,(result,LPAREN1left,RPAREN1right),rest671) end
++| (355,(_,(_,_,RPAREN1right))::(_,(MlyValue.ty ty1,_,_))::(_,(_,
++LPAREN1left,_))::rest671) => let val result=MlyValue.aty(fn _ => let 
++val ty as ty1=ty1 ()
++ in (ty) end
++)
++ in (LrTable.NT 70,(result,LPAREN1left,RPAREN1right),rest671) end
++| (356,(_,(_,_,RBRACE1right))::(_,(MlyValue.labtys labtys1,_,_))::(_,(
++_,LBRACE1left,_))::rest671) => let val result=MlyValue.aty(fn _ => 
++let val labtys as labtys1=labtys1 ()
++ in (RECORDty labtys) end
++)
++ in (LrTable.NT 70,(result,LBRACE1left,RBRACE1right),rest671) end
++| (357,(_,(MlyValue.aty aty1,aty1left,aty1right))::rest671) => let 
++val result=MlyValue.appty(fn _ => let val aty as aty1=aty1 ()
++ in (aty) end
++)
++ in (LrTable.NT 71,(result,aty1left,aty1right),rest671) end
++| (358,(_,(MlyValue.tident tident1,_,tident1right))::(_,(
++MlyValue.appty appty1,appty1left,_))::rest671) => let val result=
++MlyValue.appty(fn _ => let val appty as appty1=appty1 ()
++val tident as tident1=tident1 ()
++ in (APPty(tident,[appty])) end
++)
++ in (LrTable.NT 71,(result,appty1left,tident1right),rest671) end
++| (359,(_,(MlyValue.tident tident1,_,tident1right))::_::(_,(
++MlyValue.tys2 tys21,_,_))::(_,(_,LPAREN1left,_))::rest671) => let val 
++result=MlyValue.appty(fn _ => let val tys2 as tys21=tys21 ()
++val tident as tident1=tident1 ()
++ in (APPty(tident,tys2)) end
++)
++ in (LrTable.NT 71,(result,LPAREN1left,tident1right),rest671) end
++| (360,(_,(MlyValue.id id1,id1left,id1right))::rest671) => let val 
++result=MlyValue.tid(fn _ => let val id as id1=id1 ()
++ in (id) end
++)
++ in (LrTable.NT 9,(result,id1left,id1right),rest671) end
++| (361,(_,(MlyValue.tid2 tid21,tid21left,tid21right))::rest671) => 
++let val result=MlyValue.tid(fn _ => let val tid2 as tid21=tid21 ()
++ in (tid2) end
++)
++ in (LrTable.NT 9,(result,tid21left,tid21right),rest671) end
++| (362,(_,(_,BITS1left,BITS1right))::rest671) => let val result=
++MlyValue.tid2(fn _ => ("bits"))
++ in (LrTable.NT 10,(result,BITS1left,BITS1right),rest671) end
++| (363,(_,(_,CELL1left,CELL1right))::rest671) => let val result=
++MlyValue.tid2(fn _ => ("cell"))
++ in (LrTable.NT 10,(result,CELL1left,CELL1right),rest671) end
++| (364,(_,(_,INSTRUCTION1left,INSTRUCTION1right))::rest671) => let 
++val result=MlyValue.tid2(fn _ => ("instruction"))
++ in (LrTable.NT 10,(result,INSTRUCTION1left,INSTRUCTION1right),rest671
++) end
++| (365,(_,(MlyValue.tid tid1,tid1left,tid1right))::rest671) => let 
++val result=MlyValue.tident(fn _ => let val tid as tid1=tid1 ()
++ in (IDENT([],tid)) end
++)
++ in (LrTable.NT 11,(result,tid1left,tid1right),rest671) end
++| (366,(_,(MlyValue.tpath tpath1,tpath1left,tpath1right))::rest671)
++ => let val result=MlyValue.tident(fn _ => let val tpath as tpath1=
++tpath1 ()
++ in (IDENT(rev(#1 tpath), #2 tpath)) end
++)
++ in (LrTable.NT 11,(result,tpath1left,tpath1right),rest671) end
++| (367,(_,(MlyValue.tid tid2,_,tid2right))::_::(_,(MlyValue.tid tid1,
++tid1left,_))::rest671) => let val result=MlyValue.tpath(fn _ => let 
++val tid1=tid1 ()
++val tid2=tid2 ()
++ in ([tid1],tid2) end
++)
++ in (LrTable.NT 12,(result,tid1left,tid2right),rest671) end
++| (368,(_,(MlyValue.tid tid1,_,tid1right))::_::(_,(MlyValue.tpath 
++tpath1,tpath1left,_))::rest671) => let val result=MlyValue.tpath(fn _
++ => let val tpath as tpath1=tpath1 ()
++val tid as tid1=tid1 ()
++ in (#2 tpath :: #1 tpath,tid) end
++)
++ in (LrTable.NT 12,(result,tpath1left,tid1right),rest671) end
++| (369,(_,(MlyValue.ty ty2,_,ty2right))::_::(_,(MlyValue.ty ty1,
++ty1left,_))::rest671) => let val result=MlyValue.tys2(fn _ => let val 
++ty1=ty1 ()
++val ty2=ty2 ()
++ in ([ty1,ty2]) end
++)
++ in (LrTable.NT 72,(result,ty1left,ty2right),rest671) end
++| (370,(_,(MlyValue.tys2 tys21,_,tys21right))::_::(_,(MlyValue.ty ty1,
++ty1left,_))::rest671) => let val result=MlyValue.tys2(fn _ => let val 
++ty as ty1=ty1 ()
++val tys2 as tys21=tys21 ()
++ in (ty::tys2) end
++)
++ in (LrTable.NT 72,(result,ty1left,tys21right),rest671) end
++| (371,(_,(MlyValue.ty ty2,_,ty2right))::_::(_,(MlyValue.ty ty1,
++ty1left,_))::rest671) => let val result=MlyValue.ty(fn _ => let val 
++ty1=ty1 ()
++val ty2=ty2 ()
++ in (FUNty(ty1,ty2)) end
++)
++ in (LrTable.NT 68,(result,ty1left,ty2right),rest671) end
++| (372,(_,(MlyValue.tuplety tuplety1,tuplety1left,tuplety1right))::
++rest671) => let val result=MlyValue.ty(fn _ => let val tuplety as 
++tuplety1=tuplety1 ()
++ in (TUPLEty tuplety) end
++)
++ in (LrTable.NT 68,(result,tuplety1left,tuplety1right),rest671) end
++| (373,(_,(MlyValue.appty appty1,appty1left,appty1right))::rest671)
++ => let val result=MlyValue.ty(fn _ => let val appty as appty1=appty1 
++()
++ in (appty) end
++)
++ in (LrTable.NT 68,(result,appty1left,appty1right),rest671) end
++| (374,rest671) => let val result=MlyValue.labtys(fn _ => ([]))
++ in (LrTable.NT 74,(result,defaultPos,defaultPos),rest671) end
++| (375,(_,(MlyValue.labtys1 labtys11,labtys11left,labtys11right))::
++rest671) => let val result=MlyValue.labtys(fn _ => let val labtys1 as 
++labtys11=labtys11 ()
++ in (labtys1) end
++)
++ in (LrTable.NT 74,(result,labtys11left,labtys11right),rest671) end
++| (376,(_,(MlyValue.labty labty1,labty1left,labty1right))::rest671)
++ => let val result=MlyValue.labtys1(fn _ => let val labty as labty1=
++labty1 ()
++ in ([labty]) end
++)
++ in (LrTable.NT 75,(result,labty1left,labty1right),rest671) end
++| (377,(_,(MlyValue.labtys1 labtys11,_,labtys11right))::_::(_,(
++MlyValue.labty labty1,labty1left,_))::rest671) => let val result=
++MlyValue.labtys1(fn _ => let val labty as labty1=labty1 ()
++val labtys1 as labtys11=labtys11 ()
++ in (labty::labtys1) end
++)
++ in (LrTable.NT 75,(result,labty1left,labtys11right),rest671) end
++| (378,(_,(MlyValue.ty ty1,_,ty1right))::_::(_,(MlyValue.id id1,
++id1left,_))::rest671) => let val result=MlyValue.labty(fn _ => let 
++val id as id1=id1 ()
++val ty as ty1=ty1 ()
++ in (id,ty) end
++)
++ in (LrTable.NT 73,(result,id1left,ty1right),rest671) end
++| (379,(_,(MlyValue.appty appty2,_,appty2right))::_::(_,(
++MlyValue.appty appty1,appty1left,_))::rest671) => let val result=
++MlyValue.tuplety(fn _ => let val appty1=appty1 ()
++val appty2=appty2 ()
++ in ([appty1,appty2]) end
++)
++ in (LrTable.NT 76,(result,appty1left,appty2right),rest671) end
++| (380,(_,(MlyValue.tuplety tuplety1,_,tuplety1right))::_::(_,(
++MlyValue.appty appty1,appty1left,_))::rest671) => let val result=
++MlyValue.tuplety(fn _ => let val appty as appty1=appty1 ()
++val tuplety as tuplety1=tuplety1 ()
++ in (appty::tuplety) end
++)
++ in (LrTable.NT 76,(result,appty1left,tuplety1right),rest671) end
++| (381,(_,(MlyValue.storagedecl storagedecl1,storagedecl1left,
++storagedecl1right))::rest671) => let val result=MlyValue.storagedecls(
++fn _ => let val storagedecl as storagedecl1=storagedecl1 ()
++ in ([storagedecl]) end
++)
++ in (LrTable.NT 97,(result,storagedecl1left,storagedecl1right),rest671
++) end
++| (382,(_,(MlyValue.storagedecls storagedecls1,_,storagedecls1right))
++::_::(_,(MlyValue.storagedecl storagedecl1,storagedecl1left,_))::
++rest671) => let val result=MlyValue.storagedecls(fn _ => let val 
++storagedecl as storagedecl1=storagedecl1 ()
++val storagedecls as storagedecls1=storagedecls1 ()
++ in (storagedecl::storagedecls) end
++)
++ in (LrTable.NT 97,(result,storagedecl1left,storagedecls1right),
++rest671) end
++| (383,(_,(MlyValue.printcell printcell1,_,printcell1right))::(_,(
++MlyValue.defaults defaults1,_,_))::(_,(MlyValue.aliasing aliasing1,_,_
++))::(_,(MlyValue.bitSize bitSize1,_,_))::_::(_,(MlyValue.cellcount 
++cellcount1,_,_))::_::(_,(MlyValue.id id2,_,_))::_::_::(_,(MlyValue.id 
++id1,id1left,_))::rest671) => let val result=MlyValue.storagedecl(fn _
++ => let val id as id1=id1 ()
++val id2=id2 ()
++val cellcount as cellcount1=cellcount1 ()
++val bitSize as bitSize1=bitSize1 ()
++val aliasing as aliasing1=aliasing1 ()
++val defaults as defaults1=defaults1 ()
++val printcell as printcell1=printcell1 ()
++ in (
++CELLdecl{id=id1,nickname=id2,
++			   bits= #1 bitSize,count=cellcount,
++                           alias= aliasing, aggregable= #2 bitSize,
++                           from=ref 0,to=ref 0,print=printcell,
++			   defaults=defaults}
++) end
++)
++ in (LrTable.NT 94,(result,id1left,printcell1right),rest671) end
++| (384,rest671) => let val result=MlyValue.aggregable(fn _ => (false))
++ in (LrTable.NT 158,(result,defaultPos,defaultPos),rest671) end
++| (385,(_,(_,AGGREGABLE1left,AGGREGABLE1right))::rest671) => let val 
++result=MlyValue.aggregable(fn _ => (true))
++ in (LrTable.NT 158,(result,AGGREGABLE1left,AGGREGABLE1right),rest671)
++ end
++| (386,(_,(_,_,BITS1right))::(_,(MlyValue.aggregable aggregable1,_,_))
++::(_,(MlyValue.int int1,_,_))::(_,(_,OF1left,_))::rest671) => let val 
++result=MlyValue.bitSize(fn _ => let val int as int1=int1 ()
++val aggregable as aggregable1=aggregable1 ()
++ in (int,aggregable) end
++)
++ in (LrTable.NT 159,(result,OF1left,BITS1right),rest671) end
++| (387,rest671) => let val result=MlyValue.bitSize(fn _ => (0,false))
++ in (LrTable.NT 159,(result,defaultPos,defaultPos),rest671) end
++| (388,(_,(MlyValue.int int1,int1left,int1right))::rest671) => let 
++val result=MlyValue.cellcount(fn _ => let val int as int1=int1 ()
++ in (SOME int) end
++)
++ in (LrTable.NT 98,(result,int1left,int1right),rest671) end
++| (389,rest671) => let val result=MlyValue.cellcount(fn _ => (NONE))
++ in (LrTable.NT 98,(result,defaultPos,defaultPos),rest671) end
++| (390,(_,(MlyValue.exp exp1,_,exp1right))::_::(_,(MlyValue.id id1,
++id1left,_))::rest671) => let val result=MlyValue.locbind(fn _ => let 
++val id as id1=id1 ()
++val exp as exp1=exp1 ()
++ in (LOCbind(id,NONE,exp)) end
++)
++ in (LrTable.NT 99,(result,id1left,exp1right),rest671) end
++| (391,(_,(MlyValue.exp exp1,_,exp1right))::_::(_,(MlyValue.pat pat1,_
++,_))::(_,(MlyValue.id id1,id1left,_))::rest671) => let val result=
++MlyValue.locbind(fn _ => let val id as id1=id1 ()
++val pat as pat1=pat1 ()
++val exp as exp1=exp1 ()
++ in (LOCbind(id,SOME pat,exp)) end
++)
++ in (LrTable.NT 99,(result,id1left,exp1right),rest671) end
++| (392,(_,(MlyValue.locbind locbind1,locbind1left,locbind1right))::
++rest671) => let val result=MlyValue.locbinds(fn _ => let val locbind
++ as locbind1=locbind1 ()
++ in ([locbind]) end
++)
++ in (LrTable.NT 100,(result,locbind1left,locbind1right),rest671) end
++| (393,(_,(MlyValue.locbinds locbinds1,_,locbinds1right))::_::(_,(
++MlyValue.locbind locbind1,locbind1left,_))::rest671) => let val result
++=MlyValue.locbinds(fn _ => let val locbind as locbind1=locbind1 ()
++val locbinds as locbinds1=locbinds1 ()
++ in (locbind::locbinds) end
++)
++ in (LrTable.NT 100,(result,locbind1left,locbinds1right),rest671) end
++| (394,(_,(MlyValue.WORD WORD1,WORD1left,WORD1right))::rest671) => 
++let val result=MlyValue.word(fn _ => let val WORD as WORD1=WORD1 ()
++ in (WORD) end
++)
++ in (LrTable.NT 78,(result,WORD1left,WORD1right),rest671) end
++| (395,(_,(MlyValue.INT INT1,INT1left,INT1right))::rest671) => let 
++val result=MlyValue.int(fn _ => let val INT as INT1=INT1 ()
++ in (INT) end
++)
++ in (LrTable.NT 82,(result,INT1left,INT1right),rest671) end
++| (396,(_,(MlyValue.int int1,int1left,int1right))::rest671) => let 
++val result=MlyValue.intopt(fn _ => let val int as int1=int1 ()
++ in (int) end
++)
++ in (LrTable.NT 83,(result,int1left,int1right),rest671) end
++| (397,rest671) => let val result=MlyValue.intopt(fn _ => (0))
++ in (LrTable.NT 83,(result,defaultPos,defaultPos),rest671) end
++| (398,(_,(MlyValue.INTINF INTINF1,INTINF1left,INTINF1right))::rest671
++) => let val result=MlyValue.intinf(fn _ => let val INTINF as INTINF1=
++INTINF1 ()
++ in (INTINF) end
++)
++ in (LrTable.NT 84,(result,INTINF1left,INTINF1right),rest671) end
++| (399,(_,(MlyValue.REAL REAL1,REAL1left,REAL1right))::rest671) => 
++let val result=MlyValue.real(fn _ => let val REAL as REAL1=REAL1 ()
++ in (REAL) end
++)
++ in (LrTable.NT 85,(result,REAL1left,REAL1right),rest671) end
++| (400,rest671) => let val result=MlyValue.aliasing(fn _ => (NONE))
++ in (LrTable.NT 95,(result,defaultPos,defaultPos),rest671) end
++| (401,(_,(MlyValue.id id1,_,id1right))::(_,(_,ALIASING1left,_))::
++rest671) => let val result=MlyValue.aliasing(fn _ => let val id as id1
++=id1 ()
++ in (SOME id) end
++)
++ in (LrTable.NT 95,(result,ALIASING1left,id1right),rest671) end
++| (402,(_,(MlyValue.string string1,_,string1right))::(_,(_,
++ASM_COLON1left,_))::rest671) => let val result=MlyValue.printcell(fn _
++ => let val string as string1=string1 ()
++ in (
++LAMBDAexp [CLAUSE([WILDpat],NONE,
++                                     LITexp(STRINGlit string))]
++) end
++)
++ in (LrTable.NT 96,(result,ASM_COLON1left,string1right),rest671) end
++| (403,(_,(_,_,RPAREN1right))::(_,(MlyValue.exp exp1,_,_))::_::(_,(_,
++ASM_COLON1left,_))::rest671) => let val result=MlyValue.printcell(fn _
++ => let val exp as exp1=exp1 ()
++ in (exp) end
++)
++ in (LrTable.NT 96,(result,ASM_COLON1left,RPAREN1right),rest671) end
++| (404,rest671) => let val result=MlyValue.defaults(fn _ => ([]))
++ in (LrTable.NT 157,(result,defaultPos,defaultPos),rest671) end
++| (405,(_,(MlyValue.default_list default_list1,_,default_list1right))
++::(_,(_,WHERE1left,_))::rest671) => let val result=MlyValue.defaults(
++fn _ => let val default_list as default_list1=default_list1 ()
++ in (default_list) end
++)
++ in (LrTable.NT 157,(result,WHERE1left,default_list1right),rest671)
++ end
++| (406,(_,(MlyValue.default default1,default1left,default1right))::
++rest671) => let val result=MlyValue.default_list(fn _ => let val 
++default as default1=default1 ()
++ in ([default]) end
++)
++ in (LrTable.NT 156,(result,default1left,default1right),rest671) end
++| (407,(_,(MlyValue.default_list default_list1,_,default_list1right))
++::_::(_,(MlyValue.default default1,default1left,_))::rest671) => let 
++val result=MlyValue.default_list(fn _ => let val default as default1=
++default1 ()
++val default_list as default_list1=default_list1 ()
++ in (default::default_list) end
++)
++ in (LrTable.NT 156,(result,default1left,default_list1right),rest671)
++ end
++| (408,(_,(MlyValue.exp exp1,_,exp1right))::_::_::(_,(MlyValue.int 
++int1,_,_))::_::(_,(MlyValue.id id1,_,_))::(_,(_,DOLLAR1left,_))::
++rest671) => let val result=MlyValue.default(fn _ => let val id1=id1 ()
++val int as int1=int1 ()
++val exp as exp1=exp1 ()
++ in (int,exp) end
++)
++ in (LrTable.NT 155,(result,DOLLAR1left,exp1right),rest671) end
++| (409,(_,(MlyValue.slice slice1,slice1left,slice1right))::rest671)
++ => let val result=MlyValue.slices(fn _ => let val slice as slice1=
++slice1 ()
++ in ([slice]) end
++)
++ in (LrTable.NT 93,(result,slice1left,slice1right),rest671) end
++| (410,(_,(MlyValue.slices slices1,_,slices1right))::_::(_,(
++MlyValue.slice slice1,slice1left,_))::rest671) => let val result=
++MlyValue.slices(fn _ => let val slice as slice1=slice1 ()
++val slices as slices1=slices1 ()
++ in (slice::slices) end
++)
++ in (LrTable.NT 93,(result,slice1left,slices1right),rest671) end
++| (411,(_,(MlyValue.int int2,_,int2right))::_::(_,(MlyValue.int int1,
++int1left,_))::rest671) => let val result=MlyValue.slice(fn _ => let 
++val int1=int1 ()
++val int2=int2 ()
++ in (int1,int2) end
++)
++ in (LrTable.NT 92,(result,int1left,int2right),rest671) end
++| (412,(_,(MlyValue.int int1,int1left,int1right))::rest671) => let 
++val result=MlyValue.slice(fn _ => let val int1=int1 ()
++ in (int1,int1) end
++)
++ in (LrTable.NT 92,(result,int1left,int1right),rest671) end
++| (413,(_,(MlyValue.ID ID1,ID1left,ID1right))::rest671) => let val 
++result=MlyValue.id(fn _ => let val ID as ID1=ID1 ()
++ in (ID) end
++)
++ in (LrTable.NT 4,(result,ID1left,ID1right),rest671) end
++| (414,(_,(MlyValue.SYMBOL SYMBOL1,SYMBOL1left,SYMBOL1right))::rest671
++) => let val result=MlyValue.id(fn _ => let val SYMBOL as SYMBOL1=
++SYMBOL1 ()
++ in (SYMBOL) end
++)
++ in (LrTable.NT 4,(result,SYMBOL1left,SYMBOL1right),rest671) end
++| (415,(_,(_,CELLSET1left,CELLSET1right))::rest671) => let val result=
++MlyValue.id(fn _ => ("cellset"))
++ in (LrTable.NT 4,(result,CELLSET1left,CELLSET1right),rest671) end
++| (416,(_,(MlyValue.id id1,id1left,id1right))::rest671) => let val 
++result=MlyValue.sym(fn _ => let val id as id1=id1 ()
++ in (id) end
++)
++ in (LrTable.NT 5,(result,id1left,id1right),rest671) end
++| (417,(_,(MlyValue.symb symb1,symb1left,symb1right))::rest671) => 
++let val result=MlyValue.sym(fn _ => let val symb as symb1=symb1 ()
++ in (symb) end
++)
++ in (LrTable.NT 5,(result,symb1left,symb1right),rest671) end
++| (418,(_,(_,TIMES1left,TIMES1right))::rest671) => let val result=
++MlyValue.symb(fn _ => ("*"))
++ in (LrTable.NT 6,(result,TIMES1left,TIMES1right),rest671) end
++| (419,(_,(_,NOT1left,NOT1right))::rest671) => let val result=
++MlyValue.symb(fn _ => ("not"))
++ in (LrTable.NT 6,(result,NOT1left,NOT1right),rest671) end
++| (420,(_,(_,DEREF1left,DEREF1right))::rest671) => let val result=
++MlyValue.symb(fn _ => ("!"))
++ in (LrTable.NT 6,(result,DEREF1left,DEREF1right),rest671) end
++| (421,(_,(MlyValue.id id1,id1left,id1right))::rest671) => let val 
++result=MlyValue.ident(fn _ => let val id as id1=id1 ()
++ in (IDENT([],id)) end
++)
++ in (LrTable.NT 7,(result,id1left,id1right),rest671) end
++| (422,(_,(MlyValue.ident2 ident21,ident21left,ident21right))::rest671
++) => let val result=MlyValue.ident(fn _ => let val ident2 as ident21=
++ident21 ()
++ in (ident2) end
++)
++ in (LrTable.NT 7,(result,ident21left,ident21right),rest671) end
++| (423,(_,(MlyValue.path path1,path1left,path1right))::rest671) => 
++let val result=MlyValue.ident2(fn _ => let val path as path1=path1 ()
++ in (IDENT(rev(tl path),hd path)) end
++)
++ in (LrTable.NT 8,(result,path1left,path1right),rest671) end
++| (424,(_,(MlyValue.sym sym1,_,sym1right))::_::(_,(MlyValue.id id1,
++id1left,_))::rest671) => let val result=MlyValue.path(fn _ => let val 
++id as id1=id1 ()
++val sym as sym1=sym1 ()
++ in ([sym,id]) end
++)
++ in (LrTable.NT 15,(result,id1left,sym1right),rest671) end
++| (425,(_,(MlyValue.sym sym1,_,sym1right))::_::(_,(MlyValue.path path1
++,path1left,_))::rest671) => let val result=MlyValue.path(fn _ => let 
++val path as path1=path1 ()
++val sym as sym1=sym1 ()
++ in (sym::path) end
++)
++ in (LrTable.NT 15,(result,path1left,sym1right),rest671) end
++| (426,(_,(MlyValue.TYVAR TYVAR1,TYVAR1left,TYVAR1right))::rest671)
++ => let val result=MlyValue.tyvar(fn _ => let val TYVAR as TYVAR1=
++TYVAR1 ()
++ in (VARtv TYVAR) end
++)
++ in (LrTable.NT 127,(result,TYVAR1left,TYVAR1right),rest671) end
++| (427,(_,(MlyValue.id id1,_,id1right))::(_,(_,HASH1left,_))::rest671)
++ => let val result=MlyValue.tyvar(fn _ => let val id as id1=id1 ()
++ in (INTtv id) end
++)
++ in (LrTable.NT 127,(result,HASH1left,id1right),rest671) end
++| (428,(_,(MlyValue.STRING STRING1,STRING1left,STRING1right))::rest671
++) => let val result=MlyValue.string(fn _ => let val STRING as STRING1=
++STRING1 ()
++ in (STRING) end
++)
++ in (LrTable.NT 88,(result,STRING1left,STRING1right),rest671) end
++| (429,(_,(MlyValue.CHAR CHAR1,CHAR1left,CHAR1right))::rest671) => 
++let val result=MlyValue.char(fn _ => let val CHAR as CHAR1=CHAR1 ()
++ in (CHAR) end
++)
++ in (LrTable.NT 89,(result,CHAR1left,CHAR1right),rest671) end
++| (430,(_,(MlyValue.False False1,False1left,False1right))::rest671)
++ => let val result=MlyValue.bool(fn _ => let val False1=False1 ()
++ in (false) end
++)
++ in (LrTable.NT 90,(result,False1left,False1right),rest671) end
++| (431,(_,(MlyValue.True True1,True1left,True1right))::rest671) => 
++let val result=MlyValue.bool(fn _ => let val True1=True1 ()
++ in (true) end
++)
++ in (LrTable.NT 90,(result,True1left,True1right),rest671) end
++| _ => raise (mlyAction i392)
++end
++val void = MlyValue.VOID
++val extract = fn a => (fn MlyValue.architecture x => x
++| _ => let exception ParseInternal
++	in raise ParseInternal end) a ()
++end
++end
++structure Tokens : MDL_TOKENS =
++struct
++type svalue = ParserData.svalue
++type ('a,'b) token = ('a,'b) Token.token
++fun ARCHITECTURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,(
++ParserData.MlyValue.VOID,p1,p2))
++fun END (p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(
++ParserData.MlyValue.VOID,p1,p2))
++fun LOCAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(
++ParserData.MlyValue.VOID,p1,p2))
++fun IN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(
++ParserData.MlyValue.VOID,p1,p2))
++fun OF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(
++ParserData.MlyValue.VOID,p1,p2))
++fun CASE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(
++ParserData.MlyValue.VOID,p1,p2))
++fun DATATYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(
++ParserData.MlyValue.VOID,p1,p2))
++fun TYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(
++ParserData.MlyValue.VOID,p1,p2))
++fun EQ (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(
++ParserData.MlyValue.VOID,p1,p2))
++fun DOLLAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(
++ParserData.MlyValue.VOID,p1,p2))
++fun TIMES (p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(
++ParserData.MlyValue.VOID,p1,p2))
++fun AND (p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(
++ParserData.MlyValue.VOID,p1,p2))
++fun DEREF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(
++ParserData.MlyValue.VOID,p1,p2))
++fun NOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(
++ParserData.MlyValue.VOID,p1,p2))
++fun CONCAT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(
++ParserData.MlyValue.VOID,p1,p2))
++fun LLBRACKET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(
++ParserData.MlyValue.VOID,p1,p2))
++fun RRBRACKET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(
++ParserData.MlyValue.VOID,p1,p2))
++fun LHASHBRACKET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(
++ParserData.MlyValue.VOID,p1,p2))
++fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(
++ParserData.MlyValue.VOID,p1,p2))
++fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(
++ParserData.MlyValue.VOID,p1,p2))
++fun LBRACKET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,(
++ParserData.MlyValue.VOID,p1,p2))
++fun RBRACKET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,(
++ParserData.MlyValue.VOID,p1,p2))
++fun LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,(
++ParserData.MlyValue.VOID,p1,p2))
++fun RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,(
++ParserData.MlyValue.VOID,p1,p2))
++fun SEMICOLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,(
++ParserData.MlyValue.VOID,p1,p2))
++fun LDQUOTE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,(
++ParserData.MlyValue.VOID,p1,p2))
++fun RDQUOTE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,(
++ParserData.MlyValue.VOID,p1,p2))
++fun LMETA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,(
++ParserData.MlyValue.VOID,p1,p2))
++fun RMETA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,(
++ParserData.MlyValue.VOID,p1,p2))
++fun CELLSET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,(
++ParserData.MlyValue.VOID,p1,p2))
++fun FN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,(
++ParserData.MlyValue.VOID,p1,p2))
++fun STORAGE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,(
++ParserData.MlyValue.VOID,p1,p2))
++fun LOCATIONS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,(
++ParserData.MlyValue.VOID,p1,p2))
++fun HASH (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,(
++ParserData.MlyValue.VOID,p1,p2))
++fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,(
++ParserData.MlyValue.VOID,p1,p2))
++fun COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,(
++ParserData.MlyValue.VOID,p1,p2))
++fun COLONGREATER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,(
++ParserData.MlyValue.VOID,p1,p2))
++fun DOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,(
++ParserData.MlyValue.VOID,p1,p2))
++fun DOTDOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,(
++ParserData.MlyValue.VOID,p1,p2))
++fun AT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,(
++ParserData.MlyValue.VOID,p1,p2))
++fun BAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,(
++ParserData.MlyValue.VOID,p1,p2))
++fun ARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,(
++ParserData.MlyValue.VOID,p1,p2))
++fun DARROW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 42,(
++ParserData.MlyValue.VOID,p1,p2))
++fun PAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 43,(
++ParserData.MlyValue.VOID,p1,p2))
++fun BITS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 44,(
++ParserData.MlyValue.VOID,p1,p2))
++fun IF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 45,(
++ParserData.MlyValue.VOID,p1,p2))
++fun THEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 46,(
++ParserData.MlyValue.VOID,p1,p2))
++fun ELSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 47,(
++ParserData.MlyValue.VOID,p1,p2))
++fun TRUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 48,(
++ParserData.MlyValue.VOID,p1,p2))
++fun FALSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 49,(
++ParserData.MlyValue.VOID,p1,p2))
++fun WILD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 50,(
++ParserData.MlyValue.VOID,p1,p2))
++fun RAISE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 51,(
++ParserData.MlyValue.VOID,p1,p2))
++fun HANDLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 52,(
++ParserData.MlyValue.VOID,p1,p2))
++fun LET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 53,(
++ParserData.MlyValue.VOID,p1,p2))
++fun STRUCTURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 54,(
++ParserData.MlyValue.VOID,p1,p2))
++fun FUNCTOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 55,(
++ParserData.MlyValue.VOID,p1,p2))
++fun SIGNATURE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 56,(
++ParserData.MlyValue.VOID,p1,p2))
++fun SIG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 57,(
++ParserData.MlyValue.VOID,p1,p2))
++fun STRUCT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 58,(
++ParserData.MlyValue.VOID,p1,p2))
++fun WHERE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 59,(
++ParserData.MlyValue.VOID,p1,p2))
++fun SHARING (p1,p2) = Token.TOKEN (ParserData.LrTable.T 60,(
++ParserData.MlyValue.VOID,p1,p2))
++fun INSTRUCTION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 61,(
++ParserData.MlyValue.VOID,p1,p2))
++fun REGISTER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 62,(
++ParserData.MlyValue.VOID,p1,p2))
++fun CELL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 63,(
++ParserData.MlyValue.VOID,p1,p2))
++fun CELLS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 64,(
++ParserData.MlyValue.VOID,p1,p2))
++fun ORDERING (p1,p2) = Token.TOKEN (ParserData.LrTable.T 65,(
++ParserData.MlyValue.VOID,p1,p2))
++fun FIELD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 66,(
++ParserData.MlyValue.VOID,p1,p2))
++fun FIELDS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 67,(
++ParserData.MlyValue.VOID,p1,p2))
++fun VLIW (p1,p2) = Token.TOKEN (ParserData.LrTable.T 68,(
++ParserData.MlyValue.VOID,p1,p2))
++fun SUPERSCALAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 69,(
++ParserData.MlyValue.VOID,p1,p2))
++fun SIGNED (p1,p2) = Token.TOKEN (ParserData.LrTable.T 70,(
++ParserData.MlyValue.VOID,p1,p2))
++fun UNSIGNED (p1,p2) = Token.TOKEN (ParserData.LrTable.T 71,(
++ParserData.MlyValue.VOID,p1,p2))
++fun FORMATS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 72,(
++ParserData.MlyValue.VOID,p1,p2))
++fun AS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 73,(
++ParserData.MlyValue.VOID,p1,p2))
++fun ENCODING (p1,p2) = Token.TOKEN (ParserData.LrTable.T 74,(
++ParserData.MlyValue.VOID,p1,p2))
++fun WITHTYPE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 75,(
++ParserData.MlyValue.VOID,p1,p2))
++fun FUN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 76,(
++ParserData.MlyValue.VOID,p1,p2))
++fun VAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 77,(
++ParserData.MlyValue.VOID,p1,p2))
++fun INCLUDE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 78,(
++ParserData.MlyValue.VOID,p1,p2))
++fun OPEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 79,(
++ParserData.MlyValue.VOID,p1,p2))
++fun OP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 80,(
++ParserData.MlyValue.VOID,p1,p2))
++fun LITTLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 81,(
++ParserData.MlyValue.VOID,p1,p2))
++fun BIG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 82,(
++ParserData.MlyValue.VOID,p1,p2))
++fun ENDIAN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 83,(
++ParserData.MlyValue.VOID,p1,p2))
++fun PIPELINE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 84,(
++ParserData.MlyValue.VOID,p1,p2))
++fun PREDICATED (p1,p2) = Token.TOKEN (ParserData.LrTable.T 85,(
++ParserData.MlyValue.VOID,p1,p2))
++fun LOWERCASE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 86,(
++ParserData.MlyValue.VOID,p1,p2))
++fun UPPERCASE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 87,(
++ParserData.MlyValue.VOID,p1,p2))
++fun VERBATIM (p1,p2) = Token.TOKEN (ParserData.LrTable.T 88,(
++ParserData.MlyValue.VOID,p1,p2))
++fun WHEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 89,(
++ParserData.MlyValue.VOID,p1,p2))
++fun BRANCHING (p1,p2) = Token.TOKEN (ParserData.LrTable.T 90,(
++ParserData.MlyValue.VOID,p1,p2))
++fun TAKEN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 91,(
++ParserData.MlyValue.VOID,p1,p2))
++fun ASSEMBLY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 92,(
++ParserData.MlyValue.VOID,p1,p2))
++fun RTL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 93,(
++ParserData.MlyValue.VOID,p1,p2))
++fun SPAN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 94,(
++ParserData.MlyValue.VOID,p1,p2))
++fun DEPENDENT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 95,(
++ParserData.MlyValue.VOID,p1,p2))
++fun ASSIGN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 96,(
++ParserData.MlyValue.VOID,p1,p2))
++fun DELAYSLOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 97,(
++ParserData.MlyValue.VOID,p1,p2))
++fun FORWARDS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 98,(
++ParserData.MlyValue.VOID,p1,p2))
++fun ALWAYS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 99,(
++ParserData.MlyValue.VOID,p1,p2))
++fun NEVER (p1,p2) = Token.TOKEN (ParserData.LrTable.T 100,(
++ParserData.MlyValue.VOID,p1,p2))
++fun BACKWARDS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 101,(
++ParserData.MlyValue.VOID,p1,p2))
++fun CANDIDATE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 102,(
++ParserData.MlyValue.VOID,p1,p2))
++fun NONFIX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 103,(
++ParserData.MlyValue.VOID,p1,p2))
++fun INFIX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 104,(
++ParserData.MlyValue.VOID,p1,p2))
++fun INFIXR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 105,(
++ParserData.MlyValue.VOID,p1,p2))
++fun DEBUG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 106,(
++ParserData.MlyValue.VOID,p1,p2))
++fun ASM_COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 107,(
++ParserData.MlyValue.VOID,p1,p2))
++fun MC_COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 108,(
++ParserData.MlyValue.VOID,p1,p2))
++fun RTL_COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 109,(
++ParserData.MlyValue.VOID,p1,p2))
++fun DELAYSLOT_COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 110,(
++ParserData.MlyValue.VOID,p1,p2))
++fun NULLIFIED_COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 111,(
++ParserData.MlyValue.VOID,p1,p2))
++fun PADDING_COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 112,(
++ParserData.MlyValue.VOID,p1,p2))
++fun CANDIDATE_COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 113,(
++ParserData.MlyValue.VOID,p1,p2))
++fun AGGREGABLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 114,(
++ParserData.MlyValue.VOID,p1,p2))
++fun ALIASING (p1,p2) = Token.TOKEN (ParserData.LrTable.T 115,(
++ParserData.MlyValue.VOID,p1,p2))
++fun RESOURCE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 116,(
++ParserData.MlyValue.VOID,p1,p2))
++fun CPU (p1,p2) = Token.TOKEN (ParserData.LrTable.T 117,(
++ParserData.MlyValue.VOID,p1,p2))
++fun RESERVATION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 118,(
++ParserData.MlyValue.VOID,p1,p2))
++fun TABLE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 119,(
++ParserData.MlyValue.VOID,p1,p2))
++fun LATENCY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 120,(
++ParserData.MlyValue.VOID,p1,p2))
++fun EQUATION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 121,(
++ParserData.MlyValue.VOID,p1,p2))
++fun EXCEPTION (p1,p2) = Token.TOKEN (ParserData.LrTable.T 122,(
++ParserData.MlyValue.VOID,p1,p2))
++fun ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 123,(
++ParserData.MlyValue.ID (fn () => i),p1,p2))
++fun SYMBOL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 124,(
++ParserData.MlyValue.SYMBOL (fn () => i),p1,p2))
++fun TYVAR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 125,(
++ParserData.MlyValue.TYVAR (fn () => i),p1,p2))
++fun WORD (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 126,(
++ParserData.MlyValue.WORD (fn () => i),p1,p2))
++fun INT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 127,(
++ParserData.MlyValue.INT (fn () => i),p1,p2))
++fun INTINF (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 128,(
++ParserData.MlyValue.INTINF (fn () => i),p1,p2))
++fun REAL (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 129,(
++ParserData.MlyValue.REAL (fn () => i),p1,p2))
++fun STRING (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 130,(
++ParserData.MlyValue.STRING (fn () => i),p1,p2))
++fun CHAR (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 131,(
++ParserData.MlyValue.CHAR (fn () => i),p1,p2))
++fun ASMTEXT (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 132,(
++ParserData.MlyValue.ASMTEXT (fn () => i),p1,p2))
++fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 133,(
++ParserData.MlyValue.VOID,p1,p2))
++end
++end
+diff -Naur MLRISC/Tools/Parser/mdl.lex.sml MLRISC-mlton/Tools/Parser/mdl.lex.sml
+--- MLRISC/Tools/Parser/mdl.lex.sml	1969-12-31 19:00:00.000000000 -0500
++++ MLRISC-mlton/Tools/Parser/mdl.lex.sml	2004-10-26 12:11:57.000000000 -0400
+@@ -0,0 +1,1693 @@
++functor MDLLexFun(Tokens : MDL_TOKENS)=
++   struct
++    structure UserDeclarations =
++      struct
++exception Error
++
++type pos = int
++type svalue = Tokens.svalue
++type ('a,'b) token = ('a,'b) Tokens.token
++type lexresult = (svalue,pos) token
++type lexarg = {srcMap  : SourceMapping.sourcemap,
++               err     : pos * pos * string -> unit,
++               MDLmode : bool
++              }
++type arg = lexarg
++
++open Tokens
++
++val commentLevel = ref 0
++val metaLevel = ref 0
++
++val asmLQuote = ref "``"
++val asmRQuote = ref "''"
++val asmLMeta  = ref "<"
++val asmRMeta  = ref ">"
++
++exception Error
++
++fun init() = (commentLevel := 0; metaLevel := 0;
++	      asmLQuote := "``"; asmRQuote := "''";
++	      asmLMeta := "<"; asmRMeta := ">"
++	     )
++
++fun eof{srcMap,err,MDLmode} = 
++    let val pos = SourceMapping.currPos srcMap
++    in  EOF(pos,pos) end
++fun debug _ = ()
++
++fun check(err,_,_,SOME w) = w
++  | check(err,pos,s,NONE) = 
++      (err(pos,pos+size s,"bad literal "^s); raise Error)
++
++fun strip k s = String.substring(s,k,String.size s - k)
++fun scan err fmt (s,s') tok pos = 
++      tok(check(err,pos,s,StringCvt.scanString fmt s'),
++                pos,pos + size s) 
++      handle _ => ID(s,pos,pos)
++
++fun wdecimal(err,s,pos) = 
++      scan err (Word32.scan StringCvt.DEC) (s,strip 2 s) WORD pos
++fun whex(err,s,pos) = 
++      scan err (Word32.scan StringCvt.HEX) (s,strip 3 s) WORD pos
++fun woctal(err,s,pos) = scan err (Word32.scan StringCvt.OCT) (s,strip 3 s) WORD pos
++fun wbinary(err,s,pos) = scan err (Word32.scan StringCvt.BIN) (s,strip 3 s) WORD pos
++fun decimal(err,s,pos) = scan err (Int.scan StringCvt.DEC) (s,s) INT pos
++fun real(err,s,pos) = scan err (Real.scan) (s,s) 
++                       (fn (x,y,z) => REAL(Real.toString x, y, z)) pos
++fun hex(err,s,pos) = scan err (Int.scan StringCvt.HEX) (s,strip 2 s) INT pos
++fun octal(err,s,pos) = scan err (Int.scan StringCvt.OCT) (s,strip 2 s) INT pos
++fun binary(err,s,pos) = scan err (Int.scan StringCvt.BIN) (s,strip 2 s) INT pos
++
++fun decimalinf(err,s,pos) = scan err (IntInf.scan StringCvt.DEC) (s,s) INTINF pos
++fun hexinf(err,s,pos) = scan err (IntInf.scan StringCvt.HEX) (s,strip 2 s) INTINF pos
++fun octalinf(err,s,pos) = scan err (IntInf.scan StringCvt.OCT) (s,strip 2 s) INTINF pos
++fun binaryinf(err,s,pos) = scan err (IntInf.scan StringCvt.BIN) (s,strip 2 s) INTINF pos
++
++fun string(err,s,pos) = 
++  STRING(
++    check(err,pos,s,String.fromString(String.substring(s,1,String.size s-2))),
++    pos, pos + size s)
++fun char(err,s,pos) = 
++  CHAR(check(err,pos,s,Char.fromString(String.substring(s,2,String.size s-3))),
++       pos,pos + size s)
++fun transAsm s = 
++let fun loop(#"\\" :: #"<" ::s) = #"<"::loop s
++      | loop(#"\\" :: #">" ::s) = #">"::loop s
++      | loop(c::s) = c::loop s
++      | loop [] = []  
++in  String.implode(loop(String.explode s))
++end
++
++fun asmtext(err,s,pos) = 
++  ASMTEXT(check(err,pos,s,String.fromString(transAsm s)),pos,pos + size s)
++
++infix $$ 
++fun x $$ y = y :: x 
++
++exception NotFound
++
++val keywords = HashTable.mkTable (HashString.hashString,op =) (13,NotFound) 
++               : (string,int * int -> (svalue,int) token) HashTable.hash_table
++val MDLkeywords = HashTable.mkTable (HashString.hashString,op =) (13,NotFound) 
++               : (string,int * int -> (svalue,int) token) HashTable.hash_table
++val symbols  = HashTable.mkTable (HashString.hashString,op =) (13,NotFound)
++               : (string,int * int -> (svalue,int) token) HashTable.hash_table
++
++val _ = app (HashTable.insert keywords) 
++( nil       $$
++ ("_",WILD) $$
++ ("datatype", DATATYPE) $$
++ ("type", TYPE) $$
++ ("end", END) $$
++ ("fun", FUN) $$
++ ("fn", FN) $$
++ ("val", VAL) $$
++ ("raise", RAISE) $$
++ ("handle", HANDLE) $$
++ ("let", LET) $$
++ ("local", LOCAL) $$
++ ("exception", EXCEPTION) $$
++ ("structure", STRUCTURE) $$
++ ("signature", SIGNATURE) $$
++ ("functor", FUNCTOR) $$
++ ("sig", SIG) $$
++ ("struct", STRUCT) $$
++ ("sharing", SHARING) $$
++ ("where", WHERE) $$
++ ("withtype", WITHTYPE) $$
++ ("if", IF) $$
++ ("then", THEN) $$
++ ("else", ELSE) $$
++ ("in", IN) $$
++ ("true", TRUE) $$
++ ("false", FALSE) $$
++ ("and", AND) $$
++ ("at", AT) $$
++ ("of", OF) $$
++ ("case", CASE) $$
++ ("as", AS) $$
++ ("open", OPEN) $$
++ ("op", OP) $$
++ ("include", INCLUDE) $$
++ ("infix", INFIX) $$
++ ("infixr", INFIXR) $$
++ ("nonfix", NONFIX) $$
++ ("not", NOT) 
++)
++
++val _ = app (HashTable.insert MDLkeywords) 
++( nil $$
++ ("architecture", ARCHITECTURE) $$
++ ("assembly", ASSEMBLY) $$
++ ("storage", STORAGE) $$
++ ("locations", LOCATIONS) $$
++ ("equation", EQUATION) $$
++ ("at", AT) $$
++ ("vliw", VLIW) $$
++ ("field", FIELD) $$
++ ("fields", FIELDS) $$
++ ("signed", SIGNED) $$
++ ("unsigned", UNSIGNED) $$
++ ("superscalar", SUPERSCALAR) $$
++ ("bits", BITS) $$
++ ("ordering", ORDERING) $$
++ ("little", LITTLE) $$
++ ("big", BIG) $$
++ ("endian", ENDIAN) $$
++ ("register", REGISTER) $$
++ ("as", AS) $$
++ ("cell", CELL) $$
++ ("cells", CELLS) $$
++ ("cellset", CELLSET) $$
++ ("pipeline", PIPELINE) $$
++ ("cpu", CPU) $$
++ ("resource", RESOURCE) $$
++ ("reservation", RESERVATION) $$
++ ("table", TABLE) $$
++ ("latency", LATENCY) $$
++ ("predicated", PREDICATED) $$
++ ("instruction", INSTRUCTION) $$
++ ("formats", FORMATS) $$
++ ("uppercase", UPPERCASE) $$
++ ("lowercase", LOWERCASE) $$
++ ("verbatim", VERBATIM) $$
++ ("span", SPAN) $$
++ ("dependent", DEPENDENT) $$
++ ("always", ALWAYS) $$
++ ("never", NEVER) $$
++ ("delayslot", DELAYSLOT) $$
++ (* ("branching", BRANCHING) $$ *)
++ ("candidate", CANDIDATE) $$
++ ("rtl", RTL) $$
++ ("debug", DEBUG) $$
++ ("aliasing", ALIASING) $$
++ ("aggregable",AGGREGABLE) 
++)
++
++val _ = app (HashTable.insert symbols) 
++(
++  nil $$
++  ("=",	EQ) $$
++  ("*",	TIMES) $$
++  (":",	COLON) $$
++  (":>",COLONGREATER) $$
++  ("|", BAR) $$
++  ("->", ARROW) $$
++  ("=>", DARROW) $$
++  ("#", HASH) $$
++  ("!", DEREF) $$
++  ("^^", CONCAT)
++)
++
++fun lookup(MDLmode,s,yypos) =
++let val l = String.size s
++    fun id() = ID(UniqueSymbol.toString
++                    (UniqueSymbol.fromString s), yypos, yypos + l)
++in  HashTable.lookup keywords s (yypos,yypos + l) 
++      handle _ => 
++        (if MDLmode then 
++           (HashTable.lookup MDLkeywords s (yypos,yypos + l) handle _ => id())
++         else id()
++        )
++end
++
++fun lookupSym(s,yypos) =
++let val l = String.size s
++in  HashTable.lookup symbols s (yypos,yypos + l) 
++      handle _ => SYMBOL(UniqueSymbol.toString
++                     (UniqueSymbol.fromString s), yypos, yypos + l)
++end
++
++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"
++),
++ (1, 
++"\009\009\009\009\009\009\009\009\009\115\116\009\009\009\009\009\
++\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
++\\115\020\111\106\105\020\020\103\101\100\020\020\099\020\096\020\
++\\079\078\078\078\078\078\078\078\078\078\020\077\020\020\020\020\
++\\020\022\022\022\022\022\022\022\022\022\022\022\022\022\022\022\
++\\022\022\022\022\022\022\022\022\022\022\022\076\009\075\020\022\
++\\073\069\022\059\049\022\022\022\022\022\022\022\022\046\036\022\
++\\028\022\024\022\022\022\022\022\022\022\022\021\020\019\010\009\
++\\009"
++),
++ (3, 
++"\117\117\117\117\117\117\117\117\117\122\116\117\117\117\117\117\
++\\117\117\117\117\117\117\117\117\117\117\117\117\117\117\117\117\
++\\122\117\117\117\117\117\117\117\120\117\118\117\117\117\117\117\
++\\117\117\117\117\117\117\117\117\117\117\117\117\117\117\117\117\
++\\117\117\117\117\117\117\117\117\117\117\117\117\117\117\117\117\
++\\117\117\117\117\117\117\117\117\117\117\117\117\117\117\117\117\
++\\117\117\117\117\117\117\117\117\117\117\117\117\117\117\117\117\
++\\117\117\117\117\117\117\117\117\117\117\117\117\117\117\117\117\
++\\117"
++),
++ (5, 
++"\009\009\009\009\009\009\009\009\009\115\116\009\009\009\009\009\
++\\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\
++\\115\127\111\143\142\127\127\140\139\100\127\127\099\127\136\127\
++\\079\078\078\078\078\078\078\078\078\078\127\077\134\133\131\127\
++\\127\022\022\022\022\022\022\022\022\022\022\022\022\022\022\022\
++\\022\022\022\022\022\022\022\022\022\022\022\076\130\075\127\022\
++\\128\069\022\059\049\022\022\022\022\022\022\022\022\046\036\022\
++\\028\022\024\022\022\022\022\022\022\022\022\021\127\019\123\009\
++\\009"
++),
++ (7, 
++"\144\144\144\144\144\144\144\144\144\009\162\144\144\144\144\144\
++\\144\144\144\144\144\144\144\144\144\144\144\144\144\144\144\144\
++\\144\150\144\150\150\150\150\160\144\144\150\150\144\150\150\150\
++\\144\144\144\144\144\144\144\144\144\144\150\144\158\157\155\150\
++\\150\144\144\144\144\144\144\144\144\144\144\144\144\144\144\144\
++\\144\144\144\144\144\144\144\144\144\144\144\144\153\144\150\144\
++\\151\144\144\144\144\144\144\144\144\144\144\144\144\144\144\144\
++\\144\144\144\144\144\144\144\144\144\144\144\144\150\144\146\144\
++\\144"
++),
++ (10, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\011\000\011\011\011\011\000\000\000\011\011\000\011\000\011\
++\\012\012\012\012\012\012\012\012\012\012\011\000\011\011\011\011\
++\\011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\011\000\011\000\
++\\000"
++),
++ (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\011\000\011\011\011\011\000\000\000\011\011\000\011\000\011\
++\\000\000\000\000\000\000\000\000\000\000\011\000\011\011\011\011\
++\\011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\011\000\011\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\000\014\000\
++\\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\013\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\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\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\015\015\015\015\015\015\015\015\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"
++),
++ (15, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\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\015\015\015\015\015\015\015\015\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\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"
++),
++ (16, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\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\018\018\018\018\018\018\018\018\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\017\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\000\000\000\
++\\018\018\018\018\018\018\018\018\018\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"
++),
++ (22, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (24, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\025\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (25, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\026\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (26, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\027\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (28, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\029\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (29, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\030\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (30, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\031\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (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\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\032\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (32, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\033\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (33, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\034\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (34, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\035\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\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\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\037\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (37, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\038\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (38, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\039\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (39, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\040\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (40, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\041\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\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\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\042\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (42, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\043\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (43, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\044\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (44, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\045\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (46, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\047\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (47, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\048\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (49, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\050\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (50, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\051\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (51, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\052\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (52, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\053\023\000\000\000\000\000\
++\\000"
++),
++ (53, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\054\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (54, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\055\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (55, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\056\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (56, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\057\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (57, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\058\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (59, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\060\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (60, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\061\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (61, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\062\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (62, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\063\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (63, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\064\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (64, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\065\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (65, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\066\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (66, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\067\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (67, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\068\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (69, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\070\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (70, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\071\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (71, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\
++\\023\023\023\023\023\023\023\023\023\023\072\000\000\000\000\000\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\023\
++\\000\023\023\023\023\023\023\023\023\023\023\023\023\023\023\023\
++\\023\023\023\023\023\023\023\023\023\023\023\000\000\000\000\000\
++\\000"
++),
++ (73, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\074\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (79, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\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\000\
++\\094\094\094\094\094\094\094\094\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\091\000\000\000\000\000\000\013\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\083\080\000\000\000\000\000\000\000\
++\\000"
++),
++ (80, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\081\081\081\081\081\081\081\081\081\081\000\000\000\000\000\000\
++\\000\081\081\081\081\081\081\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\081\081\081\081\081\081\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (81, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\081\081\081\081\081\081\081\081\081\081\000\000\000\000\000\000\
++\\000\081\081\081\081\081\081\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\081\081\081\081\081\081\000\000\082\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (83, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\089\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\086\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\084\000\000\000\000\000\000\000\
++\\000"
++),
++ (84, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\085\085\085\085\085\085\085\085\085\085\000\000\000\000\000\000\
++\\000\085\085\085\085\085\085\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\085\085\085\085\085\085\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (86, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\087\087\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (88, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\088\088\088\088\088\088\088\088\088\088\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (89, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\090\090\090\090\090\090\090\090\088\088\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (91, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\092\092\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (92, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\092\092\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\093\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (94, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\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\000\
++\\094\094\094\094\094\094\094\094\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\095\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (96, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\097\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (97, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\098\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (101, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\102\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (103, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\074\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\
++\\104\104\104\104\104\104\104\104\104\104\104\000\000\000\000\104\
++\\000\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\
++\\104\104\104\104\104\104\104\104\104\104\104\000\000\000\000\000\
++\\000"
++),
++ (104, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\104\000\000\000\000\000\000\000\000\
++\\104\104\104\104\104\104\104\104\104\104\000\000\000\000\000\000\
++\\000\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\
++\\104\104\104\104\104\104\104\104\104\104\104\000\000\000\000\104\
++\\000\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\
++\\104\104\104\104\104\104\104\104\104\104\104\000\000\000\000\000\
++\\000"
++),
++ (106, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\011\108\011\011\011\011\000\000\000\011\011\000\011\000\011\
++\\000\000\000\000\000\000\000\000\000\000\011\000\011\011\011\011\
++\\011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\107\000\000\011\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\011\000\011\000\
++\\000"
++),
++ (108, 
++"\108\108\108\108\108\108\108\108\108\000\000\108\108\108\108\108\
++\\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\
++\\108\108\110\108\108\108\108\108\108\108\108\108\108\108\108\108\
++\\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\
++\\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\
++\\108\108\108\108\108\108\108\108\108\108\108\108\109\108\108\108\
++\\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\
++\\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\
++\\108"
++),
++ (109, 
++"\108\108\108\108\108\108\108\108\108\108\000\108\108\108\108\108\
++\\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\
++\\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\
++\\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\
++\\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\
++\\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\
++\\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\
++\\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\108\
++\\108"
++),
++ (111, 
++"\112\112\112\112\112\112\112\112\112\000\000\112\112\112\112\112\
++\\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\
++\\112\112\114\112\112\112\112\112\112\112\112\112\112\112\112\112\
++\\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\
++\\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\
++\\112\112\112\112\112\112\112\112\112\112\112\112\113\112\112\112\
++\\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\
++\\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\
++\\112"
++),
++ (113, 
++"\112\112\112\112\112\112\112\112\112\112\000\112\112\112\112\112\
++\\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\
++\\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\
++\\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\
++\\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\
++\\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\
++\\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\
++\\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\112\
++\\112"
++),
++ (118, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\119\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (120, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\121\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (123, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\124\000\124\124\124\124\000\000\000\124\124\000\124\124\124\
++\\012\012\012\012\012\012\012\012\012\012\124\000\000\124\125\124\
++\\124\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\124\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\124\000\124\000\
++\\000"
++),
++ (124, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\124\000\124\124\124\124\000\000\000\124\124\000\124\124\124\
++\\000\000\000\000\000\000\000\000\000\000\124\000\000\124\000\124\
++\\124\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\124\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\124\000\124\000\
++\\000"
++),
++ (125, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\126\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (128, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (130, 
++"\126\126\126\126\126\126\126\126\126\126\000\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\
++\\126"
++),
++ (131, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (133, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\124\000\124\124\124\124\000\000\000\124\124\000\124\124\124\
++\\000\000\000\000\000\000\000\000\000\000\124\000\000\124\126\124\
++\\124\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\124\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\124\000\124\000\
++\\000"
++),
++ (134, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\135\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (136, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\124\000\124\124\124\124\000\000\000\124\124\000\124\137\124\
++\\000\000\000\000\000\000\000\000\000\000\124\000\000\124\000\124\
++\\124\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\124\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\124\000\124\000\
++\\000"
++),
++ (137, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\124\000\124\124\124\124\000\000\000\124\124\000\124\138\124\
++\\000\000\000\000\000\000\000\000\000\000\124\000\000\124\000\124\
++\\124\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\124\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\124\000\124\000\
++\\000"
++),
++ (140, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\
++\\104\104\104\104\104\104\104\104\104\104\104\000\000\000\000\104\
++\\000\104\104\104\104\104\104\104\104\104\104\104\104\104\104\104\
++\\104\104\104\104\104\104\104\104\104\104\104\000\000\000\000\000\
++\\000"
++),
++ (141, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (143, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\124\108\124\124\124\124\000\000\000\124\124\000\124\124\124\
++\\000\000\000\000\000\000\000\000\000\000\124\000\000\124\000\124\
++\\124\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\107\000\000\124\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\124\000\124\000\
++\\000"
++),
++ (144, 
++"\145\145\145\145\145\145\145\145\145\000\000\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\000\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\000\145\000\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145"
++),
++ (146, 
++"\145\145\145\145\145\145\145\145\145\000\000\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\147\145\147\147\147\147\000\145\145\147\147\145\147\147\147\
++\\145\145\145\145\145\145\145\145\145\145\147\145\000\147\148\147\
++\\147\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\147\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\147\145\147\145\
++\\145"
++),
++ (147, 
++"\145\145\145\145\145\145\145\145\145\000\000\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\147\145\147\147\147\147\000\145\145\147\147\145\147\147\147\
++\\145\145\145\145\145\145\145\145\145\145\147\145\000\147\000\147\
++\\147\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\147\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\147\145\147\145\
++\\145"
++),
++ (148, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (151, 
++"\145\145\145\145\145\145\145\145\145\000\000\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\000\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\000\145\000\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\152\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145"
++),
++ (153, 
++"\154\154\154\154\154\154\154\154\154\149\000\154\154\154\154\154\
++\\154\154\154\154\154\154\154\154\154\154\154\154\154\154\154\154\
++\\154\154\154\154\154\154\154\149\154\154\154\154\154\154\154\154\
++\\154\154\154\154\154\154\154\154\154\154\154\154\149\154\149\154\
++\\154\154\154\154\154\154\154\154\154\154\154\154\154\154\154\154\
++\\154\154\154\154\154\154\154\154\154\154\154\154\154\154\154\154\
++\\154\154\154\154\154\154\154\154\154\154\154\154\154\154\154\154\
++\\154\154\154\154\154\154\154\154\154\154\154\154\154\154\154\154\
++\\154"
++),
++ (155, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\156\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (157, 
++"\145\145\145\145\145\145\145\145\145\000\000\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\147\145\147\147\147\147\000\145\145\147\147\145\147\147\147\
++\\145\145\145\145\145\145\145\145\145\145\147\145\000\147\149\147\
++\\147\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\147\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\145\
++\\145\145\145\145\145\145\145\145\145\145\145\145\147\145\147\145\
++\\145"
++),
++ (158, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\159\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000"
++),
++ (160, 
++"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
++\\000\000\000\000\000\000\000\000\000\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 
++fun look ((j,x)::r, i: int) = 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 251)], trans = 0},
++{fin = [(N 197),(N 251)], trans = 10},
++{fin = [(N 197)], trans = 11},
++{fin = [(N 12)], trans = 12},
++{fin = [(N 31)], trans = 0},
++{fin = [], trans = 14},
++{fin = [(N 95)], trans = 15},
++{fin = [], trans = 16},
++{fin = [], trans = 17},
++{fin = [(N 95)], trans = 17},
++{fin = [(N 175),(N 251)], trans = 0},
++{fin = [(N 197),(N 251)], trans = 11},
++{fin = [(N 173),(N 251)], trans = 0},
++{fin = [(N 156),(N 251)], trans = 22},
++{fin = [(N 156)], trans = 22},
++{fin = [(N 156),(N 251)], trans = 24},
++{fin = [(N 156)], trans = 25},
++{fin = [(N 156)], trans = 26},
++{fin = [(N 111)], trans = 0},
++{fin = [(N 156),(N 251)], trans = 28},
++{fin = [(N 156)], trans = 29},
++{fin = [(N 156)], trans = 30},
++{fin = [(N 156)], trans = 31},
++{fin = [(N 156)], trans = 32},
++{fin = [(N 156)], trans = 33},
++{fin = [(N 156)], trans = 34},
++{fin = [(N 131)], trans = 0},
++{fin = [(N 156),(N 251)], trans = 36},
++{fin = [(N 156)], trans = 37},
++{fin = [(N 156)], trans = 38},
++{fin = [(N 156)], trans = 39},
++{fin = [(N 156)], trans = 40},
++{fin = [(N 156)], trans = 41},
++{fin = [(N 156)], trans = 42},
++{fin = [(N 156)], trans = 43},
++{fin = [(N 156)], trans = 44},
++{fin = [(N 142)], trans = 0},
++{fin = [(N 156),(N 251)], trans = 46},
++{fin = [(N 156)], trans = 47},
++{fin = [(N 106)], trans = 0},
++{fin = [(N 156),(N 251)], trans = 49},
++{fin = [(N 156)], trans = 50},
++{fin = [(N 156)], trans = 51},
++{fin = [(N 156)], trans = 52},
++{fin = [(N 156)], trans = 53},
++{fin = [(N 156)], trans = 54},
++{fin = [(N 156)], trans = 55},
++{fin = [(N 156)], trans = 56},
++{fin = [(N 156)], trans = 57},
++{fin = [(N 122)], trans = 0},
++{fin = [(N 156),(N 251)], trans = 59},
++{fin = [(N 156)], trans = 60},
++{fin = [(N 156)], trans = 61},
++{fin = [(N 156)], trans = 62},
++{fin = [(N 156)], trans = 63},
++{fin = [(N 156)], trans = 64},
++{fin = [(N 156)], trans = 65},
++{fin = [(N 156)], trans = 66},
++{fin = [(N 156)], trans = 67},
++{fin = [(N 153)], trans = 0},
++{fin = [(N 156),(N 251)], trans = 69},
++{fin = [(N 156)], trans = 70},
++{fin = [(N 156)], trans = 71},
++{fin = [(N 102)], trans = 0},
++{fin = [(N 251)], trans = 73},
++{fin = [(N 197)], trans = 0},
++{fin = [(N 171),(N 251)], trans = 0},
++{fin = [(N 166),(N 251)], trans = 0},
++{fin = [(N 179),(N 251)], trans = 0},
++{fin = [(N 12),(N 251)], trans = 12},
++{fin = [(N 12),(N 251)], trans = 79},
++{fin = [], trans = 80},
++{fin = [(N 17)], trans = 81},
++{fin = [(N 37)], trans = 0},
++{fin = [], trans = 83},
++{fin = [], trans = 84},
++{fin = [(N 59)], trans = 84},
++{fin = [], trans = 86},
++{fin = [(N 71)], trans = 86},
++{fin = [(N 53)], trans = 88},
++{fin = [(N 53)], trans = 89},
++{fin = [(N 53),(N 65)], trans = 89},
++{fin = [], trans = 91},
++{fin = [(N 26)], trans = 92},
++{fin = [(N 48)], trans = 0},
++{fin = [(N 12),(N 21)], trans = 94},
++{fin = [(N 31),(N 42)], trans = 0},
++{fin = [(N 181),(N 251)], trans = 96},
++{fin = [(N 184)], trans = 97},
++{fin = [(N 188)], trans = 0},
++{fin = [(N 177),(N 251)], trans = 0},
++{fin = [(N 164),(N 251)], trans = 0},
++{fin = [(N 162),(N 251)], trans = 101},
++{fin = [(N 8)], trans = 0},
++{fin = [(N 251)], trans = 103},
++{fin = [(N 160)], trans = 104},
++{fin = [(N 97),(N 197),(N 251)], trans = 11},
++{fin = [(N 197),(N 251)], trans = 106},
++{fin = [(N 169)], trans = 0},
++{fin = [], trans = 108},
++{fin = [], trans = 109},
++{fin = [(N 84)], trans = 0},
++{fin = [(N 251)], trans = 111},
++{fin = [], trans = 111},
++{fin = [], trans = 113},
++{fin = [(N 77)], trans = 0},
++{fin = [(N 3),(N 251)], trans = 0},
++{fin = [(N 1)], trans = 0},
++{fin = [(N 249),(N 251)], trans = 0},
++{fin = [(N 249),(N 251)], trans = 118},
++{fin = [(N 244)], trans = 0},
++{fin = [(N 249),(N 251)], trans = 120},
++{fin = [(N 247)], trans = 0},
++{fin = [(N 3),(N 249),(N 251)], trans = 0},
++{fin = [(N 237),(N 251)], trans = 123},
++{fin = [(N 237)], trans = 124},
++{fin = [], trans = 125},
++{fin = [(N 237)], trans = 0},
++{fin = [(N 237),(N 251)], trans = 124},
++{fin = [(N 237),(N 251)], trans = 128},
++{fin = [(N 237)], trans = 128},
++{fin = [(N 251)], trans = 130},
++{fin = [(N 237),(N 251)], trans = 131},
++{fin = [(N 237)], trans = 131},
++{fin = [(N 237),(N 251)], trans = 133},
++{fin = [(N 237),(N 251)], trans = 134},
++{fin = [(N 237)], trans = 134},
++{fin = [(N 181),(N 237),(N 251)], trans = 136},
++{fin = [(N 184),(N 237)], trans = 137},
++{fin = [(N 188),(N 237)], trans = 124},
++{fin = [(N 162),(N 251)], trans = 0},
++{fin = [(N 237),(N 251)], trans = 140},
++{fin = [(N 237)], trans = 141},
++{fin = [(N 97),(N 237),(N 251)], trans = 124},
++{fin = [(N 237),(N 251)], trans = 143},
++{fin = [(N 241),(N 251)], trans = 144},
++{fin = [(N 241)], trans = 144},
++{fin = [(N 217),(N 241),(N 251)], trans = 146},
++{fin = [(N 217),(N 241)], trans = 147},
++{fin = [], trans = 148},
++{fin = [(N 217)], trans = 0},
++{fin = [(N 217),(N 241),(N 251)], trans = 147},
++{fin = [(N 217),(N 241),(N 251)], trans = 151},
++{fin = [(N 217),(N 241)], trans = 151},
++{fin = [(N 241),(N 251)], trans = 153},
++{fin = [(N 217),(N 241)], trans = 144},
++{fin = [(N 217),(N 251)], trans = 155},
++{fin = [(N 217)], trans = 155},
++{fin = [(N 217),(N 241),(N 251)], trans = 157},
++{fin = [(N 217),(N 251)], trans = 158},
++{fin = [(N 217)], trans = 158},
++{fin = [(N 217),(N 241),(N 251)], trans = 160},
++{fin = [(N 217)], trans = 160},
++{fin = [(N 5)], trans = 0}])
++end
++structure StartStates =
++	struct
++	datatype yystartstate = STARTSTATE of int
++
++(* start state definitions *)
++
++val ASM = STARTSTATE 5;
++val ASMQUOTE = STARTSTATE 7;
++val COMMENT = STARTSTATE 3;
++val INITIAL = STARTSTATE 1;
++
++end
++type result = UserDeclarations.lexresult
++	exception LexerError (* raised if illegal leaf action tried *)
++end
++
++fun makeLexer yyinput =
++let	val yygone0=1
++	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 yydone = ref false		(* eof found yet? *)
++	val yybegin = ref 1		(*Current 'start state' for lexer *)
++
++	val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
++		 yybegin := x
++
++fun lex (yyarg as ({srcMap,err,MDLmode})) =
++let fun continue() : Internal.result = 
++  let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) =
++	let fun action (i,nil) = raise LexError
++	| 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
++			fun REJECT() = action(i,acts::l)
++			open UserDeclarations Internal.StartStates
++ in (yybufpos := i; case yyk of 
++
++			(* Application actions *)
++
++  1 => (SourceMapping.newline srcMap yypos; continue())
++| 102 => let val yytext=yymktext() in if MDLmode then 
++                              ASM_COLON(yypos,yypos+size yytext) else REJECT() end
++| 106 => let val yytext=yymktext() in if MDLmode then 
++                               MC_COLON(yypos,yypos+size yytext) else REJECT() end
++| 111 => let val yytext=yymktext() in if MDLmode then 
++                               RTL_COLON(yypos,yypos+size yytext) else REJECT() end
++| 12 => let val yytext=yymktext() in decimal(err,yytext,yypos) end
++| 122 => let val yytext=yymktext() in if MDLmode then
++                               DELAYSLOT_COLON(yypos,size yytext) else REJECT() end
++| 131 => let val yytext=yymktext() in if MDLmode then  
++                               PADDING_COLON(yypos,size yytext) else REJECT() end
++| 142 => let val yytext=yymktext() in if MDLmode then
++                                NULLIFIED_COLON(yypos,size yytext) else REJECT() end
++| 153 => let val yytext=yymktext() in if MDLmode then  
++                                CANDIDATE_COLON(yypos,size yytext) else REJECT() end
++| 156 => let val yytext=yymktext() in lookup(MDLmode,yytext,yypos) end
++| 160 => let val yytext=yymktext() in TYVAR(yytext,yypos,yypos + size yytext) end
++| 162 => (LPAREN(yypos,yypos+1))
++| 164 => (RPAREN(yypos,yypos+1))
++| 166 => (LBRACKET(yypos,yypos+1))
++| 169 => (LHASHBRACKET(yypos,yypos+1))
++| 17 => let val yytext=yymktext() in hex(err,yytext,yypos) end
++| 171 => (RBRACKET(yypos,yypos+1))
++| 173 => (LBRACE(yypos,yypos+1))
++| 175 => (RBRACE(yypos,yypos+1))
++| 177 => (COMMA(yypos,yypos+1))
++| 179 => (SEMICOLON(yypos,yypos+1))
++| 181 => (DOT(yypos,yypos+1))
++| 184 => (DOTDOT(yypos,yypos+2))
++| 188 => (DOTDOT(yypos,yypos+3))
++| 197 => let val yytext=yymktext() in if yytext = !asmLQuote then
++				(debug("lquote "^yytext^"\n");
++				 YYBEGIN ASMQUOTE; 
++                                 LDQUOTE(yypos,yypos+size yytext))
++			    else
++			        lookupSym(yytext,yypos) end
++| 21 => let val yytext=yymktext() in octal(err,yytext,yypos) end
++| 217 => let val yytext=yymktext() in if yytext = !asmRQuote then
++				(if !metaLevel <> 0 then
++                                    err(yypos,yypos+size yytext,
++                                       "Mismatch between "^(!asmLMeta)^
++                                          " and "^(!asmRMeta)) else ();
++				 debug("rquote "^yytext^"\n");
++                                 YYBEGIN INITIAL; 
++                                 RDQUOTE(yypos,yypos+size yytext))
++			    else if yytext = !asmLMeta then
++				(metaLevel := !metaLevel + 1;
++				 debug("lmeta "^yytext^"\n");
++				 YYBEGIN ASM; LMETA(yypos,yypos+size yytext))
++			    else
++			        asmtext(err,yytext,yypos) end
++| 237 => let val yytext=yymktext() in if yytext = !asmRMeta then
++				(metaLevel := !metaLevel - 1;
++				 debug("rmeta "^yytext^"("^Int.toString(!metaLevel)^")\n");
++				 if !metaLevel = 0 then YYBEGIN ASMQUOTE
++				 else (); RMETA(yypos,yypos+size yytext))
++			    else
++			        lookupSym(yytext,yypos) end
++| 241 => let val yytext=yymktext() in debug("text="^yytext^"\n"); 
++                            asmtext(err,yytext,yypos) end
++| 244 => (commentLevel := !commentLevel - 1;
++			    if !commentLevel = 0 then YYBEGIN INITIAL else (); 
++			    continue())
++| 247 => (commentLevel := !commentLevel + 1; continue())
++| 249 => (continue())
++| 251 => let val yytext=yymktext() in err(yypos,yypos+size yytext,
++                                "unknown character "^String.toString yytext);
++                            continue() end
++| 26 => let val yytext=yymktext() in binary(err,yytext,yypos) end
++| 3 => (continue())
++| 31 => let val yytext=yymktext() in decimalinf(err,yytext,yypos) end
++| 37 => let val yytext=yymktext() in hexinf(err,yytext,yypos) end
++| 42 => let val yytext=yymktext() in octalinf(err,yytext,yypos) end
++| 48 => let val yytext=yymktext() in binaryinf(err,yytext,yypos) end
++| 5 => let val yytext=yymktext() in err(yypos,yypos+size yytext,
++                                "newline in assembly text!"); continue() end
++| 53 => let val yytext=yymktext() in wdecimal(err,yytext,yypos) end
++| 59 => let val yytext=yymktext() in whex(err,yytext,yypos) end
++| 65 => let val yytext=yymktext() in woctal(err,yytext,yypos) end
++| 71 => let val yytext=yymktext() in wbinary(err,yytext,yypos) end
++| 77 => let val yytext=yymktext() in string(err,yytext,yypos) end
++| 8 => (commentLevel := 1; YYBEGIN COMMENT; continue())
++| 84 => let val yytext=yymktext() in char(err,yytext,yypos) end
++| 95 => let val yytext=yymktext() in real(err,yytext,yypos) end
++| 97 => (if MDLmode then DOLLAR(yypos,yypos+1)
++                            else SYMBOL("$",yypos,yypos+1))
++| _ => raise Internal.LexerError
++
++		) end )
++
++	val {fin,trans} = Unsafe.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
++	    in if (size newchars)=0
++		  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;
++		     yygone := !yygone+i0;
++		     yybl := size (!yyb);
++		     scan (s,AcceptingLeaves,l-i0,0))
++	    end
++	  else let val NewChar = Char.ord(Unsafe.CharVector.sub(!yyb,l))
++		val NewChar = if NewChar<128 then NewChar else 128
++		val NewState = Char.ord(Unsafe.CharVector.sub(trans,NewChar))
++		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"
++then !yybegin+1 else !yybegin
++*)
++	in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos)
++    end
++in continue end
++  in lex
++  end
++end
 diff -Naur MLRISC/visualization/cfgViewer.sml MLRISC-mlton/visualization/cfgViewer.sml
 --- MLRISC/visualization/cfgViewer.sml	2002-07-09 12:00:15.000000000 -0400
 +++ MLRISC-mlton/visualization/cfgViewer.sml	2006-03-04 11:14:21.000000000 -0500
@@ -12323,7 +51601,7 @@
  	   | I.FSTPT opnd => operand opnd
  	   | I.FSTPL opnd => operand opnd
 diff -Naur MLRISC/x86/c-calls/ia32-svid.sml MLRISC-mlton/x86/c-calls/ia32-svid.sml
---- MLRISC/x86/c-calls/ia32-svid.sml	2006-02-24 23:33:34.000000000 -0500
+--- MLRISC/x86/c-calls/ia32-svid.sml	2006-02-13 17:17:29.000000000 -0500
 +++ MLRISC-mlton/x86/c-calls/ia32-svid.sml	2006-03-04 11:14:21.000000000 -0500
 @@ -399,7 +399,8 @@
  	 * differences there might be between the SVID and Windows ABIs. (JHR)
@@ -12336,7 +51614,7 @@
  		  | conv => error (concat [
  			"unknown calling convention \"", String.toString conv, "\""
 diff -Naur MLRISC/x86/emit/x86Asm.sml MLRISC-mlton/x86/emit/x86Asm.sml
---- MLRISC/x86/emit/x86Asm.sml	2005-10-29 13:12:26.000000000 -0400
+--- MLRISC/x86/emit/x86Asm.sml	2005-10-14 11:16:07.000000000 -0400
 +++ MLRISC-mlton/x86/emit/x86Asm.sml	2006-03-04 11:14:21.000000000 -0500
 @@ -6,15 +6,126 @@
  
@@ -13030,7 +52308,7 @@
 -
 -end (* local *)
 diff -Naur MLRISC/x86/mltree/x86.sml MLRISC-mlton/x86/mltree/x86.sml
---- MLRISC/x86/mltree/x86.sml	2004-11-20 09:01:43.000000000 -0500
+--- MLRISC/x86/mltree/x86.sml	2004-11-17 16:07:35.000000000 -0500
 +++ MLRISC-mlton/x86/mltree/x86.sml	2006-03-04 11:14:21.000000000 -0500
 @@ -32,19 +32,77 @@
   *
@@ -13372,7 +52650,7 @@
    val rewriteDef : I.instruction * CB.cell * CB.cell -> I.instruction
    val frewriteUse : I.instruction * CB.cell * CB.cell -> I.instruction
 diff -Naur MLRISC/x86/ra/x86SpillInstr.sml MLRISC-mlton/x86/ra/x86SpillInstr.sml
---- MLRISC/x86/ra/x86SpillInstr.sml	2005-10-29 13:12:26.000000000 -0400
+--- MLRISC/x86/ra/x86SpillInstr.sml	2005-10-14 12:28:24.000000000 -0400
 +++ MLRISC-mlton/x86/ra/x86SpillInstr.sml	2006-03-04 11:14:21.000000000 -0500
 @@ -8,7 +8,12 @@
   * introduced before.

Modified: mlton/branches/on-20050822-x86_64-branch/lib/mlrisc-lib/MLRISC.tgz
===================================================================
(Binary files differ)

Modified: mlton/branches/on-20050822-x86_64-branch/lib/mlton-stubs/mlton.sml
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/lib/mlton-stubs/mlton.sml	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/lib/mlton-stubs/mlton.sml	2006-05-20 02:45:54 UTC (rev 4553)
@@ -210,7 +210,8 @@
             structure OS =
                struct
                   datatype t =
-                     Cygwin
+                     AIX
+                   | Cygwin
                    | Darwin
                    | FreeBSD
                    | HPUX
@@ -222,7 +223,8 @@
 
                   val host: t = Linux
 
-                  val all = [(Cygwin, "Cygwin"),
+                  val all = [(AIX, "AIX"),
+                             (Cygwin, "Cygwin"),
                              (Darwin, "Darwin"),
                              (FreeBSD, "FreeBSD"),
                              (HPUX, "HPUX"),

Modified: mlton/branches/on-20050822-x86_64-branch/lib/mlton-stubs/platform.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/lib/mlton-stubs/platform.sig	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/lib/mlton-stubs/platform.sig	2006-05-20 02:45:54 UTC (rev 4553)
@@ -20,7 +20,8 @@
       structure OS:
          sig
             datatype t =
-               Cygwin
+               AIX
+             | Cygwin
              | Darwin
              | FreeBSD
              | HPUX

Modified: mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/smlnj-lib.patch
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/smlnj-lib.patch	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/smlnj-lib.patch	2006-05-20 02:45:54 UTC (rev 4553)
@@ -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-11-21 11:37:31.000000000 -0500
++++ smlnj-lib-mlton/Controls/controls-lib.mlb	2006-05-02 23:00:43.000000000 -0400
 @@ -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-11-21 11:37:34.000000000 -0500
++++ smlnj-lib-mlton/HashCons/hash-cons-lib.mlb	2006-05-02 23:00:43.000000000 -0400
 @@ -0,0 +1,144 @@
 +
 +ann
@@ -321,7 +321,7 @@
 +
 +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	2004-11-20 10:28:05.000000000 -0500
+--- 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:13:04.000000000 -0400
 @@ -89,19 +89,24 @@
  		fun error () = (
@@ -434,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	2005-11-17 15:53:08.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-elements-fn.sml	2005-11-17 15:55:26.000000000 -0500
+--- smlnj-lib/HTML/html-elements-fn.sml	2005-11-06 14:36:15.000000000 -0500
++++ smlnj-lib-mlton/HTML/html-elements-fn.sml	2005-11-17 21:02:49.000000000 -0500
 @@ -144,7 +144,8 @@
     *   3) a string literal enclosed in ''
     *)
@@ -446,123 +446,9370 @@
  	    | 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	2006-05-02 23:00:43.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	2006-05-02 23:00:43.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	2005-11-21 11:37:24.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-gram.sml	2005-11-21 11:37:24.000000000 -0500
-@@ -1226,10 +1226,11 @@
- (T 3) $$ (T 2) $$ (T 0)end
- structure Actions =
- struct 
+--- smlnj-lib/HTML/html-gram.sml	1969-12-31 19:00:00.000000000 -0500
++++ smlnj-lib-mlton/HTML/html-gram.sml	2006-05-02 23:00:43.000000000 -0400
+@@ -0,0 +1,2478 @@
++
++
++  functor HTMLLrValsFn (
++    structure Token : TOKEN
++    structure HTMLAttrs : HTML_ATTRS) = 
++struct
++structure ParserData=
++struct
++structure Header = 
++struct
++(* html-gram
++ *
++ * 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.
++ *)
++
++fun textList [text] = text
++  | textList l = HTML.TextList l
++
++fun blockList [blk] = blk
++  | blockList l = HTML.BlockList l
++
++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
++
++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
++
++(* 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
++
++fun consText (txt, BL_text tl :: r) = BL_text(txt::tl) :: r
++  | consText (txt, l) = BL_text[txt] :: l
++
++fun consBlock (blk, BL_block bl :: r) = BL_block(blk::bl) :: r
++  | consBlock (blk, l) = BL_block[blk] :: l
++
++fun mkBlock blks = let
++      fun f (BL_text tl) = textBlock tl
++	| f (BL_block bl) = blockList bl
++      in
++	blockList(List.map f blks)
++      end
++
++fun mkBody blks = HTML.BODY{
++	background = NONE,
++	bgcolor = NONE,
++	text = NONE,
++	link = NONE,
++	vlink = NONE,
++	alink = NONE,
++	content = mkBlock blks
++      }
++
++
++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,defaultPos,stack,
++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,
++    (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)
++
++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)
++
++end
++|  ( 5, ( ( _, ( _, _, EndHEAD1right)) :: ( _, ( MlyValue.HeadContents
++ HeadContents, _, _)) :: ( _, ( _, StartHEAD1left, _)) :: rest671)) =>
++ let val  result = MlyValue.Head (HeadContents)
++ in ( LrTable.NT 3, ( result, StartHEAD1left, EndHEAD1right), rest671)
++
++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)
++
++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)
++
++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)
++
++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)
++
++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)
++
++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)
++
++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)
++
++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
++|  ( 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-lex.sml smlnj-lib-mlton/HTML/html-lex.sml
---- smlnj-lib/HTML/html-lex.sml	2005-11-21 11:37:24.000000000 -0500
-+++ smlnj-lib-mlton/HTML/html-lex.sml	2005-11-21 11:37:24.000000000 -0500
-@@ -1,3 +1,4 @@
+--- smlnj-lib/HTML/html-lex.sml	1969-12-31 19:00:00.000000000 -0500
++++ smlnj-lib-mlton/HTML/html-lex.sml	2006-05-02 23:00:43.000000000 -0400
+@@ -0,0 +1,672 @@
 +type int = Int.int
- 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) 
++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 
 +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 
-@@ -559,30 +560,31 @@
- 	exception LexerError (* raised if illegal leaf action tried *)
- end
- 
--fun makeLexer yyinput =
--let	val yygone0=1
--	val yylineno = ref 0
++  | 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
++
 +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 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 yyb = ref "\n" 		(* 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 yybegin = ref 1		(*Current 'start state' for lexer *)
++	val yydone = ref false		(* eof found yet? *)
 +	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 = 
--  let fun scan (s,AcceptingLeaves : Internal.yyfinstate list list,l,i0) =
--	let fun action (i,nil) = raise LexError
++
++	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: 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 => 
--			(let fun yymktext() = substring(!yyb,i0,i-i0)
--			     val yypos = i0+ !yygone
++	| action (i,nil::l) = action (i-1,l)
++	| action (i,(node::acts)::l) =
++		case node of
++		    Internal.N yyk => 
 +			(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
-@@ -636,30 +638,30 @@
- 
- 		) end )
- 
--	val {fin,trans} = Unsafe.Vector.sub(Internal.tab, s)
++			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 {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
--	    in if (size newchars)=0
++	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 (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
--		     else yyb := substring(!yyb,i0,l-i0)^newchars;
++		  then (yydone := true;
++		        if (l=i0) then UserDeclarations.eof yyarg
++		                  else action(l,NewAcceptingLeaves))
++		  else (if i0=l then yyb := newchars
 +		     else yyb := String.substring(!yyb,i0,l-i0)^newchars;
- 		     yygone := !yygone+i0;
--		     yybl := size (!yyb);
++		     yygone := !yygone+i0;
 +		     yybl := String.size (!yyb);
- 		     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))
++		     scan (s,AcceptingLeaves,l-i0,0))
++	    end
 +	  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
- (*
--	val start= if substring(!yyb,!yybufpos-1,1)="\n"
++		in if NewState=0 then action(l,NewAcceptingLeaves)
++		else scan(NewState,NewAcceptingLeaves,l+1,i0)
++	end
++	end
++(*
 +	val start= if String.substring(!yyb,!yybufpos-1,1)="\n"
- then !yybegin+1 else !yybegin
- *)
- 	in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos)
++then !yybegin+1 else !yybegin
++*)
++	in scan(!yybegin (* start *),nil,!yybufpos,!yybufpos)
++    end
++in continue end
++  in lex
++  end
++end
 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-11-21 11:37:38.000000000 -0500
++++ smlnj-lib-mlton/HTML/html-lib.mlb	2006-05-02 23:00:44.000000000 -0400
 @@ -0,0 +1,300 @@
 +
 +ann
@@ -866,7 +10113,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-11-21 11:37:42.000000000 -0500
++++ smlnj-lib-mlton/INet/inet-lib.mlb	2006-05-02 23:00:44.000000000 -0400
 @@ -0,0 +1,144 @@
 +
 +ann
@@ -1014,7 +10261,7 @@
 +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-11-21 11:37:43.000000000 -0500
++++ smlnj-lib-mlton/PP/pp-lib.mlb	2006-05-02 23:00:44.000000000 -0400
 @@ -0,0 +1,212 @@
 +
 +ann
@@ -1230,7 +10477,7 @@
 +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-11-21 11:37:43.000000000 -0500
++++ smlnj-lib-mlton/Reactive/reactive-lib.mlb	2006-05-02 23:00:44.000000000 -0400
 @@ -0,0 +1,70 @@
 +
 +ann
@@ -1304,7 +10551,7 @@
 +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-11-17 15:56:55.000000000 -0500
++++ smlnj-lib-mlton/README.mlton	2005-11-17 21:02:49.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:
@@ -1323,7 +10570,7 @@
 + * {{{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-11-21 11:37:44.000000000 -0500
++++ smlnj-lib-mlton/RegExp/regexp-lib.mlb	2006-05-02 23:00:44.000000000 -0400
 @@ -0,0 +1,214 @@
 +
 +ann
@@ -1558,7 +10805,7 @@
 +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-11-21 11:37:44.000000000 -0500
++++ smlnj-lib-mlton/Unix/unix-lib.mlb	2006-05-02 23:00:44.000000000 -0400
 @@ -0,0 +1,45 @@
 +
 +ann
@@ -1606,7 +10853,7 @@
 +
 +end
 diff -Naur smlnj-lib/Util/bit-array.sml smlnj-lib-mlton/Util/bit-array.sml
---- smlnj-lib/Util/bit-array.sml	2004-11-20 10:28:05.000000000 -0500
+--- 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:13:05.000000000 -0400
 @@ -47,7 +47,9 @@
           * We maintain the invariant that all bits >= nbits are 0.
@@ -1735,7 +10982,7 @@
      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	2004-11-20 10:28:05.000000000 -0500
+--- 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:13:05.000000000 -0400
 @@ -20,7 +20,7 @@
   * its child will be a red leaf.
@@ -1747,7 +10994,7 @@
  
      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	2004-11-20 10:28:05.000000000 -0500
+--- 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:13:05.000000000 -0400
 @@ -20,7 +20,7 @@
   * its child will be a red leaf.
@@ -1760,7 +11007,7 @@
      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-11-21 11:38:02.000000000 -0500
++++ smlnj-lib-mlton/Util/smlnj-lib.mlb	2006-05-02 23:00:45.000000000 -0400
 @@ -0,0 +1,1099 @@
 +
 +ann

Modified: mlton/branches/on-20050822-x86_64-branch/lib/smlnj-lib/smlnj-lib.tgz
===================================================================
(Binary files differ)

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/Makefile
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/Makefile	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/Makefile	2006-05-20 02:45:54 UTC (rev 4553)
@@ -57,7 +57,13 @@
 CC = gcc -std=gnu99
 CFLAGS = -I. -Iplatform $(FLAGS)
 OPTCFLAGS = $(CFLAGS) -O2 $(OPTFLAGS)
-DEBUGCFLAGS = $(CFLAGS) -gstabs+ -g2 -O1 -DASSERT=1
+DEBUGCFLAGS = $(CFLAGS)
+ifneq ($(TARGET_ARCH), ia64)
+ifneq ($(TARGET_ARCH), powerpc)
+DEBUGCFLAGS += -gstabs+
+endif
+endif
+DEBUGCFLAGS += -g2 -O1 -DASSERT=1
 ifeq ($(findstring $(GCC_VERSION), 4),4)
 GCOPTCFLAGS = --param inline-unit-growth=75 --param max-inline-insns-single=1000
 else

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/basis/Net/Socket/Socket.c
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/basis/Net/Socket/Socket.c	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/basis/Net/Socket/Socket.c	2006-05-20 02:45:54 UTC (rev 4553)
@@ -29,10 +29,10 @@
 }
 
 C_Errno_t(C_SSize_t) 
-     Socket_recv (C_Sock_t s, Array(Word8_t) msg, 
-                  C_Int_t start, C_Size_t len, C_Int_t flags) {
+Socket_recv (C_Sock_t s, Array(Word8_t) msg, 
+             C_Int_t start, C_Size_t len, C_Int_t flags) {
   MLton_initSockets ();
-  return recv (s, (void*)((char *)msg + start), len, flags);
+  return mlton_recv (s, (void*)((char *)msg + start), len, flags);
 }
 
 C_Errno_t(C_SSize_t) 
@@ -40,8 +40,8 @@
                  C_Int_t start, C_Size_t len, C_Int_t flags,
                  Array(Word8_t) addr, Ref(C_Socklen_t) addrlen) {
   MLton_initSockets ();
-  return recvfrom (s, (void*)((char *)msg + start), len, flags,
-                   (struct sockaddr*)addr, (socklen_t*)addrlen);
+  return mlton_recvfrom (s, (void*)((char *)msg + start), len, flags,
+                         (struct sockaddr*)addr, (socklen_t*)addrlen);
 }
 
 static inline C_Errno_t(C_SSize_t)

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/cenv.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/cenv.h	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/cenv.h	2006-05-20 02:45:54 UTC (rev 4553)
@@ -71,7 +71,9 @@
 #define __Darwin__
 #endif
 
-#if (defined (__CYGWIN__))
+#if (defined (_AIX))
+#include "platform/aix.h"
+#elif (defined (__CYGWIN__))
 #include "platform/cygwin.h"
 #elif (defined (__Darwin__))
 #include "platform/darwin.h"

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/gen/gen-types.c
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/gen/gen-types.c	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/gen/gen-types.c	2006-05-20 02:45:54 UTC (rev 4553)
@@ -25,7 +25,7 @@
   "#ifndef _ISOC99_SOURCE",
   "#define _ISOC99_SOURCE",
   "#endif",
-  "#if (defined (__hpux__) || defined (__OpenBSD__))",
+  "#if (defined (_AIX) || defined (__hpux__) || defined (__OpenBSD__))",
   "#include <inttypes.h>",
   "#elif (defined (__sun__))",
   "#include <sys/int_types.h>",

Copied: mlton/branches/on-20050822-x86_64-branch/runtime/platform/aix.c (from rev 4552, mlton/trunk/runtime/platform/aix.c)

Copied: mlton/branches/on-20050822-x86_64-branch/runtime/platform/aix.h (from rev 4552, mlton/trunk/runtime/platform/aix.h)

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/platform/cygwin.c
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/platform/cygwin.c	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/platform/cygwin.c	2006-05-20 02:45:54 UTC (rev 4553)
@@ -4,6 +4,7 @@
 
 #include "mkdir2.c"
 #include "mmap.c"
+#include "recv.nonblock.c"
 #include "sysconf.c"
 #include "windows.c"
 

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/platform/cygwin.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/platform/cygwin.h	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/platform/cygwin.h	2006-05-20 02:45:54 UTC (rev 4553)
@@ -23,15 +23,17 @@
 
 #define MLton_Platform_OS_host "cygwin"
 
+#define HAS_FEROUND FALSE
 #define HAS_FPCLASSIFY TRUE
-#define HAS_FEROUND FALSE
+#define HAS_MSG_DONTWAIT FALSE
 #define HAS_REMAP FALSE
 #define HAS_SIGALTSTACK FALSE
 #define HAS_SIGNBIT TRUE
 #define HAS_SPAWN TRUE
 #define HAS_TIME_PROFILING FALSE
 
-#define MSG_DONTWAIT 0
+/* This should not conflict with existing flags. */
+#define MSG_DONTWAIT 0x1000000
 #define PF_INET6 0
 
 struct sockaddr_in6 {};

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/platform/darwin.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/platform/darwin.h	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/platform/darwin.h	2006-05-20 02:45:54 UTC (rev 4553)
@@ -25,6 +25,7 @@
 
 #define HAS_FEROUND TRUE
 #define HAS_FPCLASSIFY TRUE
+#define HAS_MSG_DONTWAIT TRUE
 #define HAS_REMAP FALSE
 #define HAS_SIGALTSTACK TRUE
 #define HAS_SIGNBIT TRUE

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/platform/freebsd.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/platform/freebsd.h	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/platform/freebsd.h	2006-05-20 02:45:54 UTC (rev 4553)
@@ -28,6 +28,7 @@
 
 #define HAS_FEROUND TRUE
 #define HAS_FPCLASSIFY TRUE
+#define HAS_MSG_DONTWAIT TRUE
 #define HAS_REMAP FALSE
 #define HAS_SIGALTSTACK TRUE
 #define HAS_SIGNBIT TRUE

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/platform/hpux.c
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/platform/hpux.c	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/platform/hpux.c	2006-05-20 02:45:54 UTC (rev 4553)
@@ -1,16 +1,18 @@
 #include "platform.h"
 
+
 #include <sys/mman.h>
-#define MAP_ANON MAP_ANONYMOUS
-
+#include <sys/newsig.h>
 #include <sys/param.h>
 #include <sys/pstat.h>
-#include <sys/newsig.h>
 
+#define MAP_ANON MAP_ANONYMOUS
+
+#include "mkdir2.c"
+#include "recv.nonblock.c"
+#include "setenv.putenv.c"
 #include "mmap-protect.c"
 #include "use-mmap.c"
-#include "mkdir2.c"
-#include "setenv.putenv.c"
 
 extern unsigned char __text_start;
 extern unsigned_char etext;

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/platform/hpux.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/platform/hpux.h	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/platform/hpux.h	2006-05-20 02:45:54 UTC (rev 4553)
@@ -26,7 +26,7 @@
 
 #define HAS_FEROUND TRUE
 #define HAS_FPCLASSIFY TRUE
-#define HAS_PTRACE FALSE
+#define HAS_MSG_DONTWAIT FALSE
 #define HAS_REMAP FALSE
 #define HAS_SIGALTSTACK TRUE
 #define HAS_SIGNBIT TRUE
@@ -38,7 +38,8 @@
 #define LOG_PERROR 0
 #define LOG_AUTHPRIV LOG_AUTH
 
-#define MSG_DONTWAIT 0
+/* This should not conflict with existing flags. */
+#define MSG_DONTWAIT 0x1000000
 
 #ifndef PF_INET6
 /* Old versions of HP-UX don't have IPv6 support. */

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/platform/linux.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/platform/linux.h	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/platform/linux.h	2006-05-20 02:45:54 UTC (rev 4553)
@@ -27,6 +27,7 @@
 
 #define HAS_FEROUND TRUE
 #define HAS_FPCLASSIFY TRUE
+#define HAS_MSG_DONTWAIT TRUE
 #define HAS_REMAP TRUE
 #define HAS_SIGALTSTACK TRUE
 #define HAS_SIGNBIT TRUE

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/platform/mingw.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/platform/mingw.h	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/platform/mingw.h	2006-05-20 02:45:54 UTC (rev 4553)
@@ -20,6 +20,7 @@
 // classifies subnormals as normals.  So, we disable it here, which causes the
 // runtime to use our own version.
 #define HAS_FPCLASSIFY FALSE
+#define HAS_MSG_DONTWAIT TRUE
 #define HAS_REMAP FALSE
 #define HAS_SIGALTSTACK FALSE
 #define HAS_SIGNBIT TRUE

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/platform/netbsd.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/platform/netbsd.h	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/platform/netbsd.h	2006-05-20 02:45:54 UTC (rev 4553)
@@ -25,6 +25,7 @@
 
 #define HAS_FEROUND FALSE
 #define HAS_FPCLASSIFY TRUE
+#define HAS_MSG_DONTWAIT TRUE
 #define HAS_REMAP FALSE
 #define HAS_SIGALTSTACK TRUE
 #define HAS_SIGNBIT TRUE

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/platform/openbsd.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/platform/openbsd.h	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/platform/openbsd.h	2006-05-20 02:45:54 UTC (rev 4553)
@@ -24,6 +24,7 @@
 
 #define HAS_FEROUND FALSE
 #define HAS_FPCLASSIFY FALSE
+#define HAS_MSG_DONTWAIT TRUE
 #define HAS_REMAP FALSE
 #define HAS_SIGALTSTACK TRUE
 #define HAS_SIGNBIT FALSE

Copied: mlton/branches/on-20050822-x86_64-branch/runtime/platform/recv.nonblock.c (from rev 4552, mlton/trunk/runtime/platform/recv.nonblock.c)

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/platform/solaris.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/platform/solaris.h	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/platform/solaris.h	2006-05-20 02:45:54 UTC (rev 4553)
@@ -37,6 +37,7 @@
 #define HAS_FPCLASSIFY FALSE
 #define HAS_FPCLASSIFY32 TRUE
 #define HAS_FPCLASSIFY64 TRUE
+#define HAS_MSG_DONTWAIT TRUE
 #define HAS_REMAP FALSE
 #define HAS_SIGALTSTACK TRUE
 #define HAS_SIGNBIT FALSE

Modified: mlton/branches/on-20050822-x86_64-branch/runtime/platform.h
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/runtime/platform.h	2006-05-20 00:33:51 UTC (rev 4552)
+++ mlton/branches/on-20050822-x86_64-branch/runtime/platform.h	2006-05-20 02:45:54 UTC (rev 4553)
@@ -25,6 +25,10 @@
 #error HAS_FEROUND not defined
 #endif
 
+#ifndef HAS_MSG_DONTWAIT
+#error HAS_MSG_DONTWAIT not defined
+#endif
+
 #ifndef HAS_REMAP
 #error HAS_REMAP not defined
 #endif
@@ -212,6 +216,17 @@
 static inline void MLton_initSockets (void) {}
 #endif
 
+#if HAS_MSG_DONTWAIT
+#define mlton_recv recv
+#define mlton_recvfrom recvfrom
+#else
+/* Platform has no MSG_DONTWAIT flag for recv(), so these must be
+   defined to simulate that flag. */
+int mlton_recv(int s, void *buf, int len, int flags);
+int mlton_recvfrom(int s, void *buf, int len, int flags, void *from,
+                   socklen_t *fromlen);
+#endif
+
 /* ------------------------------------------------- */
 /*                  Word{8,16,32,64}                 */
 /* ------------------------------------------------- */