[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