diff -Naur MLRISC/aliasing/pointsTo.sig MLRISC-mlton/aliasing/pointsTo.sig
--- MLRISC/aliasing/pointsTo.sig	2000-12-07 20:11:33.000000000 -0800
+++ MLRISC-mlton/aliasing/pointsTo.sig	2006-10-25 16:55:11.000000000 -0700
@@ -7,18 +7,27 @@
 sig
 
    eqtype edgekind 
-   structure C : CELLS_BASIS = CellsBasis
+   structure C : CELLS_BASIS (* = CellsBasis *)
+                 where type CellSet.cellset = CellsBasis.CellSet.cellset
+                   and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                   and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                   and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                   and type cell = CellsBasis.cell
+                   and type cellColor = CellsBasis.cellColor
+                   and type cellkind = CellsBasis.cellkind
+                   and type cellkindDesc = CellsBasis.cellkindDesc
+                   and type cellkindInfo = CellsBasis.cellkindInfo
 
    datatype cell = 
-     LINK  of region                             
-   | SREF  of C.cell * edges ref
-   | WREF  of C.cell * edges ref
-   | SCELL of C.cell * edges ref
-   | WCELL of C.cell * edges ref
+     LINK  of cell ref
+   | SREF  of C.cell * (edgekind * int * cell ref) list ref
+   | WREF  of C.cell * (edgekind * int * cell ref) list ref
+   | SCELL of C.cell * (edgekind * int * cell ref) list ref
+   | WCELL of C.cell * (edgekind * int * cell ref) list ref
    | TOP   of {mutable:bool, id:C.cell, name:string}
       (* a collapsed node *)
-   withtype region = cell ref
-   and      edges  = (edgekind * int * region) list
+   type region = cell ref
+   type edges  = (edgekind * int * region) list
 
    val reset    : (unit -> C.cell) -> unit
 
diff -Naur MLRISC/aliasing/pointsTo.sml MLRISC-mlton/aliasing/pointsTo.sml
--- MLRISC/aliasing/pointsTo.sml	2002-03-07 13:16:23.000000000 -0800
+++ MLRISC-mlton/aliasing/pointsTo.sml	2006-10-25 16:55:11.000000000 -0700
@@ -10,25 +10,30 @@
    structure C = CellsBasis
 
    datatype cell = 
-     LINK  of region
-   | SREF  of C.cell * edges ref
-   | WREF  of C.cell * edges ref
-   | SCELL of C.cell * edges ref
-   | WCELL of C.cell * edges ref
+     LINK  of cell ref
+   | SREF  of C.cell * (edgekind * int * cell ref) list ref
+   | WREF  of C.cell * (edgekind * int * cell ref) list ref
+   | SCELL of C.cell * (edgekind * int * cell ref) list ref
+   | WCELL of C.cell * (edgekind * int * cell ref) list ref
    | TOP   of {mutable:bool, id:C.cell, name:string}
       (* a collapsed node *)
-
-   withtype region = cell ref
-   and      edges  = (edgekind * int * region) list
+   type region = cell ref
+   type edges  = (edgekind * int * region) list
 
    fun error msg = MLRiscErrorMsg.error("PointsTo",msg)
 
    (* PI > DOM > RAN > RECORD *)
    fun greaterKind(PI,_) = false   
      | greaterKind(DOM,PI) = false
-     | greaterKind(RAN,(PI | DOM)) = false
-     | greaterKind(RECORD,(PI | DOM | RAN)) = false
-     | greaterKind(MARK,(PI | DOM | RAN | RECORD)) = false
+     | greaterKind(RAN,PI) = false
+     | greaterKind(RAN,DOM) = false
+     | greaterKind(RECORD,PI) = false
+     | greaterKind(RECORD,DOM) = false
+     | greaterKind(RECORD,RAN) = false
+     | greaterKind(MARK,PI) = false
+     | greaterKind(MARK,DOM) = false
+     | greaterKind(MARK,RAN) = false
+     | greaterKind(MARK,RECORD) = false
      | greaterKind _ = true
 
    fun less(k,i,k',i') = k=k' andalso i > i' orelse greaterKind(k,k')
diff -Naur MLRISC/alpha/backpatch/alphaJumps.sml MLRISC-mlton/alpha/backpatch/alphaJumps.sml
--- MLRISC/alpha/backpatch/alphaJumps.sml	2003-05-22 15:46:19.000000000 -0700
+++ MLRISC-mlton/alpha/backpatch/alphaJumps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -5,10 +5,67 @@
  *)
 functor AlphaJumps
   (structure Instr : ALPHAINSTR
-   structure Shuffle : ALPHASHUFFLE 
-			   where I = Instr
-   structure MLTreeEval : MLTREE_EVAL 
-			   where T = Instr.T
+   structure Shuffle : ALPHASHUFFLE (* where I = Instr *)
+                       where type I.Constant.const = Instr.Constant.const
+                         and type I.Region.region = Instr.Region.region
+                         and type I.T.Basis.cond = Instr.T.Basis.cond
+                         and type I.T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                         and type I.T.Basis.ext = Instr.T.Basis.ext
+                         and type I.T.Basis.fcond = Instr.T.Basis.fcond
+                         and type I.T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                         and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                         and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                         and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                         and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                         and type I.T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                         and type I.T.ccexp = Instr.T.ccexp
+                         and type I.T.fexp = Instr.T.fexp
+                         (* and type I.T.labexp = Instr.T.labexp *)
+                         and type I.T.mlrisc = Instr.T.mlrisc
+                         and type I.T.oper = Instr.T.oper
+                         and type I.T.rep = Instr.T.rep
+                         and type I.T.rexp = Instr.T.rexp
+                         and type I.T.stm = Instr.T.stm
+                         and type I.branch = Instr.branch
+                         and type I.cmove = Instr.cmove
+                         and type I.ea = Instr.ea
+                         and type I.fbranch = Instr.fbranch
+                         and type I.fcmove = Instr.fcmove
+                         and type I.fload = Instr.fload
+                         and type I.foperate = Instr.foperate
+                         and type I.foperateV = Instr.foperateV
+                         and type I.fstore = Instr.fstore
+                         and type I.funary = Instr.funary
+                         and type I.instr = Instr.instr
+                         and type I.instruction = Instr.instruction
+                         and type I.load = Instr.load
+                         and type I.operand = Instr.operand
+                         and type I.operate = Instr.operate
+                         and type I.operateV = Instr.operateV
+                         and type I.osf_user_palcode = Instr.osf_user_palcode
+                         and type I.pseudo_op = Instr.pseudo_op
+                         and type I.store = Instr.store
+   structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                          where type T.Basis.cond = Instr.T.Basis.cond
+                            and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                            and type T.Basis.ext = Instr.T.Basis.ext
+                            and type T.Basis.fcond = Instr.T.Basis.fcond
+                            and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                            and type T.Constant.const = Instr.T.Constant.const
+                            and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                            and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                            and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                            and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                            and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                            and type T.Region.region = Instr.T.Region.region
+                            and type T.ccexp = Instr.T.ccexp
+                            and type T.fexp = Instr.T.fexp
+                            (* and type T.labexp = Instr.T.labexp *)
+                            and type T.mlrisc = Instr.T.mlrisc
+                            and type T.oper = Instr.T.oper
+                            and type T.rep = Instr.T.rep
+                            and type T.rexp = Instr.T.rexp
+                            and type T.stm = Instr.T.stm
   ) : SDI_JUMPS = 
 struct
   structure I = Instr
diff -Naur MLRISC/alpha/emit/alphaAsm.sml MLRISC-mlton/alpha/emit/alphaAsm.sml
--- MLRISC/alpha/emit/alphaAsm.sml	2002-03-07 13:16:24.000000000 -0800
+++ MLRISC-mlton/alpha/emit/alphaAsm.sml	2006-10-25 16:55:11.000000000 -0700
@@ -6,12 +6,88 @@
 
 
 functor AlphaAsmEmitter(structure S : INSTRUCTION_STREAM
-                        structure Instr : ALPHAINSTR
-                           where T = S.P.T
-                        structure Shuffle : ALPHASHUFFLE
-                           where I = Instr
-                        structure MLTreeEval : MLTREE_EVAL
-                           where T = Instr.T
+                        structure Instr : ALPHAINSTR (* where T = S.P.T *)
+                                          where type T.Basis.cond = S.P.T.Basis.cond
+                                            and type T.Basis.div_rounding_mode = S.P.T.Basis.div_rounding_mode
+                                            and type T.Basis.ext = S.P.T.Basis.ext
+                                            and type T.Basis.fcond = S.P.T.Basis.fcond
+                                            and type T.Basis.rounding_mode = S.P.T.Basis.rounding_mode
+                                            and type T.Constant.const = S.P.T.Constant.const
+                                            and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) S.P.T.Extension.ccx
+                                            and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) S.P.T.Extension.fx
+                                            and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) S.P.T.Extension.rx
+                                            and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) S.P.T.Extension.sx
+                                            and type T.I.div_rounding_mode = S.P.T.I.div_rounding_mode
+                                            and type T.Region.region = S.P.T.Region.region
+                                            and type T.ccexp = S.P.T.ccexp
+                                            and type T.fexp = S.P.T.fexp
+                                            (* and type T.labexp = S.P.T.labexp *)
+                                            and type T.mlrisc = S.P.T.mlrisc
+                                            and type T.oper = S.P.T.oper
+                                            and type T.rep = S.P.T.rep
+                                            and type T.rexp = S.P.T.rexp
+                                            and type T.stm = S.P.T.stm
+                        structure Shuffle : ALPHASHUFFLE (* where I = Instr *)
+                                            where type I.Constant.const = Instr.Constant.const
+                                              and type I.Region.region = Instr.Region.region
+                                              and type I.T.Basis.cond = Instr.T.Basis.cond
+                                              and type I.T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                              and type I.T.Basis.ext = Instr.T.Basis.ext
+                                              and type I.T.Basis.fcond = Instr.T.Basis.fcond
+                                              and type I.T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                              and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                              and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                              and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                              and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                              and type I.T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                              and type I.T.ccexp = Instr.T.ccexp
+                                              and type I.T.fexp = Instr.T.fexp
+                                              (* and type I.T.labexp = Instr.T.labexp *)
+                                              and type I.T.mlrisc = Instr.T.mlrisc
+                                              and type I.T.oper = Instr.T.oper
+                                              and type I.T.rep = Instr.T.rep
+                                              and type I.T.rexp = Instr.T.rexp
+                                              and type I.T.stm = Instr.T.stm
+                                              and type I.branch = Instr.branch
+                                              and type I.cmove = Instr.cmove
+                                              and type I.ea = Instr.ea
+                                              and type I.fbranch = Instr.fbranch
+                                              and type I.fcmove = Instr.fcmove
+                                              and type I.fload = Instr.fload
+                                              and type I.foperate = Instr.foperate
+                                              and type I.foperateV = Instr.foperateV
+                                              and type I.fstore = Instr.fstore
+                                              and type I.funary = Instr.funary
+                                              and type I.instr = Instr.instr
+                                              and type I.instruction = Instr.instruction
+                                              and type I.load = Instr.load
+                                              and type I.operand = Instr.operand
+                                              and type I.operate = Instr.operate
+                                              and type I.operateV = Instr.operateV
+                                              and type I.osf_user_palcode = Instr.osf_user_palcode
+                                              and type I.pseudo_op = Instr.pseudo_op
+                                              and type I.store = Instr.store
+                        structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                                               where type T.Basis.cond = Instr.T.Basis.cond
+                                                 and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                                 and type T.Basis.ext = Instr.T.Basis.ext
+                                                 and type T.Basis.fcond = Instr.T.Basis.fcond
+                                                 and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                                 and type T.Constant.const = Instr.T.Constant.const
+                                                 and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                                 and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                                 and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                                 and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                                 and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                                 and type T.Region.region = Instr.T.Region.region
+                                                 and type T.ccexp = Instr.T.ccexp
+                                                 and type T.fexp = Instr.T.fexp
+                                                 (* and type T.labexp = Instr.T.labexp *)
+                                                 and type T.mlrisc = Instr.T.mlrisc
+                                                 and type T.oper = Instr.T.oper
+                                                 and type T.rep = Instr.T.rep
+                                                 and type T.rexp = Instr.T.rexp
+                                                 and type T.stm = Instr.T.stm
                        ) : INSTRUCTION_EMITTER =
 struct
    structure I  = Instr
diff -Naur MLRISC/alpha/emit/alphaMC.sml MLRISC-mlton/alpha/emit/alphaMC.sml
--- MLRISC/alpha/emit/alphaMC.sml	2002-01-09 11:44:18.000000000 -0800
+++ MLRISC-mlton/alpha/emit/alphaMC.sml	2006-10-25 16:55:11.000000000 -0700
@@ -6,7 +6,27 @@
 
 
 functor AlphaMCEmitter(structure Instr : ALPHAINSTR
-                       structure MLTreeEval : MLTREE_EVAL where T = Instr.T
+                       structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                                              where type T.Basis.cond = Instr.T.Basis.cond
+                                                and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                                and type T.Basis.ext = Instr.T.Basis.ext
+                                                and type T.Basis.fcond = Instr.T.Basis.fcond
+                                                and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                                and type T.Constant.const = Instr.T.Constant.const
+                                                and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                                and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                                and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                                and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                                and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                                and type T.Region.region = Instr.T.Region.region
+                                                and type T.ccexp = Instr.T.ccexp
+                                                and type T.fexp = Instr.T.fexp
+                                                (* and type T.labexp = Instr.T.labexp *)
+                                                and type T.mlrisc = Instr.T.mlrisc
+                                                and type T.oper = Instr.T.oper
+                                                and type T.rep = Instr.T.rep
+                                                and type T.rexp = Instr.T.rexp
+                                                and type T.stm = Instr.T.stm
                        structure Stream : INSTRUCTION_STREAM 
                        structure CodeString : CODE_STRING
                       ) : INSTRUCTION_EMITTER =
@@ -47,6 +67,7 @@
        (* note: fromLargeWord strips the high order bits! *)
        fun eByteW w =
        let val i = !loc
+           val w = W.toLargeWord w
        in loc := i + 1; CodeString.update(i,Word8.fromLargeWord w) end
    
        fun doNothing _ = ()
diff -Naur MLRISC/alpha/flowgraph/alphaGasPseudoOps.sml MLRISC-mlton/alpha/flowgraph/alphaGasPseudoOps.sml
--- MLRISC/alpha/flowgraph/alphaGasPseudoOps.sml	2001-11-21 10:39:55.000000000 -0800
+++ MLRISC-mlton/alpha/flowgraph/alphaGasPseudoOps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -1,6 +1,26 @@
 functor AlphaGasPseudoOps 
    ( structure T : MLTREE
-     structure MLTreeEval : MLTREE_EVAL  where T = T
+     structure MLTreeEval : MLTREE_EVAL (* where T = T *)
+                            where type T.Basis.cond = T.Basis.cond
+                              and type T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                              and type T.Basis.ext = T.Basis.ext
+                              and type T.Basis.fcond = T.Basis.fcond
+                              and type T.Basis.rounding_mode = T.Basis.rounding_mode
+                              and type T.Constant.const = T.Constant.const
+                              and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                              and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                              and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                              and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                              and type T.I.div_rounding_mode = T.I.div_rounding_mode
+                              and type T.Region.region = T.Region.region
+                              and type T.ccexp = T.ccexp
+                              and type T.fexp = T.fexp
+                              (* and type T.labexp = T.labexp *)
+                              and type T.mlrisc = T.mlrisc
+                              and type T.oper = T.oper
+                              and type T.rep = T.rep
+                              and type T.rexp = T.rexp
+                              and type T.stm = T.stm
     ) : PSEUDO_OPS_BASIS = 
 
 struct
diff -Naur MLRISC/alpha/instructions/alphaInstr.sml MLRISC-mlton/alpha/instructions/alphaInstr.sml
--- MLRISC/alpha/instructions/alphaInstr.sml	2002-01-23 21:45:15.000000000 -0800
+++ MLRISC-mlton/alpha/instructions/alphaInstr.sml	2006-10-25 16:55:11.000000000 -0700
@@ -8,7 +8,16 @@
 signature ALPHAINSTR =
 sig
    structure C : ALPHACELLS
-   structure CB : CELLS_BASIS = CellsBasis
+   structure CB : CELLS_BASIS (* = CellsBasis *)
+                  where type CellSet.cellset = CellsBasis.CellSet.cellset
+                    and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                    and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                    and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                    and type cell = CellsBasis.cell
+                    and type cellColor = CellsBasis.cellColor
+                    and type cellkind = CellsBasis.cellkind
+                    and type cellkindDesc = CellsBasis.cellkindDesc
+                    and type cellkindInfo = CellsBasis.cellkindInfo
    structure T : MLTREE
    structure Constant: CONSTANT
    structure Region : REGION
diff -Naur MLRISC/alpha/instructions/alphaProps.sml MLRISC-mlton/alpha/instructions/alphaProps.sml
--- MLRISC/alpha/instructions/alphaProps.sml	2002-03-11 19:56:22.000000000 -0800
+++ MLRISC-mlton/alpha/instructions/alphaProps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -6,8 +6,48 @@
 
 functor AlphaProps
    (structure Instr : ALPHAINSTR
-    structure MLTreeHash :  MLTREE_HASH where T = Instr.T
-    structure MLTreeEval : MLTREE_EVAL where T = Instr.T
+    structure MLTreeHash : MLTREE_HASH (* where T = Instr.T *)
+                           where type T.Basis.cond = Instr.T.Basis.cond
+                             and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                             and type T.Basis.ext = Instr.T.Basis.ext
+                             and type T.Basis.fcond = Instr.T.Basis.fcond
+                             and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                             and type T.Constant.const = Instr.T.Constant.const
+                             and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                             and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                             and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                             and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                             and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                             and type T.Region.region = Instr.T.Region.region
+                             and type T.ccexp = Instr.T.ccexp
+                             and type T.fexp = Instr.T.fexp
+                             (* and type T.labexp = Instr.T.labexp *)
+                             and type T.mlrisc = Instr.T.mlrisc
+                             and type T.oper = Instr.T.oper
+                             and type T.rep = Instr.T.rep
+                             and type T.rexp = Instr.T.rexp
+                             and type T.stm = Instr.T.stm
+    structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                           where type T.Basis.cond = Instr.T.Basis.cond
+                             and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                             and type T.Basis.ext = Instr.T.Basis.ext
+                             and type T.Basis.fcond = Instr.T.Basis.fcond
+                             and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                             and type T.Constant.const = Instr.T.Constant.const
+                             and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                             and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                             and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                             and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                             and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                             and type T.Region.region = Instr.T.Region.region
+                             and type T.ccexp = Instr.T.ccexp
+                             and type T.fexp = Instr.T.fexp
+                             (* and type T.labexp = Instr.T.labexp *)
+                             and type T.mlrisc = Instr.T.mlrisc
+                             and type T.oper = Instr.T.oper
+                             and type T.rep = Instr.T.rep
+                             and type T.rexp = Instr.T.rexp
+                             and type T.stm = Instr.T.stm
     ):INSN_PROPERTIES =
 struct
     structure I = Instr
diff -Naur MLRISC/alpha/mltree/alphaPseudoInstr.sig MLRISC-mlton/alpha/mltree/alphaPseudoInstr.sig
--- MLRISC/alpha/mltree/alphaPseudoInstr.sig	2001-07-19 13:35:13.000000000 -0700
+++ MLRISC-mlton/alpha/mltree/alphaPseudoInstr.sig	2006-10-25 16:55:11.000000000 -0700
@@ -4,10 +4,39 @@
 sig
    structure I : ALPHAINSTR
    structure T : MLTREE
+                 where type Basis.cond = I.T.Basis.cond
+                   and type Basis.div_rounding_mode = I.T.Basis.div_rounding_mode
+                   and type Basis.ext = I.T.Basis.ext
+                   and type Basis.fcond = I.T.Basis.fcond
+                   and type Basis.rounding_mode = I.T.Basis.rounding_mode
+                   and type Constant.const = I.T.Constant.const
+                   and type ('s,'r,'f,'c) Extension.ccx = ('s,'r,'f,'c) I.T.Extension.ccx
+                   and type ('s,'r,'f,'c) Extension.fx = ('s,'r,'f,'c) I.T.Extension.fx
+                   and type ('s,'r,'f,'c) Extension.rx = ('s,'r,'f,'c) I.T.Extension.rx
+                   and type ('s,'r,'f,'c) Extension.sx = ('s,'r,'f,'c) I.T.Extension.sx
+                   and type I.div_rounding_mode = I.T.I.div_rounding_mode
+                   and type Region.region = I.T.Region.region
+                   and type ccexp = I.T.ccexp
+                   and type fexp = I.T.fexp
+                   (* and type labexp = I.T.labexp *)
+                   and type mlrisc = I.T.mlrisc
+                   and type oper = I.T.oper
+                   and type rep = I.T.rep
+                   and type rexp = I.T.rexp
+                   and type stm = I.T.stm
    structure C : ALPHACELLS
-     sharing C = I.C
-     sharing I.T = T
-   structure CB: CELLS_BASIS = CellsBasis
+     (* sharing C = I.C *)
+     (* sharing I.T = T *)
+   structure CB: CELLS_BASIS (* = CellsBasis *)
+                 where type CellSet.cellset = CellsBasis.CellSet.cellset
+                   and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                   and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                   and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                   and type cell = CellsBasis.cell
+                   and type cellColor = CellsBasis.cellColor
+                   and type cellkind = CellsBasis.cellkind
+                   and type cellkindDesc = CellsBasis.cellkindDesc
+                   and type cellkindInfo = CellsBasis.cellkindInfo
   
    type reduceOpnd = I.operand -> CB.cell
 
diff -Naur MLRISC/alpha/mltree/alpha.sml MLRISC-mlton/alpha/mltree/alpha.sml
--- MLRISC/alpha/mltree/alpha.sml	2003-08-28 14:58:42.000000000 -0700
+++ MLRISC-mlton/alpha/mltree/alpha.sml	2006-10-25 16:55:11.000000000 -0700
@@ -11,11 +11,72 @@
 
 functor Alpha
    (structure AlphaInstr : ALPHAINSTR 
-    structure PseudoInstrs : ALPHA_PSEUDO_INSTR
-    			where I = AlphaInstr
-    structure ExtensionComp : MLTREE_EXTENSION_COMP
-    			where I = AlphaInstr
-			  and T = AlphaInstr.T
+    structure PseudoInstrs : ALPHA_PSEUDO_INSTR (* where I = AlphaInstr *)
+                             where type I.Constant.const = AlphaInstr.Constant.const
+                               and type I.Region.region = AlphaInstr.Region.region
+                               and type I.T.Basis.cond = AlphaInstr.T.Basis.cond
+                               and type I.T.Basis.div_rounding_mode = AlphaInstr.T.Basis.div_rounding_mode
+                               and type I.T.Basis.ext = AlphaInstr.T.Basis.ext
+                               and type I.T.Basis.fcond = AlphaInstr.T.Basis.fcond
+                               and type I.T.Basis.rounding_mode = AlphaInstr.T.Basis.rounding_mode
+                               and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) AlphaInstr.T.Extension.ccx
+                               and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) AlphaInstr.T.Extension.fx
+                               and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) AlphaInstr.T.Extension.rx
+                               and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) AlphaInstr.T.Extension.sx
+                               and type I.T.I.div_rounding_mode = AlphaInstr.T.I.div_rounding_mode
+                               and type I.T.ccexp = AlphaInstr.T.ccexp
+                               and type I.T.fexp = AlphaInstr.T.fexp
+                               (* and type I.T.labexp = AlphaInstr.T.labexp *)
+                               and type I.T.mlrisc = AlphaInstr.T.mlrisc
+                               and type I.T.oper = AlphaInstr.T.oper
+                               and type I.T.rep = AlphaInstr.T.rep
+                               and type I.T.rexp = AlphaInstr.T.rexp
+                               and type I.T.stm = AlphaInstr.T.stm
+                               and type I.branch = AlphaInstr.branch
+                               and type I.cmove = AlphaInstr.cmove
+                               and type I.ea = AlphaInstr.ea
+                               and type I.fbranch = AlphaInstr.fbranch
+                               and type I.fcmove = AlphaInstr.fcmove
+                               and type I.fload = AlphaInstr.fload
+                               and type I.foperate = AlphaInstr.foperate
+                               and type I.foperateV = AlphaInstr.foperateV
+                               and type I.fstore = AlphaInstr.fstore
+                               and type I.funary = AlphaInstr.funary
+                               and type I.instr = AlphaInstr.instr
+                               and type I.instruction = AlphaInstr.instruction
+                               and type I.load = AlphaInstr.load
+                               and type I.operand = AlphaInstr.operand
+                               and type I.operate = AlphaInstr.operate
+                               and type I.operateV = AlphaInstr.operateV
+                               and type I.osf_user_palcode = AlphaInstr.osf_user_palcode
+                               and type I.pseudo_op = AlphaInstr.pseudo_op
+                               and type I.store = AlphaInstr.store
+    structure ExtensionComp : MLTREE_EXTENSION_COMP (* where I = AlphaInstr and T = AlphaInstr.T *)
+                              where type I.addressing_mode = AlphaInstr.addressing_mode
+                                and type I.ea = AlphaInstr.ea
+                                and type I.instr = AlphaInstr.instr
+                                and type I.instruction = AlphaInstr.instruction
+                                and type I.operand = AlphaInstr.operand
+                              where type T.Basis.cond = AlphaInstr.T.Basis.cond
+                                and type T.Basis.div_rounding_mode = AlphaInstr.T.Basis.div_rounding_mode
+                                and type T.Basis.ext = AlphaInstr.T.Basis.ext
+                                and type T.Basis.fcond = AlphaInstr.T.Basis.fcond
+                                and type T.Basis.rounding_mode = AlphaInstr.T.Basis.rounding_mode
+                                and type T.Constant.const = AlphaInstr.T.Constant.const
+                                and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) AlphaInstr.T.Extension.ccx
+                                and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) AlphaInstr.T.Extension.fx
+                                and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) AlphaInstr.T.Extension.rx
+                                and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) AlphaInstr.T.Extension.sx
+                                and type T.I.div_rounding_mode = AlphaInstr.T.I.div_rounding_mode
+                                and type T.Region.region = AlphaInstr.T.Region.region
+                                and type T.ccexp = AlphaInstr.T.ccexp
+                                and type T.fexp = AlphaInstr.T.fexp
+                                (* and type T.labexp = AlphaInstr.T.labexp *)
+                                and type T.mlrisc = AlphaInstr.T.mlrisc
+                                and type T.oper = AlphaInstr.T.oper
+                                and type T.rep = AlphaInstr.T.rep
+                                and type T.rexp = AlphaInstr.T.rexp
+                                and type T.stm = AlphaInstr.T.stm
 
       (* Cost of multiplication in cycles *)
     val multCost : int ref
@@ -215,7 +276,9 @@
    * Specialize the modules for multiplication/division 
    * by constant optimizations.
    *)
-  functor Multiply32 = MLTreeMult
+
+  (* signed, trapping version of multiply and divide *)
+  structure Mult32 = MLTreeMult
     (structure I = I
      structure T = T
      structure CB = CellsBasis
@@ -256,40 +319,115 @@
          in  [I.operate{oper=I.ADDL,ra=r,rb=zeroOpn,rc=tmp},
               I.operate{oper=I.SRA,ra=tmp,rb=I.IMMop i,rc=d}]
          end 
-    )
+     
+     val trapping = true
+     val multCost = multCost
+     fun addv{r1,r2,d} = [I.operatev{oper=I.ADDLV,ra=r1,rb=I.REGop r2,rc=d}]
+     fun subv{r1,r2,d} = [I.operatev{oper=I.SUBLV,ra=r1,rb=I.REGop r2,rc=d}]
+     val sh1addv = NONE
+     val sh2addv = NONE
+     val sh3addv = NONE
+     
+     val signed = true)
 
-  functor Multiply64 = MLTreeMult
+  (* unsigned, non-trapping version of multiply and divide *)
+  structure Mulu32 = MLTreeMult
     (structure I = I
      structure T = T
      structure CB = CellsBasis
-   
-     val intTy = 64
 
-     type arg  = {r1:CB.cell, r2:CB.cell, d:CB.cell}
-     type argi = {r:CB.cell, i:int, d:CB.cell}
+     val intTy = 32
+   
+     type arg  = {r1:CB.cell,r2:CB.cell,d:CB.cell}
+     type argi = {r:CB.cell,i:int,d:CB.cell}
 
      fun mov{r,d}    = I.COPY{k=CB.GP, sz=intTy, dst=[d],src=[r],tmp=NONE}
-     fun add{r1,r2,d}= I.operate{oper=I.ADDQ,ra=r1,rb=I.REGop r2,rc=d}
-     fun slli{r,i,d} = [I.operate{oper=I.SLL,ra=r,rb=I.IMMop i,rc=d}]
-     fun srli{r,i,d} = [I.operate{oper=I.SRL,ra=r,rb=I.IMMop i,rc=d}]
-     fun srai{r,i,d} = [I.operate{oper=I.SRA,ra=r,rb=I.IMMop i,rc=d}]
-    )
+     fun add{r1,r2,d} = I.operate{oper=I.ADDL,ra=r1,rb=I.REGop r2,rc=d}
+     (*
+      * How to left shift by a constant (32bits)
+      *)
+     fun slli{r,i=1,d} = [I.operate{oper=I.ADDL,ra=r,rb=I.REGop r,rc=d}]
+       | slli{r,i=2,d} = [I.operate{oper=I.S4ADDL,ra=r,rb=zeroOpn,rc=d}]
+       | slli{r,i=3,d} = [I.operate{oper=I.S8ADDL,ra=r,rb=zeroOpn,rc=d}]
+       | slli{r,i,d}   = 
+          let val tmp = C.newReg()
+          in  [I.operate{oper=I.SLL,ra=r,rb=I.IMMop i,rc=tmp},
+               I.operate{oper=I.ADDL,ra=tmp,rb=zeroOpn,rc=d}]
+          end
 
-  (* signed, trapping version of multiply and divide *)
-  structure Mult32 = Multiply32
-    (val trapping = true
+     (* 
+      * How to right shift (unsigned) by a constant (32bits)
+      *)
+     fun srli{r,i,d} =
+         let val tmp = C.newReg()
+         in  [I.operate{oper=I.ZAP,ra=r,rb=I.IMMop 0xf0,rc=tmp},
+              I.operate{oper=I.SRL,ra=tmp,rb=I.IMMop i,rc=d}]
+         end
+
+     (* 
+      * How to right shift (signed) by a constant (32bits)
+      *)
+     fun srai{r,i,d} = 
+         let val tmp = C.newReg()
+         in  [I.operate{oper=I.ADDL,ra=r,rb=zeroOpn,rc=tmp},
+              I.operate{oper=I.SRA,ra=tmp,rb=I.IMMop i,rc=d}]
+         end 
+     
+     val trapping = false
      val multCost = multCost
-     fun addv{r1,r2,d} = [I.operatev{oper=I.ADDLV,ra=r1,rb=I.REGop r2,rc=d}]
-     fun subv{r1,r2,d} = [I.operatev{oper=I.SUBLV,ra=r1,rb=I.REGop r2,rc=d}]
+     fun addv{r1,r2,d} = [I.operate{oper=I.ADDL,ra=r1,rb=I.REGop r2,rc=d}]
+     fun subv{r1,r2,d} = [I.operate{oper=I.SUBL,ra=r1,rb=I.REGop r2,rc=d}]
      val sh1addv = NONE
-     val sh2addv = NONE
-     val sh3addv = NONE
-    )
-    (val signed = true)
+     val sh2addv = SOME(fn {r1,r2,d} => 
+                    [I.operate{oper=I.S4ADDL,ra=r1,rb=I.REGop r2,rc=d}])
+     val sh3addv = SOME(fn {r1,r2,d} => 
+                    [I.operate{oper=I.S8ADDL,ra=r1,rb=I.REGop r2,rc=d}])
+     
+     val signed = false)
+  (* signed, non-trapping version of multiply and divide *)
+  structure Muls32 = MLTreeMult
+    (structure I = I
+     structure T = T
+     structure CB = CellsBasis
 
-  (* non-trapping version of multiply and divide *)
-  functor Mul32 = Multiply32
-    (val trapping = false
+     val intTy = 32
+   
+     type arg  = {r1:CB.cell,r2:CB.cell,d:CB.cell}
+     type argi = {r:CB.cell,i:int,d:CB.cell}
+
+     fun mov{r,d}    = I.COPY{k=CB.GP, sz=intTy, dst=[d],src=[r],tmp=NONE}
+     fun add{r1,r2,d} = I.operate{oper=I.ADDL,ra=r1,rb=I.REGop r2,rc=d}
+     (*
+      * How to left shift by a constant (32bits)
+      *)
+     fun slli{r,i=1,d} = [I.operate{oper=I.ADDL,ra=r,rb=I.REGop r,rc=d}]
+       | slli{r,i=2,d} = [I.operate{oper=I.S4ADDL,ra=r,rb=zeroOpn,rc=d}]
+       | slli{r,i=3,d} = [I.operate{oper=I.S8ADDL,ra=r,rb=zeroOpn,rc=d}]
+       | slli{r,i,d}   = 
+          let val tmp = C.newReg()
+          in  [I.operate{oper=I.SLL,ra=r,rb=I.IMMop i,rc=tmp},
+               I.operate{oper=I.ADDL,ra=tmp,rb=zeroOpn,rc=d}]
+          end
+
+     (* 
+      * How to right shift (unsigned) by a constant (32bits)
+      *)
+     fun srli{r,i,d} =
+         let val tmp = C.newReg()
+         in  [I.operate{oper=I.ZAP,ra=r,rb=I.IMMop 0xf0,rc=tmp},
+              I.operate{oper=I.SRL,ra=tmp,rb=I.IMMop i,rc=d}]
+         end
+
+     (* 
+      * How to right shift (signed) by a constant (32bits)
+      *)
+     fun srai{r,i,d} = 
+         let val tmp = C.newReg()
+         in  [I.operate{oper=I.ADDL,ra=r,rb=zeroOpn,rc=tmp},
+              I.operate{oper=I.SRA,ra=tmp,rb=I.IMMop i,rc=d}]
+         end 
+     
+     val trapping = false
      val multCost = multCost
      fun addv{r1,r2,d} = [I.operate{oper=I.ADDL,ra=r1,rb=I.REGop r2,rc=d}]
      fun subv{r1,r2,d} = [I.operate{oper=I.SUBL,ra=r1,rb=I.REGop r2,rc=d}]
@@ -298,25 +436,82 @@
                     [I.operate{oper=I.S4ADDL,ra=r1,rb=I.REGop r2,rc=d}])
      val sh3addv = SOME(fn {r1,r2,d} => 
                     [I.operate{oper=I.S8ADDL,ra=r1,rb=I.REGop r2,rc=d}])
-    )
-  structure Mulu32 = Mul32(val signed = false)
-  structure Muls32 = Mul32(val signed = true)
+     
+     val signed = true)
 
   (* signed, trapping version of multiply and divide *)
-  structure Mult64 = Multiply64
-    (val trapping = true
+  structure Mult64 = MLTreeMult
+    (structure I = I
+     structure T = T
+     structure CB = CellsBasis
+   
+     val intTy = 64
+
+     type arg  = {r1:CB.cell, r2:CB.cell, d:CB.cell}
+     type argi = {r:CB.cell, i:int, d:CB.cell}
+
+     fun mov{r,d}    = I.COPY{k=CB.GP, sz=intTy, dst=[d],src=[r],tmp=NONE}
+     fun add{r1,r2,d}= I.operate{oper=I.ADDQ,ra=r1,rb=I.REGop r2,rc=d}
+     fun slli{r,i,d} = [I.operate{oper=I.SLL,ra=r,rb=I.IMMop i,rc=d}]
+     fun srli{r,i,d} = [I.operate{oper=I.SRL,ra=r,rb=I.IMMop i,rc=d}]
+     fun srai{r,i,d} = [I.operate{oper=I.SRA,ra=r,rb=I.IMMop i,rc=d}]
+     
+     val trapping = true
      val multCost = multCost
      fun addv{r1,r2,d} = [I.operatev{oper=I.ADDQV,ra=r1,rb=I.REGop r2,rc=d}]
      fun subv{r1,r2,d} = [I.operatev{oper=I.SUBQV,ra=r1,rb=I.REGop r2,rc=d}]
      val sh1addv = NONE
      val sh2addv = NONE
      val sh3addv = NONE
-    )
-    (val signed = true)
+     
+     val signed = true)
 
   (* unsigned, non-trapping version of multiply and divide *)
-  functor Mul64 = Multiply64
-    (val trapping = false
+  structure Mulu64 = MLTreeMult
+    (structure I = I
+     structure T = T
+     structure CB = CellsBasis
+   
+     val intTy = 64
+
+     type arg  = {r1:CB.cell, r2:CB.cell, d:CB.cell}
+     type argi = {r:CB.cell, i:int, d:CB.cell}
+
+     fun mov{r,d}    = I.COPY{k=CB.GP, sz=intTy, dst=[d],src=[r],tmp=NONE}
+     fun add{r1,r2,d}= I.operate{oper=I.ADDQ,ra=r1,rb=I.REGop r2,rc=d}
+     fun slli{r,i,d} = [I.operate{oper=I.SLL,ra=r,rb=I.IMMop i,rc=d}]
+     fun srli{r,i,d} = [I.operate{oper=I.SRL,ra=r,rb=I.IMMop i,rc=d}]
+     fun srai{r,i,d} = [I.operate{oper=I.SRA,ra=r,rb=I.IMMop i,rc=d}]
+    
+     val trapping = false
+     val multCost = multCost
+     fun addv{r1,r2,d} = [I.operate{oper=I.ADDQ,ra=r1,rb=I.REGop r2,rc=d}]
+     fun subv{r1,r2,d} = [I.operate{oper=I.SUBQ,ra=r1,rb=I.REGop r2,rc=d}]
+     val sh1addv = NONE
+     val sh2addv = SOME(fn {r1,r2,d} => 
+                    [I.operate{oper=I.S4ADDQ,ra=r1,rb=I.REGop r2,rc=d}])
+     val sh3addv = SOME(fn {r1,r2,d} => 
+                    [I.operate{oper=I.S8ADDQ,ra=r1,rb=I.REGop r2,rc=d}])
+     
+     val signed = false)
+  (* signed, non-trapping version of multiply and divide *)
+  structure Muls64 = MLTreeMult
+    (structure I = I
+     structure T = T
+     structure CB = CellsBasis
+   
+     val intTy = 64
+
+     type arg  = {r1:CB.cell, r2:CB.cell, d:CB.cell}
+     type argi = {r:CB.cell, i:int, d:CB.cell}
+
+     fun mov{r,d}    = I.COPY{k=CB.GP, sz=intTy, dst=[d],src=[r],tmp=NONE}
+     fun add{r1,r2,d}= I.operate{oper=I.ADDQ,ra=r1,rb=I.REGop r2,rc=d}
+     fun slli{r,i,d} = [I.operate{oper=I.SLL,ra=r,rb=I.IMMop i,rc=d}]
+     fun srli{r,i,d} = [I.operate{oper=I.SRL,ra=r,rb=I.IMMop i,rc=d}]
+     fun srai{r,i,d} = [I.operate{oper=I.SRA,ra=r,rb=I.IMMop i,rc=d}]
+     
+     val trapping = false
      val multCost = multCost
      fun addv{r1,r2,d} = [I.operate{oper=I.ADDQ,ra=r1,rb=I.REGop r2,rc=d}]
      fun subv{r1,r2,d} = [I.operate{oper=I.SUBQ,ra=r1,rb=I.REGop r2,rc=d}]
@@ -325,9 +520,8 @@
                     [I.operate{oper=I.S4ADDQ,ra=r1,rb=I.REGop r2,rc=d}])
      val sh3addv = SOME(fn {r1,r2,d} => 
                     [I.operate{oper=I.S8ADDQ,ra=r1,rb=I.REGop r2,rc=d}])
-    )
-  structure Mulu64 = Mul64(val signed = false)
-  structure Muls64 = Mul64(val signed = true)
+     
+     val signed = true)
 
   (* 
    * The main stuff
@@ -971,10 +1165,10 @@
              *)
           | T.ADD(64,e,T.LABEXP le) => mark(I.LDA{r=d,b=expr e,d=I.LABop le},an)
           | T.ADD(64,T.LABEXP le,e) => mark(I.LDA{r=d,b=expr e,d=I.LABop le},an)
-          | T.ADD(64,e,x as (T.CONST _ | T.LABEL _))  => 
-               mark(I.LDA{r=d,b=expr e,d=I.LABop x},an)
-          | T.ADD(64,x as (T.CONST _ | T.LABEL _),e)  => 
-               mark(I.LDA{r=d,b=expr e,d=I.LABop x},an)
+          | T.ADD(64,e,x as T.CONST _) => mark(I.LDA{r=d,b=expr e,d=I.LABop x},an)
+          | T.ADD(64,e,x as T.LABEL _) => mark(I.LDA{r=d,b=expr e,d=I.LABop x},an)
+          | T.ADD(64,x as T.CONST _,e) => mark(I.LDA{r=d,b=expr e,d=I.LABop x},an)
+          | T.ADD(64,x as T.LABEL _,e) => mark(I.LDA{r=d,b=expr e,d=I.LABop x},an)
           | T.ADD(64,e,T.LI i)     => loadImmed(i, expr e, d, an)
           | T.ADD(64,T.LI i,e)     => loadImmed(i, expr e, d, an)
 	  | T.SUB(sz, a, b as T.LI z)    =>
@@ -1067,8 +1261,13 @@
           | T.SX(_,_,T.LOAD(8,ea,mem)) => load8s(ea,d,mem,an)
           | T.SX(_,_,T.LOAD(16,ea,mem))=> load16s(ea,d,mem,an)
           | T.SX(_,_,T.LOAD(32,ea,mem))=> load32s(ea,d,mem,an)
-          | T.ZX((8|16|32|64),_,T.LOAD(8,ea,mem)) => load8(ea,d,mem,an)
-          | T.ZX((16|32|64),_,T.LOAD(16,ea,mem))=> load16(ea,d,mem,an)
+          | T.ZX(8,_,T.LOAD(8,ea,mem)) => load8(ea,d,mem,an)
+          | T.ZX(16,_,T.LOAD(8,ea,mem)) => load8(ea,d,mem,an)
+          | T.ZX(32,_,T.LOAD(8,ea,mem)) => load8(ea,d,mem,an)
+          | T.ZX(64,_,T.LOAD(8,ea,mem)) => load8(ea,d,mem,an)
+          | T.ZX(16,_,T.LOAD(16,ea,mem))=> load16(ea,d,mem,an)
+          | T.ZX(32,_,T.LOAD(16,ea,mem))=> load16(ea,d,mem,an)
+          | T.ZX(64,_,T.LOAD(16,ea,mem))=> load16(ea,d,mem,an)
           | T.ZX(64,_,T.LOAD(64,ea,mem)) => load(I.LDQ,ea,d,mem,an)
           | T.LOAD(8,ea,mem) => load8(ea,d,mem,an)
           | T.LOAD(16,ea,mem) => load16(ea,d,mem,an)
@@ -1391,8 +1590,10 @@
               val (cond,a,b) = 
                 (* move the immed operand to b *)
                 case a of
-                  (T.LI _ | T.CONST _ | T.LABEL _ | T.LABEXP _) => 
-                    (T.Basis.swapCond cond,b,a)
+                  T.LI _ => (T.Basis.swapCond cond,b,a)
+                | T.CONST _ => (T.Basis.swapCond cond,b,a)
+                | T.LABEL _ => (T.Basis.swapCond cond,b,a)
+                | T.LABEXP _ => (T.Basis.swapCond cond,b,a)
                 | _ => (cond,a,b)
 
               fun sub(a, T.LI z) = 
@@ -1455,8 +1656,10 @@
                   end
               val (cond,e1,e2) =
 		  case e1 of
-                    (T.LI _ | T.CONST _ | T.LABEL _ | T.LABEXP _) => 
-                       (T.Basis.swapCond cond,e2,e1)
+                    T.LI _ => (T.Basis.swapCond cond,e2,e1)
+                  | T.CONST _ => (T.Basis.swapCond cond,e2,e1)
+                  | T.LABEL _ => (T.Basis.swapCond cond,e2,e1)
+                  | T.LABEXP _ => (T.Basis.swapCond cond,e2,e1)
                   | _ => (cond,e1,e2)
           in  case cond of
                 T.EQ  => eq(e1,e2,d)
diff -Naur MLRISC/backpatch/backpatch.sml MLRISC-mlton/backpatch/backpatch.sml
--- MLRISC/backpatch/backpatch.sml	2002-03-11 19:56:22.000000000 -0800
+++ MLRISC-mlton/backpatch/backpatch.sml	2006-10-25 16:55:11.000000000 -0700
@@ -8,13 +8,45 @@
 
 functor BBSched2
     (structure Emitter : INSTRUCTION_EMITTER
-     structure CFG     : CONTROL_FLOW_GRAPH
-			where I = Emitter.I
-		          and P = Emitter.S.P
-     structure Jumps   : SDI_JUMPS
-     			where I = CFG.I
-     structure Props   : INSN_PROPERTIES
-			where I = CFG.I
+     structure CFG     : CONTROL_FLOW_GRAPH (* where I = Emitter.I and P = Emitter.S.P *)
+                         where type I.addressing_mode = Emitter.I.addressing_mode
+                           and type I.ea = Emitter.I.ea
+                           and type I.instr = Emitter.I.instr
+                           and type I.instruction = Emitter.I.instruction
+                           and type I.operand = Emitter.I.operand
+                         where type P.Client.pseudo_op = Emitter.S.P.Client.pseudo_op
+                           and type P.T.Basis.cond = Emitter.S.P.T.Basis.cond
+                           and type P.T.Basis.div_rounding_mode = Emitter.S.P.T.Basis.div_rounding_mode
+                           and type P.T.Basis.ext = Emitter.S.P.T.Basis.ext
+                           and type P.T.Basis.fcond = Emitter.S.P.T.Basis.fcond
+                           and type P.T.Basis.rounding_mode = Emitter.S.P.T.Basis.rounding_mode
+                           and type P.T.Constant.const = Emitter.S.P.T.Constant.const
+                           and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) Emitter.S.P.T.Extension.ccx
+                           and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) Emitter.S.P.T.Extension.fx
+                           and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) Emitter.S.P.T.Extension.rx
+                           and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) Emitter.S.P.T.Extension.sx
+                           and type P.T.I.div_rounding_mode = Emitter.S.P.T.I.div_rounding_mode
+                           and type P.T.Region.region = Emitter.S.P.T.Region.region
+                           and type P.T.ccexp = Emitter.S.P.T.ccexp
+                           and type P.T.fexp = Emitter.S.P.T.fexp
+                           (* and type P.T.labexp = Emitter.S.P.T.labexp *)
+                           and type P.T.mlrisc = Emitter.S.P.T.mlrisc
+                           and type P.T.oper = Emitter.S.P.T.oper
+                           and type P.T.rep = Emitter.S.P.T.rep
+                           and type P.T.rexp = Emitter.S.P.T.rexp
+                           and type P.T.stm = Emitter.S.P.T.stm
+     structure Jumps   : SDI_JUMPS (* where I = CFG.I *)
+                         where type I.addressing_mode = CFG.I.addressing_mode
+                           and type I.ea = CFG.I.ea
+                           and type I.instr = CFG.I.instr
+                           and type I.instruction = CFG.I.instruction
+                           and type I.operand = CFG.I.operand
+     structure Props   : INSN_PROPERTIES (* where I = CFG.I *)
+                         where type I.addressing_mode = CFG.I.addressing_mode
+                           and type I.ea = CFG.I.ea
+                           and type I.instr = CFG.I.instr
+                           and type I.instruction = CFG.I.instruction
+                           and type I.operand = CFG.I.operand
     ) = 
 struct
 
diff -Naur MLRISC/backpatch/sdi-jumps.sig MLRISC-mlton/backpatch/sdi-jumps.sig
--- MLRISC/backpatch/sdi-jumps.sig	2000-12-07 20:11:33.000000000 -0800
+++ MLRISC-mlton/backpatch/sdi-jumps.sig	2006-10-25 16:55:11.000000000 -0700
@@ -7,7 +7,7 @@
 signature SDI_JUMPS = sig
   structure I : INSTRUCTIONS
   structure C : CELLS
-    sharing I.C = C
+    (* sharing I.C = C *)
 
   val branchDelayedArch : bool
 
diff -Naur MLRISC/backpatch/spanDep.sml MLRISC-mlton/backpatch/spanDep.sml
--- MLRISC/backpatch/spanDep.sml	2002-10-10 07:48:47.000000000 -0700
+++ MLRISC-mlton/backpatch/spanDep.sml	2006-10-25 16:55:11.000000000 -0700
@@ -9,18 +9,79 @@
 
 functor SpanDependencyResolution
     (structure Emitter   : INSTRUCTION_EMITTER
-     structure CFG       : CONTROL_FLOW_GRAPH
-                             where I = Emitter.I
-                          and P = Emitter.S.P
-     structure Jumps     : SDI_JUMPS
-                             where I = CFG.I
-     structure DelaySlot : DELAY_SLOT_PROPERTIES
-                             where I = CFG.I
-     structure Props     : INSN_PROPERTIES
-                             where I = CFG.I
-     structure Asm        : INSTRUCTION_EMITTER
-                             where I = CFG.I
-                             and   S = Emitter.S
+     structure CFG       : CONTROL_FLOW_GRAPH (* where I = Emitter.I and P = Emitter.S.P *)
+                           where type I.addressing_mode = Emitter.I.addressing_mode
+                             and type I.ea = Emitter.I.ea
+                             and type I.instr = Emitter.I.instr
+                             and type I.instruction = Emitter.I.instruction
+                             and type I.operand = Emitter.I.operand
+                           where type P.Client.pseudo_op = Emitter.S.P.Client.pseudo_op
+                             and type P.T.Basis.cond = Emitter.S.P.T.Basis.cond
+                             and type P.T.Basis.div_rounding_mode = Emitter.S.P.T.Basis.div_rounding_mode
+                             and type P.T.Basis.ext = Emitter.S.P.T.Basis.ext
+                             and type P.T.Basis.fcond = Emitter.S.P.T.Basis.fcond
+                             and type P.T.Basis.rounding_mode = Emitter.S.P.T.Basis.rounding_mode
+                             and type P.T.Constant.const = Emitter.S.P.T.Constant.const
+                             and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) Emitter.S.P.T.Extension.ccx
+                             and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) Emitter.S.P.T.Extension.fx
+                             and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) Emitter.S.P.T.Extension.rx
+                             and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) Emitter.S.P.T.Extension.sx
+                             and type P.T.I.div_rounding_mode = Emitter.S.P.T.I.div_rounding_mode
+                             and type P.T.Region.region = Emitter.S.P.T.Region.region
+                             and type P.T.ccexp = Emitter.S.P.T.ccexp
+                             and type P.T.fexp = Emitter.S.P.T.fexp
+                             (* and type P.T.labexp = Emitter.S.P.T.labexp *)
+                             and type P.T.mlrisc = Emitter.S.P.T.mlrisc
+                             and type P.T.oper = Emitter.S.P.T.oper
+                             and type P.T.rep = Emitter.S.P.T.rep
+                             and type P.T.rexp = Emitter.S.P.T.rexp
+                             and type P.T.stm = Emitter.S.P.T.stm
+     structure Jumps     : SDI_JUMPS (* where I = CFG.I *)
+                           where type I.addressing_mode = CFG.I.addressing_mode
+                             and type I.ea = CFG.I.ea
+                             and type I.instr = CFG.I.instr
+                             and type I.instruction = CFG.I.instruction
+                             and type I.operand = CFG.I.operand
+     structure DelaySlot : DELAY_SLOT_PROPERTIES (* where I = CFG.I *)
+                           where type I.addressing_mode = CFG.I.addressing_mode
+                             and type I.ea = CFG.I.ea
+                             and type I.instr = CFG.I.instr
+                             and type I.instruction = CFG.I.instruction
+                             and type I.operand = CFG.I.operand
+     structure Props     : INSN_PROPERTIES (* where I = CFG.I *)
+                           where type I.addressing_mode = CFG.I.addressing_mode
+                             and type I.ea = CFG.I.ea
+                             and type I.instr = CFG.I.instr
+                             and type I.instruction = CFG.I.instruction
+                             and type I.operand = CFG.I.operand
+     structure Asm       : INSTRUCTION_EMITTER (* where I = CFG.I and S = Emitter.S *)
+                           where type I.addressing_mode = CFG.I.addressing_mode
+                             and type I.ea = CFG.I.ea
+                             and type I.instr = CFG.I.instr
+                             and type I.instruction = CFG.I.instruction
+                             and type I.operand = CFG.I.operand
+                           where type S.P.Client.pseudo_op = Emitter.S.P.Client.pseudo_op
+                             and type S.P.T.Basis.cond = Emitter.S.P.T.Basis.cond
+                             and type S.P.T.Basis.div_rounding_mode = Emitter.S.P.T.Basis.div_rounding_mode
+                             and type S.P.T.Basis.ext = Emitter.S.P.T.Basis.ext
+                             and type S.P.T.Basis.fcond = Emitter.S.P.T.Basis.fcond
+                             and type S.P.T.Basis.rounding_mode = Emitter.S.P.T.Basis.rounding_mode
+                             and type S.P.T.Constant.const = Emitter.S.P.T.Constant.const
+                             and type ('s,'r,'f,'c) S.P.T.Extension.ccx = ('s,'r,'f,'c) Emitter.S.P.T.Extension.ccx
+                             and type ('s,'r,'f,'c) S.P.T.Extension.fx = ('s,'r,'f,'c) Emitter.S.P.T.Extension.fx
+                             and type ('s,'r,'f,'c) S.P.T.Extension.rx = ('s,'r,'f,'c) Emitter.S.P.T.Extension.rx
+                             and type ('s,'r,'f,'c) S.P.T.Extension.sx = ('s,'r,'f,'c) Emitter.S.P.T.Extension.sx
+                             and type S.P.T.I.div_rounding_mode = Emitter.S.P.T.I.div_rounding_mode
+                             and type S.P.T.Region.region = Emitter.S.P.T.Region.region
+                             and type S.P.T.ccexp = Emitter.S.P.T.ccexp
+                             and type S.P.T.fexp = Emitter.S.P.T.fexp
+                             (* and type S.P.T.labexp = Emitter.S.P.T.labexp *)
+                             and type S.P.T.mlrisc = Emitter.S.P.T.mlrisc
+                             and type S.P.T.oper = Emitter.S.P.T.oper
+                             and type S.P.T.rep = Emitter.S.P.T.rep
+                             and type S.P.T.rexp = Emitter.S.P.T.rexp
+                             and type S.P.T.stm = Emitter.S.P.T.stm
+                             and type ('a,'b,'c,'d) S.stream = ('a,'b,'c,'d) Emitter.S.stream
      ) : BBSCHED = 
 struct
 
@@ -275,7 +336,9 @@
 
               and eliminateNop(jmp) = 
                   case (nop,nOn) of
-                     (true,(D.D_FALLTHRU | D.D_NONE)) =>
+                     (true,D.D_FALLTHRU) =>
+                          D.enableDelaySlot{n=true,nop=false,instr=jmp}
+                  |  (true,D.D_NONE) =>
                           D.enableDelaySlot{n=true,nop=false,instr=jmp}
                   |  _ => jmp
 
diff -Naur MLRISC/backpatch/vlBackPatch.sml MLRISC-mlton/backpatch/vlBackPatch.sml
--- MLRISC/backpatch/vlBackPatch.sml	2002-03-11 19:56:22.000000000 -0800
+++ MLRISC-mlton/backpatch/vlBackPatch.sml	2006-10-25 16:55:11.000000000 -0700
@@ -26,14 +26,31 @@
 functor BackPatch
   (structure CodeString : CODE_STRING
    structure Jumps      : SDI_JUMPS 
-   structure Props      : INSN_PROPERTIES 
-                        where I = Jumps.I
-   structure Emitter    : MC_EMIT
-                        where I = Props.I
-   structure CFG        : CONTROL_FLOW_GRAPH
-                        where I = Emitter.I
-   structure Asm        : INSTRUCTION_EMITTER
-                        where I = CFG.I) =
+   structure Props      : INSN_PROPERTIES (* where I = Jumps.I *)
+                          where type I.addressing_mode = Jumps.I.addressing_mode
+                            and type I.ea = Jumps.I.ea
+                            and type I.instr = Jumps.I.instr
+                            and type I.instruction = Jumps.I.instruction
+                            and type I.operand = Jumps.I.operand
+   structure Emitter    : MC_EMIT (* where I = Props.I *)
+                          where type I.addressing_mode = Props.I.addressing_mode
+                            and type I.ea = Props.I.ea
+                            and type I.instr = Props.I.instr
+                            and type I.instruction = Props.I.instruction
+                            and type I.operand = Props.I.operand
+   structure CFG        : CONTROL_FLOW_GRAPH (* where I = Emitter.I *)
+                          where type I.addressing_mode = Emitter.I.addressing_mode
+                            and type I.ea = Emitter.I.ea
+                            and type I.instr = Emitter.I.instr
+                            and type I.instruction = Emitter.I.instruction
+                            and type I.operand = Emitter.I.operand
+   structure Asm        : INSTRUCTION_EMITTER (* where I = CFG.I *)
+                          where type I.addressing_mode = CFG.I.addressing_mode
+                            and type I.ea = CFG.I.ea
+                            and type I.instr = CFG.I.instr
+                            and type I.instruction = CFG.I.instruction
+                            and type I.operand = CFG.I.operand
+  ) =
 struct 
   structure I   = Jumps.I
   structure C   = I.C
diff -Naur MLRISC/block-placement/block-placement.sml MLRISC-mlton/block-placement/block-placement.sml
--- MLRISC/block-placement/block-placement.sml	2002-03-21 14:33:35.000000000 -0800
+++ MLRISC-mlton/block-placement/block-placement.sml	2006-10-25 16:55:11.000000000 -0700
@@ -5,9 +5,13 @@
 
 functor BlockPlacement 
    (structure CFG : CONTROL_FLOW_GRAPH
-    structure Props : INSN_PROPERTIES)
-
-   : BLOCK_PLACEMENT =
+    structure Props : INSN_PROPERTIES (* where I = CFG.I *)
+                      where type I.addressing_mode = CFG.I.addressing_mode
+                        and type I.ea = CFG.I.ea
+                        and type I.instr = CFG.I.instr
+                        and type I.instruction = CFG.I.instruction
+                        and type I.operand = CFG.I.operand
+   ) : BLOCK_PLACEMENT =
 
 struct
   structure CFG = CFG
diff -Naur MLRISC/block-placement/check-placement-fn.sml MLRISC-mlton/block-placement/check-placement-fn.sml
--- MLRISC/block-placement/check-placement-fn.sml	2002-03-22 08:59:28.000000000 -0800
+++ MLRISC-mlton/block-placement/check-placement-fn.sml	2006-10-25 16:55:11.000000000 -0700
@@ -9,8 +9,12 @@
 functor CheckPlacementFn (
 
     structure CFG : CONTROL_FLOW_GRAPH
-    structure InsnProps : INSN_PROPERTIES
-      where I = CFG.I
+    structure InsnProps : INSN_PROPERTIES (* where I = CFG.I *)
+                          where type I.addressing_mode = CFG.I.addressing_mode
+                            and type I.ea = CFG.I.ea
+                            and type I.instr = CFG.I.instr
+                            and type I.instruction = CFG.I.instruction
+                            and type I.operand = CFG.I.operand
 
   ) : sig
 
@@ -81,7 +85,11 @@
 		(* end case *))
 	(* check that FALLSTHRU and BRANCH false edges connect adjacent nodes *)
 	  fun chkEdge (src, dst, CFG.EDGE{k, ...}) = (case k
-		 of (CFG.FALLSTHRU | CFG.BRANCH false) =>
+		 of CFG.FALLSTHRU =>
+		      if adjacentNodes(src, dst)
+			then ()
+			else reportNotAdjacent(src, dst)
+		  | CFG.BRANCH false =>
 		      if adjacentNodes(src, dst)
 			then ()
 			else reportNotAdjacent(src, dst)
diff -Naur MLRISC/block-placement/jump-chain-elim-fn.sml MLRISC-mlton/block-placement/jump-chain-elim-fn.sml
--- MLRISC/block-placement/jump-chain-elim-fn.sml	2003-05-22 15:46:19.000000000 -0700
+++ MLRISC-mlton/block-placement/jump-chain-elim-fn.sml	2006-10-25 16:55:11.000000000 -0700
@@ -12,8 +12,12 @@
 functor JumpChainElimFn (
 
     structure CFG : CONTROL_FLOW_GRAPH
-    structure InsnProps : INSN_PROPERTIES
-      where I = CFG.I
+    structure InsnProps : INSN_PROPERTIES (* where I = CFG.I *)
+                          where type I.addressing_mode = CFG.I.addressing_mode
+                            and type I.ea = CFG.I.ea
+                            and type I.instr = CFG.I.instr
+                            and type I.instruction = CFG.I.instruction
+                            and type I.operand = CFG.I.operand
 
   (* Control flag that when set true allows jumps to labels outside
    * of the CFG to be chained.  Set this false when there are many
diff -Naur MLRISC/block-placement/weighted-block-placement-fn.sml MLRISC-mlton/block-placement/weighted-block-placement-fn.sml
--- MLRISC/block-placement/weighted-block-placement-fn.sml	2003-05-22 15:46:19.000000000 -0700
+++ MLRISC-mlton/block-placement/weighted-block-placement-fn.sml	2006-10-25 16:55:11.000000000 -0700
@@ -12,8 +12,12 @@
 functor WeightedBlockPlacementFn (
 
     structure CFG : CONTROL_FLOW_GRAPH
-    structure InsnProps : INSN_PROPERTIES
-      where I = CFG.I
+    structure InsnProps : INSN_PROPERTIES (* where I = CFG.I *)
+                          where type I.addressing_mode = CFG.I.addressing_mode
+                            and type I.ea = CFG.I.ea
+                            and type I.instr = CFG.I.instr
+                            and type I.instruction = CFG.I.instruction
+                            and type I.operand = CFG.I.operand
 
   ) : BLOCK_PLACEMENT = struct
 
diff -Naur MLRISC/c-calls/unimplemented-c-calls.sml MLRISC-mlton/c-calls/unimplemented-c-calls.sml
--- MLRISC/c-calls/unimplemented-c-calls.sml	2004-07-28 16:23:13.000000000 -0700
+++ MLRISC-mlton/c-calls/unimplemented-c-calls.sml	2006-10-25 16:55:11.000000000 -0700
@@ -6,7 +6,27 @@
  *)
 functor UnimplementedCCallsFn
 	    (structure T: MLTREE
-	     val impossible: string -> 'a) :> C_CALLS where T = T =
+	     val impossible: string -> 'a) :> C_CALLS (* where T = T *)
+                                              where type T.Basis.cond = T.Basis.cond
+                                                and type T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                                                and type T.Basis.ext = T.Basis.ext
+                                                and type T.Basis.fcond = T.Basis.fcond
+                                                and type T.Basis.rounding_mode = T.Basis.rounding_mode
+                                                and type T.Constant.const = T.Constant.const
+                                                and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                                                and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                                                and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                                                and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                                                and type T.I.div_rounding_mode = T.I.div_rounding_mode
+                                                and type T.Region.region = T.Region.region
+                                                and type T.ccexp = T.ccexp
+                                                and type T.fexp = T.fexp
+                                                (* and type T.labexp = T.labexp *)
+                                                and type T.mlrisc = T.mlrisc
+                                                and type T.oper = T.oper
+                                                and type T.rep = T.rep
+                                                and type T.rexp = T.rexp
+                                                and type T.stm = T.stm =
 struct
     structure T = T
 
diff -Naur MLRISC/cm/proxyLib.cm MLRISC-mlton/cm/proxyLib.cm
--- MLRISC/cm/proxyLib.cm	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/cm/proxyLib.cm	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,50 @@
+Group
+        group(proxyGrp.cm)
+is
+	proxyGrp.cm 
+(
+bind:(anchor:ALPHA.cm value:$SMLNJ-MLRISC)
+bind:(anchor:ALPHA-GC.cm value:$SMLNJ-MLRISC)
+bind:(anchor:ALPHA-Peephole.cm value:$SMLNJ-MLRISC)
+bind:(anchor:ALPHA-RTL.cm value:$SMLNJ-MLRISC)
+bind:(anchor:ALPHA-Sched.cm value:$SMLNJ-MLRISC)
+bind:(anchor:ALPHA-SSA.cm value:$SMLNJ-MLRISC)
+bind:(anchor:Control.cm value:$SMLNJ-MLRISC)
+bind:(anchor:GC.cm value:$SMLNJ-MLRISC)
+bind:(anchor:Graphs.cm value:$SMLNJ-MLRISC)
+bind:(anchor:HPPA.cm value:$SMLNJ-MLRISC)
+bind:(anchor:HPPA-GC.cm value:$SMLNJ-MLRISC)
+bind:(anchor:HPPA-RTL.cm value:$SMLNJ-MLRISC)
+bind:(anchor:HPPA-Sched.cm value:$SMLNJ-MLRISC)
+bind:(anchor:HPPA-SSA.cm value:$SMLNJ-MLRISC)
+bind:(anchor:IA32.cm value:$SMLNJ-MLRISC)
+bind:(anchor:IA32-GC.cm value:$SMLNJ-MLRISC)
+bind:(anchor:IA32-Peephole.cm value:$SMLNJ-MLRISC)
+bind:(anchor:IA32-RTL.cm value:$SMLNJ-MLRISC)
+bind:(anchor:IA32-Sched.cm value:$SMLNJ-MLRISC)
+bind:(anchor:IA32-SSA.cm value:$SMLNJ-MLRISC)
+bind:(anchor:ir-archive.cm value:$SMLNJ-MLRISC)
+bind:(anchor:IR.cm value:$SMLNJ-MLRISC)
+bind:(anchor:Lib.cm value:$SMLNJ-MLRISC)
+bind:(anchor:MIPS.cm value:$SMLNJ-MLRISC)
+bind:(anchor:MLRISC.cm value:$SMLNJ-MLRISC)
+bind:(anchor:MLTREE.cm value:$SMLNJ-MLRISC)
+bind:(anchor:Opt.cm value:$SMLNJ-MLRISC)
+bind:(anchor:Peephole.cm value:$SMLNJ-MLRISC)
+bind:(anchor:PPC.cm value:$SMLNJ-MLRISC)
+bind:(anchor:PPC-GC.cm value:$SMLNJ-MLRISC)
+bind:(anchor:PPC-Sched.cm value:$SMLNJ-MLRISC)
+bind:(anchor:RA.cm value:$SMLNJ-MLRISC)
+bind:(anchor:Region.cm value:$SMLNJ-MLRISC)
+bind:(anchor:RTL.cm value:$SMLNJ-MLRISC)
+bind:(anchor:Sched.cm value:$SMLNJ-MLRISC)
+bind:(anchor:SPARC.cm value:$SMLNJ-MLRISC)
+bind:(anchor:SPARC-GC.cm value:$SMLNJ-MLRISC)
+bind:(anchor:SPARC-Peephole.cm value:$SMLNJ-MLRISC)
+bind:(anchor:SPARC-RTL.cm value:$SMLNJ-MLRISC)
+bind:(anchor:SPARC-Sched.cm value:$SMLNJ-MLRISC)
+bind:(anchor:SPARC-SSA.cm value:$SMLNJ-MLRISC)
+bind:(anchor:SSA.cm value:$SMLNJ-MLRISC)
+bind:(anchor:Visual.cm value:$SMLNJ-MLRISC)
+bind:(anchor:VLIW.cm value:$SMLNJ-MLRISC)
+)
diff -Naur MLRISC/Doc/html/mltex2html MLRISC-mlton/Doc/html/mltex2html
--- MLRISC/Doc/html/mltex2html	2000-06-01 11:33:04.000000000 -0700
+++ MLRISC-mlton/Doc/html/mltex2html	2006-10-25 17:10:23.000000000 -0700
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl
+#!/usr/bin/perl
 #
 # This tool generates HTML pages in my own format given a stylized Latex file.
 #
diff -Naur MLRISC/emit/cfgEmit.sml MLRISC-mlton/emit/cfgEmit.sml
--- MLRISC/emit/cfgEmit.sml	2002-05-15 07:02:06.000000000 -0700
+++ MLRISC-mlton/emit/cfgEmit.sml	2006-10-25 16:55:11.000000000 -0700
@@ -13,9 +13,34 @@
 
 functor CFGEmit
   (structure E   : INSTRUCTION_EMITTER
-   structure CFG : CONTROL_FLOW_GRAPH
-		   where I = E.I
-		     and P = E.S.P)  : ASSEMBLY_EMITTER = 
+   structure CFG : CONTROL_FLOW_GRAPH (* where I = E.I and P = E.S.P *)
+                   where type I.addressing_mode = E.I.addressing_mode
+                     and type I.ea = E.I.ea
+                     and type I.instr = E.I.instr
+                     and type I.instruction = E.I.instruction
+                     and type I.operand = E.I.operand
+                   where type P.Client.pseudo_op = E.S.P.Client.pseudo_op
+                     and type P.T.Basis.cond = E.S.P.T.Basis.cond
+                     and type P.T.Basis.div_rounding_mode = E.S.P.T.Basis.div_rounding_mode
+                     and type P.T.Basis.ext = E.S.P.T.Basis.ext
+                     and type P.T.Basis.fcond = E.S.P.T.Basis.fcond
+                     and type P.T.Basis.rounding_mode = E.S.P.T.Basis.rounding_mode
+                     and type P.T.Constant.const = E.S.P.T.Constant.const
+                     and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) E.S.P.T.Extension.ccx
+                     and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) E.S.P.T.Extension.fx
+                     and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) E.S.P.T.Extension.rx
+                     and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) E.S.P.T.Extension.sx
+                     and type P.T.I.div_rounding_mode = E.S.P.T.I.div_rounding_mode
+                     and type P.T.Region.region = E.S.P.T.Region.region
+                     and type P.T.ccexp = E.S.P.T.ccexp
+                     and type P.T.fexp = E.S.P.T.fexp
+                     (* and type P.T.labexp = E.S.P.T.labexp *)
+                     and type P.T.mlrisc = E.S.P.T.mlrisc
+                     and type P.T.oper = E.S.P.T.oper
+                     and type P.T.rep = E.S.P.T.rep
+                     and type P.T.rexp = E.S.P.T.rexp
+                     and type P.T.stm = E.S.P.T.stm
+  )  : ASSEMBLY_EMITTER = 
 struct
   structure CFG = CFG
 
diff -Naur MLRISC/flowgraph/buildFlowgraph.sml MLRISC-mlton/flowgraph/buildFlowgraph.sml
--- MLRISC/flowgraph/buildFlowgraph.sml	2002-05-15 07:02:06.000000000 -0700
+++ MLRISC-mlton/flowgraph/buildFlowgraph.sml	2006-10-25 16:55:11.000000000 -0700
@@ -9,9 +9,34 @@
    structure S   : INSTRUCTION_STREAM
    structure I   : INSTRUCTIONS
    structure P   : PSEUDO_OPS
-   structure CFG : CONTROL_FLOW_GRAPH
-   		where I = I
-                  and P = P
+   structure CFG : CONTROL_FLOW_GRAPH (* where I = I and P = P *)
+                   where type I.addressing_mode = I.addressing_mode
+                     and type I.ea = I.ea
+                     and type I.instr = I.instr
+                     and type I.instruction = I.instruction
+                     and type I.operand = I.operand
+                   where type P.Client.pseudo_op = P.Client.pseudo_op
+                     and type P.T.Basis.cond = P.T.Basis.cond
+                     and type P.T.Basis.div_rounding_mode = P.T.Basis.div_rounding_mode
+                     and type P.T.Basis.ext = P.T.Basis.ext
+                     and type P.T.Basis.fcond = P.T.Basis.fcond
+                     and type P.T.Basis.rounding_mode = P.T.Basis.rounding_mode
+                     and type P.T.Constant.const = P.T.Constant.const
+                     and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) P.T.Extension.ccx
+                     and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) P.T.Extension.fx
+                     and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) P.T.Extension.rx
+                     and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) P.T.Extension.sx
+                     and type P.T.I.div_rounding_mode = P.T.I.div_rounding_mode
+                     and type P.T.Region.region = P.T.Region.region
+                     and type P.T.ccexp = P.T.ccexp
+                     and type P.T.fexp = P.T.fexp
+                     (* and type P.T.labexp = P.T.labexp *)
+                     and type P.T.mlrisc = P.T.mlrisc
+                     and type P.T.oper = P.T.oper
+                     and type P.T.rep = P.T.rep
+                     and type P.T.rexp = P.T.rexp
+                     and type P.T.stm = P.T.stm
+
    (*
     * This creates an emitter which can be used to build a CFG incrementally
     *)
@@ -26,9 +51,33 @@
 functor BuildFlowgraph 
   (structure Props  : INSN_PROPERTIES
    structure Stream : INSTRUCTION_STREAM
-   structure CFG    : CONTROL_FLOW_GRAPH  
-			  where I = Props.I
-			    and P = Stream.P
+   structure CFG    : CONTROL_FLOW_GRAPH (* where I = Props.I and P = Stream.P *)
+                      where type I.addressing_mode = Props.I.addressing_mode
+                        and type I.ea = Props.I.ea
+                        and type I.instr = Props.I.instr
+                        and type I.instruction = Props.I.instruction
+                        and type I.operand = Props.I.operand
+                      where type P.Client.pseudo_op = Stream.P.Client.pseudo_op
+                        and type P.T.Basis.cond = Stream.P.T.Basis.cond
+                        and type P.T.Basis.div_rounding_mode = Stream.P.T.Basis.div_rounding_mode
+                        and type P.T.Basis.ext = Stream.P.T.Basis.ext
+                        and type P.T.Basis.fcond = Stream.P.T.Basis.fcond
+                        and type P.T.Basis.rounding_mode = Stream.P.T.Basis.rounding_mode
+                        and type P.T.Constant.const = Stream.P.T.Constant.const
+                        and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) Stream.P.T.Extension.ccx
+                        and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) Stream.P.T.Extension.fx
+                        and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) Stream.P.T.Extension.rx
+                        and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) Stream.P.T.Extension.sx
+                        and type P.T.I.div_rounding_mode = Stream.P.T.I.div_rounding_mode
+                        and type P.T.Region.region = Stream.P.T.Region.region
+                        and type P.T.ccexp = Stream.P.T.ccexp
+                        and type P.T.fexp = Stream.P.T.fexp
+                        (* and type P.T.labexp = Stream.P.T.labexp *)
+                        and type P.T.mlrisc = Stream.P.T.mlrisc
+                        and type P.T.oper = Stream.P.T.oper
+                        and type P.T.rep = Stream.P.T.rep
+                        and type P.T.rexp = Stream.P.T.rexp
+                        and type P.T.stm = Stream.P.T.stm
   ) : CONTROL_FLOWGRAPH_GEN =
 struct
   structure CFG = CFG
diff -Naur MLRISC/flowgraph/cfgCountCopies.sml MLRISC-mlton/flowgraph/cfgCountCopies.sml
--- MLRISC/flowgraph/cfgCountCopies.sml	2002-03-07 13:16:24.000000000 -0800
+++ MLRISC-mlton/flowgraph/cfgCountCopies.sml	2006-10-25 16:55:11.000000000 -0700
@@ -4,10 +4,18 @@
  *)
 functor CFGCountCopies
    ( structure CFG : CONTROL_FLOW_GRAPH
-     structure InsnProps : INSN_PROPERTIES
-     		where I = CFG.I
-     structure SdiJumps : SDI_JUMPS
-     		where I = CFG.I
+     structure InsnProps : INSN_PROPERTIES (* where I = CFG.I *)
+                           where type I.addressing_mode = CFG.I.addressing_mode
+                             and type I.ea = CFG.I.ea
+                             and type I.instr = CFG.I.instr
+                             and type I.instruction = CFG.I.instruction
+                             and type I.operand = CFG.I.operand
+     structure SdiJumps : SDI_JUMPS (* where I = CFG.I *)
+                          where type I.addressing_mode = CFG.I.addressing_mode
+                            and type I.ea = CFG.I.ea
+                            and type I.instr = CFG.I.instr
+                            and type I.instruction = CFG.I.instruction
+                            and type I.operand = CFG.I.operand
     ) : CFG_OPTIMIZATION =
 struct
    structure CFG = CFG
diff -Naur MLRISC/flowgraph/cfgExpandCopies.sml MLRISC-mlton/flowgraph/cfgExpandCopies.sml
--- MLRISC/flowgraph/cfgExpandCopies.sml	2002-01-15 15:10:05.000000000 -0800
+++ MLRISC-mlton/flowgraph/cfgExpandCopies.sml	2006-10-25 16:55:11.000000000 -0700
@@ -7,8 +7,12 @@
 
 functor CFGExpandCopies
    (structure CFG    : CONTROL_FLOW_GRAPH
-    structure Shuffle : SHUFFLE
-    			where I = CFG.I
+    structure Shuffle : SHUFFLE (* where I = CFG.I *)
+                        where type I.addressing_mode = CFG.I.addressing_mode
+                          and type I.ea = CFG.I.ea
+                          and type I.instr = CFG.I.instr
+                          and type I.instruction = CFG.I.instruction
+                          and type I.operand = CFG.I.operand
    ) : CFG_OPTIMIZATION =
   struct
     structure CFG = CFG
diff -Naur MLRISC/flowgraph/cfgPeephole.sml MLRISC-mlton/flowgraph/cfgPeephole.sml
--- MLRISC/flowgraph/cfgPeephole.sml	2001-09-19 12:31:18.000000000 -0700
+++ MLRISC-mlton/flowgraph/cfgPeephole.sml	2006-10-25 16:55:11.000000000 -0700
@@ -3,8 +3,12 @@
  *)
 functor CFGPeephole
   (structure CFG      : CONTROL_FLOW_GRAPH
-   structure PeepHole : PEEPHOLE
-     sharing CFG.I = PeepHole.I
+   structure PeepHole : PEEPHOLE (* sharing CFG.I = PeepHole.I *)
+                        where type I.addressing_mode = CFG.I.addressing_mode
+                          and type I.ea = CFG.I.ea
+                          and type I.instr = CFG.I.instr
+                          and type I.instruction = CFG.I.instruction
+                          and type I.operand = CFG.I.operand
   ) : CFG_OPTIMIZATION =
 struct
    structure CFG = CFG
diff -Naur MLRISC/flowgraph/cfg.sml MLRISC-mlton/flowgraph/cfg.sml
--- MLRISC/flowgraph/cfg.sml	2002-05-15 07:02:06.000000000 -0700
+++ MLRISC-mlton/flowgraph/cfg.sml	2006-10-25 16:55:11.000000000 -0700
@@ -10,8 +10,18 @@
 functor ControlFlowGraph
    (structure I : INSTRUCTIONS
     structure GraphImpl : GRAPH_IMPLEMENTATION
-    structure InsnProps : INSN_PROPERTIES where I = I
-    structure Asm : INSTRUCTION_EMITTER where I = I
+    structure InsnProps : INSN_PROPERTIES (* where I = I *)
+                          where type I.addressing_mode = I.addressing_mode
+                            and type I.ea = I.ea
+                            and type I.instr = I.instr
+                            and type I.instruction = I.instruction
+                            and type I.operand = I.operand
+    structure Asm : INSTRUCTION_EMITTER (* where I = I *)
+                    where type I.addressing_mode = I.addressing_mode
+                      and type I.ea = I.ea
+                      and type I.instr = I.instr
+                      and type I.instruction = I.instruction
+                      and type I.operand = I.operand
    ) : CONTROL_FLOW_GRAPH =
 struct
 
@@ -314,7 +324,10 @@
    fun mustPreceed (G.GRAPH cfg) (i,j) =
    let val visited = H.mkTable(23,NotFound)
        fun chase [] = false
-         | chase((u,v,EDGE{k=(FALLSTHRU|BRANCH false),...})::_) =
+         | chase((u,v,EDGE{k= FALLSTHRU,...})::_) =
+           if H.inDomain visited u then false
+           else u = i orelse (H.insert visited (u,true); chase(#in_edges cfg u))
+         | chase((u,v,EDGE{k= BRANCH false,...})::_) =
            if H.inDomain visited u then false
            else u = i orelse (H.insert visited (u,true); chase(#in_edges cfg u))
          | chase(_::es) = chase es
@@ -355,7 +368,8 @@
        |  BLOCK{insns=insns as ref(jmp::rest),...} => 
              (case #out_edges cfg node of
                 [] => ()
-             |  [(_,_,EDGE{k=(ENTRY | EXIT),...})] => ()
+             |  [(_,_,EDGE{k=ENTRY,...})] => ()
+             |  [(_,_,EDGE{k=EXIT,...})] => ()
              |  [(i,j,_)] =>
                   if InsnProps.instrKind jmp = InsnProps.IK_JUMP then
                        insns := InsnProps.setJumpTarget(jmp,labelOf j)::rest
@@ -388,7 +402,8 @@
     *=====================================================================*)
    fun mergeEdge (CFG as G.GRAPH cfg) (i,j,e as EDGE{w,k,...}) = 
    let val _ = case k of
-                  (ENTRY | EXIT) => raise Can'tMerge
+                  ENTRY => raise Can'tMerge
+               |  EXIT => raise Can'tMerge
                |  _ => () 
        val _ = case (#out_edges cfg i,#in_edges cfg j) of
                   ([(_,j',_)],[(i',_,_)]) => 
@@ -713,7 +728,8 @@
     *========================================================================*)
    fun cdgEdge(EDGE{k, ...}) = 
         case k of
-           (JUMP | FALLSTHRU) => false
+           JUMP => false
+        |  FALLSTHRU => false
         |  _ => true
 
    (*========================================================================
diff -Naur MLRISC/flowgraph/printFlowgraph.sml MLRISC-mlton/flowgraph/printFlowgraph.sml
--- MLRISC/flowgraph/printFlowgraph.sml	2002-03-07 13:04:12.000000000 -0800
+++ MLRISC-mlton/flowgraph/printFlowgraph.sml	2006-10-25 16:55:11.000000000 -0700
@@ -5,9 +5,33 @@
 signature PRINT_FLOWGRAPH = 
 sig
    structure Asm : INSTRUCTION_EMITTER
-   structure CFG : CONTROL_FLOW_GRAPH
-		      where I = Asm.I 
-			and P = Asm.S.P
+   structure CFG : CONTROL_FLOW_GRAPH (* where I = Asm.I and P = Asm.S.P *)
+                   where type I.addressing_mode = Asm.I.addressing_mode
+                     and type I.ea = Asm.I.ea
+                     and type I.instr = Asm.I.instr
+                     and type I.instruction = Asm.I.instruction
+                     and type I.operand = Asm.I.operand
+                   where type P.Client.pseudo_op = Asm.S.P.Client.pseudo_op
+                     and type P.T.Basis.cond = Asm.S.P.T.Basis.cond
+                     and type P.T.Basis.div_rounding_mode = Asm.S.P.T.Basis.div_rounding_mode
+                     and type P.T.Basis.ext = Asm.S.P.T.Basis.ext
+                     and type P.T.Basis.fcond = Asm.S.P.T.Basis.fcond
+                     and type P.T.Basis.rounding_mode = Asm.S.P.T.Basis.rounding_mode
+                     and type P.T.Constant.const = Asm.S.P.T.Constant.const
+                     and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) Asm.S.P.T.Extension.ccx
+                     and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) Asm.S.P.T.Extension.fx
+                     and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) Asm.S.P.T.Extension.rx
+                     and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) Asm.S.P.T.Extension.sx
+                     and type P.T.I.div_rounding_mode = Asm.S.P.T.I.div_rounding_mode
+                     and type P.T.Region.region = Asm.S.P.T.Region.region
+                     and type P.T.ccexp = Asm.S.P.T.ccexp
+                     and type P.T.fexp = Asm.S.P.T.fexp
+                     (* and type P.T.labexp = Asm.S.P.T.labexp *)
+                     and type P.T.mlrisc = Asm.S.P.T.mlrisc
+                     and type P.T.oper = Asm.S.P.T.oper
+                     and type P.T.rep = Asm.S.P.T.rep
+                     and type P.T.rexp = Asm.S.P.T.rexp
+                     and type P.T.stm = Asm.S.P.T.stm
 
    val printCFG : TextIO.outstream -> string -> CFG.cfg -> unit
 end
@@ -15,9 +39,33 @@
 
 functor PrintFlowgraph 
    (structure Asm : INSTRUCTION_EMITTER
-    structure CFG : CONTROL_FLOW_GRAPH
-		    where I = Asm.I
-		      and P = Asm.S.P
+    structure CFG : CONTROL_FLOW_GRAPH (* where I = Asm.I and P = Asm.S.P *)
+                    where type I.addressing_mode = Asm.I.addressing_mode
+                      and type I.ea = Asm.I.ea
+                      and type I.instr = Asm.I.instr
+                      and type I.instruction = Asm.I.instruction
+                      and type I.operand = Asm.I.operand
+                    where type P.Client.pseudo_op = Asm.S.P.Client.pseudo_op
+                      and type P.T.Basis.cond = Asm.S.P.T.Basis.cond
+                      and type P.T.Basis.div_rounding_mode = Asm.S.P.T.Basis.div_rounding_mode
+                      and type P.T.Basis.ext = Asm.S.P.T.Basis.ext
+                      and type P.T.Basis.fcond = Asm.S.P.T.Basis.fcond
+                      and type P.T.Basis.rounding_mode = Asm.S.P.T.Basis.rounding_mode
+                      and type P.T.Constant.const = Asm.S.P.T.Constant.const
+                      and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) Asm.S.P.T.Extension.ccx
+                      and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) Asm.S.P.T.Extension.fx
+                      and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) Asm.S.P.T.Extension.rx
+                      and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) Asm.S.P.T.Extension.sx
+                      and type P.T.I.div_rounding_mode = Asm.S.P.T.I.div_rounding_mode
+                      and type P.T.Region.region = Asm.S.P.T.Region.region
+                      and type P.T.ccexp = Asm.S.P.T.ccexp
+                      and type P.T.fexp = Asm.S.P.T.fexp
+                      (* and type P.T.labexp = Asm.S.P.T.labexp *)
+                      and type P.T.mlrisc = Asm.S.P.T.mlrisc
+                      and type P.T.oper = Asm.S.P.T.oper
+                      and type P.T.rep = Asm.S.P.T.rep
+                      and type P.T.rexp = Asm.S.P.T.rexp
+                      and type P.T.stm = Asm.S.P.T.stm
    ) : PRINT_FLOWGRAPH =
 struct
    structure Asm = Asm
diff -Naur MLRISC/flowgraph/pseudo-ops-big.sml MLRISC-mlton/flowgraph/pseudo-ops-big.sml
--- MLRISC/flowgraph/pseudo-ops-big.sml	2003-05-22 15:46:19.000000000 -0700
+++ MLRISC-mlton/flowgraph/pseudo-ops-big.sml	2006-10-25 16:55:11.000000000 -0700
@@ -7,8 +7,27 @@
 
 functor PseudoOpsBig
    ( structure T : MLTREE
-     structure MLTreeEval : MLTREE_EVAL 
-			     where T = T
+     structure MLTreeEval : MLTREE_EVAL (* where T = T *)
+                            where type T.Basis.cond = T.Basis.cond
+                              and type T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                              and type T.Basis.ext = T.Basis.ext
+                              and type T.Basis.fcond = T.Basis.fcond
+                              and type T.Basis.rounding_mode = T.Basis.rounding_mode
+                              and type T.Constant.const = T.Constant.const
+                              and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                              and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                              and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                              and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                              and type T.I.div_rounding_mode = T.I.div_rounding_mode
+                              and type T.Region.region = T.Region.region
+                              and type T.ccexp = T.ccexp
+                              and type T.fexp = T.fexp
+                              (* and type T.labexp = T.labexp *)
+                              and type T.mlrisc = T.mlrisc
+                              and type T.oper = T.oper
+                              and type T.rep = T.rep
+                              and type T.rexp = T.rexp
+                              and type T.stm = T.stm
      val  icache_alignment : int	(* cache line size *)
      val max_alignment : int option	(* maximum alignment for internal labels *)
      val nop: {sz:int, en:Word32.word}	(* encoding for noop *)
diff -Naur MLRISC/flowgraph/pseudo-ops-little.sml MLRISC-mlton/flowgraph/pseudo-ops-little.sml
--- MLRISC/flowgraph/pseudo-ops-little.sml	2003-05-22 15:46:19.000000000 -0700
+++ MLRISC-mlton/flowgraph/pseudo-ops-little.sml	2006-10-25 16:55:11.000000000 -0700
@@ -7,8 +7,27 @@
 
 functor PseudoOpsLittle
    ( structure T : MLTREE
-     structure MLTreeEval : MLTREE_EVAL
-			    where T = T
+     structure MLTreeEval : MLTREE_EVAL (* where T = T *)
+                            where type T.Basis.cond = T.Basis.cond
+                              and type T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                              and type T.Basis.ext = T.Basis.ext
+                              and type T.Basis.fcond = T.Basis.fcond
+                              and type T.Basis.rounding_mode = T.Basis.rounding_mode
+                              and type T.Constant.const = T.Constant.const
+                              and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                              and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                              and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                              and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                              and type T.I.div_rounding_mode = T.I.div_rounding_mode
+                              and type T.Region.region = T.Region.region
+                              and type T.ccexp = T.ccexp
+                              and type T.fexp = T.fexp
+                              (* and type T.labexp = T.labexp *)
+                              and type T.mlrisc = T.mlrisc
+                              and type T.oper = T.oper
+                              and type T.rep = T.rep
+                              and type T.rexp = T.rexp
+                              and type T.stm = T.stm
      val icache_alignment : int		(* cache line size *)
      val max_alignment : int option	(* maximum alignment for internal labels *)
      val nop: {sz:int, en:Word32.word}	(* encoding for noop *)
diff -Naur MLRISC/flowgraph/pseudo-ops.sig MLRISC-mlton/flowgraph/pseudo-ops.sig
--- MLRISC/flowgraph/pseudo-ops.sig	2001-11-22 06:25:11.000000000 -0800
+++ MLRISC-mlton/flowgraph/pseudo-ops.sig	2006-10-25 16:55:11.000000000 -0700
@@ -8,7 +8,27 @@
 
 signature PSEUDO_OPS = sig
   structure T : MLTREE
-  structure Client : CLIENT_PSEUDO_OPS where AsmPseudoOps.T = T
+  structure Client : CLIENT_PSEUDO_OPS (* where AsmPseudoOps.T = T *)
+                     where type AsmPseudoOps.T.Basis.cond = T.Basis.cond
+                       and type AsmPseudoOps.T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                       and type AsmPseudoOps.T.Basis.ext = T.Basis.ext
+                       and type AsmPseudoOps.T.Basis.fcond = T.Basis.fcond
+                       and type AsmPseudoOps.T.Basis.rounding_mode = T.Basis.rounding_mode
+                       and type AsmPseudoOps.T.Constant.const = T.Constant.const
+                       and type ('s,'r,'f,'c) AsmPseudoOps.T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                       and type ('s,'r,'f,'c) AsmPseudoOps.T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                       and type ('s,'r,'f,'c) AsmPseudoOps.T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                       and type ('s,'r,'f,'c) AsmPseudoOps.T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                       and type AsmPseudoOps.T.I.div_rounding_mode = T.I.div_rounding_mode
+                       and type AsmPseudoOps.T.Region.region = T.Region.region
+                       and type AsmPseudoOps.T.ccexp = T.ccexp
+                       and type AsmPseudoOps.T.fexp = T.fexp
+                       (* and type AsmPseudoOps.T.labexp = T.labexp *)
+                       and type AsmPseudoOps.T.mlrisc = T.mlrisc
+                       and type AsmPseudoOps.T.oper = T.oper
+                       and type AsmPseudoOps.T.rep = T.rep
+                       and type AsmPseudoOps.T.rexp = T.rexp
+                       and type AsmPseudoOps.T.stm = T.stm
 
   type pseudo_op = (T.labexp, Client.pseudo_op) PseudoOpsBasisTyp.pseudo_op
 
diff -Naur MLRISC/frequencies/compute-freqs-fn.sml MLRISC-mlton/frequencies/compute-freqs-fn.sml
--- MLRISC/frequencies/compute-freqs-fn.sml	2003-05-22 15:46:20.000000000 -0700
+++ MLRISC-mlton/frequencies/compute-freqs-fn.sml	2006-10-25 16:55:11.000000000 -0700
@@ -40,9 +40,9 @@
 
   (***** Representation of equations *****)
     type var = Graph.node_id
+    type term = (real * var)
+    type sum = {terms : term list, c : real}
     datatype def = Unknown | Sum of sum
-    withtype term = (real * var)
-	 and sum = {terms : term list, c : real}
 
     val zero = {c = 0.0, terms = []}
     val one = {c = 1.0, terms = []}
diff -Naur MLRISC/gc-safety/gc-cells.sig MLRISC-mlton/gc-safety/gc-cells.sig
--- MLRISC/gc-safety/gc-cells.sig	2001-07-19 13:35:14.000000000 -0700
+++ MLRISC-mlton/gc-safety/gc-cells.sig	2006-10-25 16:55:11.000000000 -0700
@@ -8,7 +8,16 @@
 
    structure C  : CELLS
    structure GC : GC_TYPE
-   structure CB : CELLS_BASIS = CellsBasis
+   structure CB : CELLS_BASIS (* = CellsBasis *)
+                  where type CellSet.cellset = CellsBasis.CellSet.cellset
+                    and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                    and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                    and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                    and type cell = CellsBasis.cell
+                    and type cellColor = CellsBasis.cellColor
+                    and type cellkind = CellsBasis.cellkind
+                    and type cellkindDesc = CellsBasis.cellkindDesc
+                    and type cellkindInfo = CellsBasis.cellkindInfo
 
    (* Generate a virtual register and update the gc info at the same time. *)
    val newCell   : CB.cellkind -> GC.gctype -> CB.cell
diff -Naur MLRISC/graphs/bigraph.sig MLRISC-mlton/graphs/bigraph.sig
--- MLRISC/graphs/bigraph.sig	2000-06-01 11:33:07.000000000 -0700
+++ MLRISC-mlton/graphs/bigraph.sig	2006-10-25 16:55:11.000000000 -0700
@@ -9,8 +9,7 @@
 
    include GRAPH
 
-   datatype ('m,'n,'e,'g) bigraph = BIGRAPH of ('m,'n,'e,'g) bigraph_methods
-   withtype ('m,'n,'e,'g) bigraph_methods =
+   type ('m,'n,'e,'g) bigraph_methods =
        {  name        : string,
           graph_info  : 'g,
 
@@ -50,5 +49,6 @@
           forall_dst   : ('n node -> unit) -> unit,
           forall_edges : ('e edge -> unit) -> unit
        }
+   datatype ('m,'n,'e,'g) bigraph = BIGRAPH of ('m,'n,'e,'g) bigraph_methods
 end
 
diff -Naur MLRISC/graphs/digraph.sml MLRISC-mlton/graphs/digraph.sml
--- MLRISC/graphs/digraph.sml	2003-09-05 14:34:24.000000000 -0700
+++ MLRISC-mlton/graphs/digraph.sml	2006-10-25 16:55:11.000000000 -0700
@@ -7,7 +7,33 @@
  * -- Allen
  *)
 
-functor DirectedGraph(A : ARRAY) : 
+functor DirectedGraph(A : sig type 'a array
+                              type 'a vector
+                                 
+                              val all: ('a -> bool) -> 'a array -> bool
+                              val app: ('a -> unit) -> 'a array -> unit 
+                              val appi: (int * 'a -> unit) -> 'a array -> unit 
+                              val array: int * 'a -> 'a array 
+                              val collate: ('a * 'a -> order) -> 'a array * 'a array -> order
+                              val copy: {src: 'a array, dst: 'a array, di: int} -> unit 
+                              val copyVec: {src: 'a vector, dst: 'a array, di: int} -> unit 
+                              val exists: ('a -> bool) -> 'a array -> bool
+                              val find: ('a -> bool) -> 'a array -> 'a option
+                              val findi: (int * 'a -> bool) -> 'a array -> (int * 'a) option
+                              val foldl: ('a * 'b -> 'b) -> 'b -> 'a array -> 'b 
+                              val foldli: (int * 'a * 'b -> 'b) -> 'b -> 'a array -> 'b
+                              val foldr: ('a * 'b -> 'b) -> 'b -> 'a array -> 'b 
+                              val foldri: (int * 'a * 'b -> 'b) -> 'b -> 'a array -> 'b
+                              val fromList: 'a list -> 'a array 
+                              val length: 'a array -> int 
+                              val maxLen: int 
+                              val modify: ('a -> 'a) -> 'a array -> unit 
+                              val modifyi: (int * 'a -> 'a) -> 'a array -> unit 
+                              val sub: 'a array * int -> 'a 
+                              val tabulate: int * (int -> 'a) -> 'a array 
+                              val update: 'a array * int * 'a -> unit 
+                              val vector: 'a array -> 'a vector
+                          end) : 
 sig include GRAPH_IMPLEMENTATION 
 
     type 'e adjlist   = 'e Graph.edge list A.array
diff -Naur MLRISC/graphs/graph.sig MLRISC-mlton/graphs/graph.sig
--- MLRISC/graphs/graph.sig	2002-03-01 13:05:07.000000000 -0800
+++ MLRISC-mlton/graphs/graph.sig	2006-10-25 16:55:11.000000000 -0700
@@ -25,8 +25,7 @@
    type 'n node = node_id * 'n 
    type 'e edge = node_id * node_id * 'e
 
-   datatype ('n,'e,'g) graph = GRAPH of ('n,'e,'g) graph_methods
-   withtype ('n,'e,'g) graph_methods = 
+   type ('n,'e,'g) graph_methods = 
        {  name            : string,
           graph_info      : 'g,
 
@@ -65,6 +64,7 @@
           forall_nodes    : ('n node -> unit) -> unit,
           forall_edges    : ('e edge -> unit) -> unit
        }
+   datatype ('n,'e,'g) graph = GRAPH of ('n,'e,'g) graph_methods
    val unimplemented : 'a -> 'b
 
          (* remove one edge i->j from graph *)
diff -Naur MLRISC/hppa/backpatch/hppaDelaySlotProps.sml MLRISC-mlton/hppa/backpatch/hppaDelaySlotProps.sml
--- MLRISC/hppa/backpatch/hppaDelaySlotProps.sml	2001-12-06 18:45:27.000000000 -0800
+++ MLRISC-mlton/hppa/backpatch/hppaDelaySlotProps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -4,7 +4,12 @@
 
 functor HppaDelaySlots
    (structure I : HPPAINSTR
-    structure P : INSN_PROPERTIES where I = I
+    structure P : INSN_PROPERTIES (* where I = I *)
+                  where type I.addressing_mode = I.addressing_mode
+                    and type I.ea = I.ea
+                    and type I.instr = I.instr
+                    and type I.instruction = I.instruction
+                    and type I.operand = I.operand
    ) : DELAY_SLOT_PROPERTIES =
 struct
    structure I  = I
@@ -100,11 +105,19 @@
         in  clash(defUseInt) orelse clash(defUseReal) 
         end
 
-    fun delaySlotCandidate{jmp,delaySlot=
-             (  I.INSTR(I.BCOND _) | I.INSTR(I.BCONDI _) | I.INSTR(I.BB _) | I.INSTR(I.FBRANCH _) 
-              | I.INSTR(I.BV _) | I.INSTR(I.BE _) | I.INSTR(I.COMCLR_LDO _) | I.INSTR(I.COMICLR_LDO _) 
-	      | I.INSTR(I.B _) | I.INSTR(I.LONGJUMP _) | I.INSTR(I.BLR _) | I.INSTR(I.BL _) 
-	      | I.INSTR(I.BLE _))} = false
+    fun delaySlotCandidate{jmp,delaySlot=I.INSTR(I.BCOND _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.BCONDI _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.BB _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.FBRANCH _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.BV _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.BE _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.COMCLR_LDO _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.COMICLR_LDO _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.B _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.LONGJUMP _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.BLR _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.BL _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.BLE _)} = false
       | delaySlotCandidate{jmp=I.ANNOTATION{i,...},delaySlot} = 
            delaySlotCandidate{jmp=i,delaySlot=delaySlot}
       | delaySlotCandidate{jmp,delaySlot=I.ANNOTATION{i,...}} = 
diff -Naur MLRISC/hppa/backpatch/hppaJumps.sml MLRISC-mlton/hppa/backpatch/hppaJumps.sml
--- MLRISC/hppa/backpatch/hppaJumps.sml	2003-05-22 15:46:20.000000000 -0700
+++ MLRISC-mlton/hppa/backpatch/hppaJumps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -5,10 +5,75 @@
  *)
 functor HppaJumps
   ( structure Instr:HPPAINSTR
-    structure Shuffle:HPPASHUFFLE 
-			 where I = Instr
-    structure MLTreeEval : MLTREE_EVAL 
-		         where T = Instr.T
+    structure Shuffle:HPPASHUFFLE (* where I = Instr *)
+                      where type I.Constant.const = Instr.Constant.const
+                        and type I.Region.region = Instr.Region.region
+                        and type I.T.Basis.cond = Instr.T.Basis.cond
+                        and type I.T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                        and type I.T.Basis.ext = Instr.T.Basis.ext
+                        and type I.T.Basis.fcond = Instr.T.Basis.fcond
+                        and type I.T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                        and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                        and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                        and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                        and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                        and type I.T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                        and type I.T.ccexp = Instr.T.ccexp
+                        and type I.T.fexp = Instr.T.fexp
+                        (* and type I.T.labexp = Instr.T.labexp *)
+                        and type I.T.mlrisc = Instr.T.mlrisc
+                        and type I.T.oper = Instr.T.oper
+                        and type I.T.rep = Instr.T.rep
+                        and type I.T.rexp = Instr.T.rexp
+                        and type I.T.stm = Instr.T.stm
+                        and type I.addressing_mode = Instr.addressing_mode
+                        and type I.arith = Instr.arith
+                        and type I.arithi = Instr.arithi
+                        and type I.bcond = Instr.bcond
+                        and type I.bitcond = Instr.bitcond
+                        and type I.cmp = Instr.cmp
+                        and type I.cmpi = Instr.cmpi
+                        and type I.ea = Instr.ea
+                        and type I.farith = Instr.farith
+                        and type I.fcnv = Instr.fcnv
+                        and type I.fcond = Instr.fcond
+                        and type I.field_selector = Instr.field_selector
+                        and type I.fload = Instr.fload
+                        and type I.floadx = Instr.floadx
+                        and type I.fmt = Instr.fmt
+                        and type I.fstore = Instr.fstore
+                        and type I.fstorex = Instr.fstorex
+                        and type I.funary = Instr.funary
+                        and type I.instr = Instr.instr
+                        and type I.instruction = Instr.instruction
+                        and type I.load = Instr.load
+                        and type I.loadi = Instr.loadi
+                        and type I.operand = Instr.operand
+                        and type I.scond = Instr.scond
+                        and type I.shift = Instr.shift
+                        and type I.shiftv = Instr.shiftv
+                        and type I.store = Instr.store
+    structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                           where type T.Basis.cond = Instr.T.Basis.cond
+                             and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                             and type T.Basis.ext = Instr.T.Basis.ext
+                             and type T.Basis.fcond = Instr.T.Basis.fcond
+                             and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                             and type T.Constant.const = Instr.T.Constant.const
+                             and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                             and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                             and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                             and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                             and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                             and type T.Region.region = Instr.T.Region.region
+                             and type T.ccexp = Instr.T.ccexp
+                             and type T.fexp = Instr.T.fexp
+                             (* and type T.labexp = Instr.T.labexp *)
+                             and type T.mlrisc = Instr.T.mlrisc
+                             and type T.oper = Instr.T.oper
+                             and type T.rep = Instr.T.rep
+                             and type T.rexp = Instr.T.rexp
+                             and type T.stm = Instr.T.stm
   ) : SDI_JUMPS =				
 struct
   structure I = Instr
diff -Naur MLRISC/hppa/emit/hppaAsm.sml MLRISC-mlton/hppa/emit/hppaAsm.sml
--- MLRISC/hppa/emit/hppaAsm.sml	2002-05-18 11:21:52.000000000 -0700
+++ MLRISC-mlton/hppa/emit/hppaAsm.sml	2006-10-25 16:55:11.000000000 -0700
@@ -6,12 +6,96 @@
 
 
 functor HppaAsmEmitter(structure S : INSTRUCTION_STREAM
-                       structure Instr : HPPAINSTR
-                          where T = S.P.T
-                       structure Shuffle : HPPASHUFFLE
-                          where I = Instr
-                       structure MLTreeEval : MLTREE_EVAL
-                          where T = Instr.T
+                       structure Instr : HPPAINSTR (* where T = S.P.T *)
+                                         where type T.Basis.cond = S.P.T.Basis.cond
+                                           and type T.Basis.div_rounding_mode = S.P.T.Basis.div_rounding_mode
+                                           and type T.Basis.ext = S.P.T.Basis.ext
+                                           and type T.Basis.fcond = S.P.T.Basis.fcond
+                                           and type T.Basis.rounding_mode = S.P.T.Basis.rounding_mode
+                                           and type T.Constant.const = S.P.T.Constant.const
+                                           and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) S.P.T.Extension.ccx
+                                           and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) S.P.T.Extension.fx
+                                           and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) S.P.T.Extension.rx
+                                           and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) S.P.T.Extension.sx
+                                           and type T.I.div_rounding_mode = S.P.T.I.div_rounding_mode
+                                           and type T.Region.region = S.P.T.Region.region
+                                           and type T.ccexp = S.P.T.ccexp
+                                           and type T.fexp = S.P.T.fexp
+                                           (* and type T.labexp = S.P.T.labexp *)
+                                           and type T.mlrisc = S.P.T.mlrisc
+                                           and type T.oper = S.P.T.oper
+                                           and type T.rep = S.P.T.rep
+                                           and type T.rexp = S.P.T.rexp
+                                           and type T.stm = S.P.T.stm
+                       structure Shuffle : HPPASHUFFLE (* where I = Instr *)
+                                           where type I.Constant.const = Instr.Constant.const
+                                             and type I.Region.region = Instr.Region.region
+                                             and type I.T.Basis.cond = Instr.T.Basis.cond
+                                             and type I.T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                             and type I.T.Basis.ext = Instr.T.Basis.ext
+                                             and type I.T.Basis.fcond = Instr.T.Basis.fcond
+                                             and type I.T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                             and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                             and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                             and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                             and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                             and type I.T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                             and type I.T.ccexp = Instr.T.ccexp
+                                             and type I.T.fexp = Instr.T.fexp
+                                             (* and type I.T.labexp = Instr.T.labexp *)
+                                             and type I.T.mlrisc = Instr.T.mlrisc
+                                             and type I.T.oper = Instr.T.oper
+                                             and type I.T.rep = Instr.T.rep
+                                             and type I.T.rexp = Instr.T.rexp
+                                             and type I.T.stm = Instr.T.stm
+                                             and type I.addressing_mode = Instr.addressing_mode
+                                             and type I.arith = Instr.arith
+                                             and type I.arithi = Instr.arithi
+                                             and type I.bcond = Instr.bcond
+                                             and type I.bitcond = Instr.bitcond
+                                             and type I.cmp = Instr.cmp
+                                             and type I.cmpi = Instr.cmpi
+                                             and type I.ea = Instr.ea
+                                             and type I.farith = Instr.farith
+                                             and type I.fcnv = Instr.fcnv
+                                             and type I.fcond = Instr.fcond
+                                             and type I.field_selector = Instr.field_selector
+                                             and type I.fload = Instr.fload
+                                             and type I.floadx = Instr.floadx
+                                             and type I.fmt = Instr.fmt
+                                             and type I.fstore = Instr.fstore
+                                             and type I.fstorex = Instr.fstorex
+                                             and type I.funary = Instr.funary
+                                             and type I.instr = Instr.instr
+                                             and type I.instruction = Instr.instruction
+                                             and type I.load = Instr.load
+                                             and type I.loadi = Instr.loadi
+                                             and type I.operand = Instr.operand
+                                             and type I.scond = Instr.scond
+                                             and type I.shift = Instr.shift
+                                             and type I.shiftv = Instr.shiftv
+                                             and type I.store = Instr.store
+                       structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                                              where type T.Basis.cond = Instr.T.Basis.cond
+                                                and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                                and type T.Basis.ext = Instr.T.Basis.ext
+                                                and type T.Basis.fcond = Instr.T.Basis.fcond
+                                                and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                                and type T.Constant.const = Instr.T.Constant.const
+                                                and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                                and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                                and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                                and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                                and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                                and type T.Region.region = Instr.T.Region.region
+                                                and type T.ccexp = Instr.T.ccexp
+                                                and type T.fexp = Instr.T.fexp
+                                                (* and type T.labexp = Instr.T.labexp *)
+                                                and type T.mlrisc = Instr.T.mlrisc
+                                                and type T.oper = Instr.T.oper
+                                                and type T.rep = Instr.T.rep
+                                                and type T.rexp = Instr.T.rexp
+                                                and type T.stm = Instr.T.stm
                       ) : INSTRUCTION_EMITTER =
 struct
    structure I  = Instr
diff -Naur MLRISC/hppa/emit/hppaMC.sml MLRISC-mlton/hppa/emit/hppaMC.sml
--- MLRISC/hppa/emit/hppaMC.sml	2002-05-18 11:21:53.000000000 -0700
+++ MLRISC-mlton/hppa/emit/hppaMC.sml	2006-10-25 16:55:11.000000000 -0700
@@ -6,7 +6,27 @@
 
 
 functor HppaMCEmitter(structure Instr : HPPAINSTR
-                      structure MLTreeEval : MLTREE_EVAL where T = Instr.T
+                      structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                                             where type T.Basis.cond = Instr.T.Basis.cond
+                                               and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                               and type T.Basis.ext = Instr.T.Basis.ext
+                                               and type T.Basis.fcond = Instr.T.Basis.fcond
+                                               and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                               and type T.Constant.const = Instr.T.Constant.const
+                                               and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                               and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                               and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                               and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                               and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                               and type T.Region.region = Instr.T.Region.region
+                                               and type T.ccexp = Instr.T.ccexp
+                                               and type T.fexp = Instr.T.fexp
+                                               (* and type T.labexp = Instr.T.labexp *)
+                                               and type T.mlrisc = Instr.T.mlrisc
+                                               and type T.oper = Instr.T.oper
+                                               and type T.rep = Instr.T.rep
+                                               and type T.rexp = Instr.T.rexp
+                                               and type T.stm = Instr.T.stm
                       structure Stream : INSTRUCTION_STREAM 
                       structure CodeString : CODE_STRING
                      ) : INSTRUCTION_EMITTER =
@@ -47,6 +67,7 @@
        (* note: fromLargeWord strips the high order bits! *)
        fun eByteW w =
        let val i = !loc
+           val w = W.toLargeWord w
        in loc := i + 1; CodeString.update(i,Word8.fromLargeWord w) end
    
        fun doNothing _ = ()
diff -Naur MLRISC/hppa/flowgraph/hppaGasPseudoOps.sml MLRISC-mlton/hppa/flowgraph/hppaGasPseudoOps.sml
--- MLRISC/hppa/flowgraph/hppaGasPseudoOps.sml	2001-11-21 10:41:50.000000000 -0800
+++ MLRISC-mlton/hppa/flowgraph/hppaGasPseudoOps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -1,6 +1,26 @@
 functor HppaGasPseudoOps 
    ( structure T : MLTREE
-     structure MLTreeEval : MLTREE_EVAL  where T = T
+     structure MLTreeEval : MLTREE_EVAL (* where T = T *)
+                            where type T.Basis.cond = T.Basis.cond
+                              and type T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                              and type T.Basis.ext = T.Basis.ext
+                              and type T.Basis.fcond = T.Basis.fcond
+                              and type T.Basis.rounding_mode = T.Basis.rounding_mode
+                              and type T.Constant.const = T.Constant.const
+                              and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                              and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                              and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                              and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                              and type T.I.div_rounding_mode = T.I.div_rounding_mode
+                              and type T.Region.region = T.Region.region
+                              and type T.ccexp = T.ccexp
+                              and type T.fexp = T.fexp
+                              (* and type T.labexp = T.labexp *)
+                              and type T.mlrisc = T.mlrisc
+                              and type T.oper = T.oper
+                              and type T.rep = T.rep
+                              and type T.rexp = T.rexp
+                              and type T.stm = T.stm
     ) : PSEUDO_OPS_BASIS = 
 
 struct
diff -Naur MLRISC/hppa/instructions/hppaInstr.sml MLRISC-mlton/hppa/instructions/hppaInstr.sml
--- MLRISC/hppa/instructions/hppaInstr.sml	2002-01-23 21:45:16.000000000 -0800
+++ MLRISC-mlton/hppa/instructions/hppaInstr.sml	2006-10-25 16:55:11.000000000 -0700
@@ -8,7 +8,16 @@
 signature HPPAINSTR =
 sig
    structure C : HPPACELLS
-   structure CB : CELLS_BASIS = CellsBasis
+   structure CB : CELLS_BASIS (* = CellsBasis *)
+                  where type CellSet.cellset = CellsBasis.CellSet.cellset
+                    and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                    and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                    and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                    and type cell = CellsBasis.cell
+                    and type cellColor = CellsBasis.cellColor
+                    and type cellkind = CellsBasis.cellkind
+                    and type cellkindDesc = CellsBasis.cellkindDesc
+                    and type cellkindInfo = CellsBasis.cellkindInfo
    structure T : MLTREE
    structure Constant: CONSTANT
    structure Region : REGION
diff -Naur MLRISC/hppa/instructions/hppaProps.sml MLRISC-mlton/hppa/instructions/hppaProps.sml
--- MLRISC/hppa/instructions/hppaProps.sml	2003-05-22 15:46:20.000000000 -0700
+++ MLRISC-mlton/hppa/instructions/hppaProps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -6,8 +6,48 @@
 
 functor HppaProps
    ( structure HppaInstr : HPPAINSTR
-     structure MLTreeEval : MLTREE_EVAL where T = HppaInstr.T
-     structure MLTreeHash : MLTREE_HASH where T = HppaInstr.T
+     structure MLTreeEval : MLTREE_EVAL (* where T = HppaInstr.T *)
+                            where type T.Basis.cond = HppaInstr.T.Basis.cond
+                              and type T.Basis.div_rounding_mode = HppaInstr.T.Basis.div_rounding_mode
+                              and type T.Basis.ext = HppaInstr.T.Basis.ext
+                              and type T.Basis.fcond = HppaInstr.T.Basis.fcond
+                              and type T.Basis.rounding_mode = HppaInstr.T.Basis.rounding_mode
+                              and type T.Constant.const = HppaInstr.T.Constant.const
+                              and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) HppaInstr.T.Extension.ccx
+                              and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) HppaInstr.T.Extension.fx
+                              and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) HppaInstr.T.Extension.rx
+                              and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) HppaInstr.T.Extension.sx
+                              and type T.I.div_rounding_mode = HppaInstr.T.I.div_rounding_mode
+                              and type T.Region.region = HppaInstr.T.Region.region
+                              and type T.ccexp = HppaInstr.T.ccexp
+                              and type T.fexp = HppaInstr.T.fexp
+                              (* and type T.labexp = HppaInstr.T.labexp *)
+                              and type T.mlrisc = HppaInstr.T.mlrisc
+                              and type T.oper = HppaInstr.T.oper
+                              and type T.rep = HppaInstr.T.rep
+                              and type T.rexp = HppaInstr.T.rexp
+                              and type T.stm = HppaInstr.T.stm
+     structure MLTreeHash : MLTREE_HASH (* where T = HppaInstr.T *)
+                            where type T.Basis.cond = HppaInstr.T.Basis.cond
+                              and type T.Basis.div_rounding_mode = HppaInstr.T.Basis.div_rounding_mode
+                              and type T.Basis.ext = HppaInstr.T.Basis.ext
+                              and type T.Basis.fcond = HppaInstr.T.Basis.fcond
+                              and type T.Basis.rounding_mode = HppaInstr.T.Basis.rounding_mode
+                              and type T.Constant.const = HppaInstr.T.Constant.const
+                              and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) HppaInstr.T.Extension.ccx
+                              and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) HppaInstr.T.Extension.fx
+                              and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) HppaInstr.T.Extension.rx
+                              and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) HppaInstr.T.Extension.sx
+                              and type T.I.div_rounding_mode = HppaInstr.T.I.div_rounding_mode
+                              and type T.Region.region = HppaInstr.T.Region.region
+                              and type T.ccexp = HppaInstr.T.ccexp
+                              and type T.fexp = HppaInstr.T.fexp
+                              (* and type T.labexp = HppaInstr.T.labexp *)
+                              and type T.mlrisc = HppaInstr.T.mlrisc
+                              and type T.oper = HppaInstr.T.oper
+                              and type T.rep = HppaInstr.T.rep
+                              and type T.rexp = HppaInstr.T.rexp
+                              and type T.stm = HppaInstr.T.stm
     ) : INSN_PROPERTIES = 
 struct
   structure I = HppaInstr
@@ -206,9 +246,12 @@
    *========================================================================*)
   fun defUseR instr = let
     fun hppaDU instr = let
-      fun trap((I.ADDO | I.SUBO | I.SH1ADDO), d, u) = (d, u)
+      fun trap(I.ADDO, d, u) = (d, u)
+        | trap(I.SUBO, d, u) = (d, u)
+        | trap(I.SH1ADDO, d, u) = (d, u)
 	| trap(_, d, u) = (d, u)
-      fun trapi((I.ADDIO | I.SUBIO), d, u) = (d, u)
+      fun trapi(I.ADDIO, d, u) = (d, u)
+        | trapi(I.SUBIO, d, u) = (d, u)
 	| trapi(_, d, u) = (d, u)
     in
       case instr
diff -Naur MLRISC/hppa/mltree/hppaMillicode.sig MLRISC-mlton/hppa/mltree/hppaMillicode.sig
--- MLRISC/hppa/mltree/hppaMillicode.sig	2001-07-19 13:35:14.000000000 -0700
+++ MLRISC-mlton/hppa/mltree/hppaMillicode.sig	2006-10-25 16:55:11.000000000 -0700
@@ -1,6 +1,15 @@
 signature HPPA_MILLICODE = sig
   structure I : HPPAINSTR
-  structure CB : CELLS_BASIS =  CellsBasis
+  structure CB : CELLS_BASIS (* = CellsBasis *)
+                 where type CellSet.cellset = CellsBasis.CellSet.cellset
+                   and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                   and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                   and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                   and type cell = CellsBasis.cell
+                   and type cellColor = CellsBasis.cellColor
+                   and type cellkind = CellsBasis.cellkind
+                   and type cellkindDesc = CellsBasis.cellkindDesc
+                   and type cellkindInfo = CellsBasis.cellkindInfo
 
   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-17 13:07:34.000000000 -0800
+++ MLRISC-mlton/hppa/mltree/hppa.sml	2006-10-25 16:55:11.000000000 -0700
@@ -14,14 +14,106 @@
 
 functor Hppa
   (structure HppaInstr : HPPAINSTR
-   structure ExtensionComp : MLTREE_EXTENSION_COMP
-      		where I = HppaInstr 
-		  and T = HppaInstr.T
-   structure MilliCode : HPPA_MILLICODE
-      		where I = HppaInstr
-   structure LabelComp : LABEL_COMP 
-   		where I = HppaInstr  
-		  and T = HppaInstr.T
+   structure ExtensionComp : MLTREE_EXTENSION_COMP (* where I = HppaInstr and T = HppaInstr.T *)
+                             where type I.addressing_mode = HppaInstr.addressing_mode
+                               and type I.ea = HppaInstr.ea
+                               and type I.instr = HppaInstr.instr
+                               and type I.instruction = HppaInstr.instruction
+                               and type I.operand = HppaInstr.operand
+                             where type T.Basis.cond = HppaInstr.T.Basis.cond
+                               and type T.Basis.div_rounding_mode = HppaInstr.T.Basis.div_rounding_mode
+                               and type T.Basis.ext = HppaInstr.T.Basis.ext
+                               and type T.Basis.fcond = HppaInstr.T.Basis.fcond
+                               and type T.Basis.rounding_mode = HppaInstr.T.Basis.rounding_mode
+                               and type T.Constant.const = HppaInstr.T.Constant.const
+                               and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) HppaInstr.T.Extension.ccx
+                               and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) HppaInstr.T.Extension.fx
+                               and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) HppaInstr.T.Extension.rx
+                               and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) HppaInstr.T.Extension.sx
+                               and type T.I.div_rounding_mode = HppaInstr.T.I.div_rounding_mode
+                               and type T.Region.region = HppaInstr.T.Region.region
+                               and type T.ccexp = HppaInstr.T.ccexp
+                               and type T.fexp = HppaInstr.T.fexp
+                               (* and type T.labexp = HppaInstr.T.labexp *)
+                               and type T.mlrisc = HppaInstr.T.mlrisc
+                               and type T.oper = HppaInstr.T.oper
+                               and type T.rep = HppaInstr.T.rep
+                               and type T.rexp = HppaInstr.T.rexp
+                               and type T.stm = HppaInstr.T.stm
+   structure MilliCode : HPPA_MILLICODE (* where I = HppaInstr *)
+                         where type I.Constant.const = HppaInstr.Constant.const
+                           and type I.Region.region = HppaInstr.Region.region
+                           and type I.T.Basis.cond = HppaInstr.T.Basis.cond
+                           and type I.T.Basis.div_rounding_mode = HppaInstr.T.Basis.div_rounding_mode
+                           and type I.T.Basis.ext = HppaInstr.T.Basis.ext
+                           and type I.T.Basis.fcond = HppaInstr.T.Basis.fcond
+                           and type I.T.Basis.rounding_mode = HppaInstr.T.Basis.rounding_mode
+                           and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) HppaInstr.T.Extension.ccx
+                           and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) HppaInstr.T.Extension.fx
+                           and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) HppaInstr.T.Extension.rx
+                           and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) HppaInstr.T.Extension.sx
+                           and type I.T.I.div_rounding_mode = HppaInstr.T.I.div_rounding_mode
+                           and type I.T.ccexp = HppaInstr.T.ccexp
+                           and type I.T.fexp = HppaInstr.T.fexp
+                           (* and type I.T.labexp = HppaInstr.T.labexp *)
+                           and type I.T.mlrisc = HppaInstr.T.mlrisc
+                           and type I.T.oper = HppaInstr.T.oper
+                           and type I.T.rep = HppaInstr.T.rep
+                           and type I.T.rexp = HppaInstr.T.rexp
+                           and type I.T.stm = HppaInstr.T.stm
+                           and type I.addressing_mode = HppaInstr.addressing_mode
+                           and type I.arith = HppaInstr.arith
+                           and type I.arithi = HppaInstr.arithi
+                           and type I.bcond = HppaInstr.bcond
+                           and type I.bitcond = HppaInstr.bitcond
+                           and type I.cmp = HppaInstr.cmp
+                           and type I.cmpi = HppaInstr.cmpi
+                           and type I.ea = HppaInstr.ea
+                           and type I.farith = HppaInstr.farith
+                           and type I.fcnv = HppaInstr.fcnv
+                           and type I.fcond = HppaInstr.fcond
+                           and type I.field_selector = HppaInstr.field_selector
+                           and type I.fload = HppaInstr.fload
+                           and type I.floadx = HppaInstr.floadx
+                           and type I.fmt = HppaInstr.fmt
+                           and type I.fstore = HppaInstr.fstore
+                           and type I.fstorex = HppaInstr.fstorex
+                           and type I.funary = HppaInstr.funary
+                           and type I.instr = HppaInstr.instr
+                           and type I.instruction = HppaInstr.instruction
+                           and type I.load = HppaInstr.load
+                           and type I.loadi = HppaInstr.loadi
+                           and type I.operand = HppaInstr.operand
+                           and type I.scond = HppaInstr.scond
+                           and type I.shift = HppaInstr.shift
+                           and type I.shiftv = HppaInstr.shiftv
+                           and type I.store = HppaInstr.store
+   structure LabelComp : LABEL_COMP (* where I = HppaInstr and T = HppaInstr.T *)
+                         where type I.addressing_mode = HppaInstr.addressing_mode
+                           and type I.ea = HppaInstr.ea
+                           and type I.instr = HppaInstr.instr
+                           and type I.instruction = HppaInstr.instruction
+                           and type I.operand = HppaInstr.operand
+                         where type T.Basis.cond = HppaInstr.T.Basis.cond
+                           and type T.Basis.div_rounding_mode = HppaInstr.T.Basis.div_rounding_mode
+                           and type T.Basis.ext = HppaInstr.T.Basis.ext
+                           and type T.Basis.fcond = HppaInstr.T.Basis.fcond
+                           and type T.Basis.rounding_mode = HppaInstr.T.Basis.rounding_mode
+                           and type T.Constant.const = HppaInstr.T.Constant.const
+                           and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) HppaInstr.T.Extension.ccx
+                           and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) HppaInstr.T.Extension.fx
+                           and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) HppaInstr.T.Extension.rx
+                           and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) HppaInstr.T.Extension.sx
+                           and type T.I.div_rounding_mode = HppaInstr.T.I.div_rounding_mode
+                           and type T.Region.region = HppaInstr.T.Region.region
+                           and type T.ccexp = HppaInstr.T.ccexp
+                           and type T.fexp = HppaInstr.T.fexp
+                           (* and type T.labexp = HppaInstr.T.labexp *)
+                           and type T.mlrisc = HppaInstr.T.mlrisc
+                           and type T.oper = HppaInstr.T.oper
+                           and type T.rep = HppaInstr.T.rep
+                           and type T.rexp = HppaInstr.T.rexp
+                           and type T.stm = HppaInstr.T.stm
    val costOfMultiply : int ref
    val costOfDivision : int ref
   ) : MLTREECOMP =
@@ -52,7 +144,9 @@
    fun mkfcopy{dst, src, tmp} =
        I.COPY{k=CB.FP, sz=64, dst=dst, src=src, tmp=tmp}
    structure W = Word32
-   functor Multiply32 = MLTreeMult
+
+   (* signed, trapping version of multiply and divide *)
+   structure Mult32 = MLTreeMult
     (structure I = I
      structure T = T
      structure CB = CB
@@ -65,11 +159,8 @@
      fun slli{r,i,d} = [I.shift{s=I.ZDEP,r=r,p=31-i,len=32-i,t=d}]
      fun srli{r,i,d} = [I.shift{s=I.EXTRU,r=r,p=31-i,len=32-i,t=d}]
      fun srai{r,i,d} = [I.shift{s=I.EXTRS,r=r,p=31-i,len=32-i,t=d}]
-    )
-
-   (* signed, trapping version of multiply and divide *)
-   structure Mult32 = Multiply32
-    (val trapping = true
+     
+     val trapping = true
      val multCost = costOfMultiply
      val divCost  = costOfDivision
      fun addv{r1,r2,d} = [I.arith{a=I.ADDO,r1=r1,r2=r2,t=d}]
@@ -77,12 +168,25 @@
      val sh1addv = SOME(fn{r1,r2,d} => [I.arith{a=I.SH1ADDO,r1=r1,r2=r2,t=d}])
      val sh2addv = SOME(fn{r1,r2,d} => [I.arith{a=I.SH2ADDO,r1=r1,r2=r2,t=d}])
      val sh3addv = SOME(fn{r1,r2,d} => [I.arith{a=I.SH3ADDO,r1=r1,r2=r2,t=d}])
-    )
-    (val signed = true)
+     
+     val signed = true)
 
    (* unsigned, non-trapping version of multiply and divide *)
-   structure Mulu32 = Multiply32
-    (val trapping = false
+   structure Mulu32 = MLTreeMult
+    (structure I = I
+     structure T = T
+     structure CB = CB
+     val intTy = 32
+     type arg  = {r1:CB.cell,r2:CB.cell,d:CB.cell}
+     type argi = {r:CB.cell,i:int,d:CB.cell}
+
+     fun mov{r,d} = mkcopy{dst=[d],src=[r],tmp=NONE}
+     fun add{r1,r2,d} = I.arith{a=I.ADD,r1=r1,r2=r2,t=d}
+     fun slli{r,i,d} = [I.shift{s=I.ZDEP,r=r,p=31-i,len=32-i,t=d}]
+     fun srli{r,i,d} = [I.shift{s=I.EXTRU,r=r,p=31-i,len=32-i,t=d}]
+     fun srai{r,i,d} = [I.shift{s=I.EXTRS,r=r,p=31-i,len=32-i,t=d}]
+     
+     val trapping = false
      val multCost = costOfMultiply
      val divCost  = costOfDivision
      fun addv{r1,r2,d} = [I.arith{a=I.ADD,r1=r1,r2=r2,t=d}]
@@ -90,12 +194,25 @@
      val sh1addv = SOME(fn{r1,r2,d} => [I.arith{a=I.SH1ADDL,r1=r1,r2=r2,t=d}])
      val sh2addv = SOME(fn{r1,r2,d} => [I.arith{a=I.SH2ADDL,r1=r1,r2=r2,t=d}])
      val sh3addv = SOME(fn{r1,r2,d} => [I.arith{a=I.SH3ADDL,r1=r1,r2=r2,t=d}])
-    )
-    (val signed   = false)
+     
+     val signed   = false)
 
    (* signed, non-trapping version of multiply and divide *)
-   structure Muls32 = Multiply32
-    (val trapping = false
+   structure Muls32 = MLTreeMult
+    (structure I = I
+     structure T = T
+     structure CB = CB
+     val intTy = 32
+     type arg  = {r1:CB.cell,r2:CB.cell,d:CB.cell}
+     type argi = {r:CB.cell,i:int,d:CB.cell}
+
+     fun mov{r,d} = mkcopy{dst=[d],src=[r],tmp=NONE}
+     fun add{r1,r2,d} = I.arith{a=I.ADD,r1=r1,r2=r2,t=d}
+     fun slli{r,i,d} = [I.shift{s=I.ZDEP,r=r,p=31-i,len=32-i,t=d}]
+     fun srli{r,i,d} = [I.shift{s=I.EXTRU,r=r,p=31-i,len=32-i,t=d}]
+     fun srai{r,i,d} = [I.shift{s=I.EXTRS,r=r,p=31-i,len=32-i,t=d}]
+     
+     val trapping = false
      val multCost = costOfMultiply
      val divCost  = costOfDivision
      fun addv{r1,r2,d} = [I.arith{a=I.ADD,r1=r1,r2=r2,t=d}]
@@ -103,8 +220,8 @@
      val sh1addv = SOME(fn{r1,r2,d} => [I.arith{a=I.SH1ADDL,r1=r1,r2=r2,t=d}])
      val sh2addv = SOME(fn{r1,r2,d} => [I.arith{a=I.SH2ADDL,r1=r1,r2=r2,t=d}])
      val sh3addv = SOME(fn{r1,r2,d} => [I.arith{a=I.SH3ADDL,r1=r1,r2=r2,t=d}])
-    )
-    (val signed   = true)
+     
+     val signed   = true)
 
    fun error msg = MLRiscErrorMsg.error("Hppa",msg)
 
diff -Naur MLRISC/instructions/insnProps.sig MLRISC-mlton/instructions/insnProps.sig
--- MLRISC/instructions/insnProps.sig	2002-03-11 19:56:22.000000000 -0800
+++ MLRISC-mlton/instructions/insnProps.sig	2006-10-25 16:55:11.000000000 -0700
@@ -7,7 +7,7 @@
 sig
    structure I : INSTRUCTIONS
    structure C : CELLS
-     sharing I.C = C
+     (* sharing I.C = C *)
 
       (* classify instructions *)
    datatype kind = IK_JUMP   (* branches, including returns *)
diff -Naur MLRISC/instructions/instructions.sig MLRISC-mlton/instructions/instructions.sig
--- MLRISC/instructions/instructions.sig	2002-01-15 08:23:14.000000000 -0800
+++ MLRISC-mlton/instructions/instructions.sig	2006-10-25 16:55:11.000000000 -0700
@@ -8,7 +8,16 @@
 signature INSTRUCTIONS =
 sig
    structure C   : CELLS
-   structure CB  :CELLS_BASIS = CellsBasis
+   structure CB  : CELLS_BASIS (* = CellsBasis *)
+                   where type CellSet.cellset = CellsBasis.CellSet.cellset
+                     and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                     and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                     and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                     and type cell = CellsBasis.cell
+                     and type cellColor = CellsBasis.cellColor
+                     and type cellkind = CellsBasis.cellkind
+                     and type cellkindDesc = CellsBasis.cellkindDesc
+                     and type cellkindInfo = CellsBasis.cellkindInfo
    type operand             (* operands supported by architecture *)
    type addressing_mode                        (* addressing mode *)
    type ea              (* effective address for accessing memory *)
diff -Naur MLRISC/instructions/mlriscAnnotations.sig MLRISC-mlton/instructions/mlriscAnnotations.sig
--- MLRISC/instructions/mlriscAnnotations.sig	2002-03-01 06:07:58.000000000 -0800
+++ MLRISC-mlton/instructions/mlriscAnnotations.sig	2006-10-25 16:55:11.000000000 -0700
@@ -15,7 +15,16 @@
 signature MLRISC_ANNOTATIONS =
 sig
 
-    structure C : CELLS_BASIS = CellsBasis
+    structure C : CELLS_BASIS (* = CellsBasis *)
+                  where type CellSet.cellset = CellsBasis.CellSet.cellset
+                    and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                    and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                    and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                    and type cell = CellsBasis.cell
+                    and type cellColor = CellsBasis.cellColor
+                    and type cellkind = CellsBasis.cellkind
+                    and type cellkindDesc = CellsBasis.cellkindDesc
+                    and type cellkindInfo = CellsBasis.cellkindInfo
 
     (* 
      * The branch probability of conditional branches. 
diff -Naur MLRISC/library/dynamic-array.sml MLRISC-mlton/library/dynamic-array.sml
--- MLRISC/library/dynamic-array.sml	2003-09-05 14:34:24.000000000 -0700
+++ MLRISC-mlton/library/dynamic-array.sml	2006-10-25 16:55:11.000000000 -0700
@@ -5,7 +5,33 @@
  *)
 
 structure DynArray : 
-  sig include ARRAY
+  sig type 'a array
+      type 'a vector
+
+      val all: ('a -> bool) -> 'a array -> bool
+      val app: ('a -> unit) -> 'a array -> unit 
+      val appi: (int * 'a -> unit) -> 'a array -> unit 
+      val array: int * 'a -> 'a array 
+      val collate: ('a * 'a -> order) -> 'a array * 'a array -> order
+      val copy: {src: 'a array, dst: 'a array, di: int} -> unit 
+      val copyVec: {src: 'a vector, dst: 'a array, di: int} -> unit 
+      val exists: ('a -> bool) -> 'a array -> bool
+      val find: ('a -> bool) -> 'a array -> 'a option
+      val findi: (int * 'a -> bool) -> 'a array -> (int * 'a) option
+      val foldl: ('a * 'b -> 'b) -> 'b -> 'a array -> 'b 
+      val foldli: (int * 'a * 'b -> 'b) -> 'b -> 'a array -> 'b
+      val foldr: ('a * 'b -> 'b) -> 'b -> 'a array -> 'b 
+      val foldri: (int * 'a * 'b -> 'b) -> 'b -> 'a array -> 'b
+      val fromList: 'a list -> 'a array 
+      val length: 'a array -> int 
+      val maxLen: int 
+      val modify: ('a -> 'a) -> 'a array -> unit 
+      val modifyi: (int * 'a -> 'a) -> 'a array -> unit 
+      val sub: 'a array * int -> 'a 
+      val tabulate: int * (int -> 'a) -> 'a array 
+      val update: 'a array * int * 'a -> unit 
+      val vector: 'a array -> 'a vector
+
       val fromArray : 'a Array.array * 'a * int -> 'a array
       val baseArray : 'a array -> 'a Array.array
       val checkArray: 'a array * 'a Array.array -> unit
diff -Naur MLRISC/library/hash-array.sml MLRISC-mlton/library/hash-array.sml
--- MLRISC/library/hash-array.sml	2003-09-05 14:34:24.000000000 -0700
+++ MLRISC-mlton/library/hash-array.sml	2006-10-25 16:55:11.000000000 -0700
@@ -5,7 +5,33 @@
  *)
 
 structure HashArray : 
-     sig include ARRAY
+     sig type 'a array
+         type 'a vector
+
+         val all: ('a -> bool) -> 'a array -> bool
+         val app: ('a -> unit) -> 'a array -> unit 
+         val appi: (int * 'a -> unit) -> 'a array -> unit 
+         val array: int * 'a -> 'a array 
+         val collate: ('a * 'a -> order) -> 'a array * 'a array -> order
+         val copy: {src: 'a array, dst: 'a array, di: int} -> unit 
+         val copyVec: {src: 'a vector, dst: 'a array, di: int} -> unit 
+         val exists: ('a -> bool) -> 'a array -> bool
+         val find: ('a -> bool) -> 'a array -> 'a option
+         val findi: (int * 'a -> bool) -> 'a array -> (int * 'a) option
+         val foldl: ('a * 'b -> 'b) -> 'b -> 'a array -> 'b 
+         val foldli: (int * 'a * 'b -> 'b) -> 'b -> 'a array -> 'b
+         val foldr: ('a * 'b -> 'b) -> 'b -> 'a array -> 'b 
+         val foldri: (int * 'a * 'b -> 'b) -> 'b -> 'a array -> 'b
+         val fromList: 'a list -> 'a array 
+         val length: 'a array -> int 
+         val maxLen: int 
+         val modify: ('a -> 'a) -> 'a array -> unit 
+         val modifyi: (int * 'a -> 'a) -> 'a array -> unit 
+         val sub: 'a array * int -> 'a 
+         val tabulate: int * (int -> 'a) -> 'a array 
+         val update: 'a array * int * 'a -> unit 
+         val vector: 'a array -> 'a vector
+
          val array' : int * (int -> 'a) -> 'a array
          val array'': int * (int -> 'a) -> 'a array
          val clear  : 'a array -> unit 
diff -Naur MLRISC/mlb/ALPHA.mlb MLRISC-mlton/mlb/ALPHA.mlb
--- MLRISC/mlb/ALPHA.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlb/ALPHA.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,476 @@
+
+ann
+  "nonexhaustiveMatch warn" "redundantMatch warn"
+  "sequenceNonUnit ignore"
+  "warnUnused false" "forceUsed"
+in
+
+local
+  basis l42 = 
+    bas
+      (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb
+    end
+  basis l137 = 
+    bas
+      (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
+    end
+  basis l4 = 
+    bas
+      (* $MLRISC.cm(=$SMLNJ-MLRISC)/MLRISC.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/MLRISC.mlb
+    end
+  basis l50 = 
+    bas
+      (* $Control.cm(=$SMLNJ-MLRISC)/Control.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Control.mlb
+    end
+  basis l9 = 
+    bas
+      (* $Lib.cm(=$SMLNJ-MLRISC)/Lib.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Lib.mlb
+    end
+in
+local
+   $(SML_LIB)/basis/pervasive.mlb
+   local
+      open l4
+   in
+      signature gs_0 = FREQUENCY_PROPERTIES
+   end
+   local
+      open l9
+   in
+      signature gs_1 = PROBABILITY
+      structure gs_2 = Probability
+   end
+   local
+      open l4
+   in
+      structure gs_3 = MLRiscAnnotations
+   end
+   local
+      open l4
+   in
+      signature gs_4 = REGION
+   end
+   local
+      open l4
+   in
+      signature gs_5 = CONSTANT
+   end
+   local
+      open l4
+   in
+      signature gs_6 = MLTREE
+   end
+   local
+      open l4
+   in
+      signature gs_7 = CELLS_BASIS
+   end
+   local
+      open l4
+   in
+      structure gs_8 = CellsBasis
+   end
+   local
+      open l4
+   in
+      structure gs_9 = Label
+   end
+   local
+      open l9
+   in
+      structure gs_10 = Annotations
+   end
+   local
+      open l4
+   in
+      functor gs_11 = Cells
+   end
+   local
+      open l42
+   in
+      structure gs_12 = Int
+   end
+   local
+      open l4
+   in
+      signature gs_13 = CELLS
+   end
+   local
+      open l50
+   in
+      signature gs_14 = MLRISC_ERROR_MSG
+      structure gs_15 = MLRiscErrorMsg
+   end
+   local
+      signature CELLS = gs_13
+      functor Cells = gs_11
+      structure CellsBasis = gs_8
+      structure Int = gs_12
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      ../alpha/instructions/alphaCells.sml
+   in
+      signature gs_16 = ALPHACELLS
+      structure gs_17 = AlphaCells
+   end
+   local
+      signature ALPHACELLS = gs_16
+      structure AlphaCells = gs_17
+      structure Annotations = gs_10
+      signature CELLS_BASIS = gs_7
+      signature CONSTANT = gs_5
+      structure CellsBasis = gs_8
+      structure Label = gs_9
+      signature MLTREE = gs_6
+      signature REGION = gs_4
+      ../alpha/instructions/alphaInstr.sml
+   in
+      signature gs_18 = ALPHAINSTR
+      functor gs_19 = AlphaInstr
+   end
+   local
+      signature ALPHAINSTR = gs_18
+      functor AlphaInstr = gs_19
+      signature FREQUENCY_PROPERTIES = gs_0
+      structure MLRiscAnnotations = gs_3
+      signature PROBABILITY = gs_1
+      structure Probability = gs_2
+      ../alpha/instructions/alphaFreqProps.sml
+   in
+      functor gs_20 = AlphaFreqProps
+   end
+   local
+      open l4
+   in
+      signature gs_21 = INSN_PROPERTIES
+   end
+   local
+      open l42
+   in
+      structure gs_22 = Option
+   end
+   local
+      open l42
+   in
+      structure gs_23 = Word
+   end
+   local
+      open l4
+   in
+      signature gs_24 = MLTREE_EVAL
+   end
+   local
+      open l4
+   in
+      signature gs_25 = MLTREE_HASH
+   end
+   local
+      signature ALPHAINSTR = gs_18
+      functor AlphaInstr = gs_19
+      structure CellsBasis = gs_8
+      signature INSN_PROPERTIES = gs_21
+      structure Label = gs_9
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREE_EVAL = gs_24
+      signature MLTREE_HASH = gs_25
+      structure Option = gs_22
+      structure Word = gs_23
+      ../alpha/instructions/alphaProps.sml
+   in
+      functor gs_26 = AlphaProps
+   end
+   local
+      open l4
+   in
+      signature gs_27 = SDI_JUMPS
+   end
+   local
+      signature ALPHAINSTR = gs_18
+      functor AlphaInstr = gs_19
+      structure CellsBasis = gs_8
+      ../alpha/instructions/alphaShuffle.sig
+   in
+      signature gs_28 = ALPHASHUFFLE
+   end
+   local
+      signature ALPHAINSTR = gs_18
+      signature ALPHASHUFFLE = gs_28
+      functor AlphaInstr = gs_19
+      structure CellsBasis = gs_8
+      structure Int = gs_12
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREE_EVAL = gs_24
+      structure Option = gs_22
+      signature SDI_JUMPS = gs_27
+      ../alpha/backpatch/alphaJumps.sml
+   in
+      functor gs_29 = AlphaJumps
+   end
+   local
+      open l4
+   in
+      signature gs_30 = INSTRUCTION_EMITTER
+   end
+   local
+      open l4
+   in
+      signature gs_31 = ASM_FORMAT_UTIL
+      structure gs_32 = AsmFormatUtil
+   end
+   local
+      open l4
+   in
+      signature gs_33 = ASM_STREAM
+      structure gs_34 = AsmStream
+   end
+   local
+      open l42
+   in
+      structure gs_35 = TextIO
+   end
+   local
+      open l42
+   in
+      structure gs_36 = String
+   end
+   local
+      open l4
+   in
+      structure gs_37 = AsmFlags
+   end
+   local
+      open l4
+   in
+      signature gs_38 = INSTRUCTION_STREAM
+   end
+   local
+      signature ALPHAINSTR = gs_18
+      signature ALPHASHUFFLE = gs_28
+      signature ASM_FORMAT_UTIL = gs_31
+      signature ASM_STREAM = gs_33
+      functor AlphaInstr = gs_19
+      structure Annotations = gs_10
+      structure AsmFlags = gs_37
+      structure AsmFormatUtil = gs_32
+      structure AsmStream = gs_34
+      structure CellsBasis = gs_8
+      signature INSTRUCTION_EMITTER = gs_30
+      signature INSTRUCTION_STREAM = gs_38
+      structure Int = gs_12
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREE_EVAL = gs_24
+      structure String = gs_36
+      structure TextIO = gs_35
+      ../alpha/emit/alphaAsm.sml
+   in
+      functor gs_39 = AlphaAsmEmitter
+   end
+   local
+      signature ALPHAINSTR = gs_18
+      functor AlphaInstr = gs_19
+      structure CellsBasis = gs_8
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      ../alpha/ra/alphaRewrite.sml
+   in
+      functor gs_40 = AlphaRewrite
+   end
+   local
+      open l4
+   in
+      signature gs_41 = PSEUDO_OPS_BASIS
+   end
+   local
+      open l4
+   in
+      signature gs_42 = GAS_PSEUDO_OPS
+      functor gs_43 = GasPseudoOps
+   end
+   local
+      open l4
+   in
+      functor gs_44 = PseudoOpsLittle
+   end
+   local
+      open l137
+   in
+      structure gs_45 = Format
+   end
+   local
+      open l4
+   in
+      structure gs_46 = PseudoOpsBasisTyp
+   end
+   local
+      open l42
+   in
+      structure gs_47 = Word32
+   end
+   local
+      structure Format = gs_45
+      signature GAS_PSEUDO_OPS = gs_42
+      functor GasPseudoOps = gs_43
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREE = gs_6
+      signature MLTREE_EVAL = gs_24
+      signature PSEUDO_OPS_BASIS = gs_41
+      structure PseudoOpsBasisTyp = gs_46
+      functor PseudoOpsLittle = gs_44
+      structure Word32 = gs_47
+      ../alpha/flowgraph/alphaGasPseudoOps.sml
+   in
+      functor gs_48 = AlphaGasPseudoOps
+   end
+   local
+      open l4
+   in
+      signature gs_49 = ARCH_SPILL_INSTR
+   end
+   local
+      signature ALPHAINSTR = gs_18
+      signature ARCH_SPILL_INSTR = gs_49
+      functor AlphaInstr = gs_19
+      functor AlphaRewrite = gs_40
+      structure CellsBasis = gs_8
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      ../alpha/ra/alphaSpillInstr.sml
+   in
+      functor gs_50 = AlphaSpillInstr
+   end
+   local
+      open l4
+   in
+      functor gs_51 = MLTreeMult
+   end
+   local
+      open l4
+   in
+      functor gs_52 = MLTreeGen
+   end
+   local
+      open l137
+   in
+      structure gs_53 = IntInf
+   end
+   local
+      open l42
+   in
+      structure gs_54 = Int32
+   end
+   local
+      open l42
+   in
+      structure gs_55 = List
+   end
+   local
+      open l4
+   in
+      signature gs_56 = MLTREECOMP
+      signature gs_57 = MLTREE_EXTENSION_COMP
+   end
+   local
+      signature ALPHACELLS = gs_16
+      signature ALPHAINSTR = gs_18
+      structure AlphaCells = gs_17
+      functor AlphaInstr = gs_19
+      signature CELLS_BASIS = gs_7
+      structure CellsBasis = gs_8
+      signature MLTREE = gs_6
+      ../alpha/mltree/alphaPseudoInstr.sig
+   in
+      signature gs_58 = ALPHA_PSEUDO_INSTR
+   end
+   local
+      signature ALPHAINSTR = gs_18
+      signature ALPHA_PSEUDO_INSTR = gs_58
+      functor AlphaInstr = gs_19
+      structure CellsBasis = gs_8
+      structure Int32 = gs_54
+      structure IntInf = gs_53
+      structure Label = gs_9
+      structure List = gs_55
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscAnnotations = gs_3
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREECOMP = gs_56
+      signature MLTREE_EXTENSION_COMP = gs_57
+      functor MLTreeGen = gs_52
+      functor MLTreeMult = gs_51
+      structure Word = gs_23
+      structure Word32 = gs_47
+      ../alpha/mltree/alpha.sml
+   in
+      functor gs_59 = Alpha
+   end
+   local
+      open l4
+   in
+      functor gs_60 = Shuffle
+   end
+   local
+      signature ALPHAINSTR = gs_18
+      signature ALPHASHUFFLE = gs_28
+      functor AlphaInstr = gs_19
+      structure CellsBasis = gs_8
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      structure Option = gs_22
+      functor Shuffle = gs_60
+      ../alpha/instructions/alphaShuffle.sml
+   in
+      functor gs_61 = AlphaShuffle
+   end
+   local
+      open l42
+   in
+      structure gs_62 = Word8
+   end
+   local
+      open l4
+   in
+      signature gs_63 = CODE_STRING
+   end
+   local
+      signature ALPHAINSTR = gs_18
+      functor AlphaInstr = gs_19
+      signature CODE_STRING = gs_63
+      structure CellsBasis = gs_8
+      signature INSTRUCTION_EMITTER = gs_30
+      signature INSTRUCTION_STREAM = gs_38
+      structure Label = gs_9
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREE_EVAL = gs_24
+      structure Option = gs_22
+      structure Word32 = gs_47
+      structure Word8 = gs_62
+      ../alpha/emit/alphaMC.sml
+   in
+      functor gs_64 = AlphaMCEmitter
+   end
+in
+   signature ALPHACELLS = gs_16
+   signature ALPHAINSTR = gs_18
+   signature ALPHASHUFFLE = gs_28
+   signature ALPHA_PSEUDO_INSTR = gs_58
+   functor Alpha = gs_59
+   functor AlphaAsmEmitter = gs_39
+   structure AlphaCells = gs_17
+   functor AlphaFreqProps = gs_20
+   functor AlphaGasPseudoOps = gs_48
+   functor AlphaInstr = gs_19
+   functor AlphaJumps = gs_29
+   functor AlphaMCEmitter = gs_64
+   functor AlphaProps = gs_26
+   functor AlphaRewrite = gs_40
+   functor AlphaShuffle = gs_61
+   functor AlphaSpillInstr = gs_50
+end
+end
+
+end
diff -Naur MLRISC/mlb/Control.mlb MLRISC-mlton/mlb/Control.mlb
--- MLRISC/mlb/Control.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlb/Control.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,104 @@
+
+ann
+  "nonexhaustiveMatch warn" "redundantMatch warn"
+  "sequenceNonUnit ignore"
+  "warnUnused false" "forceUsed"
+in
+
+local
+  basis l4 = 
+    bas
+      (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb
+    end
+  basis l28 = 
+    bas
+      (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
+    end
+  basis l12 = 
+    bas
+      (* $/controls-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Controls/controls-lib.mlb
+    end
+in
+local
+   $(SML_LIB)/basis/pervasive.mlb
+   local
+      open l4
+   in
+      structure gs_0 = Timer
+   end
+   local
+      open l4
+   in
+      structure gs_1 = Time
+   end
+   local
+      open l12
+   in
+      structure gs_2 = Controls
+   end
+   local
+      open l12
+   in
+      structure gs_3 = ControlUtil
+   end
+   local
+      open l12
+   in
+      structure gs_4 = ControlSet
+   end
+   local
+      open l12
+   in
+      structure gs_5 = ControlRegistry
+   end
+   local
+      open l4
+   in
+      structure gs_6 = TextIO
+   end
+   local
+      open l28
+   in
+      structure gs_7 = Atom
+   end
+   local
+      structure Atom = gs_7
+      structure ControlRegistry = gs_5
+      structure ControlSet = gs_4
+      structure ControlUtil = gs_3
+      structure Controls = gs_2
+      structure TextIO = gs_6
+      structure Time = gs_1
+      ../control/mlrisc-control.sml
+   in
+      signature gs_8 = MLRISC_CONTROL
+      structure gs_9 = MLRiscControl
+   end
+   local
+      signature MLRISC_CONTROL = gs_8
+      structure MLRiscControl = gs_9
+      structure Time = gs_1
+      structure Timer = gs_0
+      ../control/mlrisc-timing.sml
+   in
+      signature gs_10 = MLRISC_TIMING
+      structure gs_11 = MLRiscTiming
+   end
+   local
+      structure TextIO = gs_6
+      ../control/mlriscErrormsg.sml
+   in
+      signature gs_12 = MLRISC_ERROR_MSG
+      structure gs_13 = MLRiscErrorMsg
+   end
+in
+   signature MLRISC_CONTROL = gs_8
+   signature MLRISC_ERROR_MSG = gs_12
+   signature MLRISC_TIMING = gs_10
+   structure MLRiscControl = gs_9
+   structure MLRiscErrorMsg = gs_13
+   structure MLRiscTiming = gs_11
+end
+end
+
+end
diff -Naur MLRISC/mlb/Graphs.mlb MLRISC-mlton/mlb/Graphs.mlb
--- MLRISC/mlb/Graphs.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlb/Graphs.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,708 @@
+
+ann
+  "nonexhaustiveMatch warn" "redundantMatch warn"
+  "sequenceNonUnit ignore"
+  "warnUnused false" "forceUsed"
+in
+
+local
+  basis l8 = 
+    bas
+      (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb
+    end
+  basis l4 = 
+    bas
+      (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
+    end
+  basis l29 = 
+    bas
+      (* $Lib.cm(=$SMLNJ-MLRISC)/Lib.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Lib.mlb
+    end
+in
+local
+   $(SML_LIB)/basis/pervasive.mlb
+   local
+      open l4
+   in
+      structure gs_0 = ListMergeSort
+   end
+   local
+      open l8
+   in
+      structure gs_1 = Int
+   end
+   local
+      open l8
+   in
+      structure gs_2 = List
+   end
+   local
+      ../graphs/graph.sig
+   in
+      signature gs_3 = GRAPH
+   end
+   local
+      signature GRAPH = gs_3
+      structure List = gs_2
+      ../graphs/graph.sml
+   in
+      structure gs_4 = Graph
+   end
+   local
+      structure Graph = gs_4
+      structure Int = gs_1
+      structure ListMergeSort = gs_0
+      ../graphs/uniongraph.sml
+   in
+      signature gs_5 = UNION_GRAPH_VIEW
+      structure gs_6 = UnionGraphView
+   end
+   local
+      open l29
+   in
+      signature gs_7 = CATNETABLE_LIST
+      structure gs_8 = CatnetableList
+   end
+   local
+      open l8
+   in
+      structure gs_9 = Array
+   end
+   local
+      ../graphs/group.sig
+   in
+      signature gs_10 = ABELIAN_GROUP
+      signature gs_11 = ABELIAN_GROUP_WITH_INF
+   end
+   local
+      signature ABELIAN_GROUP = gs_10
+      signature ABELIAN_GROUP_WITH_INF = gs_11
+      structure Graph = gs_4
+      ../graphs/min-cut.sig
+   in
+      signature gs_12 = MIN_CUT
+   end
+   local
+      open l8
+   in
+      signature gs_13 = ARRAY
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/node-priqueue.sig
+   in
+      signature gs_14 = NODE_PRIORITY_QUEUE
+   end
+   local
+      signature ARRAY = gs_13
+      structure Graph = gs_4
+      signature NODE_PRIORITY_QUEUE = gs_14
+      ../graphs/node-priqueue.sml
+   in
+      functor gs_15 = NodePriorityQueue
+   end
+   local
+      signature ABELIAN_GROUP = gs_10
+      signature ABELIAN_GROUP_WITH_INF = gs_11
+      structure Array = gs_9
+      signature CATNETABLE_LIST = gs_7
+      structure CatnetableList = gs_8
+      structure Graph = gs_4
+      signature MIN_CUT = gs_12
+      functor NodePriorityQueue = gs_15
+      ../graphs/min-cut.sml
+   in
+      functor gs_16 = MinCut
+   end
+   local
+      structure Graph = gs_4
+      structure List = gs_2
+      ../graphs/isograph.sml
+   in
+      signature gs_17 = ISOMORPHIC_GRAPH_VIEW
+      structure gs_18 = IsomorphicGraphView
+   end
+   local
+      structure Graph = gs_4
+      structure Int = gs_1
+      structure List = gs_2
+      ../graphs/seme.sml
+   in
+      signature gs_19 = SINGLE_ENTRY_MULTIPLE_EXIT_VIEW
+      structure gs_20 = SingleEntryMultipleExit
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/graph-comb.sig
+   in
+      signature gs_21 = GRAPH_COMBINATIONS
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/revgraph.sml
+   in
+      signature gs_22 = REVERSED_GRAPH_VIEW
+      structure gs_23 = ReversedGraphView
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/renamegraph.sml
+   in
+      signature gs_24 = RENAMED_GRAPH_VIEW
+      structure gs_25 = RenamedGraphView
+   end
+   local
+      signature GRAPH_COMBINATIONS = gs_21
+      structure Graph = gs_4
+      signature RENAMED_GRAPH_VIEW = gs_24
+      signature REVERSED_GRAPH_VIEW = gs_22
+      structure RenamedGraphView = gs_25
+      structure ReversedGraphView = gs_23
+      signature UNION_GRAPH_VIEW = gs_5
+      structure UnionGraphView = gs_6
+      ../graphs/graph-comb.sml
+   in
+      structure gs_26 = GraphCombinations
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/readonly.sml
+   in
+      signature gs_27 = READONLY_GRAPH_VIEW
+      structure gs_28 = ReadOnlyGraphView
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/graphimpl.sig
+   in
+      signature gs_29 = GRAPH_IMPLEMENTATION
+   end
+   local
+      open l8
+   in
+      structure gs_30 = Word8Array
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/graph-scc.sig
+   in
+      signature gs_31 = GRAPH_STRONGLY_CONNECTED_COMPONENTS
+   end
+   local
+      structure Array = gs_9
+      signature GRAPH_STRONGLY_CONNECTED_COMPONENTS = gs_31
+      structure Graph = gs_4
+      structure Int = gs_1
+      structure Word8Array = gs_30
+      ../graphs/graph-scc.sml
+   in
+      structure gs_32 = GraphSCC
+   end
+   local
+      open l29
+   in
+      structure gs_33 = BitSet
+   end
+   local
+      structure Array = gs_9
+      structure Graph = gs_4
+      ../graphs/graph-dfs.sig
+   in
+      signature gs_34 = GRAPH_DEPTH_FIRST_SEARCH
+   end
+   local
+      structure Array = gs_9
+      structure BitSet = gs_33
+      signature GRAPH_DEPTH_FIRST_SEARCH = gs_34
+      structure Graph = gs_4
+      ../graphs/graph-dfs.sml
+   in
+      structure gs_35 = GraphDFS
+   end
+   local
+      structure Array = gs_9
+      structure Graph = gs_4
+      ../graphs/graph-bfs.sig
+   in
+      signature gs_36 = GRAPH_BREATH_FIRST_SEARCH
+   end
+   local
+      structure Array = gs_9
+      structure BitSet = gs_33
+      signature GRAPH_BREATH_FIRST_SEARCH = gs_36
+      structure Graph = gs_4
+      ../graphs/graph-bfs.sml
+   in
+      structure gs_37 = GraphBFS
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/graph-bcc.sig
+   in
+      signature gs_38 = GRAPH_BICONNECTED_COMPONENTS
+   end
+   local
+      structure Array = gs_9
+      signature GRAPH_BICONNECTED_COMPONENTS = gs_38
+      structure Graph = gs_4
+      ../graphs/graph-bcc.sml
+   in
+      structure gs_39 = GraphBCC
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/graph-topsort.sig
+   in
+      signature gs_40 = GRAPH_TOPOLOGICAL_SORT
+   end
+   local
+      open l8
+   in
+      structure gs_41 = String
+   end
+   local
+      structure Graph = gs_4
+      structure Int = gs_1
+      structure List = gs_2
+      structure String = gs_41
+      ../graphs/printgraph.sml
+   in
+      signature gs_42 = PRINT_GRAPH
+      structure gs_43 = PrintGraph
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/no-exit.sml
+   in
+      signature gs_44 = NO_ENTRY_VIEW
+      signature gs_45 = NO_EXIT_VIEW
+      structure gs_46 = NoEntryView
+      structure gs_47 = NoExitView
+   end
+   local
+      open l29
+   in
+      structure gs_48 = PriorityQueue
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/spanning-tree.sig
+   in
+      signature gs_49 = MIN_COST_SPANNING_TREE
+   end
+   local
+      open l4
+   in
+      structure gs_50 = HashTable
+   end
+   local
+      open l4
+   in
+      structure gs_51 = URef
+   end
+   local
+      open l8
+   in
+      structure gs_52 = Word
+   end
+   local
+      structure Graph = gs_4
+      structure HashTable = gs_50
+      structure URef = gs_51
+      structure Word = gs_52
+      ../graphs/node-partition.sml
+   in
+      signature gs_53 = NODE_PARTITION
+      structure gs_54 = NodePartition
+   end
+   local
+      structure Graph = gs_4
+      signature MIN_COST_SPANNING_TREE = gs_49
+      signature NODE_PARTITION = gs_53
+      structure NodePartition = gs_54
+      structure PriorityQueue = gs_48
+      ../graphs/kruskal.sml
+   in
+      structure gs_55 = Kruskal
+   end
+   local
+      open l29
+   in
+      structure gs_56 = HashArray
+   end
+   local
+      structure Graph = gs_4
+      structure List = gs_2
+      ../graphs/subgraph-p.sml
+   in
+      signature gs_57 = SUBGRAPH_P_VIEW
+      structure gs_58 = Subgraph_P_View
+   end
+   local
+      structure Graph = gs_4
+      structure HashArray = gs_56
+      signature SUBGRAPH_P_VIEW = gs_57
+      structure Subgraph_P_View = gs_58
+      ../graphs/trace-graph.sml
+   in
+      signature gs_59 = TRACE_SUBGRAPH_VIEW
+      structure gs_60 = TraceView
+   end
+   local
+      structure Graph = gs_4
+      structure Int = gs_1
+      structure List = gs_2
+      ../graphs/start-stop.sml
+   in
+      signature gs_61 = START_STOP_VIEW
+      structure gs_62 = StartStopView
+   end
+   local
+      signature GRAPH_IMPLEMENTATION = gs_29
+      structure Graph = gs_4
+      ../graphs/snap-shot.sml
+   in
+      signature gs_63 = GRAPH_SNAPSHOT
+      functor gs_64 = GraphSnapShot
+   end
+   local
+      signature ABELIAN_GROUP = gs_10
+      signature ABELIAN_GROUP_WITH_INF = gs_11
+      structure Graph = gs_4
+      ../graphs/max-flow.sig
+   in
+      signature gs_65 = MAX_FLOW
+   end
+   local
+      signature ABELIAN_GROUP = gs_10
+      signature ABELIAN_GROUP_WITH_INF = gs_11
+      structure Array = gs_9
+      structure Graph = gs_4
+      structure Int = gs_1
+      structure List = gs_2
+      signature MAX_FLOW = gs_65
+      ../graphs/max-flow.sml
+   in
+      functor gs_66 = MaxFlow
+   end
+   local
+      open l8
+   in
+      structure gs_67 = Array2
+   end
+   local
+      signature ABELIAN_GROUP = gs_10
+      signature ABELIAN_GROUP_WITH_INF = gs_11
+      structure Array = gs_9
+      structure Array2 = gs_67
+      structure Graph = gs_4
+      ../graphs/shortest-paths.sig
+   in
+      signature gs_68 = ALL_PAIRS_SHORTEST_PATHS
+      signature gs_69 = SINGLE_SOURCE_SHORTEST_PATHS
+   end
+   local
+      signature ABELIAN_GROUP = gs_10
+      signature ABELIAN_GROUP_WITH_INF = gs_11
+      signature ALL_PAIRS_SHORTEST_PATHS = gs_68
+      structure Array2 = gs_67
+      structure Graph = gs_4
+      signature SINGLE_SOURCE_SHORTEST_PATHS = gs_69
+      ../graphs/floyd-warshall.sml
+   in
+      functor gs_70 = FloydWarshall
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/graph-is-cyclic.sig
+   in
+      signature gs_71 = GRAPH_IS_CYCLIC
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/update-graph-info.sml
+   in
+      signature gs_72 = UPDATE_GRAPH_INFO
+      structure gs_73 = UpdateGraphInfo
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/graph-cycles.sig
+   in
+      signature gs_74 = GRAPH_SIMPLE_CYCLES
+   end
+   local
+      signature ABELIAN_GROUP = gs_10
+      signature ABELIAN_GROUP_WITH_INF = gs_11
+      signature ALL_PAIRS_SHORTEST_PATHS = gs_68
+      structure Array = gs_9
+      structure Graph = gs_4
+      structure Int = gs_1
+      signature SINGLE_SOURCE_SHORTEST_PATHS = gs_69
+      ../graphs/bellman-ford.sml
+   in
+      functor gs_75 = BellmanFord
+   end
+   local
+      signature GRAPH_TOPOLOGICAL_SORT = gs_40
+      structure Graph = gs_4
+      structure Word8Array = gs_30
+      ../graphs/graph-topsort.sml
+   in
+      structure gs_76 = GraphTopsort
+   end
+   local
+      structure Array = gs_9
+      structure Graph = gs_4
+      structure GraphTopsort = gs_76
+      ../graphs/trans-closure.sml
+   in
+      signature gs_77 = TRANSITIVE_CLOSURE
+      structure gs_78 = TransitiveClosure
+   end
+   local
+      open l29
+   in
+      structure gs_79 = DynArray
+   end
+   local
+      structure DynArray = gs_79
+      signature GRAPH_IMPLEMENTATION = gs_29
+      structure Graph = gs_4
+      structure List = gs_2
+      ../graphs/digraph.sml
+   in
+      functor gs_80 = DirectedGraph
+      structure gs_81 = DirectedGraph
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/wrappers.sml
+   in
+      signature gs_82 = GRAPH_WRAPPERS
+      structure gs_83 = GraphWrappers
+   end
+   local
+      structure BitSet = gs_33
+      signature GRAPH_IS_CYCLIC = gs_71
+      structure Graph = gs_4
+      ../graphs/graph-is-cyclic.sml
+   in
+      structure gs_84 = GraphIsCyclic
+   end
+   local
+      open l4
+   in
+      structure gs_85 = IntHashTable
+   end
+   local
+      structure Graph = gs_4
+      structure IntHashTable = gs_85
+      structure List = gs_2
+      ../graphs/subgraph.sml
+   in
+      signature gs_86 = SUBGRAPH_VIEW
+      structure gs_87 = SubgraphView
+   end
+   local
+      structure Graph = gs_4
+      structure Int = gs_1
+      structure ListMergeSort = gs_0
+      ../graphs/ugraph.sml
+   in
+      signature gs_88 = UNDIRECTED_GRAPH_VIEW
+      structure gs_89 = UndirectedGraphView
+   end
+   local
+      structure Graph = gs_4
+      structure HashArray = gs_56
+      structure List = gs_2
+      structure URef = gs_51
+      ../graphs/graph-minor.sml
+   in
+      signature gs_90 = GRAPH_MINOR_VIEW
+      structure gs_91 = GraphMinorView
+   end
+   local
+      signature ARRAY = gs_13
+      signature GRAPH_IMPLEMENTATION = gs_29
+      structure Graph = gs_4
+      structure List = gs_2
+      ../graphs/udgraph.sml
+   in
+      functor gs_92 = UndirectedGraph
+   end
+   local
+      signature GRAPH = gs_3
+      ../graphs/bigraph.sig
+   in
+      signature gs_93 = BIPARTITE_GRAPH
+   end
+   local
+      structure Graph = gs_4
+      structure HashArray = gs_56
+      signature SUBGRAPH_P_VIEW = gs_57
+      structure Subgraph_P_View = gs_58
+      ../graphs/acyclic-graph.sml
+   in
+      signature gs_94 = ACYCLIC_SUBGRAPH_VIEW
+      structure gs_95 = AcyclicSubgraphView
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/singleton.sml
+   in
+      signature gs_96 = SINGLETON_GRAPH_VIEW
+      structure gs_97 = SingletonGraphView
+   end
+   local
+      signature ABELIAN_GROUP = gs_10
+      signature ABELIAN_GROUP_WITH_INF = gs_11
+      signature ALL_PAIRS_SHORTEST_PATHS = gs_68
+      structure Array = gs_9
+      structure Graph = gs_4
+      functor NodePriorityQueue = gs_15
+      signature SINGLE_SOURCE_SHORTEST_PATHS = gs_69
+      ../graphs/dijkstra.sml
+   in
+      functor gs_98 = Dijkstra
+   end
+   local
+      signature ABELIAN_GROUP = gs_10
+      signature ABELIAN_GROUP_WITH_INF = gs_11
+      signature ALL_PAIRS_SHORTEST_PATHS = gs_68
+      structure Array = gs_9
+      structure Array2 = gs_67
+      functor BellmanFord = gs_75
+      functor Dijkstra = gs_98
+      functor DirectedGraph = gs_80
+      structure DirectedGraph = gs_81
+      structure Graph = gs_4
+      structure HashArray = gs_56
+      signature SINGLE_SOURCE_SHORTEST_PATHS = gs_69
+      signature UNION_GRAPH_VIEW = gs_5
+      structure UnionGraphView = gs_6
+      ../graphs/johnson.sml
+   in
+      functor gs_99 = Johnson
+   end
+   local
+      structure Graph = gs_4
+      ../graphs/matching.sig
+   in
+      signature gs_100 = BIPARTITE_MATCHING
+   end
+   local
+      structure Array = gs_9
+      signature GRAPH_SIMPLE_CYCLES = gs_74
+      structure Graph = gs_4
+      structure GraphSCC = gs_32
+      ../graphs/graph-cycles.sml
+   in
+      structure gs_101 = GraphCycles
+   end
+   local
+      structure Array = gs_9
+      signature BIPARTITE_MATCHING = gs_100
+      structure Graph = gs_4
+      structure List = gs_2
+      ../graphs/matching.sml
+   in
+      structure gs_102 = BipartiteMatching
+   end
+   local
+      ../graphs/closed-semi-ring.sig
+   in
+      signature gs_103 = CLOSED_SEMI_RING
+   end
+in
+   signature ABELIAN_GROUP = gs_10
+   signature ABELIAN_GROUP_WITH_INF = gs_11
+   signature ACYCLIC_SUBGRAPH_VIEW = gs_94
+   signature ALL_PAIRS_SHORTEST_PATHS = gs_68
+   structure AcyclicSubgraphView = gs_95
+   signature BIPARTITE_GRAPH = gs_93
+   signature BIPARTITE_MATCHING = gs_100
+   functor BellmanFord = gs_75
+   structure BipartiteMatching = gs_102
+   signature CLOSED_SEMI_RING = gs_103
+   functor Dijkstra = gs_98
+   functor DirectedGraph = gs_80
+   structure DirectedGraph = gs_81
+   functor FloydWarshall = gs_70
+   signature GRAPH = gs_3
+   signature GRAPH_BICONNECTED_COMPONENTS = gs_38
+   signature GRAPH_BREATH_FIRST_SEARCH = gs_36
+   signature GRAPH_COMBINATIONS = gs_21
+   signature GRAPH_DEPTH_FIRST_SEARCH = gs_34
+   signature GRAPH_IMPLEMENTATION = gs_29
+   signature GRAPH_IS_CYCLIC = gs_71
+   signature GRAPH_MINOR_VIEW = gs_90
+   signature GRAPH_SIMPLE_CYCLES = gs_74
+   signature GRAPH_SNAPSHOT = gs_63
+   signature GRAPH_STRONGLY_CONNECTED_COMPONENTS = gs_31
+   signature GRAPH_TOPOLOGICAL_SORT = gs_40
+   signature GRAPH_WRAPPERS = gs_82
+   structure Graph = gs_4
+   structure GraphBCC = gs_39
+   structure GraphBFS = gs_37
+   structure GraphCombinations = gs_26
+   structure GraphCycles = gs_101
+   structure GraphDFS = gs_35
+   structure GraphIsCyclic = gs_84
+   structure GraphMinorView = gs_91
+   structure GraphSCC = gs_32
+   functor GraphSnapShot = gs_64
+   structure GraphTopsort = gs_76
+   structure GraphWrappers = gs_83
+   signature ISOMORPHIC_GRAPH_VIEW = gs_17
+   structure IsomorphicGraphView = gs_18
+   functor Johnson = gs_99
+   structure Kruskal = gs_55
+   signature MAX_FLOW = gs_65
+   signature MIN_COST_SPANNING_TREE = gs_49
+   signature MIN_CUT = gs_12
+   functor MaxFlow = gs_66
+   functor MinCut = gs_16
+   signature NODE_PARTITION = gs_53
+   signature NODE_PRIORITY_QUEUE = gs_14
+   signature NO_ENTRY_VIEW = gs_44
+   signature NO_EXIT_VIEW = gs_45
+   structure NoEntryView = gs_46
+   structure NoExitView = gs_47
+   structure NodePartition = gs_54
+   functor NodePriorityQueue = gs_15
+   signature PRINT_GRAPH = gs_42
+   structure PrintGraph = gs_43
+   signature READONLY_GRAPH_VIEW = gs_27
+   signature RENAMED_GRAPH_VIEW = gs_24
+   signature REVERSED_GRAPH_VIEW = gs_22
+   structure ReadOnlyGraphView = gs_28
+   structure RenamedGraphView = gs_25
+   structure ReversedGraphView = gs_23
+   signature SINGLETON_GRAPH_VIEW = gs_96
+   signature SINGLE_ENTRY_MULTIPLE_EXIT_VIEW = gs_19
+   signature SINGLE_SOURCE_SHORTEST_PATHS = gs_69
+   signature START_STOP_VIEW = gs_61
+   signature SUBGRAPH_P_VIEW = gs_57
+   signature SUBGRAPH_VIEW = gs_86
+   structure SingleEntryMultipleExit = gs_20
+   structure SingletonGraphView = gs_97
+   structure StartStopView = gs_62
+   structure SubgraphView = gs_87
+   structure Subgraph_P_View = gs_58
+   signature TRACE_SUBGRAPH_VIEW = gs_59
+   signature TRANSITIVE_CLOSURE = gs_77
+   structure TraceView = gs_60
+   structure TransitiveClosure = gs_78
+   signature UNDIRECTED_GRAPH_VIEW = gs_88
+   signature UNION_GRAPH_VIEW = gs_5
+   signature UPDATE_GRAPH_INFO = gs_72
+   functor UndirectedGraph = gs_92
+   structure UndirectedGraphView = gs_89
+   structure UnionGraphView = gs_6
+   structure UpdateGraphInfo = gs_73
+end
+end
+
+end
diff -Naur MLRISC/mlb/HPPA.mlb MLRISC-mlton/mlb/HPPA.mlb
--- MLRISC/mlb/HPPA.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlb/HPPA.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,494 @@
+
+ann
+  "nonexhaustiveMatch warn" "redundantMatch warn"
+  "sequenceNonUnit ignore"
+  "warnUnused false" "forceUsed"
+in
+
+local
+  basis l11 = 
+    bas
+      (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb
+    end
+  basis l69 = 
+    bas
+      (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
+    end
+  basis l4 = 
+    bas
+      (* $MLRISC.cm(=$SMLNJ-MLRISC)/MLRISC.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/MLRISC.mlb
+    end
+  basis l16 = 
+    bas
+      (* $Control.cm(=$SMLNJ-MLRISC)/Control.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Control.mlb
+    end
+  basis l37 = 
+    bas
+      (* $Lib.cm(=$SMLNJ-MLRISC)/Lib.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Lib.mlb
+    end
+in
+local
+   $(SML_LIB)/basis/pervasive.mlb
+   local
+      open l4
+   in
+      structure gs_0 = CellsBasis
+   end
+   local
+      open l4
+   in
+      functor gs_1 = Shuffle
+   end
+   local
+      open l11
+   in
+      structure gs_2 = Option
+   end
+   local
+      open l16
+   in
+      signature gs_3 = MLRISC_ERROR_MSG
+      structure gs_4 = MLRiscErrorMsg
+   end
+   local
+      open l4
+   in
+      signature gs_5 = REGION
+   end
+   local
+      open l4
+   in
+      signature gs_6 = CONSTANT
+   end
+   local
+      open l4
+   in
+      signature gs_7 = MLTREE
+   end
+   local
+      open l4
+   in
+      signature gs_8 = CELLS_BASIS
+   end
+   local
+      open l4
+   in
+      structure gs_9 = Label
+   end
+   local
+      open l37
+   in
+      structure gs_10 = Annotations
+   end
+   local
+      open l4
+   in
+      functor gs_11 = Cells
+   end
+   local
+      open l11
+   in
+      structure gs_12 = Int
+   end
+   local
+      open l4
+   in
+      signature gs_13 = CELLS
+   end
+   local
+      signature CELLS = gs_13
+      functor Cells = gs_11
+      structure CellsBasis = gs_0
+      structure Int = gs_12
+      signature MLRISC_ERROR_MSG = gs_3
+      structure MLRiscErrorMsg = gs_4
+      ../hppa/instructions/hppaCells.sml
+   in
+      signature gs_14 = HPPACELLS
+      structure gs_15 = HppaCells
+   end
+   local
+      structure Annotations = gs_10
+      signature CELLS_BASIS = gs_8
+      signature CONSTANT = gs_6
+      structure CellsBasis = gs_0
+      signature HPPACELLS = gs_14
+      structure HppaCells = gs_15
+      structure Label = gs_9
+      signature MLTREE = gs_7
+      signature REGION = gs_5
+      ../hppa/instructions/hppaInstr.sml
+   in
+      signature gs_16 = HPPAINSTR
+      functor gs_17 = HppaInstr
+   end
+   local
+      structure CellsBasis = gs_0
+      signature HPPAINSTR = gs_16
+      functor HppaInstr = gs_17
+      ../hppa/instructions/hppaShuffle.sig
+   in
+      signature gs_18 = HPPASHUFFLE
+   end
+   local
+      structure CellsBasis = gs_0
+      signature HPPAINSTR = gs_16
+      signature HPPASHUFFLE = gs_18
+      functor HppaInstr = gs_17
+      signature MLRISC_ERROR_MSG = gs_3
+      structure MLRiscErrorMsg = gs_4
+      structure Option = gs_2
+      functor Shuffle = gs_1
+      ../hppa/instructions/hppaShuffle.sml
+   in
+      functor gs_19 = HppaShuffle
+   end
+   local
+      open l4
+   in
+      signature gs_20 = INSTRUCTION_EMITTER
+   end
+   local
+      open l69
+   in
+      structure gs_21 = IntInf
+   end
+   local
+      open l11
+   in
+      structure gs_22 = Word8
+   end
+   local
+      open l11
+   in
+      structure gs_23 = Word32
+   end
+   local
+      open l4
+   in
+      signature gs_24 = CODE_STRING
+   end
+   local
+      open l4
+   in
+      signature gs_25 = INSTRUCTION_STREAM
+   end
+   local
+      open l4
+   in
+      signature gs_26 = MLTREE_EVAL
+   end
+   local
+      signature CODE_STRING = gs_24
+      structure CellsBasis = gs_0
+      signature HPPAINSTR = gs_16
+      functor HppaInstr = gs_17
+      signature INSTRUCTION_EMITTER = gs_20
+      signature INSTRUCTION_STREAM = gs_25
+      structure IntInf = gs_21
+      structure Label = gs_9
+      signature MLRISC_ERROR_MSG = gs_3
+      structure MLRiscErrorMsg = gs_4
+      signature MLTREE_EVAL = gs_26
+      structure Option = gs_2
+      structure Word32 = gs_23
+      structure Word8 = gs_22
+      ../hppa/emit/hppaMC.sml
+   in
+      functor gs_27 = HppaMCEmitter
+   end
+   local
+      signature CELLS_BASIS = gs_8
+      structure CellsBasis = gs_0
+      signature HPPAINSTR = gs_16
+      functor HppaInstr = gs_17
+      ../hppa/mltree/hppaMillicode.sig
+   in
+      signature gs_28 = HPPA_MILLICODE
+   end
+   local
+      open l4
+   in
+      signature gs_29 = ASM_FORMAT_UTIL
+      structure gs_30 = AsmFormatUtil
+   end
+   local
+      open l4
+   in
+      signature gs_31 = ASM_STREAM
+      structure gs_32 = AsmStream
+   end
+   local
+      open l11
+   in
+      structure gs_33 = TextIO
+   end
+   local
+      open l11
+   in
+      structure gs_34 = String
+   end
+   local
+      open l4
+   in
+      structure gs_35 = AsmFlags
+   end
+   local
+      signature ASM_FORMAT_UTIL = gs_29
+      signature ASM_STREAM = gs_31
+      structure Annotations = gs_10
+      structure AsmFlags = gs_35
+      structure AsmFormatUtil = gs_30
+      structure AsmStream = gs_32
+      structure CellsBasis = gs_0
+      signature HPPAINSTR = gs_16
+      signature HPPASHUFFLE = gs_18
+      functor HppaInstr = gs_17
+      signature INSTRUCTION_EMITTER = gs_20
+      signature INSTRUCTION_STREAM = gs_25
+      structure Int = gs_12
+      signature MLRISC_ERROR_MSG = gs_3
+      structure MLRiscErrorMsg = gs_4
+      signature MLTREE_EVAL = gs_26
+      structure String = gs_34
+      structure TextIO = gs_33
+      ../hppa/emit/hppaAsm.sml
+   in
+      functor gs_36 = HppaAsmEmitter
+   end
+   local
+      open l4
+   in
+      signature gs_37 = INSTRUCTIONS
+   end
+   local
+      structure CellsBasis = gs_0
+      signature INSTRUCTIONS = gs_37
+      signature MLTREE = gs_7
+      ../hppa/mltree/hppaLabelComp.sig
+   in
+      signature gs_38 = LABEL_COMP
+   end
+   local
+      open l4
+   in
+      signature gs_39 = ARCH_SPILL_INSTR
+   end
+   local
+      structure CellsBasis = gs_0
+      signature HPPAINSTR = gs_16
+      functor HppaInstr = gs_17
+      signature MLRISC_ERROR_MSG = gs_3
+      structure MLRiscErrorMsg = gs_4
+      ../hppa/ra/hppaRewrite.sml
+   in
+      functor gs_40 = HppaRewrite
+   end
+   local
+      signature ARCH_SPILL_INSTR = gs_39
+      structure CellsBasis = gs_0
+      signature HPPAINSTR = gs_16
+      functor HppaInstr = gs_17
+      functor HppaRewrite = gs_40
+      signature MLRISC_ERROR_MSG = gs_3
+      structure MLRiscErrorMsg = gs_4
+      ../hppa/ra/hppaSpillInstr.sml
+   in
+      functor gs_41 = HppaSpillInstr
+   end
+   local
+      open l4
+   in
+      signature gs_42 = FREQUENCY_PROPERTIES
+   end
+   local
+      open l37
+   in
+      signature gs_43 = PROBABILITY
+      structure gs_44 = Probability
+   end
+   local
+      open l4
+   in
+      structure gs_45 = MLRiscAnnotations
+   end
+   local
+      signature FREQUENCY_PROPERTIES = gs_42
+      signature HPPAINSTR = gs_16
+      functor HppaInstr = gs_17
+      structure MLRiscAnnotations = gs_45
+      signature PROBABILITY = gs_43
+      structure Probability = gs_44
+      ../hppa/instructions/hppaFreqProps.sml
+   in
+      functor gs_46 = HppaFreqProps
+   end
+   local
+      open l4
+   in
+      signature gs_47 = PSEUDO_OPS_BASIS
+   end
+   local
+      open l4
+   in
+      signature gs_48 = GAS_PSEUDO_OPS
+      functor gs_49 = GasPseudoOps
+   end
+   local
+      open l4
+   in
+      functor gs_50 = PseudoOpsBig
+   end
+   local
+      open l69
+   in
+      structure gs_51 = Format
+   end
+   local
+      open l4
+   in
+      structure gs_52 = PseudoOpsBasisTyp
+   end
+   local
+      structure Format = gs_51
+      signature GAS_PSEUDO_OPS = gs_48
+      functor GasPseudoOps = gs_49
+      signature MLRISC_ERROR_MSG = gs_3
+      structure MLRiscErrorMsg = gs_4
+      signature MLTREE = gs_7
+      signature MLTREE_EVAL = gs_26
+      signature PSEUDO_OPS_BASIS = gs_47
+      structure PseudoOpsBasisTyp = gs_52
+      functor PseudoOpsBig = gs_50
+      structure Word32 = gs_23
+      ../hppa/flowgraph/hppaGasPseudoOps.sml
+   in
+      functor gs_53 = HppaGasPseudoOps
+   end
+   local
+      open l4
+   in
+      signature gs_54 = DELAY_SLOT_PROPERTIES
+   end
+   local
+      open l4
+   in
+      signature gs_55 = INSN_PROPERTIES
+   end
+   local
+      structure CellsBasis = gs_0
+      signature DELAY_SLOT_PROPERTIES = gs_54
+      signature HPPAINSTR = gs_16
+      functor HppaInstr = gs_17
+      signature INSN_PROPERTIES = gs_55
+      signature MLRISC_ERROR_MSG = gs_3
+      structure MLRiscErrorMsg = gs_4
+      structure Option = gs_2
+      ../hppa/backpatch/hppaDelaySlotProps.sml
+   in
+      functor gs_56 = HppaDelaySlots
+   end
+   local
+      open l11
+   in
+      structure gs_57 = Word
+   end
+   local
+      open l4
+   in
+      signature gs_58 = MLTREE_HASH
+   end
+   local
+      structure CellsBasis = gs_0
+      signature HPPAINSTR = gs_16
+      functor HppaInstr = gs_17
+      signature INSN_PROPERTIES = gs_55
+      structure Label = gs_9
+      signature MLRISC_ERROR_MSG = gs_3
+      structure MLRiscErrorMsg = gs_4
+      signature MLTREE_EVAL = gs_26
+      signature MLTREE_HASH = gs_58
+      structure Option = gs_2
+      structure Word = gs_57
+      ../hppa/instructions/hppaProps.sml
+   in
+      functor gs_59 = HppaProps
+   end
+   local
+      open l4
+   in
+      signature gs_60 = SDI_JUMPS
+   end
+   local
+      structure CellsBasis = gs_0
+      signature HPPAINSTR = gs_16
+      signature HPPASHUFFLE = gs_18
+      functor HppaInstr = gs_17
+      structure Label = gs_9
+      signature MLRISC_ERROR_MSG = gs_3
+      structure MLRiscErrorMsg = gs_4
+      signature MLTREE_EVAL = gs_26
+      signature SDI_JUMPS = gs_60
+      structure Word = gs_57
+      ../hppa/backpatch/hppaJumps.sml
+   in
+      functor gs_61 = HppaJumps
+   end
+   local
+      open l4
+   in
+      functor gs_62 = MLTreeMult
+   end
+   local
+      open l4
+   in
+      functor gs_63 = MLTreeGen
+   end
+   local
+      open l4
+   in
+      signature gs_64 = MLTREECOMP
+      signature gs_65 = MLTREE_EXTENSION_COMP
+   end
+   local
+      structure CellsBasis = gs_0
+      signature HPPAINSTR = gs_16
+      signature HPPA_MILLICODE = gs_28
+      functor HppaInstr = gs_17
+      signature LABEL_COMP = gs_38
+      structure Label = gs_9
+      signature MLRISC_ERROR_MSG = gs_3
+      structure MLRiscAnnotations = gs_45
+      structure MLRiscErrorMsg = gs_4
+      signature MLTREECOMP = gs_64
+      signature MLTREE_EXTENSION_COMP = gs_65
+      functor MLTreeGen = gs_63
+      functor MLTreeMult = gs_62
+      structure Word32 = gs_23
+      ../hppa/mltree/hppa.sml
+   in
+      functor gs_66 = Hppa
+   end
+in
+   signature HPPACELLS = gs_14
+   signature HPPAINSTR = gs_16
+   signature HPPASHUFFLE = gs_18
+   signature HPPA_MILLICODE = gs_28
+   functor Hppa = gs_66
+   functor HppaAsmEmitter = gs_36
+   structure HppaCells = gs_15
+   functor HppaDelaySlots = gs_56
+   functor HppaFreqProps = gs_46
+   functor HppaGasPseudoOps = gs_53
+   functor HppaInstr = gs_17
+   functor HppaJumps = gs_61
+   functor HppaMCEmitter = gs_27
+   functor HppaProps = gs_59
+   functor HppaRewrite = gs_40
+   functor HppaShuffle = gs_19
+   functor HppaSpillInstr = gs_41
+   signature LABEL_COMP = gs_38
+end
+end
+
+end
diff -Naur MLRISC/mlb/IA32.mlb MLRISC-mlton/mlb/IA32.mlb
--- MLRISC/mlb/IA32.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlb/IA32.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,781 @@
+
+ann
+  "nonexhaustiveMatch warn" "redundantMatch warn"
+  "sequenceNonUnit ignore"
+  "warnUnused false" "forceUsed"
+in
+
+local
+  basis l35 = 
+    bas
+      (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb
+    end
+  basis l138 = 
+    bas
+      (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
+    end
+  basis l4 = 
+    bas
+      (* $MLRISC.cm(=$SMLNJ-MLRISC)/MLRISC.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/MLRISC.mlb
+    end
+  basis l12 = 
+    bas
+      (* $Control.cm(=$SMLNJ-MLRISC)/Control.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Control.mlb
+    end
+  basis l230 = 
+    bas
+      (* $Graphs.cm(=$SMLNJ-MLRISC)/Graphs.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Graphs.mlb
+    end
+  basis l39 = 
+    bas
+      (* $Lib.cm(=$SMLNJ-MLRISC)/Lib.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Lib.mlb
+    end
+  basis l311 = 
+    bas
+      (* $MLTREE.cm(=$SMLNJ-MLRISC)/MLTREE.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/MLTREE.mlb
+    end
+in
+local
+   $(SML_LIB)/basis/pervasive.mlb
+   local
+      open l4
+   in
+      signature gs_0 = ARCH_SPILL_INSTR
+   end
+   local
+      open l4
+   in
+      structure gs_1 = CellsBasis
+   end
+   local
+      open l12
+   in
+      signature gs_2 = MLRISC_ERROR_MSG
+      structure gs_3 = MLRiscErrorMsg
+   end
+   local
+      open l4
+   in
+      signature gs_4 = INSN_PROPERTIES
+   end
+   local
+      open l4
+   in
+      signature gs_5 = REGION
+   end
+   local
+      open l4
+   in
+      signature gs_6 = CONSTANT
+   end
+   local
+      open l4
+   in
+      signature gs_7 = MLTREE
+   end
+   local
+      open l4
+   in
+      signature gs_8 = CELLS_BASIS
+   end
+   local
+      open l4
+   in
+      structure gs_9 = Label
+   end
+   local
+      open l35
+   in
+      structure gs_10 = Int32
+   end
+   local
+      open l39
+   in
+      structure gs_11 = Annotations
+   end
+   local
+      open l4
+   in
+      functor gs_12 = Cells
+   end
+   local
+      open l35
+   in
+      structure gs_13 = Int
+   end
+   local
+      open l4
+   in
+      signature gs_14 = CELLS
+   end
+   local
+      signature CELLS = gs_14
+      functor Cells = gs_12
+      structure CellsBasis = gs_1
+      structure Int = gs_13
+      signature MLRISC_ERROR_MSG = gs_2
+      structure MLRiscErrorMsg = gs_3
+      ../x86/instructions/x86Cells.sml
+   in
+      signature gs_15 = X86CELLS
+      structure gs_16 = X86Cells
+   end
+   local
+      structure Annotations = gs_11
+      signature CELLS_BASIS = gs_8
+      signature CONSTANT = gs_6
+      structure CellsBasis = gs_1
+      structure Int32 = gs_10
+      structure Label = gs_9
+      signature MLTREE = gs_7
+      signature REGION = gs_5
+      signature X86CELLS = gs_15
+      structure X86Cells = gs_16
+      ../x86/instructions/x86Instr.sml
+   in
+      signature gs_17 = X86INSTR
+      functor gs_18 = X86Instr
+   end
+   local
+      signature ARCH_SPILL_INSTR = gs_0
+      structure CellsBasis = gs_1
+      signature INSN_PROPERTIES = gs_4
+      signature MLRISC_ERROR_MSG = gs_2
+      structure MLRiscErrorMsg = gs_3
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      ../x86/ra/x86SpillInstr.sml
+   in
+      functor gs_19 = X86SpillInstr
+   end
+   local
+      structure CellsBasis = gs_1
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      ../x86/instructions/x86MemRegs.sig
+   in
+      signature gs_20 = MEMORY_REGISTERS
+   end
+   local
+      open l4
+   in
+      signature gs_21 = MC_EMIT
+   end
+   local
+      open l35
+   in
+      structure gs_22 = Word32
+   end
+   local
+      open l35
+   in
+      structure gs_23 = Word8
+   end
+   local
+      open l35
+   in
+      structure gs_24 = LargeWord
+   end
+   local
+      open l35
+   in
+      structure gs_25 = Word8Vector
+   end
+   local
+      open l35
+   in
+      structure gs_26 = Option
+   end
+   local
+      open l35
+   in
+      structure gs_27 = Word
+   end
+   local
+      open l4
+   in
+      signature gs_28 = INSTRUCTION_EMITTER
+   end
+   local
+      open l4
+   in
+      signature gs_29 = MLTREE_EVAL
+   end
+   local
+      structure CellsBasis = gs_1
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      ../x86/instructions/x86Shuffle.sig
+   in
+      signature gs_30 = X86SHUFFLE
+   end
+   local
+      structure CellsBasis = gs_1
+      signature INSTRUCTION_EMITTER = gs_28
+      structure Int32 = gs_10
+      structure LargeWord = gs_24
+      signature MC_EMIT = gs_21
+      signature MEMORY_REGISTERS = gs_20
+      signature MLRISC_ERROR_MSG = gs_2
+      structure MLRiscErrorMsg = gs_3
+      signature MLTREE_EVAL = gs_29
+      structure Option = gs_26
+      structure Word = gs_27
+      structure Word32 = gs_22
+      structure Word8 = gs_23
+      structure Word8Vector = gs_25
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      signature X86SHUFFLE = gs_30
+      ../x86/x86MC.sml
+   in
+      functor gs_31 = X86MCEmitter
+   end
+   local
+      open l4
+   in
+      functor gs_32 = Shuffle
+   end
+   local
+      open l35
+   in
+      structure gs_33 = List
+   end
+   local
+      structure CellsBasis = gs_1
+      structure List = gs_33
+      functor Shuffle = gs_32
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      signature X86SHUFFLE = gs_30
+      ../x86/instructions/x86Shuffle.sml
+   in
+      functor gs_34 = X86Shuffle
+   end
+   local
+      open l4
+   in
+      signature gs_35 = CONTROL_FLOW_GRAPH
+   end
+   local
+      open l4
+   in
+      signature gs_36 = MLTREE_STREAM
+   end
+   local
+      ../x86/instructions/x86instr-ext.sml
+   in
+      structure gs_37 = X86InstrExt
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_35
+      signature MLRISC_ERROR_MSG = gs_2
+      structure MLRiscErrorMsg = gs_3
+      signature MLTREE_STREAM = gs_36
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      structure X86InstrExt = gs_37
+      ../x86/instructions/x86comp-instr-ext.sml
+   in
+      signature gs_38 = X86COMP_INSTR_EXT
+      functor gs_39 = X86CompInstrExt
+   end
+   local
+      open l4
+   in
+      signature gs_40 = PSEUDO_OPS_BASIS
+   end
+   local
+      open l4
+   in
+      signature gs_41 = GAS_PSEUDO_OPS
+      functor gs_42 = GasPseudoOps
+   end
+   local
+      open l4
+   in
+      functor gs_43 = PseudoOpsLittle
+   end
+   local
+      open l138
+   in
+      structure gs_44 = Format
+   end
+   local
+      open l4
+   in
+      structure gs_45 = PseudoOpsBasisTyp
+   end
+   local
+      structure Format = gs_44
+      signature GAS_PSEUDO_OPS = gs_41
+      functor GasPseudoOps = gs_42
+      signature MLRISC_ERROR_MSG = gs_2
+      structure MLRiscErrorMsg = gs_3
+      signature MLTREE = gs_7
+      signature MLTREE_EVAL = gs_29
+      signature PSEUDO_OPS_BASIS = gs_40
+      structure PseudoOpsBasisTyp = gs_45
+      functor PseudoOpsLittle = gs_43
+      structure Word32 = gs_22
+      ../x86/flowgraph/x86GasPseudoOps.sml
+   in
+      functor gs_46 = X86GasPseudoOps
+   end
+   local
+      open l4
+   in
+      signature gs_47 = C_CALLS
+   end
+   local
+      open l4
+   in
+      structure gs_48 = CTypes
+   end
+   local
+      open l138
+   in
+      structure gs_49 = IntInf
+   end
+   local
+      open l4
+   in
+      structure gs_50 = MLRiscAnnotations
+   end
+   local
+      open l35
+   in
+      structure gs_51 = String
+   end
+   local
+      structure CTypes = gs_48
+      signature C_CALLS = gs_47
+      structure Int = gs_13
+      structure Int32 = gs_10
+      structure IntInf = gs_49
+      structure List = gs_33
+      signature MLRISC_ERROR_MSG = gs_2
+      structure MLRiscAnnotations = gs_50
+      structure MLRiscErrorMsg = gs_3
+      signature MLTREE = gs_7
+      structure String = gs_51
+      structure Word = gs_27
+      signature X86CELLS = gs_15
+      structure X86Cells = gs_16
+      structure X86InstrExt = gs_37
+      ../x86/c-calls/ia32-svid.sml
+   in
+      functor gs_52 = IA32SVID_CCalls
+   end
+   local
+      open l4
+   in
+      signature gs_53 = FREQUENCY_PROPERTIES
+   end
+   local
+      open l39
+   in
+      signature gs_54 = PROBABILITY
+      structure gs_55 = Probability
+   end
+   local
+      signature FREQUENCY_PROPERTIES = gs_53
+      structure MLRiscAnnotations = gs_50
+      signature PROBABILITY = gs_54
+      structure Probability = gs_55
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      ../x86/instructions/x86FreqProps.sml
+   in
+      functor gs_56 = X86FreqProps
+   end
+   local
+      open l4
+   in
+      signature gs_57 = MLTREE_HASH
+   end
+   local
+      structure CellsBasis = gs_1
+      signature INSN_PROPERTIES = gs_4
+      structure Int = gs_13
+      structure Int32 = gs_10
+      structure Label = gs_9
+      signature MLRISC_ERROR_MSG = gs_2
+      structure MLRiscErrorMsg = gs_3
+      signature MLTREE_EVAL = gs_29
+      signature MLTREE_HASH = gs_57
+      structure Word = gs_27
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      ../x86/instructions/x86Props.sml
+   in
+      functor gs_58 = X86Props
+   end
+   local
+      open l4
+   in
+      signature gs_59 = SDI_JUMPS
+   end
+   local
+      signature MC_EMIT = gs_21
+      signature MLRISC_ERROR_MSG = gs_2
+      structure MLRiscErrorMsg = gs_3
+      signature MLTREE_EVAL = gs_29
+      signature SDI_JUMPS = gs_59
+      structure Word8Vector = gs_25
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      signature X86SHUFFLE = gs_30
+      ../x86/backpatch/x86Jumps.sml
+   in
+      functor gs_60 = X86Jumps
+   end
+   local
+      signature CELLS_BASIS = gs_8
+      structure CellsBasis = gs_1
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      ../x86/ra/x86Rewrite.sig
+   in
+      signature gs_61 = X86REWRITE
+   end
+   local
+      open l4
+   in
+      signature gs_62 = CFG_OPTIMIZATION
+   end
+   local
+      open l4
+   in
+      functor gs_63 = GetReg
+   end
+   local
+      open l4
+   in
+      functor gs_64 = RegisterAllocator
+   end
+   local
+      open l4
+   in
+      functor gs_65 = MemoryRA
+   end
+   local
+      open l4
+   in
+      functor gs_66 = RADeadCodeElim
+   end
+   local
+      open l4
+   in
+      functor gs_67 = ClusterRA
+   end
+   local
+      open l4
+   in
+      signature gs_68 = LIVENESS
+      functor gs_69 = Liveness
+   end
+   local
+      open l4
+   in
+      signature gs_70 = PRINT_FLOWGRAPH
+      functor gs_71 = PrintFlowgraph
+   end
+   local
+      open l138
+   in
+      structure gs_72 = IntHashTable
+   end
+   local
+      open l12
+   in
+      signature gs_73 = MLRISC_CONTROL
+      structure gs_74 = MLRiscControl
+   end
+   local
+      open l230
+   in
+      structure gs_75 = Graph
+   end
+   local
+      open l35
+   in
+      structure gs_76 = Array
+   end
+   local
+      open l4
+   in
+      signature gs_77 = RA_SPILL
+   end
+   local
+      open l4
+   in
+      signature gs_78 = RA_SPILL_HEURISTICS
+   end
+   local
+      open l4
+   in
+      structure gs_79 = RAGraph
+   end
+   local
+      open l138
+   in
+      structure gs_80 = IntRedBlackMap
+   end
+   local
+      open l39
+   in
+      structure gs_81 = StringOutStream
+   end
+   local
+      open l4
+   in
+      signature gs_82 = ASM_STREAM
+      structure gs_83 = AsmStream
+   end
+   local
+      open l138
+   in
+      structure gs_84 = ListMergeSort
+   end
+   local
+      open l35
+   in
+      structure gs_85 = TextIO
+   end
+   local
+      open l35
+   in
+      structure gs_86 = ListPair
+   end
+   local
+      signature ASM_STREAM = gs_82
+      structure Annotations = gs_11
+      structure Array = gs_76
+      structure AsmStream = gs_83
+      signature CFG_OPTIMIZATION = gs_62
+      signature CONTROL_FLOW_GRAPH = gs_35
+      structure CellsBasis = gs_1
+      structure Graph = gs_75
+      signature INSN_PROPERTIES = gs_4
+      signature INSTRUCTION_EMITTER = gs_28
+      structure Int = gs_13
+      structure IntHashTable = gs_72
+      structure IntRedBlackMap = gs_80
+      signature LIVENESS = gs_68
+      structure Label = gs_9
+      structure List = gs_33
+      structure ListMergeSort = gs_84
+      structure ListPair = gs_86
+      functor Liveness = gs_69
+      signature MLRISC_CONTROL = gs_73
+      signature MLRISC_ERROR_MSG = gs_2
+      structure MLRiscAnnotations = gs_50
+      structure MLRiscControl = gs_74
+      structure MLRiscErrorMsg = gs_3
+      structure String = gs_51
+      structure StringOutStream = gs_81
+      structure TextIO = gs_85
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      ../x86/mltree/x86-fp.sml
+   in
+      functor gs_87 = X86FP
+   end
+   local
+      structure Annotations = gs_11
+      structure Array = gs_76
+      signature CFG_OPTIMIZATION = gs_62
+      signature CONTROL_FLOW_GRAPH = gs_35
+      structure CellsBasis = gs_1
+      functor ClusterRA = gs_67
+      functor GetReg = gs_63
+      structure Graph = gs_75
+      signature INSN_PROPERTIES = gs_4
+      signature INSTRUCTION_EMITTER = gs_28
+      structure IntHashTable = gs_72
+      signature LIVENESS = gs_68
+      structure List = gs_33
+      functor Liveness = gs_69
+      signature MLRISC_CONTROL = gs_73
+      signature MLRISC_ERROR_MSG = gs_2
+      structure MLRiscControl = gs_74
+      structure MLRiscErrorMsg = gs_3
+      functor MemoryRA = gs_65
+      signature PRINT_FLOWGRAPH = gs_70
+      functor PrintFlowgraph = gs_71
+      functor RADeadCodeElim = gs_66
+      structure RAGraph = gs_79
+      signature RA_SPILL = gs_77
+      signature RA_SPILL_HEURISTICS = gs_78
+      functor RegisterAllocator = gs_64
+      functor X86FP = gs_87
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      functor X86SpillInstr = gs_19
+      ../x86/ra/x86RA.sml
+   in
+      functor gs_88 = X86RA
+   end
+   local
+      open l4
+   in
+      signature gs_89 = OMIT_FRAME_POINTER
+   end
+   local
+      open l35
+   in
+      structure gs_90 = General
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_35
+      structure CellsBasis = gs_1
+      structure General = gs_90
+      structure Graph = gs_75
+      structure Int32 = gs_10
+      structure IntHashTable = gs_72
+      structure ListPair = gs_86
+      signature MEMORY_REGISTERS = gs_20
+      signature MLRISC_CONTROL = gs_73
+      signature MLRISC_ERROR_MSG = gs_2
+      structure MLRiscAnnotations = gs_50
+      structure MLRiscControl = gs_74
+      structure MLRiscErrorMsg = gs_3
+      signature OMIT_FRAME_POINTER = gs_89
+      structure Option = gs_26
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      ../x86/omit-frameptr/x86omit-frameptr.sml
+   in
+      functor gs_91 = X86OmitFramePointer
+   end
+   local
+      open l4
+   in
+      signature gs_92 = ASM_FORMAT_UTIL
+      structure gs_93 = AsmFormatUtil
+   end
+   local
+      open l35
+   in
+      structure gs_94 = Char
+   end
+   local
+      open l4
+   in
+      structure gs_95 = AsmFlags
+   end
+   local
+      open l4
+   in
+      signature gs_96 = INSTRUCTION_STREAM
+   end
+   local
+      signature ASM_FORMAT_UTIL = gs_92
+      signature ASM_STREAM = gs_82
+      structure Annotations = gs_11
+      structure AsmFlags = gs_95
+      structure AsmFormatUtil = gs_93
+      structure AsmStream = gs_83
+      structure CellsBasis = gs_1
+      structure Char = gs_94
+      signature INSTRUCTION_EMITTER = gs_28
+      signature INSTRUCTION_STREAM = gs_96
+      structure Int = gs_13
+      structure Int32 = gs_10
+      signature MEMORY_REGISTERS = gs_20
+      signature MLRISC_ERROR_MSG = gs_2
+      structure MLRiscErrorMsg = gs_3
+      signature MLTREE_EVAL = gs_29
+      structure Option = gs_26
+      structure String = gs_51
+      structure TextIO = gs_85
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      signature X86SHUFFLE = gs_30
+      ../x86/emit/x86Asm.sml
+   in
+      functor gs_97 = X86AsmEmitter
+   end
+   local
+      structure CellsBasis = gs_1
+      signature MLRISC_ERROR_MSG = gs_2
+      structure MLRiscErrorMsg = gs_3
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      signature X86REWRITE = gs_61
+      ../x86/ra/x86Rewrite.sml
+   in
+      functor gs_98 = X86Rewrite
+   end
+   local
+      open l4
+   in
+      functor gs_99 = MLTreeGen
+   end
+   local
+      open l4
+   in
+      signature gs_100 = MLTREECOMP
+      signature gs_101 = MLTREE_EXTENSION_COMP
+   end
+   local
+      open l311
+   in
+      signature gs_102 = MLTREE_UTILS
+   end
+   local
+      structure Annotations = gs_11
+      structure CellsBasis = gs_1
+      structure Int = gs_13
+      structure Int32 = gs_10
+      structure Label = gs_9
+      structure List = gs_33
+      signature MLRISC_ERROR_MSG = gs_2
+      structure MLRiscAnnotations = gs_50
+      structure MLRiscErrorMsg = gs_3
+      signature MLTREECOMP = gs_100
+      signature MLTREE_EXTENSION_COMP = gs_101
+      signature MLTREE_STREAM = gs_36
+      signature MLTREE_UTILS = gs_102
+      functor MLTreeGen = gs_99
+      signature PROBABILITY = gs_54
+      structure Probability = gs_55
+      functor Shuffle = gs_32
+      structure Word = gs_27
+      structure Word32 = gs_22
+      signature X86INSTR = gs_17
+      functor X86Instr = gs_18
+      ../x86/mltree/x86.sml
+   in
+      functor gs_103 = X86
+   end
+in
+   functor IA32SVID_CCalls = gs_52
+   signature MEMORY_REGISTERS = gs_20
+   functor X86 = gs_103
+   functor X86AsmEmitter = gs_97
+   signature X86CELLS = gs_15
+   signature X86COMP_INSTR_EXT = gs_38
+   structure X86Cells = gs_16
+   functor X86CompInstrExt = gs_39
+   functor X86FP = gs_87
+   functor X86FreqProps = gs_56
+   functor X86GasPseudoOps = gs_46
+   signature X86INSTR = gs_17
+   functor X86Instr = gs_18
+   structure X86InstrExt = gs_37
+   functor X86Jumps = gs_60
+   functor X86MCEmitter = gs_31
+   functor X86OmitFramePointer = gs_91
+   functor X86Props = gs_58
+   functor X86RA = gs_88
+   signature X86REWRITE = gs_61
+   functor X86Rewrite = gs_98
+   signature X86SHUFFLE = gs_30
+   functor X86Shuffle = gs_34
+   functor X86SpillInstr = gs_19
+end
+end
+
+end
diff -Naur MLRISC/mlb/IA32-Peephole.mlb MLRISC-mlton/mlb/IA32-Peephole.mlb
--- MLRISC/mlb/IA32-Peephole.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlb/IA32-Peephole.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,60 @@
+
+ann
+  "nonexhaustiveMatch warn" "redundantMatch warn"
+  "sequenceNonUnit ignore"
+  "warnUnused false" "forceUsed"
+in
+
+local
+  basis l8 = 
+    bas
+      (* $MLRISC.cm(=$SMLNJ-MLRISC)/MLRISC.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/MLRISC.mlb
+    end
+  basis l16 = 
+    bas
+      (* $IA32.cm(=$SMLNJ-MLRISC)/IA32.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/IA32.mlb
+    end
+  basis l4 = 
+    bas
+      (* $Peephole.cm(=$SMLNJ-MLRISC)/Peephole.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Peephole.mlb
+    end
+in
+local
+   $(SML_LIB)/basis/pervasive.mlb
+   local
+      open l4
+   in
+      signature gs_0 = PEEPHOLE
+   end
+   local
+      open l8
+   in
+      structure gs_1 = CellsBasis
+   end
+   local
+      open l8
+   in
+      signature gs_2 = MLTREE_EVAL
+   end
+   local
+      open l16
+   in
+      signature gs_3 = X86INSTR
+      functor gs_4 = X86Instr
+   end
+   local
+      structure CellsBasis = gs_1
+      signature MLTREE_EVAL = gs_2
+      signature PEEPHOLE = gs_0
+      signature X86INSTR = gs_3
+      functor X86Instr = gs_4
+      ../x86/instructions/x86Peephole.sml
+   in
+      functor gs_5 = X86Peephole
+   end
+in
+   functor X86Peephole = gs_5
+end
+end
+
+end
diff -Naur MLRISC/mlb/Lib.mlb MLRISC-mlton/mlb/Lib.mlb
--- MLRISC/mlb/Lib.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlb/Lib.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,267 @@
+
+ann
+  "nonexhaustiveMatch warn" "redundantMatch warn"
+  "sequenceNonUnit ignore"
+  "warnUnused false" "forceUsed"
+in
+
+local
+  basis l4 = 
+    bas
+      (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb
+    end
+  basis l60 = 
+    bas
+      (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
+    end
+in
+local
+   $(SML_LIB)/basis/pervasive.mlb
+   local
+      open l4
+   in
+      structure gs_0 = ArraySlice
+   end
+   local
+      open l4
+   in
+      structure gs_1 = Array
+   end
+   local
+      open l4
+   in
+      structure gs_2 = Vector
+   end
+   local
+      open l4
+   in
+      structure gs_3 = General
+   end
+   local
+      open l4
+   in
+      structure gs_4 = List
+   end
+   local
+      open l4
+   in
+      structure gs_5 = Int
+   end
+   local
+      structure Array = gs_1
+      structure ArraySlice = gs_0
+      structure General = gs_3
+      structure Int = gs_5
+      structure List = gs_4
+      structure Vector = gs_2
+      ../library/dynamic-array.sml
+   in
+      structure gs_6 = DynArray
+   end
+   local
+      open l4
+   in
+      structure gs_7 = String
+   end
+   local
+      open l4
+   in
+      structure gs_8 = Word
+   end
+   local
+      open l4
+   in
+      structure gs_9 = Word8
+   end
+   local
+      open l4
+   in
+      structure gs_10 = Word8Array
+   end
+   local
+      ../library/bitset.sig
+   in
+      signature gs_11 = BITSET
+   end
+   local
+      signature BITSET = gs_11
+      structure String = gs_7
+      structure Word = gs_8
+      structure Word8 = gs_9
+      structure Word8Array = gs_10
+      ../library/bitset.sml
+   in
+      structure gs_12 = BitSet
+   end
+   local
+      open l4
+   in
+      structure gs_13 = TextIO
+   end
+   local
+      structure TextIO = gs_13
+      ../library/stringOutStream.sig
+   in
+      signature gs_14 = STRING_OUTSTREAM
+   end
+   local
+      structure String = gs_7
+      ../library/line-break.sml
+   in
+      signature gs_15 = LINE_BREAK
+      structure gs_16 = LineBreak
+   end
+   local
+      open l4
+   in
+      structure gs_17 = Real
+   end
+   local
+      open l60
+   in
+      structure gs_18 = IntInf
+   end
+   local
+      structure Int = gs_5
+      structure IntInf = gs_18
+      structure List = gs_4
+      structure Real = gs_17
+      ../library/probability.sml
+   in
+      signature gs_19 = PROBABILITY
+      structure gs_20 = Probability
+   end
+   local
+      open l4
+   in
+      structure gs_21 = TextPrimIO
+   end
+   local
+      open l4
+   in
+      structure gs_22 = CharArraySlice
+   end
+   local
+      open l4
+   in
+      structure gs_23 = CharVectorSlice
+   end
+   local
+      open l4
+   in
+      structure gs_24 = IO
+   end
+   local
+      structure CharArraySlice = gs_22
+      structure CharVectorSlice = gs_23
+      structure IO = gs_24
+      structure List = gs_4
+      signature STRING_OUTSTREAM = gs_14
+      structure String = gs_7
+      structure TextIO = gs_13
+      structure TextPrimIO = gs_21
+      ../library/stringOutStream.sml
+   in
+      structure gs_25 = StringOutStream
+   end
+   local
+      ../library/catlist.sml
+   in
+      signature gs_26 = CATNETABLE_LIST
+      structure gs_27 = CatnetableList
+   end
+   local
+      ../library/priQueue.sig
+   in
+      signature gs_28 = PRIORITY_QUEUE
+   end
+   local
+      structure Array = gs_1
+      signature PRIORITY_QUEUE = gs_28
+      ../library/heap.sml
+   in
+      structure gs_29 = PriorityHeap
+   end
+   local
+      ../library/annotations.sig
+   in
+      signature gs_30 = ANNOTATIONS
+   end
+   local
+      signature ANNOTATIONS = gs_30
+      ../library/annotations.sml
+   in
+      structure gs_31 = Annotations
+   end
+   local
+      structure Array = gs_1
+      structure List = gs_4
+      structure Vector = gs_2
+      structure Word = gs_8
+      ../library/hash-array.sml
+   in
+      structure gs_32 = HashArray
+   end
+   local
+      ../library/cache.sml
+   in
+      signature gs_33 = CACHE_REF
+      structure gs_34 = CacheRef
+   end
+   local
+      ../library/sortedlist.sml
+   in
+      structure gs_35 = SortedList
+   end
+   local
+      structure Int = gs_5
+      signature PRIORITY_QUEUE = gs_28
+      ../library/priQueue.sml
+   in
+      structure gs_36 = PriorityQueue
+   end
+   local
+      open l4
+   in
+      signature gs_37 = INTEGER
+   end
+   local
+      signature INTEGER = gs_37
+      ../library/freq.sig
+   in
+      signature gs_38 = FREQ
+   end
+   local
+      signature FREQ = gs_38
+      structure Int = gs_5
+      ../library/freq.sml
+   in
+      structure gs_39 = Freq
+   end
+in
+   signature ANNOTATIONS = gs_30
+   structure Annotations = gs_31
+   signature BITSET = gs_11
+   structure BitSet = gs_12
+   signature CACHE_REF = gs_33
+   signature CATNETABLE_LIST = gs_26
+   structure CacheRef = gs_34
+   structure CatnetableList = gs_27
+   structure DynArray = gs_6
+   signature FREQ = gs_38
+   structure Freq = gs_39
+   structure HashArray = gs_32
+   signature LINE_BREAK = gs_15
+   structure LineBreak = gs_16
+   signature PRIORITY_QUEUE = gs_28
+   signature PROBABILITY = gs_19
+   structure PriorityHeap = gs_29
+   structure PriorityQueue = gs_36
+   structure Probability = gs_20
+   signature STRING_OUTSTREAM = gs_14
+   structure SortedList = gs_35
+   structure StringOutStream = gs_25
+end
+end
+
+end
diff -Naur MLRISC/mlb/MLRISC.mlb MLRISC-mlton/mlb/MLRISC.mlb
--- MLRISC/mlb/MLRISC.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlb/MLRISC.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,1705 @@
+
+ann
+  "nonexhaustiveMatch warn" "redundantMatch warn"
+  "sequenceNonUnit ignore"
+  "warnUnused false" "forceUsed"
+in
+
+local
+  basis l13 = 
+    bas
+      (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb
+    end
+  basis l19 = 
+    bas
+      (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
+    end
+  basis l44 = 
+    bas
+      (* $Control.cm(=$SMLNJ-MLRISC)/Control.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Control.mlb
+    end
+  basis l5 = 
+    bas
+      (* $Graphs.cm(=$SMLNJ-MLRISC)/Graphs.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Graphs.mlb
+    end
+  basis l9 = 
+    bas
+      (* $Lib.cm(=$SMLNJ-MLRISC)/Lib.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Lib.mlb
+    end
+in
+local
+   $(SML_LIB)/basis/pervasive.mlb
+   local
+      open l5
+   in
+      structure gs_0 = Graph
+   end
+   local
+      open l9
+   in
+      structure gs_1 = Annotations
+   end
+   local
+      open l13
+   in
+      structure gs_2 = TextIO
+   end
+   local
+      open l19
+   in
+      signature gs_3 = MONO_HASH_TABLE
+   end
+   local
+      open l13
+   in
+      structure gs_4 = Array
+   end
+   local
+      structure Annotations = gs_1
+      structure Array = gs_4
+      signature MONO_HASH_TABLE = gs_3
+      ../instructions/cells-basis.sig
+   in
+      signature gs_5 = CELLS_BASIS
+   end
+   local
+      open l19
+   in
+      functor gs_6 = HashTableFn
+   end
+   local
+      open l13
+   in
+      structure gs_7 = String
+   end
+   local
+      open l13
+   in
+      structure gs_8 = Word
+   end
+   local
+      open l13
+   in
+      structure gs_9 = List
+   end
+   local
+      open l44
+   in
+      signature gs_10 = MLRISC_ERROR_MSG
+      structure gs_11 = MLRiscErrorMsg
+   end
+   local
+      open l13
+   in
+      structure gs_12 = Int
+   end
+   local
+      structure Annotations = gs_1
+      structure Array = gs_4
+      signature CELLS_BASIS = gs_5
+      functor HashTableFn = gs_6
+      structure Int = gs_12
+      structure List = gs_9
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscErrorMsg = gs_11
+      structure String = gs_7
+      structure Word = gs_8
+      ../instructions/cells-basis.sml
+   in
+      structure gs_13 = CellsBasis
+   end
+   local
+      structure CellsBasis = gs_13
+      ../instructions/cells.sig
+   in
+      signature gs_14 = CELLS
+   end
+   local
+      structure Annotations = gs_1
+      signature CELLS = gs_14
+      signature CELLS_BASIS = gs_5
+      structure CellsBasis = gs_13
+      ../instructions/instructions.sig
+   in
+      signature gs_15 = INSTRUCTIONS
+   end
+   local
+      open l13
+   in
+      structure gs_16 = Word8
+   end
+   local
+      open l13
+   in
+      structure gs_17 = Int32
+   end
+   local
+      open l19
+   in
+      structure gs_18 = IntInf
+   end
+   local
+      open l13
+   in
+      structure gs_19 = Word32
+   end
+   local
+      structure Int32 = gs_17
+      structure IntInf = gs_18
+      structure Word32 = gs_19
+      ../mltree/machine-int.sig
+   in
+      signature gs_20 = MACHINE_INT
+   end
+   local
+      ../mltree/mltree-extension.sig
+   in
+      signature gs_21 = MLTREE_EXTENSION
+   end
+   local
+      ../mltree/mltree-basis.sig
+   in
+      signature gs_22 = MLTREE_BASIS
+   end
+   local
+      ../instructions/region.sig
+   in
+      signature gs_23 = REGION
+   end
+   local
+      ../instructions/constant.sig
+   in
+      signature gs_24 = CONSTANT
+   end
+   local
+      ../instructions/label-sig.sml
+   in
+      signature gs_25 = LABEL
+   end
+   local
+      signature LABEL = gs_25
+      structure Word = gs_8
+      ../instructions/label.sml
+   in
+      structure gs_26 = Label
+   end
+   local
+      structure Annotations = gs_1
+      signature CONSTANT = gs_24
+      structure CellsBasis = gs_13
+      structure Int32 = gs_17
+      structure Label = gs_26
+      signature MACHINE_INT = gs_20
+      signature MLTREE_BASIS = gs_22
+      signature MLTREE_EXTENSION = gs_21
+      signature REGION = gs_23
+      ../mltree/mltree.sig
+   in
+      signature gs_27 = MLTREE
+   end
+   local
+      open l19
+   in
+      structure gs_28 = Atom
+   end
+   local
+      structure Atom = gs_28
+      structure Label = gs_26
+      ../flowgraph/pseudo-ops-basis-typ.sml
+   in
+      structure gs_29 = PseudoOpsBasisTyp
+   end
+   local
+      structure Label = gs_26
+      signature MLTREE = gs_27
+      structure PseudoOpsBasisTyp = gs_29
+      structure Word8 = gs_16
+      ../flowgraph/pseudo-ops-basis.sig
+   in
+      signature gs_30 = PSEUDO_OPS_BASIS
+   end
+   local
+      signature PSEUDO_OPS_BASIS = gs_30
+      structure Word8 = gs_16
+      ../flowgraph/client-pseudo-ops.sig
+   in
+      signature gs_31 = CLIENT_PSEUDO_OPS
+   end
+   local
+      signature CLIENT_PSEUDO_OPS = gs_31
+      signature MLTREE = gs_27
+      structure PseudoOpsBasisTyp = gs_29
+      structure Word8 = gs_16
+      ../flowgraph/pseudo-ops.sig
+   in
+      signature gs_32 = PSEUDO_OPS
+   end
+   local
+      structure Annotations = gs_1
+      structure Graph = gs_0
+      signature INSTRUCTIONS = gs_15
+      structure Label = gs_26
+      signature PSEUDO_OPS = gs_32
+      structure TextIO = gs_2
+      ../flowgraph/cfg.sig
+   in
+      signature gs_33 = CONTROL_FLOW_GRAPH
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_33
+      ../emit/asmEmit.sig
+   in
+      signature gs_34 = ASSEMBLY_EMITTER
+   end
+   local
+      open l5
+   in
+      signature gs_35 = GRAPH_IMPLEMENTATION
+   end
+   local
+      structure Array = gs_4
+      signature GRAPH_IMPLEMENTATION = gs_35
+      structure Graph = gs_0
+      ../ir-archive/dominator.sig
+   in
+      signature gs_36 = DOMINATOR_TREE
+   end
+   local
+      structure Array = gs_4
+      signature DOMINATOR_TREE = gs_36
+      signature GRAPH_IMPLEMENTATION = gs_35
+      structure Graph = gs_0
+      ../ir-archive/loop-structure.sig
+   in
+      signature gs_37 = LOOP_STRUCTURE
+   end
+   local
+      open l9
+   in
+      structure gs_38 = BitSet
+   end
+   local
+      open l5
+   in
+      signature gs_39 = REVERSED_GRAPH_VIEW
+      structure gs_40 = ReversedGraphView
+   end
+   local
+      structure Array = gs_4
+      structure BitSet = gs_38
+      signature DOMINATOR_TREE = gs_36
+      signature GRAPH_IMPLEMENTATION = gs_35
+      structure Graph = gs_0
+      structure List = gs_9
+      signature REVERSED_GRAPH_VIEW = gs_39
+      structure ReversedGraphView = gs_40
+      ../ir-archive/dominator.sml
+   in
+      functor gs_41 = DominatorTree
+   end
+   local
+      structure Annotations = gs_1
+      structure Label = gs_26
+      signature PSEUDO_OPS = gs_32
+      ../instructions/stream.sig
+   in
+      signature gs_42 = INSTRUCTION_STREAM
+   end
+   local
+      structure Annotations = gs_1
+      signature INSTRUCTION_STREAM = gs_42
+      structure Label = gs_26
+      signature PSEUDO_OPS = gs_32
+      ../instructions/stream.sml
+   in
+      functor gs_43 = InstructionStream
+   end
+   local
+      signature MLTREE = gs_27
+      ../mltree/mltree-size.sig
+   in
+      signature gs_44 = MLTREE_SIZE
+   end
+   local
+      structure Annotations = gs_1
+      structure CellsBasis = gs_13
+      signature MLTREE = gs_27
+      signature MLTREE_SIZE = gs_44
+      ../mltree/mltree-gen.sig
+   in
+      signature gs_45 = MLTREEGEN
+   end
+   local
+      signature INSTRUCTION_STREAM = gs_42
+      signature MLTREE = gs_27
+      ../mltree/mltree-stream.sig
+   in
+      signature gs_46 = MLTREE_STREAM
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure CellsBasis = gs_13
+      signature INSTRUCTIONS = gs_15
+      signature MLTREE = gs_27
+      signature MLTREEGEN = gs_45
+      signature MLTREE_STREAM = gs_46
+      ../mltree/mltreecomp.sig
+   in
+      signature gs_47 = MLTREECOMP
+      signature gs_48 = MLTREE_EXTENSION_COMP
+   end
+   local
+      open l19
+   in
+      structure gs_49 = Format
+   end
+   local
+      structure TextIO = gs_2
+      ../emit/asmStream.sml
+   in
+      signature gs_50 = ASM_STREAM
+      structure gs_51 = AsmStream
+   end
+   local
+      structure Annotations = gs_1
+      signature INSTRUCTIONS = gs_15
+      signature INSTRUCTION_STREAM = gs_42
+      ../emit/instruction-emitter.sig
+   in
+      signature gs_52 = INSTRUCTION_EMITTER
+   end
+   local
+      signature ASM_STREAM = gs_50
+      structure AsmStream = gs_51
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure Format = gs_49
+      structure Graph = gs_0
+      signature INSTRUCTION_EMITTER = gs_52
+      structure Int = gs_12
+      structure List = gs_9
+      structure TextIO = gs_2
+      ../flowgraph/printFlowgraph.sml
+   in
+      signature gs_53 = PRINT_FLOWGRAPH
+      functor gs_54 = PrintFlowgraph
+   end
+   local
+      structure Array = gs_4
+      ../ra/getreg.sig
+   in
+      signature gs_55 = GETREG
+   end
+   local
+      structure Array = gs_4
+      signature GETREG = gs_55
+      ../ra/getreg.sml
+   in
+      functor gs_56 = GetReg
+   end
+   local
+      signature INSTRUCTIONS = gs_15
+      structure Label = gs_26
+      ../backpatch/delaySlotProps.sig
+   in
+      signature gs_57 = DELAY_SLOT_PROPERTIES
+   end
+   local
+      ../c-calls/c-types.sml
+   in
+      structure gs_58 = CTypes
+   end
+   local
+      structure CTypes = gs_58
+      signature MLTREE = gs_27
+      ../c-calls/c-calls.sig
+   in
+      signature gs_59 = C_CALLS
+   end
+   local
+      signature C_CALLS = gs_59
+      signature MLTREE = gs_27
+      ../c-calls/unimplemented-c-calls.sml
+   in
+      functor gs_60 = UnimplementedCCallsFn
+   end
+   local
+      open l44
+   in
+      signature gs_61 = MLRISC_CONTROL
+      structure gs_62 = MLRiscControl
+   end
+   local
+      open l19
+   in
+      structure gs_63 = ListMergeSort
+   end
+   local
+      signature CELLS_BASIS = gs_5
+      structure CellsBasis = gs_13
+      ../aliasing/pointsTo.sig
+   in
+      signature gs_64 = POINTS_TO
+   end
+   local
+      structure CellsBasis = gs_13
+      structure Int = gs_12
+      structure ListMergeSort = gs_63
+      signature MLRISC_CONTROL = gs_61
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscControl = gs_62
+      structure MLRiscErrorMsg = gs_11
+      signature POINTS_TO = gs_64
+      ../aliasing/pointsTo.sml
+   in
+      structure gs_65 = PointsTo
+   end
+   local
+      open l13
+   in
+      structure gs_66 = Char
+   end
+   local
+      signature MLTREE = gs_27
+      structure PseudoOpsBasisTyp = gs_29
+      structure Word8 = gs_16
+      ../flowgraph/pseudo-ops-endian.sig
+   in
+      signature gs_67 = PSEUDO_OPS_ENDIAN
+   end
+   local
+      structure IntInf = gs_18
+      structure Label = gs_26
+      signature MLTREE = gs_27
+      ../mltree/mltree-eval.sig
+   in
+      signature gs_68 = MLTREE_EVAL
+   end
+   local
+      structure Char = gs_66
+      structure Int = gs_12
+      structure IntInf = gs_18
+      structure Label = gs_26
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscErrorMsg = gs_11
+      signature MLTREE = gs_27
+      signature MLTREE_EVAL = gs_68
+      signature PSEUDO_OPS_ENDIAN = gs_67
+      structure PseudoOpsBasisTyp = gs_29
+      structure String = gs_7
+      structure Word = gs_8
+      structure Word32 = gs_19
+      structure Word8 = gs_16
+      ../flowgraph/pseudo-ops-big.sml
+   in
+      functor gs_69 = PseudoOpsBig
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_33
+      ../backpatch/bbsched.sig
+   in
+      signature gs_70 = BBSCHED
+   end
+   local
+      structure Annotations = gs_1
+      signature CELLS = gs_14
+      structure CellsBasis = gs_13
+      signature INSTRUCTIONS = gs_15
+      structure Label = gs_26
+      ../instructions/insnProps.sig
+   in
+      signature gs_71 = INSN_PROPERTIES
+   end
+   local
+      signature CELLS = gs_14
+      signature INSTRUCTIONS = gs_15
+      structure Label = gs_26
+      ../backpatch/sdi-jumps.sig
+   in
+      signature gs_72 = SDI_JUMPS
+   end
+   local
+      structure Array = gs_4
+      signature BBSCHED = gs_70
+      signature CONTROL_FLOW_GRAPH = gs_33
+      signature DELAY_SLOT_PROPERTIES = gs_57
+      structure Graph = gs_0
+      signature INSN_PROPERTIES = gs_71
+      signature INSTRUCTION_EMITTER = gs_52
+      structure Label = gs_26
+      structure List = gs_9
+      signature MLRISC_CONTROL = gs_61
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscControl = gs_62
+      structure MLRiscErrorMsg = gs_11
+      signature SDI_JUMPS = gs_72
+      ../backpatch/spanDep.sml
+   in
+      functor gs_73 = SpanDependencyResolution
+   end
+   local
+      signature CELLS = gs_14
+      structure CellsBasis = gs_13
+      ../ra/ra-flowgraph-part.sig
+   in
+      signature gs_74 = RA_FLOWGRAPH_PARTITIONER
+   end
+   local
+      structure Word8 = gs_16
+      ../emit/code-string.sig
+   in
+      signature gs_75 = CODE_STRING
+   end
+   local
+      open l9
+   in
+      signature gs_76 = PROBABILITY
+      structure gs_77 = Probability
+   end
+   local
+      open l13
+   in
+      structure gs_78 = Real
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_33
+      ../frequencies/compute-execution-freqs.sig
+   in
+      signature gs_79 = COMPUTE_EXECUTION_FREQUENCIES
+   end
+   local
+      structure Annotations = gs_1
+      signature CELLS_BASIS = gs_5
+      structure CellsBasis = gs_13
+      signature PROBABILITY = gs_76
+      structure Probability = gs_77
+      ../instructions/mlriscAnnotations.sig
+   in
+      signature gs_80 = MLRISC_ANNOTATIONS
+   end
+   local
+      structure Annotations = gs_1
+      structure CellsBasis = gs_13
+      structure Int = gs_12
+      signature MLRISC_ANNOTATIONS = gs_80
+      signature PROBABILITY = gs_76
+      structure Probability = gs_77
+      ../instructions/mlriscAnnotations.sml
+   in
+      structure gs_81 = MLRiscAnnotations
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure Graph = gs_0
+      structure List = gs_9
+      signature MLRISC_CONTROL = gs_61
+      structure MLRiscAnnotations = gs_81
+      structure MLRiscControl = gs_62
+      signature PROBABILITY = gs_76
+      structure Probability = gs_77
+      ../frequencies/complete-probs-fn.sml
+   in
+      functor gs_82 = CompleteProbsFn
+   end
+   local
+      structure Array = gs_4
+      signature COMPUTE_EXECUTION_FREQUENCIES = gs_79
+      signature CONTROL_FLOW_GRAPH = gs_33
+      functor CompleteProbsFn = gs_82
+      structure Format = gs_49
+      structure Graph = gs_0
+      structure Int = gs_12
+      structure List = gs_9
+      signature MLRISC_CONTROL = gs_61
+      structure MLRiscControl = gs_62
+      signature PROBABILITY = gs_76
+      structure Probability = gs_77
+      structure Real = gs_78
+      structure TextIO = gs_2
+      ../frequencies/compute-freqs-fn.sml
+   in
+      functor gs_83 = ComputeFreqsFn
+   end
+   local
+      signature MLTREE = gs_27
+      ../mltree/mltree-hash.sig
+   in
+      signature gs_84 = MLTREE_HASH
+   end
+   local
+      ../aliasing/mlriscRegion.sig
+   in
+      signature gs_85 = MLRISC_REGION
+   end
+   local
+      ../instructions/mlriscOptimization.sig
+   in
+      signature gs_86 = MLRISC_OPTIMIZATION
+   end
+   local
+      structure CellsBasis = gs_13
+      signature INSTRUCTIONS = gs_15
+      ../instructions/shuffle.sig
+   in
+      signature gs_87 = SHUFFLE
+   end
+   local
+      signature CELLS_BASIS = gs_5
+      structure CellsBasis = gs_13
+      signature INSTRUCTIONS = gs_15
+      ../ra/arch-spill-instr.sig
+   in
+      signature gs_88 = ARCH_SPILL_INSTR
+   end
+   local
+      structure Atom = gs_28
+      structure Format = gs_49
+      structure Int = gs_12
+      structure IntInf = gs_18
+      structure Label = gs_26
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscErrorMsg = gs_11
+      signature MLTREE = gs_27
+      structure PseudoOpsBasisTyp = gs_29
+      structure String = gs_7
+      ../flowgraph/gasPseudoOps.sml
+   in
+      signature gs_89 = GAS_PSEUDO_OPS
+      functor gs_90 = GasPseudoOps
+   end
+   local
+      structure Array = gs_4
+      ../ra/ra-bitmatrix.sig
+   in
+      signature gs_91 = RA_BITMATRIX
+   end
+   local
+      ../ra/ra-priqueue.sig
+   in
+      signature gs_92 = RA_PRIORITY_QUEUE
+   end
+   local
+      open l13
+   in
+      structure gs_93 = Unsafe
+   end
+   local
+      structure Array = gs_4
+      signature RA_BITMATRIX = gs_91
+      structure Unsafe = gs_93
+      structure Word = gs_8
+      ../ra/raBitmatrix.sml
+   in
+      structure gs_94 = RaBitmatrix
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure Graph = gs_0
+      signature INSN_PROPERTIES = gs_71
+      structure Label = gs_26
+      structure List = gs_9
+      signature MLRISC_CONTROL = gs_61
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscControl = gs_62
+      structure MLRiscErrorMsg = gs_11
+      structure TextIO = gs_2
+      ../block-placement/jump-chain-elim-fn.sml
+   in
+      functor gs_95 = JumpChainElimFn
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_33
+      ../flowgraph/cfg-optimization.sig
+   in
+      signature gs_96 = CFG_OPTIMIZATION
+   end
+   local
+      signature CFG_OPTIMIZATION = gs_96
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure CellsBasis = gs_13
+      structure Graph = gs_0
+      structure List = gs_9
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscErrorMsg = gs_11
+      signature SHUFFLE = gs_87
+      ../flowgraph/cfgExpandCopies.sml
+   in
+      functor gs_97 = CFGExpandCopies
+   end
+   local
+      signature INSTRUCTION_STREAM = gs_42
+      signature MLTREE = gs_27
+      signature MLTREE_STREAM = gs_46
+      ../mltree/mltree-stream.sml
+   in
+      functor gs_98 = MLTreeStream
+   end
+   local
+      structure Char = gs_66
+      structure Int = gs_12
+      structure IntInf = gs_18
+      structure Label = gs_26
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscErrorMsg = gs_11
+      signature MLTREE = gs_27
+      signature MLTREE_EVAL = gs_68
+      signature PSEUDO_OPS_ENDIAN = gs_67
+      structure PseudoOpsBasisTyp = gs_29
+      structure String = gs_7
+      structure Word = gs_8
+      structure Word32 = gs_19
+      structure Word8 = gs_16
+      ../flowgraph/pseudo-ops-little.sml
+   in
+      functor gs_99 = PseudoOpsLittle
+   end
+   local
+      signature MLTREE = gs_27
+      signature MLTREE_SIZE = gs_44
+      ../mltree/mltree-size.sml
+   in
+      functor gs_100 = MLTreeSize
+   end
+   local
+      signature CELLS = gs_14
+      structure CellsBasis = gs_13
+      structure Int = gs_12
+      structure Label = gs_26
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscErrorMsg = gs_11
+      signature MLTREE = gs_27
+      signature MLTREEGEN = gs_45
+      functor MLTreeSize = gs_100
+      ../mltree/mltree-gen.sml
+   in
+      functor gs_101 = MLTreeGen
+   end
+   local
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscErrorMsg = gs_11
+      signature MLTREE_BASIS = gs_22
+      ../mltree/mltree-basis.sml
+   in
+      structure gs_102 = MLTreeBasis
+   end
+   local
+      signature CLIENT_PSEUDO_OPS = gs_31
+      signature PSEUDO_OPS = gs_32
+      structure PseudoOpsBasisTyp = gs_29
+      ../flowgraph/pseudo-ops.sml
+   in
+      functor gs_103 = PseudoOps
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_33
+      ../block-placement/block-placement.sig
+   in
+      signature gs_104 = BLOCK_PLACEMENT
+   end
+   local
+      open l19
+   in
+      structure gs_105 = IntHashTable
+   end
+   local
+      structure Array = gs_4
+      signature CELLS_BASIS = gs_5
+      structure IntHashTable = gs_105
+      signature MONO_HASH_TABLE = gs_3
+      signature RA_BITMATRIX = gs_91
+      structure RaBitmatrix = gs_94
+      ../ra/ra-graph.sig
+   in
+      signature gs_106 = RA_GRAPH
+   end
+   local
+      structure Array = gs_4
+      structure CellsBasis = gs_13
+      functor HashTableFn = gs_6
+      structure IntHashTable = gs_105
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscErrorMsg = gs_11
+      signature RA_GRAPH = gs_106
+      structure RaBitmatrix = gs_94
+      structure Word = gs_8
+      ../ra/ra-graph.sml
+   in
+      structure gs_107 = RAGraph
+   end
+   local
+      structure Annotations = gs_1
+      signature CELLS = gs_14
+      signature CELLS_BASIS = gs_5
+      structure CellsBasis = gs_13
+      signature INSTRUCTIONS = gs_15
+      structure RAGraph = gs_107
+      signature RA_GRAPH = gs_106
+      ../ra/ra-spill.sig
+   in
+      signature gs_108 = RA_SPILL
+   end
+   local
+      signature INSTRUCTIONS = gs_15
+      signature PROBABILITY = gs_76
+      structure Probability = gs_77
+      ../instructions/freqProps.sig
+   in
+      signature gs_109 = FREQUENCY_PROPERTIES
+   end
+   local
+      signature FREQUENCY_PROPERTIES = gs_109
+      signature INSN_PROPERTIES = gs_71
+      structure MLRiscAnnotations = gs_81
+      signature PROBABILITY = gs_76
+      structure Probability = gs_77
+      ../instructions/freqProps.sml
+   in
+      functor gs_110 = FreqProps
+   end
+   local
+      structure Annotations = gs_1
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure Format = gs_49
+      structure Graph = gs_0
+      signature INSN_PROPERTIES = gs_71
+      signature INSTRUCTIONS = gs_15
+      signature INSTRUCTION_STREAM = gs_42
+      structure IntHashTable = gs_105
+      structure Label = gs_26
+      structure List = gs_9
+      signature MLRISC_CONTROL = gs_61
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscAnnotations = gs_81
+      structure MLRiscControl = gs_62
+      structure MLRiscErrorMsg = gs_11
+      signature PSEUDO_OPS = gs_32
+      structure PseudoOpsBasisTyp = gs_29
+      structure Word = gs_8
+      ../flowgraph/buildFlowgraph.sml
+   in
+      functor gs_111 = BuildFlowgraph
+      signature gs_112 = CONTROL_FLOWGRAPH_GEN
+   end
+   local
+      structure RAGraph = gs_107
+      signature RA_GRAPH = gs_106
+      ../ra/ra-spillheur.sig
+   in
+      signature gs_113 = RA_SPILL_HEURISTICS
+   end
+   local
+      signature MLRISC_CONTROL = gs_61
+      structure MLRiscControl = gs_62
+      ../emit/asm-flags.sml
+   in
+      structure gs_114 = AsmFlags
+   end
+   local
+      structure Annotations = gs_1
+      structure IntInf = gs_18
+      ../gc-safety/gc-type.sig
+   in
+      signature gs_115 = GC_TYPE
+   end
+   local
+      structure Annotations = gs_1
+      signature CELLS = gs_14
+      signature CELLS_BASIS = gs_5
+      structure CellsBasis = gs_13
+      signature GC_TYPE = gs_115
+      ../gc-safety/gc-cells.sig
+   in
+      signature gs_116 = GC_CELLS
+   end
+   local
+      structure Annotations = gs_1
+      signature CELLS = gs_14
+      structure CellsBasis = gs_13
+      signature INSTRUCTIONS = gs_15
+      structure RAGraph = gs_107
+      signature RA_GRAPH = gs_106
+      signature RA_SPILL = gs_108
+      structure TextIO = gs_2
+      ../ra/ra-flowgraph.sig
+   in
+      signature gs_117 = RA_FLOWGRAPH
+   end
+   local
+      structure Array = gs_4
+      signature CELLS = gs_14
+      signature CELLS_BASIS = gs_5
+      structure CellsBasis = gs_13
+      signature INSTRUCTIONS = gs_15
+      structure RAGraph = gs_107
+      signature RA_FLOWGRAPH = gs_117
+      ../ra/ra.sig
+   in
+      signature gs_118 = RA
+   end
+   local
+      open l13
+   in
+      structure gs_119 = Word8Array
+   end
+   local
+      structure RAGraph = gs_107
+      signature RA_BITMATRIX = gs_91
+      signature RA_GRAPH = gs_106
+      signature RA_PRIORITY_QUEUE = gs_92
+      structure TextIO = gs_2
+      ../ra/ra-core.sig
+   in
+      signature gs_120 = RA_CORE
+   end
+   local
+      signature RA_PRIORITY_QUEUE = gs_92
+      ../ra/raPriQueue.sml
+   in
+      functor gs_121 = RaPriQueue
+   end
+   local
+      structure Array = gs_4
+      structure Int = gs_12
+      structure IntHashTable = gs_105
+      structure List = gs_9
+      structure ListMergeSort = gs_63
+      signature MLRISC_CONTROL = gs_61
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscControl = gs_62
+      structure MLRiscErrorMsg = gs_11
+      structure RAGraph = gs_107
+      signature RA_CORE = gs_120
+      functor RaPriQueue = gs_121
+      structure Real = gs_78
+      structure TextIO = gs_2
+      structure Unsafe = gs_93
+      structure Word = gs_8
+      structure Word8 = gs_16
+      structure Word8Array = gs_119
+      ../ra/ra-core.sml
+   in
+      structure gs_122 = RACore
+   end
+   local
+      structure Array = gs_4
+      structure CellsBasis = gs_13
+      structure Int = gs_12
+      structure IntHashTable = gs_105
+      signature MLRISC_CONTROL = gs_61
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscControl = gs_62
+      structure MLRiscErrorMsg = gs_11
+      signature RA = gs_118
+      structure RACore = gs_122
+      signature RA_FLOWGRAPH = gs_117
+      signature RA_SPILL_HEURISTICS = gs_113
+      structure Real = gs_78
+      structure TextIO = gs_2
+      structure Word = gs_8
+      ../ra/ra.sml
+   in
+      functor gs_123 = RegisterAllocator
+   end
+   local
+      structure CellsBasis = gs_13
+      structure IntHashTable = gs_105
+      structure RACore = gs_122
+      signature RA_FLOWGRAPH = gs_117
+      structure Word = gs_8
+      ../ra/ra-deadCodeE.sml
+   in
+      functor gs_124 = RADeadCodeElim
+   end
+   local
+      open l19
+   in
+      structure gs_125 = URef
+   end
+   local
+      structure Array = gs_4
+      signature DOMINATOR_TREE = gs_36
+      signature GRAPH_IMPLEMENTATION = gs_35
+      structure Graph = gs_0
+      signature LOOP_STRUCTURE = gs_37
+      structure List = gs_9
+      structure URef = gs_125
+      ../ir-archive/loop-structure.sml
+   in
+      functor gs_126 = LoopStructure
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure Graph = gs_0
+      signature INSN_PROPERTIES = gs_71
+      signature INSTRUCTION_EMITTER = gs_52
+      structure Label = gs_26
+      structure List = gs_9
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscErrorMsg = gs_11
+      signature SDI_JUMPS = gs_72
+      ../backpatch/backpatch.sml
+   in
+      functor gs_127 = BBSched2
+   end
+   local
+      structure Array = gs_4
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure CellsBasis = gs_13
+      structure Graph = gs_0
+      signature INSN_PROPERTIES = gs_71
+      signature INSTRUCTION_EMITTER = gs_52
+      structure Int = gs_12
+      structure IntHashTable = gs_105
+      structure List = gs_9
+      structure ListMergeSort = gs_63
+      signature MLRISC_CONTROL = gs_61
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscControl = gs_62
+      structure MLRiscErrorMsg = gs_11
+      structure RACore = gs_122
+      structure RAGraph = gs_107
+      signature RA_FLOWGRAPH = gs_117
+      signature RA_SPILL = gs_108
+      structure TextIO = gs_2
+      structure Unsafe = gs_93
+      structure Word = gs_8
+      ../ra/cluster-ra.sml
+   in
+      functor gs_128 = ClusterRA
+   end
+   local
+      structure RACore = gs_122
+      structure RAGraph = gs_107
+      signature RA_SPILL_HEURISTICS = gs_113
+      ../ra/chaitin-spillheur.sml
+   in
+      structure gs_129 = ChaitinSpillHeur
+   end
+   local
+      open l19
+   in
+      functor gs_130 = LeftPriorityQFn
+   end
+   local
+      signature BLOCK_PLACEMENT = gs_104
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure Graph = gs_0
+      signature INSN_PROPERTIES = gs_71
+      structure Int = gs_12
+      structure IntHashTable = gs_105
+      functor LeftPriorityQFn = gs_130
+      structure List = gs_9
+      signature MLRISC_CONTROL = gs_61
+      structure MLRiscControl = gs_62
+      structure Real = gs_78
+      structure TextIO = gs_2
+      structure URef = gs_125
+      ../block-placement/weighted-block-placement-fn.sml
+   in
+      functor gs_131 = WeightedBlockPlacementFn
+   end
+   local
+      structure Array = gs_4
+      signature BLOCK_PLACEMENT = gs_104
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure Graph = gs_0
+      structure Int = gs_12
+      structure List = gs_9
+      signature MLRISC_CONTROL = gs_61
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscControl = gs_62
+      structure MLRiscErrorMsg = gs_11
+      structure TextIO = gs_2
+      ../block-placement/default-block-placement.sml
+   in
+      functor gs_132 = DefaultBlockPlacement
+   end
+   local
+      signature BLOCK_PLACEMENT = gs_104
+      signature CONTROL_FLOW_GRAPH = gs_33
+      functor DefaultBlockPlacement = gs_132
+      structure Graph = gs_0
+      signature INSN_PROPERTIES = gs_71
+      signature MLRISC_CONTROL = gs_61
+      structure MLRiscControl = gs_62
+      functor WeightedBlockPlacementFn = gs_131
+      ../block-placement/block-placement.sml
+   in
+      functor gs_133 = BlockPlacement
+   end
+   local
+      signature CELLS = gs_14
+      structure CellsBasis = gs_13
+      signature INSTRUCTIONS = gs_15
+      signature MLTREE = gs_27
+      ../mltree/mltree-mult.sig
+   in
+      signature gs_134 = MLTREE_MULT_DIV
+   end
+   local
+      structure Array = gs_4
+      signature CELLS_BASIS = gs_5
+      structure CellsBasis = gs_13
+      signature INSTRUCTIONS = gs_15
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscErrorMsg = gs_11
+      signature MLTREE = gs_27
+      signature MLTREE_MULT_DIV = gs_134
+      structure Word = gs_8
+      ../mltree/mltree-mult.sml
+   in
+      functor gs_135 = MLTreeMult
+   end
+   local
+      structure CellsBasis = gs_13
+      structure Char = gs_66
+      structure Int = gs_12
+      structure Label = gs_26
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscErrorMsg = gs_11
+      signature MLTREE = gs_27
+      signature MLTREE_HASH = gs_84
+      structure String = gs_7
+      structure Word = gs_8
+      ../mltree/mltree-hash.sml
+   in
+      functor gs_136 = MLTreeHash
+   end
+   local
+      structure CellsBasis = gs_13
+      structure IntInf = gs_18
+      structure Label = gs_26
+      signature MLTREE = gs_27
+      signature MLTREE_EVAL = gs_68
+      ../mltree/mltree-eval.sml
+   in
+      functor gs_137 = MLTreeEval
+   end
+   local
+      structure Annotations = gs_1
+      signature CELLS = gs_14
+      structure CellsBasis = gs_13
+      signature GC_CELLS = gs_116
+      signature GC_TYPE = gs_115
+      ../gc-safety/gc-cells.sml
+   in
+      functor gs_138 = GCCells
+   end
+   local
+      structure Array = gs_4
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure Graph = gs_0
+      signature INSN_PROPERTIES = gs_71
+      structure Int = gs_12
+      structure List = gs_9
+      signature MLRISC_CONTROL = gs_61
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscControl = gs_62
+      structure MLRiscErrorMsg = gs_11
+      structure TextIO = gs_2
+      ../block-placement/check-placement-fn.sml
+   in
+      functor gs_139 = CheckPlacementFn
+   end
+   local
+      structure Array = gs_4
+      signature CELLS = gs_14
+      structure CellsBasis = gs_13
+      structure Int = gs_12
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscErrorMsg = gs_11
+      ../instructions/cells.sml
+   in
+      functor gs_140 = Cells
+   end
+   local
+      signature DELAY_SLOT_PROPERTIES = gs_57
+      signature INSTRUCTIONS = gs_15
+      ../backpatch/noDelaySlots.sml
+   in
+      functor gs_141 = NoDelaySlots
+   end
+   local
+      structure Annotations = gs_1
+      signature CELLS_BASIS = gs_5
+      structure CellsBasis = gs_13
+      structure Label = gs_26
+      structure List = gs_9
+      structure MLRiscAnnotations = gs_81
+      ../emit/asmUtil.sml
+   in
+      signature gs_142 = ASM_FORMAT_UTIL
+      structure gs_143 = AsmFormatUtil
+   end
+   local
+      open l13
+   in
+      structure gs_144 = ListPair
+   end
+   local
+      open l13
+   in
+      structure gs_145 = Option
+   end
+   local
+      structure CellsBasis = gs_13
+      signature INSTRUCTIONS = gs_15
+      structure List = gs_9
+      structure ListPair = gs_144
+      structure Option = gs_145
+      ../instructions/shuffle.sml
+   in
+      functor gs_146 = Shuffle
+   end
+   local
+      open l5
+   in
+      functor gs_147 = DirectedGraph
+      structure gs_148 = DirectedGraph
+   end
+   local
+      structure Annotations = gs_1
+      signature CONTROL_FLOW_GRAPH = gs_33
+      functor DirectedGraph = gs_147
+      structure DirectedGraph = gs_148
+      functor DominatorTree = gs_41
+      structure Graph = gs_0
+      structure List = gs_9
+      functor LoopStructure = gs_126
+      signature MLRISC_CONTROL = gs_61
+      structure MLRiscAnnotations = gs_81
+      structure MLRiscControl = gs_62
+      signature PROBABILITY = gs_76
+      structure Probability = gs_77
+      ../frequencies/estimate-loop-probs-fn.sml
+   in
+      functor gs_149 = EstimateLoopProbsFn
+   end
+   local
+      open l13
+   in
+      structure gs_150 = StringCvt
+   end
+   local
+      structure Array = gs_4
+      structure Int32 = gs_17
+      structure IntInf = gs_18
+      signature MACHINE_INT = gs_20
+      structure String = gs_7
+      structure StringCvt = gs_150
+      structure Word = gs_8
+      structure Word32 = gs_19
+      ../mltree/machine-int.sml
+   in
+      structure gs_151 = MachineInt
+   end
+   local
+      structure Array = gs_4
+      structure Int = gs_12
+      structure IntHashTable = gs_105
+      structure List = gs_9
+      signature MLRISC_CONTROL = gs_61
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscControl = gs_62
+      structure MLRiscErrorMsg = gs_11
+      structure RACore = gs_122
+      structure RAGraph = gs_107
+      signature RA_FLOWGRAPH = gs_117
+      structure Real = gs_78
+      structure Word = gs_8
+      ../ra/mem-ra.sml
+   in
+      functor gs_152 = MemoryRA
+   end
+   local
+      structure Annotations = gs_1
+      structure CellsBasis = gs_13
+      signature INSTRUCTIONS = gs_15
+      structure RAGraph = gs_107
+      ../ra/ra-spill-types.sml
+   in
+      functor gs_153 = RASpillTypes
+   end
+   local
+      open l13
+   in
+      structure gs_154 = Word8Vector
+   end
+   local
+      signature INSTRUCTIONS = gs_15
+      structure Word8Vector = gs_154
+      ../emit/mc-emit.sig
+   in
+      signature gs_155 = MC_EMIT
+   end
+   local
+      signature CODE_STRING = gs_75
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure Graph = gs_0
+      signature INSN_PROPERTIES = gs_71
+      signature INSTRUCTION_EMITTER = gs_52
+      structure Label = gs_26
+      structure List = gs_9
+      signature MC_EMIT = gs_155
+      signature MLRISC_CONTROL = gs_61
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscControl = gs_62
+      structure MLRiscErrorMsg = gs_11
+      signature SDI_JUMPS = gs_72
+      structure Word8 = gs_16
+      structure Word8Vector = gs_154
+      ../backpatch/vlBackPatch.sml
+   in
+      functor gs_156 = BackPatch
+   end
+   local
+      open l9
+   in
+      structure gs_157 = PriorityHeap
+   end
+   local
+      structure IntHashTable = gs_105
+      structure Option = gs_145
+      structure PriorityHeap = gs_157
+      structure RACore = gs_122
+      structure RAGraph = gs_107
+      signature RA_SPILL_HEURISTICS = gs_113
+      structure Real = gs_78
+      ../ra/chow-hennessy-spillheur.sml
+   in
+      structure gs_158 = ChowHennessySpillHeur
+   end
+   local
+      open l9
+   in
+      signature gs_159 = LINE_BREAK
+      structure gs_160 = LineBreak
+   end
+   local
+      open l9
+   in
+      structure gs_161 = StringOutStream
+   end
+   local
+      open l5
+   in
+      signature gs_162 = UPDATE_GRAPH_INFO
+      structure gs_163 = UpdateGraphInfo
+   end
+   local
+      open l13
+   in
+      structure gs_164 = Bool
+   end
+   local
+      signature ASM_STREAM = gs_50
+      structure Annotations = gs_1
+      structure Array = gs_4
+      structure AsmStream = gs_51
+      structure Bool = gs_164
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure CellsBasis = gs_13
+      structure Char = gs_66
+      structure Format = gs_49
+      signature GRAPH_IMPLEMENTATION = gs_35
+      structure Graph = gs_0
+      signature INSN_PROPERTIES = gs_71
+      signature INSTRUCTIONS = gs_15
+      signature INSTRUCTION_EMITTER = gs_52
+      structure Int = gs_12
+      structure IntHashTable = gs_105
+      signature LINE_BREAK = gs_159
+      structure Label = gs_26
+      structure LineBreak = gs_160
+      structure List = gs_9
+      structure ListMergeSort = gs_63
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscErrorMsg = gs_11
+      structure Real = gs_78
+      structure String = gs_7
+      structure StringOutStream = gs_161
+      structure TextIO = gs_2
+      signature UPDATE_GRAPH_INFO = gs_162
+      structure UpdateGraphInfo = gs_163
+      ../flowgraph/cfg.sml
+   in
+      functor gs_165 = ControlFlowGraph
+   end
+   local
+      structure Annotations = gs_1
+      signature CONSTANT = gs_24
+      structure CellsBasis = gs_13
+      structure Int32 = gs_17
+      structure Label = gs_26
+      signature MLTREE = gs_27
+      signature MLTREE_EXTENSION = gs_21
+      structure MLTreeBasis = gs_102
+      structure MachineInt = gs_151
+      signature REGION = gs_23
+      ../mltree/mltree.sml
+   in
+      functor gs_166 = MLTreeF
+   end
+   local
+      open l13
+   in
+      structure gs_167 = General
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure CellsBasis = gs_13
+      structure General = gs_167
+      structure Graph = gs_0
+      structure Int = gs_12
+      structure IntHashTable = gs_105
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscErrorMsg = gs_11
+      ../ra/liveness.sml
+   in
+      signature gs_168 = LIVENESS
+      functor gs_169 = Liveness
+   end
+   local
+      structure CellsBasis = gs_13
+      signature INSTRUCTIONS = gs_15
+      ../instructions/rewrite.sig
+   in
+      signature gs_170 = REWRITE_INSTRUCTIONS
+   end
+   local
+      signature ARCH_SPILL_INSTR = gs_88
+      structure Annotations = gs_1
+      structure Array = gs_4
+      signature CFG_OPTIMIZATION = gs_96
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure CellsBasis = gs_13
+      functor ClusterRA = gs_128
+      functor GetReg = gs_56
+      signature INSN_PROPERTIES = gs_71
+      signature INSTRUCTIONS = gs_15
+      signature INSTRUCTION_EMITTER = gs_52
+      structure List = gs_9
+      signature MLRISC_CONTROL = gs_61
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscControl = gs_62
+      structure MLRiscErrorMsg = gs_11
+      structure RAGraph = gs_107
+      signature RA_SPILL = gs_108
+      signature RA_SPILL_HEURISTICS = gs_113
+      signature REWRITE_INSTRUCTIONS = gs_170
+      functor RegisterAllocator = gs_123
+      structure Word = gs_8
+      ../ra/risc-ra.sml
+   in
+      functor gs_171 = RISC_RA
+   end
+   local
+      signature CFG_OPTIMIZATION = gs_96
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure Graph = gs_0
+      signature INSN_PROPERTIES = gs_71
+      signature MLRISC_CONTROL = gs_61
+      structure MLRiscControl = gs_62
+      signature SDI_JUMPS = gs_72
+      ../flowgraph/cfgCountCopies.sml
+   in
+      functor gs_172 = CFGCountCopies
+   end
+   local
+      signature ASSEMBLY_EMITTER = gs_34
+      structure Annotations = gs_1
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure Graph = gs_0
+      signature INSTRUCTION_EMITTER = gs_52
+      structure List = gs_9
+      structure PseudoOpsBasisTyp = gs_29
+      ../emit/cfgEmit.sml
+   in
+      functor gs_173 = CFGEmit
+   end
+   local
+      structure Array = gs_4
+      signature GETREG = gs_55
+      ../ra/getreg2.sml
+   in
+      functor gs_174 = GetReg2
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_33
+      structure CellsBasis = gs_13
+      signature INSTRUCTIONS = gs_15
+      structure Int32 = gs_17
+      ../omit-frameptr/omit-frame-pointer.sig
+   in
+      signature gs_175 = OMIT_FRAME_POINTER
+   end
+   local
+      signature MLRISC_CONTROL = gs_61
+      structure MLRiscControl = gs_62
+      signature RA = gs_118
+      structure RACore = gs_122
+      signature RA_FLOWGRAPH_PARTITIONER = gs_74
+      ../ra/region-based-ra.sml
+   in
+      functor gs_176 = RegionBasedRA
+   end
+   local
+      signature MLRISC_REGION = gs_85
+      structure String = gs_7
+      ../aliasing/mlriscRegion.sml
+   in
+      structure gs_177 = MLRiscRegion
+   end
+   local
+      structure CellsBasis = gs_13
+      signature INSN_PROPERTIES = gs_71
+      signature INSTRUCTION_EMITTER = gs_52
+      structure Int = gs_12
+      structure IntHashTable = gs_105
+      signature MLRISC_CONTROL = gs_61
+      signature MLRISC_ERROR_MSG = gs_10
+      structure MLRiscControl = gs_62
+      structure MLRiscErrorMsg = gs_11
+      structure RACore = gs_122
+      functor RASpillTypes = gs_153
+      signature RA_SPILL = gs_108
+      structure Word = gs_8
+      ../ra/ra-spill.sml
+   in
+      functor gs_178 = RASpill
+   end
+in
+   signature ARCH_SPILL_INSTR = gs_88
+   signature ASM_FORMAT_UTIL = gs_142
+   signature ASM_STREAM = gs_50
+   signature ASSEMBLY_EMITTER = gs_34
+   structure AsmFlags = gs_114
+   structure AsmFormatUtil = gs_143
+   structure AsmStream = gs_51
+   signature BBSCHED = gs_70
+   functor BBSched2 = gs_127
+   signature BLOCK_PLACEMENT = gs_104
+   functor BackPatch = gs_156
+   functor BlockPlacement = gs_133
+   functor BuildFlowgraph = gs_111
+   signature CELLS = gs_14
+   signature CELLS_BASIS = gs_5
+   functor CFGCountCopies = gs_172
+   functor CFGEmit = gs_173
+   functor CFGExpandCopies = gs_97
+   signature CFG_OPTIMIZATION = gs_96
+   signature CLIENT_PSEUDO_OPS = gs_31
+   signature CODE_STRING = gs_75
+   signature COMPUTE_EXECUTION_FREQUENCIES = gs_79
+   signature CONSTANT = gs_24
+   signature CONTROL_FLOWGRAPH_GEN = gs_112
+   signature CONTROL_FLOW_GRAPH = gs_33
+   structure CTypes = gs_58
+   signature C_CALLS = gs_59
+   functor Cells = gs_140
+   structure CellsBasis = gs_13
+   structure ChaitinSpillHeur = gs_129
+   functor CheckPlacementFn = gs_139
+   structure ChowHennessySpillHeur = gs_158
+   functor ClusterRA = gs_128
+   functor CompleteProbsFn = gs_82
+   functor ComputeFreqsFn = gs_83
+   functor ControlFlowGraph = gs_165
+   signature DELAY_SLOT_PROPERTIES = gs_57
+   signature DOMINATOR_TREE = gs_36
+   functor DefaultBlockPlacement = gs_132
+   functor DominatorTree = gs_41
+   functor EstimateLoopProbsFn = gs_149
+   signature FREQUENCY_PROPERTIES = gs_109
+   functor FreqProps = gs_110
+   signature GAS_PSEUDO_OPS = gs_89
+   functor GCCells = gs_138
+   signature GC_CELLS = gs_116
+   signature GC_TYPE = gs_115
+   signature GETREG = gs_55
+   functor GasPseudoOps = gs_90
+   functor GetReg = gs_56
+   functor GetReg2 = gs_174
+   signature INSN_PROPERTIES = gs_71
+   signature INSTRUCTIONS = gs_15
+   signature INSTRUCTION_EMITTER = gs_52
+   signature INSTRUCTION_STREAM = gs_42
+   functor InstructionStream = gs_43
+   functor JumpChainElimFn = gs_95
+   signature LABEL = gs_25
+   signature LIVENESS = gs_168
+   signature LOOP_STRUCTURE = gs_37
+   structure Label = gs_26
+   functor Liveness = gs_169
+   functor LoopStructure = gs_126
+   signature MACHINE_INT = gs_20
+   signature MC_EMIT = gs_155
+   signature MLRISC_ANNOTATIONS = gs_80
+   signature MLRISC_OPTIMIZATION = gs_86
+   signature MLRISC_REGION = gs_85
+   structure MLRiscAnnotations = gs_81
+   structure MLRiscRegion = gs_177
+   signature MLTREE = gs_27
+   signature MLTREECOMP = gs_47
+   signature MLTREEGEN = gs_45
+   signature MLTREE_BASIS = gs_22
+   signature MLTREE_EVAL = gs_68
+   signature MLTREE_EXTENSION = gs_21
+   signature MLTREE_EXTENSION_COMP = gs_48
+   signature MLTREE_HASH = gs_84
+   signature MLTREE_MULT_DIV = gs_134
+   signature MLTREE_SIZE = gs_44
+   signature MLTREE_STREAM = gs_46
+   structure MLTreeBasis = gs_102
+   functor MLTreeEval = gs_137
+   functor MLTreeF = gs_166
+   functor MLTreeGen = gs_101
+   functor MLTreeHash = gs_136
+   functor MLTreeMult = gs_135
+   functor MLTreeSize = gs_100
+   functor MLTreeStream = gs_98
+   structure MachineInt = gs_151
+   functor MemoryRA = gs_152
+   functor NoDelaySlots = gs_141
+   signature OMIT_FRAME_POINTER = gs_175
+   signature POINTS_TO = gs_64
+   signature PRINT_FLOWGRAPH = gs_53
+   signature PSEUDO_OPS = gs_32
+   signature PSEUDO_OPS_BASIS = gs_30
+   signature PSEUDO_OPS_ENDIAN = gs_67
+   structure PointsTo = gs_65
+   functor PrintFlowgraph = gs_54
+   functor PseudoOps = gs_103
+   structure PseudoOpsBasisTyp = gs_29
+   functor PseudoOpsBig = gs_69
+   functor PseudoOpsLittle = gs_99
+   signature RA = gs_118
+   structure RACore = gs_122
+   functor RADeadCodeElim = gs_124
+   structure RAGraph = gs_107
+   functor RASpill = gs_178
+   functor RASpillTypes = gs_153
+   signature RA_BITMATRIX = gs_91
+   signature RA_CORE = gs_120
+   signature RA_FLOWGRAPH = gs_117
+   signature RA_FLOWGRAPH_PARTITIONER = gs_74
+   signature RA_GRAPH = gs_106
+   signature RA_PRIORITY_QUEUE = gs_92
+   signature RA_SPILL = gs_108
+   signature RA_SPILL_HEURISTICS = gs_113
+   signature REGION = gs_23
+   signature REWRITE_INSTRUCTIONS = gs_170
+   functor RISC_RA = gs_171
+   structure RaBitmatrix = gs_94
+   functor RaPriQueue = gs_121
+   functor RegionBasedRA = gs_176
+   functor RegisterAllocator = gs_123
+   signature SDI_JUMPS = gs_72
+   signature SHUFFLE = gs_87
+   functor Shuffle = gs_146
+   functor SpanDependencyResolution = gs_73
+   functor UnimplementedCCallsFn = gs_60
+   functor WeightedBlockPlacementFn = gs_131
+end
+end
+
+end
diff -Naur MLRISC/mlb/MLTREE.mlb MLRISC-mlton/mlb/MLTREE.mlb
--- MLRISC/mlb/MLTREE.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlb/MLTREE.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,213 @@
+
+ann
+  "nonexhaustiveMatch warn" "redundantMatch warn"
+  "sequenceNonUnit ignore"
+  "warnUnused false" "forceUsed"
+in
+
+local
+  basis l18 = 
+    bas
+      (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb
+    end
+  basis l25 = 
+    bas
+      (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
+    end
+  basis l4 = 
+    bas
+      (* $MLRISC.cm(=$SMLNJ-MLRISC)/MLRISC.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/MLRISC.mlb
+    end
+  basis l42 = 
+    bas
+      (* $Control.cm(=$SMLNJ-MLRISC)/Control.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Control.mlb
+    end
+  basis l68 = 
+    bas
+      (* $Lib.cm(=$SMLNJ-MLRISC)/Lib.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Lib.mlb
+    end
+in
+local
+   $(SML_LIB)/basis/pervasive.mlb
+   local
+      open l4
+   in
+      signature gs_0 = MLTREE
+   end
+   local
+      signature MLTREE = gs_0
+      ../mltree/mltree-rewrite.sig
+   in
+      signature gs_1 = MLTREE_REWRITE
+   end
+   local
+      signature MLTREE = gs_0
+      signature MLTREE_REWRITE = gs_1
+      ../mltree/mltree-rewrite.sml
+   in
+      functor gs_2 = MLTreeRewrite
+   end
+   local
+      signature MLTREE = gs_0
+      ../mltree/mltree-fold.sig
+   in
+      signature gs_3 = MLTREE_FOLD
+   end
+   local
+      open l18
+   in
+      structure gs_4 = Word
+   end
+   local
+      open l4
+   in
+      structure gs_5 = CellsBasis
+   end
+   local
+      open l25
+   in
+      structure gs_6 = IntInf
+   end
+   local
+      open l4
+   in
+      structure gs_7 = Label
+   end
+   local
+      open l18
+   in
+      structure gs_8 = String
+   end
+   local
+      open l18
+   in
+      structure gs_9 = List
+   end
+   local
+      open l18
+   in
+      structure gs_10 = Char
+   end
+   local
+      open l42
+   in
+      signature gs_11 = MLRISC_ERROR_MSG
+      structure gs_12 = MLRiscErrorMsg
+   end
+   local
+      open l18
+   in
+      structure gs_13 = Int
+   end
+   local
+      signature MLTREE = gs_0
+      ../mltree/mltree-utils.sig
+   in
+      signature gs_14 = MLTREE_UTILS
+   end
+   local
+      structure CellsBasis = gs_5
+      structure Char = gs_10
+      structure Int = gs_13
+      structure IntInf = gs_6
+      structure Label = gs_7
+      structure List = gs_9
+      signature MLRISC_ERROR_MSG = gs_11
+      structure MLRiscErrorMsg = gs_12
+      signature MLTREE = gs_0
+      signature MLTREE_UTILS = gs_14
+      structure String = gs_8
+      structure Word = gs_4
+      ../mltree/mltree-utils.sml
+   in
+      functor gs_15 = MLTreeUtils
+   end
+   local
+      open l4
+   in
+      signature gs_16 = CONTROL_FLOW_GRAPH
+   end
+   local
+      open l4
+   in
+      signature gs_17 = INSTRUCTION_STREAM
+   end
+   local
+      open l4
+   in
+      signature gs_18 = INSTRUCTIONS
+   end
+   local
+      open l4
+   in
+      signature gs_19 = CELLS
+   end
+   local
+      open l68
+   in
+      structure gs_20 = Annotations
+   end
+   local
+      structure Annotations = gs_20
+      signature CELLS = gs_19
+      signature CONTROL_FLOW_GRAPH = gs_16
+      signature INSTRUCTIONS = gs_18
+      signature INSTRUCTION_STREAM = gs_17
+      ../mltree/instr-gen.sig
+   in
+      signature gs_21 = INSTR_GEN
+   end
+   local
+      signature MLTREE = gs_0
+      signature MLTREE_FOLD = gs_3
+      ../mltree/mltree-fold.sml
+   in
+      functor gs_22 = MLTreeFold
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_16
+      signature INSTRUCTIONS = gs_18
+      signature INSTRUCTION_STREAM = gs_17
+      signature INSTR_GEN = gs_21
+      signature MLRISC_ERROR_MSG = gs_11
+      structure MLRiscErrorMsg = gs_12
+      ../mltree/instr-gen.sml
+   in
+      functor gs_23 = InstrGen
+   end
+   local
+      signature MLTREE = gs_0
+      ../mltree/mltree-simplify.sig
+   in
+      signature gs_24 = MLTREE_SIMPLIFIER
+   end
+   local
+      open l4
+   in
+      signature gs_25 = MLTREE_SIZE
+   end
+   local
+      structure IntInf = gs_6
+      signature MLTREE = gs_0
+      signature MLTREE_SIMPLIFIER = gs_24
+      signature MLTREE_SIZE = gs_25
+      functor MLTreeRewrite = gs_2
+      ../mltree/mltree-simplify.sml
+   in
+      functor gs_26 = MLTreeSimplifier
+   end
+in
+   signature INSTR_GEN = gs_21
+   functor InstrGen = gs_23
+   signature MLTREE_FOLD = gs_3
+   signature MLTREE_REWRITE = gs_1
+   signature MLTREE_SIMPLIFIER = gs_24
+   signature MLTREE_UTILS = gs_14
+   functor MLTreeFold = gs_22
+   functor MLTreeRewrite = gs_2
+   functor MLTreeSimplifier = gs_26
+   functor MLTreeUtils = gs_15
+end
+end
+
+end
diff -Naur MLRISC/mlb/Peephole.mlb MLRISC-mlton/mlb/Peephole.mlb
--- MLRISC/mlb/Peephole.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlb/Peephole.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,61 @@
+
+ann
+  "nonexhaustiveMatch warn" "redundantMatch warn"
+  "sequenceNonUnit ignore"
+  "warnUnused false" "forceUsed"
+in
+
+local
+  basis l4 = 
+    bas
+      (* $MLRISC.cm(=$SMLNJ-MLRISC)/MLRISC.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/MLRISC.mlb
+    end
+  basis l14 = 
+    bas
+      (* $Graphs.cm(=$SMLNJ-MLRISC)/Graphs.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Graphs.mlb
+    end
+in
+local
+   $(SML_LIB)/basis/pervasive.mlb
+   local
+      open l4
+   in
+      signature gs_0 = INSTRUCTIONS
+   end
+   local
+      signature INSTRUCTIONS = gs_0
+      ../instructions/peephole.sig
+   in
+      signature gs_1 = PEEPHOLE
+   end
+   local
+      open l4
+   in
+      signature gs_2 = CFG_OPTIMIZATION
+   end
+   local
+      open l14
+   in
+      structure gs_3 = Graph
+   end
+   local
+      open l4
+   in
+      signature gs_4 = CONTROL_FLOW_GRAPH
+   end
+   local
+      signature CFG_OPTIMIZATION = gs_2
+      signature CONTROL_FLOW_GRAPH = gs_4
+      structure Graph = gs_3
+      signature PEEPHOLE = gs_1
+      ../flowgraph/cfgPeephole.sml
+   in
+      functor gs_5 = CFGPeephole
+   end
+in
+   functor CFGPeephole = gs_5
+   signature PEEPHOLE = gs_1
+end
+end
+
+end
diff -Naur MLRISC/mlb/PPC.mlb MLRISC-mlton/mlb/PPC.mlb
--- MLRISC/mlb/PPC.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlb/PPC.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,575 @@
+
+ann
+  "nonexhaustiveMatch warn" "redundantMatch warn"
+  "sequenceNonUnit ignore"
+  "warnUnused false" "forceUsed"
+in
+
+local
+  basis l42 = 
+    bas
+      (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb
+    end
+  basis l116 = 
+    bas
+      (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
+    end
+  basis l4 = 
+    bas
+      (* $MLRISC.cm(=$SMLNJ-MLRISC)/MLRISC.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/MLRISC.mlb
+    end
+  basis l50 = 
+    bas
+      (* $Control.cm(=$SMLNJ-MLRISC)/Control.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Control.mlb
+    end
+  basis l9 = 
+    bas
+      (* $Lib.cm(=$SMLNJ-MLRISC)/Lib.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Lib.mlb
+    end
+in
+local
+   $(SML_LIB)/basis/pervasive.mlb
+   local
+      open l4
+   in
+      signature gs_0 = FREQUENCY_PROPERTIES
+   end
+   local
+      open l9
+   in
+      signature gs_1 = PROBABILITY
+      structure gs_2 = Probability
+   end
+   local
+      open l4
+   in
+      structure gs_3 = MLRiscAnnotations
+   end
+   local
+      open l4
+   in
+      signature gs_4 = REGION
+   end
+   local
+      open l4
+   in
+      signature gs_5 = CONSTANT
+   end
+   local
+      open l4
+   in
+      signature gs_6 = MLTREE
+   end
+   local
+      open l4
+   in
+      signature gs_7 = CELLS_BASIS
+   end
+   local
+      open l4
+   in
+      structure gs_8 = CellsBasis
+   end
+   local
+      open l4
+   in
+      structure gs_9 = Label
+   end
+   local
+      open l9
+   in
+      structure gs_10 = Annotations
+   end
+   local
+      open l4
+   in
+      functor gs_11 = Cells
+   end
+   local
+      open l42
+   in
+      structure gs_12 = Int
+   end
+   local
+      open l4
+   in
+      signature gs_13 = CELLS
+   end
+   local
+      open l50
+   in
+      signature gs_14 = MLRISC_ERROR_MSG
+      structure gs_15 = MLRiscErrorMsg
+   end
+   local
+      open l50
+   in
+      signature gs_16 = MLRISC_CONTROL
+      structure gs_17 = MLRiscControl
+   end
+   local
+      signature MLRISC_CONTROL = gs_16
+      structure MLRiscControl = gs_17
+      ../ppc/emit/ppcAsmSyntax.sml
+   in
+      structure gs_18 = PPCAsmSyntax
+   end
+   local
+      signature CELLS = gs_13
+      functor Cells = gs_11
+      structure CellsBasis = gs_8
+      structure Int = gs_12
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      structure PPCAsmSyntax = gs_18
+      ../ppc/instructions/ppcCells.sml
+   in
+      signature gs_19 = PPCCELLS
+      structure gs_20 = PPCCells
+   end
+   local
+      structure Annotations = gs_10
+      signature CELLS_BASIS = gs_7
+      signature CONSTANT = gs_5
+      structure CellsBasis = gs_8
+      structure Label = gs_9
+      signature MLTREE = gs_6
+      signature PPCCELLS = gs_19
+      structure PPCCells = gs_20
+      signature REGION = gs_4
+      ../ppc/instructions/ppcInstr.sml
+   in
+      signature gs_21 = PPCINSTR
+      functor gs_22 = PPCInstr
+   end
+   local
+      signature FREQUENCY_PROPERTIES = gs_0
+      structure MLRiscAnnotations = gs_3
+      signature PPCINSTR = gs_21
+      functor PPCInstr = gs_22
+      signature PROBABILITY = gs_1
+      structure Probability = gs_2
+      ../ppc/instructions/ppcFreqProps.sml
+   in
+      functor gs_23 = PPCFreqProps
+   end
+   local
+      open l4
+   in
+      signature gs_24 = INSTRUCTION_EMITTER
+   end
+   local
+      open l4
+   in
+      signature gs_25 = ASM_FORMAT_UTIL
+      structure gs_26 = AsmFormatUtil
+   end
+   local
+      open l4
+   in
+      signature gs_27 = ASM_STREAM
+      structure gs_28 = AsmStream
+   end
+   local
+      open l42
+   in
+      structure gs_29 = TextIO
+   end
+   local
+      open l42
+   in
+      structure gs_30 = String
+   end
+   local
+      open l4
+   in
+      structure gs_31 = AsmFlags
+   end
+   local
+      open l4
+   in
+      signature gs_32 = MLTREE_EVAL
+   end
+   local
+      open l4
+   in
+      signature gs_33 = INSTRUCTION_STREAM
+   end
+   local
+      structure CellsBasis = gs_8
+      signature PPCINSTR = gs_21
+      functor PPCInstr = gs_22
+      ../ppc/instructions/ppcShuffle.sig
+   in
+      signature gs_34 = PPCSHUFFLE
+   end
+   local
+      signature ASM_FORMAT_UTIL = gs_25
+      signature ASM_STREAM = gs_27
+      structure Annotations = gs_10
+      structure AsmFlags = gs_31
+      structure AsmFormatUtil = gs_26
+      structure AsmStream = gs_28
+      structure CellsBasis = gs_8
+      signature INSTRUCTION_EMITTER = gs_24
+      signature INSTRUCTION_STREAM = gs_33
+      structure Int = gs_12
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREE_EVAL = gs_32
+      signature PPCINSTR = gs_21
+      functor PPCInstr = gs_22
+      signature PPCSHUFFLE = gs_34
+      structure String = gs_30
+      structure TextIO = gs_29
+      ../ppc/emit/ppcAsm.sml
+   in
+      functor gs_35 = PPCAsmEmitter
+   end
+   local
+      structure CellsBasis = gs_8
+      signature PPCINSTR = gs_21
+      functor PPCInstr = gs_22
+      ../ppc/mltree/ppcPseudoInstr.sig
+   in
+      signature gs_36 = PPC_PSEUDO_INSTR
+   end
+   local
+      open l4
+   in
+      signature gs_37 = PSEUDO_OPS_BASIS
+   end
+   local
+      open l4
+   in
+      functor gs_38 = PseudoOpsBig
+   end
+   local
+      open l116
+   in
+      structure gs_39 = Format
+   end
+   local
+      open l4
+   in
+      structure gs_40 = PseudoOpsBasisTyp
+   end
+   local
+      open l116
+   in
+      structure gs_41 = IntInf
+   end
+   local
+      open l42
+   in
+      structure gs_42 = Word32
+   end
+   local
+      open l116
+   in
+      structure gs_43 = Atom
+   end
+   local
+      structure Atom = gs_43
+      structure Format = gs_39
+      structure Int = gs_12
+      structure IntInf = gs_41
+      structure Label = gs_9
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREE = gs_6
+      signature MLTREE_EVAL = gs_32
+      signature PSEUDO_OPS_BASIS = gs_37
+      structure PseudoOpsBasisTyp = gs_40
+      functor PseudoOpsBig = gs_38
+      structure String = gs_30
+      structure Word32 = gs_42
+      ../ppc/flowgraph/ppcDarwinPseudoOps.sml
+   in
+      functor gs_44 = PPCDarwinPseudoOps
+   end
+   local
+      open l4
+   in
+      signature gs_45 = ARCH_SPILL_INSTR
+   end
+   local
+      structure CellsBasis = gs_8
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature PPCINSTR = gs_21
+      functor PPCInstr = gs_22
+      ../ppc/ra/ppcRewrite.sml
+   in
+      functor gs_46 = PPCRewrite
+   end
+   local
+      signature ARCH_SPILL_INSTR = gs_45
+      structure CellsBasis = gs_8
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature PPCINSTR = gs_21
+      functor PPCInstr = gs_22
+      functor PPCRewrite = gs_46
+      ../ppc/ra/ppcSpillInstr.sml
+   in
+      functor gs_47 = PPCSpillInstr
+   end
+   local
+      open l4
+   in
+      signature gs_48 = GAS_PSEUDO_OPS
+      functor gs_49 = GasPseudoOps
+   end
+   local
+      structure Format = gs_39
+      signature GAS_PSEUDO_OPS = gs_48
+      functor GasPseudoOps = gs_49
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREE = gs_6
+      signature MLTREE_EVAL = gs_32
+      signature PSEUDO_OPS_BASIS = gs_37
+      structure PseudoOpsBasisTyp = gs_40
+      functor PseudoOpsBig = gs_38
+      structure Word32 = gs_42
+      ../ppc/flowgraph/ppcGasPseudoOps.sml
+   in
+      functor gs_50 = PPCGasPseudoOps
+   end
+   local
+      open l4
+   in
+      signature gs_51 = INSN_PROPERTIES
+   end
+   local
+      open l42
+   in
+      structure gs_52 = Word
+   end
+   local
+      open l4
+   in
+      signature gs_53 = MLTREE_HASH
+   end
+   local
+      structure CellsBasis = gs_8
+      signature INSN_PROPERTIES = gs_51
+      structure IntInf = gs_41
+      structure Label = gs_9
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREE_EVAL = gs_32
+      signature MLTREE_HASH = gs_53
+      signature PPCINSTR = gs_21
+      functor PPCInstr = gs_22
+      structure Word = gs_52
+      ../ppc/instructions/ppcProps.sml
+   in
+      functor gs_54 = PPCProps
+   end
+   local
+      open l4
+   in
+      signature gs_55 = SDI_JUMPS
+   end
+   local
+      structure CellsBasis = gs_8
+      signature MLRISC_CONTROL = gs_16
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscControl = gs_17
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREE_EVAL = gs_32
+      signature PPCINSTR = gs_21
+      functor PPCInstr = gs_22
+      signature PPCSHUFFLE = gs_34
+      signature SDI_JUMPS = gs_55
+      structure Word = gs_52
+      ../ppc/backpatch/ppcJumps.sml
+   in
+      functor gs_56 = PPCJumps
+   end
+   local
+      ../ppc/instructions/ppcInstrExt.sml
+   in
+      structure gs_57 = PPCInstrExt
+   end
+   local
+      open l4
+   in
+      signature gs_58 = CONTROL_FLOW_GRAPH
+   end
+   local
+      open l4
+   in
+      signature gs_59 = MLTREE_STREAM
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_58
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREE_STREAM = gs_59
+      signature PPCINSTR = gs_21
+      functor PPCInstr = gs_22
+      structure PPCInstrExt = gs_57
+      ../ppc/instructions/ppcCompInstrExt.sml
+   in
+      signature gs_60 = PPCCOMP_INSTR_EXT
+      functor gs_61 = PPCCompInstrExt
+   end
+   local
+      open l4
+   in
+      signature gs_62 = DELAY_SLOT_PROPERTIES
+   end
+   local
+      signature DELAY_SLOT_PROPERTIES = gs_62
+      signature INSN_PROPERTIES = gs_51
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature PPCINSTR = gs_21
+      functor PPCInstr = gs_22
+      ../ppc/backpatch/ppcDelaySlots.sml
+   in
+      functor gs_63 = PPCDelaySlots
+   end
+   local
+      open l4
+   in
+      structure gs_64 = CTypes
+   end
+   local
+      open l42
+   in
+      structure gs_65 = List
+   end
+   local
+      open l4
+   in
+      signature gs_66 = C_CALLS
+   end
+   local
+      structure CTypes = gs_64
+      signature C_CALLS = gs_66
+      structure Int = gs_12
+      structure IntInf = gs_41
+      structure List = gs_65
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscAnnotations = gs_3
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREE = gs_6
+      signature PPCCELLS = gs_19
+      structure PPCCells = gs_20
+      structure String = gs_30
+      structure Word = gs_52
+      ../ppc/c-calls/ppc-macosx.sml
+   in
+      functor gs_67 = PPCMacOSX_CCalls
+      signature gs_68 = PPC_MACOSX_C_CALLS
+   end
+   local
+      open l4
+   in
+      functor gs_69 = Shuffle
+   end
+   local
+      structure CellsBasis = gs_8
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature PPCINSTR = gs_21
+      functor PPCInstr = gs_22
+      functor Shuffle = gs_69
+      ../ppc/instructions/ppcShuffle.sml
+   in
+      functor gs_70 = PPCShuffle
+   end
+   local
+      open l42
+   in
+      structure gs_71 = Word8
+   end
+   local
+      open l4
+   in
+      signature gs_72 = CODE_STRING
+   end
+   local
+      signature CODE_STRING = gs_72
+      structure CellsBasis = gs_8
+      signature INSTRUCTION_EMITTER = gs_24
+      signature INSTRUCTION_STREAM = gs_33
+      structure Label = gs_9
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREE_EVAL = gs_32
+      signature PPCINSTR = gs_21
+      functor PPCInstr = gs_22
+      structure Word32 = gs_42
+      structure Word8 = gs_71
+      ../ppc/emit/ppcMC.sml
+   in
+      functor gs_73 = PPCMCEmitter
+   end
+   local
+      open l4
+   in
+      functor gs_74 = MLTreeMult
+   end
+   local
+      open l4
+   in
+      functor gs_75 = MLTreeGen
+   end
+   local
+      open l4
+   in
+      signature gs_76 = MLTREECOMP
+      signature gs_77 = MLTREE_EXTENSION_COMP
+   end
+   local
+      structure CellsBasis = gs_8
+      structure Int = gs_12
+      structure Label = gs_9
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscAnnotations = gs_3
+      structure MLRiscErrorMsg = gs_15
+      signature MLTREECOMP = gs_76
+      signature MLTREE_EXTENSION_COMP = gs_77
+      functor MLTreeGen = gs_75
+      functor MLTreeMult = gs_74
+      signature PPCINSTR = gs_21
+      functor PPCInstr = gs_22
+      signature PPC_PSEUDO_INSTR = gs_36
+      structure Word32 = gs_42
+      ../ppc/mltree/ppc.sml
+   in
+      functor gs_78 = PPC
+   end
+in
+   functor PPC = gs_78
+   functor PPCAsmEmitter = gs_35
+   structure PPCAsmSyntax = gs_18
+   signature PPCCELLS = gs_19
+   signature PPCCOMP_INSTR_EXT = gs_60
+   structure PPCCells = gs_20
+   functor PPCCompInstrExt = gs_61
+   functor PPCDarwinPseudoOps = gs_44
+   functor PPCDelaySlots = gs_63
+   functor PPCFreqProps = gs_23
+   functor PPCGasPseudoOps = gs_50
+   signature PPCINSTR = gs_21
+   functor PPCInstr = gs_22
+   structure PPCInstrExt = gs_57
+   functor PPCJumps = gs_56
+   functor PPCMCEmitter = gs_73
+   functor PPCMacOSX_CCalls = gs_67
+   functor PPCProps = gs_54
+   functor PPCRewrite = gs_46
+   signature PPCSHUFFLE = gs_34
+   functor PPCShuffle = gs_70
+   functor PPCSpillInstr = gs_47
+   signature PPC_PSEUDO_INSTR = gs_36
+end
+end
+
+end
diff -Naur MLRISC/mlb/RA.mlb MLRISC-mlton/mlb/RA.mlb
--- MLRISC/mlb/RA.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlb/RA.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,152 @@
+
+ann
+  "nonexhaustiveMatch warn" "redundantMatch warn"
+  "sequenceNonUnit ignore"
+  "warnUnused false" "forceUsed"
+in
+
+local
+  basis l11 = 
+    bas
+      (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb
+    end
+  basis l22 = 
+    bas
+      (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
+    end
+  basis l4 = 
+    bas
+      (* $MLRISC.cm(=$SMLNJ-MLRISC)/MLRISC.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/MLRISC.mlb
+    end
+  basis l53 = 
+    bas
+      (* $Control.cm(=$SMLNJ-MLRISC)/Control.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Control.mlb
+    end
+  basis l29 = 
+    bas
+      (* $Lib.cm(=$SMLNJ-MLRISC)/Lib.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Lib.mlb
+    end
+in
+local
+   $(SML_LIB)/basis/pervasive.mlb
+   local
+      open l4
+   in
+      signature gs_0 = RA_SPILL_HEURISTICS
+   end
+   local
+      open l4
+   in
+      structure gs_1 = RACore
+   end
+   local
+      open l11
+   in
+      structure gs_2 = Real
+   end
+   local
+      open l4
+   in
+      structure gs_3 = RAGraph
+   end
+   local
+      structure RACore = gs_1
+      structure RAGraph = gs_3
+      signature RA_SPILL_HEURISTICS = gs_0
+      structure Real = gs_2
+      ../ra/chaitin-spillheur2.sml
+   in
+      functor gs_4 = ImprovedChaitinSpillHeur
+   end
+   local
+      open l22
+   in
+      structure gs_5 = IntHashTable
+   end
+   local
+      open l11
+   in
+      structure gs_6 = Option
+   end
+   local
+      open l29
+   in
+      structure gs_7 = PriorityHeap
+   end
+   local
+      structure IntHashTable = gs_5
+      structure Option = gs_6
+      structure PriorityHeap = gs_7
+      structure RACore = gs_1
+      structure RAGraph = gs_3
+      signature RA_SPILL_HEURISTICS = gs_0
+      structure Real = gs_2
+      ../ra/chow-hennessy-spillheur2.sml
+   in
+      functor gs_8 = ImprovedChowHennessySpillHeur
+   end
+   local
+      open l4
+   in
+      signature gs_9 = RA_SPILL
+   end
+   local
+      open l11
+   in
+      structure gs_10 = Int
+   end
+   local
+      open l4
+   in
+      functor gs_11 = RASpillTypes
+   end
+   local
+      open l4
+   in
+      structure gs_12 = CellsBasis
+   end
+   local
+      open l11
+   in
+      structure gs_13 = Word
+   end
+   local
+      open l53
+   in
+      signature gs_14 = MLRISC_ERROR_MSG
+      structure gs_15 = MLRiscErrorMsg
+   end
+   local
+      open l4
+   in
+      signature gs_16 = INSTRUCTION_EMITTER
+   end
+   local
+      open l4
+   in
+      signature gs_17 = INSN_PROPERTIES
+   end
+   local
+      structure CellsBasis = gs_12
+      signature INSN_PROPERTIES = gs_17
+      signature INSTRUCTION_EMITTER = gs_16
+      structure Int = gs_10
+      structure IntHashTable = gs_5
+      signature MLRISC_ERROR_MSG = gs_14
+      structure MLRiscErrorMsg = gs_15
+      structure RACore = gs_1
+      functor RASpillTypes = gs_11
+      signature RA_SPILL = gs_9
+      structure Word = gs_13
+      ../ra/ra-spill-with-renaming.sml
+   in
+      functor gs_18 = RASpillWithRenaming
+   end
+in
+   functor ImprovedChaitinSpillHeur = gs_4
+   functor ImprovedChowHennessySpillHeur = gs_8
+   functor RASpillWithRenaming = gs_18
+end
+end
+
+end
diff -Naur MLRISC/mlb/SPARC.mlb MLRISC-mlton/mlb/SPARC.mlb
--- MLRISC/mlb/SPARC.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlb/SPARC.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,540 @@
+
+ann
+  "nonexhaustiveMatch warn" "redundantMatch warn"
+  "sequenceNonUnit ignore"
+  "warnUnused false" "forceUsed"
+in
+
+local
+  basis l38 = 
+    bas
+      (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb
+    end
+  basis l137 = 
+    bas
+      (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
+    end
+  basis l4 = 
+    bas
+      (* $MLRISC.cm(=$SMLNJ-MLRISC)/MLRISC.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/MLRISC.mlb
+    end
+  basis l46 = 
+    bas
+      (* $Control.cm(=$SMLNJ-MLRISC)/Control.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Control.mlb
+    end
+  basis l30 = 
+    bas
+      (* $Lib.cm(=$SMLNJ-MLRISC)/Lib.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Lib.mlb
+    end
+in
+local
+   $(SML_LIB)/basis/pervasive.mlb
+   local
+      open l4
+   in
+      signature gs_0 = CONTROL_FLOW_GRAPH
+   end
+   local
+      open l4
+   in
+      signature gs_1 = MLTREE_STREAM
+   end
+   local
+      open l4
+   in
+      signature gs_2 = MLTREE
+   end
+   local
+      open l4
+   in
+      signature gs_3 = REGION
+   end
+   local
+      open l4
+   in
+      signature gs_4 = CONSTANT
+   end
+   local
+      open l4
+   in
+      signature gs_5 = CELLS_BASIS
+   end
+   local
+      open l4
+   in
+      structure gs_6 = CellsBasis
+   end
+   local
+      open l4
+   in
+      structure gs_7 = Label
+   end
+   local
+      open l30
+   in
+      structure gs_8 = Annotations
+   end
+   local
+      open l4
+   in
+      functor gs_9 = Cells
+   end
+   local
+      open l38
+   in
+      structure gs_10 = Int
+   end
+   local
+      open l4
+   in
+      signature gs_11 = CELLS
+   end
+   local
+      open l46
+   in
+      signature gs_12 = MLRISC_ERROR_MSG
+      structure gs_13 = MLRiscErrorMsg
+   end
+   local
+      signature CELLS = gs_11
+      functor Cells = gs_9
+      structure CellsBasis = gs_6
+      structure Int = gs_10
+      signature MLRISC_ERROR_MSG = gs_12
+      structure MLRiscErrorMsg = gs_13
+      ../sparc/instructions/sparcCells.sml
+   in
+      signature gs_14 = SPARCCELLS
+      structure gs_15 = SparcCells
+   end
+   local
+      structure Annotations = gs_8
+      signature CELLS_BASIS = gs_5
+      signature CONSTANT = gs_4
+      structure CellsBasis = gs_6
+      structure Label = gs_7
+      signature MLTREE = gs_2
+      signature REGION = gs_3
+      signature SPARCCELLS = gs_14
+      structure SparcCells = gs_15
+      ../sparc/instructions/sparcInstr.sml
+   in
+      signature gs_16 = SPARCINSTR
+      functor gs_17 = SparcInstr
+   end
+   local
+      ../sparc/instructions/sparcinstr-ext.sml
+   in
+      structure gs_18 = SparcInstrExt
+   end
+   local
+      signature CONTROL_FLOW_GRAPH = gs_0
+      signature MLTREE = gs_2
+      signature MLTREE_STREAM = gs_1
+      signature SPARCINSTR = gs_16
+      functor SparcInstr = gs_17
+      structure SparcInstrExt = gs_18
+      ../sparc/instructions/sparccomp-instr-ext.sml
+   in
+      signature gs_19 = SPARCCOMP_INSTR_EXT
+      functor gs_20 = SparcCompInstrExt
+   end
+   local
+      open l4
+   in
+      signature gs_21 = INSTRUCTION_EMITTER
+   end
+   local
+      open l38
+   in
+      structure gs_22 = Word8
+   end
+   local
+      open l38
+   in
+      structure gs_23 = Word32
+   end
+   local
+      open l4
+   in
+      signature gs_24 = CODE_STRING
+   end
+   local
+      open l4
+   in
+      signature gs_25 = INSTRUCTION_STREAM
+   end
+   local
+      open l4
+   in
+      signature gs_26 = MLTREE_EVAL
+   end
+   local
+      signature CODE_STRING = gs_24
+      structure CellsBasis = gs_6
+      signature INSTRUCTION_EMITTER = gs_21
+      signature INSTRUCTION_STREAM = gs_25
+      structure Label = gs_7
+      signature MLRISC_ERROR_MSG = gs_12
+      structure MLRiscErrorMsg = gs_13
+      signature MLTREE_EVAL = gs_26
+      signature SPARCINSTR = gs_16
+      functor SparcInstr = gs_17
+      structure Word32 = gs_23
+      structure Word8 = gs_22
+      ../sparc/emit/sparcMC.sml
+   in
+      functor gs_27 = SparcMCEmitter
+   end
+   local
+      open l4
+   in
+      functor gs_28 = Shuffle
+   end
+   local
+      open l38
+   in
+      structure gs_29 = Option
+   end
+   local
+      structure CellsBasis = gs_6
+      signature SPARCINSTR = gs_16
+      functor SparcInstr = gs_17
+      ../sparc/instructions/sparcShuffle.sig
+   in
+      signature gs_30 = SPARCSHUFFLE
+   end
+   local
+      structure CellsBasis = gs_6
+      signature MLRISC_ERROR_MSG = gs_12
+      structure MLRiscErrorMsg = gs_13
+      structure Option = gs_29
+      signature SPARCINSTR = gs_16
+      signature SPARCSHUFFLE = gs_30
+      functor Shuffle = gs_28
+      functor SparcInstr = gs_17
+      structure Word32 = gs_23
+      ../sparc/instructions/sparcShuffle.sml
+   in
+      functor gs_31 = SparcShuffle
+   end
+   local
+      open l4
+   in
+      signature gs_32 = DELAY_SLOT_PROPERTIES
+   end
+   local
+      open l4
+   in
+      signature gs_33 = INSN_PROPERTIES
+   end
+   local
+      structure CellsBasis = gs_6
+      signature DELAY_SLOT_PROPERTIES = gs_32
+      signature INSN_PROPERTIES = gs_33
+      signature MLRISC_ERROR_MSG = gs_12
+      structure MLRiscErrorMsg = gs_13
+      structure Option = gs_29
+      signature SPARCINSTR = gs_16
+      functor SparcInstr = gs_17
+      ../sparc/backpatch/sparcDelaySlotProps.sml
+   in
+      functor gs_34 = SparcDelaySlots
+   end
+   local
+      open l4
+   in
+      signature gs_35 = FREQUENCY_PROPERTIES
+   end
+   local
+      open l30
+   in
+      signature gs_36 = PROBABILITY
+      structure gs_37 = Probability
+   end
+   local
+      open l4
+   in
+      structure gs_38 = MLRiscAnnotations
+   end
+   local
+      signature FREQUENCY_PROPERTIES = gs_35
+      structure MLRiscAnnotations = gs_38
+      signature PROBABILITY = gs_36
+      structure Probability = gs_37
+      signature SPARCINSTR = gs_16
+      functor SparcInstr = gs_17
+      ../sparc/instructions/sparcFreqProps.sml
+   in
+      functor gs_39 = SparcFreqProps
+   end
+   local
+      open l4
+   in
+      signature gs_40 = PSEUDO_OPS_BASIS
+   end
+   local
+      open l4
+   in
+      signature gs_41 = GAS_PSEUDO_OPS
+      functor gs_42 = GasPseudoOps
+   end
+   local
+      open l4
+   in
+      functor gs_43 = PseudoOpsBig
+   end
+   local
+      open l137
+   in
+      structure gs_44 = Format
+   end
+   local
+      open l4
+   in
+      structure gs_45 = PseudoOpsBasisTyp
+   end
+   local
+      structure Format = gs_44
+      signature GAS_PSEUDO_OPS = gs_41
+      functor GasPseudoOps = gs_42
+      signature MLRISC_ERROR_MSG = gs_12
+      structure MLRiscErrorMsg = gs_13
+      signature MLTREE = gs_2
+      signature MLTREE_EVAL = gs_26
+      signature PSEUDO_OPS_BASIS = gs_40
+      structure PseudoOpsBasisTyp = gs_45
+      functor PseudoOpsBig = gs_43
+      structure Word32 = gs_23
+      ../sparc/flowgraph/sparcGasPseudoOps.sml
+   in
+      functor gs_46 = SparcGasPseudoOps
+   end
+   local
+      open l4
+   in
+      functor gs_47 = MLTreeMult
+   end
+   local
+      open l4
+   in
+      functor gs_48 = MLTreeGen
+   end
+   local
+      open l4
+   in
+      signature gs_49 = MLTREECOMP
+      signature gs_50 = MLTREE_EXTENSION_COMP
+   end
+   local
+      structure CellsBasis = gs_6
+      signature SPARCINSTR = gs_16
+      functor SparcInstr = gs_17
+      ../sparc/mltree/sparcPseudoInstr.sig
+   in
+      signature gs_51 = SPARC_PSEUDO_INSTR
+   end
+   local
+      structure CellsBasis = gs_6
+      signature MLRISC_ERROR_MSG = gs_12
+      structure MLRiscAnnotations = gs_38
+      structure MLRiscErrorMsg = gs_13
+      signature MLTREECOMP = gs_49
+      signature MLTREE_EXTENSION_COMP = gs_50
+      functor MLTreeGen = gs_48
+      functor MLTreeMult = gs_47
+      signature SPARCINSTR = gs_16
+      signature SPARC_PSEUDO_INSTR = gs_51
+      functor SparcInstr = gs_17
+      structure Word32 = gs_23
+      ../sparc/mltree/sparc.sml
+   in
+      functor gs_52 = Sparc
+   end
+   local
+      open l137
+   in
+      structure gs_53 = IntInf
+   end
+   local
+      open l38
+   in
+      structure gs_54 = Word
+   end
+   local
+      open l4
+   in
+      signature gs_55 = MLTREE_HASH
+   end
+   local
+      structure CellsBasis = gs_6
+      signature INSN_PROPERTIES = gs_33
+      structure IntInf = gs_53
+      structure Label = gs_7
+      signature MLRISC_ERROR_MSG = gs_12
+      structure MLRiscErrorMsg = gs_13
+      signature MLTREE_EVAL = gs_26
+      signature MLTREE_HASH = gs_55
+      structure Option = gs_29
+      signature SPARCINSTR = gs_16
+      functor SparcInstr = gs_17
+      structure Word = gs_54
+      ../sparc/instructions/sparcProps.sml
+   in
+      functor gs_56 = SparcProps
+   end
+   local
+      open l4
+   in
+      signature gs_57 = SDI_JUMPS
+   end
+   local
+      structure CellsBasis = gs_6
+      signature MLRISC_ERROR_MSG = gs_12
+      structure MLRiscErrorMsg = gs_13
+      signature MLTREE_EVAL = gs_26
+      signature SDI_JUMPS = gs_57
+      signature SPARCINSTR = gs_16
+      signature SPARCSHUFFLE = gs_30
+      functor SparcInstr = gs_17
+      structure Word32 = gs_23
+      ../sparc/backpatch/sparcJumps.sml
+   in
+      functor gs_58 = SparcJumps
+   end
+   local
+      open l4
+   in
+      signature gs_59 = C_CALLS
+   end
+   local
+      open l4
+   in
+      structure gs_60 = CTypes
+   end
+   local
+      open l38
+   in
+      structure gs_61 = String
+   end
+   local
+      open l38
+   in
+      structure gs_62 = List
+   end
+   local
+      structure CTypes = gs_60
+      signature C_CALLS = gs_59
+      structure Int = gs_10
+      structure List = gs_62
+      signature MLRISC_ERROR_MSG = gs_12
+      structure MLRiscAnnotations = gs_38
+      structure MLRiscErrorMsg = gs_13
+      signature MLTREE = gs_2
+      signature SPARCCELLS = gs_14
+      structure SparcCells = gs_15
+      structure SparcInstrExt = gs_18
+      structure String = gs_61
+      ../sparc/c-calls/sparc-c-calls.sml
+   in
+      functor gs_63 = Sparc_CCalls
+   end
+   local
+      open l4
+   in
+      signature gs_64 = ASM_FORMAT_UTIL
+      structure gs_65 = AsmFormatUtil
+   end
+   local
+      open l4
+   in
+      signature gs_66 = ASM_STREAM
+      structure gs_67 = AsmStream
+   end
+   local
+      open l38
+   in
+      structure gs_68 = TextIO
+   end
+   local
+      open l4
+   in
+      structure gs_69 = AsmFlags
+   end
+   local
+      signature ASM_FORMAT_UTIL = gs_64
+      signature ASM_STREAM = gs_66
+      structure Annotations = gs_8
+      structure AsmFlags = gs_69
+      structure AsmFormatUtil = gs_65
+      structure AsmStream = gs_67
+      structure CellsBasis = gs_6
+      signature INSTRUCTION_EMITTER = gs_21
+      signature INSTRUCTION_STREAM = gs_25
+      structure Int = gs_10
+      signature MLRISC_ERROR_MSG = gs_12
+      structure MLRiscErrorMsg = gs_13
+      signature MLTREE_EVAL = gs_26
+      signature SPARCINSTR = gs_16
+      signature SPARCSHUFFLE = gs_30
+      functor SparcInstr = gs_17
+      structure String = gs_61
+      structure TextIO = gs_68
+      structure Word32 = gs_23
+      ../sparc/emit/sparcAsm.sml
+   in
+      functor gs_70 = SparcAsmEmitter
+   end
+   local
+      structure CellsBasis = gs_6
+      signature MLRISC_ERROR_MSG = gs_12
+      structure MLRiscErrorMsg = gs_13
+      signature SPARCINSTR = gs_16
+      functor SparcInstr = gs_17
+      ../sparc/ra/sparcRewrite.sml
+   in
+      functor gs_71 = SparcRewrite
+   end
+   local
+      open l4
+   in
+      signature gs_72 = ARCH_SPILL_INSTR
+   end
+   local
+      signature ARCH_SPILL_INSTR = gs_72
+      structure CellsBasis = gs_6
+      signature MLRISC_ERROR_MSG = gs_12
+      structure MLRiscErrorMsg = gs_13
+      signature SPARCINSTR = gs_16
+      functor SparcInstr = gs_17
+      functor SparcRewrite = gs_71
+      ../sparc/ra/sparcSpillInstr.sml
+   in
+      functor gs_73 = SparcSpillInstr
+   end
+in
+   signature SPARCCELLS = gs_14
+   signature SPARCCOMP_INSTR_EXT = gs_19
+   signature SPARCINSTR = gs_16
+   signature SPARCSHUFFLE = gs_30
+   signature SPARC_PSEUDO_INSTR = gs_51
+   functor Sparc = gs_52
+   functor SparcAsmEmitter = gs_70
+   structure SparcCells = gs_15
+   functor SparcCompInstrExt = gs_20
+   functor SparcDelaySlots = gs_34
+   functor SparcFreqProps = gs_39
+   functor SparcGasPseudoOps = gs_46
+   functor SparcInstr = gs_17
+   structure SparcInstrExt = gs_18
+   functor SparcJumps = gs_58
+   functor SparcMCEmitter = gs_27
+   functor SparcProps = gs_56
+   functor SparcRewrite = gs_71
+   functor SparcShuffle = gs_31
+   functor SparcSpillInstr = gs_73
+   functor Sparc_CCalls = gs_63
+end
+end
+
+end
diff -Naur MLRISC/mlb/Visual.mlb MLRISC-mlton/mlb/Visual.mlb
--- MLRISC/mlb/Visual.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlb/Visual.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,252 @@
+
+ann
+  "nonexhaustiveMatch warn" "redundantMatch warn"
+  "sequenceNonUnit ignore"
+  "warnUnused false" "forceUsed"
+in
+
+local
+  basis l23 = 
+    bas
+      (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb $(SML_LIB)/basis/unsafe.mlb
+    end
+  basis l66 = 
+    bas
+      (* $MLRISC.cm(=$SMLNJ-MLRISC)/MLRISC.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/MLRISC.mlb
+    end
+  basis l5 = 
+    bas
+      (* $Control.cm(=$SMLNJ-MLRISC)/Control.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Control.mlb
+    end
+  basis l12 = 
+    bas
+      (* $Graphs.cm(=$SMLNJ-MLRISC)/Graphs.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Graphs.mlb
+    end
+  basis l19 = 
+    bas
+      (* $Lib.cm(=$SMLNJ-MLRISC)/Lib.cm ====> *) $(SML_LIB)/mlrisc-lib/mlb/Lib.mlb
+    end
+in
+local
+   $(SML_LIB)/basis/pervasive.mlb
+   local
+      open l5
+   in
+      signature gs_0 = MLRISC_CONTROL
+      structure gs_1 = MLRiscControl
+   end
+   local
+      open l12
+   in
+      signature gs_2 = ISOMORPHIC_GRAPH_VIEW
+      structure gs_3 = IsomorphicGraphView
+   end
+   local
+      open l12
+   in
+      structure gs_4 = Graph
+   end
+   local
+      open l19
+   in
+      structure gs_5 = Annotations
+   end
+   local
+      open l23
+   in
+      structure gs_6 = Int
+   end
+   local
+      structure Annotations = gs_5
+      structure Graph = gs_4
+      signature ISOMORPHIC_GRAPH_VIEW = gs_2
+      structure Int = gs_6
+      structure IsomorphicGraphView = gs_3
+      ../visualization/graphLayout.sml
+   in
+      structure gs_7 = GraphLayout
+   end
+   local
+      structure GraphLayout = gs_7
+      ../visualization/graphDisplay.sig
+   in
+      signature gs_8 = GRAPH_DISPLAY
+   end
+   local
+      open l23
+   in
+      structure gs_9 = String
+   end
+   local
+      open l23
+   in
+      structure gs_10 = List
+   end
+   local
+      signature GRAPH_DISPLAY = gs_8
+      structure Graph = gs_4
+      structure GraphLayout = gs_7
+      structure Int = gs_6
+      structure List = gs_10
+      structure String = gs_9
+      ../visualization/daVinci.sml
+   in
+      structure gs_11 = daVinci
+   end
+   local
+      signature GRAPH_DISPLAY = gs_8
+      structure Graph = gs_4
+      structure GraphLayout = gs_7
+      structure Int = gs_6
+      structure String = gs_9
+      ../visualization/vcg.sml
+   in
+      structure gs_12 = VCG
+   end
+   local
+      signature GRAPH_DISPLAY = gs_8
+      structure Graph = gs_4
+      structure GraphLayout = gs_7
+      structure Int = gs_6
+      structure String = gs_9
+      ../visualization/dot.sml
+   in
+      structure gs_13 = Dot
+   end
+   local
+      structure Dot = gs_13
+      signature GRAPH_DISPLAY = gs_8
+      signature MLRISC_CONTROL = gs_0
+      structure MLRiscControl = gs_1
+      structure VCG = gs_12
+      structure daVinci = gs_11
+      ../visualization/allDisplays.sml
+   in
+      structure gs_14 = AllDisplays
+   end
+   local
+      open l23
+   in
+      structure gs_15 = TextIO
+   end
+   local
+      open l23
+   in
+      structure gs_16 = OS
+   end
+   local
+      structure GraphLayout = gs_7
+      ../visualization/graphViewer.sig
+   in
+      signature gs_17 = GRAPH_VIEWER
+   end
+   local
+      signature GRAPH_DISPLAY = gs_8
+      signature GRAPH_VIEWER = gs_17
+      structure Graph = gs_4
+      structure GraphLayout = gs_7
+      structure Int = gs_6
+      signature MLRISC_CONTROL = gs_0
+      structure MLRiscControl = gs_1
+      structure OS = gs_16
+      structure TextIO = gs_15
+      ../visualization/graphViewer.sml
+   in
+      functor gs_18 = GraphViewer
+   end
+   local
+      open l66
+   in
+      structure gs_19 = Label
+   end
+   local
+      open l23
+   in
+      structure gs_20 = Array
+   end
+   local
+      open l23
+   in
+      structure gs_21 = Real
+   end
+   local
+      open l23
+   in
+      structure gs_22 = Math
+   end
+   local
+      open l66
+   in
+      signature gs_23 = INSTRUCTION_EMITTER
+   end
+   local
+      open l66
+   in
+      signature gs_24 = CONTROL_FLOW_GRAPH
+   end
+   local
+      open l19
+   in
+      structure gs_25 = StringOutStream
+   end
+   local
+      open l66
+   in
+      signature gs_26 = ASM_STREAM
+      structure gs_27 = AsmStream
+   end
+   local
+      open l66
+   in
+      signature gs_28 = INSTRUCTIONS
+   end
+   local
+      signature ASM_STREAM = gs_26
+      structure Annotations = gs_5
+      structure AsmStream = gs_27
+      signature INSTRUCTIONS = gs_28
+      signature INSTRUCTION_EMITTER = gs_23
+      structure String = gs_9
+      structure StringOutStream = gs_25
+      ../visualization/mlrisc-format-insn.sml
+   in
+      signature gs_29 = FORMAT_INSTRUCTION
+      functor gs_30 = FormatInstruction
+   end
+   local
+      structure Annotations = gs_5
+      structure Array = gs_20
+      signature CONTROL_FLOW_GRAPH = gs_24
+      signature FORMAT_INSTRUCTION = gs_29
+      functor FormatInstruction = gs_30
+      signature GRAPH_VIEWER = gs_17
+      structure Graph = gs_4
+      structure GraphLayout = gs_7
+      signature INSTRUCTION_EMITTER = gs_23
+      structure Int = gs_6
+      structure Label = gs_19
+      structure List = gs_10
+      signature MLRISC_CONTROL = gs_0
+      structure MLRiscControl = gs_1
+      structure Math = gs_22
+      structure Real = gs_21
+      structure String = gs_9
+      ../visualization/cfgViewer.sml
+   in
+      functor gs_31 = CFGViewer
+   end
+in
+   structure AllDisplays = gs_14
+   functor CFGViewer = gs_31
+   structure Dot = gs_13
+   functor FormatInstruction = gs_30
+   signature GRAPH_DISPLAY = gs_8
+   signature GRAPH_VIEWER = gs_17
+   structure GraphLayout = gs_7
+   functor GraphViewer = gs_18
+   structure VCG = gs_12
+   structure daVinci = gs_11
+end
+end
+
+end
diff -Naur MLRISC/mlrisc-lib.mlb MLRISC-mlton/mlrisc-lib.mlb
--- MLRISC/mlrisc-lib.mlb	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/mlrisc-lib.mlb	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,17 @@
+(* DO NOT USE.  Only suitable for type-checking purposes. *)
+local
+mlb/ALPHA.mlb
+mlb/Control.mlb
+mlb/Graphs.mlb
+mlb/HPPA.mlb
+mlb/IA32.mlb
+mlb/IA32-Peephole.mlb
+mlb/Lib.mlb
+mlb/MLRISC.mlb
+mlb/MLTREE.mlb
+mlb/Peephole.mlb
+mlb/PPC.mlb
+mlb/RA.mlb
+mlb/SPARC.mlb
+mlb/Visual.mlb
+in end
diff -Naur MLRISC/mltree/instr-gen.sig MLRISC-mlton/mltree/instr-gen.sig
--- MLRISC/mltree/instr-gen.sig	2001-08-24 10:48:49.000000000 -0700
+++ MLRISC-mlton/mltree/instr-gen.sig	2006-10-25 16:55:11.000000000 -0700
@@ -8,8 +8,29 @@
    structure S   : INSTRUCTION_STREAM
    structure CFG : CONTROL_FLOW_GRAPH 
 
-   sharing I.C = C 
-   sharing CFG.P = S.P
+   (* sharing I.C = C *)
+   (* sharing CFG.P = S.P *)
+   where type P.Client.pseudo_op = S.P.Client.pseudo_op
+     and type P.T.Basis.cond = S.P.T.Basis.cond
+     and type P.T.Basis.div_rounding_mode = S.P.T.Basis.div_rounding_mode
+     and type P.T.Basis.ext = S.P.T.Basis.ext
+     and type P.T.Basis.fcond = S.P.T.Basis.fcond
+     and type P.T.Basis.rounding_mode = S.P.T.Basis.rounding_mode
+     and type P.T.Constant.const = S.P.T.Constant.const
+     and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) S.P.T.Extension.ccx
+     and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) S.P.T.Extension.fx
+     and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) S.P.T.Extension.rx
+     and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) S.P.T.Extension.sx
+     and type P.T.I.div_rounding_mode = S.P.T.I.div_rounding_mode
+     and type P.T.Region.region = S.P.T.Region.region
+     and type P.T.ccexp = S.P.T.ccexp
+     and type P.T.fexp = S.P.T.fexp
+     (* and type P.T.labexp = S.P.T.labexp *)
+     and type P.T.mlrisc = S.P.T.mlrisc
+     and type P.T.oper = S.P.T.oper
+     and type P.T.rep = S.P.T.rep
+     and type P.T.rexp = S.P.T.rexp
+     and type P.T.stm = S.P.T.stm
 
    (* 
     * This function creates an instruction stream, which can be 
diff -Naur MLRISC/mltree/instr-gen.sml MLRISC-mlton/mltree/instr-gen.sml
--- MLRISC/mltree/instr-gen.sml	2001-09-19 12:31:18.000000000 -0700
+++ MLRISC-mlton/mltree/instr-gen.sml	2006-10-25 16:55:11.000000000 -0700
@@ -4,9 +4,33 @@
 functor InstrGen
    (structure I      : INSTRUCTIONS
     structure Stream : INSTRUCTION_STREAM
-    structure CFG    : CONTROL_FLOW_GRAPH
-    			where I = I
-			  and P = Stream.P
+    structure CFG    : CONTROL_FLOW_GRAPH (* where I = I and P = Stream.P *)
+                       where type I.addressing_mode = I.addressing_mode
+                         and type I.ea = I.ea
+                         and type I.instr = I.instr
+                         and type I.instruction = I.instruction
+                         and type I.operand = I.operand
+                       where type P.Client.pseudo_op = Stream.P.Client.pseudo_op
+                         and type P.T.Basis.cond = Stream.P.T.Basis.cond
+                         and type P.T.Basis.div_rounding_mode = Stream.P.T.Basis.div_rounding_mode
+                         and type P.T.Basis.ext = Stream.P.T.Basis.ext
+                         and type P.T.Basis.fcond = Stream.P.T.Basis.fcond
+                         and type P.T.Basis.rounding_mode = Stream.P.T.Basis.rounding_mode
+                         and type P.T.Constant.const = Stream.P.T.Constant.const
+                         and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) Stream.P.T.Extension.ccx
+                         and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) Stream.P.T.Extension.fx
+                         and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) Stream.P.T.Extension.rx
+                         and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) Stream.P.T.Extension.sx
+                         and type P.T.I.div_rounding_mode = Stream.P.T.I.div_rounding_mode
+                         and type P.T.Region.region = Stream.P.T.Region.region
+                         and type P.T.ccexp = Stream.P.T.ccexp
+                         and type P.T.fexp = Stream.P.T.fexp
+                         (* and type P.T.labexp = Stream.P.T.labexp *)
+                         and type P.T.mlrisc = Stream.P.T.mlrisc
+                         and type P.T.oper = Stream.P.T.oper
+                         and type P.T.rep = Stream.P.T.rep
+                         and type P.T.rexp = Stream.P.T.rexp
+                         and type P.T.stm = Stream.P.T.stm
    ) : INSTR_GEN =
 struct
    structure C   = I.C
diff -Naur MLRISC/mltree/mltreecomp.sig MLRISC-mlton/mltree/mltreecomp.sig
--- MLRISC/mltree/mltreecomp.sig	2001-11-21 11:00:04.000000000 -0800
+++ MLRISC-mlton/mltree/mltreecomp.sig	2006-10-25 16:55:11.000000000 -0700
@@ -9,11 +9,56 @@
 signature MLTREE_EXTENSION_COMP =
 sig
    structure T : MLTREE
-   structure TS : MLTREE_STREAM where T = T
+   structure TS : MLTREE_STREAM (* where T = T *)
+                  where type T.Basis.cond = T.Basis.cond
+                    and type T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                    and type T.Basis.ext = T.Basis.ext
+                    and type T.Basis.fcond = T.Basis.fcond
+                    and type T.Basis.rounding_mode = T.Basis.rounding_mode
+                    and type T.Constant.const = T.Constant.const
+                    and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                    and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                    and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                    and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                    and type T.I.div_rounding_mode = T.I.div_rounding_mode
+                    and type T.Region.region = T.Region.region
+                    and type T.ccexp = T.ccexp
+                    and type T.fexp = T.fexp
+                    (* and type T.labexp = T.labexp *)
+                    and type T.mlrisc = T.mlrisc
+                    and type T.oper = T.oper
+                    and type T.rep = T.rep
+                    and type T.rexp = T.rexp
+                    and type T.stm = T.stm
    structure I : INSTRUCTIONS
-   structure CFG : CONTROL_FLOW_GRAPH
-		where I = I
-	          and P = TS.S.P
+   structure CFG : CONTROL_FLOW_GRAPH (* where I = I and P = TS.S.P *)
+                   where type I.addressing_mode = I.addressing_mode
+                     and type I.ea = I.ea
+                     and type I.instr = I.instr
+                     and type I.instruction = I.instruction
+                     and type I.operand = I.operand
+                   where type P.Client.pseudo_op = TS.S.P.Client.pseudo_op
+                     and type P.T.Basis.cond = TS.S.P.T.Basis.cond
+                     and type P.T.Basis.div_rounding_mode = TS.S.P.T.Basis.div_rounding_mode
+                     and type P.T.Basis.ext = TS.S.P.T.Basis.ext
+                     and type P.T.Basis.fcond = TS.S.P.T.Basis.fcond
+                     and type P.T.Basis.rounding_mode = TS.S.P.T.Basis.rounding_mode
+                     and type P.T.Constant.const = TS.S.P.T.Constant.const
+                     and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) TS.S.P.T.Extension.ccx
+                     and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) TS.S.P.T.Extension.fx
+                     and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) TS.S.P.T.Extension.rx
+                     and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) TS.S.P.T.Extension.sx
+                     and type P.T.I.div_rounding_mode = TS.S.P.T.I.div_rounding_mode
+                     and type P.T.Region.region = TS.S.P.T.Region.region
+                     and type P.T.ccexp = TS.S.P.T.ccexp
+                     and type P.T.fexp = TS.S.P.T.fexp
+	             (* and type P.T.labexp = TS.S.P.T.labexp *)
+                     and type P.T.mlrisc = TS.S.P.T.mlrisc
+                     and type P.T.oper = TS.S.P.T.oper
+                     and type P.T.rep = TS.S.P.T.rep
+                     and type P.T.rexp = TS.S.P.T.rexp
+                     and type P.T.stm = TS.S.P.T.stm
+
    (* 
     * The reducer is given to the client during the compilation of
     * the user extensions.
@@ -34,11 +79,54 @@
 sig
    structure TS : MLTREE_STREAM
    structure I : INSTRUCTIONS 
-   structure CFG : CONTROL_FLOW_GRAPH 
-      		where I = I
-		  and P = TS.S.P
-   structure Gen : MLTREEGEN 
-   		where T = TS.T
+   structure CFG : CONTROL_FLOW_GRAPH (* where I = I and P = TS.S.P *)
+                   where type I.addressing_mode = I.addressing_mode
+                     and type I.ea = I.ea
+                     and type I.instr = I.instr
+                     and type I.instruction = I.instruction
+                     and type I.operand = I.operand
+                   where type P.Client.pseudo_op = TS.S.P.Client.pseudo_op
+                     and type P.T.Basis.cond = TS.S.P.T.Basis.cond
+                     and type P.T.Basis.div_rounding_mode = TS.S.P.T.Basis.div_rounding_mode
+                     and type P.T.Basis.ext = TS.S.P.T.Basis.ext
+                     and type P.T.Basis.fcond = TS.S.P.T.Basis.fcond
+                     and type P.T.Basis.rounding_mode = TS.S.P.T.Basis.rounding_mode
+                     and type P.T.Constant.const = TS.S.P.T.Constant.const
+                     and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) TS.S.P.T.Extension.ccx
+                     and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) TS.S.P.T.Extension.fx
+                     and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) TS.S.P.T.Extension.rx
+                     and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) TS.S.P.T.Extension.sx
+                     and type P.T.I.div_rounding_mode = TS.S.P.T.I.div_rounding_mode
+                     and type P.T.Region.region = TS.S.P.T.Region.region
+                     and type P.T.ccexp = TS.S.P.T.ccexp
+                     and type P.T.fexp = TS.S.P.T.fexp
+                     (* and type P.T.labexp = TS.S.P.T.labexp *)
+                     and type P.T.mlrisc = TS.S.P.T.mlrisc
+                     and type P.T.oper = TS.S.P.T.oper
+                     and type P.T.rep = TS.S.P.T.rep
+                     and type P.T.rexp = TS.S.P.T.rexp
+                     and type P.T.stm = TS.S.P.T.stm
+   structure Gen : MLTREEGEN (* where T = TS.T *)
+                   where type T.Basis.cond = TS.T.Basis.cond
+                     and type T.Basis.div_rounding_mode = TS.T.Basis.div_rounding_mode
+                     and type T.Basis.ext = TS.T.Basis.ext
+                     and type T.Basis.fcond = TS.T.Basis.fcond
+                     and type T.Basis.rounding_mode = TS.T.Basis.rounding_mode
+                     and type T.Constant.const = TS.T.Constant.const
+                     and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) TS.T.Extension.ccx
+                     and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) TS.T.Extension.fx
+                     and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) TS.T.Extension.rx
+                     and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) TS.T.Extension.sx
+                     and type T.I.div_rounding_mode = TS.T.I.div_rounding_mode
+                     and type T.Region.region = TS.T.Region.region
+                     and type T.ccexp = TS.T.ccexp
+                     and type T.fexp = TS.T.fexp
+                     (* and type T.labexp = TS.T.labexp *)
+                     and type T.mlrisc = TS.T.mlrisc
+                     and type T.oper = TS.T.oper
+                     and type T.rep = TS.T.rep
+                     and type T.rexp = TS.T.rexp
+                     and type T.stm = TS.T.stm
 
    type instrStream = (I.instruction, I.C.cellset, CFG.cfg) TS.stream  
    type mltreeStream = (TS.T.stm, TS.T.mlrisc list, CFG.cfg) TS.stream 
diff -Naur MLRISC/mltree/mltree-gen.sig MLRISC-mlton/mltree/mltree-gen.sig
--- MLRISC/mltree/mltree-gen.sig	2001-09-19 12:31:18.000000000 -0700
+++ MLRISC-mlton/mltree/mltree-gen.sig	2006-10-25 16:55:11.000000000 -0700
@@ -9,8 +9,27 @@
 sig
 
    structure T : MLTREE
-   structure Size : MLTREE_SIZE
-   	where T = T
+   structure Size : MLTREE_SIZE (* where T = T *)
+                    where type T.Basis.cond = T.Basis.cond
+                      and type T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                      and type T.Basis.ext = T.Basis.ext
+                      and type T.Basis.fcond = T.Basis.fcond
+                      and type T.Basis.rounding_mode = T.Basis.rounding_mode
+                      and type T.Constant.const = T.Constant.const
+                      and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                      and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                      and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                      and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                      and type T.I.div_rounding_mode = T.I.div_rounding_mode
+                      and type T.Region.region = T.Region.region
+                      and type T.ccexp = T.ccexp
+                      and type T.fexp = T.fexp
+                      (* and type T.labexp = T.labexp *)
+                      and type T.mlrisc = T.mlrisc
+                      and type T.oper = T.oper
+                      and type T.rep = T.rep
+                      and type T.rexp = T.rexp
+                      and type T.stm = T.stm
 
    val condOf : T.ccexp -> T.Basis.cond
    val fcondOf : T.ccexp -> T.Basis.fcond
diff -Naur MLRISC/mltree/mltree-mult.sig MLRISC-mlton/mltree/mltree-mult.sig
--- MLRISC/mltree/mltree-mult.sig	2001-09-19 12:31:18.000000000 -0700
+++ MLRISC-mlton/mltree/mltree-mult.sig	2006-10-25 16:55:11.000000000 -0700
@@ -8,7 +8,7 @@
 
    structure T : MLTREE
    structure C : CELLS 
-   structure I : INSTRUCTIONS where C=C
+   structure I : INSTRUCTIONS (* where C = C *)
 
    exception TooComplex
 
diff -Naur MLRISC/mltree/mltree-mult.sml MLRISC-mlton/mltree/mltree-mult.sml
--- MLRISC/mltree/mltree-mult.sml	2003-08-28 14:58:47.000000000 -0700
+++ MLRISC-mlton/mltree/mltree-mult.sml	2006-10-25 16:55:11.000000000 -0700
@@ -8,7 +8,16 @@
   (structure I : INSTRUCTIONS
    structure T : MLTREE
 
-   structure CB : CELLS_BASIS = CellsBasis
+   structure CB : CELLS_BASIS (* = CellsBasis *)
+                  where type CellSet.cellset = CellsBasis.CellSet.cellset
+                    and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                    and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                    and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                    and type cell = CellsBasis.cell
+                    and type cellColor = CellsBasis.cellColor
+                    and type cellkind = CellsBasis.cellkind
+                    and type cellkindDesc = CellsBasis.cellkindDesc
+                    and type cellkindInfo = CellsBasis.cellkindInfo
    val intTy : int (* width of integer type *)
 
    type argi = {r:CB.cell, i:int, d:CB.cell}
@@ -20,8 +29,8 @@
    val slli  : argi -> I.instruction list
    val srli  : argi -> I.instruction list
    val srai  : argi -> I.instruction list
-  )
-  (val trapping : bool (* trap on overflow? *)
+  
+   val trapping : bool (* trap on overflow? *)
    val multCost : int ref  (* cost of multiplication *)
 
        (* basic ops; these have to implemented by the architecture *)
@@ -37,8 +46,8 @@
    val sh1addv  : (arg -> I.instruction list) option (* a*2 + b *)
    val sh2addv  : (arg -> I.instruction list) option (* a*4 + b *)  
    val sh3addv  : (arg -> I.instruction list) option (* a*8 + b *)
-  )  
-  (val signed   : bool (* signed? *)
+    
+   val signed   : bool (* signed? *)
   ) : MLTREE_MULT_DIV =
 struct
    structure T = T 
diff -Naur MLRISC/mltree/mltree.sig MLRISC-mlton/mltree/mltree.sig
--- MLRISC/mltree/mltree.sig	2002-03-29 11:09:46.000000000 -0800
+++ MLRISC-mlton/mltree/mltree.sig	2006-10-25 16:55:11.000000000 -0700
@@ -30,6 +30,10 @@
    * extension type.  Unfortunately, this has to be made polymorphic to make
    * it possible for recursive type definitions to work.
    *)
+  type controlflow = Label.label list (* control flow info *)
+  type ctrl   = var                   (* control dependence info *)
+  type ctrls  = ctrl list
+
   datatype stm =
       (* assignment *)
       MV      of ty * dst * rexp
@@ -70,7 +74,7 @@
     | DEFINE of Label.label   (* define local label *)
 
     | ANNOTATION of stm * an
-    | EXT of sext  (* extension *)
+    | EXT of (stm, rexp, fexp, ccexp) Extension.sx  (* extension *)
 
       (* synthetic instructions to indicated that the regs are live or
        * killed at this program point. The spilled list must always
@@ -152,7 +156,7 @@
 
     | LET of stm * rexp
 
-    | REXT of ty * rext
+    | REXT of ty * (stm, rexp, fexp, ccexp) Extension.rx
 
     | MARK of rexp * an
 
@@ -187,7 +191,7 @@
 
     | FPRED of fexp * ctrl
 
-    | FEXT of fty * fext
+    | FEXT of fty * (stm, rexp, fexp, ccexp) Extension.fx
 
     | FMARK of fexp * an
 
@@ -204,21 +208,18 @@
     | CMP    of ty * Basis.cond * rexp * rexp
     | FCMP   of fty * Basis.fcond * fexp * fexp
     | CCMARK of ccexp * an
-    | CCEXT  of ty * ccext
+    | CCEXT  of ty * (stm, rexp, fexp, ccexp) Extension.ccx
 
   and mlrisc =
       CCR of ccexp
     | GPR of rexp
     | FPR of fexp
 
-  withtype controlflow = Label.label list (* control flow info *)
-       and ctrl   = var                   (* control dependence info *)
-       and ctrls  = ctrl list
-       and sext   = (stm, rexp, fexp, ccexp) Extension.sx
-       and rext   = (stm, rexp, fexp, ccexp) Extension.rx
-       and fext   = (stm, rexp, fexp, ccexp) Extension.fx
-       and ccext  = (stm, rexp, fexp, ccexp) Extension.ccx
-       and labexp = rexp
+  type sext   = (stm, rexp, fexp, ccexp) Extension.sx
+   and rext   = (stm, rexp, fexp, ccexp) Extension.rx
+   and fext   = (stm, rexp, fexp, ccexp) Extension.fx
+   and ccext  = (stm, rexp, fexp, ccexp) Extension.ccx
+   and labexp = rexp
   (*
    * Useful type abbreviations for working for MLTree.
    *)
diff -Naur MLRISC/mltree/mltree-simplify.in MLRISC-mlton/mltree/mltree-simplify.in
--- MLRISC/mltree/mltree-simplify.in	2002-03-29 11:09:45.000000000 -0800
+++ MLRISC-mlton/mltree/mltree-simplify.in	2006-10-25 16:55:11.000000000 -0700
@@ -14,8 +14,27 @@
 
 functor MLTreeSimplifier
   (structure T    : MLTREE
-   structure Size : MLTREE_SIZE
-      where T = T
+   structure Size : MLTREE_SIZE (* where T = T *)
+                    where type T.Basis.cond = T.Basis.cond
+                      and type T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                      and type T.Basis.ext = T.Basis.ext
+                      and type T.Basis.fcond = T.Basis.fcond
+                      and type T.Basis.rounding_mode = T.Basis.rounding_mode
+                      and type T.Constant.const = T.Constant.const
+                      and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                      and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                      and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                      and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                      and type T.I.div_rounding_mode = T.I.div_rounding_mode
+                      and type T.Region.region = T.Region.region
+                      and type T.ccexp = T.ccexp
+                      and type T.fexp = T.fexp
+                      (* and type T.labexp = T.labexp *)
+                      and type T.mlrisc = T.mlrisc
+                      and type T.oper = T.oper
+                      and type T.rep = T.rep
+                      and type T.rexp = T.rexp
+                      and type T.stm = T.stm
    (* Extension *)
    val sext : T.rewriter -> T.sext -> T.sext
    val rext : T.rewriter -> T.rext -> T.rext
diff -Naur MLRISC/mltree/mltree-simplify.sml MLRISC-mlton/mltree/mltree-simplify.sml
--- MLRISC/mltree/mltree-simplify.sml	2002-03-29 11:09:45.000000000 -0800
+++ MLRISC-mlton/mltree/mltree-simplify.sml	2006-10-25 16:55:11.000000000 -0700
@@ -9,7 +9,27 @@
                          structure T : MLTREE
 
 (*#line 17.4 "mltree-simplify.in"*)
-                         structure Size : MLTREE_SIZE where T=T
+                         structure Size : MLTREE_SIZE (* where T=T *)
+                                          where type T.Basis.cond = T.Basis.cond
+                                            and type T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                                            and type T.Basis.ext = T.Basis.ext
+                                            and type T.Basis.fcond = T.Basis.fcond
+                                            and type T.Basis.rounding_mode = T.Basis.rounding_mode
+                                            and type T.Constant.const = T.Constant.const
+                                            and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                                            and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                                            and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                                            and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                                            and type T.I.div_rounding_mode = T.I.div_rounding_mode
+                                            and type T.Region.region = T.Region.region
+                                            and type T.ccexp = T.ccexp
+                                            and type T.fexp = T.fexp
+                                            (* and type T.labexp = T.labexp *)
+                                            and type T.mlrisc = T.mlrisc
+                                            and type T.oper = T.oper
+                                            and type T.rep = T.rep
+                                            and type T.rexp = T.rexp
+                                            and type T.stm = T.stm
 
 (*#line 20.4 "mltree-simplify.in"*)
                          val sext : T.rewriter -> T.sext -> T.sext
diff -Naur MLRISC/mltree/mltree.sml MLRISC-mlton/mltree/mltree.sml
--- MLRISC/mltree/mltree.sml	2003-09-17 14:28:39.000000000 -0700
+++ MLRISC-mlton/mltree/mltree.sml	2006-10-25 16:55:11.000000000 -0700
@@ -32,6 +32,10 @@
    * extension type.  Unfortunately, this has to be made polymorphic to make
    * it possible for recursive type definitions to work.
    *)
+  type controlflow = Label.label list (* control flow info *)
+  type ctrl   = var                   (* control dependence info *)
+  type ctrls  = ctrl list
+
   datatype stm =
       (* assignment *)
       MV      of ty * dst * rexp
@@ -199,10 +203,7 @@
     | GPR of rexp
     | FPR of fexp
 
-  withtype controlflow = Label.label list (* control flow info *)
-       and ctrl   = var                   (* control dependence info *)
-       and ctrls  = ctrl list
-       and sext   = (stm, rexp, fexp, ccexp) Extension.sx
+  withtype sext   = (stm, rexp, fexp, ccexp) Extension.sx
        and rext   = (stm, rexp, fexp, ccexp) Extension.rx
        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-10-30 09:02:13.000000000 -0700
+++ MLRISC-mlton/mltree/mltree-utils.sml	2006-10-25 16:55:11.000000000 -0700
@@ -518,9 +518,10 @@
 
       and oper(T.OPER{name,...}) = name 
 
-      and parenRexp
-            (e as (T.REG _ | T.LI _ | T.$ _ | T.ARG _)) = 
-              rexp e
+      and parenRexp (e as T.REG _) = rexp e
+        | parenRexp (e as T.LI _) = rexp e
+        | parenRexp (e as T.$ _) = rexp e
+        | parenRexp (e as T.ARG _) = rexp e
         | parenRexp e = "("^rexp e^")"
 
       and slices sc = listify' (fn (from,to) => i2s from^".."^i2s to) sc
diff -Naur MLRISC/omit-frameptr/omit-frame-pointer.sig MLRISC-mlton/omit-frameptr/omit-frame-pointer.sig
--- MLRISC/omit-frameptr/omit-frame-pointer.sig	2001-09-19 12:31:18.000000000 -0700
+++ MLRISC-mlton/omit-frameptr/omit-frame-pointer.sig	2006-10-25 16:55:11.000000000 -0700
@@ -2,7 +2,12 @@
 
 signature OMIT_FRAME_POINTER = sig
   structure I : INSTRUCTIONS
-  structure CFG : CONTROL_FLOW_GRAPH where I = I
+  structure CFG : CONTROL_FLOW_GRAPH (* where I = I *)
+                  where type I.addressing_mode = I.addressing_mode
+                    and type I.ea = I.ea
+                    and type I.instr = I.instr
+                    and type I.instruction = I.instruction
+                    and type I.operand = I.operand
   
   (* idelta is the intial displacement between the fp and sp. *)
   val omitframeptr : {vfp:CellsBasis.cell, idelta:Int32.int option, cfg:CFG.cfg} -> unit
diff -Naur MLRISC/ppc/backpatch/ppcDelaySlots.sml MLRISC-mlton/ppc/backpatch/ppcDelaySlots.sml
--- MLRISC/ppc/backpatch/ppcDelaySlots.sml	2000-12-07 20:11:36.000000000 -0800
+++ MLRISC-mlton/ppc/backpatch/ppcDelaySlots.sml	2006-10-25 16:55:11.000000000 -0700
@@ -5,8 +5,12 @@
 
 
 functor PPCDelaySlots(structure I : PPCINSTR
-                      structure P : INSN_PROPERTIES
-                         where I = I
+                      structure P : INSN_PROPERTIES (* where I = I *)
+                                    where type I.addressing_mode = I.addressing_mode
+                                      and type I.ea = I.ea
+                                      and type I.instr = I.instr
+                                      and type I.instruction = I.instruction
+                                      and type I.operand = I.operand
                      ) : DELAY_SLOT_PROPERTIES =
 struct
    structure I = I
diff -Naur MLRISC/ppc/backpatch/ppcJumps.sml MLRISC-mlton/ppc/backpatch/ppcJumps.sml
--- MLRISC/ppc/backpatch/ppcJumps.sml	2004-09-24 14:21:31.000000000 -0700
+++ MLRISC-mlton/ppc/backpatch/ppcJumps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -1,7 +1,70 @@
 functor PPCJumps 
   (structure Instr: PPCINSTR
-   structure Shuffle : PPCSHUFFLE where I = Instr
-   structure MLTreeEval : MLTREE_EVAL where T = Instr.T
+   structure Shuffle : PPCSHUFFLE (* where I = Instr *)
+                       where type I.Constant.const = Instr.Constant.const
+                         and type I.Region.region = Instr.Region.region
+                         and type I.T.Basis.cond = Instr.T.Basis.cond
+                         and type I.T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                         and type I.T.Basis.ext = Instr.T.Basis.ext
+                         and type I.T.Basis.fcond = Instr.T.Basis.fcond
+                         and type I.T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                         and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                         and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                         and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                         and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                         and type I.T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                         and type I.T.ccexp = Instr.T.ccexp
+                         and type I.T.fexp = Instr.T.fexp
+                         (* and type I.T.labexp = Instr.T.labexp *)
+                         and type I.T.mlrisc = Instr.T.mlrisc
+                         and type I.T.oper = Instr.T.oper
+                         and type I.T.rep = Instr.T.rep
+                         and type I.T.rexp = Instr.T.rexp
+                         and type I.T.stm = Instr.T.stm
+                         and type I.arith = Instr.arith
+                         and type I.arithi = Instr.arithi
+                         and type I.bit = Instr.bit
+                         and type I.bo = Instr.bo
+                         and type I.ccarith = Instr.ccarith
+                         and type I.cmp = Instr.cmp
+                         and type I.ea = Instr.ea
+                         and type I.farith = Instr.farith
+                         and type I.farith3 = Instr.farith3
+                         and type I.fcmp = Instr.fcmp
+                         and type I.fload = Instr.fload
+                         and type I.fstore = Instr.fstore
+                         and type I.funary = Instr.funary
+                         and type I.instr = Instr.instr
+                         and type I.instruction = Instr.instruction
+                         and type I.load = Instr.load
+                         and type I.operand = Instr.operand
+                         and type I.rotate = Instr.rotate
+                         and type I.rotatei = Instr.rotatei
+                         and type I.spr = Instr.spr
+                         and type I.store = Instr.store
+                         and type I.unary = Instr.unary
+                         and type I.xerbit = Instr.xerbit
+   structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                          where type T.Basis.cond = Instr.T.Basis.cond
+                            and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                            and type T.Basis.ext = Instr.T.Basis.ext
+                            and type T.Basis.fcond = Instr.T.Basis.fcond
+                            and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                            and type T.Constant.const = Instr.T.Constant.const
+                            and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                            and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                            and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                            and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                            and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                            and type T.Region.region = Instr.T.Region.region
+                            and type T.ccexp = Instr.T.ccexp
+                            and type T.fexp = Instr.T.fexp
+                            (* and type T.labexp = Instr.T.labexp *)
+                            and type T.mlrisc = Instr.T.mlrisc
+                            and type T.oper = Instr.T.oper
+                            and type T.rep = Instr.T.rep
+                            and type T.rexp = Instr.T.rexp
+                            and type T.stm = Instr.T.stm
   ) : SDI_JUMPS = 
 struct
   structure I = Instr
@@ -68,22 +131,35 @@
 	  | operand _ = error "sdiSize:operand"
       in
 	case instr
-	of I.L{ld=(I.LBZ | I.LHZ | I.LHA | I.LWZ),d,...} => 
-	      operand(d, signed16, 4, 8)
+	of I.L{ld=I.LBZ,d,...} => operand(d, signed16, 4, 8)
+	 | I.L{ld=I.LHZ,d,...} => operand(d, signed16, 4, 8)
+	 | I.L{ld=I.LHA,d,...} => operand(d, signed16, 4, 8)
+	 | I.L{ld=I.LWZ,d,...} => operand(d, signed16, 4, 8)
 	 | I.L{d,...} => operand(d, signed12, 4, 8)
-	 | I.LF{ld=(I.LFS | I.LFD), d, ...} => operand(d, signed16, 4, 8)
+	 | I.LF{ld=I.LFS, d, ...} => operand(d, signed16, 4, 8)
+	 | I.LF{ld=I.LFD, d, ...} => operand(d, signed16, 4, 8)
 	 | I.LF{d, ...} => operand(d, signed12, 4, 8)
-	 | I.ST{st=(I.STB | I.STH | I.STW), d, ...} => operand(d, signed16, 4, 8)
+	 | I.ST{st=I.STB, d, ...} => operand(d, signed16, 4, 8)
+	 | I.ST{st=I.STH, d, ...} => operand(d, signed16, 4, 8)
+	 | I.ST{st=I.STW, d, ...} => operand(d, signed16, 4, 8)
 	 | I.ST{d, ...} => operand(d, signed12, 4, 8)
-	 | I.STF{st=(I.STFS | I.STFD), d, ...} => operand(d, signed16, 4, 8)
+	 | I.STF{st=I.STFS, d, ...} => operand(d, signed16, 4, 8)
+	 | I.STF{st=I.STFD, d, ...} => operand(d, signed16, 4, 8)
 	 | I.STF{d, ...} => operand(d, signed12, 4, 8)
 	 | I.ARITHI{oper, im, ...} => 
 	   (case oper
 	    of I.ADDI => operand(im, signed16, 4, 8)
-	     | (I.ADDIS | I.SUBFIC | I.MULLI) => operand(im, signed16, 4, 12)
-	     | (I.ANDI_Rc | I.ANDIS_Rc | I.ORI | I.ORIS | I.XORI | I.XORIS) => 
-		   operand(im, unsigned16, 4, 12)
-	     | (I.SRAWI | I.SRADI) => operand(im, unsigned5, 4, 12)
+	     | I.ADDIS => operand(im, signed16, 4, 12)
+	     | I.SUBFIC => operand(im, signed16, 4, 12)
+	     | I.MULLI => operand(im, signed16, 4, 12)
+	     | I.ANDI_Rc => operand(im, unsigned16, 4, 12)
+	     | I.ANDIS_Rc => operand(im, unsigned16, 4, 12)
+	     | I.ORI => operand(im, unsigned16, 4, 12)
+	     | I.ORIS => operand(im, unsigned16, 4, 12)
+	     | I.XORI => operand(im, unsigned16, 4, 12)
+	     | I.XORIS => operand(im, unsigned16, 4, 12)
+	     | I.SRAWI => operand(im, unsigned5, 4, 12)
+	     | I.SRADI => operand(im, unsigned5, 4, 12)
 	    (*esac*))
 	 | 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-10 15:53:53.000000000 -0800
+++ MLRISC-mlton/ppc/c-calls/ppc-macosx.sml	2006-10-25 16:55:11.000000000 -0700
@@ -277,7 +277,9 @@
 		      assignFPR (tys, offset, availGPRs, availFPRs, layout)
 		  | CTy.C_long_double =>
 		      assignFPR (tys, offset, availGPRs, availFPRs, layout)
-		  | (CTy.C_unsigned isz | CTy.C_signed isz) =>
+		  | CTy.C_unsigned isz =>
+		      assignGPR([sizeOfInt isz], tys, offset, availGPRs, availFPRs, layout)
+		  | CTy.C_signed isz =>
 		      assignGPR([sizeOfInt isz], tys, offset, availGPRs, availFPRs, layout)
 		  | CTy.C_PTR =>
 		      assignGPR([sizeOfPtr], tys, offset, availGPRs, availFPRs, layout)
@@ -464,7 +466,8 @@
 	  in
 	  (* check calling convention *)
 	    case conv
-	     of ("" | "ccall") => ()
+	     of ("") => ()
+	      | ("ccall") => ()
 	      | _ => error (concat [
 		    "unknown calling convention \"",
 		    String.toString conv, "\""
diff -Naur MLRISC/ppc/emit/ppcAsm.sml MLRISC-mlton/ppc/emit/ppcAsm.sml
--- MLRISC/ppc/emit/ppcAsm.sml	2004-08-05 15:19:44.000000000 -0700
+++ MLRISC-mlton/ppc/emit/ppcAsm.sml	2006-10-25 16:55:11.000000000 -0700
@@ -6,12 +6,92 @@
 
 
 functor PPCAsmEmitter(structure S : INSTRUCTION_STREAM
-                      structure Instr : PPCINSTR
-                         where T = S.P.T
-                      structure Shuffle : PPCSHUFFLE
-                         where I = Instr
-                      structure MLTreeEval : MLTREE_EVAL
-                         where T = Instr.T
+                      structure Instr : PPCINSTR (* where T = S.P.T *)
+                                        where type T.Basis.cond = S.P.T.Basis.cond
+                                          and type T.Basis.div_rounding_mode = S.P.T.Basis.div_rounding_mode
+                                          and type T.Basis.ext = S.P.T.Basis.ext
+                                          and type T.Basis.fcond = S.P.T.Basis.fcond
+                                          and type T.Basis.rounding_mode = S.P.T.Basis.rounding_mode
+                                          and type T.Constant.const = S.P.T.Constant.const
+                                          and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) S.P.T.Extension.ccx
+                                          and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) S.P.T.Extension.fx
+                                          and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) S.P.T.Extension.rx
+                                          and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) S.P.T.Extension.sx
+                                          and type T.I.div_rounding_mode = S.P.T.I.div_rounding_mode
+                                          and type T.Region.region = S.P.T.Region.region
+                                          and type T.ccexp = S.P.T.ccexp
+                                          and type T.fexp = S.P.T.fexp
+                                          (* and type T.labexp = S.P.T.labexp *)
+                                          and type T.mlrisc = S.P.T.mlrisc
+                                          and type T.oper = S.P.T.oper
+                                          and type T.rep = S.P.T.rep
+                                          and type T.rexp = S.P.T.rexp
+                                          and type T.stm = S.P.T.stm
+                      structure Shuffle : PPCSHUFFLE (* where I = Instr *)
+                                          where type I.Constant.const = Instr.Constant.const
+                                            and type I.Region.region = Instr.Region.region
+                                            and type I.T.Basis.cond = Instr.T.Basis.cond
+                                            and type I.T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                            and type I.T.Basis.ext = Instr.T.Basis.ext
+                                            and type I.T.Basis.fcond = Instr.T.Basis.fcond
+                                            and type I.T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                            and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                            and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                            and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                            and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                            and type I.T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                            and type I.T.ccexp = Instr.T.ccexp
+                                            and type I.T.fexp = Instr.T.fexp
+                                            (* and type I.T.labexp = Instr.T.labexp *)
+                                            and type I.T.mlrisc = Instr.T.mlrisc
+                                            and type I.T.oper = Instr.T.oper
+                                            and type I.T.rep = Instr.T.rep
+                                            and type I.T.rexp = Instr.T.rexp
+                                            and type I.T.stm = Instr.T.stm
+                                            and type I.arith = Instr.arith
+                                            and type I.arithi = Instr.arithi
+                                            and type I.bit = Instr.bit
+                                            and type I.bo = Instr.bo
+                                            and type I.ccarith = Instr.ccarith
+                                            and type I.cmp = Instr.cmp
+                                            and type I.ea = Instr.ea
+                                            and type I.farith = Instr.farith
+                                            and type I.farith3 = Instr.farith3
+                                            and type I.fcmp = Instr.fcmp
+                                            and type I.fload = Instr.fload
+                                            and type I.fstore = Instr.fstore
+                                            and type I.funary = Instr.funary
+                                            and type I.instr = Instr.instr
+                                            and type I.instruction = Instr.instruction
+                                            and type I.load = Instr.load
+                                            and type I.operand = Instr.operand
+                                            and type I.rotate = Instr.rotate
+                                            and type I.rotatei = Instr.rotatei
+                                            and type I.spr = Instr.spr
+                                            and type I.store = Instr.store
+                                            and type I.unary = Instr.unary
+                                            and type I.xerbit = Instr.xerbit
+                      structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                                             where type T.Basis.cond = Instr.T.Basis.cond
+                                               and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                               and type T.Basis.ext = Instr.T.Basis.ext
+                                               and type T.Basis.fcond = Instr.T.Basis.fcond
+                                               and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                               and type T.Constant.const = Instr.T.Constant.const
+                                               and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                               and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                               and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                               and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                               and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                               and type T.Region.region = Instr.T.Region.region
+                                               and type T.ccexp = Instr.T.ccexp
+                                               and type T.fexp = Instr.T.fexp
+                                               (* and type T.labexp = Instr.T.labexp *)
+                                               and type T.mlrisc = Instr.T.mlrisc
+                                               and type T.oper = Instr.T.oper
+                                               and type T.rep = Instr.T.rep
+                                               and type T.rexp = Instr.T.rexp
+                                               and type T.stm = Instr.T.stm
                      ) : INSTRUCTION_EMITTER =
 struct
    structure I  = Instr
diff -Naur MLRISC/ppc/emit/ppcMC.sml MLRISC-mlton/ppc/emit/ppcMC.sml
--- MLRISC/ppc/emit/ppcMC.sml	2004-08-05 15:19:44.000000000 -0700
+++ MLRISC-mlton/ppc/emit/ppcMC.sml	2006-10-25 16:55:11.000000000 -0700
@@ -6,7 +6,27 @@
 
 
 functor PPCMCEmitter(structure Instr : PPCINSTR
-                     structure MLTreeEval : MLTREE_EVAL where T = Instr.T
+                     structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                                            where type T.Basis.cond = Instr.T.Basis.cond
+                                              and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                              and type T.Basis.ext = Instr.T.Basis.ext
+                                              and type T.Basis.fcond = Instr.T.Basis.fcond
+                                              and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                              and type T.Constant.const = Instr.T.Constant.const
+                                              and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                              and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                              and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                              and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                              and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                              and type T.Region.region = Instr.T.Region.region
+                                              and type T.ccexp = Instr.T.ccexp
+                                              and type T.fexp = Instr.T.fexp
+                                              (* and type T.labexp = Instr.T.labexp *)
+                                              and type T.mlrisc = Instr.T.mlrisc
+                                              and type T.oper = Instr.T.oper
+                                              and type T.rep = Instr.T.rep
+                                              and type T.rexp = Instr.T.rexp
+                                              and type T.stm = Instr.T.stm
                      structure Stream : INSTRUCTION_STREAM 
                      structure CodeString : CODE_STRING
                     ) : INSTRUCTION_EMITTER =
@@ -47,6 +67,7 @@
        (* note: fromLargeWord strips the high order bits! *)
        fun eByteW w =
        let val i = !loc
+           val w = W.toLargeWord w
        in loc := i + 1; CodeString.update(i,Word8.fromLargeWord w) end
    
        fun doNothing _ = ()
@@ -380,14 +401,24 @@
        end
    and arith {oper, rt, ra, rb, OE, Rc} = 
        (case oper of
-         (I.ADD | I.SUBF | I.MULLW | I.MULLD | I.MULHW | I.MULHWU | I.DIVW | I.DIVD | I.DIVWU | I.DIVDU) => 
-            arith' {oper=oper, rt=rt, ra=ra, rb=rb, OE=OE, Rc=Rc}
+         I.ADD => arith' {oper=oper, rt=rt, ra=ra, rb=rb, OE=OE, Rc=Rc}
+       | I.SUBF => arith' {oper=oper, rt=rt, ra=ra, rb=rb, OE=OE, Rc=Rc}
+       | I.MULLW => arith' {oper=oper, rt=rt, ra=ra, rb=rb, OE=OE, Rc=Rc}
+       | I.MULLD => arith' {oper=oper, rt=rt, ra=ra, rb=rb, OE=OE, Rc=Rc}
+       | I.MULHW => arith' {oper=oper, rt=rt, ra=ra, rb=rb, OE=OE, Rc=Rc}
+       | I.MULHWU => arith' {oper=oper, rt=rt, ra=ra, rb=rb, OE=OE, Rc=Rc}
+       | I.DIVW => arith' {oper=oper, rt=rt, ra=ra, rb=rb, OE=OE, Rc=Rc}
+       | I.DIVD => arith' {oper=oper, rt=rt, ra=ra, rb=rb, OE=OE, Rc=Rc}
+       | I.DIVWU => arith' {oper=oper, rt=rt, ra=ra, rb=rb, OE=OE, Rc=Rc}
+       | I.DIVDU => arith' {oper=oper, rt=rt, ra=ra, rb=rb, OE=OE, Rc=Rc}
        | _ => arith' {oper=oper, rt=ra, ra=rt, rb=rb, OE=OE, Rc=Rc}
        )
    and arithi {oper, rt, ra, im} = 
        (case oper of
-         (I.ADDI | I.ADDIS | I.SUBFIC | I.MULLI) => arithi' {oper=oper, rt=rt, 
-            ra=ra, im=im}
+         I.ADDI => arithi' {oper=oper, rt=rt, ra=ra, im=im}
+       | I.ADDIS => arithi' {oper=oper, rt=rt, ra=ra, im=im}
+       | I.SUBFIC => arithi' {oper=oper, rt=rt, ra=ra, im=im}
+       | I.MULLI => arithi' {oper=oper, rt=rt, ra=ra, im=im}
        | I.SRAWI => srawi {rs=ra, ra=rt, sh=im}
        | I.SRADI => sradi {rs=ra, ra=rt, sh=im}
        | _ => arithi' {oper=oper, rt=ra, ra=rt, im=im}
@@ -462,8 +493,8 @@
               val (opcd, xo) = emit_farith oper
           in 
              (case oper of
-               (I.FMUL | I.FMULS) => a_form {opcd=opcd, frt=ft, fra=fa, frb=0wx0, 
-                  frc=fb, xo=xo, rc=Rc}
+               I.FMUL => a_form {opcd=opcd, frt=ft, fra=fa, frb=0wx0, frc=fb, xo=xo, rc=Rc}
+             | I.FMULS => a_form {opcd=opcd, frt=ft, fra=fa, frb=0wx0, frc=fb, xo=xo, rc=Rc}
              | _ => a_form {opcd=opcd, frt=ft, fra=fa, frb=fb, frc=0wx0, xo=xo, 
                   rc=Rc}
              )
diff -Naur MLRISC/ppc/flowgraph/ppcDarwinPseudoOps.sml MLRISC-mlton/ppc/flowgraph/ppcDarwinPseudoOps.sml
--- MLRISC/ppc/flowgraph/ppcDarwinPseudoOps.sml	2003-05-22 15:46:21.000000000 -0700
+++ MLRISC-mlton/ppc/flowgraph/ppcDarwinPseudoOps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -7,7 +7,27 @@
 
 functor PPCDarwinPseudoOps (
     structure T : MLTREE
-    structure MLTreeEval : MLTREE_EVAL  where T = T
+    structure MLTreeEval : MLTREE_EVAL (* where T = T *)
+                           where type T.Basis.cond = T.Basis.cond
+                             and type T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                             and type T.Basis.ext = T.Basis.ext
+                             and type T.Basis.fcond = T.Basis.fcond
+                             and type T.Basis.rounding_mode = T.Basis.rounding_mode
+                             and type T.Constant.const = T.Constant.const
+                             and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                             and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                             and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                             and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                             and type T.I.div_rounding_mode = T.I.div_rounding_mode
+                             and type T.Region.region = T.Region.region
+                             and type T.ccexp = T.ccexp
+                             and type T.fexp = T.fexp
+                             (* and type T.labexp = T.labexp *)
+                             and type T.mlrisc = T.mlrisc
+                             and type T.oper = T.oper
+                             and type T.rep = T.rep
+                             and type T.rexp = T.rexp
+                             and type T.stm = T.stm
   ) : PSEUDO_OPS_BASIS = struct
 
     structure T = T
diff -Naur MLRISC/ppc/flowgraph/ppcGasPseudoOps.sml MLRISC-mlton/ppc/flowgraph/ppcGasPseudoOps.sml
--- MLRISC/ppc/flowgraph/ppcGasPseudoOps.sml	2001-11-21 10:43:31.000000000 -0800
+++ MLRISC-mlton/ppc/flowgraph/ppcGasPseudoOps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -1,7 +1,27 @@
 functor PPCGasPseudoOps 
    ( structure T : MLTREE
-     structure MLTreeEval : MLTREE_EVAL  where T = T
-    ) : PSEUDO_OPS_BASIS = 
+     structure MLTreeEval : MLTREE_EVAL (* where T = T *)
+                            where type T.Basis.cond = T.Basis.cond
+                              and type T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                              and type T.Basis.ext = T.Basis.ext
+                              and type T.Basis.fcond = T.Basis.fcond
+                              and type T.Basis.rounding_mode = T.Basis.rounding_mode
+                              and type T.Constant.const = T.Constant.const
+                              and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                              and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                              and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                              and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                              and type T.I.div_rounding_mode = T.I.div_rounding_mode
+                              and type T.Region.region = T.Region.region
+                              and type T.ccexp = T.ccexp
+                              and type T.fexp = T.fexp
+                              (* and type T.labexp = T.labexp *)
+                              and type T.mlrisc = T.mlrisc
+                              and type T.oper = T.oper
+                              and type T.rep = T.rep
+                              and type T.rexp = T.rexp
+                              and type T.stm = T.stm
+      ) : PSEUDO_OPS_BASIS = 
 
 struct
   structure T = T
diff -Naur MLRISC/ppc/instructions/ppcCompInstrExt.sml MLRISC-mlton/ppc/instructions/ppcCompInstrExt.sml
--- MLRISC/ppc/instructions/ppcCompInstrExt.sml	2004-08-06 13:38:57.000000000 -0700
+++ MLRISC-mlton/ppc/instructions/ppcCompInstrExt.sml	2006-10-25 16:55:11.000000000 -0700
@@ -9,11 +9,54 @@
 signature PPCCOMP_INSTR_EXT =
   sig
     structure I : PPCINSTR
-    structure TS : MLTREE_STREAM
-      where T = I.T
-    structure CFG : CONTROL_FLOW_GRAPH 
-      where I = I
-	and P = TS.S.P
+    structure TS : MLTREE_STREAM (* where T = I.T *)
+                   where type T.Basis.cond = I.T.Basis.cond
+                     and type T.Basis.div_rounding_mode = I.T.Basis.div_rounding_mode
+                     and type T.Basis.ext = I.T.Basis.ext
+                     and type T.Basis.fcond = I.T.Basis.fcond
+                     and type T.Basis.rounding_mode = I.T.Basis.rounding_mode
+                     and type T.Constant.const = I.T.Constant.const
+                     and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) I.T.Extension.ccx
+                     and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) I.T.Extension.fx
+                     and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) I.T.Extension.rx
+                     and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) I.T.Extension.sx
+                     and type T.I.div_rounding_mode = I.T.I.div_rounding_mode
+                     and type T.Region.region = I.T.Region.region
+                     and type T.ccexp = I.T.ccexp
+                     and type T.fexp = I.T.fexp
+                     (* and type T.labexp = I.T.labexp *)
+                     and type T.mlrisc = I.T.mlrisc
+                     and type T.oper = I.T.oper
+                     and type T.rep = I.T.rep
+                     and type T.rexp = I.T.rexp
+                     and type T.stm = I.T.stm
+    structure CFG : CONTROL_FLOW_GRAPH  (* where I = I and  and P = TS.S.P *)
+                    where type I.addressing_mode = I.addressing_mode
+                      and type I.ea = I.ea
+                      and type I.instr = I.instr
+                      and type I.instruction = I.instruction
+                      and type I.operand = I.operand
+                    where type P.Client.pseudo_op = TS.S.P.Client.pseudo_op
+                      and type P.T.Basis.cond = TS.S.P.T.Basis.cond
+                      and type P.T.Basis.div_rounding_mode = TS.S.P.T.Basis.div_rounding_mode
+                      and type P.T.Basis.ext = TS.S.P.T.Basis.ext
+                      and type P.T.Basis.fcond = TS.S.P.T.Basis.fcond
+                      and type P.T.Basis.rounding_mode = TS.S.P.T.Basis.rounding_mode
+                      and type P.T.Constant.const = TS.S.P.T.Constant.const
+                      and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) TS.S.P.T.Extension.ccx
+                      and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) TS.S.P.T.Extension.fx
+                      and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) TS.S.P.T.Extension.rx
+                      and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) TS.S.P.T.Extension.sx
+                      and type P.T.I.div_rounding_mode = TS.S.P.T.I.div_rounding_mode
+                      and type P.T.Region.region = TS.S.P.T.Region.region
+                      and type P.T.ccexp = TS.S.P.T.ccexp
+                      and type P.T.fexp = TS.S.P.T.fexp
+                      (* and type P.T.labexp = TS.S.P.T.labexp *)
+                      and type P.T.mlrisc = TS.S.P.T.mlrisc
+                      and type P.T.oper = TS.S.P.T.oper
+                      and type P.T.rep = TS.S.P.T.rep
+                      and type P.T.rexp = TS.S.P.T.rexp
+                      and type P.T.stm = TS.S.P.T.stm
 
     type reducer = 
       (I.instruction, I.C.cellset, I.operand, I.addressing_mode, CFG.cfg) TS.reducer
@@ -28,12 +71,54 @@
 functor PPCCompInstrExt (
 
     structure I : PPCINSTR
-    structure TS  : MLTREE_STREAM
-      where T = I.T
-    structure CFG : CONTROL_FLOW_GRAPH 
-      where P = TS.S.P
-	and I = I
-
+    structure TS  : MLTREE_STREAM (* where T = I.T *)
+                    where type T.Basis.cond = I.T.Basis.cond
+                      and type T.Basis.div_rounding_mode = I.T.Basis.div_rounding_mode
+                      and type T.Basis.ext = I.T.Basis.ext
+                      and type T.Basis.fcond = I.T.Basis.fcond
+                      and type T.Basis.rounding_mode = I.T.Basis.rounding_mode
+                      and type T.Constant.const = I.T.Constant.const
+                      and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) I.T.Extension.ccx
+                      and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) I.T.Extension.fx
+                      and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) I.T.Extension.rx
+                      and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) I.T.Extension.sx
+                      and type T.I.div_rounding_mode = I.T.I.div_rounding_mode
+                      and type T.Region.region = I.T.Region.region
+                      and type T.ccexp = I.T.ccexp
+                      and type T.fexp = I.T.fexp
+                      (* and type T.labexp = I.T.labexp *)
+                      and type T.mlrisc = I.T.mlrisc
+                      and type T.oper = I.T.oper
+                      and type T.rep = I.T.rep
+                      and type T.rexp = I.T.rexp
+                      and type T.stm = I.T.stm
+    structure CFG : CONTROL_FLOW_GRAPH (* where P = TS.S.P and I = I *)
+                    where type P.Client.pseudo_op = TS.S.P.Client.pseudo_op
+                      and type P.T.Basis.cond = TS.S.P.T.Basis.cond
+                      and type P.T.Basis.div_rounding_mode = TS.S.P.T.Basis.div_rounding_mode
+                      and type P.T.Basis.ext = TS.S.P.T.Basis.ext
+                      and type P.T.Basis.fcond = TS.S.P.T.Basis.fcond
+                      and type P.T.Basis.rounding_mode = TS.S.P.T.Basis.rounding_mode
+                      and type P.T.Constant.const = TS.S.P.T.Constant.const
+                      and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) TS.S.P.T.Extension.ccx
+                      and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) TS.S.P.T.Extension.fx
+                      and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) TS.S.P.T.Extension.rx
+                      and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) TS.S.P.T.Extension.sx
+                      and type P.T.I.div_rounding_mode = TS.S.P.T.I.div_rounding_mode
+                      and type P.T.Region.region = TS.S.P.T.Region.region
+                      and type P.T.ccexp = TS.S.P.T.ccexp
+                      and type P.T.fexp = TS.S.P.T.fexp
+                      (* and type P.T.labexp = TS.S.P.T.labexp *)
+                      and type P.T.mlrisc = TS.S.P.T.mlrisc
+                      and type P.T.oper = TS.S.P.T.oper
+                      and type P.T.rep = TS.S.P.T.rep
+                      and type P.T.rexp = TS.S.P.T.rexp
+                      and type P.T.stm = TS.S.P.T.stm
+                    where type I.addressing_mode = I.addressing_mode
+                      and type I.ea = I.ea
+                      and type I.instr = I.instr
+                      and type I.instruction = I.instruction
+                      and type I.operand = I.operand
   ) : PPCCOMP_INSTR_EXT =  struct
 
     structure CFG = CFG
diff -Naur MLRISC/ppc/instructions/ppcInstr.sml MLRISC-mlton/ppc/instructions/ppcInstr.sml
--- MLRISC/ppc/instructions/ppcInstr.sml	2004-07-14 11:38:08.000000000 -0700
+++ MLRISC-mlton/ppc/instructions/ppcInstr.sml	2006-10-25 16:55:11.000000000 -0700
@@ -8,7 +8,16 @@
 signature PPCINSTR =
 sig
    structure C : PPCCELLS
-   structure CB : CELLS_BASIS = CellsBasis
+   structure CB : CELLS_BASIS (* = CellsBasis *)
+                  where type CellSet.cellset = CellsBasis.CellSet.cellset
+                    and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                    and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                    and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                    and type cell = CellsBasis.cell
+                    and type cellColor = CellsBasis.cellColor
+                    and type cellkind = CellsBasis.cellkind
+                    and type cellkindDesc = CellsBasis.cellkindDesc
+                    and type cellkindInfo = CellsBasis.cellkindInfo
    structure T : MLTREE
    structure Constant: CONSTANT
    structure Region : REGION
diff -Naur MLRISC/ppc/instructions/ppcProps.sml MLRISC-mlton/ppc/instructions/ppcProps.sml
--- MLRISC/ppc/instructions/ppcProps.sml	2004-07-13 12:05:29.000000000 -0700
+++ MLRISC-mlton/ppc/instructions/ppcProps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -5,8 +5,48 @@
 
 functor PPCProps
    ( structure PPCInstr : PPCINSTR
-     structure MLTreeEval : MLTREE_EVAL where T = PPCInstr.T
-     structure MLTreeHash : MLTREE_HASH where T = PPCInstr.T
+     structure MLTreeEval : MLTREE_EVAL (* where T = PPCInstr.T *)
+                            where type T.Basis.cond = PPCInstr.T.Basis.cond
+                              and type T.Basis.div_rounding_mode = PPCInstr.T.Basis.div_rounding_mode
+                              and type T.Basis.ext = PPCInstr.T.Basis.ext
+                              and type T.Basis.fcond = PPCInstr.T.Basis.fcond
+                              and type T.Basis.rounding_mode = PPCInstr.T.Basis.rounding_mode
+                              and type T.Constant.const = PPCInstr.T.Constant.const
+                              and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) PPCInstr.T.Extension.ccx
+                              and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) PPCInstr.T.Extension.fx
+                              and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) PPCInstr.T.Extension.rx
+                              and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) PPCInstr.T.Extension.sx
+                              and type T.I.div_rounding_mode = PPCInstr.T.I.div_rounding_mode
+                              and type T.Region.region = PPCInstr.T.Region.region
+                              and type T.ccexp = PPCInstr.T.ccexp
+                              and type T.fexp = PPCInstr.T.fexp
+                              (* and type T.labexp = PPCInstr.T.labexp *)
+                              and type T.mlrisc = PPCInstr.T.mlrisc
+                              and type T.oper = PPCInstr.T.oper
+                              and type T.rep = PPCInstr.T.rep
+                              and type T.rexp = PPCInstr.T.rexp
+                              and type T.stm = PPCInstr.T.stm
+     structure MLTreeHash : MLTREE_HASH (* where T = PPCInstr.T *)
+                            where type T.Basis.cond = PPCInstr.T.Basis.cond
+                              and type T.Basis.div_rounding_mode = PPCInstr.T.Basis.div_rounding_mode
+                              and type T.Basis.ext = PPCInstr.T.Basis.ext
+                              and type T.Basis.fcond = PPCInstr.T.Basis.fcond
+                              and type T.Basis.rounding_mode = PPCInstr.T.Basis.rounding_mode
+                              and type T.Constant.const = PPCInstr.T.Constant.const
+                              and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) PPCInstr.T.Extension.ccx
+                              and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) PPCInstr.T.Extension.fx
+                              and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) PPCInstr.T.Extension.rx
+                              and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) PPCInstr.T.Extension.sx
+                              and type T.I.div_rounding_mode = PPCInstr.T.I.div_rounding_mode
+                              and type T.Region.region = PPCInstr.T.Region.region
+                              and type T.ccexp = PPCInstr.T.ccexp
+                              and type T.fexp = PPCInstr.T.fexp
+                              (* and type T.labexp = PPCInstr.T.labexp *)
+                              and type T.mlrisc = PPCInstr.T.mlrisc
+                              and type T.oper = PPCInstr.T.oper
+                              and type T.rep = PPCInstr.T.rep
+                              and type T.rexp = PPCInstr.T.rexp
+                              and type T.stm = PPCInstr.T.stm
     ) : INSN_PROPERTIES = 
 struct
   structure I = PPCInstr
diff -Naur MLRISC/ppc/mltree/ppc.sml MLRISC-mlton/ppc/mltree/ppc.sml
--- MLRISC/ppc/mltree/ppc.sml	2004-12-13 12:09:39.000000000 -0800
+++ MLRISC-mlton/ppc/mltree/ppc.sml	2006-10-25 16:55:11.000000000 -0700
@@ -10,10 +10,76 @@
 
 functor PPC
   (structure PPCInstr : PPCINSTR
-   structure PseudoInstrs : PPC_PSEUDO_INSTR 
-   			where I = PPCInstr
-   structure ExtensionComp : MLTREE_EXTENSION_COMP 
-   			where I = PPCInstr and T = PPCInstr.T
+   structure PseudoInstrs : PPC_PSEUDO_INSTR (* where I = PPCInstr *)
+                            where type I.Constant.const = PPCInstr.Constant.const
+                              and type I.Region.region = PPCInstr.Region.region
+                              and type I.T.Basis.cond = PPCInstr.T.Basis.cond
+                              and type I.T.Basis.div_rounding_mode = PPCInstr.T.Basis.div_rounding_mode
+                              and type I.T.Basis.ext = PPCInstr.T.Basis.ext
+                              and type I.T.Basis.fcond = PPCInstr.T.Basis.fcond
+                              and type I.T.Basis.rounding_mode = PPCInstr.T.Basis.rounding_mode
+                              and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) PPCInstr.T.Extension.ccx
+                              and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) PPCInstr.T.Extension.fx
+                              and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) PPCInstr.T.Extension.rx
+                              and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) PPCInstr.T.Extension.sx
+                              and type I.T.I.div_rounding_mode = PPCInstr.T.I.div_rounding_mode
+                              and type I.T.ccexp = PPCInstr.T.ccexp
+                              and type I.T.fexp = PPCInstr.T.fexp
+                              (* and type I.T.labexp = PPCInstr.T.labexp *)
+                              and type I.T.mlrisc = PPCInstr.T.mlrisc
+                              and type I.T.oper = PPCInstr.T.oper
+                              and type I.T.rep = PPCInstr.T.rep
+                              and type I.T.rexp = PPCInstr.T.rexp
+                              and type I.T.stm = PPCInstr.T.stm
+                              and type I.arith = PPCInstr.arith
+                              and type I.arithi = PPCInstr.arithi
+                              and type I.bit = PPCInstr.bit
+                              and type I.bo = PPCInstr.bo
+                              and type I.ccarith = PPCInstr.ccarith
+                              and type I.cmp = PPCInstr.cmp
+                              and type I.ea = PPCInstr.ea
+                              and type I.farith = PPCInstr.farith
+                              and type I.farith3 = PPCInstr.farith3
+                              and type I.fcmp = PPCInstr.fcmp
+                              and type I.fload = PPCInstr.fload
+                              and type I.fstore = PPCInstr.fstore
+                              and type I.funary = PPCInstr.funary
+                              and type I.instr = PPCInstr.instr
+                              and type I.instruction = PPCInstr.instruction
+                              and type I.load = PPCInstr.load
+                              and type I.operand = PPCInstr.operand
+                              and type I.rotate = PPCInstr.rotate
+                              and type I.rotatei = PPCInstr.rotatei
+                              and type I.spr = PPCInstr.spr
+                              and type I.store = PPCInstr.store
+                              and type I.unary = PPCInstr.unary
+                              and type I.xerbit = PPCInstr.xerbit
+   structure ExtensionComp : MLTREE_EXTENSION_COMP (* where I = PPCInstr and T = PPCInstr.T *)
+                             where type I.addressing_mode = PPCInstr.addressing_mode
+                               and type I.ea = PPCInstr.ea
+                               and type I.instr = PPCInstr.instr
+                               and type I.instruction = PPCInstr.instruction
+                               and type I.operand = PPCInstr.operand
+                             where type T.Basis.cond = PPCInstr.T.Basis.cond
+                               and type T.Basis.div_rounding_mode = PPCInstr.T.Basis.div_rounding_mode
+                               and type T.Basis.ext = PPCInstr.T.Basis.ext
+                               and type T.Basis.fcond = PPCInstr.T.Basis.fcond
+                               and type T.Basis.rounding_mode = PPCInstr.T.Basis.rounding_mode
+                               and type T.Constant.const = PPCInstr.T.Constant.const
+                               and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) PPCInstr.T.Extension.ccx
+                               and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) PPCInstr.T.Extension.fx
+                               and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) PPCInstr.T.Extension.rx
+                               and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) PPCInstr.T.Extension.sx
+                               and type T.I.div_rounding_mode = PPCInstr.T.I.div_rounding_mode
+                               and type T.Region.region = PPCInstr.T.Region.region
+                               and type T.ccexp = PPCInstr.T.ccexp
+                               and type T.fexp = PPCInstr.T.fexp
+                               (* and type T.labexp = PPCInstr.T.labexp *)
+                               and type T.mlrisc = PPCInstr.T.mlrisc
+                               and type T.oper = PPCInstr.T.oper
+                               and type T.rep = PPCInstr.T.rep
+                               and type T.rexp = PPCInstr.T.rexp
+                               and type T.stm = PPCInstr.T.stm
 
    (* 
     * Support 64 bit mode? 
@@ -71,7 +137,7 @@
   (*  
    * Integer multiplication 
    *)
-  functor Multiply32 = MLTreeMult
+  structure Mulu32 = MLTreeMult
     (structure I = I
      structure T = T
      structure CB = CellsBasis
@@ -84,40 +150,64 @@
      fun slli{r,i,d} = [I.INSTR(SLLI32{r=r,i=i,d=d})]
      fun srli{r,i,d} = [I.INSTR(SRLI32{r=r,i=i,d=d})]
      fun srai{r,i,d} = [I.arithi{oper=I.SRAWI,rt=d,ra=r,im=I.ImmedOp i}]
-    )
-
-  structure Mulu32 = Multiply32
-    (val trapping = false
+     
+     val trapping = false
      val multCost = multCost
      fun addv{r1,r2,d}=[I.arith{oper=I.ADD,ra=r1,rb=r2,rt=d,Rc=false,OE=false}]
      fun subv{r1,r2,d}=[I.arith{oper=I.SUBF,ra=r2,rb=r1,rt=d,Rc=false,OE=false}]
      val sh1addv = NONE
      val sh2addv = NONE
      val sh3addv = NONE
-    )
-    (val signed = false)
+     
+     val signed = false)
+
+  structure Muls32 = MLTreeMult
+    (structure I = I
+     structure T = T
+     structure CB = CellsBasis
+     val intTy = 32
+     type arg  = {r1:CB.cell,r2:CB.cell,d:CB.cell}
+     type argi = {r:CB.cell,i:int,d:CB.cell}
 
-  structure Muls32 = Multiply32
-    (val trapping = false
+     fun mov{r,d} = COPY{dst=[d],src=[r],tmp=NONE}
+     fun add{r1,r2,d}= I.arith{oper=I.ADD,ra=r1,rb=r2,rt=d,Rc=false,OE=false}
+     fun slli{r,i,d} = [I.INSTR(SLLI32{r=r,i=i,d=d})]
+     fun srli{r,i,d} = [I.INSTR(SRLI32{r=r,i=i,d=d})]
+     fun srai{r,i,d} = [I.arithi{oper=I.SRAWI,rt=d,ra=r,im=I.ImmedOp i}]
+     
+     val trapping = false
      val multCost = multCost
      fun addv{r1,r2,d}=[I.arith{oper=I.ADD,ra=r1,rb=r2,rt=d,Rc=false,OE=false}]
      fun subv{r1,r2,d}=[I.arith{oper=I.SUBF,ra=r2,rb=r1,rt=d,Rc=false,OE=false}]
      val sh1addv = NONE
      val sh2addv = NONE
      val sh3addv = NONE
-    )
-    (val signed = true)
+     
+     val signed = true)
 
-  structure Mult32 = Multiply32
-    (val trapping = true
+  structure Mult32 = MLTreeMult
+    (structure I = I
+     structure T = T
+     structure CB = CellsBasis
+     val intTy = 32
+     type arg  = {r1:CB.cell,r2:CB.cell,d:CB.cell}
+     type argi = {r:CB.cell,i:int,d:CB.cell}
+
+     fun mov{r,d} = COPY{dst=[d],src=[r],tmp=NONE}
+     fun add{r1,r2,d}= I.arith{oper=I.ADD,ra=r1,rb=r2,rt=d,Rc=false,OE=false}
+     fun slli{r,i,d} = [I.INSTR(SLLI32{r=r,i=i,d=d})]
+     fun srli{r,i,d} = [I.INSTR(SRLI32{r=r,i=i,d=d})]
+     fun srai{r,i,d} = [I.arithi{oper=I.SRAWI,rt=d,ra=r,im=I.ImmedOp i}]
+     
+     val trapping = true
      val multCost = multCost
      fun addv{r1,r2,d} = error "Mult32.addv"
      fun subv{r1,r2,d} = error "Mult32.subv"
      val sh1addv = NONE
      val sh2addv = NONE
      val sh3addv = NONE
-    )
-    (val signed = true)
+     
+     val signed = true)
 
   fun selectInstructions
       (instrStream as 
@@ -277,7 +367,9 @@
         | stmt(T.FCOPY(_, dst, src), an) = fcopy(dst, src, an)
         | stmt(T.JMP(T.LABEXP lexp, labs),an) =
              mark(I.B{addr=I.LabelOp lexp, LK=false},an)
-        | stmt(T.JMP(x as (T.LABEL _ | T.CONST _), labs),an) =
+        | stmt(T.JMP(x as T.LABEL _, labs),an) =
+             mark(I.B{addr=I.LabelOp x, LK=false},an)
+        | stmt(T.JMP(x as T.CONST _, labs),an) =
              mark(I.B{addr=I.LabelOp x, LK=false},an)
         | stmt(T.JMP(rexp, labs),an) =
           let val rs = expr(rexp)
@@ -326,7 +418,8 @@
 		| T.LEU => (I.FALSE, I.GT)
 		| T.GTU => (I.TRUE,  I.GT)
 		| T.GEU => (I.FALSE, I.LT)
-		| (T.SETCC | T.MISC_COND _) => error "branch(CMP)"
+		| T.SETCC => error "branch(CMP)"
+		| T.MISC_COND _ => error "branch(CMP)"
 	     (*esac*))
             val ccreg = if true then CR0 else newCCreg() (* XXX *)
 	    val addr = I.LabelOp(T.LABEL lab)
@@ -354,13 +447,18 @@
               fun branch(bo, bit) = 
                  emitBranch{bo=bo, bf=cr, bit=bit, addr=addr, LK=false}
           in  case cc of 
-                T.EQ => branch(I.TRUE, I.EQ)
-              | T.NE => branch(I.FALSE, I.EQ)
-              | (T.LT | T.LTU) => branch(I.TRUE, I.LT)
-              | (T.LE | T.LEU) => branch(I.FALSE, I.GT)
-              | (T.GE | T.GEU) => branch(I.FALSE, I.LT)
-              | (T.GT | T.GTU) => branch(I.TRUE, I.GT)
-	      | (T.SETCC | T.MISC_COND _) => error "branch(CC)"
+                T.EQ  => branch(I.TRUE, I.EQ)
+              | T.NE  => branch(I.FALSE, I.EQ)
+              | T.LT  => branch(I.TRUE, I.LT)
+              | T.LTU => branch(I.TRUE, I.LT)
+              | T.LE  => branch(I.FALSE, I.GT)
+              | T.LEU => branch(I.FALSE, I.GT)
+              | T.GE  => branch(I.FALSE, I.LT)
+              | T.GEU => branch(I.FALSE, I.LT)
+              | T.GT  => branch(I.TRUE, I.GT)
+              | T.GTU => branch(I.TRUE, I.GT)
+	      | T.SETCC => error "branch(CC)"
+	      | T.MISC_COND _ => error "branch(CC)"
           end  
         | branch(cmp as T.FCMP(fty, cond, _, _), lab, an) = 
           let val ccreg = if true then CR0 else newCCreg() (* XXX *)
@@ -390,7 +488,8 @@
               | T.?<= => branch(I.FALSE,  ccreg, I.FG)
               | T.<>  => test2bits(I.FL, I.FG)
               | T.?=  => test2bits(I.FU, I.FE)
-	      | (T.SETFCC | T.MISC_FCOND _) => error "branch(FCMP)"
+	      | T.SETFCC => error "branch(FCMP)"
+	      | T.MISC_FCOND _ => error "branch(FCMP)"
              (*esac*)
           end
         | branch _ = error "branch"
@@ -496,7 +595,10 @@
                            rb=expr e1, OE=false, Rc=false}, an)
             )
         | subtract(ty, T.LI i, e2, rt, an) = subfImmed(i, expr e2, rt, an)
-        | subtract(ty, x as (T.CONST _ | T.LABEL _), e2, rt, an) =
+        | subtract(ty, x as T.CONST _, e2, rt, an) =
+             mark(I.ARITHI{oper=I.SUBFIC,rt=rt,ra=expr e2,
+                           im=I.LabelOp x},an)
+        | subtract(ty, x as T.LABEL _, e2, rt, an) =
              mark(I.ARITHI{oper=I.SUBFIC,rt=rt,ra=expr e2,
                            im=I.LabelOp x},an)
         | subtract(ty, e1, e2, rt, an) =
@@ -729,8 +831,10 @@
                app emitInstruction (PseudoInstrs.cvti2d{reg=expr e,fd=ft})
 
             (* Single/double precision support *)
-          | T.FABS((32|64), e) => funary(I.FABS, e, ft, an)
-          | T.FNEG((32|64), e) => funary(I.FNEG, e, ft, an)
+          | T.FABS(32, e) => funary(I.FABS, e, ft, an)
+          | T.FABS(64, e) => funary(I.FABS, e, ft, an)
+          | T.FNEG(32, e) => funary(I.FNEG, e, ft, an)
+          | T.FNEG(64, e) => funary(I.FNEG, e, ft, an)
 	  | T.FSQRT(32, e)     => funary(I.FSQRTS, e, ft, an)
 	  | T.FSQRT(64, e)     => funary(I.FSQRT, e, ft, an)
 
@@ -757,8 +861,12 @@
               T.CMP(ty, cc, e1, e2) => 
               let val (opnds, cmp) =
                    case cc of 
-                     (T.LT | T.LE | T.EQ | T.NE | T.GT | T.GE) =>
-                       (immedOpnd signed16, I.CMP)
+                     T.LT => (immedOpnd signed16, I.CMP)
+                   | T.LE => (immedOpnd signed16, I.CMP)
+                   | T.EQ => (immedOpnd signed16, I.CMP)
+                   | T.NE => (immedOpnd signed16, I.CMP)
+                   | T.GT => (immedOpnd signed16, I.CMP)
+                   | T.GE => (immedOpnd signed16, I.CMP)
                    | _ => (immedOpnd unsigned16, I.CMPL)
                   val (opndA, opndB) = opnds(e1, e2)
                   val l  = case ty of
diff -Naur MLRISC/ra/arch-spill-instr.sig MLRISC-mlton/ra/arch-spill-instr.sig
--- MLRISC/ra/arch-spill-instr.sig	2002-01-23 21:45:17.000000000 -0800
+++ MLRISC-mlton/ra/arch-spill-instr.sig	2006-10-25 16:55:11.000000000 -0700
@@ -10,7 +10,16 @@
  *)
 signature ARCH_SPILL_INSTR = sig
   structure I : INSTRUCTIONS
-  structure CB : CELLS_BASIS = CellsBasis
+  structure CB : CELLS_BASIS (* = CellsBasis *)
+                 where type CellSet.cellset = CellsBasis.CellSet.cellset
+                   and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                   and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                   and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                   and type cell = CellsBasis.cell
+                   and type cellColor = CellsBasis.cellColor
+                   and type cellkind = CellsBasis.cellkind
+                   and type cellkindDesc = CellsBasis.cellkindDesc
+                   and type cellkindInfo = CellsBasis.cellkindInfo
   
   val spillToEA :
       CB.cellkind ->
diff -Naur MLRISC/ra/chaitin-spillheur2.sml MLRISC-mlton/ra/chaitin-spillheur2.sml
--- MLRISC/ra/chaitin-spillheur2.sml	2002-03-21 14:01:10.000000000 -0800
+++ MLRISC-mlton/ra/chaitin-spillheur2.sml	2006-10-25 16:55:11.000000000 -0700
@@ -35,7 +35,35 @@
           | moveSavings(NODE{movelist, ...}) = 
             let fun loop([], savings) = 
                      foldr (fn ((_,a),b) => Real.max(a,b)) 0.0 savings
-                  | loop(MV{status=ref(WORKLIST | GEORGE_MOVE | BRIGGS_MOVE),
+                  | loop(MV{status=ref WORKLIST,
+                            dst, src, cost, ...}::mvs, savings) = 
+                    let fun add(c,[]) = [(c,cost)]
+                          | add(c,(x as (c':int,s))::savings) =
+                             if c = c' then (c',s+cost)::savings 
+                             else x::add(c,savings)
+                        val savings =
+                           case chase dst of
+                             NODE{color=ref(COLORED c), ...} => add(c,savings)
+                           | _ =>
+                           case chase src of
+                             NODE{color=ref(COLORED c), ...} => add(c,savings)
+                           | _ => savings
+                   in  loop(mvs, savings) end
+                  | loop(MV{status=ref GEORGE_MOVE,
+                            dst, src, cost, ...}::mvs, savings) = 
+                    let fun add(c,[]) = [(c,cost)]
+                          | add(c,(x as (c':int,s))::savings) =
+                             if c = c' then (c',s+cost)::savings 
+                             else x::add(c,savings)
+                        val savings =
+                           case chase dst of
+                             NODE{color=ref(COLORED c), ...} => add(c,savings)
+                           | _ =>
+                           case chase src of
+                             NODE{color=ref(COLORED c), ...} => add(c,savings)
+                           | _ => savings
+                   in  loop(mvs, savings) end
+                  | loop(MV{status=ref BRIGGS_MOVE,
                             dst, src, cost, ...}::mvs, savings) = 
                     let fun add(c,[]) = [(c,cost)]
                           | add(c,(x as (c':int,s))::savings) =
diff -Naur MLRISC/ra/chow-hennessy-spillheur2.sml MLRISC-mlton/ra/chow-hennessy-spillheur2.sml
--- MLRISC/ra/chow-hennessy-spillheur2.sml	2002-03-21 14:01:10.000000000 -0800
+++ MLRISC-mlton/ra/chow-hennessy-spillheur2.sml	2006-10-25 16:55:11.000000000 -0700
@@ -32,7 +32,35 @@
           | moveSavings(NODE{movelist, ...}) = 
             let fun loop([], savings) = 
                      foldr (fn ((_,a),b) => Real.max(a,b)) 0.0 savings
-                  | loop(MV{status=ref(WORKLIST | GEORGE_MOVE | BRIGGS_MOVE),
+                  | loop(MV{status=ref WORKLIST,
+                            dst, src, cost, ...}::mvs, savings) = 
+                    let fun add(c,[]) = [(c,cost)]
+                          | add(c,(x as (c':int,s))::savings) =
+                             if c = c' then (c',s+cost)::savings 
+                             else x::add(c,savings)
+                        val savings =
+                           case chase dst of
+                             NODE{color=ref(COLORED c), ...} => add(c,savings)
+                           | _ =>
+                           case chase src of
+                             NODE{color=ref(COLORED c), ...} => add(c,savings)
+                           | _ => savings
+                   in  loop(mvs, savings) end
+                  | loop(MV{status=ref GEORGE_MOVE,
+                            dst, src, cost, ...}::mvs, savings) = 
+                    let fun add(c,[]) = [(c,cost)]
+                          | add(c,(x as (c':int,s))::savings) =
+                             if c = c' then (c',s+cost)::savings 
+                             else x::add(c,savings)
+                        val savings =
+                           case chase dst of
+                             NODE{color=ref(COLORED c), ...} => add(c,savings)
+                           | _ =>
+                           case chase src of
+                             NODE{color=ref(COLORED c), ...} => add(c,savings)
+                           | _ => savings
+                   in  loop(mvs, savings) end
+                  | loop(MV{status=ref BRIGGS_MOVE,
                             dst, src, cost, ...}::mvs, savings) = 
                     let fun add(c,[]) = [(c,cost)]
                           | add(c,(x as (c':int,s))::savings) =
diff -Naur MLRISC/ra/cluster-ra.sml MLRISC-mlton/ra/cluster-ra.sml
--- MLRISC/ra/cluster-ra.sml	2002-09-26 12:06:50.000000000 -0700
+++ MLRISC-mlton/ra/cluster-ra.sml	2006-10-25 16:55:11.000000000 -0700
@@ -14,13 +14,45 @@
 
 functor ClusterRA
    (structure Asm       : INSTRUCTION_EMITTER
-    structure Flowgraph : CONTROL_FLOW_GRAPH
-    			where I = Asm.I 
-			  and P = Asm.S.P
-    structure InsnProps : INSN_PROPERTIES
-    			where I = Flowgraph.I 
-    structure Spill : RA_SPILL 
-    			where I = Flowgraph.I
+    structure Flowgraph : CONTROL_FLOW_GRAPH (* where I = Asm.I and P = Asm.S.P *)
+                          where type I.addressing_mode = Asm.I.addressing_mode
+                            and type I.ea = Asm.I.ea
+                            and type I.instr = Asm.I.instr
+                            and type I.instruction = Asm.I.instruction
+                            and type I.operand = Asm.I.operand
+                          where type P.Client.pseudo_op = Asm.S.P.Client.pseudo_op
+                            and type P.T.Basis.cond = Asm.S.P.T.Basis.cond
+                            and type P.T.Basis.div_rounding_mode = Asm.S.P.T.Basis.div_rounding_mode
+                            and type P.T.Basis.ext = Asm.S.P.T.Basis.ext
+                            and type P.T.Basis.fcond = Asm.S.P.T.Basis.fcond
+                            and type P.T.Basis.rounding_mode = Asm.S.P.T.Basis.rounding_mode
+                            and type P.T.Constant.const = Asm.S.P.T.Constant.const
+                            and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) Asm.S.P.T.Extension.ccx
+                            and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) Asm.S.P.T.Extension.fx
+                            and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) Asm.S.P.T.Extension.rx
+                            and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) Asm.S.P.T.Extension.sx
+                            and type P.T.I.div_rounding_mode = Asm.S.P.T.I.div_rounding_mode
+                            and type P.T.Region.region = Asm.S.P.T.Region.region
+                            and type P.T.ccexp = Asm.S.P.T.ccexp
+                            and type P.T.fexp = Asm.S.P.T.fexp
+                            (* and type P.T.labexp = Asm.S.P.T.labexp *)
+                            and type P.T.mlrisc = Asm.S.P.T.mlrisc
+                            and type P.T.oper = Asm.S.P.T.oper
+                            and type P.T.rep = Asm.S.P.T.rep
+                            and type P.T.rexp = Asm.S.P.T.rexp
+                            and type P.T.stm = Asm.S.P.T.stm
+    structure InsnProps : INSN_PROPERTIES (* where I = Flowgraph.I *)
+                          where type I.addressing_mode = Flowgraph.I.addressing_mode
+                            and type I.ea = Flowgraph.I.ea
+                            and type I.instr = Flowgraph.I.instr
+                            and type I.instruction = Flowgraph.I.instruction
+                            and type I.operand = Flowgraph.I.operand
+    structure Spill     : RA_SPILL (* where I = Flowgraph.I *)
+                          where type I.addressing_mode = Flowgraph.I.addressing_mode
+                            and type I.ea = Flowgraph.I.ea
+                            and type I.instr = Flowgraph.I.instr
+                            and type I.instruction = Flowgraph.I.instruction
+                            and type I.operand = Flowgraph.I.operand
    ) : RA_FLOWGRAPH =
 struct
    structure CFG    = Flowgraph
diff -Naur MLRISC/ra/mem-ra.sml MLRISC-mlton/ra/mem-ra.sml
--- MLRISC/ra/mem-ra.sml	2002-03-07 13:16:25.000000000 -0800
+++ MLRISC-mlton/ra/mem-ra.sml	2006-10-25 16:55:11.000000000 -0700
@@ -51,7 +51,9 @@
       fun collectMoves([], mv') = mv'
 	| collectMoves(NODE{movelist, color, ...}::ns, mv') = let
 	    fun ins([], mv') = collectMoves(ns, mv')
-	      | ins(MV{status=ref(COALESCED | CONSTRAINED), ...}::mvs, mv') = 
+	      | ins(MV{status=ref COALESCED, ...}::mvs, mv') = 
+		  ins(mvs, mv')
+	      | ins(MV{status=ref CONSTRAINED, ...}::mvs, mv') = 
 		  ins(mvs, mv')
 	      | ins((mv as MV{dst, src, ...})::mvs, mv') = let
 		  val NODE{color=ref cd, number=nd, ...} = chase dst
@@ -92,7 +94,19 @@
 		| union((n as NODE{color, adj=adjT, 
 				   number=t, ...})::adjDst, adjSrc) = 
 		  (case !color of
-		     (SPILLED | MEMREG _ | SPILL_LOC _ | PSEUDO) =>
+		     SPILLED =>
+		       if addEdge(s, t) then 
+			  (adjT := src :: !adjT; union(adjDst, n::adjSrc))
+		       else union(adjDst, adjSrc)
+		   | MEMREG _ =>
+		       if addEdge(s, t) then 
+			  (adjT := src :: !adjT; union(adjDst, n::adjSrc))
+		       else union(adjDst, adjSrc)
+		   | SPILL_LOC _ =>
+		       if addEdge(s, t) then 
+			  (adjT := src :: !adjT; union(adjDst, n::adjSrc))
+		       else union(adjDst, adjSrc)
+		   | PSEUDO =>
 		       if addEdge(s, t) then 
 			  (adjT := src :: !adjT; union(adjDst, n::adjSrc))
 		       else union(adjDst, adjSrc)
@@ -155,7 +169,10 @@
                  x = y orelse member(x,y) orelse interferes(x, ns)
 
           fun moveSavings([], pinned, total) = (pinned, total+total)
-            | moveSavings(MV{status=ref(CONSTRAINED | COALESCED), ...}::mvs,
+            | moveSavings(MV{status=ref CONSTRAINED, ...}::mvs,
+                          pinned, total) = 
+                 moveSavings(mvs, pinned, total)
+            | moveSavings(MV{status=ref COALESCED, ...}::mvs,
                           pinned, total) = 
                  moveSavings(mvs, pinned, total)
             | moveSavings(MV{dst, src, cost, ...}::mvs, pinned, total) =
diff -Naur MLRISC/ra/ra-core.sig MLRISC-mlton/ra/ra-core.sig
--- MLRISC/ra/ra-core.sig	2002-03-07 13:04:12.000000000 -0800
+++ MLRISC-mlton/ra/ra-core.sig	2006-10-25 16:55:11.000000000 -0700
@@ -11,7 +11,26 @@
 signature RA_CORE = 
 sig
 
-   structure G  : RA_GRAPH = RAGraph
+   structure G  : RA_GRAPH (* = RAGraph *)
+                  where type C.CellSet.cellset = RAGraph.C.CellSet.cellset
+                    and type 'a C.ColorTable.hash_table = 'a RAGraph.C.ColorTable.hash_table
+                    and type 'a C.HashTable.hash_table = 'a RAGraph.C.HashTable.hash_table
+                    and type C.SortedCells.sorted_cells = RAGraph.C.SortedCells.sorted_cells
+                    and type C.cell = RAGraph.C.cell
+                    and type C.cellColor = RAGraph.C.cellColor
+                    and type C.cellkind = RAGraph.C.cellkind
+                    and type C.cellkindDesc = RAGraph.C.cellkindDesc
+                    and type C.cellkindInfo = RAGraph.C.cellkindInfo
+                    and type 'a PPtHashTable.hash_table = 'a RAGraph.PPtHashTable.hash_table
+                    and type 'a SpillLocHashTable.hash_table = 'a RAGraph.SpillLocHashTable.hash_table
+                    and type interferenceGraph = RAGraph.interferenceGraph
+                    and type move = RAGraph.move
+                    and type moveKind = RAGraph.moveKind
+                    and type moveStatus = RAGraph.moveStatus
+                    and type node = RAGraph.node
+                    and type nodeStatus = RAGraph.nodeStatus
+                    and type spillLoc = RAGraph.spillLoc
+                    and type trailInfo = RAGraph.trailInfo
    structure BM : RA_BITMATRIX
    structure MV : RA_PRIORITY_QUEUE where type elem = G.move
    structure FZ : RA_PRIORITY_QUEUE where type elem = G.node
diff -Naur MLRISC/ra/ra-core.sml MLRISC-mlton/ra/ra-core.sml
--- MLRISC/ra/ra-core.sml	2002-03-07 13:16:25.000000000 -0800
+++ MLRISC-mlton/ra/ra-core.sml	2006-10-25 16:55:11.000000000 -0700
@@ -163,7 +163,15 @@
   fun dumpGraph(G as G.GRAPH{nodes, showReg, K,...}) stream =
   let fun pr s = TextIO.output(stream, s)
       val show = show G
-      fun prMove(MV{src, dst, status=ref(WORKLIST | BRIGGS_MOVE | GEORGE_MOVE),
+      fun prMove(MV{src, dst, status=ref WORKLIST,
+                    cost,...}) = 
+            pr(node2s(chase dst)^" <- "^node2s(chase src)^
+               "("^r2s(cost)^") ")
+        | prMove(MV{src, dst, status=ref BRIGGS_MOVE,
+                    cost,...}) = 
+            pr(node2s(chase dst)^" <- "^node2s(chase src)^
+               "("^r2s(cost)^") ")
+        | prMove(MV{src, dst, status=ref GEORGE_MOVE,
                     cost,...}) = 
             pr(node2s(chase dst)^" <- "^node2s(chase src)^
                "("^r2s(cost)^") ")
@@ -541,7 +549,13 @@
                 | addMv((m as MV{status, hicount as ref hi, ...})::rest,
                         ns, mv) = 
                   (case !status of
-                     (BRIGGS_MOVE | GEORGE_MOVE) => 
+                     BRIGGS_MOVE => 
+                       (* decrements hi, when hi <= 0 enable move *)
+                       if hi <= 1 then
+                         (status := WORKLIST; addMv(rest, ns, MV.add(m, mv)))
+                       else
+                         (hicount := hi-1; addMv(rest, ns, mv))
+                   | GEORGE_MOVE => 
                        (* decrements hi, when hi <= 0 enable move *)
                        if hi <= 1 then
                          (status := WORKLIST; addMv(rest, ns, MV.add(m, mv)))
@@ -623,7 +637,10 @@
                 * nodes that are removed, since removed nodes either have
                 * deg < K or else optimistic spilling must be in effect!
                 *)
-               NODE{degree,number,color=ref(PSEUDO | REMOVED), ...} => 
+               NODE{degree,number,color=ref PSEUDO, ...} => 
+               if !degree < K orelse member(reg, number) then loop(adj, hi)
+               else loop(adj, hi+1)
+             | NODE{degree,number,color=ref REMOVED, ...} => 
                if !degree < K orelse member(reg, number) then loop(adj, hi)
                else loop(adj, hi+1)
              | _ => loop(adj, hi)
@@ -706,7 +723,13 @@
            | union((t as NODE{color, degree, ...})::adj, 
                    mv, fz, stack) =
               (case !color of
-                 (COLORED _ | SPILL_LOC _ | MEMREG _ | SPILLED) => 
+                 COLORED _ => 
+                   (addEdge(t, u); union(adj, mv, fz, stack))
+               | SPILL_LOC _ => 
+                   (addEdge(t, u); union(adj, mv, fz, stack))
+               | MEMREG _ => 
+                   (addEdge(t, u); union(adj, mv, fz, stack))
+               | SPILLED => 
                    (addEdge(t, u); union(adj, mv, fz, stack))
                | PSEUDO =>
                    (addEdge(t, u);
@@ -864,7 +887,22 @@
             | elimMoves(MV{status, src, dst, ...}::mvs, simp) =
               case !status of 
                 WORKLIST => error "elimMoves"
-              | (BRIGGS_MOVE | GEORGE_MOVE) => (* mark move as lost *)
+              | BRIGGS_MOVE => (* mark move as lost *)
+                let val _ = status := LOST
+                    val src as NODE{number=s,...} = chase src
+                    val you = if s = me then chase dst else src
+                in  case you of
+                      NODE{color=ref(COLORED _),...} => 
+                        elimMoves(mvs, simp)
+                    | NODE{movecnt as ref c, degree, ...} => (* pseudo *)
+                        (movecnt := c - 1; 
+                         if c = 1 andalso !degree < K then 
+                            elimMoves(mvs, you::simp)
+                         else 
+                            elimMoves(mvs, simp)
+                        )
+                end
+              | GEORGE_MOVE => (* mark move as lost *)
                 let val _ = status := LOST
                     val src as NODE{number=s,...} = chase src
                     val you = if s = me then chase dst else src
@@ -1085,7 +1123,23 @@
                * color the move with the same color
                *)
               fun getPref([], pref) = pref
-                | getPref(MV{status=ref(LOST | BRIGGS_MOVE | GEORGE_MOVE), 
+                | getPref(MV{status=ref LOST, 
+                             src, dst, ...}::mvs, pref) =
+                  let val src as NODE{number=s,...} = chase src
+                      val other = if s = number then chase dst else src 
+                  in  case other of
+                        NODE{color=ref(COLORED c),...} => getPref(mvs, c::pref)
+                      | _ => getPref(mvs, pref)
+                  end
+                | getPref(MV{status=ref BRIGGS_MOVE, 
+                             src, dst, ...}::mvs, pref) =
+                  let val src as NODE{number=s,...} = chase src
+                      val other = if s = number then chase dst else src 
+                  in  case other of
+                        NODE{color=ref(COLORED c),...} => getPref(mvs, c::pref)
+                      | _ => getPref(mvs, pref)
+                  end
+                | getPref(MV{status=ref GEORGE_MOVE, 
                              src, dst, ...}::mvs, pref) =
                   let val src as NODE{number=s,...} = chase src
                       val other = if s = number then chase dst else src 
diff -Naur MLRISC/ra/ra-deadCodeE.sml MLRISC-mlton/ra/ra-deadCodeE.sml
--- MLRISC/ra/ra-deadCodeE.sml	2001-10-11 20:54:43.000000000 -0700
+++ MLRISC-mlton/ra/ra-deadCodeE.sml	2006-10-25 16:55:11.000000000 -0700
@@ -6,9 +6,9 @@
  * -- Allen
  *)
 
-functor RADeadCodeElim
-   (Flowgraph : RA_FLOWGRAPH)
-   (  (* check for dead code on these cellkinds only *)
+functor RADeadCodeElim (
+    structure Flowgraph : RA_FLOWGRAPH
+      (* check for dead code on these cellkinds only *)
     val cellkind : CellsBasis.cellkind -> bool
       (* Dead registers are stored here. *)
     val deadRegs : bool IntHashTable.hash_table 
diff -Naur MLRISC/ra/ra-flowgraph.sig MLRISC-mlton/ra/ra-flowgraph.sig
--- MLRISC/ra/ra-flowgraph.sig	2002-03-07 13:04:12.000000000 -0800
+++ MLRISC-mlton/ra/ra-flowgraph.sig	2006-10-25 16:55:11.000000000 -0700
@@ -12,10 +12,34 @@
 
    structure I     : INSTRUCTIONS
    structure C     : CELLS  
-   structure G     : RA_GRAPH = RAGraph
+   structure G     : RA_GRAPH (* = RAGraph *)
+                     where type C.CellSet.cellset = RAGraph.C.CellSet.cellset
+                       and type 'a C.ColorTable.hash_table = 'a RAGraph.C.ColorTable.hash_table
+                       and type 'a C.HashTable.hash_table = 'a RAGraph.C.HashTable.hash_table
+                       and type C.SortedCells.sorted_cells = RAGraph.C.SortedCells.sorted_cells
+                       and type C.cell = RAGraph.C.cell
+                       and type C.cellColor = RAGraph.C.cellColor
+                       and type C.cellkind = RAGraph.C.cellkind
+                       and type C.cellkindDesc = RAGraph.C.cellkindDesc
+                       and type C.cellkindInfo = RAGraph.C.cellkindInfo
+                       and type 'a PPtHashTable.hash_table = 'a RAGraph.PPtHashTable.hash_table
+                       and type 'a SpillLocHashTable.hash_table = 'a RAGraph.SpillLocHashTable.hash_table
+                       and type interferenceGraph = RAGraph.interferenceGraph
+                       and type move = RAGraph.move
+                       and type moveKind = RAGraph.moveKind
+                       and type moveStatus = RAGraph.moveStatus
+                       and type node = RAGraph.node
+                       and type nodeStatus = RAGraph.nodeStatus
+                       and type spillLoc = RAGraph.spillLoc
+                       and type trailInfo = RAGraph.trailInfo
    structure Spill : RA_SPILL
-     sharing Spill.I = I
-     sharing I.C = C 
+     (* sharing Spill.I = I *)
+     where type I.addressing_mode = I.addressing_mode
+       and type I.ea = I.ea
+       and type I.instr = I.instr
+       and type I.instruction = I.instruction
+       and type I.operand = I.operand
+     (* sharing I.C = C *)
 
    type flowgraph
 
diff -Naur MLRISC/ra/ra-graph.sig MLRISC-mlton/ra/ra-graph.sig
--- MLRISC/ra/ra-graph.sig	2002-03-07 13:04:12.000000000 -0800
+++ MLRISC-mlton/ra/ra-graph.sig	2006-10-25 16:55:11.000000000 -0700
@@ -11,7 +11,10 @@
 sig
 
   structure C : CELLS_BASIS
-  structure BM : RA_BITMATRIX = RaBitmatrix
+  structure BM : RA_BITMATRIX (* = RaBitmatrix *)
+                 where type bitMatrix = RaBitmatrix.bitMatrix
+                   and type bucket = RaBitmatrix.bucket
+                   and type hashTable = RaBitmatrix.hashTable
   (*
    * The following are the data structures used in the register allocator.
    *)
diff -Naur MLRISC/ra/ra.sig MLRISC-mlton/ra/ra.sig
--- MLRISC/ra/ra.sig	2001-07-19 13:35:16.000000000 -0700
+++ MLRISC-mlton/ra/ra.sig	2006-10-25 16:55:11.000000000 -0700
@@ -9,9 +9,23 @@
    structure I : INSTRUCTIONS
    structure C : CELLS
    structure F : RA_FLOWGRAPH 
-      sharing F.I   = I
-      sharing I.C   = C
-   structure CB : CELLS_BASIS = CellsBasis
+      (* sharing F.I = I *)
+     where type I.addressing_mode = I.addressing_mode
+       and type I.ea = I.ea
+       and type I.instr = I.instr
+       and type I.instruction = I.instruction
+       and type I.operand = I.operand
+      (* sharing I.C = C *)
+   structure CB : CELLS_BASIS (* = CellsBasis *)
+                  where type CellSet.cellset = CellsBasis.CellSet.cellset
+                    and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                    and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                    and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                    and type cell = CellsBasis.cell
+                    and type cellColor = CellsBasis.cellColor
+                    and type cellkind = CellsBasis.cellkind
+                    and type cellkindDesc = CellsBasis.cellkindDesc
+                    and type cellkindInfo = CellsBasis.cellkindInfo
 
    type getreg = { pref  : CB.cell_id list,
                    stamp : int, 
diff -Naur MLRISC/ra/ra.sml MLRISC-mlton/ra/ra.sml
--- MLRISC/ra/ra.sml	2002-03-07 13:16:25.000000000 -0800
+++ MLRISC-mlton/ra/ra.sml	2006-10-25 16:55:11.000000000 -0700
@@ -37,9 +37,10 @@
  * -- Allen Leung (leunga@cs.nyu.edu)
  *)
 
-functor RegisterAllocator
-   (SpillHeuristics : RA_SPILL_HEURISTICS) 
-   (Flowgraph : RA_FLOWGRAPH where C = CellsBasis) : RA =
+functor RegisterAllocator (
+   structure SpillHeuristics : RA_SPILL_HEURISTICS
+   structure Flowgraph : RA_FLOWGRAPH (* where C = CellsBasis *)
+) : RA =
 struct
 
    structure F      = Flowgraph
diff -Naur MLRISC/ra/ra-spillheur.sig MLRISC-mlton/ra/ra-spillheur.sig
--- MLRISC/ra/ra-spillheur.sig	2000-06-01 11:33:11.000000000 -0700
+++ MLRISC-mlton/ra/ra-spillheur.sig	2006-10-25 16:55:11.000000000 -0700
@@ -3,7 +3,26 @@
  *)
 signature RA_SPILL_HEURISTICS =
 sig
-   structure G : RA_GRAPH = RAGraph
+   structure G : RA_GRAPH (* = RAGraph *)
+                 where type C.CellSet.cellset = RAGraph.C.CellSet.cellset
+                   and type 'a C.ColorTable.hash_table = 'a RAGraph.C.ColorTable.hash_table
+                   and type 'a C.HashTable.hash_table = 'a RAGraph.C.HashTable.hash_table
+                   and type C.SortedCells.sorted_cells = RAGraph.C.SortedCells.sorted_cells
+                   and type C.cell = RAGraph.C.cell
+                   and type C.cellColor = RAGraph.C.cellColor
+                   and type C.cellkind = RAGraph.C.cellkind
+                   and type C.cellkindDesc = RAGraph.C.cellkindDesc
+                   and type C.cellkindInfo = RAGraph.C.cellkindInfo
+                   and type 'a PPtHashTable.hash_table = 'a RAGraph.PPtHashTable.hash_table
+                   and type 'a SpillLocHashTable.hash_table = 'a RAGraph.SpillLocHashTable.hash_table
+                   and type interferenceGraph = RAGraph.interferenceGraph
+                   and type move = RAGraph.move
+                   and type moveKind = RAGraph.moveKind
+                   and type moveStatus = RAGraph.moveStatus
+                   and type node = RAGraph.node
+                   and type nodeStatus = RAGraph.nodeStatus
+                   and type spillLoc = RAGraph.spillLoc
+                   and type trailInfo = RAGraph.trailInfo
 
    exception NoCandidate
 
diff -Naur MLRISC/ra/ra-spill.sig MLRISC-mlton/ra/ra-spill.sig
--- MLRISC/ra/ra-spill.sig	2002-01-23 21:45:17.000000000 -0800
+++ MLRISC-mlton/ra/ra-spill.sig	2006-10-25 16:55:11.000000000 -0700
@@ -7,11 +7,39 @@
 sig
 
    structure I : INSTRUCTIONS
-   structure G : RA_GRAPH = RAGraph
+   structure G : RA_GRAPH (* = RAGraph *)
+                 where type C.CellSet.cellset = RAGraph.C.CellSet.cellset
+                   and type 'a C.ColorTable.hash_table = 'a RAGraph.C.ColorTable.hash_table
+                   and type 'a C.HashTable.hash_table = 'a RAGraph.C.HashTable.hash_table
+                   and type C.SortedCells.sorted_cells = RAGraph.C.SortedCells.sorted_cells
+                   and type C.cell = RAGraph.C.cell
+                   and type C.cellColor = RAGraph.C.cellColor
+                   and type C.cellkind = RAGraph.C.cellkind
+                   and type C.cellkindDesc = RAGraph.C.cellkindDesc
+                   and type C.cellkindInfo = RAGraph.C.cellkindInfo
+                   and type 'a PPtHashTable.hash_table = 'a RAGraph.PPtHashTable.hash_table
+                   and type 'a SpillLocHashTable.hash_table = 'a RAGraph.SpillLocHashTable.hash_table
+                   and type interferenceGraph = RAGraph.interferenceGraph
+                   and type move = RAGraph.move
+                   and type moveKind = RAGraph.moveKind
+                   and type moveStatus = RAGraph.moveStatus
+                   and type node = RAGraph.node
+                   and type nodeStatus = RAGraph.nodeStatus
+                   and type spillLoc = RAGraph.spillLoc
+                   and type trailInfo = RAGraph.trailInfo
    structure C : CELLS 
-      sharing I.C = C
+      (* sharing I.C = C *)
 
-   structure CB : CELLS_BASIS = CellsBasis 
+   structure CB : CELLS_BASIS (* = CellsBasis *)
+                  where type CellSet.cellset = CellsBasis.CellSet.cellset
+                    and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                    and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                    and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                    and type cell = CellsBasis.cell
+                    and type cellColor = CellsBasis.cellColor
+                    and type cellkind = CellsBasis.cellkind
+                    and type cellkindDesc = CellsBasis.cellkindDesc
+                    and type cellkindInfo = CellsBasis.cellkindInfo
    type copyInstr =
           (CB.cell list * CB.cell list) * I.instruction -> I.instruction list
 
diff -Naur MLRISC/ra/ra-spill.sml MLRISC-mlton/ra/ra-spill.sml
--- MLRISC/ra/ra-spill.sml	2002-08-06 06:33:17.000000000 -0700
+++ MLRISC-mlton/ra/ra-spill.sml	2006-10-25 16:55:11.000000000 -0700
@@ -48,18 +48,17 @@
  * -- Allen
  *)
 
-local
-
-   val debug = false
-
-in
-
 functor RASpill
    (structure InsnProps : INSN_PROPERTIES
-    structure Asm       : INSTRUCTION_EMITTER
-    			where I = InsnProps.I
+    structure Asm       : INSTRUCTION_EMITTER (* where I = InsnProps.I *)
+                          where type I.addressing_mode = InsnProps.I.addressing_mode
+                            and type I.ea = InsnProps.I.ea
+                            and type I.instr = InsnProps.I.instr
+                            and type I.instruction = InsnProps.I.instruction
+                            and type I.operand = InsnProps.I.operand
    ) : RA_SPILL =
 struct
+   val debug = false
 
    structure I      = InsnProps.I
    structure P      = InsnProps
@@ -451,5 +450,3 @@
    in  spillRewrite
    end
 end
-
-end (* local *)
diff -Naur MLRISC/ra/ra-spill-with-renaming.sml MLRISC-mlton/ra/ra-spill-with-renaming.sml
--- MLRISC/ra/ra-spill-with-renaming.sml	2001-10-11 20:54:43.000000000 -0700
+++ MLRISC-mlton/ra/ra-spill-with-renaming.sml	2006-10-25 16:55:11.000000000 -0700
@@ -79,16 +79,14 @@
  * -- Allen
  *)
 
-local
-
-   val debug = false
-
-in
-
 functor RASpillWithRenaming
    (structure InsnProps : INSN_PROPERTIES 
-    structure Asm       : INSTRUCTION_EMITTER
-    			where I = InsnProps.I
+    structure Asm       : INSTRUCTION_EMITTER (* where I = InsnProps.I *)
+                          where type I.addressing_mode = InsnProps.I.addressing_mode
+                            and type I.ea = InsnProps.I.ea
+                            and type I.instr = InsnProps.I.instr
+                            and type I.instruction = InsnProps.I.instruction
+                            and type I.operand = InsnProps.I.operand
 
     (* Spilling a variable v creates tiny live-ranges at all its definitions
      * and uses.  The following parameter is the maximal distance of
@@ -107,6 +105,7 @@
     val keep_multiple_values : bool ref
    ) : RA_SPILL =
 struct
+   val debug = false
 
    structure I      = InsnProps.I
    structure P      = InsnProps
@@ -572,5 +571,3 @@
    in  spillRewrite
    end
 end
-
-end (* local *)
diff -Naur MLRISC/ra/region-based-ra.sml MLRISC-mlton/ra/region-based-ra.sml
--- MLRISC/ra/region-based-ra.sml	2002-03-07 13:16:25.000000000 -0800
+++ MLRISC-mlton/ra/region-based-ra.sml	2006-10-25 16:55:11.000000000 -0700
@@ -4,10 +4,10 @@
  * it into manageable pieces to be allocated.
  *)
 functor RegionBasedRA
-   (RA : RA)
-   (FlowgraphPartitioner : RA_FLOWGRAPH_PARTITIONER 
+   (structure RA : RA
+    structure FlowgraphPartitioner : RA_FLOWGRAPH_PARTITIONER 
        where type flowgraph = RA.F.flowgraph
-       where C = RA.C
+       (* where C = RA.C *)
    ) : RA =
 struct
 
diff -Naur MLRISC/ra/risc-ra.sml MLRISC-mlton/ra/risc-ra.sml
--- MLRISC/ra/risc-ra.sml	2003-05-22 15:46:22.000000000 -0700
+++ MLRISC-mlton/ra/risc-ra.sml	2006-10-25 16:55:11.000000000 -0700
@@ -4,18 +4,58 @@
  * This works well for RISC machines; but not applicable to x86.
  *)
 functor RISC_RA
-  (structure I         : INSTRUCTIONS
-   structure Asm       : INSTRUCTION_EMITTER
-   			where I = I 
-   structure CFG       : CONTROL_FLOW_GRAPH 
-   			where I = I
-		          and P = Asm.S.P
-   structure InsnProps : INSN_PROPERTIES
-   			where I = I
-   structure Rewrite   : REWRITE_INSTRUCTIONS
-   			where I = I
-   structure SpillInstr : ARCH_SPILL_INSTR
-                        where I = I
+  (structure I          : INSTRUCTIONS
+   structure Asm        : INSTRUCTION_EMITTER (* where I = I *)
+                          where type I.addressing_mode = I.addressing_mode
+                            and type I.ea = I.ea
+                            and type I.instr = I.instr
+                            and type I.instruction = I.instruction
+                            and type I.operand = I.operand
+   structure CFG        : CONTROL_FLOW_GRAPH (* where I = I and P = Asm.S.P *)
+                          where type I.addressing_mode = I.addressing_mode
+                            and type I.ea = I.ea
+                            and type I.instr = I.instr
+                            and type I.instruction = I.instruction
+                            and type I.operand = I.operand
+                          where type P.Client.pseudo_op = Asm.S.P.Client.pseudo_op
+                            and type P.T.Basis.cond = Asm.S.P.T.Basis.cond
+                            and type P.T.Basis.div_rounding_mode = Asm.S.P.T.Basis.div_rounding_mode
+                            and type P.T.Basis.ext = Asm.S.P.T.Basis.ext
+                            and type P.T.Basis.fcond = Asm.S.P.T.Basis.fcond
+                            and type P.T.Basis.rounding_mode = Asm.S.P.T.Basis.rounding_mode
+                            and type P.T.Constant.const = Asm.S.P.T.Constant.const
+                            and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) Asm.S.P.T.Extension.ccx
+                            and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) Asm.S.P.T.Extension.fx
+                            and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) Asm.S.P.T.Extension.rx
+                            and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) Asm.S.P.T.Extension.sx
+                            and type P.T.I.div_rounding_mode = Asm.S.P.T.I.div_rounding_mode
+                            and type P.T.Region.region = Asm.S.P.T.Region.region
+                            and type P.T.ccexp = Asm.S.P.T.ccexp
+                            and type P.T.fexp = Asm.S.P.T.fexp
+                            (* and type P.T.labexp = Asm.S.P.T.labexp *)
+                            and type P.T.mlrisc = Asm.S.P.T.mlrisc
+                            and type P.T.oper = Asm.S.P.T.oper
+                            and type P.T.rep = Asm.S.P.T.rep
+                            and type P.T.rexp = Asm.S.P.T.rexp
+                            and type P.T.stm = Asm.S.P.T.stm
+   structure InsnProps  : INSN_PROPERTIES (* where I = I *)
+                          where type I.addressing_mode = I.addressing_mode
+                            and type I.ea = I.ea
+                            and type I.instr = I.instr
+                            and type I.instruction = I.instruction
+                            and type I.operand = I.operand
+   structure Rewrite    : REWRITE_INSTRUCTIONS (* where I = I *)
+                          where type I.addressing_mode = I.addressing_mode
+                            and type I.ea = I.ea
+                            and type I.instr = I.instr
+                            and type I.instruction = I.instruction
+                            and type I.operand = I.operand
+   structure SpillInstr : ARCH_SPILL_INSTR (* where I = I *)
+                          where type I.addressing_mode = I.addressing_mode
+                            and type I.ea = I.ea
+                            and type I.instr = I.instr
+                            and type I.instruction = I.instruction
+                            and type I.operand = I.operand
 
       (* Spilling heuristics determines which node should be spilled.
        * You can use Chaitin, ChowHenessey, or one of your own.
@@ -26,7 +66,12 @@
        * spill code.  You can use RASpill, or RASpillWithRenaming,
        * or write your own if you are feeling adventurous.
        *)
-   structure Spill : RA_SPILL where I = I
+   structure Spill : RA_SPILL (* where I = I *)
+                     where type I.addressing_mode = I.addressing_mode
+                       and type I.ea = I.ea
+                       and type I.instr = I.instr
+                       and type I.instruction = I.instruction
+                       and type I.operand = I.operand
           
    val architecture : string
 
@@ -85,9 +130,9 @@
    (* The generic register allocator *)
    structure Ra =
       RegisterAllocator
-        (SpillHeur) 
+        (structure SpillHeuristics = SpillHeur
         (* (ChowHennessySpillHeur) *)
-        (ClusterRA 
+         structure Flowgraph = ClusterRA 
           (structure Flowgraph = CFG
            structure Asm = Asm
            structure InsnProps = InsnProps
diff -Naur MLRISC/README.mlton MLRISC-mlton/README.mlton
--- MLRISC/README.mlton	1969-12-31 16:00:00.000000000 -0800
+++ MLRISC-mlton/README.mlton	2006-10-25 16:55:11.000000000 -0700
@@ -0,0 +1,8 @@
+The following changes were made to the MLRISC Library, in addition to
+deriving the {{{.mlb}}} file from the {{{.cm}}} files:
+ * eliminate or-patterns: Duplicate the whole match ({{{p => e}}}) at each of the patterns.
+ * eliminate vector constants: Change {{{#[}}} to {{{Vector.fromList [}}}.
+ * eliminate {{{withtype}}} in signatures
+ * eliminate sequential {{{withtype}}} expansions: Most could be rewritten as a sequence of type definitions and datatype definitions.
+ * eliminate higher-order functors: Every higher-order functor definition and application could be uncurried in the obvious way.
+ * eliminate {{{where <str> = <str>}}}: Quite painful to expand out all the flexible types in the respective structures.  Furthermore, many of the implied type equalities aren't needed, but it's too hard to pick out the right ones.
diff -Naur MLRISC/sparc/backpatch/sparcDelaySlotProps.sml MLRISC-mlton/sparc/backpatch/sparcDelaySlotProps.sml
--- MLRISC/sparc/backpatch/sparcDelaySlotProps.sml	2002-01-09 11:44:20.000000000 -0800
+++ MLRISC-mlton/sparc/backpatch/sparcDelaySlotProps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -1,6 +1,11 @@
 functor SparcDelaySlots
    (structure I : SPARCINSTR
-    structure P : INSN_PROPERTIES where I = I
+    structure P : INSN_PROPERTIES (* where I = I *)
+                  where type I.addressing_mode = I.addressing_mode
+                    and type I.ea = I.ea
+                    and type I.instr = I.instr
+                    and type I.instruction = I.instruction
+                    and type I.operand = I.operand
     (* sharing/defn conflict:   sharing P.I = I*)
    ) : DELAY_SLOT_PROPERTIES =
 struct
@@ -113,10 +118,16 @@
             clash(toSL defUseOther)
         end
 
-    fun delaySlotCandidate{jmp,delaySlot=
-              (  I.INSTR(I.CALL _) | I.INSTR(I.Bicc _) | I.INSTR(I.FBfcc _) 
-               | I.INSTR(I.Ticc _) | I.INSTR(I.BR _) | I.INSTR(I.JMP _) | I.INSTR(I.JMPL _) 
-	       | I.INSTR(I.RET _) | I.INSTR(I.BP _) | I.INSTR(I.FCMP _))} = false
+    fun delaySlotCandidate{jmp,delaySlot=I.INSTR(I.CALL _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.Bicc _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.FBfcc _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.Ticc _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.BR _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.JMP _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.JMPL _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.RET _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.BP _)} = false
+      | delaySlotCandidate{jmp,delaySlot=I.INSTR(I.FCMP _)} = false
       | delaySlotCandidate{jmp=I.ANNOTATION{i,...},delaySlot} = 
            delaySlotCandidate{jmp=i,delaySlot=delaySlot}
       | delaySlotCandidate{jmp,delaySlot=I.ANNOTATION{i,...}} = 
diff -Naur MLRISC/sparc/backpatch/sparcJumps.sml MLRISC-mlton/sparc/backpatch/sparcJumps.sml
--- MLRISC/sparc/backpatch/sparcJumps.sml	2003-05-22 15:46:23.000000000 -0700
+++ MLRISC-mlton/sparc/backpatch/sparcJumps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -5,8 +5,67 @@
  *)
 functor SparcJumps
   (structure Instr:SPARCINSTR
-   structure Shuffle:SPARCSHUFFLE where I = Instr
-   structure MLTreeEval : MLTREE_EVAL where T = Instr.T
+   structure Shuffle:SPARCSHUFFLE (* where I = Instr *)
+                     where type I.Constant.const = Instr.Constant.const
+                       and type I.Region.region = Instr.Region.region
+                       and type I.T.Basis.cond = Instr.T.Basis.cond
+                       and type I.T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                       and type I.T.Basis.ext = Instr.T.Basis.ext
+                       and type I.T.Basis.fcond = Instr.T.Basis.fcond
+                       and type I.T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                       and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                       and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                       and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                       and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                       and type I.T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                       and type I.T.ccexp = Instr.T.ccexp
+                       and type I.T.fexp = Instr.T.fexp
+                       (* and type I.T.labexp = Instr.T.labexp *)
+                       and type I.T.mlrisc = Instr.T.mlrisc
+                       and type I.T.oper = Instr.T.oper
+                       and type I.T.rep = Instr.T.rep
+                       and type I.T.rexp = Instr.T.rexp
+                       and type I.T.stm = Instr.T.stm
+                       and type I.arith = Instr.arith
+                       and type I.branch = Instr.branch
+                       and type I.cc = Instr.cc
+                       and type I.ea = Instr.ea
+                       and type I.farith1 = Instr.farith1
+                       and type I.farith2 = Instr.farith2
+                       and type I.fbranch = Instr.fbranch
+                       and type I.fcmp = Instr.fcmp
+                       and type I.fload = Instr.fload
+                       and type I.fsize = Instr.fsize
+                       and type I.fstore = Instr.fstore
+                       and type I.instr = Instr.instr
+                       and type I.instruction = Instr.instruction
+                       and type I.load = Instr.load
+                       and type I.operand = Instr.operand
+                       and type I.prediction = Instr.prediction
+                       and type I.rcond = Instr.rcond
+                       and type I.shift = Instr.shift
+                       and type I.store = Instr.store
+   structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                          where type T.Basis.cond = Instr.T.Basis.cond
+                            and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                            and type T.Basis.ext = Instr.T.Basis.ext
+                            and type T.Basis.fcond = Instr.T.Basis.fcond
+                            and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                            and type T.Constant.const = Instr.T.Constant.const
+                            and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                            and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                            and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                            and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                            and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                            and type T.Region.region = Instr.T.Region.region
+                            and type T.ccexp = Instr.T.ccexp
+                            and type T.fexp = Instr.T.fexp
+                            (* and type T.labexp = Instr.T.labexp *)
+                            and type T.mlrisc = Instr.T.mlrisc
+                            and type T.oper = Instr.T.oper
+                            and type T.rep = Instr.T.rep
+                            and type T.rexp = Instr.T.rexp
+                            and type T.stm = Instr.T.stm
   ) : SDI_JUMPS = 
 struct
   structure I = Instr
@@ -51,7 +110,9 @@
 	    | I.SAVE{i,...} => oper i
 	    | I.RESTORE{i,...} => oper i
 	    (* The following is only true of Version 8 *)
-	    | I.FPop1{a=(I.FMOVd | I.FNEGd | I.FABSd), ...} => true
+	    | I.FPop1{a=I.FMOVd, ...} => true
+	    | I.FPop1{a=I.FNEGd, ...} => true
+	    | I.FPop1{a=I.FABSd, ...} => true
 	    | _ => false
 	end
 
@@ -70,11 +131,15 @@
 	 | (I.BP{nop=true,...}) => 8
 	 | (I.RET{nop=true,...}) => 8
 	 | (I.FCMP{nop=true,...}) => 8
-	 | (I.FPop1{a=(I.FMOVd | I.FNEGd | I.FABSd),...}) => 8
+	 | (I.FPop1{a=I.FMOVd,...}) => 8
+	 | (I.FPop1{a=I.FNEGd,...}) => 8
+	 | (I.FPop1{a=I.FABSd,...}) => 8
 	 |  _          => 4
       (*esac*))
 
-  fun maxSize (I.INSTR(I.FPop1{a=(I.FMOVd | I.FNEGd | I.FABSd),...})) = 8
+  fun maxSize (I.INSTR(I.FPop1{a=I.FMOVd,...})) = 8
+    | maxSize (I.INSTR(I.FPop1{a=I.FNEGd,...})) = 8
+    | maxSize (I.INSTR(I.FPop1{a=I.FABSd,...})) = 8
     | maxSize (I.ANNOTATION{i,...}) = maxSize i
     | maxSize _		   = 4
 
@@ -85,7 +150,11 @@
   fun immed30 n = ~0x4000000 <= n andalso n < 0x3ffffff
 
   fun instrLength([],n) = n
-    | instrLength(I.INSTR(I.FPop1{a=(I.FMOVd | I.FNEGd | I.FABSd),...})::is,n) =
+    | instrLength(I.INSTR(I.FPop1{a=I.FMOVd,...})::is,n) =
+        instrLength(is,n+8)
+    | instrLength(I.INSTR(I.FPop1{a=I.FNEGd,...})::is,n) =
+        instrLength(is,n+8)
+    | instrLength(I.INSTR(I.FPop1{a=I.FABSd,...})::is,n) =
         instrLength(is,n+8)
     | instrLength(_::is,n) = instrLength(is,n+4)
 
@@ -135,7 +204,9 @@
 	  | I.BP{label,nop,...} => branch19 label + delaySlot nop
 	  | I.CALL{label,...} => call label
 	  | I.WRY{i,...} => oper(i,12)
- 	  | I.FPop1{a=(I.FMOVd | I.FNEGd | I.FABSd),...} => 8	    
+ 	  | I.FPop1{a=I.FMOVd,...} => 8	    
+ 	  | I.FPop1{a=I.FNEGd,...} => 8	    
+ 	  | I.FPop1{a=I.FABSd,...} => 8	    
 	  | _ => error "sdiSize"
       end
     | sdiSize _ = error "sdiSize"
@@ -207,10 +278,15 @@
 	| (I.FBfcc _,8) => [instr]
 	| (I.BR _,8) => [instr]
 	| (I.BP _,8) => [instr]
-	| (I.JMPL{r,i,d,defs,uses,cutsTo,nop,mem},(12 | 16)) => 
+	| (I.JMPL{r,i,d,defs,uses,cutsTo,nop,mem},12) => 
 	    expandImm(i,I.JMPL{r=r,i=I.REG C.asmTmpR,d=d,defs=defs,uses=uses,
 			       cutsTo=cutsTo,nop=nop,mem=mem})
-	| (I.JMP{r,i,labs,nop},(12 | 16)) => 
+	| (I.JMPL{r,i,d,defs,uses,cutsTo,nop,mem},16) => 
+	    expandImm(i,I.JMPL{r=r,i=I.REG C.asmTmpR,d=d,defs=defs,uses=uses,
+			       cutsTo=cutsTo,nop=nop,mem=mem})
+	| (I.JMP{r,i,labs,nop},12) => 
+	    expandImm(i,I.JMP{r=r,i=I.REG C.asmTmpR,labs=labs,nop=nop})
+	| (I.JMP{r,i,labs,nop},16) => 
 	    expandImm(i,I.JMP{r=r,i=I.REG C.asmTmpR,labs=labs,nop=nop})
 	| (I.Ticc{t,cc,r,i},12) =>
 	    expandImm(i,I.Ticc{t=t,cc=cc,r=r,i=I.REG C.asmTmpR})
diff -Naur MLRISC/sparc/c-calls/sparc-c-calls.sml MLRISC-mlton/sparc/c-calls/sparc-c-calls.sml
--- MLRISC/sparc/c-calls/sparc-c-calls.sml	2004-07-28 14:06:59.000000000 -0700
+++ MLRISC-mlton/sparc/c-calls/sparc-c-calls.sml	2006-10-25 16:55:11.000000000 -0700
@@ -105,15 +105,21 @@
     fun roundup (i, a) = a * ((i + a - 1) div a)
 
     (* calculate size and alignment for a C type *)
-    fun szal (Ty.C_void | Ty.C_float | Ty.C_PTR |
-	      Ty.C_signed (Ty.I_int | Ty.I_long) |
-	      Ty.C_unsigned (Ty.I_int | Ty.I_long)) = (4, 4)
-      | szal (Ty.C_double |
-	      Ty.C_signed Ty.I_long_long |
-	      Ty.C_unsigned Ty.I_long_long) = (8, 8)
+    fun szal Ty.C_void = (4, 4)
+      | szal Ty.C_float = (4, 4)
+      | szal Ty.C_PTR = (4, 4)
+      | szal (Ty.C_signed Ty.I_int) = (4, 4)
+      | szal (Ty.C_signed Ty.I_long) = (4, 4)
+      | szal (Ty.C_unsigned Ty.I_int) = (4, 4)
+      | szal (Ty.C_unsigned Ty.I_long) = (4, 4)
+      | szal Ty.C_double = (8, 8)
+      | szal (Ty.C_signed Ty.I_long_long) = (8, 8)
+      | szal (Ty.C_unsigned Ty.I_long_long) = (8, 8)
       | szal (Ty.C_long_double) = (16, 8)
-      | szal (Ty.C_signed Ty.I_char | Ty.C_unsigned Ty.I_char) = (1, 1)
-      | szal (Ty.C_signed Ty.I_short | Ty.C_unsigned Ty.I_short) = (2, 2)
+      | szal (Ty.C_signed Ty.I_char) = (1, 1)
+      | szal (Ty.C_unsigned Ty.I_char) = (1, 1)
+      | szal (Ty.C_signed Ty.I_short) = (2, 2)
+      | szal (Ty.C_unsigned Ty.I_short) = (2, 2)
       | szal (Ty.C_ARRAY (t, n)) = let val (s, a) = szal t in (n * s, a) end
       | szal (Ty.C_STRUCT l) =
 	let (* i: next free memory address (relative to struct start);
@@ -183,21 +189,24 @@
 		  callComment, args } = let
 	val { conv, retTy, paramTys } = proto
 	val _ = case conv of
-		    ("" | "ccall") => ()
+		    "" => ()
+		  | "ccall" => ()
 		  | _ => error (concat ["unknown calling convention \"",
 					String.toString conv, "\""])
 	val res_szal =
 	    case retTy of
-		(Ty.C_long_double | Ty.C_STRUCT _ | Ty.C_UNION _) =>
-		  SOME (szal retTy)
+		Ty.C_long_double => SOME (szal retTy)
+	      | Ty.C_STRUCT _ => SOME (szal retTy)
+	      | Ty.C_UNION _ => SOME (szal retTy)
 	      | _ => NONE
 
 	val nargwords = let
 	    fun loop ([], n) = n
 	      | loop (t :: tl, n) =
 		loop (tl, (case t of
-			       (Ty.C_double | Ty.C_signed Ty.I_long_long |
-				Ty.C_unsigned Ty.I_long_long) => 2
+			       Ty.C_double => 2
+			     | (Ty.C_signed Ty.I_long_long) => 2
+			     | (Ty.C_unsigned Ty.I_long_long) => 2
 			     | _ => 1) + n)
 	in
 	    loop (paramTys, 0)
@@ -225,17 +234,21 @@
 		    T.STORE (ty, addli (spreg, to_off), a, stack) :: cpc
 	    in
 		case t of
-		    (Ty.C_void | Ty.C_PTR |
-		     Ty.C_signed (Ty.I_int | Ty.I_long) |
-		     Ty.C_unsigned (Ty.I_int | Ty.I_long)) => ldst 32
-		  | (Ty.C_signed Ty.I_char | Ty.C_unsigned Ty.I_char) => ldst 8
-		  | (Ty.C_signed Ty.I_short | Ty.C_unsigned Ty.I_short) =>
-		    ldst 16
-		  | (Ty.C_signed Ty.I_long_long |
-		     Ty.C_unsigned Ty.I_long_long) => ldst 64
+		    Ty.C_void => ldst 32
+		  | Ty.C_PTR => ldst 32
+		  | (Ty.C_signed Ty.I_int) => ldst 32
+		  | (Ty.C_signed Ty.I_long) => ldst 32
+		  | (Ty.C_unsigned Ty.I_int) => ldst 32
+		  | (Ty.C_unsigned Ty.I_long) => ldst 32
+		  | (Ty.C_signed Ty.I_char) => ldst 8
+		  | (Ty.C_unsigned Ty.I_char) => ldst 8
+		  | (Ty.C_signed Ty.I_short) => ldst 16
+		  | (Ty.C_unsigned Ty.I_short) => ldst 16
+		  | (Ty.C_signed Ty.I_long_long) => ldst 64
+		  | (Ty.C_unsigned Ty.I_long_long) => ldst 64
 		  | (Ty.C_ARRAY _) =>
 		    error "ARRAY within gather/scatter struct"
-		  | (Ty.C_STRUCT _ | Ty.C_UNION _) =>
+		  | (Ty.C_STRUCT _) =>
 		    (* Here we have to do the equivalent of a "memcpy". *)
 		    let val from = a (* argument is address of struct *)
 			fun cp (ty, incr) = let
@@ -260,8 +273,34 @@
 			  | 2 => cp (16, 2)
 			  | _ => (* 4 or more *) cp (32, 4)
 		    end
-		  | (Ty.C_float | Ty.C_double | Ty.C_long_double) =>
-		    error "floating point type does not match ARG"
+		  | (Ty.C_UNION _) =>
+		    (* Here we have to do the equivalent of a "memcpy". *)
+		    let val from = a (* argument is address of struct *)
+			fun cp (ty, incr) = let
+			    fun load_from from_off =
+				T.LOAD (32, addli (from, from_off), mem)
+			    (* from_off is relative to from,
+			     * to_off is relative to %sp *)
+			    fun loop (i, from_off, to_off, cpc) =
+				if i <= 0 then cpc
+				else loop (i - incr,
+					   from_off + incr, to_off + incr,
+					   T.STORE (ty, addli (spreg, to_off),
+						    load_from from_off,
+						    stack)
+					   :: cpc)
+			in
+			    loop (sz, 0, to_off, cpc)
+			end
+		    in
+			case al of
+			    1 => cp (8, 1)
+			  | 2 => cp (16, 2)
+			  | _ => (* 4 or more *) cp (32, 4)
+		    end
+		  | Ty.C_float => error "floating point type does not match ARG"
+		  | Ty.C_double => error "floating point type does not match ARG"
+		  | Ty.C_long_double => error "floating point type does not match ARG"
 	    end
 (*
 	  | struct_copy (_, _, ARGS args, Ty.C_STRUCT tl, to_off, cpc) =
@@ -334,10 +373,13 @@
 			else dwordmemarg (tmpaddr, stack, [mkstore tmpaddr])
 		in
 		    case (t, a) of
-			((Ty.C_void | Ty.C_PTR | Ty.C_ARRAY _ |
-			  Ty.C_unsigned (Ty.I_int | Ty.I_long) |
-			  Ty.C_signed (Ty.I_int | Ty.I_long)),
-			 ARG a) => wordarg (a, cpc, ss)
+			(Ty.C_void, ARG a) => wordarg (a, cpc, ss)
+		      | (Ty.C_PTR, ARG a) => wordarg (a, cpc, ss)
+		      | (Ty.C_ARRAY _, ARG a) => wordarg (a, cpc, ss)
+		      | (Ty.C_unsigned Ty.I_int, ARG a) => wordarg (a, cpc, ss)
+		      | (Ty.C_unsigned Ty.I_long, ARG a) => wordarg (a, cpc, ss)
+		      | (Ty.C_signed Ty.I_int, ARG a) => wordarg (a, cpc, ss)
+		      | (Ty.C_signed Ty.I_long, ARG a) => wordarg (a, cpc, ss)
 		      | (Ty.C_signed Ty.I_char, ARG a) =>
 			wordarg (T.SX (32, 8, a), cpc, ss)
 		      | (Ty.C_unsigned Ty.I_char, ARG a) =>
@@ -346,8 +388,13 @@
 			wordarg (T.SX (32, 16, a), cpc, ss)
 		      | (Ty.C_unsigned Ty.I_short, ARG a) =>
 			wordarg (T.ZX (32, 16, a), cpc, ss)
-		      | ((Ty.C_signed Ty.I_long_long |
-			  Ty.C_unsigned Ty.I_long_long), ARG a) =>
+		      | (Ty.C_signed Ty.I_long_long, ARG a) =>
+			(case a of
+			     T.LOAD (_, addr, region) =>
+			     dwordmemarg (addr, region, [])
+			   | _ => dwordarg (fn addr =>
+					       T.STORE (64, addr, a, stack)))
+		      | (Ty.C_unsigned Ty.I_long_long, ARG a) =>
 			(case a of
 			     T.LOAD (_, addr, region) =>
 			     dwordmemarg (addr, region, [])
@@ -390,7 +437,20 @@
 				     T.FSTORE (128, ssaddr, a, stack) :: cpc,
 				     ss' + 16)
 			end
-		      | (t as (Ty.C_STRUCT _ | Ty.C_UNION _), a) => let
+		      | (t as (Ty.C_STRUCT _), a) => let
+			    (* copy entire struct into scratch space
+			     * (aligned according to struct's alignment
+			     * requirements).  The address of the scratch
+			     * copy is then passed as a regular 32-bit
+			     * argument. *)
+			    val (sz, al) = szal t
+			    val ss' = roundup (ss, al)
+			    val ssaddr = addli (spreg, ss')
+			    val cpc' = struct_copy (sz, al, a, t, ss', cpc)
+			in
+			    wordarg (ssaddr, cpc', ss' + sz)
+			end
+		      | (t as (Ty.C_UNION _), a) => let
 			    (* copy entire struct into scratch space
 			     * (aligned according to struct's alignment
 			     * requirements).  The address of the scratch
@@ -437,17 +497,32 @@
 		Ty.C_float => [T.FPR (T.FREG (32, FP 0))]
 	      | Ty.C_double => [T.FPR (T.FREG (64, FP 0))] (* %f0/%f1 *)
 	      | Ty.C_long_double => []
-	      | (Ty.C_STRUCT _ | Ty.C_UNION _) => []
+	      | (Ty.C_STRUCT _) => []
+	      | (Ty.C_UNION _) => []
 	      | Ty.C_ARRAY _ => error "array return type"
-	      | (Ty.C_PTR | Ty.C_void |
-		 Ty.C_signed (Ty.I_int | Ty.I_long) |
-		 Ty.C_unsigned (Ty.I_int | Ty.I_long)) =>
+	      | Ty.C_PTR =>
+		[T.GPR (T.REG (32, oreg 0))]
+	      | Ty.C_void =>
+		[T.GPR (T.REG (32, oreg 0))]
+	      | Ty.C_signed Ty.I_int =>
 		[T.GPR (T.REG (32, oreg 0))]
-	      | (Ty.C_signed Ty.I_char | Ty.C_unsigned Ty.I_char) =>
+	      | Ty.C_signed Ty.I_long =>
+		[T.GPR (T.REG (32, oreg 0))]
+	      | Ty.C_unsigned Ty.I_int =>
+		[T.GPR (T.REG (32, oreg 0))]
+	      | Ty.C_unsigned Ty.I_long =>
+		[T.GPR (T.REG (32, oreg 0))]
+	      | Ty.C_signed Ty.I_char =>
 		[T.GPR (T.REG (8, oreg 0))]
-	      | (Ty.C_signed Ty.I_short | Ty.C_unsigned Ty.I_short) =>
+	      | Ty.C_unsigned Ty.I_char =>
+		[T.GPR (T.REG (8, oreg 0))]
+	      | Ty.C_signed Ty.I_short =>
+		[T.GPR (T.REG (16, oreg 0))]
+	      | Ty.C_unsigned Ty.I_short =>
 		[T.GPR (T.REG (16, oreg 0))]
-	      | (Ty.C_signed Ty.I_long_long | Ty.C_unsigned Ty.I_long_long) =>
+	      | Ty.C_signed Ty.I_long_long =>
+		[T.GPR (T.REG (64, oreg 0))]
+	      | Ty.C_unsigned Ty.I_long_long =>
 		[T.GPR (T.REG (64, oreg 0))]
 
 	val { save, restore } = saveRestoreDedicated defs
diff -Naur MLRISC/sparc/emit/sparcAsm.sml MLRISC-mlton/sparc/emit/sparcAsm.sml
--- MLRISC/sparc/emit/sparcAsm.sml	2002-05-18 11:21:53.000000000 -0700
+++ MLRISC-mlton/sparc/emit/sparcAsm.sml	2006-10-25 16:55:11.000000000 -0700
@@ -6,12 +6,88 @@
 
 
 functor SparcAsmEmitter(structure S : INSTRUCTION_STREAM
-                        structure Instr : SPARCINSTR
-                           where T = S.P.T
-                        structure Shuffle : SPARCSHUFFLE
-                           where I = Instr
-                        structure MLTreeEval : MLTREE_EVAL
-                           where T = Instr.T
+                        structure Instr : SPARCINSTR (* where T = S.P.T *)
+                                          where type T.Basis.cond = S.P.T.Basis.cond
+                                            and type T.Basis.div_rounding_mode = S.P.T.Basis.div_rounding_mode
+                                            and type T.Basis.ext = S.P.T.Basis.ext
+                                            and type T.Basis.fcond = S.P.T.Basis.fcond
+                                            and type T.Basis.rounding_mode = S.P.T.Basis.rounding_mode
+                                            and type T.Constant.const = S.P.T.Constant.const
+                                            and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) S.P.T.Extension.ccx
+                                            and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) S.P.T.Extension.fx
+                                            and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) S.P.T.Extension.rx
+                                            and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) S.P.T.Extension.sx
+                                            and type T.I.div_rounding_mode = S.P.T.I.div_rounding_mode
+                                            and type T.Region.region = S.P.T.Region.region
+                                            and type T.ccexp = S.P.T.ccexp
+                                            and type T.fexp = S.P.T.fexp
+                                            (* and type T.labexp = S.P.T.labexp *)
+                                            and type T.mlrisc = S.P.T.mlrisc
+                                            and type T.oper = S.P.T.oper
+                                            and type T.rep = S.P.T.rep
+	                                    and type T.rexp = S.P.T.rexp
+                                            and type T.stm = S.P.T.stm
+                        structure Shuffle : SPARCSHUFFLE (* where I = Instr *)
+                                            where type I.Constant.const = Instr.Constant.const
+                                              and type I.Region.region = Instr.Region.region
+                                              and type I.T.Basis.cond = Instr.T.Basis.cond
+                                              and type I.T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                              and type I.T.Basis.ext = Instr.T.Basis.ext
+                                              and type I.T.Basis.fcond = Instr.T.Basis.fcond
+                                              and type I.T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                              and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                              and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                              and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                              and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                              and type I.T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                              and type I.T.ccexp = Instr.T.ccexp
+                                              and type I.T.fexp = Instr.T.fexp
+                                              (* and type I.T.labexp = Instr.T.labexp *)
+                                              and type I.T.mlrisc = Instr.T.mlrisc
+                                              and type I.T.oper = Instr.T.oper
+                                              and type I.T.rep = Instr.T.rep
+                                              and type I.T.rexp = Instr.T.rexp
+                                              and type I.T.stm = Instr.T.stm
+                                              and type I.arith = Instr.arith
+                                              and type I.branch = Instr.branch
+                                              and type I.cc = Instr.cc
+                                              and type I.ea = Instr.ea
+                                              and type I.farith1 = Instr.farith1
+                                              and type I.farith2 = Instr.farith2
+                                              and type I.fbranch = Instr.fbranch
+                                              and type I.fcmp = Instr.fcmp
+                                              and type I.fload = Instr.fload
+                                              and type I.fsize = Instr.fsize
+                                              and type I.fstore = Instr.fstore
+                                              and type I.instr = Instr.instr
+                                              and type I.instruction = Instr.instruction
+                                              and type I.load = Instr.load
+                                              and type I.operand = Instr.operand
+                                              and type I.prediction = Instr.prediction
+                                              and type I.rcond = Instr.rcond
+                                              and type I.shift = Instr.shift
+                                              and type I.store = Instr.store
+                        structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                                               where type T.Basis.cond = Instr.T.Basis.cond
+                                                 and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                                 and type T.Basis.ext = Instr.T.Basis.ext
+                                                 and type T.Basis.fcond = Instr.T.Basis.fcond
+                                                 and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                                 and type T.Constant.const = Instr.T.Constant.const
+                                                 and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                                 and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                                 and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                                 and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                                 and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                                 and type T.Region.region = Instr.T.Region.region
+                                                 and type T.ccexp = Instr.T.ccexp
+                                                 and type T.fexp = Instr.T.fexp
+                                                 (* and type T.labexp = Instr.T.labexp *)
+                                                 and type T.mlrisc = Instr.T.mlrisc
+                                                 and type T.oper = Instr.T.oper
+                                                 and type T.rep = Instr.T.rep
+                                                 and type T.rexp = Instr.T.rexp
+                                                 and type T.stm = Instr.T.stm
 
 (*#line 466.21 "sparc/sparc.mdl"*)
                         val V9 : bool
diff -Naur MLRISC/sparc/emit/sparcMC.sml MLRISC-mlton/sparc/emit/sparcMC.sml
--- MLRISC/sparc/emit/sparcMC.sml	2002-01-09 11:44:20.000000000 -0800
+++ MLRISC-mlton/sparc/emit/sparcMC.sml	2006-10-25 16:55:11.000000000 -0700
@@ -6,7 +6,27 @@
 
 
 functor SparcMCEmitter(structure Instr : SPARCINSTR
-                       structure MLTreeEval : MLTREE_EVAL where T = Instr.T
+                       structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                                              where type T.Basis.cond = Instr.T.Basis.cond
+                                                and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                                and type T.Basis.ext = Instr.T.Basis.ext
+                                                and type T.Basis.fcond = Instr.T.Basis.fcond
+                                                and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                                and type T.Constant.const = Instr.T.Constant.const
+                                                and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                                and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                                and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                                and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                                and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                                and type T.Region.region = Instr.T.Region.region
+                                                and type T.ccexp = Instr.T.ccexp
+                                                and type T.fexp = Instr.T.fexp
+                                                (* and type T.labexp = Instr.T.labexp *)
+                                                and type T.mlrisc = Instr.T.mlrisc
+                                                and type T.oper = Instr.T.oper
+                                                and type T.rep = Instr.T.rep
+                                                and type T.rexp = Instr.T.rexp
+                                                and type T.stm = Instr.T.stm
                        structure Stream : INSTRUCTION_STREAM 
                        structure CodeString : CODE_STRING
                       ) : INSTRUCTION_EMITTER =
@@ -47,6 +67,7 @@
        (* note: fromLargeWord strips the high order bits! *)
        fun eByteW w =
        let val i = !loc
+           val w = W.toLargeWord w
        in loc := i + 1; CodeString.update(i,Word8.fromLargeWord w) end
    
        fun doNothing _ = ()
diff -Naur MLRISC/sparc/flowgraph/sparcGasPseudoOps.sml MLRISC-mlton/sparc/flowgraph/sparcGasPseudoOps.sml
--- MLRISC/sparc/flowgraph/sparcGasPseudoOps.sml	2001-11-21 10:44:20.000000000 -0800
+++ MLRISC-mlton/sparc/flowgraph/sparcGasPseudoOps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -1,6 +1,26 @@
 functor SparcGasPseudoOps 
    ( structure T : MLTREE
-     structure MLTreeEval : MLTREE_EVAL  where T = T
+     structure MLTreeEval : MLTREE_EVAL (* where T = T *)
+                            where type T.Basis.cond = T.Basis.cond
+                              and type T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                              and type T.Basis.ext = T.Basis.ext
+                              and type T.Basis.fcond = T.Basis.fcond
+                              and type T.Basis.rounding_mode = T.Basis.rounding_mode
+                              and type T.Constant.const = T.Constant.const
+                              and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                              and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                              and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                              and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                              and type T.I.div_rounding_mode = T.I.div_rounding_mode
+                              and type T.Region.region = T.Region.region
+                              and type T.ccexp = T.ccexp
+                              and type T.fexp = T.fexp
+                              (* and type T.labexp = T.labexp *)
+                              and type T.mlrisc = T.mlrisc
+                              and type T.oper = T.oper
+                              and type T.rep = T.rep
+                              and type T.rexp = T.rexp
+                              and type T.stm = T.stm
     ) : PSEUDO_OPS_BASIS = 
 
 struct
diff -Naur MLRISC/sparc/instructions/sparccomp-instr-ext.sml MLRISC-mlton/sparc/instructions/sparccomp-instr-ext.sml
--- MLRISC/sparc/instructions/sparccomp-instr-ext.sml	2001-12-06 18:45:29.000000000 -0800
+++ MLRISC-mlton/sparc/instructions/sparccomp-instr-ext.sml	2006-10-25 16:55:11.000000000 -0700
@@ -7,12 +7,54 @@
  *)
 signature SPARCCOMP_INSTR_EXT = sig
     structure T : MLTREE
-    structure I : SPARCINSTR
-    		where T = T
-    structure TS : MLTREE_STREAM
-		where T = I.T
-    structure CFG : CONTROL_FLOW_GRAPH 
-    		where I = I 
+    structure I : SPARCINSTR (* where T = T *)
+                  where type T.Basis.cond = T.Basis.cond
+                    and type T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                    and type T.Basis.ext = T.Basis.ext
+                    and type T.Basis.fcond = T.Basis.fcond
+                    and type T.Basis.rounding_mode = T.Basis.rounding_mode
+                    and type T.Constant.const = T.Constant.const
+                    and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                    and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                    and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                    and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                    and type T.I.div_rounding_mode = T.I.div_rounding_mode
+                    and type T.Region.region = T.Region.region
+                    and type T.ccexp = T.ccexp
+                    and type T.fexp = T.fexp
+                    (* and type T.labexp = T.labexp *)
+                    and type T.mlrisc = T.mlrisc
+                    and type T.oper = T.oper
+                    and type T.rep = T.rep
+                    and type T.rexp = T.rexp
+                    and type T.stm = T.stm
+    structure TS : MLTREE_STREAM (* where T = I.T *)
+                   where type T.Basis.cond = I.T.Basis.cond
+                     and type T.Basis.div_rounding_mode = I.T.Basis.div_rounding_mode
+                     and type T.Basis.ext = I.T.Basis.ext
+                     and type T.Basis.fcond = I.T.Basis.fcond
+                     and type T.Basis.rounding_mode = I.T.Basis.rounding_mode
+                     and type T.Constant.const = I.T.Constant.const
+                     and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) I.T.Extension.ccx
+                     and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) I.T.Extension.fx
+                     and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) I.T.Extension.rx
+                     and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) I.T.Extension.sx
+                     and type T.I.div_rounding_mode = I.T.I.div_rounding_mode
+                     and type T.Region.region = I.T.Region.region
+                     and type T.ccexp = I.T.ccexp
+                     and type T.fexp = I.T.fexp
+                     (* and type T.labexp = I.T.labexp *)
+                     and type T.mlrisc = I.T.mlrisc
+                     and type T.oper = I.T.oper
+                     and type T.rep = I.T.rep
+                     and type T.rexp = I.T.rexp
+                     and type T.stm = I.T.stm
+    structure CFG : CONTROL_FLOW_GRAPH (* where I = I *)
+                    where type I.addressing_mode = I.addressing_mode
+                      and type I.ea = I.ea
+                      and type I.instr = I.instr
+                      and type I.instruction = I.instruction
+                      and type I.operand = I.operand
 
 
     type reducer =
@@ -27,11 +69,54 @@
 
 functor SparcCompInstrExt 
   (structure I   : SPARCINSTR
-   structure TS  : MLTREE_STREAM
-		where T = I.T
-   structure CFG : CONTROL_FLOW_GRAPH 
-   		where I = I
-                  and P = TS.S.P
+   structure TS  : MLTREE_STREAM (* where T = I.T *)
+                   where type T.Basis.cond = I.T.Basis.cond
+                     and type T.Basis.div_rounding_mode = I.T.Basis.div_rounding_mode
+                     and type T.Basis.ext = I.T.Basis.ext
+                     and type T.Basis.fcond = I.T.Basis.fcond
+                     and type T.Basis.rounding_mode = I.T.Basis.rounding_mode
+                     and type T.Constant.const = I.T.Constant.const
+                     and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) I.T.Extension.ccx
+                     and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) I.T.Extension.fx
+                     and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) I.T.Extension.rx
+                     and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) I.T.Extension.sx
+                     and type T.I.div_rounding_mode = I.T.I.div_rounding_mode
+                     and type T.Region.region = I.T.Region.region
+                     and type T.ccexp = I.T.ccexp
+                     and type T.fexp = I.T.fexp
+                     (* and type T.labexp = I.T.labexp *)
+                     and type T.mlrisc = I.T.mlrisc
+                     and type T.oper = I.T.oper
+                     and type T.rep = I.T.rep
+	             and type T.rexp = I.T.rexp
+                     and type T.stm = I.T.stm
+   structure CFG : CONTROL_FLOW_GRAPH (* where I = I and P = TS.S.P *)
+                    where type I.addressing_mode = I.addressing_mode
+                      and type I.ea = I.ea
+                      and type I.instr = I.instr
+                      and type I.instruction = I.instruction
+                      and type I.operand = I.operand
+                    where type P.Client.pseudo_op = TS.S.P.Client.pseudo_op
+                      and type P.T.Basis.cond = TS.S.P.T.Basis.cond
+                      and type P.T.Basis.div_rounding_mode = TS.S.P.T.Basis.div_rounding_mode
+                      and type P.T.Basis.ext = TS.S.P.T.Basis.ext
+                      and type P.T.Basis.fcond = TS.S.P.T.Basis.fcond
+                      and type P.T.Basis.rounding_mode = TS.S.P.T.Basis.rounding_mode
+                      and type P.T.Constant.const = TS.S.P.T.Constant.const
+                      and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) TS.S.P.T.Extension.ccx
+                      and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) TS.S.P.T.Extension.fx
+                      and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) TS.S.P.T.Extension.rx
+                      and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) TS.S.P.T.Extension.sx
+                      and type P.T.I.div_rounding_mode = TS.S.P.T.I.div_rounding_mode
+                      and type P.T.Region.region = TS.S.P.T.Region.region
+                      and type P.T.ccexp = TS.S.P.T.ccexp
+                      and type P.T.fexp = TS.S.P.T.fexp
+                      (* and type P.T.labexp = TS.S.P.T.labexp *)
+                      and type P.T.mlrisc = TS.S.P.T.mlrisc
+                      and type P.T.oper = TS.S.P.T.oper
+                      and type P.T.rep = TS.S.P.T.rep
+                      and type P.T.rexp = TS.S.P.T.rexp
+                      and type P.T.stm = TS.S.P.T.stm
   ) : SPARCCOMP_INSTR_EXT = 
 struct
     structure CFG = CFG
diff -Naur MLRISC/sparc/instructions/sparcInstr.sml MLRISC-mlton/sparc/instructions/sparcInstr.sml
--- MLRISC/sparc/instructions/sparcInstr.sml	2002-01-23 21:45:17.000000000 -0800
+++ MLRISC-mlton/sparc/instructions/sparcInstr.sml	2006-10-25 16:55:11.000000000 -0700
@@ -8,7 +8,16 @@
 signature SPARCINSTR =
 sig
    structure C : SPARCCELLS
-   structure CB : CELLS_BASIS = CellsBasis
+   structure CB : CELLS_BASIS (* = CellsBasis *)
+                  where type CellSet.cellset = CellsBasis.CellSet.cellset
+                    and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                    and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                    and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                    and type cell = CellsBasis.cell
+                    and type cellColor = CellsBasis.cellColor
+                    and type cellkind = CellsBasis.cellkind
+                    and type cellkindDesc = CellsBasis.cellkindDesc
+                    and type cellkindInfo = CellsBasis.cellkindInfo
    structure T : MLTREE
    structure Constant: CONSTANT
    structure Region : REGION
@@ -234,7 +243,7 @@
               sz: int,          (* in bits *)
               dst: CellsBasis.cell list,
               src: CellsBasis.cell list,
-              tmp: ea option (* NONE if |dst| = {src| = 1 *)}
+              tmp: ea option (* NONE if |dst| = |src| = 1 *)}
    | ANNOTATION of {i:instruction, a:Annotations.annotation}
    | INSTR of instr
    val load : {l:load, d:CellsBasis.cell, r:CellsBasis.cell, i:operand, mem:Region.region} -> instruction
diff -Naur MLRISC/sparc/instructions/sparcProps.sml MLRISC-mlton/sparc/instructions/sparcProps.sml
--- MLRISC/sparc/instructions/sparcProps.sml	2002-03-11 19:56:22.000000000 -0800
+++ MLRISC-mlton/sparc/instructions/sparcProps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -5,8 +5,48 @@
 
 functor SparcProps
   (structure SparcInstr : SPARCINSTR
-   structure MLTreeEval : MLTREE_EVAL where T = SparcInstr.T
-   structure MLTreeHash : MLTREE_HASH where T = SparcInstr.T
+   structure MLTreeEval : MLTREE_EVAL (* where T = SparcInstr.T *)
+                          where type T.Basis.cond = SparcInstr.T.Basis.cond
+                            and type T.Basis.div_rounding_mode = SparcInstr.T.Basis.div_rounding_mode
+                            and type T.Basis.ext = SparcInstr.T.Basis.ext
+                            and type T.Basis.fcond = SparcInstr.T.Basis.fcond
+                            and type T.Basis.rounding_mode = SparcInstr.T.Basis.rounding_mode
+                            and type T.Constant.const = SparcInstr.T.Constant.const
+                            and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) SparcInstr.T.Extension.ccx
+                            and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) SparcInstr.T.Extension.fx
+                            and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) SparcInstr.T.Extension.rx
+                            and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) SparcInstr.T.Extension.sx
+                            and type T.I.div_rounding_mode = SparcInstr.T.I.div_rounding_mode
+                            and type T.Region.region = SparcInstr.T.Region.region
+                            and type T.ccexp = SparcInstr.T.ccexp
+                            and type T.fexp = SparcInstr.T.fexp
+                            (* and type T.labexp = SparcInstr.T.labexp *)
+                            and type T.mlrisc = SparcInstr.T.mlrisc
+                            and type T.oper = SparcInstr.T.oper
+                            and type T.rep = SparcInstr.T.rep
+                            and type T.rexp = SparcInstr.T.rexp
+                            and type T.stm = SparcInstr.T.stm
+   structure MLTreeHash : MLTREE_HASH (* where T = SparcInstr.T *)
+                          where type T.Basis.cond = SparcInstr.T.Basis.cond
+                            and type T.Basis.div_rounding_mode = SparcInstr.T.Basis.div_rounding_mode
+                            and type T.Basis.ext = SparcInstr.T.Basis.ext
+                            and type T.Basis.fcond = SparcInstr.T.Basis.fcond
+                            and type T.Basis.rounding_mode = SparcInstr.T.Basis.rounding_mode
+                            and type T.Constant.const = SparcInstr.T.Constant.const
+                            and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) SparcInstr.T.Extension.ccx
+                            and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) SparcInstr.T.Extension.fx
+                            and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) SparcInstr.T.Extension.rx
+                            and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) SparcInstr.T.Extension.sx
+                            and type T.I.div_rounding_mode = SparcInstr.T.I.div_rounding_mode
+                            and type T.Region.region = SparcInstr.T.Region.region
+                            and type T.ccexp = SparcInstr.T.ccexp
+                            and type T.fexp = SparcInstr.T.fexp
+                            (* and type T.labexp = SparcInstr.T.labexp *)
+                            and type T.mlrisc = SparcInstr.T.mlrisc
+                            and type T.oper = SparcInstr.T.oper
+                            and type T.rep = SparcInstr.T.rep
+                            and type T.rexp = SparcInstr.T.rexp
+                            and type T.stm = SparcInstr.T.stm
    ) : INSN_PROPERTIES =
 struct
   structure I = SparcInstr
diff -Naur MLRISC/sparc/mltree/sparc.sml MLRISC-mlton/sparc/mltree/sparc.sml
--- MLRISC/sparc/mltree/sparc.sml	2003-08-28 14:58:47.000000000 -0700
+++ MLRISC-mlton/sparc/mltree/sparc.sml	2006-10-25 16:55:11.000000000 -0700
@@ -14,12 +14,72 @@
 
 functor Sparc
   (structure SparcInstr : SPARCINSTR
-   structure PseudoInstrs : SPARC_PSEUDO_INSTR 
-   			where I = SparcInstr
-   structure ExtensionComp : MLTREE_EXTENSION_COMP
-   			where I = SparcInstr
-			  and T = SparcInstr.T
-
+   structure PseudoInstrs : SPARC_PSEUDO_INSTR (* where I = SparcInstr *)
+                            where type I.Constant.const = SparcInstr.Constant.const
+                              and type I.Region.region = SparcInstr.Region.region
+                              and type I.T.Basis.cond = SparcInstr.T.Basis.cond
+                              and type I.T.Basis.div_rounding_mode = SparcInstr.T.Basis.div_rounding_mode
+                              and type I.T.Basis.ext = SparcInstr.T.Basis.ext
+                              and type I.T.Basis.fcond = SparcInstr.T.Basis.fcond
+                              and type I.T.Basis.rounding_mode = SparcInstr.T.Basis.rounding_mode
+                              and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) SparcInstr.T.Extension.ccx
+                              and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) SparcInstr.T.Extension.fx
+                              and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) SparcInstr.T.Extension.rx
+                              and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) SparcInstr.T.Extension.sx
+                              and type I.T.I.div_rounding_mode = SparcInstr.T.I.div_rounding_mode
+                              and type I.T.ccexp = SparcInstr.T.ccexp
+                              and type I.T.fexp = SparcInstr.T.fexp
+                              (* and type I.T.labexp = SparcInstr.T.labexp *)
+                              and type I.T.mlrisc = SparcInstr.T.mlrisc
+                              and type I.T.oper = SparcInstr.T.oper
+                              and type I.T.rep = SparcInstr.T.rep
+                              and type I.T.rexp = SparcInstr.T.rexp
+                              and type I.T.stm = SparcInstr.T.stm
+                              and type I.arith = SparcInstr.arith
+                              and type I.branch = SparcInstr.branch
+                              and type I.cc = SparcInstr.cc
+                              and type I.ea = SparcInstr.ea
+                              and type I.farith1 = SparcInstr.farith1
+                              and type I.farith2 = SparcInstr.farith2
+                              and type I.fbranch = SparcInstr.fbranch
+                              and type I.fcmp = SparcInstr.fcmp
+                              and type I.fload = SparcInstr.fload
+                              and type I.fsize = SparcInstr.fsize
+                              and type I.fstore = SparcInstr.fstore
+                              and type I.instr = SparcInstr.instr
+                              and type I.instruction = SparcInstr.instruction
+                              and type I.load = SparcInstr.load
+                              and type I.operand = SparcInstr.operand
+                              and type I.prediction = SparcInstr.prediction
+                              and type I.rcond = SparcInstr.rcond
+                              and type I.shift = SparcInstr.shift
+                              and type I.store = SparcInstr.store
+   structure ExtensionComp : MLTREE_EXTENSION_COMP (* where I = SparcInstr and T = SparcInstr.T *)
+                             where type I.addressing_mode = SparcInstr.addressing_mode
+                               and type I.ea = SparcInstr.ea
+                               and type I.instr = SparcInstr.instr
+                               and type I.instruction = SparcInstr.instruction
+                               and type I.operand = SparcInstr.operand
+                             where type T.Basis.cond = SparcInstr.T.Basis.cond
+                               and type T.Basis.div_rounding_mode = SparcInstr.T.Basis.div_rounding_mode
+                               and type T.Basis.ext = SparcInstr.T.Basis.ext
+                               and type T.Basis.fcond = SparcInstr.T.Basis.fcond
+                               and type T.Basis.rounding_mode = SparcInstr.T.Basis.rounding_mode
+                               and type T.Constant.const = SparcInstr.T.Constant.const
+                               and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) SparcInstr.T.Extension.ccx
+                               and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) SparcInstr.T.Extension.fx
+                               and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) SparcInstr.T.Extension.rx
+                               and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) SparcInstr.T.Extension.sx
+                               and type T.I.div_rounding_mode = SparcInstr.T.I.div_rounding_mode
+                               and type T.Region.region = SparcInstr.T.Region.region
+                               and type T.ccexp = SparcInstr.T.ccexp
+                               and type T.fexp = SparcInstr.T.fexp
+                               (* and type T.labexp = SparcInstr.T.labexp *)
+                               and type T.mlrisc = SparcInstr.T.mlrisc
+                               and type T.oper = SparcInstr.T.oper
+                               and type T.rep = SparcInstr.T.rep
+                               and type T.rexp = SparcInstr.T.rexp
+                               and type T.stm = SparcInstr.T.stm
 			  
    (* 
     * The client should also specify these parameters.
@@ -27,7 +87,7 @@
     * The code generator will use alternative sequences that are
     * cheaper when their costs are lower.
     *)
-   val muluCost : int ref  (* cost of unsigned multiplication in cycles *)
+   val muluCost : int ref (* cost of unsigned multiplication in cycles *)
    val divuCost : int ref (* cost of unsigned division in cycles *)
    val multCost : int ref (* cost of trapping/signed multiplication in cycles *)
    val divtCost : int ref (* cost of trapping/signed division in cycles *)
@@ -76,7 +136,8 @@
                             val rep = NEITHER 
                            )
 
-  functor Multiply32 = MLTreeMult
+  (* signed, trapping version of multiply and divide *)
+  structure Mult32 = MLTreeMult
     (structure I = I
      structure T = T
      structure CB = CellsBasis
@@ -89,54 +150,85 @@
      fun slli{r,i,d} = [I.shift{s=I.SLL,r=r,i=I.IMMED i,d=d}]
      fun srli{r,i,d} = [I.shift{s=I.SRL,r=r,i=I.IMMED i,d=d}]
      fun srai{r,i,d} = [I.shift{s=I.SRA,r=r,i=I.IMMED i,d=d}]
-    )
+    
+     val trapping = true
+     val multCost = multCost 
+     fun addv{r1,r2,d} = 
+         I.arith{a=I.ADDCC,r=r1,i=I.REG r2,d=d}::PseudoInstrs.overflowtrap32 
+     fun subv{r1,r2,d} = 
+         I.arith{a=I.SUBCC,r=r1,i=I.REG r2,d=d}::PseudoInstrs.overflowtrap32 
+     val sh1addv = NONE 
+     val sh2addv = NONE 
+     val sh3addv = NONE 
+     
+     val signed = true)
 
-  functor Multiply64 = MLTreeMult
+  (* unsigned, non-trapping version of multiply and divide *)
+  structure Mulu32 = MLTreeMult
     (structure I = I
      structure T = T
      structure CB = CellsBasis
      type arg  = {r1:CB.cell,r2:CB.cell,d:CB.cell}
      type argi = {r:CB.cell,i:int,d:CB.cell}
-      
-     val intTy = 64    
+  
+     val intTy = 32    
      fun mov{r,d} = COPY{dst=[d],src=[r],tmp=NONE}
      fun add{r1,r2,d} = I.arith{a=I.ADD,r=r1,i=I.REG r2,d=d}
-     fun slli{r,i,d} = [I.shift{s=I.SLLX,r=r,i=I.IMMED i,d=d}]
-     fun srli{r,i,d} = [I.shift{s=I.SRLX,r=r,i=I.IMMED i,d=d}]
-     fun srai{r,i,d} = [I.shift{s=I.SRAX,r=r,i=I.IMMED i,d=d}]
-    )
-
-  (* signed, trapping version of multiply and divide *)
-  structure Mult32 = Multiply32
-    (val trapping = true
-     val multCost = multCost 
-     fun addv{r1,r2,d} = 
-         I.arith{a=I.ADDCC,r=r1,i=I.REG r2,d=d}::PseudoInstrs.overflowtrap32 
-     fun subv{r1,r2,d} = 
-         I.arith{a=I.SUBCC,r=r1,i=I.REG r2,d=d}::PseudoInstrs.overflowtrap32 
+     fun slli{r,i,d} = [I.shift{s=I.SLL,r=r,i=I.IMMED i,d=d}]
+     fun srli{r,i,d} = [I.shift{s=I.SRL,r=r,i=I.IMMED i,d=d}]
+     fun srai{r,i,d} = [I.shift{s=I.SRA,r=r,i=I.IMMED i,d=d}]
+     
+     val trapping = false
+     val multCost = muluCost
+     fun addv{r1,r2,d} = [I.arith{a=I.ADD,r=r1,i=I.REG r2,d=d}]
+     fun subv{r1,r2,d} = [I.arith{a=I.SUB,r=r1,i=I.REG r2,d=d}]
      val sh1addv = NONE 
      val sh2addv = NONE 
      val sh3addv = NONE 
-    )
-    (val signed = true)
+     
+     val signed = false)
 
-  (* unsigned, non-trapping version of multiply and divide *)
-  functor Mul32 = Multiply32
-    (val trapping = false
+  (* signed, non-trapping version of multiply and divide *)
+  structure Muls32 = MLTreeMult
+    (structure I = I
+     structure T = T
+     structure CB = CellsBasis
+     type arg  = {r1:CB.cell,r2:CB.cell,d:CB.cell}
+     type argi = {r:CB.cell,i:int,d:CB.cell}
+  
+     val intTy = 32    
+     fun mov{r,d} = COPY{dst=[d],src=[r],tmp=NONE}
+     fun add{r1,r2,d} = I.arith{a=I.ADD,r=r1,i=I.REG r2,d=d}
+     fun slli{r,i,d} = [I.shift{s=I.SLL,r=r,i=I.IMMED i,d=d}]
+     fun srli{r,i,d} = [I.shift{s=I.SRL,r=r,i=I.IMMED i,d=d}]
+     fun srai{r,i,d} = [I.shift{s=I.SRA,r=r,i=I.IMMED i,d=d}]
+     
+     val trapping = false
      val multCost = muluCost
      fun addv{r1,r2,d} = [I.arith{a=I.ADD,r=r1,i=I.REG r2,d=d}]
      fun subv{r1,r2,d} = [I.arith{a=I.SUB,r=r1,i=I.REG r2,d=d}]
      val sh1addv = NONE 
      val sh2addv = NONE 
      val sh3addv = NONE 
-    )
-  structure Mulu32 = Mul32(val signed = false)
-
-  structure Muls32 = Mul32(val signed = true)
+     
+     val signed = true)
 
   (* signed, trapping version of multiply and divide *)
-  structure Mult64 = Multiply64
-    (val trapping = true
+  structure Mult64 = MLTreeMult
+    (structure I = I
+     structure T = T
+     structure CB = CellsBasis
+     type arg  = {r1:CB.cell,r2:CB.cell,d:CB.cell}
+     type argi = {r:CB.cell,i:int,d:CB.cell}
+      
+     val intTy = 64    
+     fun mov{r,d} = COPY{dst=[d],src=[r],tmp=NONE}
+     fun add{r1,r2,d} = I.arith{a=I.ADD,r=r1,i=I.REG r2,d=d}
+     fun slli{r,i,d} = [I.shift{s=I.SLLX,r=r,i=I.IMMED i,d=d}]
+     fun srli{r,i,d} = [I.shift{s=I.SRLX,r=r,i=I.IMMED i,d=d}]
+     fun srai{r,i,d} = [I.shift{s=I.SRAX,r=r,i=I.IMMED i,d=d}]
+     
+     val trapping = true
      val multCost = multCost 
      fun addv{r1,r2,d} = 
          I.arith{a=I.ADDCC,r=r1,i=I.REG r2,d=d}::PseudoInstrs.overflowtrap64 
@@ -145,22 +237,58 @@
      val sh1addv = NONE 
      val sh2addv = NONE 
      val sh3addv = NONE 
-    )
-    (val signed = true)
+     
+     val signed = true)
 
   (* unsigned, non-trapping version of multiply and divide *)
-  functor Mul64 = Multiply64
-    (val trapping = false
+  structure Mulu64 = MLTreeMult
+    (structure I = I
+     structure T = T
+     structure CB = CellsBasis
+     type arg  = {r1:CB.cell,r2:CB.cell,d:CB.cell}
+     type argi = {r:CB.cell,i:int,d:CB.cell}
+      
+     val intTy = 64    
+     fun mov{r,d} = COPY{dst=[d],src=[r],tmp=NONE}
+     fun add{r1,r2,d} = I.arith{a=I.ADD,r=r1,i=I.REG r2,d=d}
+     fun slli{r,i,d} = [I.shift{s=I.SLLX,r=r,i=I.IMMED i,d=d}]
+     fun srli{r,i,d} = [I.shift{s=I.SRLX,r=r,i=I.IMMED i,d=d}]
+     fun srai{r,i,d} = [I.shift{s=I.SRAX,r=r,i=I.IMMED i,d=d}]
+     
+     val trapping = false
      val multCost = muluCost
      fun addv{r1,r2,d} = [I.arith{a=I.ADD,r=r1,i=I.REG r2,d=d}]
      fun subv{r1,r2,d} = [I.arith{a=I.SUB,r=r1,i=I.REG r2,d=d}]
      val sh1addv = NONE 
      val sh2addv = NONE 
      val sh3addv = NONE 
-    )
-  structure Mulu64 = Mul64(val signed = false)
+     
+     val signed = false)
 
-  structure Muls64 = Mul64(val signed = true)
+  (* signed, non-trapping version of multiply and divide *)
+  structure Muls64 = MLTreeMult
+    (structure I = I
+     structure T = T
+     structure CB = CellsBasis
+     type arg  = {r1:CB.cell,r2:CB.cell,d:CB.cell}
+     type argi = {r:CB.cell,i:int,d:CB.cell}
+      
+     val intTy = 64    
+     fun mov{r,d} = COPY{dst=[d],src=[r],tmp=NONE}
+     fun add{r1,r2,d} = I.arith{a=I.ADD,r=r1,i=I.REG r2,d=d}
+     fun slli{r,i,d} = [I.shift{s=I.SLLX,r=r,i=I.IMMED i,d=d}]
+     fun srli{r,i,d} = [I.shift{s=I.SRLX,r=r,i=I.IMMED i,d=d}]
+     fun srai{r,i,d} = [I.shift{s=I.SRAX,r=r,i=I.IMMED i,d=d}]
+     
+     val trapping = false
+     val multCost = muluCost
+     fun addv{r1,r2,d} = [I.arith{a=I.ADD,r=r1,i=I.REG r2,d=d}]
+     fun subv{r1,r2,d} = [I.arith{a=I.SUB,r=r1,i=I.REG r2,d=d}]
+     val sh1addv = NONE 
+     val sh2addv = NONE 
+     val sh3addv = NONE 
+     
+     val signed = false)
 
   datatype commutative = COMMUTE | NOCOMMUTE
   datatype cc = REG    (* write to register *)
@@ -215,7 +343,12 @@
         | rcond T.GT  = I.RGZ
         | rcond _ = error "rcond"
 
-      fun signedCmp(T.LT | T.LE | T.EQ | T.NE | T.GE | T.GT) = true
+      fun signedCmp T.LT = true
+        | signedCmp T.LE = true
+        | signedCmp T.EQ = true
+        | signedCmp T.NE = true
+        | signedCmp T.GE = true
+        | signedCmp T.GT = true
         | signedCmp _ = false
 
       fun fcond T.==  = I.FBE
@@ -367,8 +500,9 @@
           mark(I.FPop2{a=a,r1=fexpr e1,r2=fexpr e2,d=d},an)
 
       (* convert an expression into an addressing mode *)
-      and addr(T.ADD(ty, (T.ADD (_, e, T.LI n)|
-			  T.ADD (_, T.LI n, e)), T.LI n')) =
+      and addr(T.ADD(ty, T.ADD (_, e, T.LI n), T.LI n')) =
+	  addr(T.ADD (ty, e, T.LI (T.I.ADD (ty, n, n'))))
+	| addr(T.ADD(ty, T.ADD (_, T.LI n, e), T.LI n')) =
 	  addr(T.ADD (ty, e, T.LI (T.I.ADD (ty, n, n'))))
 	| addr(T.ADD(ty, T.SUB (_, e, T.LI n), T.LI n')) =
 	  addr(T.ADD (ty, e, T.LI (T.I.SUB (ty, n', n))))
@@ -443,8 +577,9 @@
       and branch(T.CMP(ty,cond,a,b),lab,an) =
           let val (cond,a,b) =
                   case a of
-                    (T.LI _ | T.CONST _ | T.LABEL _) => 
-                      (T.Basis.swapCond cond,b,a)
+                    T.LI _ => (T.Basis.swapCond cond,b,a)
+                  | T.CONST _ => (T.Basis.swapCond cond,b,a)
+                  | T.LABEL _ => (T.Basis.swapCond cond,b,a)
                   | _ => (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 16:00:00.000000000 -0800
+++ MLRISC-mlton/Tools/Parser/mdl.grm.desc	2006-10-25 16:55:11.000000000 -0700
@@ -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 16:00:00.000000000 -0800
+++ MLRISC-mlton/Tools/Parser/mdl.grm.sig	2006-10-25 16:55:11.000000000 -0700
@@ -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 16:00:00.000000000 -0800
+++ MLRISC-mlton/Tools/Parser/mdl.grm.sml	2006-10-25 16:55:11.000000000 -0700
@@ -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 16:00:00.000000000 -0800
+++ MLRISC-mlton/Tools/Parser/mdl.lex.sml	2006-10-25 16:55:11.000000000 -0700
@@ -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 09:00:15.000000000 -0700
+++ MLRISC-mlton/visualization/cfgViewer.sml	2006-10-25 16:55:11.000000000 -0700
@@ -1,10 +1,15 @@
 functor CFGViewer
    (structure CFG : CONTROL_FLOW_GRAPH
     structure GraphViewer : GRAPH_VIEWER
-    structure Asm	  : INSTRUCTION_EMITTER where I = CFG.I)
-      : sig
-	    val view : CFG.cfg -> unit
-	end =
+    structure Asm	  : INSTRUCTION_EMITTER (* where I = CFG.I *)
+                            where type I.addressing_mode = CFG.I.addressing_mode
+                              and type I.ea = CFG.I.ea
+                              and type I.instr = CFG.I.instr
+                              and type I.instruction = CFG.I.instruction
+                              and type I.operand = CFG.I.operand
+   ) : sig
+	  val view : CFG.cfg -> unit
+       end =
 struct
    structure CFG = CFG
    structure L = GraphLayout
diff -Naur MLRISC/x86/backpatch/x86Jumps.sml MLRISC-mlton/x86/backpatch/x86Jumps.sml
--- MLRISC/x86/backpatch/x86Jumps.sml	2002-01-09 11:44:21.000000000 -0800
+++ MLRISC-mlton/x86/backpatch/x86Jumps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -5,9 +5,72 @@
 
 functor X86Jumps
   (structure Instr : X86INSTR
-   structure Eval : MLTREE_EVAL where T = Instr.T
-   structure Shuffle : X86SHUFFLE where I = Instr
-   structure MCEmitter : MC_EMIT where I = Instr) : SDI_JUMPS = 
+   structure Eval : MLTREE_EVAL (* where T = Instr.T *)
+                    where type T.Basis.cond = Instr.T.Basis.cond
+                      and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                      and type T.Basis.ext = Instr.T.Basis.ext
+                      and type T.Basis.fcond = Instr.T.Basis.fcond
+                      and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                      and type T.Constant.const = Instr.T.Constant.const
+                      and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                      and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                      and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                      and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                      and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                      and type T.Region.region = Instr.T.Region.region
+                      and type T.ccexp = Instr.T.ccexp
+                      and type T.fexp = Instr.T.fexp
+                      (* and type T.labexp = Instr.T.labexp *)
+                      and type T.mlrisc = Instr.T.mlrisc
+                      and type T.oper = Instr.T.oper
+                      and type T.rep = Instr.T.rep
+                      and type T.rexp = Instr.T.rexp
+                      and type T.stm = Instr.T.stm
+   structure Shuffle : X86SHUFFLE (* where I = Instr *)
+                       where type I.Constant.const = Instr.Constant.const
+                         and type I.Region.region = Instr.Region.region
+                         and type I.T.Basis.cond = Instr.T.Basis.cond
+                         and type I.T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                         and type I.T.Basis.ext = Instr.T.Basis.ext
+                         and type I.T.Basis.fcond = Instr.T.Basis.fcond
+                         and type I.T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                         and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                         and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                         and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                         and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                         and type I.T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                         and type I.T.ccexp = Instr.T.ccexp
+                         and type I.T.fexp = Instr.T.fexp
+                         (* and type I.T.labexp = Instr.T.labexp *)
+                         and type I.T.mlrisc = Instr.T.mlrisc
+                         and type I.T.oper = Instr.T.oper
+                         and type I.T.rep = Instr.T.rep
+                         and type I.T.rexp = Instr.T.rexp
+                         and type I.T.stm = Instr.T.stm
+                         (* and type I.addressing_mode = Instr.addressing_mode *)
+                         and type I.binaryOp = Instr.binaryOp
+                         and type I.bitOp = Instr.bitOp
+                         and type I.cond = Instr.cond
+                         and type I.fbinOp = Instr.fbinOp
+                         and type I.fenvOp = Instr.fenvOp
+                         and type I.fibinOp = Instr.fibinOp
+                         and type I.fsize = Instr.fsize
+                         and type I.funOp = Instr.funOp
+                         and type I.instr = Instr.instr
+                         and type I.instruction = Instr.instruction
+                         and type I.isize = Instr.isize
+                         and type I.move = Instr.move
+                         and type I.multDivOp = Instr.multDivOp
+                         and type I.operand = Instr.operand
+                         and type I.shiftOp = Instr.shiftOp
+                         and type I.unaryOp = Instr.unaryOp
+   structure MCEmitter : MC_EMIT (* where I = Instr *)
+                         where type I.addressing_mode = Instr.addressing_mode
+                           and type I.ea = Instr.ea
+                           and type I.instr = Instr.instr
+                           and type I.instruction = Instr.instruction
+                           and type I.operand = Instr.operand
+  ) : SDI_JUMPS = 
 struct
   structure I = Instr
   structure C = I.C
@@ -39,14 +102,20 @@
 	   | I.BINARY{src, dst, ...} => operand src orelse operand dst
 	   | I.MOVE{src, dst, ...} => operand src orelse operand dst
 	   | I.LEA{addr, ...} => operand addr
-	   | ( I.CMPL arg | I.CMPW arg | I.CMPB arg 
-	     | I.TESTL arg | I.TESTW arg | I.TESTB arg) => cmptest arg
+	   | I.CMPL arg => cmptest arg
+	   | I.CMPW arg => cmptest arg
+	   | I.CMPB arg => cmptest arg
+	   | I.TESTL arg => cmptest arg
+	   | I.TESTW arg => cmptest arg
+	   | I.TESTB arg => cmptest arg
 	   | I.MULTDIV{src, ...} => operand src
 	   | I.MUL3{src1, ...} => operand src1
 	   | I.UNARY{opnd, ...} => operand opnd
 	   | I.SET{opnd, ...} => operand opnd
 	   | I.CMOV{src, dst, ...} => operand src 
-	   | (I.PUSHL opnd | I.PUSHW opnd | I.PUSHB opnd) => operand opnd
+	   | I.PUSHL opnd => operand opnd
+	   | I.PUSHW opnd => operand opnd
+	   | I.PUSHB opnd => operand opnd
 	   | I.POP opnd =>  operand opnd
 	   | 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-13 14:17:29.000000000 -0800
+++ MLRISC-mlton/x86/c-calls/ia32-svid.sml	2006-10-25 16:55:11.000000000 -0700
@@ -399,7 +399,8 @@
 	 * differences there might be between the SVID and Windows ABIs. (JHR)
 	 *)
 	  val calleePops = (case #conv proto
-		 of (""|"ccall") => false
+		 of "" => false
+	          | "ccall" => false
 		  | "stdcall" => true
 		  | 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-14 08:16:07.000000000 -0700
+++ MLRISC-mlton/x86/emit/x86Asm.sml	2006-10-25 16:55:11.000000000 -0700
@@ -6,15 +6,126 @@
 
 
 functor X86AsmEmitter(structure S : INSTRUCTION_STREAM
-                      structure Instr : X86INSTR
-                         where T = S.P.T
-                      structure Shuffle : X86SHUFFLE
-                         where I = Instr
-                      structure MLTreeEval : MLTREE_EVAL
-                         where T = Instr.T
+                      structure Instr : X86INSTR (* where T = S.P.T *)
+                                        where type T.Basis.cond = S.P.T.Basis.cond
+                                          and type T.Basis.div_rounding_mode = S.P.T.Basis.div_rounding_mode
+                                          and type T.Basis.ext = S.P.T.Basis.ext
+                                          and type T.Basis.fcond = S.P.T.Basis.fcond
+                                          and type T.Basis.rounding_mode = S.P.T.Basis.rounding_mode
+                                          and type T.Constant.const = S.P.T.Constant.const
+                                          and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) S.P.T.Extension.ccx
+                                          and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) S.P.T.Extension.fx
+                                          and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) S.P.T.Extension.rx
+                                          and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) S.P.T.Extension.sx
+                                          and type T.I.div_rounding_mode = S.P.T.I.div_rounding_mode
+                                          and type T.Region.region = S.P.T.Region.region
+                                          and type T.ccexp = S.P.T.ccexp
+                                          and type T.fexp = S.P.T.fexp
+                                          (* and type T.labexp = S.P.T.labexp *)
+                                          and type T.mlrisc = S.P.T.mlrisc
+                                          and type T.oper = S.P.T.oper
+                                          and type T.rep = S.P.T.rep
+                                          and type T.rexp = S.P.T.rexp
+                                          and type T.stm = S.P.T.stm
+                      structure Shuffle : X86SHUFFLE (* where I = Instr *)
+                                          where type I.Constant.const = Instr.Constant.const
+                                            and type I.Region.region = Instr.Region.region
+                                            and type I.T.Basis.cond = Instr.T.Basis.cond
+                                            and type I.T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                            and type I.T.Basis.ext = Instr.T.Basis.ext
+                                            and type I.T.Basis.fcond = Instr.T.Basis.fcond
+                                            and type I.T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                            and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                            and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                            and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                            and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                            and type I.T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                            and type I.T.ccexp = Instr.T.ccexp
+                                            and type I.T.fexp = Instr.T.fexp
+                                            (* and type I.T.labexp = Instr.T.labexp *)
+                                            and type I.T.mlrisc = Instr.T.mlrisc
+                                            and type I.T.oper = Instr.T.oper
+                                            and type I.T.rep = Instr.T.rep
+                                            and type I.T.rexp = Instr.T.rexp
+                                            and type I.T.stm = Instr.T.stm
+                                            (* and type I.addressing_mode = Instr.addressing_mode *)
+                                            and type I.binaryOp = Instr.binaryOp
+                                            and type I.bitOp = Instr.bitOp
+                                            and type I.cond = Instr.cond
+                                            and type I.fbinOp = Instr.fbinOp
+                                            and type I.fenvOp = Instr.fenvOp
+                                            and type I.fibinOp = Instr.fibinOp
+                                            and type I.fsize = Instr.fsize
+                                            and type I.funOp = Instr.funOp
+                                            and type I.instr = Instr.instr
+                                            and type I.instruction = Instr.instruction
+                                            and type I.isize = Instr.isize
+                                            and type I.move = Instr.move
+                                            and type I.multDivOp = Instr.multDivOp
+                                            and type I.operand = Instr.operand
+                                            and type I.shiftOp = Instr.shiftOp
+                                            and type I.unaryOp = Instr.unaryOp
+                      structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                                             where type T.Basis.cond = Instr.T.Basis.cond
+                                               and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                               and type T.Basis.ext = Instr.T.Basis.ext
+                                               and type T.Basis.fcond = Instr.T.Basis.fcond
+                                               and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                               and type T.Constant.const = Instr.T.Constant.const
+                                               and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                               and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                               and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                               and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                               and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                               and type T.Region.region = Instr.T.Region.region
+                                               and type T.ccexp = Instr.T.ccexp
+                                               and type T.fexp = Instr.T.fexp
+                                               (* and type T.labexp = Instr.T.labexp *)
+                                               and type T.mlrisc = Instr.T.mlrisc
+                                               and type T.oper = Instr.T.oper
+                                               and type T.rep = Instr.T.rep
+                                               and type T.rexp = Instr.T.rexp
+                                               and type T.stm = Instr.T.stm
 
 (*#line 512.7 "x86/x86.mdl"*)
-                      structure MemRegs : MEMORY_REGISTERS where I=Instr
+                      structure MemRegs : MEMORY_REGISTERS (* where I = Instr *)
+                                          where type I.Constant.const = Instr.Constant.const
+                                            and type I.Region.region = Instr.Region.region
+                                            and type I.T.Basis.cond = Instr.T.Basis.cond
+                                            and type I.T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                                            and type I.T.Basis.ext = Instr.T.Basis.ext
+                                            and type I.T.Basis.fcond = Instr.T.Basis.fcond
+                                            and type I.T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                                            and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                                            and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                                            and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                                            and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                                            and type I.T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                                            and type I.T.ccexp = Instr.T.ccexp
+                                            and type I.T.fexp = Instr.T.fexp
+                                            (* and type I.T.labexp = Instr.T.labexp *)
+                                            and type I.T.mlrisc = Instr.T.mlrisc
+                                            and type I.T.oper = Instr.T.oper
+                                            and type I.T.rep = Instr.T.rep
+                                            and type I.T.rexp = Instr.T.rexp
+                                            and type I.T.stm = Instr.T.stm
+                                            (* and type I.addressing_mode = Instr.addressing_mode *)
+                                            and type I.binaryOp = Instr.binaryOp
+                                            and type I.bitOp = Instr.bitOp
+                                            and type I.cond = Instr.cond
+                                            and type I.fbinOp = Instr.fbinOp
+                                            and type I.fenvOp = Instr.fenvOp
+                                            and type I.fibinOp = Instr.fibinOp
+                                            and type I.fsize = Instr.fsize
+                                            and type I.funOp = Instr.funOp
+                                            and type I.instr = Instr.instr
+                                            and type I.instruction = Instr.instruction
+                                            and type I.isize = Instr.isize
+                                            and type I.move = Instr.move
+                                            and type I.multDivOp = Instr.multDivOp
+                                            and type I.operand = Instr.operand
+                                            and type I.shiftOp = Instr.shiftOp
+                                            and type I.unaryOp = Instr.unaryOp
 
 (*#line 513.7 "x86/x86.mdl"*)
                       val memRegBase : CellsBasis.cell option
@@ -370,7 +481,8 @@
            val n = size fbinOp
        in 
           (case Char.toLower (String.sub (fbinOp, n - 1)) of
-            (#"s" | #"l") => String.substring (fbinOp, 0, n - 1)
+            #"s" => String.substring (fbinOp, 0, n - 1)
+          | #"l" => String.substring (fbinOp, 0, n - 1)
           | _ => fbinOp
           )
        end
@@ -511,8 +623,39 @@
            emit_lsrc lsrc )
        | I.BINARY{binOp, src, dst} => 
          (case (src, binOp) of
-           (I.Direct _, (I.SARL | I.SHRL | I.SHLL | I.SARW | I.SHRW | I.SHLW | I.SARB | I.SHRB | I.SHLB)) => 
-              
+           (I.Direct _, (I.SARL)) => 
+           ( emit_binaryOp binOp; 
+             emit "\t%cl, "; 
+             emit_dst dst )
+         | (I.Direct _, (I.SHRL)) => 
+           ( emit_binaryOp binOp; 
+             emit "\t%cl, "; 
+             emit_dst dst )
+         | (I.Direct _, (I.SHLL)) => 
+           ( emit_binaryOp binOp; 
+             emit "\t%cl, "; 
+             emit_dst dst )
+         | (I.Direct _, (I.SARW)) => 
+           ( emit_binaryOp binOp; 
+             emit "\t%cl, "; 
+             emit_dst dst )
+         | (I.Direct _, (I.SHRW)) => 
+           ( emit_binaryOp binOp; 
+             emit "\t%cl, "; 
+             emit_dst dst )
+         | (I.Direct _, (I.SHLW)) => 
+           ( emit_binaryOp binOp; 
+             emit "\t%cl, "; 
+             emit_dst dst )
+         | (I.Direct _, (I.SARB)) => 
+           ( emit_binaryOp binOp; 
+             emit "\t%cl, "; 
+             emit_dst dst )
+         | (I.Direct _, (I.SHRB)) => 
+           ( emit_binaryOp binOp; 
+             emit "\t%cl, "; 
+             emit_dst dst )
+         | (I.Direct _, (I.SHLB)) => 
            ( emit_binaryOp binOp; 
              emit "\t%cl, "; 
              emit_dst dst )
diff -Naur MLRISC/x86/flowgraph/x86GasPseudoOps.sml MLRISC-mlton/x86/flowgraph/x86GasPseudoOps.sml
--- MLRISC/x86/flowgraph/x86GasPseudoOps.sml	2002-01-15 08:16:39.000000000 -0800
+++ MLRISC-mlton/x86/flowgraph/x86GasPseudoOps.sml	2006-10-25 16:55:11.000000000 -0700
@@ -5,7 +5,27 @@
  *)
 functor X86GasPseudoOps 
    ( structure T : MLTREE
-     structure MLTreeEval : MLTREE_EVAL  where T = T
+     structure MLTreeEval : MLTREE_EVAL (* where T = T *)
+                            where type T.Basis.cond = T.Basis.cond
+                              and type T.Basis.div_rounding_mode = T.Basis.div_rounding_mode
+                              and type T.Basis.ext = T.Basis.ext
+                              and type T.Basis.fcond = T.Basis.fcond
+                              and type T.Basis.rounding_mode = T.Basis.rounding_mode
+                              and type T.Constant.const = T.Constant.const
+                              and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) T.Extension.ccx
+                              and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) T.Extension.fx
+                              and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) T.Extension.rx
+                              and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) T.Extension.sx
+                              and type T.I.div_rounding_mode = T.I.div_rounding_mode
+                              and type T.Region.region = T.Region.region
+                              and type T.ccexp = T.ccexp
+                              and type T.fexp = T.fexp
+                              (* and type T.labexp = T.labexp *)
+                              and type T.mlrisc = T.mlrisc
+                              and type T.oper = T.oper
+                              and type T.rep = T.rep
+                              and type T.rexp = T.rexp
+                              and type T.stm = T.stm
     ) : PSEUDO_OPS_BASIS = 
 
 struct
diff -Naur MLRISC/x86/instructions/x86comp-instr-ext.sml MLRISC-mlton/x86/instructions/x86comp-instr-ext.sml
--- MLRISC/x86/instructions/x86comp-instr-ext.sml	2002-02-06 11:11:13.000000000 -0800
+++ MLRISC-mlton/x86/instructions/x86comp-instr-ext.sml	2006-10-25 16:55:11.000000000 -0700
@@ -6,11 +6,54 @@
  *)
 signature X86COMP_INSTR_EXT = sig
   structure I : X86INSTR
-  structure TS : MLTREE_STREAM
-		 where T = I.T
-  structure CFG : CONTROL_FLOW_GRAPH 
- 	         where I = I
-                   and P = TS.S.P
+  structure TS : MLTREE_STREAM (* where T = I.T *)
+                 where type T.Basis.cond = I.T.Basis.cond
+                   and type T.Basis.div_rounding_mode = I.T.Basis.div_rounding_mode
+                   and type T.Basis.ext = I.T.Basis.ext
+                   and type T.Basis.fcond = I.T.Basis.fcond
+                   and type T.Basis.rounding_mode = I.T.Basis.rounding_mode
+                   and type T.Constant.const = I.T.Constant.const
+                   and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) I.T.Extension.ccx
+                   and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) I.T.Extension.fx
+                   and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) I.T.Extension.rx
+                   and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) I.T.Extension.sx
+                   and type T.I.div_rounding_mode = I.T.I.div_rounding_mode
+                   and type T.Region.region = I.T.Region.region
+                   and type T.ccexp = I.T.ccexp
+                   and type T.fexp = I.T.fexp
+                   (* and type T.labexp = I.T.labexp *)
+                   and type T.mlrisc = I.T.mlrisc
+                   and type T.oper = I.T.oper
+                   and type T.rep = I.T.rep
+	           and type T.rexp = I.T.rexp
+                   and type T.stm = I.T.stm
+  structure CFG : CONTROL_FLOW_GRAPH (* where I = I and P = TS.S.P *)
+                  where type I.addressing_mode = I.addressing_mode
+                    and type I.ea = I.ea
+                    and type I.instr = I.instr
+                    and type I.instruction = I.instruction
+                    and type I.operand = I.operand
+                  where type P.Client.pseudo_op = TS.S.P.Client.pseudo_op
+                    and type P.T.Basis.cond = TS.S.P.T.Basis.cond
+                    and type P.T.Basis.div_rounding_mode = TS.S.P.T.Basis.div_rounding_mode
+                    and type P.T.Basis.ext = TS.S.P.T.Basis.ext
+                    and type P.T.Basis.fcond = TS.S.P.T.Basis.fcond
+                    and type P.T.Basis.rounding_mode = TS.S.P.T.Basis.rounding_mode
+                    and type P.T.Constant.const = TS.S.P.T.Constant.const
+                    and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) TS.S.P.T.Extension.ccx
+                    and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) TS.S.P.T.Extension.fx
+                    and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) TS.S.P.T.Extension.rx
+                    and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) TS.S.P.T.Extension.sx
+                    and type P.T.I.div_rounding_mode = TS.S.P.T.I.div_rounding_mode
+                    and type P.T.Region.region = TS.S.P.T.Region.region
+                    and type P.T.ccexp = TS.S.P.T.ccexp
+                    and type P.T.fexp = TS.S.P.T.fexp
+                    (* and type P.T.labexp = TS.S.P.T.labexp *)
+                    and type P.T.mlrisc = TS.S.P.T.mlrisc
+                    and type P.T.oper = TS.S.P.T.oper
+                    and type P.T.rep = TS.S.P.T.rep
+                    and type P.T.rexp = TS.S.P.T.rexp
+                    and type P.T.stm = TS.S.P.T.stm
 
   type reducer = 
     (I.instruction, I.C.cellset, I.operand, I.addressing_mode, CFG.cfg) TS.reducer
@@ -27,11 +70,54 @@
 
 functor X86CompInstrExt
   ( structure I : X86INSTR
-    structure TS  : MLTREE_STREAM
-		   where T = I.T
-    structure CFG : CONTROL_FLOW_GRAPH 
-		   where P = TS.S.P
-		     and I = I
+    structure TS  : MLTREE_STREAM (* where T = I.T *)
+                    where type T.Basis.cond = I.T.Basis.cond
+                      and type T.Basis.div_rounding_mode = I.T.Basis.div_rounding_mode
+                      and type T.Basis.ext = I.T.Basis.ext
+                      and type T.Basis.fcond = I.T.Basis.fcond
+                      and type T.Basis.rounding_mode = I.T.Basis.rounding_mode
+                      and type T.Constant.const = I.T.Constant.const
+                      and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) I.T.Extension.ccx
+                      and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) I.T.Extension.fx
+                      and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) I.T.Extension.rx
+                      and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) I.T.Extension.sx
+                      and type T.I.div_rounding_mode = I.T.I.div_rounding_mode
+                      and type T.Region.region = I.T.Region.region
+                      and type T.ccexp = I.T.ccexp
+                      and type T.fexp = I.T.fexp
+                      (* and type T.labexp = I.T.labexp *)
+                      and type T.mlrisc = I.T.mlrisc
+                      and type T.oper = I.T.oper
+                      and type T.rep = I.T.rep
+                      and type T.rexp = I.T.rexp
+                      and type T.stm = I.T.stm
+    structure CFG : CONTROL_FLOW_GRAPH (* where P = TS.S.P and I = I *)
+                    where type P.Client.pseudo_op = TS.S.P.Client.pseudo_op
+                      and type P.T.Basis.cond = TS.S.P.T.Basis.cond
+                      and type P.T.Basis.div_rounding_mode = TS.S.P.T.Basis.div_rounding_mode
+                      and type P.T.Basis.ext = TS.S.P.T.Basis.ext
+                      and type P.T.Basis.fcond = TS.S.P.T.Basis.fcond
+                      and type P.T.Basis.rounding_mode = TS.S.P.T.Basis.rounding_mode
+                      and type P.T.Constant.const = TS.S.P.T.Constant.const
+                      and type ('s,'r,'f,'c) P.T.Extension.ccx = ('s,'r,'f,'c) TS.S.P.T.Extension.ccx
+                      and type ('s,'r,'f,'c) P.T.Extension.fx = ('s,'r,'f,'c) TS.S.P.T.Extension.fx
+                      and type ('s,'r,'f,'c) P.T.Extension.rx = ('s,'r,'f,'c) TS.S.P.T.Extension.rx
+                      and type ('s,'r,'f,'c) P.T.Extension.sx = ('s,'r,'f,'c) TS.S.P.T.Extension.sx
+                      and type P.T.I.div_rounding_mode = TS.S.P.T.I.div_rounding_mode
+                      and type P.T.Region.region = TS.S.P.T.Region.region
+                      and type P.T.ccexp = TS.S.P.T.ccexp
+                      and type P.T.fexp = TS.S.P.T.fexp
+                      (* and type P.T.labexp = TS.S.P.T.labexp *)
+                      and type P.T.mlrisc = TS.S.P.T.mlrisc
+                      and type P.T.oper = TS.S.P.T.oper
+                      and type P.T.rep = TS.S.P.T.rep
+                      and type P.T.rexp = TS.S.P.T.rexp
+                      and type P.T.stm = TS.S.P.T.stm
+                    where type I.addressing_mode = I.addressing_mode
+                      and type I.ea = I.ea
+                      and type I.instr = I.instr
+                      and type I.instruction = I.instruction
+                      and type I.operand = I.operand
    ) : X86COMP_INSTR_EXT = 
 struct
   structure CFG = CFG
diff -Naur MLRISC/x86/instructions/x86Instr.sml MLRISC-mlton/x86/instructions/x86Instr.sml
--- MLRISC/x86/instructions/x86Instr.sml	2002-03-21 14:01:10.000000000 -0800
+++ MLRISC-mlton/x86/instructions/x86Instr.sml	2006-10-25 16:55:11.000000000 -0700
@@ -8,7 +8,16 @@
 signature X86INSTR =
 sig
    structure C : X86CELLS
-   structure CB : CELLS_BASIS = CellsBasis
+   structure CB : CELLS_BASIS (* = CellsBasis *)
+                  where type CellSet.cellset = CellsBasis.CellSet.cellset
+                    and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                    and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                    and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                    and type cell = CellsBasis.cell
+                    and type cellColor = CellsBasis.cellColor
+                    and type cellkind = CellsBasis.cellkind
+                    and type cellkindDesc = CellsBasis.cellkindDesc
+                    and type cellkindInfo = CellsBasis.cellkindInfo
    structure T : MLTREE
    structure Constant: CONSTANT
    structure Region : REGION
diff -Naur MLRISC/x86/instructions/x86Peephole.peep MLRISC-mlton/x86/instructions/x86Peephole.peep
--- MLRISC/x86/instructions/x86Peephole.peep	2002-02-07 13:05:19.000000000 -0800
+++ MLRISC-mlton/x86/instructions/x86Peephole.peep	2006-10-25 16:55:11.000000000 -0700
@@ -21,6 +21,27 @@
    (structure Instr : X86INSTR
     structure Eval  : MLTREE_EVAL
       sharing Instr.T = Eval.T
+      (* sharing Instr.T = Eval.T *)
+      where type T.Basis.cond = Instr.T.Basis.cond
+        and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+        and type T.Basis.ext = Instr.T.Basis.ext
+        and type T.Basis.fcond = Instr.T.Basis.fcond
+        and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+        and type T.Constant.const = Instr.T.Constant.const
+        and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+        and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+        and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+        and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+        and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+        and type T.Region.region = Instr.T.Region.region
+        and type T.ccexp = Instr.T.ccexp
+        and type T.fexp = Instr.T.fexp
+        (* and type T.labexp = Instr.T.labexp *)
+        and type T.mlrisc = Instr.T.mlrisc
+        and type T.oper = Instr.T.oper
+        and type T.rep = Instr.T.rep
+        and type T.rexp = Instr.T.rexp
+        and type T.stm = Instr.T.stm
    ) : PEEPHOLE =
 struct
    structure I = Instr
diff -Naur MLRISC/x86/instructions/x86Peephole.sml MLRISC-mlton/x86/instructions/x86Peephole.sml
--- MLRISC/x86/instructions/x86Peephole.sml	2002-02-21 16:15:55.000000000 -0800
+++ MLRISC-mlton/x86/instructions/x86Peephole.sml	2006-10-25 16:55:11.000000000 -0700
@@ -12,7 +12,27 @@
                     structure Eval : MLTREE_EVAL
 
 (*#line 23.7 "x86Peephole.peep"*)
-                    sharing Instr.T = Eval.T
+                    (* sharing Instr.T = Eval.T *)
+                    where type T.Basis.cond = Instr.T.Basis.cond
+                      and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                      and type T.Basis.ext = Instr.T.Basis.ext
+                      and type T.Basis.fcond = Instr.T.Basis.fcond
+                      and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                      and type T.Constant.const = Instr.T.Constant.const
+                      and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                      and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                      and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                      and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                      and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                      and type T.Region.region = Instr.T.Region.region
+                      and type T.ccexp = Instr.T.ccexp
+                      and type T.fexp = Instr.T.fexp
+                      (* and type T.labexp = Instr.T.labexp *)
+                      and type T.mlrisc = Instr.T.mlrisc
+                      and type T.oper = Instr.T.oper
+                      and type T.rep = Instr.T.rep
+                      and type T.rexp = Instr.T.rexp
+                      and type T.stm = Instr.T.stm
                    ): PEEPHOLE =
 struct
 
diff -Naur MLRISC/x86/instructions/x86Props.sml MLRISC-mlton/x86/instructions/x86Props.sml
--- MLRISC/x86/instructions/x86Props.sml	2002-03-21 14:01:10.000000000 -0800
+++ MLRISC-mlton/x86/instructions/x86Props.sml	2006-10-25 16:55:11.000000000 -0700
@@ -5,8 +5,48 @@
 
 functor X86Props
   (structure Instr : X86INSTR
-   structure MLTreeHash : MLTREE_HASH where T = Instr.T
-   structure MLTreeEval : MLTREE_EVAL where T = Instr.T
+   structure MLTreeHash : MLTREE_HASH (* where T = Instr.T *)
+                          where type T.Basis.cond = Instr.T.Basis.cond
+                            and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                            and type T.Basis.ext = Instr.T.Basis.ext
+                            and type T.Basis.fcond = Instr.T.Basis.fcond
+                            and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                            and type T.Constant.const = Instr.T.Constant.const
+                            and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                            and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                            and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                            and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                            and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                            and type T.Region.region = Instr.T.Region.region
+                            and type T.ccexp = Instr.T.ccexp
+                            and type T.fexp = Instr.T.fexp
+                            (* and type T.labexp = Instr.T.labexp *)
+                            and type T.mlrisc = Instr.T.mlrisc
+                            and type T.oper = Instr.T.oper
+                            and type T.rep = Instr.T.rep
+                            and type T.rexp = Instr.T.rexp
+                            and type T.stm = Instr.T.stm
+   structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                          where type T.Basis.cond = Instr.T.Basis.cond
+                            and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                            and type T.Basis.ext = Instr.T.Basis.ext
+                            and type T.Basis.fcond = Instr.T.Basis.fcond
+                            and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                            and type T.Constant.const = Instr.T.Constant.const
+                            and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                            and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                            and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                            and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                            and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                            and type T.Region.region = Instr.T.Region.region
+                            and type T.ccexp = Instr.T.ccexp
+                            and type T.fexp = Instr.T.fexp
+                            (* and type T.labexp = Instr.T.labexp *)
+                            and type T.mlrisc = Instr.T.mlrisc
+                            and type T.oper = Instr.T.oper
+                            and type T.rep = Instr.T.rep
+                            and type T.rexp = Instr.T.rexp
+                            and type T.stm = Instr.T.stm
   ) : INSN_PROPERTIES =
 struct
   structure I = Instr
@@ -230,8 +270,10 @@
 	val uses = operandUse src
       in
 	case multDivOp
-	 of (I.IDIVL1 | I.DIVL1) => (eaxPair, C.edx::C.eax::uses)
-	  | (I.IMULL1 | I.MULL1) => (eaxPair, C.eax::uses)
+	 of I.IDIVL1 => (eaxPair, C.edx::C.eax::uses)
+	  | I.DIVL1 => (eaxPair, C.edx::C.eax::uses)
+	  | I.IMULL1 => (eaxPair, C.eax::uses)
+	  | I.MULL1 => (eaxPair, C.eax::uses)
       end
 
       fun unary opnd = (operandDef opnd, operandUse opnd)
@@ -249,8 +291,12 @@
 	| I.MOVE{src, dst=I.MemReg r, ...} => ([r], operandUse src)
 	| I.MOVE{src, dst, ...} => ([], operandAcc(dst, operandUse src))
 	| I.LEA{r32, addr}      => ([r32], operandUse addr)
-	| ( I.CMPL arg | I.CMPW arg | I.CMPB arg
-	  | I.TESTL arg | I.TESTW arg | I.TESTB arg ) => cmptest arg 
+	| I.CMPL arg => cmptest arg 
+	| I.CMPW arg => cmptest arg 
+	| I.CMPB arg => cmptest arg 
+	| I.TESTL arg => cmptest arg 
+	| I.TESTW arg => cmptest arg 
+	| I.TESTB arg => cmptest arg 
 	| I.BITOP{lsrc, rsrc, ...} => cmptest{lsrc=lsrc,rsrc=rsrc}
 	| I.BINARY{binOp=I.XORL,src=I.Direct rs,dst=I.Direct rd,...} =>   
 	     if CB.sameColor(rs,rd) then ([rd],[]) else ([rd],[rs,rd])
@@ -268,7 +314,9 @@
 
 	| I.UNARY{opnd, ...}    => unary opnd
 	| I.SET{opnd, ...}      => unary opnd
-	| ( I.PUSHL arg | I.PUSHW arg | I.PUSHB arg ) => push arg
+	| I.PUSHL arg => push arg
+	| I.PUSHW arg => push arg
+	| I.PUSHB arg => push arg
 	| I.POP arg	      => (C.stackptrR::operandDef arg, [C.stackptrR])
 	| I.PUSHFD	      => espOnly()
 	| I.POPFD		      => espOnly()
diff -Naur MLRISC/x86/mltree/x86-fp.sml MLRISC-mlton/x86/mltree/x86-fp.sml
--- MLRISC/x86/mltree/x86-fp.sml	2004-10-25 20:59:52.000000000 -0700
+++ MLRISC-mlton/x86/mltree/x86-fp.sml	2006-10-25 16:55:11.000000000 -0700
@@ -53,27 +53,88 @@
  * -- Allen Leung (leunga@cs.nyu.edu)
  *) 
 
-local
+functor X86FP
+   (structure X86Instr  : X86INSTR
+    structure X86Props  : INSN_PROPERTIES (* where I = X86Instr *)
+                          where type I.addressing_mode = X86Instr.addressing_mode
+                            and type I.ea = X86Instr.ea
+                            and type I.instr = X86Instr.instr
+                            and type I.instruction = X86Instr.instruction
+                            and type I.operand = X86Instr.operand
+    structure Flowgraph : CONTROL_FLOW_GRAPH (* where I = X86Instr *)
+                          where type I.addressing_mode = X86Instr.addressing_mode
+                            and type I.ea = X86Instr.ea
+                            and type I.instr = X86Instr.instr
+                            and type I.instruction = X86Instr.instruction
+                            and type I.operand = X86Instr.operand
+    structure Liveness  : LIVENESS (* where CFG = Flowgraph *)
+                          where type CFG.I.addressing_mode = Flowgraph.I.addressing_mode
+                            and type CFG.I.ea = Flowgraph.I.ea
+                            and type CFG.I.instr = Flowgraph.I.instr
+                            and type CFG.I.instruction = Flowgraph.I.instruction
+                            and type CFG.I.operand = Flowgraph.I.operand
+                            and type CFG.P.Client.pseudo_op = Flowgraph.P.Client.pseudo_op
+                            and type CFG.P.T.Basis.cond = Flowgraph.P.T.Basis.cond
+                            and type CFG.P.T.Basis.div_rounding_mode = Flowgraph.P.T.Basis.div_rounding_mode
+                            and type CFG.P.T.Basis.ext = Flowgraph.P.T.Basis.ext
+                            and type CFG.P.T.Basis.fcond = Flowgraph.P.T.Basis.fcond
+                            and type CFG.P.T.Basis.rounding_mode = Flowgraph.P.T.Basis.rounding_mode
+                            and type CFG.P.T.Constant.const = Flowgraph.P.T.Constant.const
+                            and type ('s,'r,'f,'c) CFG.P.T.Extension.ccx = ('s,'r,'f,'c) Flowgraph.P.T.Extension.ccx
+                            and type ('s,'r,'f,'c) CFG.P.T.Extension.fx = ('s,'r,'f,'c) Flowgraph.P.T.Extension.fx
+                            and type ('s,'r,'f,'c) CFG.P.T.Extension.rx = ('s,'r,'f,'c) Flowgraph.P.T.Extension.rx
+                            and type ('s,'r,'f,'c) CFG.P.T.Extension.sx = ('s,'r,'f,'c) Flowgraph.P.T.Extension.sx
+                            and type CFG.P.T.I.div_rounding_mode = Flowgraph.P.T.I.div_rounding_mode
+                            and type CFG.P.T.Region.region = Flowgraph.P.T.Region.region
+                            and type CFG.P.T.ccexp = Flowgraph.P.T.ccexp
+                            and type CFG.P.T.fexp = Flowgraph.P.T.fexp
+                            (* and type CFG.P.T.labexp = Flowgraph.P.T.labexp *)
+                            and type CFG.P.T.mlrisc = Flowgraph.P.T.mlrisc
+                            and type CFG.P.T.oper = Flowgraph.P.T.oper
+                            and type CFG.P.T.rep = Flowgraph.P.T.rep
+                            and type CFG.P.T.rexp = Flowgraph.P.T.rexp
+                            and type CFG.P.T.stm = Flowgraph.P.T.stm
+                            and type CFG.block = Flowgraph.block
+                            and type CFG.block_kind = Flowgraph.block_kind
+                            and type CFG.edge_info = Flowgraph.edge_info
+                            and type CFG.edge_kind = Flowgraph.edge_kind
+                            and type CFG.info = Flowgraph.info
+    structure Asm       : INSTRUCTION_EMITTER (* where I = X86Instr and S.P = Flowgraph.P *)
+                          where type I.addressing_mode = X86Instr.addressing_mode
+                            and type I.ea = X86Instr.ea
+                            and type I.instr = X86Instr.instr
+                            and type I.instruction = X86Instr.instruction
+                            and type I.operand = X86Instr.operand
+                          where type S.P.Client.pseudo_op = Flowgraph.P.Client.pseudo_op
+                            and type S.P.T.Basis.cond = Flowgraph.P.T.Basis.cond
+                            and type S.P.T.Basis.div_rounding_mode = Flowgraph.P.T.Basis.div_rounding_mode
+                            and type S.P.T.Basis.ext = Flowgraph.P.T.Basis.ext
+                            and type S.P.T.Basis.fcond = Flowgraph.P.T.Basis.fcond
+                            and type S.P.T.Basis.rounding_mode = Flowgraph.P.T.Basis.rounding_mode
+                            and type S.P.T.Constant.const = Flowgraph.P.T.Constant.const
+                            and type ('s,'r,'f,'c) S.P.T.Extension.ccx = ('s,'r,'f,'c) Flowgraph.P.T.Extension.ccx
+                            and type ('s,'r,'f,'c) S.P.T.Extension.fx = ('s,'r,'f,'c) Flowgraph.P.T.Extension.fx
+                            and type ('s,'r,'f,'c) S.P.T.Extension.rx = ('s,'r,'f,'c) Flowgraph.P.T.Extension.rx
+                            and type ('s,'r,'f,'c) S.P.T.Extension.sx = ('s,'r,'f,'c) Flowgraph.P.T.Extension.sx
+                            and type S.P.T.I.div_rounding_mode = Flowgraph.P.T.I.div_rounding_mode
+                            and type S.P.T.Region.region = Flowgraph.P.T.Region.region
+                            and type S.P.T.ccexp = Flowgraph.P.T.ccexp
+                            and type S.P.T.fexp = Flowgraph.P.T.fexp
+                            (* and type S.P.T.labexp = Flowgraph.P.T.labexp *)
+                            and type S.P.T.mlrisc = Flowgraph.P.T.mlrisc
+                            and type S.P.T.oper = Flowgraph.P.T.oper
+                            and type S.P.T.rep = Flowgraph.P.T.rep
+                            and type S.P.T.rexp = Flowgraph.P.T.rexp
+                            and type S.P.T.stm = Flowgraph.P.T.stm
+   ) : CFG_OPTIMIZATION = 
+struct
    val debug = false         (* set this to true to debug this module 
                               * set this to false for production use.
                               *) 
    val debugLiveness = true (* debug liveness analysis *)
    val debugDead = false     (* debug dead code removal *)
    val sanityCheck = true
-in
-functor X86FP
-   (structure X86Instr  : X86INSTR
-    structure X86Props  : INSN_PROPERTIES 
-			      where I = X86Instr
-    structure Flowgraph : CONTROL_FLOW_GRAPH
-			      where I = X86Instr
-    structure Liveness  : LIVENESS 
-			      where CFG = Flowgraph
-    structure Asm       : INSTRUCTION_EMITTER 
-			      where I = X86Instr
-				and S.P = Flowgraph.P
-   ) : CFG_OPTIMIZATION = 
-struct
+
    structure CFG = Flowgraph
    structure G  = Graph
    structure I  = X86Instr
@@ -1543,14 +1604,36 @@
 		       * Catch instructions that absolutely 
 		       * should not have been generated at this point.
 		       *)
-		   | (I.FLD1 | I.FLDL2E | I.FLDLG2 | I.FLDLN2 | I.FLDPI |
-		      I.FLDZ | I.FLDL _ | I.FLDS _ | I.FLDT _ | 
-		      I.FILD _ | I.FILDL _ | I.FILDLL _ | 
-		      I.FENV _ | I.FBINARY _ | I.FIBINARY _ | I.FUNARY _ |
-		      I.FUCOMPP | I.FUCOM _ | I.FUCOMP _ | I.FCOMPP | I.FXCH _ |
-                      I.FCOMI _ | I.FCOMIP _ | I.FUCOMI _ | I.FUCOMIP _ |
-		      I.FSTPL _ | I.FSTPS _ | I.FSTPT _ | I.FSTL _ | I.FSTS _ 
-		     ) => bug("Illegal FP instructions")
+		   | I.FLD1 => bug("Illegal FP instructions")
+		   | I.FLDL2E => bug("Illegal FP instructions") 
+		   | I.FLDLG2 => bug("Illegal FP instructions") 
+		   | I.FLDLN2 => bug("Illegal FP instructions") 
+		   | I.FLDPI => bug("Illegal FP instructions") 
+		   | I.FLDZ => bug("Illegal FP instructions") 
+		   | I.FLDL _ => bug("Illegal FP instructions") 
+		   | I.FLDS _ => bug("Illegal FP instructions") 
+		   | I.FLDT _ => bug("Illegal FP instructions") 
+		   | I.FILD _ => bug("Illegal FP instructions") 
+		   | I.FILDL _ => bug("Illegal FP instructions") 
+		   | I.FILDLL _ => bug("Illegal FP instructions") 
+		   | I.FENV _ => bug("Illegal FP instructions") 
+		   | I.FBINARY _ => bug("Illegal FP instructions") 
+		   | I.FIBINARY _ => bug("Illegal FP instructions") 
+		   | I.FUNARY _ => bug("Illegal FP instructions") 
+		   | I.FUCOMPP => bug("Illegal FP instructions") 
+		   | I.FUCOM _ => bug("Illegal FP instructions") 
+		   | I.FUCOMP _ => bug("Illegal FP instructions") 
+		   | I.FCOMPP => bug("Illegal FP instructions") 
+		   | I.FXCH _ => bug("Illegal FP instructions") 
+		   | I.FCOMI _ => bug("Illegal FP instructions") 
+		   | I.FCOMIP _ => bug("Illegal FP instructions") 
+		   | I.FUCOMI _ => bug("Illegal FP instructions") 
+		   | I.FUCOMIP _ => bug("Illegal FP instructions")
+		   | I.FSTPL _ => bug("Illegal FP instructions") 
+		   | I.FSTPS _ => bug("Illegal FP instructions") 
+		   | I.FSTPT _ => bug("Illegal FP instructions") 
+		   | I.FSTL _ => bug("Illegal FP instructions") 
+		   | I.FSTS _ => bug("Illegal FP instructions")
 
 		      (* Other instructions are untouched *)
 		   | instr => FINISH(mark(I.INSTR instr, an)::code)
@@ -1575,8 +1658,12 @@
                fun pop() = n := !n - 1
                fun scan(I.INSTR(I.FBINARY{binOp, ...})) = 
                       (case binOp of 
-                        ( I.FADDP | I.FSUBP | I.FSUBRP | I.FMULP
-                        | I.FDIVP | I.FDIVRP) => pop()
+                        I.FADDP => pop()
+                      | I.FSUBP => pop()
+                      | I.FSUBRP => pop()
+                      | I.FMULP => pop()
+                      | I.FDIVP => pop()
+                      | I.FDIVRP => pop()
                       | _ => ()
                       )
                  | scan(I.INSTR(I.FIBINARY{binOp, ...})) = ()
@@ -1670,5 +1757,3 @@
        else repairCriticalEdges(Cfg)
    end 
 end (* functor *)
-
-end (* local *)
diff -Naur MLRISC/x86/mltree/x86.sml MLRISC-mlton/x86/mltree/x86.sml
--- MLRISC/x86/mltree/x86.sml	2004-11-17 13:07:35.000000000 -0800
+++ MLRISC-mlton/x86/mltree/x86.sml	2006-10-25 16:55:11.000000000 -0700
@@ -32,19 +32,77 @@
  *
  * -- Allen
  *)
-local
-   val rewriteMemReg = true (* should we rewrite memRegs *)
-   val enableFastFPMode = true (* set this to false to disable the mode *)
-in
 
 functor X86
   (structure X86Instr : X86INSTR
-   structure MLTreeUtils : MLTREE_UTILS
-			where T = X86Instr.T
-   structure ExtensionComp : MLTREE_EXTENSION_COMP
-     			where I = X86Instr and T = X86Instr.T
-   structure MLTreeStream : MLTREE_STREAM
-			where T = ExtensionComp.T
+   structure MLTreeUtils : MLTREE_UTILS (* where T = X86Instr.T *)
+                           where type T.Basis.cond = X86Instr.T.Basis.cond
+                             and type T.Basis.div_rounding_mode = X86Instr.T.Basis.div_rounding_mode
+                             and type T.Basis.ext = X86Instr.T.Basis.ext
+                             and type T.Basis.fcond = X86Instr.T.Basis.fcond
+                             and type T.Basis.rounding_mode = X86Instr.T.Basis.rounding_mode
+                             and type T.Constant.const = X86Instr.T.Constant.const
+                             and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) X86Instr.T.Extension.ccx
+                             and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) X86Instr.T.Extension.fx
+                             and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) X86Instr.T.Extension.rx
+                             and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) X86Instr.T.Extension.sx
+                             and type T.I.div_rounding_mode = X86Instr.T.I.div_rounding_mode
+                             and type T.Region.region = X86Instr.T.Region.region
+                             and type T.ccexp = X86Instr.T.ccexp
+                             and type T.fexp = X86Instr.T.fexp
+                             (* and type T.labexp = X86Instr.T.labexp *)
+                             and type T.mlrisc = X86Instr.T.mlrisc
+                             and type T.oper = X86Instr.T.oper
+                             and type T.rep = X86Instr.T.rep
+                             and type T.rexp = X86Instr.T.rexp
+                             and type T.stm = X86Instr.T.stm
+   structure ExtensionComp : MLTREE_EXTENSION_COMP (* where I = X86Instr and T = X86Instr.T *)
+                             where type I.addressing_mode = X86Instr.addressing_mode
+                               and type I.ea = X86Instr.ea
+                               and type I.instr = X86Instr.instr
+                               and type I.instruction = X86Instr.instruction
+                               and type I.operand = X86Instr.operand
+                             where type T.Basis.cond = X86Instr.T.Basis.cond
+                               and type T.Basis.div_rounding_mode = X86Instr.T.Basis.div_rounding_mode
+                               and type T.Basis.ext = X86Instr.T.Basis.ext
+                               and type T.Basis.fcond = X86Instr.T.Basis.fcond
+                               and type T.Basis.rounding_mode = X86Instr.T.Basis.rounding_mode
+                               and type T.Constant.const = X86Instr.T.Constant.const
+                               and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) X86Instr.T.Extension.ccx
+                               and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) X86Instr.T.Extension.fx
+                               and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) X86Instr.T.Extension.rx
+                               and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) X86Instr.T.Extension.sx
+                               and type T.I.div_rounding_mode = X86Instr.T.I.div_rounding_mode
+                               and type T.Region.region = X86Instr.T.Region.region
+                               and type T.ccexp = X86Instr.T.ccexp
+                               and type T.fexp = X86Instr.T.fexp
+                               (* and type T.labexp = X86Instr.T.labexp *)
+                               and type T.mlrisc = X86Instr.T.mlrisc
+                               and type T.oper = X86Instr.T.oper
+                               and type T.rep = X86Instr.T.rep
+                               and type T.rexp = X86Instr.T.rexp
+                               and type T.stm = X86Instr.T.stm
+   structure MLTreeStream : MLTREE_STREAM (* where T = ExtensionComp.T *)
+                            where type T.Basis.cond = ExtensionComp.T.Basis.cond
+                              and type T.Basis.div_rounding_mode = ExtensionComp.T.Basis.div_rounding_mode
+                              and type T.Basis.ext = ExtensionComp.T.Basis.ext
+                              and type T.Basis.fcond = ExtensionComp.T.Basis.fcond
+                              and type T.Basis.rounding_mode = ExtensionComp.T.Basis.rounding_mode
+                              and type T.Constant.const = ExtensionComp.T.Constant.const
+                              and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) ExtensionComp.T.Extension.ccx
+                              and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) ExtensionComp.T.Extension.fx
+                              and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) ExtensionComp.T.Extension.rx
+                              and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) ExtensionComp.T.Extension.sx
+                              and type T.I.div_rounding_mode = ExtensionComp.T.I.div_rounding_mode
+                              and type T.Region.region = ExtensionComp.T.Region.region
+                              and type T.ccexp = ExtensionComp.T.ccexp
+                              and type T.fexp = ExtensionComp.T.fexp
+                              (* and type T.labexp = ExtensionComp.T.labexp *)
+                              and type T.mlrisc = ExtensionComp.T.mlrisc
+                              and type T.oper = ExtensionComp.T.oper
+                              and type T.rep = ExtensionComp.T.rep
+                              and type T.rexp = ExtensionComp.T.rexp
+                              and type T.stm = ExtensionComp.T.stm
     datatype arch = Pentium | PentiumPro | PentiumII | PentiumIII
     val arch : arch ref
     val cvti2f : 
@@ -65,6 +123,9 @@
           val rewriteMemReg : bool
       end = 
 struct
+  val rewriteMemReg = true (* should we rewrite memRegs *)
+  val enableFastFPMode = true (* set this to false to disable the mode *)
+
   structure I = X86Instr
   structure T = I.T
   structure TS = ExtensionComp.TS
@@ -421,7 +482,8 @@
 
           (* reduce an expression into an operand *)
       and operand(T.LI i) = I.Immed(toInt32(i)) 
-        | operand(x as (T.CONST _ | T.LABEL _)) = I.ImmedLabel x
+        | operand(x as T.CONST _) = I.ImmedLabel x
+        | operand(x as T.LABEL _) = I.ImmedLabel x
         | operand(T.LABEXP le) = I.ImmedLabel le
         | operand(T.REG(_,r)) = IntReg r
         | operand(T.LOAD(32,ea,mem)) = address(ea, mem)
@@ -968,8 +1030,8 @@
 		 else
 		   move'(I.Immed(n), rdOpnd, an)
 	       end
-             | (T.CONST _ | T.LABEL _) => 
-                 move'(I.ImmedLabel exp, rdOpnd, an)
+             | T.CONST _ => move'(I.ImmedLabel exp, rdOpnd, an)
+             | T.LABEL _ => move'(I.ImmedLabel exp, rdOpnd, an)
              | T.LABEXP le => move'(I.ImmedLabel le, rdOpnd, an)
 
                (* 32-bit addition *)
@@ -1094,7 +1156,14 @@
           * On the x86, TEST is superior to AND for doing the same thing,
           * since it doesn't need to write out the result in a register.
           *)
-     and cmpWithZero(cc as (T.EQ | T.NE), e as T.ANDB(ty, a, b), an) = 
+     and cmpWithZero(cc as T.EQ, e as T.ANDB(ty, a, b), an) = 
+            (case ty of
+               8  => test(I.TESTB, a, b, an)
+             | 16 => test(I.TESTW, a, b, an)
+             | 32 => test(I.TESTL, a, b, an)
+             | _  => doExpr(e, newReg(), an); 
+             cc)  
+       | cmpWithZero(cc as T.NE, e as T.ANDB(ty, a, b), an) = 
             (case ty of
                8  => test(I.TESTB, a, b, an)
              | 16 => test(I.TESTW, a, b, an)
@@ -1408,7 +1477,8 @@
         *)
       and foldableFexp(T.FREG _) = true
         | foldableFexp(T.FLOAD _) = true
-        | foldableFexp(T.CVTI2F(_, (16 | 32), _)) = true
+        | foldableFexp(T.CVTI2F(_, 16, _)) = true
+        | foldableFexp(T.CVTI2F(_, 32, _)) = true
         | foldableFexp(T.CVTF2F(_, _, t)) = foldableFexp t
         | foldableFexp(T.FMARK(t, _)) = foldableFexp t
         | foldableFexp _ = false
@@ -1531,7 +1601,8 @@
               (* Try to fold the the memory operand or integer conversion *) 
               and suFold(e as T.FREG _) = (LEAF(0, e, []), false)
                 | suFold(e as T.FLOAD _) = (LEAF(0, e, []), false)
-                | suFold(e as T.CVTI2F(_,(16 | 32),_)) = (LEAF(0, e, []), true)
+                | suFold(e as T.CVTI2F(_,16,_)) = (LEAF(0, e, []), true)
+                | suFold(e as T.CVTI2F(_,32,_)) = (LEAF(0, e, []), true)
                 | suFold(T.CVTF2F(_, _, t)) = suFold t
                 | suFold(T.FMARK(t, a)) = 
                   let val (t, integer) = suFold t 
@@ -1725,7 +1796,8 @@
           let 
               fun isMemOpnd(T.FREG(_, f)) = isFMemReg f
                 | isMemOpnd(T.FLOAD _) = true
-                | isMemOpnd(T.CVTI2F(_, (16 | 32), _)) = true
+                | isMemOpnd(T.CVTI2F(_, 16, _)) = true
+                | isMemOpnd(T.CVTI2F(_, 32, _)) = true
                 | isMemOpnd(T.CVTF2F(_, _, t)) = isMemOpnd t
                 | isMemOpnd(T.FMARK(t, _)) = isMemOpnd t
                 | isMemOpnd _ = false
@@ -2006,5 +2078,3 @@
   end 
 
 end (* functor *)
-
-end (* local *)
diff -Naur MLRISC/x86/omit-frameptr/x86omit-frameptr.sml MLRISC-mlton/x86/omit-frameptr/x86omit-frameptr.sml
--- MLRISC/x86/omit-frameptr/x86omit-frameptr.sml	2003-05-22 15:46:24.000000000 -0700
+++ MLRISC-mlton/x86/omit-frameptr/x86omit-frameptr.sml	2006-10-25 16:55:11.000000000 -0700
@@ -10,8 +10,50 @@
  *)
 functor X86OmitFramePointer (
     structure I : X86INSTR 
-    structure CFG : CONTROL_FLOW_GRAPH where I = I
-    structure MemRegs : MEMORY_REGISTERS where I=I
+    structure CFG : CONTROL_FLOW_GRAPH (* where I = I *)
+                    where type I.addressing_mode = I.addressing_mode
+                      and type I.ea = I.ea
+                      and type I.instr = I.instr
+                      and type I.instruction = I.instruction
+                      and type I.operand = I.operand
+    structure MemRegs : MEMORY_REGISTERS (* where I = I *)
+                        where type I.Constant.const = I.Constant.const
+                          and type I.Region.region = I.Region.region
+                          and type I.T.Basis.cond = I.T.Basis.cond
+                          and type I.T.Basis.div_rounding_mode = I.T.Basis.div_rounding_mode
+                          and type I.T.Basis.ext = I.T.Basis.ext
+                          and type I.T.Basis.fcond = I.T.Basis.fcond
+                          and type I.T.Basis.rounding_mode = I.T.Basis.rounding_mode
+                          and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) I.T.Extension.ccx
+                          and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) I.T.Extension.fx
+                          and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) I.T.Extension.rx
+                          and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) I.T.Extension.sx
+                          and type I.T.I.div_rounding_mode = I.T.I.div_rounding_mode
+                          and type I.T.ccexp = I.T.ccexp
+                          and type I.T.fexp = I.T.fexp
+                          (* and type I.T.labexp = I.T.labexp *)
+                          and type I.T.mlrisc = I.T.mlrisc
+                          and type I.T.oper = I.T.oper
+                          and type I.T.rep = I.T.rep
+                          and type I.T.rexp = I.T.rexp
+                          and type I.T.stm = I.T.stm
+                          (* and type I.addressing_mode = I.addressing_mode *)
+                          and type I.binaryOp = I.binaryOp
+                          and type I.bitOp = I.bitOp
+                          and type I.cond = I.cond
+                          and type I.fbinOp = I.fbinOp
+                          and type I.fenvOp = I.fenvOp
+                          and type I.fibinOp = I.fibinOp
+                          and type I.fsize = I.fsize
+                          and type I.funOp = I.funOp
+                          and type I.instr = I.instr
+                          and type I.instruction = I.instruction
+                          and type I.isize = I.isize
+                          and type I.move = I.move
+                          and type I.multDivOp = I.multDivOp
+                          and type I.operand = I.operand
+                          and type I.shiftOp = I.shiftOp
+                          and type I.unaryOp = I.unaryOp
     val memRegBase : CellsBasis.cell option): OMIT_FRAME_POINTER = 
 struct
   structure CFG = CFG
diff -Naur MLRISC/x86/ra/x86RA.sml MLRISC-mlton/x86/ra/x86RA.sml
--- MLRISC/x86/ra/x86RA.sml	2003-05-22 15:46:24.000000000 -0700
+++ MLRISC-mlton/x86/ra/x86RA.sml	2006-10-25 16:55:11.000000000 -0700
@@ -109,13 +109,45 @@
 
 functor X86RA 
   ( structure I          : X86INSTR
-    structure InsnProps  : INSN_PROPERTIES 
-			       where I = I
-    structure CFG        : CONTROL_FLOW_GRAPH 
-			       where I = I
-    structure Asm        : INSTRUCTION_EMITTER 
-			       where I = I 
-				 and S.P = CFG.P
+    structure InsnProps  : INSN_PROPERTIES (* where I = I *)
+                           where type I.addressing_mode = I.addressing_mode
+                             and type I.ea = I.ea
+                             and type I.instr = I.instr
+                             and type I.instruction = I.instruction
+                             and type I.operand = I.operand
+    structure CFG        : CONTROL_FLOW_GRAPH (* where I = I *)
+                           where type I.addressing_mode = I.addressing_mode
+                             and type I.ea = I.ea
+                             and type I.instr = I.instr
+                             and type I.instruction = I.instruction
+                             and type I.operand = I.operand
+    structure Asm        : INSTRUCTION_EMITTER (* where I = I and S.P = CFG.P *)
+                           where type I.addressing_mode = I.addressing_mode
+                             and type I.ea = I.ea
+                             and type I.instr = I.instr
+                             and type I.instruction = I.instruction
+                             and type I.operand = I.operand
+                           where type S.P.Client.pseudo_op = CFG.P.Client.pseudo_op
+                             and type S.P.T.Basis.cond = CFG.P.T.Basis.cond
+                             and type S.P.T.Basis.div_rounding_mode = CFG.P.T.Basis.div_rounding_mode
+                             and type S.P.T.Basis.ext = CFG.P.T.Basis.ext
+                             and type S.P.T.Basis.fcond = CFG.P.T.Basis.fcond
+                             and type S.P.T.Basis.rounding_mode = CFG.P.T.Basis.rounding_mode
+                             and type S.P.T.Constant.const = CFG.P.T.Constant.const
+                             and type ('s,'r,'f,'c) S.P.T.Extension.ccx = ('s,'r,'f,'c) CFG.P.T.Extension.ccx
+                             and type ('s,'r,'f,'c) S.P.T.Extension.fx = ('s,'r,'f,'c) CFG.P.T.Extension.fx
+                             and type ('s,'r,'f,'c) S.P.T.Extension.rx = ('s,'r,'f,'c) CFG.P.T.Extension.rx
+                             and type ('s,'r,'f,'c) S.P.T.Extension.sx = ('s,'r,'f,'c) CFG.P.T.Extension.sx
+                             and type S.P.T.I.div_rounding_mode = CFG.P.T.I.div_rounding_mode
+                             and type S.P.T.Region.region = CFG.P.T.Region.region
+                             and type S.P.T.ccexp = CFG.P.T.ccexp
+                             and type S.P.T.fexp = CFG.P.T.fexp
+                             (* and type S.P.T.labexp = CFG.P.T.labexp *)
+                             and type S.P.T.mlrisc = CFG.P.T.mlrisc
+                             and type S.P.T.oper = CFG.P.T.oper
+                             and type S.P.T.rep = CFG.P.T.rep
+                             and type S.P.T.rexp = CFG.P.T.rexp
+                             and type S.P.T.stm = CFG.P.T.stm
 
       (* Spilling heuristics determines which node should be spilled 
        * You can use Chaitin, ChowHenessey, or one of your own.
@@ -126,7 +158,12 @@
        * spill code.  You can use RASpill, or RASpillWithRenaming,
        * or write your own if you are feeling adventurous.
        *)
-    structure Spill : RA_SPILL where I = I 
+    structure Spill : RA_SPILL (* where I = I *)
+                      where type I.addressing_mode = I.addressing_mode
+                        and type I.ea = I.ea
+                        and type I.instr = I.instr
+                        and type I.instruction = I.instruction
+                        and type I.operand = I.operand
 
 
     type spill_info (* user-defined abstract type *)
@@ -304,17 +341,16 @@
     (* This is the generic register allocator *)
     structure Ra = 
       RegisterAllocator
-       (SpillHeur)
-       (MemoryRA             (* for memory coalescing *)
+       (structure SpillHeuristics = SpillHeur
+        structure Flowgraph = MemoryRA             (* for memory coalescing *)
          (RADeadCodeElim     (* do the funky dead code elimination stuff *)
-            (ClusterRA
+            (structure Flowgraph = ClusterRA
                (structure Flowgraph = CFG
                 structure Asm = Asm
                 structure InsnProps = InsnProps
                 structure Spill = Spill
                )
-            )
-            (fun cellkind CB.GP = true | cellkind _ = false
+             fun cellkind CB.GP = true | cellkind _ = false
              val deadRegs = deadRegs
              val affectedBlocks = affectedBlocks
              val spillInit = spillInit
diff -Naur MLRISC/x86/ra/x86Rewrite.sig MLRISC-mlton/x86/ra/x86Rewrite.sig
--- MLRISC/x86/ra/x86Rewrite.sig	2001-07-19 13:35:19.000000000 -0700
+++ MLRISC-mlton/x86/ra/x86Rewrite.sig	2006-10-25 16:55:11.000000000 -0700
@@ -1,6 +1,15 @@
 signature X86REWRITE = sig
   structure I  : X86INSTR
-  structure CB : CELLS_BASIS = CellsBasis
+  structure CB : CELLS_BASIS (* = CellsBasis *)
+                 where type CellSet.cellset = CellsBasis.CellSet.cellset
+                   and type 'a ColorTable.hash_table = 'a CellsBasis.ColorTable.hash_table
+                   and type 'a HashTable.hash_table = 'a CellsBasis.HashTable.hash_table
+                   and type SortedCells.sorted_cells = CellsBasis.SortedCells.sorted_cells
+                   and type cell = CellsBasis.cell
+                   and type cellColor = CellsBasis.cellColor
+                   and type cellkind = CellsBasis.cellkind
+                   and type cellkindDesc = CellsBasis.cellkindDesc
+                   and type cellkindInfo = CellsBasis.cellkindInfo
   val rewriteUse : I.instruction * CB.cell * CB.cell -> I.instruction
   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-14 09:28:24.000000000 -0700
+++ MLRISC-mlton/x86/ra/x86SpillInstr.sml	2006-10-25 16:55:11.000000000 -0700
@@ -8,7 +8,12 @@
  * introduced before.
  *)
 functor X86SpillInstr(structure Instr: X86INSTR
-                 structure Props: INSN_PROPERTIES where I = Instr
+                      structure Props: INSN_PROPERTIES (* where I = Instr *)
+                                       where type I.addressing_mode = Instr.addressing_mode
+                                         and type I.ea = Instr.ea
+                                         and type I.instr = Instr.instr
+                                         and type I.instruction = Instr.instruction
+                                         and type I.operand = Instr.operand
 		) : ARCH_SPILL_INSTR = struct
 
   structure I  = Instr
@@ -56,7 +61,28 @@
 	  done(I.CALL{opnd=addr, defs=C.rmvReg(reg,defs), 
 				 return=return, uses=uses, 
 		      cutsTo=cutsTo, mem=mem, pops=pops}, an)
-      | I.MOVE{mvOp as (I.MOVZBL|I.MOVSBL|I.MOVZWL|I.MOVSWL), src, dst} => 
+      | I.MOVE{mvOp as I.MOVZBL, src, dst} => 
+	  let val tmpR = newReg() val tmp = I.Direct tmpR
+	  in  {proh=[tmpR], newReg=SOME tmpR,
+	       code=[mark(I.MOVE{mvOp=mvOp, src=src, dst=tmp}, an),
+		     I.move{mvOp=I.MOVL, src=tmp, dst=spillLoc}]
+	      }
+	  end
+      | I.MOVE{mvOp as I.MOVSBL, src, dst} => 
+	  let val tmpR = newReg() val tmp = I.Direct tmpR
+	  in  {proh=[tmpR], newReg=SOME tmpR,
+	       code=[mark(I.MOVE{mvOp=mvOp, src=src, dst=tmp}, an),
+		     I.move{mvOp=I.MOVL, src=tmp, dst=spillLoc}]
+	      }
+	  end
+      | I.MOVE{mvOp as I.MOVZWL, src, dst} => 
+	  let val tmpR = newReg() val tmp = I.Direct tmpR
+	  in  {proh=[tmpR], newReg=SOME tmpR,
+	       code=[mark(I.MOVE{mvOp=mvOp, src=src, dst=tmp}, an),
+		     I.move{mvOp=I.MOVL, src=tmp, dst=spillLoc}]
+	      }
+	  end
+      | I.MOVE{mvOp as I.MOVSWL, src, dst} => 
 	  let val tmpR = newReg() val tmp = I.Direct tmpR
 	  in  {proh=[tmpR], newReg=SOME tmpR,
 	       code=[mark(I.MOVE{mvOp=mvOp, src=src, dst=tmp}, an),
@@ -99,7 +125,12 @@
 	      newReg=NONE
 	     }
       | I.BINARY{binOp, src, dst} => let (* note: dst = reg *)
-	 fun multBinOp(I.MULL|I.MULW|I.MULB|I.IMULL|I.IMULW|I.IMULB) = true
+	 fun multBinOp(I.MULL) = true
+	   | multBinOp(I.MULW) = true
+	   | multBinOp(I.MULB) = true
+	   | multBinOp(I.IMULL) = true
+	   | multBinOp(I.IMULW) = true
+	   | multBinOp(I.IMULB) = true
 	   | multBinOp _ = false
 	in
 	  if multBinOp binOp then let
diff -Naur MLRISC/x86/x86MC.sml MLRISC-mlton/x86/x86MC.sml
--- MLRISC/x86/x86MC.sml	2003-05-22 15:46:23.000000000 -0700
+++ MLRISC-mlton/x86/x86MC.sml	2006-10-25 16:55:11.000000000 -0700
@@ -8,11 +8,111 @@
  *)
 functor X86MCEmitter
   (structure Instr : X86INSTR
-   structure Shuffle : X86SHUFFLE where I = Instr
-   structure MLTreeEval : MLTREE_EVAL where T = Instr.T
-   structure MemRegs : MEMORY_REGISTERS where I = Instr
+   structure Shuffle : X86SHUFFLE (* where I = Instr *)
+                       where type I.Constant.const = Instr.Constant.const
+                         and type I.Region.region = Instr.Region.region
+                         and type I.T.Basis.cond = Instr.T.Basis.cond
+                         and type I.T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                         and type I.T.Basis.ext = Instr.T.Basis.ext
+                         and type I.T.Basis.fcond = Instr.T.Basis.fcond
+                         and type I.T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                         and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                         and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                         and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                         and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                         and type I.T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                         and type I.T.ccexp = Instr.T.ccexp
+                         and type I.T.fexp = Instr.T.fexp
+                         (* and type I.T.labexp = Instr.T.labexp *)
+                         and type I.T.mlrisc = Instr.T.mlrisc
+                         and type I.T.oper = Instr.T.oper
+                         and type I.T.rep = Instr.T.rep
+                         and type I.T.rexp = Instr.T.rexp
+                         and type I.T.stm = Instr.T.stm
+                         (* and type I.addressing_mode = Instr.addressing_mode *)
+                         and type I.binaryOp = Instr.binaryOp
+                         and type I.bitOp = Instr.bitOp
+                         and type I.cond = Instr.cond
+                         and type I.fbinOp = Instr.fbinOp
+                         and type I.fenvOp = Instr.fenvOp
+                         and type I.fibinOp = Instr.fibinOp
+                         and type I.fsize = Instr.fsize
+                         and type I.funOp = Instr.funOp
+                         and type I.instr = Instr.instr
+                         and type I.instruction = Instr.instruction
+                         and type I.isize = Instr.isize
+                         and type I.move = Instr.move
+                         and type I.multDivOp = Instr.multDivOp
+                         and type I.operand = Instr.operand
+                         and type I.shiftOp = Instr.shiftOp
+                         and type I.unaryOp = Instr.unaryOp
+   structure MLTreeEval : MLTREE_EVAL (* where T = Instr.T *)
+                          where type T.Basis.cond = Instr.T.Basis.cond
+                            and type T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                            and type T.Basis.ext = Instr.T.Basis.ext
+                            and type T.Basis.fcond = Instr.T.Basis.fcond
+                            and type T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                            and type T.Constant.const = Instr.T.Constant.const
+                            and type ('s,'r,'f,'c) T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                            and type ('s,'r,'f,'c) T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                            and type ('s,'r,'f,'c) T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                            and type ('s,'r,'f,'c) T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                            and type T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                            and type T.Region.region = Instr.T.Region.region
+                            and type T.ccexp = Instr.T.ccexp
+                            and type T.fexp = Instr.T.fexp
+                            (* and type T.labexp = Instr.T.labexp *)
+                            and type T.mlrisc = Instr.T.mlrisc
+                            and type T.oper = Instr.T.oper
+                            and type T.rep = Instr.T.rep
+                            and type T.rexp = Instr.T.rexp
+                            and type T.stm = Instr.T.stm
+   structure MemRegs : MEMORY_REGISTERS (* where I = Instr *)
+                       where type I.Constant.const = Instr.Constant.const
+                         and type I.Region.region = Instr.Region.region
+                         and type I.T.Basis.cond = Instr.T.Basis.cond
+                         and type I.T.Basis.div_rounding_mode = Instr.T.Basis.div_rounding_mode
+                         and type I.T.Basis.ext = Instr.T.Basis.ext
+                         and type I.T.Basis.fcond = Instr.T.Basis.fcond
+                         and type I.T.Basis.rounding_mode = Instr.T.Basis.rounding_mode
+                         and type ('s,'r,'f,'c) I.T.Extension.ccx = ('s,'r,'f,'c) Instr.T.Extension.ccx
+                         and type ('s,'r,'f,'c) I.T.Extension.fx = ('s,'r,'f,'c) Instr.T.Extension.fx
+                         and type ('s,'r,'f,'c) I.T.Extension.rx = ('s,'r,'f,'c) Instr.T.Extension.rx
+                         and type ('s,'r,'f,'c) I.T.Extension.sx = ('s,'r,'f,'c) Instr.T.Extension.sx
+                         and type I.T.I.div_rounding_mode = Instr.T.I.div_rounding_mode
+                         and type I.T.ccexp = Instr.T.ccexp
+                         and type I.T.fexp = Instr.T.fexp
+                         (* and type I.T.labexp = Instr.T.labexp *)
+                         and type I.T.mlrisc = Instr.T.mlrisc
+                         and type I.T.oper = Instr.T.oper
+                         and type I.T.rep = Instr.T.rep
+                         and type I.T.rexp = Instr.T.rexp
+                         and type I.T.stm = Instr.T.stm
+                         (* and type I.addressing_mode = Instr.addressing_mode *)
+                         and type I.binaryOp = Instr.binaryOp
+                         and type I.bitOp = Instr.bitOp
+                         and type I.cond = Instr.cond
+                         and type I.fbinOp = Instr.fbinOp
+                         and type I.fenvOp = Instr.fenvOp
+                         and type I.fibinOp = Instr.fibinOp
+                         and type I.fsize = Instr.fsize
+                         and type I.funOp = Instr.funOp
+                         and type I.instr = Instr.instr
+                         and type I.instruction = Instr.instruction
+                         and type I.isize = Instr.isize
+                         and type I.move = Instr.move
+                         and type I.multDivOp = Instr.multDivOp
+                         and type I.operand = Instr.operand
+                         and type I.shiftOp = Instr.shiftOp
+                         and type I.unaryOp = Instr.unaryOp
    val memRegBase : CellsBasis.cell option
-   structure AsmEmitter : INSTRUCTION_EMITTER where I = Instr) : MC_EMIT = 
+   structure AsmEmitter : INSTRUCTION_EMITTER (* where I = Instr *)
+                          where type I.addressing_mode = Instr.addressing_mode
+                            and type I.ea = Instr.ea
+                            and type I.instr = Instr.instr
+                            and type I.instruction = Instr.instruction
+                            and type I.operand = Instr.operand
+  ) : MC_EMIT = 
 struct
   structure I = Instr
   structure C = I.C
@@ -312,7 +412,8 @@
        end
      | I.LEA{r32, addr} => encodeReg(0wx8d, r32, addr)
      | I.CMPL{lsrc, rsrc} => arith(0wx38, 7) (rsrc, lsrc)
-     | (I.CMPW _ | I.CMPB _) => error "CMP"
+     | I.CMPW _ => error "CMP"
+     | I.CMPB _ => error "CMP"
      | I.TESTL{lsrc, rsrc} => test(32, rsrc, lsrc)
      | I.TESTB{lsrc, rsrc} => test(8, rsrc, lsrc)
      | I.TESTW _ => error "TEST"
diff -Naur MLRISC/x86/x86.mdl MLRISC-mlton/x86/x86.mdl
--- MLRISC/x86/x86.mdl	2004-10-24 10:56:50.000000000 -0700
+++ MLRISC-mlton/x86/x86.mdl	2006-10-25 16:55:11.000000000 -0700
@@ -578,7 +578,8 @@
       fun chop fbinOp =
           let val n = size fbinOp
           in  case Char.toLower(String.sub(fbinOp,n-1)) of
-                (#"s" | #"l") => String.substring(fbinOp,0,n-1)
+                #"s" => String.substring(fbinOp,0,n-1)
+              | #"l" => String.substring(fbinOp,0,n-1)
               | _ => fbinOp
           end
 
@@ -707,9 +708,23 @@
     | BINARY of {binOp:binaryOp, src:operand, dst:operand}
 	asm: (case (src,binOp) of
                (I.Direct _,  (* tricky business here for shifts *)
-               (I.SARL | I.SHRL | I.SHLL |
-                I.SARW | I.SHRW | I.SHLW |
-                I.SARB | I.SHRB | I.SHLB)) => ``<binOp>\t%cl, <dst>''
+                I.SARL) => ``<binOp>\t%cl, <dst>''
+             | (I.Direct _,  (* tricky business here for shifts *)
+                I.SHRL) => ``<binOp>\t%cl, <dst>''
+             | (I.Direct _,  (* tricky business here for shifts *)
+                I.SHLL) => ``<binOp>\t%cl, <dst>''
+             | (I.Direct _,  (* tricky business here for shifts *)
+                I.SARW) => ``<binOp>\t%cl, <dst>''
+             | (I.Direct _,  (* tricky business here for shifts *)
+                I.SHRW) => ``<binOp>\t%cl, <dst>''
+             | (I.Direct _,  (* tricky business here for shifts *)
+                I.SHLW) => ``<binOp>\t%cl, <dst>''
+             | (I.Direct _,  (* tricky business here for shifts *)
+                I.SARB) => ``<binOp>\t%cl, <dst>''
+             | (I.Direct _,  (* tricky business here for shifts *)
+                I.SHRB) => ``<binOp>\t%cl, <dst>''
+             | (I.Direct _,  (* tricky business here for shifts *)
+                I.SHLB) => ``<binOp>\t%cl, <dst>''
              | _ => ``<binOp>\t<src>, <dst>''
              )
 	(*rtl: ``<binOp>''*)
