[MLton-commit] r5853

Matthew Fluet fluet at mlton.org
Sun Aug 12 19:31:02 PDT 2007


Update libraries to SML/NJ 110.65
----------------------------------------------------------------------

U   mlton/trunk/lib/ckit-lib/ckit.patch
U   mlton/trunk/lib/ckit-lib/ckit.tgz
U   mlton/trunk/lib/mlrisc-lib/MLRISC.patch
U   mlton/trunk/lib/mlrisc-lib/MLRISC.tgz
U   mlton/trunk/lib/smlnj-lib/smlnj-lib.patch
U   mlton/trunk/lib/smlnj-lib/smlnj-lib.tgz

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

Modified: mlton/trunk/lib/ckit-lib/ckit.patch
===================================================================
--- mlton/trunk/lib/ckit-lib/ckit.patch	2007-08-13 01:50:02 UTC (rev 5852)
+++ mlton/trunk/lib/ckit-lib/ckit.patch	2007-08-13 02:30:44 UTC (rev 5853)
@@ -1,20122 +1,1846 @@
-diff -Naur ckit/ckit-lib.mlb ckit-mlton/ckit-lib.mlb
---- ckit/ckit-lib.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/ckit-lib.mlb	2006-05-02 22:38:21.000000000 -0400
-@@ -0,0 +1 @@
-+src/ckit-lib.mlb
-diff -Naur ckit/README.mlton ckit-mlton/README.mlton
---- ckit/README.mlton	1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/README.mlton	2006-05-02 22:38:21.000000000 -0400
-@@ -0,0 +1,13 @@
-+The following changes were made to the ckit Library, in addition to
-+deriving the {{{.mlb}}} file from the {{{.cm}}} files:
-+ * {{{parser/parse-tree-sig.sml}}} (modified): Rewrote use of (sequential) {{{withtype}}} in signature.
-+ * {{{parser/parse-tree.sml}}} (modified): Rewrote use of (sequential) {{{withtype}}}.
-+ * {{{ast/ast-sig.sml}}} (modified): Rewrote use of {{{withtype}}} in signature.
-+ * {{{ast/pp/pp-lib.sml}}} (modified): Rewrote use of ''or-patterns''.
-+ * {{{ast/pp/pp-ast-ext-sig.sml}}} (modified): Rewrote use of {{{signature}}} in {{{local}}}.
-+ * {{{ast/pp/pp-ast-adornment-sig.sml}}} (modified): Rewrote use of {{{signature}}} in {{{local}}}.
-+ * {{{ast/type-util-sig.sml}}} (modified): Rewrote use of {{{signature}}} in {{{local}}}.
-+ * {{{ast/type-util.sml}}} (modified): Rewrote use of ''or-patterns''.
-+ * {{{ast/sizeof.sml}}} (modified): Rewrote use of ''or-patterns''.
-+ * {{{ast/initializer-normalizer.sml}}} (modified): Rewrote use of ''or-patterns''.
-+ * {{{ast/build-ast.sml}}} (modified): Rewrote use of ''or-patterns''.
-diff -Naur ckit/src/ast/ast-sig.sml ckit-mlton/src/ast/ast-sig.sml
---- ckit/src/ast/ast-sig.sml	2001-10-31 15:22:41.000000000 -0500
-+++ ckit-mlton/src/ast/ast-sig.sml	2006-05-02 22:38:21.000000000 -0400
-@@ -67,7 +67,12 @@
-   datatype declaration
-     = TypeDecl of {shadow: {strct:bool} option, tid:tid}
-         (* placeholder to indicate where typedefs/enums/structs should be printed *)
--    | VarDecl of id * initExpression option
-+    | VarDecl of 
-+        (* id *) {name: Symbol.symbol, uid: Pid.uid, 
-+		  location: SourceMap.location, ctype: ctype, 
-+		  stClass: storageClass, status: declStatus, 
-+		  global: bool, kind: idKind} *
-+        initExpression option
- 
- 
-   (* STATEMENTS *)
-@@ -106,15 +111,31 @@
-     | Assign of expression * expression
-     | Comma of expression * expression
-     | Sub of expression * expression          
--    | Member of expression * member
--    | Arrow of expression * member
-+    | Member of 
-+        expression * 
-+	(* member *) {name: Symbol.symbol, uid : Pid.uid, 
-+		      location : SourceMap.location, 
-+		      ctype: ctype, kind: memberKind}
-+    | Arrow of 
-+        expression * 
-+	(* member *) {name: Symbol.symbol, uid : Pid.uid, 
-+		      location : SourceMap.location, 
-+		      ctype: ctype, kind: memberKind}
-     | Deref of expression                     
-     | AddrOf of expression                    
-     | Binop of binop * expression * expression
-     | Unop of unop * expression
-     | Cast of ctype * expression
--    | Id of id
--    | EnumId of member * LargeInt.int
-+    | Id of 
-+	(* id *) {name: Symbol.symbol, uid: Pid.uid, 
-+		  location: SourceMap.location, ctype: ctype, 
-+		  stClass: storageClass, status: declStatus, 
-+		  global: bool, kind: idKind}
-+    | EnumId of 
-+	(* member *) {name: Symbol.symbol, uid : Pid.uid, 
-+		      location : SourceMap.location, 
-+		      ctype: ctype, kind: memberKind} *
-+	LargeInt.int
-     | SizeOf of ctype  (* not used in compiler mode; sizeof expr becomes sizeof (typeof expr)  *)
-     | ExprExt of (expression, statement, binop, unop) AstExt.expressionExt
-     | ErrorExpr
-@@ -131,7 +152,13 @@
-                                        * signednessTag
-     | Array of (LargeInt.int * expression) option * ctype
-     | Pointer of ctype
--    | Function of ctype * (ctype * id option) list
-+    | Function of 
-+        ctype * 
-+	(ctype * 
-+	 (* id *) {name: Symbol.symbol, uid: Pid.uid, 
-+		   location: SourceMap.location, ctype: ctype, 
-+		   stClass: storageClass, status: declStatus, 
-+		   global: bool, kind: idKind} option) list
-     | StructRef of tid (* reference to a tid bound by a struct decl *)
-     | UnionRef of tid  (* reference to a tid bound by a union decl *)
-     | EnumRef of tid   (* reference to a tid bound by a enumeration decl *)
-@@ -151,7 +178,7 @@
-     | UNIONmem
-     | ENUMmem of LargeInt.int
- 
--  withtype member =
-+  type member =
-     {name: Symbol.symbol,  (* the name of the member *)
-      uid : Pid.uid,        (* unique identifier *)
-      location : SourceMap.location,
-diff -Naur ckit/src/ast/build-ast.sml ckit-mlton/src/ast/build-ast.sml
---- ckit/src/ast/build-ast.sml	2003-08-28 17:58:39.000000000 -0400
-+++ ckit-mlton/src/ast/build-ast.sml	2006-05-02 22:38:21.000000000 -0400
-@@ -290,7 +290,8 @@
- 	of SOME{ntype=NONE,...} => true
- 	 | _ => false
- 
--  fun isPartialTy(Ast.StructRef tid | Ast.UnionRef tid) = isPartial tid
-+  fun isPartialTy(Ast.StructRef tid) = isPartial tid
-+    | isPartialTy(Ast.UnionRef tid) = isPartial tid
-     | isPartialTy _ = false
- 
- 
-@@ -443,7 +444,10 @@
-       case expr
- 	of Ast.Member(Ast.EXPR (expr'', aid, _), _) => 
- 	    isLval (expr'', lookAid aid)
--	 | (Ast.Id _ | Ast.Sub _ | Ast.Arrow _ | Ast.Deref _) => true
-+	 | Ast.Id _ => true
-+	 | Ast.Sub _ => true
-+	 | Ast.Arrow _ => true
-+	 | Ast.Deref _ => true
- 	 | _ => false
- 
-   fun checkAssignableLval (expr, ty, s) =
-@@ -602,7 +606,9 @@
-        NB 2: if type is array then *do* generate errors when initializer is simple  *)
- 
- 
--  fun TCInitializer(ctype as (Ast.TypeRef _ | Ast.Qual _), expr) =
-+  fun TCInitializer(ctype as Ast.TypeRef _, expr) =
-+        TCInitializer(getCoreType ctype, expr)  (* the following TCInitializer cases expect coretypes *)
-+    | TCInitializer(ctype as Ast.Qual _, expr) =
-         TCInitializer(getCoreType ctype, expr)  (* the following TCInitializer cases expect coretypes *)
-     | TCInitializer (Ast.Array(opt, ctype), Ast.Aggregate exprs) = 
- 	(case (opt, LargeInt.fromInt(List.length exprs))
-@@ -650,7 +656,11 @@
- 	      error "empty union"
- 	  | NONE => bug "TCInitializer: lookTid failed"
- 	  | _ => error "TCInitializer: ill-formed UnionRef type")
--    | TCInitializer (ty as (Ast.StructRef _ | Ast.UnionRef _), Ast.Simple(Ast.EXPR(coreExp, aid, _))) =
-+    | TCInitializer (ty as Ast.StructRef _, Ast.Simple(Ast.EXPR(coreExp, aid, _))) =
-+	if isAssignableTys {lhsTy=ty, rhsTy=lookAid aid, rhsExprOpt=SOME coreExp} 
-+	  then ()
-+	else error "type of initializer is incompatible with type of lval"
-+    | TCInitializer (ty as Ast.UnionRef _, Ast.Simple(Ast.EXPR(coreExp, aid, _))) =
- 	if isAssignableTys {lhsTy=ty, rhsTy=lookAid aid, rhsExprOpt=SOME coreExp} 
- 	  then ()
- 	else error "type of initializer is incompatible with type of lval"
-@@ -804,7 +814,9 @@
-             b) the object has static storage duration			      
-           *)
- 	 (* Note: should really reduce constants arith exprs to simple constants *)
--	  fun constCheck(Ast.EXPR((Ast.StringConst _ | Ast.IntConst _ | Ast.RealConst _),_,_)) = true
-+	  fun constCheck(Ast.EXPR(Ast.StringConst _,_,_)) = true
-+	    | constCheck(Ast.EXPR(Ast.IntConst _,_,_)) = true
-+	    | constCheck(Ast.EXPR(Ast.RealConst _,_,_)) = true
- 	    | constCheck(Ast.EXPR(Ast.QuestionColon(e1, e2, e3), _, _))
- 	    = constCheck e1 andalso constCheck e2 andalso constCheck e3
- 	    | constCheck(Ast.EXPR(Ast.Binop(_, e1, e2), _, _))
-@@ -2371,7 +2383,11 @@
- 		  (case spec 
- 		     of PT.Signed =>
- 			 (case !kind
--			    of SOME (Ast.FLOAT | Ast.DOUBLE | Ast.LONGDOUBLE) => 
-+			    of SOME Ast.FLOAT => 
-+				 error "illegal combination of signed with float/double/long double"
-+			     | SOME Ast.DOUBLE => 
-+				 error "illegal combination of signed with float/double/long double"
-+			     | SOME Ast.LONGDOUBLE => 
- 				 error "illegal combination of signed with float/double/long double"
- 			     | _ => ();
- 			  case !signed
-@@ -2379,7 +2395,11 @@
- 			     | SOME _ => error "Multiple signed/unsigned")
- 		      | PT.Unsigned =>
- 			 (case !kind
--			    of SOME (Ast.FLOAT | Ast.DOUBLE | Ast.LONGDOUBLE) => 
-+			    of SOME Ast.FLOAT => 
-+				 error "illegal combination of unsigned with float/double/long double"
-+			     | SOME Ast.DOUBLE => 
-+				 error "illegal combination of unsigned with float/double/long double"
-+			     | SOME Ast.LONGDOUBLE => 
- 				 error "illegal combination of unsigned with float/double/long double"
- 			     | _ => ();
- 			  case !signed
-@@ -2394,7 +2414,8 @@
- 					  | _ => "illegal use of char specifier"))
- 		      | PT.Short =>
- 			 (case !kind
--			    of (NONE | SOME Ast.INT) => (kind := SOME Ast.SHORT)
-+			    of NONE => (kind := SOME Ast.SHORT)
-+			     | SOME Ast.INT => (kind := SOME Ast.SHORT)
- 			     | SOME ct =>
- 				error (case ct
- 					 of Ast.SHORT => "duplicate short specifier"
-@@ -2402,7 +2423,9 @@
- 		      | PT.Int =>
- 			 (case !kind
- 			    of NONE => (kind := SOME Ast.INT)
--			     | SOME (Ast.SHORT | Ast.LONG | Ast.LONGLONG) => ()
-+			     | SOME Ast.SHORT => ()
-+			     | SOME Ast.LONG => ()
-+			     | SOME Ast.LONGLONG => ()
- 			     | SOME ct =>
- 				error (case ct
- 					 of Ast.INT => "duplicate int specifier"
-@@ -2687,7 +2710,17 @@
- 				   (case lookLocalScope sym
- 				      of SOME(TAG{ctype=ty,location=loc',...}) => 
- 					 (case ty
--					    of (Ast.UnionRef tid | Ast.StructRef tid) => 
-+					    of Ast.UnionRef tid => 
-+					       if isPartial tid
-+					       then SOME{tid=tid, alreadyDefined=false}
-+					       else if repeated_declarations_ok
-+					       then SOME{tid=tid, alreadyDefined=true}
-+					       else (error("Redeclaration of type tag `"
-+						       ^ tagname
-+						       ^ "'; previous declaration at "
-+						       ^ SM.locToString loc');
-+						     NONE)
-+					     | Ast.StructRef tid => 
- 					       if isPartial tid
- 					       then SOME{tid=tid, alreadyDefined=false}
- 					       else if repeated_declarations_ok
-diff -Naur ckit/src/ast/initializer-normalizer.sml ckit-mlton/src/ast/initializer-normalizer.sml
---- ckit/src/ast/initializer-normalizer.sml	2003-08-28 17:58:39.000000000 -0400
-+++ ckit-mlton/src/ast/initializer-normalizer.sml	2006-05-02 22:38:21.000000000 -0400
-@@ -156,7 +156,13 @@
- 		   feed (unionNorm (ctype, fields), inits)
- 		| SOME _ => fail "Incomplete type for union ref"
- 		| NONE => fail "Inconsistent table for union ref")
--	 | (Ast.Numeric _ | Ast.Pointer _ | Ast.Function _ | Ast.EnumRef _) =>
-+	 | Ast.Numeric _ =>
-+	    feed (scalarNorm ctype, inits)
-+	 | Ast.Pointer _ =>
-+	    feed (scalarNorm ctype, inits)
-+	 | Ast.Function _ =>
-+	    feed (scalarNorm ctype, inits)
-+	 | Ast.EnumRef _ =>
- 	    feed (scalarNorm ctype, inits)
- 	 | Ast.Void => fail "Incomplete type: void"
- 	 | Ast.Ellipses => fail "Cannot initialize ellipses"
-diff -Naur ckit/src/ast/pp/pp-ast-adornment-sig.sml ckit-mlton/src/ast/pp/pp-ast-adornment-sig.sml
---- ckit/src/ast/pp/pp-ast-adornment-sig.sml	2000-04-05 14:34:56.000000000 -0400
-+++ ckit-mlton/src/ast/pp/pp-ast-adornment-sig.sml	2006-05-02 22:38:21.000000000 -0400
-@@ -1,14 +1,14 @@
- (* Copyright (c) 1998 by Lucent Technologies *)
- 
--local 
-+(* local *)
-   type 'a pp =  Tables.tidtab -> OldPrettyPrint.ppstream -> 'a -> unit
- 
-   type ('aidinfo,'a,'b) adornment_pp = ('aidinfo -> 'a) -> 'aidinfo -> 'b
--in
-+(* in *)
- signature PPASTADORNMENT = sig
-   type aidinfo
-   val ppExpressionAdornment: (aidinfo,Ast.coreExpression pp,Ast.expression pp) adornment_pp
-   val ppStatementAdornment : (aidinfo,Ast.coreStatement pp,Ast.statement pp) adornment_pp
-   val ppExternalDeclAdornment: (aidinfo,Ast.coreExternalDecl pp,Ast.externalDecl pp) adornment_pp
- end
--end
-+(* end *)
-diff -Naur ckit/src/ast/pp/pp-ast-ext-sig.sml ckit-mlton/src/ast/pp/pp-ast-ext-sig.sml
---- ckit/src/ast/pp/pp-ast-ext-sig.sml	2000-04-05 14:34:56.000000000 -0400
-+++ ckit-mlton/src/ast/pp/pp-ast-ext-sig.sml	2006-05-02 22:38:21.000000000 -0400
-@@ -1,13 +1,13 @@
- (* Copyright (c) 1998 by Lucent Technologies *)
- 
--local 
-+(* local *)
-   type 'a pp =  Tables.tidtab -> OldPrettyPrint.ppstream -> 'a -> unit
-   type ('a, 'aidinfo) ppExt =
-        (('aidinfo -> Ast.expression pp) * ('aidinfo -> Ast.statement pp) *
- 	('aidinfo -> Ast.binop pp) * ('aidinfo -> Ast.unop pp))
-        -> 'aidinfo
-        -> Tables.tidtab -> OldPrettyPrint.ppstream -> 'a -> unit
--in
-+(* in *)
- 
- signature PPASTEXT = sig
-   type aidinfo
-@@ -24,4 +24,4 @@
-        aidinfo) ppExt
- end
- 
--end
-+(* end *)
-diff -Naur ckit/src/ast/pp/pp-lib.sml ckit-mlton/src/ast/pp/pp-lib.sml
---- ckit/src/ast/pp/pp-lib.sml	2000-04-05 14:34:57.000000000 -0400
-+++ ckit-mlton/src/ast/pp/pp-lib.sml	2006-05-02 22:38:21.000000000 -0400
-@@ -115,7 +115,10 @@
- 
-   fun ppId pps ({name,uid,kind,stClass,global,...}: Ast.id) = 
-       case (stClass,global)
--	of ((Ast.EXTERN,_) | (_, true)) => (* globals *)
-+	of (Ast.EXTERN,_) => (* globals *)
-+	     if !suppressPidGlobalUnderscores then ppSymbol' pps name
-+	     else ppSymbol pps (name,uid)
-+	 | (_, true) => (* globals *)
- 	     if !suppressPidGlobalUnderscores then ppSymbol' pps name
- 	     else ppSymbol pps (name,uid)
- 	 | _ => ppSymbol pps (name,uid)
-diff -Naur ckit/src/ast/sizeof.sml ckit-mlton/src/ast/sizeof.sml
---- ckit/src/ast/sizeof.sml	2000-04-05 14:34:55.000000000 -0400
-+++ ckit-mlton/src/ast/sizeof.sml	2006-05-02 22:38:21.000000000 -0400
-@@ -321,7 +321,9 @@
-   and process (sizesErrWarnBug as {sizes, err, warn, bug}) tidtab ty =
-       case ty
- 	of Ast.TypeRef tid => processTid sizesErrWarnBug tidtab tid
--	 | (Ast.StructRef tid | Ast.UnionRef tid) =>
-+	 | Ast.StructRef tid =>
-+	     processTid sizesErrWarnBug tidtab tid
-+	 | Ast.UnionRef tid =>
- 	     processTid sizesErrWarnBug tidtab tid
- 	 | Ast.EnumRef _ => 
- 	     let val {bits,align} = #int sizes
-diff -Naur ckit/src/ast/type-util-sig.sml ckit-mlton/src/ast/type-util-sig.sml
---- ckit/src/ast/type-util-sig.sml	2001-10-31 15:22:41.000000000 -0500
-+++ ckit-mlton/src/ast/type-util-sig.sml	2006-05-02 22:38:21.000000000 -0400
-@@ -1,10 +1,10 @@
- (* Copyright (c) 1998 by Lucent Technologies *)
- 
--local 
-+(* local *)
-   type 'a type_util      = Tables.tidtab -> Ast.ctype               -> 'a 
-   type 'a type_mem_util  = Tables.tidtab -> Ast.ctype * Ast.member  -> 'a 
-   type 'a type_type_util = Tables.tidtab -> Ast.ctype * Ast.ctype -> 'a 
--in
-+(* in *)
- 
- signature TYPE_UTIL =
- sig
-@@ -145,4 +145,4 @@
- 
- end (* signature TYPE_UTIL *)
- 
--end (* local *)
-+(* end (* local *) *)
-diff -Naur ckit/src/ast/type-util.sml ckit-mlton/src/ast/type-util.sml
---- ckit/src/ast/type-util.sml	2001-10-31 15:22:41.000000000 -0500
-+++ ckit-mlton/src/ast/type-util.sml	2006-05-02 22:38:21.000000000 -0400
-@@ -282,7 +282,8 @@
-   fun isStructOrUnion tidtab ty =
-     case reduceTypedef tidtab ty
-       of Ast.Qual (_,ty) => isStructOrUnion tidtab ty
--       | (Ast.StructRef tid | Ast.UnionRef tid) => SOME tid
-+       | Ast.StructRef tid => SOME tid
-+       | Ast.UnionRef tid => SOME tid
-        | _ => NONE
- 
-   fun isEnum tidtab (ty,member as {uid,kind=Ast.ENUMmem _,...}: Ast.member) =
-@@ -553,7 +554,9 @@
- 	    | (Pointer ct1, Pointer ct2) => (case compose (ct1, ct2) of
- 					       (SOME ct, eml) => (SOME(Pointer ct), eml)
- 					     | (NONE, eml) => (NONE, eml))
--	    | ((StructRef tid1, StructRef tid2) | (UnionRef tid1, UnionRef tid2)) =>
-+	    | (StructRef tid1, StructRef tid2) =>
-+		if Tid.equal (tid1, tid2) then (SOME ty1, nil) else (NONE, nil)
-+	    | (UnionRef tid1, UnionRef tid2) =>
- 		if Tid.equal (tid1, tid2) then (SOME ty1, nil) else (NONE, nil)
- 	    | _ => (NONE, nil)
- 	end
-@@ -651,8 +654,10 @@
-   fun conditionalExp tidtab {ty1, exp1Zero, ty2, exp2Zero} = (* for Eq and Neq *)
-     (case (usualUnaryCnv tidtab ty1, exp1Zero, usualUnaryCnv tidtab ty2, exp2Zero) of  
-        (Ast.Numeric _, _, Ast.Numeric _, _) => usualBinaryCnv tidtab (ty1, ty2) (* get common type *)
--     | ((Ast.StructRef tid1, _, Ast.StructRef tid2, _) |
--	(Ast.UnionRef tid1, _, Ast.UnionRef tid2, _)) =>
-+     | (Ast.StructRef tid1, _, Ast.StructRef tid2, _) =>
-+	  if Tid.equal (tid1, tid2) then SOME ty1
-+	  else NONE
-+     | (Ast.UnionRef tid1, _, Ast.UnionRef tid2, _) =>
- 	  if Tid.equal (tid1, tid2) then SOME ty1
- 	  else NONE
-      | (Ast.Void, _, Ast.Void, _) => SOME ty1
-@@ -745,9 +750,12 @@
- 	     | ([Ast.Void], nil) => (nil, nil) (* bugfix 15/jun/99: a function with a single void argument
-                                                * is a function of no args  *)
-      *)
--	     | ((_, nil, _) | (_, _, nil)) => ( ["Type Warning: function call has too few args"]
--					       , nil
--					       )
-+	     | (_, nil, _) => (["Type Warning: function call has too few args"]
-+                               , nil
-+			       )
-+	     | (_, _, nil) => (["Type Warning: function call has too few args"]
-+			       , nil
-+			       )
- 	     | (nil, argl, _) => (["Type Warning: function call has too many args"]
- 				  , List.map (functionArgConv tidtab) argl
- 				  )
-diff -Naur ckit/src/ckit-lib.mlb ckit-mlton/src/ckit-lib.mlb
---- ckit/src/ckit-lib.mlb	1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/src/ckit-lib.mlb	2006-05-02 23:00:54.000000000 -0400
-@@ -0,0 +1,876 @@
-+
-+ann
-+  "nonexhaustiveMatch warn" "redundantMatch warn"
-+  "sequenceNonUnit ignore"
-+  "warnUnused false" "forceUsed"
-+in
-+
-+local
-+  basis l4 = 
-+    bas
-+      (* $/basis.cm ====> *) $(SML_LIB)/basis/basis.mlb 
-+    end
-+  basis l24 = 
-+    bas
-+      (* $/smlnj-lib.cm ====> *) $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb
-+    end
-+  basis l71 = 
-+    bas
-+      (* $/pp-lib.cm ====> *) $(SML_LIB)/smlnj-lib/PP/pp-lib.mlb
-+    end
-+  basis l96 = 
-+    bas
-+      (* $/ml-yacc-lib.cm ====> *) $(SML_LIB)/mlyacc-lib/mlyacc-lib.mlb
-+    end
-+in
-+local
-+   $(SML_LIB)/basis/pervasive.mlb
-+   local
-+      open l4
-+   in
-+      structure gs_0 = TextIO
-+   end
-+   local
-+      variants/type-check-control-sig.sml
-+   in
-+      signature gs_1 = TYPECHECKCONTROL
-+   end
-+   local
-+      variants/parse-control-sig.sml
-+   in
-+      signature gs_2 = PARSECONTROL
-+   end
-+   local
-+      signature PARSECONTROL = gs_2
-+      signature TYPECHECKCONTROL = gs_1
-+      variants/config-sig.sml
-+   in
-+      signature gs_3 = CONFIG
-+   end
-+   local
-+      signature CONFIG = gs_3
-+      signature PARSECONTROL = gs_2
-+      signature TYPECHECKCONTROL = gs_1
-+      structure TextIO = gs_0
-+      variants/ansic/config.sml
-+   in
-+      structure gs_4 = Config
-+   end
-+   local
-+      open l24
-+   in
-+      functor gs_5 = HashTableFn
-+   end
-+   local
-+      ast/uidtabimp-sig.sml
-+   in
-+      signature gs_6 = UIDTABIMP
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_7 = Word
-+   end
-+   local
-+      structure Word = gs_7
-+      ast/uid-sig.sml
-+   in
-+      signature gs_8 = UID
-+   end
-+   local
-+      functor HashTableFn = gs_5
-+      signature UID = gs_8
-+      signature UIDTABIMP = gs_6
-+      ast/uidtabimp-fn.sml
-+   in
-+      functor gs_9 = UidtabImpFn
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_10 = Int
-+   end
-+   local
-+      structure Int = gs_10
-+      signature UID = gs_8
-+      structure Word = gs_7
-+      ast/uid-fn.sml
-+   in
-+      functor gs_11 = UidFn
-+   end
-+   local
-+      signature UID = gs_8
-+      functor UidFn = gs_11
-+      ast/aid.sml
-+   in
-+      structure gs_12 = Aid
-+   end
-+   local
-+      structure Aid = gs_12
-+      functor UidtabImpFn = gs_9
-+      ast/aidtab.sml
-+   in
-+      structure gs_13 = Aidtab
-+   end
-+   local
-+      open l24
-+   in
-+      structure gs_14 = Format
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_15 = String
-+   end
-+   local
-+      parser/util/sourcemap-sig.sml
-+   in
-+      signature gs_16 = SOURCE_MAP
-+   end
-+   local
-+      structure Config = gs_4
-+      structure Format = gs_14
-+      structure Int = gs_10
-+      signature SOURCE_MAP = gs_16
-+      structure String = gs_15
-+      parser/util/sourcemap.sml
-+   in
-+      structure gs_17 = SourceMap
-+   end
-+   local
-+      open l71
-+   in
-+      functor gs_18 = PPStreamFn
-+   end
-+   local
-+      open l71
-+   in
-+      structure gs_19 = StringToken
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_20 = StringCvt
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_21 = List
-+   end
-+   local
-+      structure List = gs_21
-+      functor PPStreamFn = gs_18
-+      structure String = gs_15
-+      structure StringCvt = gs_20
-+      structure StringToken = gs_19
-+      parser/util/old-pp.sml
-+   in
-+      signature gs_22 = OLD_PRETTYPRINT
-+      structure gs_23 = OldPrettyPrint
-+   end
-+   local
-+      structure Format = gs_14
-+      signature OLD_PRETTYPRINT = gs_22
-+      structure OldPrettyPrint = gs_23
-+      structure SourceMap = gs_17
-+      structure TextIO = gs_0
-+      parser/util/error-sig.sml
-+   in
-+      signature gs_24 = ERROR
-+   end
-+   local
-+      signature ERROR = gs_24
-+      structure Format = gs_14
-+      signature OLD_PRETTYPRINT = gs_22
-+      structure OldPrettyPrint = gs_23
-+      structure SourceMap = gs_17
-+      structure TextIO = gs_0
-+      parser/util/error.sml
-+   in
-+      structure gs_25 = Error
-+   end
-+   local
-+      open l96
-+   in
-+      functor gs_26 = Join
-+      functor gs_27 = JoinWithArg
-+   end
-+   local
-+      open l96
-+   in
-+      structure gs_28 = LrParser
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_29 = LargeInt
-+   end
-+   local
-+      parser/extensions/c/parse-tree-ext.sml
-+   in
-+      structure gs_30 = ParseTreeExt
-+   end
-+   local
-+      structure LargeInt = gs_29
-+      structure ParseTreeExt = gs_30
-+      structure SourceMap = gs_17
-+      parser/parse-tree-sig.sml
-+   in
-+      signature gs_31 = PARSETREE
-+   end
-+   local
-+      structure LargeInt = gs_29
-+      signature PARSETREE = gs_31
-+      structure ParseTreeExt = gs_30
-+      structure SourceMap = gs_17
-+      parser/parse-tree.sml
-+   in
-+      structure gs_32 = ParseTree
-+   end
-+   local
-+      structure Error = gs_25
-+      structure ParseTree = gs_32
-+      parser/parser-sig.sml
-+   in
-+      signature gs_33 = PARSER
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_34 = IntInf
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_35 = CharVector
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_36 = Vector
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_37 = Real
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_38 = Char
-+   end
-+   local
-+      open l24
-+   in
-+      structure gs_39 = AtomTable
-+   end
-+   local
-+      open l24
-+   in
-+      structure gs_40 = Atom
-+   end
-+   local
-+      structure Atom = gs_40
-+      structure AtomTable = gs_39
-+      structure Config = gs_4
-+      parser/grammar/tdefs.sml
-+   in
-+      signature gs_41 = TYPEDEFS
-+      structure gs_42 = TypeDefs
-+   end
-+   local
-+      open l96
-+   in
-+      signature gs_43 = ARG_LEXER
-+      signature gs_44 = ARG_PARSER
-+      signature gs_45 = LEXER
-+      signature gs_46 = LR_PARSER
-+      signature gs_47 = LR_TABLE
-+      signature gs_48 = PARSER
-+      signature gs_49 = PARSER_DATA
-+      signature gs_50 = STREAM
-+      signature gs_51 = TOKEN
-+   end
-+   local
-+      signature ARG_LEXER = gs_43
-+      signature ARG_PARSER = gs_44
-+      signature LEXER = gs_45
-+      signature LR_PARSER = gs_46
-+      signature LR_TABLE = gs_47
-+      structure LargeInt = gs_29
-+      signature PARSER = gs_48
-+      signature PARSER_DATA = gs_49
-+      signature STREAM = gs_50
-+      signature TOKEN = gs_51
-+      parser/grammar/c.grm.sig
-+   in
-+      signature gs_52 = C_LRVALS
-+      signature gs_53 = C_TOKENS
-+   end
-+   local
-+      structure Atom = gs_40
-+      structure AtomTable = gs_39
-+      signature C_LRVALS = gs_52
-+      signature C_TOKENS = gs_53
-+      structure Config = gs_4
-+      signature TYPEDEFS = gs_41
-+      structure TypeDefs = gs_42
-+      parser/grammar/tokentable.sml
-+   in
-+      signature gs_54 = TOKENTABLE
-+      functor gs_55 = TokenTable
-+   end
-+   local
-+      signature C_LRVALS = gs_52
-+      signature C_TOKENS = gs_53
-+      structure Char = gs_38
-+      structure CharVector = gs_35
-+      structure Int = gs_10
-+      structure IntInf = gs_34
-+      structure LargeInt = gs_29
-+      structure Real = gs_37
-+      structure SourceMap = gs_17
-+      structure String = gs_15
-+      structure StringCvt = gs_20
-+      signature TOKENTABLE = gs_54
-+      functor TokenTable = gs_55
-+      structure Vector = gs_36
-+      parser/grammar/c.lex.sml
-+   in
-+      functor gs_56 = CLexFun
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_57 = Array
-+   end
-+   local
-+      signature ARG_LEXER = gs_43
-+      signature ARG_PARSER = gs_44
-+      structure Array = gs_57
-+      signature C_LRVALS = gs_52
-+      signature C_TOKENS = gs_53
-+      structure Char = gs_38
-+      structure Error = gs_25
-+      structure Int = gs_10
-+      signature LEXER = gs_45
-+      signature LR_PARSER = gs_46
-+      signature LR_TABLE = gs_47
-+      structure LargeInt = gs_29
-+      structure List = gs_21
-+      signature PARSER = gs_48
-+      signature PARSER_DATA = gs_49
-+      structure ParseTree = gs_32
-+      signature STREAM = gs_50
-+      structure SourceMap = gs_17
-+      structure String = gs_15
-+      signature TOKEN = gs_51
-+      signature TYPEDEFS = gs_41
-+      structure TypeDefs = gs_42
-+      parser/grammar/c.grm.sml
-+   in
-+      functor gs_58 = LrValsFun
-+   end
-+   local
-+      functor CLexFun = gs_56
-+      structure Error = gs_25
-+      functor Join = gs_26
-+      functor JoinWithArg = gs_27
-+      structure LrParser = gs_28
-+      functor LrValsFun = gs_58
-+      signature PARSER = gs_33
-+      structure SourceMap = gs_17
-+      signature TOKENTABLE = gs_54
-+      signature TYPEDEFS = gs_41
-+      structure TextIO = gs_0
-+      functor TokenTable = gs_55
-+      structure TypeDefs = gs_42
-+      parser/parser.sml
-+   in
-+      structure gs_59 = Parser
-+   end
-+   local
-+      open l24
-+   in
-+      structure gs_60 = HashString
-+   end
-+   local
-+      signature UID = gs_8
-+      functor UidFn = gs_11
-+      ast/tid.sml
-+   in
-+      structure gs_61 = Tid
-+   end
-+   local
-+      structure Tid = gs_61
-+      ast/symbol-sig.sml
-+   in
-+      signature gs_62 = SYMBOL
-+   end
-+   local
-+      structure HashString = gs_60
-+      structure Int = gs_10
-+      signature SYMBOL = gs_62
-+      structure String = gs_15
-+      structure Tid = gs_61
-+      structure Word = gs_7
-+      ast/symbol.sml
-+   in
-+      structure gs_63 = Symbol
-+   end
-+   local
-+      signature UID = gs_8
-+      functor UidFn = gs_11
-+      ast/pid.sml
-+   in
-+      structure gs_64 = Pid
-+   end
-+   local
-+      ast/extensions/c/ast-ext.sml
-+   in
-+      structure gs_65 = AstExt
-+   end
-+   local
-+      structure Aid = gs_12
-+      structure AstExt = gs_65
-+      structure LargeInt = gs_29
-+      structure Pid = gs_64
-+      structure SourceMap = gs_17
-+      structure Symbol = gs_63
-+      structure Tid = gs_61
-+      ast/ast-sig.sml
-+   in
-+      signature gs_66 = AST
-+   end
-+   local
-+      signature AST = gs_66
-+      structure Aid = gs_12
-+      structure AstExt = gs_65
-+      structure LargeInt = gs_29
-+      structure Pid = gs_64
-+      structure SourceMap = gs_17
-+      structure Symbol = gs_63
-+      structure Tid = gs_61
-+      ast/ast.sml
-+   in
-+      structure gs_67 = Ast
-+   end
-+   local
-+      structure Ast = gs_67
-+      structure LargeInt = gs_29
-+      structure Pid = gs_64
-+      structure SourceMap = gs_17
-+      structure Symbol = gs_63
-+      structure Tid = gs_61
-+      ast/bindings.sml
-+   in
-+      structure gs_68 = Bindings
-+   end
-+   local
-+      open l24
-+   in
-+      functor gs_69 = BinaryMapFn
-+   end
-+   local
-+      open l24
-+   in
-+      signature gs_70 = ORD_MAP
-+   end
-+   local
-+      structure Tid = gs_61
-+      functor UidtabImpFn = gs_9
-+      ast/tidtab.sml
-+   in
-+      structure gs_71 = Tidtab
-+   end
-+   local
-+      structure Aidtab = gs_13
-+      structure Ast = gs_67
-+      structure Bindings = gs_68
-+      structure Tidtab = gs_71
-+      ast/tables.sml
-+   in
-+      structure gs_72 = Tables
-+   end
-+   local
-+      structure Aid = gs_12
-+      structure Ast = gs_67
-+      structure Bindings = gs_68
-+      structure Error = gs_25
-+      structure LargeInt = gs_29
-+      signature ORD_MAP = gs_70
-+      structure SourceMap = gs_17
-+      structure Symbol = gs_63
-+      structure Tables = gs_72
-+      structure Tid = gs_61
-+      ast/state-sig.sml
-+   in
-+      signature gs_73 = STATE
-+   end
-+   local
-+      structure Aid = gs_12
-+      structure Aidtab = gs_13
-+      structure Ast = gs_67
-+      functor BinaryMapFn = gs_69
-+      structure Bindings = gs_68
-+      structure Error = gs_25
-+      structure LargeInt = gs_29
-+      structure List = gs_21
-+      structure Pid = gs_64
-+      signature STATE = gs_73
-+      structure SourceMap = gs_17
-+      structure Symbol = gs_63
-+      structure Tables = gs_72
-+      structure Tid = gs_61
-+      structure Tidtab = gs_71
-+      ast/state.sml
-+   in
-+      structure gs_74 = State
-+   end
-+   local
-+      ast/sizes-sig.sml
-+   in
-+      signature gs_75 = SIZES
-+   end
-+   local
-+      signature SIZES = gs_75
-+      ast/sizes.sml
-+   in
-+      structure gs_76 = Sizes
-+   end
-+   local
-+      structure Ast = gs_67
-+      structure Bindings = gs_68
-+      structure Sizes = gs_76
-+      structure State = gs_74
-+      structure Tables = gs_72
-+      structure TextIO = gs_0
-+      structure Tidtab = gs_71
-+      ast/parse-to-ast-sig.sml
-+   in
-+      signature gs_77 = PARSE_TO_AST
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_78 = ListPair
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_79 = Option
-+   end
-+   local
-+      structure Ast = gs_67
-+      structure Bindings = gs_68
-+      structure Error = gs_25
-+      structure ParseTree = gs_32
-+      structure Sizes = gs_76
-+      structure State = gs_74
-+      structure Tables = gs_72
-+      structure Tidtab = gs_71
-+      ast/build-ast-sig.sml
-+   in
-+      signature gs_80 = BUILD_AST
-+   end
-+   local
-+      structure Ast = gs_67
-+      structure ParseTree = gs_32
-+      structure ParseTreeExt = gs_30
-+      structure State = gs_74
-+      ast/cnv-ext-sig.sml
-+   in
-+      signature gs_81 = CNVEXT
-+   end
-+   local
-+      structure Ast = gs_67
-+      signature CNVEXT = gs_81
-+      structure ParseTree = gs_32
-+      structure ParseTreeExt = gs_30
-+      structure State = gs_74
-+      ast/extensions/c/cnv-ext.sml
-+   in
-+      structure gs_82 = CnvExt
-+   end
-+   local
-+      structure Ast = gs_67
-+      structure Bindings = gs_68
-+      structure Pid = gs_64
-+      structure Symbol = gs_63
-+      ast/simplify-assign-ops.sml
-+   in
-+      structure gs_83 = SimplifyAssignOps
-+   end
-+   local
-+      structure Ast = gs_67
-+      structure Bindings = gs_68
-+      signature OLD_PRETTYPRINT = gs_22
-+      structure OldPrettyPrint = gs_23
-+      structure Tables = gs_72
-+      structure Tid = gs_61
-+      ast/pp/pp-ast-sig.sml
-+   in
-+      signature gs_84 = PP_AST
-+   end
-+   local
-+      open l4
-+   in
-+      structure gs_85 = Int32
-+   end
-+   local
-+      structure Ast = gs_67
-+      structure Int = gs_10
-+      structure Int32 = gs_85
-+      structure LargeInt = gs_29
-+      signature OLD_PRETTYPRINT = gs_22
-+      structure OldPrettyPrint = gs_23
-+      structure Pid = gs_64
-+      structure Real = gs_37
-+      structure String = gs_15
-+      structure Symbol = gs_63
-+      structure Tables = gs_72
-+      structure TextIO = gs_0
-+      structure Tid = gs_61
-+      structure Tidtab = gs_71
-+      ast/pp/pp-lib.sml
-+   in
-+      structure gs_86 = PPLib
-+   end
-+   local
-+      structure Ast = gs_67
-+      structure AstExt = gs_65
-+      signature OLD_PRETTYPRINT = gs_22
-+      structure OldPrettyPrint = gs_23
-+      structure Tables = gs_72
-+      ast/pp/pp-ast-ext-sig.sml
-+   in
-+      signature gs_87 = PPASTEXT
-+   end
-+   local
-+      signature PPASTEXT = gs_87
-+      ast/extensions/c/pp-ast-ext-fn.sml
-+   in
-+      functor gs_88 = PPAstExtFn
-+   end
-+   local
-+      structure Ast = gs_67
-+      signature OLD_PRETTYPRINT = gs_22
-+      structure OldPrettyPrint = gs_23
-+      structure Tables = gs_72
-+      ast/pp/pp-ast-adornment-sig.sml
-+   in
-+      signature gs_89 = PPASTADORNMENT
-+   end
-+   local
-+      structure Ast = gs_67
-+      structure Bindings = gs_68
-+      structure Int = gs_10
-+      structure LargeInt = gs_29
-+      structure List = gs_21
-+      signature OLD_PRETTYPRINT = gs_22
-+      structure OldPrettyPrint = gs_23
-+      structure Option = gs_79
-+      signature PPASTADORNMENT = gs_89
-+      functor PPAstExtFn = gs_88
-+      structure PPLib = gs_86
-+      signature PP_AST = gs_84
-+      structure Pid = gs_64
-+      structure SourceMap = gs_17
-+      structure Tid = gs_61
-+      structure Tidtab = gs_71
-+      ast/pp/pp-ast-fn.sml
-+   in
-+      functor gs_90 = PPAstFn
-+   end
-+   local
-+      structure Ast = gs_67
-+      signature PPASTADORNMENT = gs_89
-+      functor PPAstFn = gs_90
-+      ast/pp/pp-ast.sml
-+   in
-+      structure gs_91 = PPAst
-+   end
-+   local
-+      structure Ast = gs_67
-+      ast/ctype-eq.sml
-+   in
-+      structure gs_92 = CTypeEq
-+   end
-+   local
-+      structure Ast = gs_67
-+      structure Sizes = gs_76
-+      structure Tables = gs_72
-+      ast/sizeof-sig.sml
-+   in
-+      signature gs_93 = SIZEOF
-+   end
-+   local
-+      structure Ast = gs_67
-+      structure LargeInt = gs_29
-+      structure Tables = gs_72
-+      ast/type-util-sig.sml
-+   in
-+      signature gs_94 = TYPE_UTIL
-+   end
-+   local
-+      structure Ast = gs_67
-+      structure Bindings = gs_68
-+      structure Config = gs_4
-+      structure Int = gs_10
-+      structure List = gs_21
-+      structure PPAst = gs_91
-+      structure PPLib = gs_86
-+      structure Pid = gs_64
-+      structure Symbol = gs_63
-+      signature TYPE_UTIL = gs_94
-+      structure Tables = gs_72
-+      structure Tid = gs_61
-+      structure Tidtab = gs_71
-+      ast/type-util.sml
-+   in
-+      structure gs_95 = TypeUtil
-+   end
-+   local
-+      structure Ast = gs_67
-+      functor BinaryMapFn = gs_69
-+      structure Bindings = gs_68
-+      structure Config = gs_4
-+      structure Int = gs_10
-+      structure LargeInt = gs_29
-+      structure List = gs_21
-+      structure Pid = gs_64
-+      signature SIZEOF = gs_93
-+      structure Sizes = gs_76
-+      structure Tables = gs_72
-+      structure TextIO = gs_0
-+      structure Tid = gs_61
-+      structure Tidtab = gs_71
-+      structure TypeUtil = gs_95
-+      ast/sizeof.sml
-+   in
-+      structure gs_96 = Sizeof
-+   end
-+   local
-+      structure ParseTree = gs_32
-+      structure Real = gs_37
-+      structure Tid = gs_61
-+      ast/anonymous-structs.sml
-+   in
-+      structure gs_97 = AnonymousStructs
-+      structure gs_98 = TyEq
-+   end
-+   local
-+      structure Aid = gs_12
-+      structure Ast = gs_67
-+      structure Bindings = gs_68
-+      structure Tid = gs_61
-+      ast/initializer-normalizer-sig.sml
-+   in
-+      signature gs_99 = INITIALIZER_NORMALIZER
-+   end
-+   local
-+      structure Aid = gs_12
-+      structure Ast = gs_67
-+      structure Bindings = gs_68
-+      signature INITIALIZER_NORMALIZER = gs_99
-+      structure LargeInt = gs_29
-+      structure SourceMap = gs_17
-+      structure String = gs_15
-+      structure Tid = gs_61
-+      ast/initializer-normalizer.sml
-+   in
-+      structure gs_100 = InitializerNormalizer
-+   end
-+   local
-+      structure Aid = gs_12
-+      structure Aidtab = gs_13
-+      structure AnonymousStructs = gs_97
-+      structure Ast = gs_67
-+      signature BUILD_AST = gs_80
-+      functor BinaryMapFn = gs_69
-+      structure Bindings = gs_68
-+      structure CTypeEq = gs_92
-+      structure CnvExt = gs_82
-+      structure Config = gs_4
-+      structure Error = gs_25
-+      structure InitializerNormalizer = gs_100
-+      structure Int = gs_10
-+      structure LargeInt = gs_29
-+      structure List = gs_21
-+      structure ListPair = gs_78
-+      structure Option = gs_79
-+      structure PPAst = gs_91
-+      structure PPLib = gs_86
-+      structure ParseTree = gs_32
-+      structure ParseTreeExt = gs_30
-+      structure Pid = gs_64
-+      structure SimplifyAssignOps = gs_83
-+      structure Sizeof = gs_96
-+      structure Sizes = gs_76
-+      structure SourceMap = gs_17
-+      structure State = gs_74
-+      structure String = gs_15
-+      structure Symbol = gs_63
-+      structure Tables = gs_72
-+      structure TextIO = gs_0
-+      structure Tid = gs_61
-+      structure Tidtab = gs_71
-+      structure TyEq = gs_98
-+      structure TypeUtil = gs_95
-+      structure Word = gs_7
-+      ast/build-ast.sml
-+   in
-+      structure gs_101 = BuildAst
-+   end
-+   local
-+      structure Ast = gs_67
-+      structure Bindings = gs_68
-+      structure BuildAst = gs_101
-+      structure Error = gs_25
-+      signature PARSE_TO_AST = gs_77
-+      structure PPAst = gs_91
-+      structure PPLib = gs_86
-+      structure Parser = gs_59
-+      structure Sizes = gs_76
-+      structure State = gs_74
-+      structure Tables = gs_72
-+      structure TextIO = gs_0
-+      structure Tidtab = gs_71
-+      ast/parse-to-ast.sml
-+   in
-+      structure gs_102 = ParseToAst
-+   end
-+in
-+   signature AST = gs_66
-+   structure Aidtab = gs_13
-+   structure Ast = gs_67
-+   structure Bindings = gs_68
-+   signature CONFIG = gs_3
-+   structure Config = gs_4
-+   signature PARSECONTROL = gs_2
-+   signature PARSER = gs_33
-+   signature PARSETREE = gs_31
-+   signature PARSE_TO_AST = gs_77
-+   structure PPAst = gs_91
-+   signature PP_AST = gs_84
-+   structure ParseToAst = gs_102
-+   structure ParseTree = gs_32
-+   structure Parser = gs_59
-+   structure Pid = gs_64
-+   signature SOURCE_MAP = gs_16
-+   structure Sizeof = gs_96
-+   structure Sizes = gs_76
-+   structure SourceMap = gs_17
-+   structure State = gs_74
-+   structure Symbol = gs_63
-+   signature TYPECHECKCONTROL = gs_1
-+   structure Tables = gs_72
-+   structure Tid = gs_61
-+   structure Tidtab = gs_71
-+   structure TypeUtil = gs_95
-+   signature UID = gs_8
-+   signature UIDTABIMP = gs_6
-+end
-+end
-+
-+end
-diff -Naur ckit/src/parser/grammar/c.grm.desc ckit-mlton/src/parser/grammar/c.grm.desc
---- ckit/src/parser/grammar/c.grm.desc	1969-12-31 19:00:00.000000000 -0500
-+++ ckit-mlton/src/parser/grammar/c.grm.desc	2006-05-02 23:00:53.000000000 -0400
-@@ -0,0 +1,10001 @@
-+1 shift/reduce conflict
-+
-+error:  state 404: shift/reduce conflict (shift ELSE, reduce by rule 18)
-+
-+state 0:
-+
-+	translationUnit : . tu 
-+
-+
-+	translationUnit	goto 420
-+	tu	goto 1
-+
-+	.	reduce by rule 1
-+
-+
-+state 1:
-+
-+	translationUnit : tu .  (reduce by rule 0)
-+	tu : tu . externalDeclaration 
-+
-+	SEMICOLON	shift 42
-+	LPAREN	shift 41
-+	TIMES	shift 40
-+	ID	shift 39
-+	EXTERN	shift 38
-+	AUTO	shift 37
-+	STATIC	shift 36
-+	REGISTER	shift 35
-+	CONST	shift 34
-+	VOLATILE	shift 33
-+	CHAR	shift 32
-+	DOUBLE	shift 31
-+	ENUM	shift 30
-+	FLOAT	shift 29
-+	INT	shift 28
-+	LONG	shift 27
-+	SHORT	shift 26
-+	STRUCT	shift 25
-+	UNION	shift 24
-+	UNSIGNED	shift 23
-+	SIGNED	shift 22
-+	VOID	shift 21
-+	TYPEDEF	shift 20
-+	TYPE_NAME	shift 19
-+
-+	pointer	goto 18
-+	notypeDeclarator	goto 17
-+	notypeDirectDeclarator	goto 16
-+	declarationSpecifiers	goto 15
-+	declarationModifiers	goto 14
-+	storageClassSpecifier	goto 13
-+	typeSpecifier	goto 12
-+	typeSpecifierReserved	goto 11
-+	typeQualifier	goto 10
-+	enumSpecifier	goto 9
-+	structOrUnionSpecifier	goto 8
-+	fDefDeclaration	goto 7
-+	functionDefinition	goto 6
-+	declaration	goto 5
-+	declaration1	goto 4
-+	externalDeclaration	goto 3
-+	structOrUnion	goto 2
-+
-+	.	reduce by rule 0
-+
-+
-+state 2:
-+
-+	structOrUnionSpecifier : structOrUnion . LCURLY structDeclarationList RCURLY 
-+	structOrUnionSpecifier : structOrUnion . ID LCURLY structDeclarationList RCURLY 
-+	structOrUnionSpecifier : structOrUnion . TYPE_NAME LCURLY structDeclarationList RCURLY 
-+	structOrUnionSpecifier : structOrUnion . ID 
-+	structOrUnionSpecifier : structOrUnion . TYPE_NAME 
-+
-+	LCURLY	shift 45
-+	ID	shift 44
-+	TYPE_NAME	shift 43
-+
-+
-+	.	error
-+
-+
-+state 3:
-+
-+	tu : tu externalDeclaration .  (reduce by rule 2)
-+
-+
-+
-+	.	reduce by rule 2
-+
-+
-+state 4:
-+
-+	declaration : declaration1 . SEMICOLON 
-+
-+	SEMICOLON	shift 46
-+
-+
-+	.	error
-+
-+
-+state 5:
-+
-+	externalDeclaration : declaration .  (reduce by rule 3)
-+
-+
-+
-+	.	reduce by rule 3
-+
-+
-+state 6:
-+
-+	externalDeclaration : functionDefinition .  (reduce by rule 5)
-+
-+
-+
-+	.	reduce by rule 5
-+
-+
-+state 7:
-+
-+	functionDefinition : fDefDeclaration . compoundStatement 
-+	functionDefinition : fDefDeclaration . declarationList compoundStatement 
-+
-+	LCURLY	shift 52
-+	EXTERN	shift 38
-+	AUTO	shift 37
-+	STATIC	shift 36
-+	REGISTER	shift 35
-+	CONST	shift 34
-+	VOLATILE	shift 33
-+	CHAR	shift 32
-+	DOUBLE	shift 31
-+	ENUM	shift 30
-+	FLOAT	shift 29
-+	INT	shift 28
-+	LONG	shift 27
-+	SHORT	shift 26
-+	STRUCT	shift 25
-+	UNION	shift 24
-+	UNSIGNED	shift 23
-+	SIGNED	shift 22
-+	VOID	shift 21
-+	TYPEDEF	shift 20
-+	TYPE_NAME	shift 19
-+
-+	compoundStatement	goto 51
-+	declarationSpecifiers	goto 50
-+	declarationModifiers	goto 49
-+	storageClassSpecifier	goto 13
-+	typeSpecifier	goto 12
-+	typeSpecifierReserved	goto 11
-+	typeQualifier	goto 10
-+	enumSpecifier	goto 9
-+	structOrUnionSpecifier	goto 8
-+	declarationList	goto 48
-+	declaration	goto 47
-+	declaration1	goto 4
-+	structOrUnion	goto 2
-+
-+	.	error
-+
-+
-+state 8:
-+
-+	typeSpecifier : structOrUnionSpecifier .  (reduce by rule 119)
-+
-+
-+
-+	.	reduce by rule 119
-+
-+
-+state 9:
-+
-+	typeSpecifier : enumSpecifier .  (reduce by rule 120)
-+
-+
-+
-+	.	reduce by rule 120
-+
-+
-+state 10:
-+
-+	declarationModifiers : typeQualifier .  (reduce by rule 110)
-+
-+
-+
-+	.	reduce by rule 110
-+
-+
-+state 11:
-+
-+	typeSpecifier : typeSpecifierReserved .  (reduce by rule 118)
-+
-+
-+
-+	.	reduce by rule 118
-+
-+
-+state 12:
-+
-+	declarationSpecifiers : typeSpecifier . reservedDeclarationSpecifier 
-+
-+
-+	reservedDeclarationSpecifier	goto 53
-+
-+	.	reduce by rule 101
-+
-+
-+state 13:
-+
-+	declarationModifiers : storageClassSpecifier .  (reduce by rule 108)
-+
-+
-+
-+	.	reduce by rule 108
-+
-+
-+state 14:
-+
-+	declarationSpecifiers : declarationModifiers . typeSpecifier reservedDeclarationSpecifier 
-+	declarationModifiers : declarationModifiers . storageClassSpecifier 
-+	declarationModifiers : declarationModifiers . typeQualifier 
-+	fDefDeclaration : declarationModifiers . notypeDeclarator 
-+	declaration1 : declarationModifiers . notypeInitDeclaratorList 
-+
-+	LPAREN	shift 41
-+	TIMES	shift 40
-+	ID	shift 39
-+	EXTERN	shift 38
-+	AUTO	shift 37
-+	STATIC	shift 36
-+	REGISTER	shift 35
-+	CONST	shift 34
-+	VOLATILE	shift 33
-+	CHAR	shift 32
-+	DOUBLE	shift 31
-+	ENUM	shift 30
-+	FLOAT	shift 29
-+	INT	shift 28
-+	LONG	shift 27
-+	SHORT	shift 26
-+	STRUCT	shift 25
-+	UNION	shift 24
-+	UNSIGNED	shift 23
-+	SIGNED	shift 22
-+	VOID	shift 21
-+	TYPEDEF	shift 20
-+	TYPE_NAME	shift 19
-+
-+	notypeInitDeclarator	goto 59
-+	notypeInitDeclaratorList	goto 58
-+	pointer	goto 18
-+	notypeDeclarator	goto 57
-+	notypeDirectDeclarator	goto 16
-+	storageClassSpecifier	goto 56
-+	typeSpecifier	goto 55
-+	typeSpecifierReserved	goto 11
-+	typeQualifier	goto 54
-+	enumSpecifier	goto 9
-+	structOrUnionSpecifier	goto 8
-+	structOrUnion	goto 2
-+
-+	.	error
-+
-+
-+state 15:
-+
-+	fDefDeclaration : declarationSpecifiers . declarator 
-+	declaration1 : declarationSpecifiers .  (reduce by rule 23)
-+	declaration1 : declarationSpecifiers . initDeclaratorList 
-+
-+	LPAREN	shift 68
-+	TIMES	shift 40
-+	ID	shift 39
-+	TYPE_NAME	shift 67
-+
-+	initDeclarator	goto 66
-+	initDeclaratorList	goto 65
-+	pointer	goto 64
-+	declarator	goto 63
-+	aftertypeDeclarator	goto 62
-+	notypeDeclarator	goto 61
-+	aftertypeDirectDeclarator	goto 60
-+	notypeDirectDeclarator	goto 16
-+
-+	.	reduce by rule 23
-+
-+
-+state 16:
-+
-+	notypeDeclarator : notypeDirectDeclarator .  (reduce by rule 182)
-+	notypeDirectDeclarator : notypeDirectDeclarator . LBRACE RBRACE 
-+	notypeDirectDeclarator : notypeDirectDeclarator . LBRACE expr RBRACE 
-+	notypeDirectDeclarator : notypeDirectDeclarator . LPAREN RPAREN 
-+	notypeDirectDeclarator : notypeDirectDeclarator . LPAREN parameterTypeList RPAREN 
-+	notypeDirectDeclarator : notypeDirectDeclarator . LPAREN identlist RPAREN 
-+
-+	LPAREN	shift 70
-+	LBRACE	shift 69
-+
-+
-+	.	reduce by rule 182
-+
-+
-+state 17:
-+
-+	fDefDeclaration : notypeDeclarator .  (reduce by rule 218)
-+
-+
-+
-+	.	reduce by rule 218
-+
-+
-+state 18:
-+
-+	notypeDeclarator : pointer . notypeDirectDeclarator 
-+
-+	LPAREN	shift 41
-+	ID	shift 39
-+
-+	notypeDirectDeclarator	goto 71
-+
-+	.	error
-+
-+
-+state 19:
-+
-+	typeSpecifier : TYPE_NAME .  (reduce by rule 121)
-+
-+
-+
-+	.	reduce by rule 121
-+
-+
-+state 20:
-+
-+	storageClassSpecifier : TYPEDEF .  (reduce by rule 167)
-+
-+
-+
-+	.	reduce by rule 167
-+
-+
-+state 21:
-+
-+	typeSpecifierReserved : VOID .  (reduce by rule 122)
-+
-+
-+
-+	.	reduce by rule 122
-+
-+
-+state 22:
-+
-+	typeSpecifierReserved : SIGNED .  (reduce by rule 129)
-+
-+
-+
-+	.	reduce by rule 129
-+
-+
-+state 23:
-+
-+	typeSpecifierReserved : UNSIGNED .  (reduce by rule 130)
-+
-+
-+
-+	.	reduce by rule 130
-+
-+
-+state 24:
-+
-+	structOrUnion : UNION .  (reduce by rule 137)
-+
-+
-+
-+	.	reduce by rule 137
-+
-+
-+state 25:
-+
-+	structOrUnion : STRUCT .  (reduce by rule 136)
-+
-+
-+
-+	.	reduce by rule 136
-+
-+
-+state 26:
-+
-+	typeSpecifierReserved : SHORT .  (reduce by rule 124)
-+
-+
-+
-+	.	reduce by rule 124
-+
-+
-+state 27:
-+
-+	typeSpecifierReserved : LONG .  (reduce by rule 126)
-+
-+
-+
-+	.	reduce by rule 126
-+
-+
-+state 28:
-+
-+	typeSpecifierReserved : INT .  (reduce by rule 125)
-+
-+
-+
-+	.	reduce by rule 125
-+
-+
-+state 29:
-+
-+	typeSpecifierReserved : FLOAT .  (reduce by rule 127)
-+
-+
-+
-+	.	reduce by rule 127
-+
-+
-+state 30:
-+
-+	enumSpecifier : ENUM . LCURLY enumeratorList trailingComma RCURLY 
-+	enumSpecifier : ENUM . ID LCURLY enumeratorList trailingComma RCURLY 
-+	enumSpecifier : ENUM . TYPE_NAME LCURLY enumeratorList trailingComma RCURLY 
-+	enumSpecifier : ENUM . ID 
-+	enumSpecifier : ENUM . TYPE_NAME 
-+
-+	LCURLY	shift 74
-+	ID	shift 73
-+	TYPE_NAME	shift 72
-+
-+
-+	.	error
-+
-+
-+state 31:
-+
-+	typeSpecifierReserved : DOUBLE .  (reduce by rule 128)
-+
-+
-+
-+	.	reduce by rule 128
-+
-+
-+state 32:
-+
-+	typeSpecifierReserved : CHAR .  (reduce by rule 123)
-+
-+
-+
-+	.	reduce by rule 123
-+
-+
-+state 33:
-+
-+	typeQualifier : VOLATILE .  (reduce by rule 153)
-+
-+
-+
-+	.	reduce by rule 153
-+
-+
-+state 34:
-+
-+	typeQualifier : CONST .  (reduce by rule 152)
-+
-+
-+
-+	.	reduce by rule 152
-+
-+
-+state 35:
-+
-+	storageClassSpecifier : REGISTER .  (reduce by rule 166)
-+
-+
-+
-+	.	reduce by rule 166
-+
-+
-+state 36:
-+
-+	storageClassSpecifier : STATIC .  (reduce by rule 164)
-+
-+
-+
-+	.	reduce by rule 164
-+
-+
-+state 37:
-+
-+	storageClassSpecifier : AUTO .  (reduce by rule 165)
-+
-+
-+
-+	.	reduce by rule 165
-+
-+
-+state 38:
-+
-+	storageClassSpecifier : EXTERN .  (reduce by rule 163)
-+
-+
-+
-+	.	reduce by rule 163
-+
-+
-+state 39:
-+
-+	notypeDirectDeclarator : ID .  (reduce by rule 197)
-+
-+
-+
-+	.	reduce by rule 197
-+
-+
-+state 40:
-+
-+	pointer : TIMES .  (reduce by rule 186)
-+	pointer : TIMES . typeQualifierList 
-+	pointer : TIMES . pointer 
-+	pointer : TIMES . typeQualifierList pointer 
-+
-+	TIMES	shift 40
-+	CONST	shift 34
-+	VOLATILE	shift 33
-+
-+	pointer	goto 77
-+	typeQualifier	goto 76
-+	typeQualifierList	goto 75
-+
-+	.	reduce by rule 186
-+
-+
-+state 41:
-+
-+	notypeDirectDeclarator : LPAREN . notypeDeclarator RPAREN 
-+
-+	LPAREN	shift 41
-+	TIMES	shift 40
-+	ID	shift 39
-+
-+	pointer	goto 18
-+	notypeDeclarator	goto 78
-+	notypeDirectDeclarator	goto 16
-+
-+	.	error
-+
-+
-+state 42:
-+
-+	externalDeclaration : SEMICOLON .  (reduce by rule 4)
-+
-+
-+
-+	.	reduce by rule 4
-+
-+
-+state 43:
-+
-+	structOrUnionSpecifier : structOrUnion TYPE_NAME . LCURLY structDeclarationList RCURLY 
-+	structOrUnionSpecifier : structOrUnion TYPE_NAME .  (reduce by rule 135)
-+
-+	LCURLY	shift 79
-+
-+
-+	.	reduce by rule 135
-+
-+
-+state 44:
-+
-+	structOrUnionSpecifier : structOrUnion ID . LCURLY structDeclarationList RCURLY 
-+	structOrUnionSpecifier : structOrUnion ID .  (reduce by rule 134)
-+
-+	LCURLY	shift 80
-+
-+
-+	.	reduce by rule 134
-+
-+
-+state 45:
-+
-+	structOrUnionSpecifier : structOrUnion LCURLY . structDeclarationList RCURLY 
-+
-+	CONST	shift 34
-+	VOLATILE	shift 33
-+	CHAR	shift 32
-+	DOUBLE	shift 31
-+	ENUM	shift 30
-+	FLOAT	shift 29
-+	INT	shift 28
-+	LONG	shift 27
-+	SHORT	shift 26
-+	STRUCT	shift 25
-+	UNION	shift 24
-+	UNSIGNED	shift 23
-+	SIGNED	shift 22
-+	VOID	shift 21
-+	TYPE_NAME	shift 19
-+
-+	typeSpecifier	goto 85
-+	typeSpecifierReserved	goto 11
-+	typeQualifier	goto 76
-+	typeQualifierList	goto 84
-+	specifierQualifierList	goto 83
-+	enumSpecifier	goto 9
-+	structOrUnionSpecifier	goto 8
-+	structOrUnion	goto 2
-+	structDeclarationList	goto 82
-+	structDeclaration	goto 81
-+
-+	.	error
-+
-+
-+state 46:
-+
-+	declaration : declaration1 SEMICOLON .  (reduce by rule 22)
-+
-+
-+
-+	.	reduce by rule 22
-+
-+
-+state 47:
-+
-+	declarationList : declaration .  (reduce by rule 214)
-+
-+
-+
-+	.	reduce by rule 214
-+
-+
-+state 48:
-+
-+	declarationList : declarationList . declaration 
-+	functionDefinition : fDefDeclaration declarationList . compoundStatement 
-+
-+	LCURLY	shift 52
-+	EXTERN	shift 38
-+	AUTO	shift 37
-+	STATIC	shift 36
-+	REGISTER	shift 35
-+	CONST	shift 34
-+	VOLATILE	shift 33
-+	CHAR	shift 32
-+	DOUBLE	shift 31
-+	ENUM	shift 30
-+	FLOAT	shift 29
-+	INT	shift 28
-+	LONG	shift 27
-+	SHORT	shift 26
-+	STRUCT	shift 25
-+	UNION	shift 24
-+	UNSIGNED	shift 23
-+	SIGNED	shift 22
-+	VOID	shift 21
-+	TYPEDEF	shift 20
-+	TYPE_NAME	shift 19
-+
-+	compoundStatement	goto 87
-+	declarationSpecifiers	goto 50
-+	declarationModifiers	goto 49
-+	storageClassSpecifier	goto 13
-+	typeSpecifier	goto 12
-+	typeSpecifierReserved	goto 11
-+	typeQualifier	goto 10
-+	enumSpecifier	goto 9
-+	structOrUnionSpecifier	goto 8
-+	declaration	goto 86
-+	declaration1	goto 4
-+	structOrUnion	goto 2
-+
-+	.	error
-+
-+
-+state 49:
-+
-+	declarationSpecifiers : declarationModifiers . typeSpecifier reservedDeclarationSpecifier 
-+	declarationModifiers : declarationModifiers . storageClassSpecifier 
-+	declarationModifiers : declarationModifiers . typeQualifier 
-+	declaration1 : declarationModifiers . notypeInitDeclaratorList 
-+
-+	LPAREN	shift 41
-+	TIMES	shift 40
-+	ID	shift 39
-+	EXTERN	shift 38
-+	AUTO	shift 37
-+	STATIC	shift 36
-+	REGISTER	shift 35
-+	CONST	shift 34
-+	VOLATILE	shift 33
-+	CHAR	shift 32
-+	DOUBLE	shift 31
-+	ENUM	shift 30
-+	FLOAT	shift 29
-+	INT	shift 28
-+	LONG	shift 27
-+	SHORT	shift 26
-+	STRUCT	shift 25
-+	UNION	shift 24
-+	UNSIGNED	shift 23
-+	SIGNED	shift 22
-+	VOID	shift 21
-+	TYPEDEF	shift 20
-+	TYPE_NAME	shift 19
-+
-+	notypeInitDeclarator	goto 59
-+	notypeInitDeclaratorList	goto 58
-+	pointer	goto 18
-+	notypeDeclarator	goto 88
-+	notypeDirectDeclarator	goto 16
-+	storageClassSpecifier	goto 56
-+	typeSpecifier	goto 55
-+	typeSpecifierReserved	goto 11
-+	typeQualifier	goto 54
-+	enumSpecifier	goto 9
-+	structOrUnionSpecifier	goto 8
-+	structOrUnion	goto 2
-+
-+	.	error
-+
-+
-+state 50:
-+
-+	declaration1 : declarationSpecifiers .  (reduce by rule 23)
-+	declaration1 : declarationSpecifiers . initDeclaratorList 
-+
-+	LPAREN	shift 68
-+	TIMES	shift 40
-+	ID	shift 39
-+	TYPE_NAME	shift 67
-+
-+	initDeclarator	goto 66
-+	initDeclaratorList	goto 65
-+	pointer	goto 64
-+	declarator	goto 89
-+	aftertypeDeclarator	goto 62
-+	notypeDeclarator	goto 61
-+	aftertypeDirectDeclarator	goto 60
-+	notypeDirectDeclarator	goto 16
-+
-+	.	reduce by rule 23
-+
-+
-+state 51:
-+
-+	functionDefinition : fDefDeclaration compoundStatement .  (reduce by rule 221)
-+
-+
-+
-+	.	reduce by rule 221
-+
-+
-+state 52:
-+
-+	compoundStatement : LCURLY . pushScope declarationList ostatementlist popScope RCURLY 
-+	compoundStatement : LCURLY . ostatementlist RCURLY 
-+
-+	SEMICOLON	shift 125
-+	LPAREN	shift 124
-+	LCURLY	shift 52
-+	RCURLY	reduce by rule 27
-+	AMP	shift 123
-+	TILDE	shift 122
-+	PLUS	shift 121
-+	MINUS	shift 120
-+	BANG	shift 119
-+	TIMES	shift 118
-+	INC	shift 117
-+	DEC	shift 116
-+	ID	shift 115
-+	DECNUM	shift 114
-+	REALNUM	shift 113
-+	STRING	shift 112
-+	CCONST	shift 111
-+	EXTERN	reduce by rule 245
-+	AUTO	reduce by rule 245
-+	STATIC	reduce by rule 245
-+	REGISTER	reduce by rule 245
-+	CONST	reduce by rule 245
-+	VOLATILE	reduce by rule 245
-+	IF	shift 110
-+	FOR	shift 109
-+	DO	shift 108
-+	SWITCH	shift 107
-+	CASE	shift 106
-+	DEFAULT	shift 105
-+	WHILE	shift 104
-+	RETURN	shift 103
-+	BREAK	shift 102
-+	CONTINUE	shift 101
-+	GOTO	shift 100
-+	CHAR	reduce by rule 245
-+	DOUBLE	reduce by rule 245
-+	ENUM	reduce by rule 245
-+	FLOAT	reduce by rule 245
-+	INT	reduce by rule 245
-+	LONG	reduce by rule 245
-+	SHORT	reduce by rule 245
-+	STRUCT	reduce by rule 245
-+	UNION	reduce by rule 245
-+	UNSIGNED	reduce by rule 245
-+	SIGNED	reduce by rule 245
-+	VOID	reduce by rule 245
-+	SIZEOF	shift 99
-+	TYPEDEF	reduce by rule 245
-+	TYPE_NAME	reduce by rule 245
-+
-+	statement	goto 98
-+	ostatementlist	goto 97
-+	statementlist	goto 96
-+	compoundStatement	goto 95
-+	expr	goto 94
-+	exprWComma	goto 93
-+	unaryOperator	goto 92
-+	pushScope	goto 91
-+	strings	goto 90
-+
-+	.	error
-+
-+
-+state 53:
-+
-+	declarationSpecifiers : typeSpecifier reservedDeclarationSpecifier .  (reduce by rule 99)
-+	reservedDeclarationSpecifier : reservedDeclarationSpecifier . specifierQualifierReserved 
-+	reservedDeclarationSpecifier : reservedDeclarationSpecifier . storageClassSpecifier 
-+
-+	EXTERN	shift 38
-+	AUTO	shift 37
-+	STATIC	shift 36
-+	REGISTER	shift 35
-+	CONST	shift 34
-+	VOLATILE	shift 33
-+	CHAR	shift 32
-+	DOUBLE	shift 31
-+	ENUM	shift 30
-+	FLOAT	shift 29
-+	INT	shift 28
-+	LONG	shift 27
-+	SHORT	shift 26
-+	STRUCT	shift 25
-+	UNION	shift 24
-+	UNSIGNED	shift 23
-+	SIGNED	shift 22
-+	VOID	shift 21
-+	TYPEDEF	shift 20
-+
-+	specifierQualifierReserved	goto 131
-+	storageClassSpecifier	goto 130
-+	typeSpecifierReserved	goto 129
-+	typeQualifier	goto 128
-+	enumSpecifier	goto 127
-+	structOrUnionSpecifier	goto 126
-+	structOrUnion	goto 2
-+
-+	.	reduce by rule 99
-+
-+
-+state 54:
-+
-+	declarationModifiers : declarationModifiers typeQualifier .  (reduce by rule 111)
-+
-+
-+
-+	.	reduce by rule 111
-+
-+
-+state 55:
-+
-+	declarationSpecifiers : declarationModifiers typeSpecifier . reservedDeclarationSpecifier 
-+
-+
-+	reservedDeclarationSpecifier	goto 132
-+
-+	.	reduce by rule 101
-+
-+
-+state 56:
-+
-+	declarationModifiers : declarationModifiers storageClassSpecifier .  (reduce by rule 109)
-+
-+
-+
-+	.	reduce by rule 109
-+
-+
-+state 57:
-+
-+	notypeInitDeclarator : notypeDeclarator .  (reduce by rule 176)
-+	notypeInitDeclarator : notypeDeclarator . EQUALS initializer 
-+	fDefDeclaration : declarationModifiers notypeDeclarator .  (reduce by rule 220)
-+
-+	SEMICOLON	reduce by rule 176
-+	LCURLY	reduce by rule 220
-+	COMMA	reduce by rule 176
-+	EQUALS	shift 133
-+	EXTERN	reduce by rule 220
-+	AUTO	reduce by rule 220
-+	STATIC	reduce by rule 220
-+	REGISTER	reduce by rule 220
-+	CONST	reduce by rule 220
-+	VOLATILE	reduce by rule 220
-+	CHAR	reduce by rule 220
-+	DOUBLE	reduce by rule 220
-+	ENUM	reduce by rule 220
-+	FLOAT	reduce by rule 220
-+	INT	reduce by rule 220
-+	LONG	reduce by rule 220
-+	SHORT	reduce by rule 220
-+	STRUCT	reduce by rule 220
-+	UNION	reduce by rule 220
-+	UNSIGNED	reduce by rule 220
-+	SIGNED	reduce by rule 220
-+	VOID	reduce by rule 220
-+	TYPEDEF	reduce by rule 220
-+	TYPE_NAME	reduce by rule 220
-+
-+
-+	.	error
-+
-+
-+state 58:
-+
-+	notypeInitDeclaratorList : notypeInitDeclaratorList . COMMA initDeclarator 
-+	declaration1 : declarationModifiers notypeInitDeclaratorList .  (reduce by rule 25)
-+
-+	COMMA	shift 134
-+
-+
-+	.	reduce by rule 25
-+
-+
-+state 59:
-+
-+	notypeInitDeclaratorList : notypeInitDeclarator .  (reduce by rule 174)
-+
-+
-+
-+	.	reduce by rule 174
-+
-+
-+state 60:
-+
-+	aftertypeDeclarator : aftertypeDirectDeclarator .  (reduce by rule 180)
-+	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LBRACE RBRACE 
-+	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LBRACE expr RBRACE 
-+	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN RPAREN 
-+	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN parameterTypeList RPAREN 
-+	aftertypeDirectDeclarator : aftertypeDirectDeclarator . LPAREN identlist RPAREN 
-+
-+	LPAREN	shift 136
-+	LBRACE	shift 135
-+
-+
-+	.	reduce by rule 180
-+
-+
-+state 61:
-+
-+	declarator : notypeDeclarator .  (reduce by rule 179)
-+
-+
-+
-+	.	reduce by rule 179
-+
-+
-+state 62:
-+
-+	declarator : aftertypeDeclarator .  (reduce by rule 178)
-+
-+
-+
-+	.	reduce by rule 178
-+
-+
-+state 63:
-+
-+	initDeclarator : declarator .  (reduce by rule 172)
-+	initDeclarator : declarator . EQUALS initializer 
-+	fDefDeclaration : declarationSpecifiers declarator .  (reduce by rule 219)
-+
-+	SEMICOLON	reduce by rule 172
-+	LCURLY	reduce by rule 219
-+	COMMA	reduce by rule 172
-+	EQUALS	shift 137
-+	EXTERN	reduce by rule 219
-+	AUTO	reduce by rule 219
-+	STATIC	reduce by rule 219
-+	REGISTER	reduce by rule 219
-+	CONST	reduce by rule 219
-+	VOLATILE	reduce by rule 219
-+	CHAR	reduce by rule 219
-+	DOUBLE	reduce by rule 219
-+	ENUM	reduce by rule 219
-+	FLOAT	reduce by rule 219
-+	INT	reduce by rule 219
-+	LONG	reduce by rule 219
-+	SHORT	reduce by rule 219
-+	STRUCT	reduce by rule 219
-+	UNION	reduce by rule 219
-+	UNSIGNED	reduce by rule 219
-+	SIGNED	reduce by rule 219
-+	VOID	reduce by rule 219
-+	TYPEDEF	reduce by rule 219
-+	TYPE_NAME	reduce by rule 219
-+
-+
-+	.	error
-+
-+
-+state 64:
-+
-+	aftertypeDeclarator : pointer . aftertypeDirectDeclarator 
-+	notypeDeclarator : pointer . notypeDirectDeclarator 
-+
-+	LPAREN	shift 68
-+	ID	shift 39
-+	TYPE_NAME	shift 67
-+
-+	aftertypeDirectDeclarator	goto 138
-+	notypeDirectDeclarator	goto 71
-+
-+	.	error
-+
-+
-+state 65:
-+
-+	initDeclaratorList : initDeclaratorList . COMMA initDeclarator 
-+	declaration1 : declarationSpecifiers initDeclaratorList .  (reduce by rule 24)
-+
-+	COMMA	shift 139
-+
-+
-+	.	reduce by rule 24
-+
-+
-+state 66:
-+
-+	initDeclaratorList : initDeclarator .  (reduce by rule 170)
-+
-+
-+
-+	.	reduce by rule 170
-+
-+
-+state 67:
-+
-+	aftertypeDirectDeclarator : TYPE_NAME .  (reduce by rule 190)
-+
-+
-+
-+	.	reduce by rule 190
-+
-+
-+state 68:
-+
-+	aftertypeDirectDeclarator : LPAREN . aftertypeDeclarator RPAREN 
-+	notypeDirectDeclarator : LPAREN . notypeDeclarator RPAREN 
-+
-+	LPAREN	shift 68
-+	TIMES	shift 40
-+	ID	shift 39
-+	TYPE_NAME	shift 67
-+
-+	pointer	goto 64
-+	aftertypeDeclarator	goto 140
-+	notypeDeclarator	goto 78
-+	aftertypeDirectDeclarator	goto 60
-+	notypeDirectDeclarator	goto 16
-+
-+	.	error
-+
-+
-+state 69:
-+
-+	notypeDirectDeclarator : notypeDirectDeclarator LBRACE . RBRACE 
-+	notypeDirectDeclarator : notypeDirectDeclarator LBRACE . expr RBRACE 
-+
-+	LPAREN	shift 124
-+	RBRACE	shift 143
-+	AMP	shift 123
-+	TILDE	shift 122
-+	PLUS	shift 121
-+	MINUS	shift 120
-+	BANG	shift 119
-+	TIMES	shift 118
-+	INC	shift 117
-+	DEC	shift 116
-+	ID	shift 142
-+	DECNUM	shift 114
-+	REALNUM	shift 113
-+	STRING	shift 112
-+	CCONST	shift 111
-+	SIZEOF	shift 99
-+
-+	expr	goto 141
-+	unaryOperator	goto 92
-+	strings	goto 90
-+
-+	.	error
-+
-+
-+state 70:
-+
-+	notypeDirectDeclarator : notypeDirectDeclarator LPAREN . RPAREN 
-+	notypeDirectDeclarator : notypeDirectDeclarator LPAREN . parameterTypeList RPAREN 
-+	notypeDirectDeclarator : notypeDirectDeclarator LPAREN . identlist RPAREN 
-+
-+	RPAREN	shift 151
-+	ID	shift 150
-+	EXTERN	shift 38
-+	AUTO	shift 37
-+	STATIC	shift 36
-+	REGISTER	shift 35
-+	CONST	shift 34
-+	VOLATILE	shift 33
-+	CHAR	shift 32
-+	DOUBLE	shift 31
-+	ENUM	shift 30
-+	FLOAT	shift 29
-+	INT	shift 28
-+	LONG	shift 27
-+	SHORT	shift 26
-+	STRUCT	shift 25
-+	UNION	shift 24
-+	UNSIGNED	shift 23
-+	SIGNED	shift 22
-+	VOID	shift 21
-+	TYPEDEF	shift 20
-+	TYPE_NAME	shift 19
-+
-+	declarationSpecifiers	goto 149
-+	declarationModifiers	goto 148
-+	storageClassSpecifier	goto 13
-+	typeSpecifier	goto 12
-+	typeSpecifierReserved	goto 11
-+	typeQualifier	goto 10
-+	enumSpecifier	goto 9
-+	structOrUnionSpecifier	goto 8
-+	identlist	goto 147
-+	parameterList	goto 146
-+	parameterTypeList	goto 145
-+	parameterDeclaration	goto 144
-+	structOrUnion	goto 2
-+
-+	.	error
-+
-+
-+state 71:
-+
-+	notypeDeclarator : pointer notypeDirectDeclarator .  (reduce by rule 183)
-+	notypeDirectDeclarator : notypeDirectDeclarator . LBRACE RBRACE 
-+	notypeDirectDeclarator : notypeDirectDeclarator . LBRACE expr RBRACE 
-+	notypeDirectDeclarator : notypeDirectDeclarator . LPAREN RPAREN 
-+	notypeDirectDeclarator : notypeDirectDeclarator . LPAREN parameterTypeList RPAREN 
-+	notypeDirectDeclarator : notypeDirectDeclarator . LPAREN identlist RPAREN 
-+
-+	LPAREN	shift 70
-+	LBRACE	shift 69
-+
-+
-+	.	reduce by rule 183
-+
-+
-+state 72:
-+
-+	enumSpecifier : ENUM TYPE_NAME . LCURLY enumeratorList trailingComma RCURLY 
-+	enumSpecifier : ENUM TYPE_NAME .  (reduce by rule 158)
-+
-+	LCURLY	shift 152
-+
-+
-+	.	reduce by rule 158
-+
-+
-+state 73:
-+
-+	enumSpecifier : ENUM ID . LCURLY enumeratorList trailingComma RCURLY 
-+	enumSpecifier : ENUM ID .  (reduce by rule 157)
-+
-+	LCURLY	shift 153
-+
-+
-+	.	reduce by rule 157
-+
-+
-+state 74:
-+
-+	enumSpecifier : ENUM LCURLY . enumeratorList trailingComma RCURLY 
-+
-+	ID	shift 156
-+
-+	enumeratorList	goto 155
-+	enumerator	goto 154
-+
-+	.	error
-+
-+
-+state 75:
-+
-+	pointer : TIMES typeQualifierList .  (reduce by rule 187)
-+	pointer : TIMES typeQualifierList . pointer 
-+
-+	TIMES	shift 40
-+
-+	pointer	goto 157
-+
-+	.	reduce by rule 187
-+
-+
-+state 76:
-+
-+	typeQualifierList : typeQualifier .  (reduce by rule 116)
-+	typeQualifierList : typeQualifier . typeQualifierList 
-+
-+	CONST	shift 34
-+	VOLATILE	shift 33
-+
-+	typeQualifier	goto 76
-+	typeQualifierList	goto 158
-+
-+	.	reduce by rule 116
-+
-+
-+state 77:
-+
-+	pointer : TIMES pointer .  (reduce by rule 188)
-+
-+
-+
-+	.	reduce by rule 188
-+
-+
-+state 78:
-+
-+	notypeDirectDeclarator : LPAREN notypeDeclarator . RPAREN 
-+
-+	RPAREN	shift 159
-+
-+
-+	.	error
-+
-+
-+state 79:
-+
-+	structOrUnionSpecifier : structOrUnion TYPE_NAME LCURLY . structDeclarationList RCURLY 
-+
-+	CONST	shift 34
-+	VOLATILE	shift 33
-+	CHAR	shift 32
-+	DOUBLE	shift 31
-+	ENUM	shift 30
-+	FLOAT	shift 29
-+	INT	shift 28
-+	LONG	shift 27
-+	SHORT	shift 26
-+	STRUCT	shift 25
-+	UNION	shift 24
-+	UNSIGNED	shift 23
-+	SIGNED	shift 22
-+	VOID	shift 21
-+	TYPE_NAME	shift 19
-+
-+	typeSpecifier	goto 85
-+	typeSpecifierReserved	goto 11
-+	typeQualifier	goto 76
-+	typeQualifierList	goto 84
-+	specifierQualifierList	goto 83
-+	enumSpecifier	goto 9
-+	structOrUnionSpecifier	goto 8
-+	structOrUnion	goto 2
-+	structDeclarationList	goto 160
-+	structDeclaration	goto 81
-+
-+	.	error
-+
-+
-+state 80:
-+
-+	structOrUnionSpecifier : structOrUnion ID LCURLY . structDeclarationList RCURLY 
-+
-+	CONST	shift 34
-+	VOLATILE	shift 33
-+	CHAR	shift 32
-+	DOUBLE	shift 31
-+	ENUM	shift 30
-+	FLOAT	shift 29
-+	INT	shift 28
-+	LONG	shift 27
-+	SHORT	shift 26
-+	STRUCT	shift 25
-+	UNION	shift 24
-+	UNSIGNED	shift 23
-+	SIGNED	shift 22
-+	VOID	shift 21
-+	TYPE_NAME	shift 19
-+
-+	typeSpecifier	goto 85
-+	typeSpecifierReserved	goto 11
-+	typeQualifier	goto 76
-+	typeQualifierList	goto 84
-+	specifierQualifierList	goto 83
-+	enumSpecifier	goto 9
-+	structOrUnionSpecifier	goto 8
-+	structOrUnion	goto 2
-+	structDeclarationList	goto 161
-+	structDeclaration	goto 81
-+
-+	.	error
-+
-+
-+state 81:
-+
-+	structDeclarationList : structDeclaration .  (reduce by rule 138)
-+
-+
-+
-+	.	reduce by rule 138
-+
-+
-+state 82:
-+
-+	structOrUnionSpecifier : structOrUnion LCURLY structDeclarationList . RCURLY 
-+	structDeclarationList : structDeclarationList



More information about the MLton-commit mailing list