[project @ 1996-01-12 11:35:21 by partain]
authorpartain <unknown>
Fri, 12 Jan 1996 11:37:58 +0000 (11:37 +0000)
committerpartain <unknown>
Fri, 12 Jan 1996 11:37:58 +0000 (11:37 +0000)
WDP 0.27 tidying up

32 files changed:
configure.in
ghc/PATCHLEVEL
ghc/compiler/yaccParser/U_binding.hs
ghc/compiler/yaccParser/U_finfot.hs
ghc/compiler/yaccParser/atype.h
ghc/compiler/yaccParser/binding.c
ghc/compiler/yaccParser/binding.h
ghc/compiler/yaccParser/coresyn.c
ghc/compiler/yaccParser/coresyn.h
ghc/compiler/yaccParser/entidt.h
ghc/compiler/yaccParser/finfot.c
ghc/compiler/yaccParser/finfot.h
ghc/compiler/yaccParser/hpragma.c
ghc/compiler/yaccParser/hpragma.h
ghc/compiler/yaccParser/hslexer.c
ghc/compiler/yaccParser/hsparser.tab.c
ghc/compiler/yaccParser/list.c
ghc/compiler/yaccParser/list.h
ghc/compiler/yaccParser/literal.h
ghc/compiler/yaccParser/pbinding.h
ghc/compiler/yaccParser/tree.c
ghc/compiler/yaccParser/tree.h
ghc/compiler/yaccParser/ttype.c
ghc/compiler/yaccParser/ttype.h
ghc/driver/driver.lit
ghc/includes/root.lit
ghc/includes/sparc-sun-sunos4.h [deleted file]
ghc/includes/stgio.h
ghc/runtime/io/env.lc
ghc/runtime/io/execvpe.lc
ghc/runtime/main/RtsFlags.lc
ghc/runtime/storage/SMcompacting.h [deleted file]

index cfadc77..c3f058c 100644 (file)
@@ -1335,9 +1335,9 @@ case $WithGhcHc in
            ;;
     ghc* | glhc* )
            WithGhcHcType='HC_GLASGOW_GHC'
-            AC_CHECK_PROG(have_ghc,$WithGhcHc,$ac_dir/$ac_word)
-            if test -z "$have_ghc"; then
-                echo "Can't find Glasgow Haskell to compile with: $WithGhcHc"
+            AC_CHECK_PROG(have_ghc_ghc,$WithGhcHc,$ac_dir/$ac_word)
+            if test -z "$have_ghc_ghc"; then
+                echo "Can't find Glasgow Haskell to compile GHC with: $WithGhcHc"
                exit 1
            else
                 touch conftest.o
@@ -1589,9 +1589,9 @@ case $WithHappyHc in
            ;;
     ghc* | glhc* )
            WithHappyHcType='HC_GLASGOW_GHC'
-            AC_CHECK_PROG(have_ghc,$WithHappyHc,$ac_dir/$ac_word)
-            if test -z "$have_ghc"; then
-                echo "Can't find Glasgow Haskell to compile with: $WithHappyHc"
+            AC_CHECK_PROG(have_ghc_happy,$WithHappyHc,$ac_dir/$ac_word)
+            if test -z "$have_ghc_happy"; then
+                echo "Can't find Glasgow Haskell to compile Happy with: $WithHappyHc"
                exit 1
             fi
             ;;
@@ -1664,9 +1664,9 @@ case $WithHaggisHc in
            ;;
     ghc* | glhc* )
            WithHaggisHcType='HC_GLASGOW_GHC'
-            AC_CHECK_PROG(have_ghc,$WithHaggisHc,$ac_dir/$ac_word)
-            if test -z "$have_ghc"; then
-                echo "Can't find Glasgow Haskell to compile with: $WithHaggisHc"
+            AC_CHECK_PROG(have_ghc_haggis,$WithHaggisHc,$ac_dir/$ac_word)
+            if test -z "$have_ghc_haggis"; then
+                echo "Can't find Glasgow Haskell to compile Haggis with: $WithHaggisHc"
                exit 1
             fi
             ;;
@@ -1759,9 +1759,9 @@ case $WithNoFibHc in
            ;;
     ghc* | glhc* )
            WithNoFibHcType='HC_GLASGOW_GHC'
-            AC_CHECK_PROG(have_ghc,$WithNoFibHc,$ac_dir/$ac_word)
-            if test -z "$have_ghc"; then
-                echo "Can't find Glasgow Haskell to compile with: $WithNoFibHc"
+            AC_CHECK_PROG(have_ghc_nofib,$WithNoFibHc,$ac_dir/$ac_word)
+            if test -z "$have_ghc_nofib"; then
+                echo "Can't find Glasgow Haskell to compile NoFib with: $WithNoFibHc"
                exit 1
             fi
             ;;
@@ -1769,7 +1769,7 @@ case $WithNoFibHc in
            WithNoFibHcType='HC_CHALMERS_HBC'
             AC_CHECK_PROG(have_hbc,$WithNoFibHc,YES,NO)
             if test $have_hbc = 'NO' ; then
-                echo "Can't find Chalmers HBC to compile with: $WithNoFibHc"
+                echo "Can't find Chalmers HBC to compile NoFib with: $WithNoFibHc"
                 exit 1
             fi
             ;;
@@ -1777,7 +1777,7 @@ case $WithNoFibHc in
            WithNoFibHcType='HC_ROJEMO_NHC'
             AC_CHECK_PROG(have_nhc,$WithNoFibHc,YES,NO)
             if test $have_nhc = 'NO' ; then
-                echo "Can't find Niklas Rojemo's NHC to compile with: $WithNoFibHc"
+                echo "Can't find Niklas Rojemo's NHC to compile NoFib with: $WithNoFibHc"
                 exit 1
             fi
             ;;
index 9d06a81..936caf5 100644 (file)
@@ -1 +1 @@
-The Glamorous Glasgow Haskell Compiler, version 0.26, patchlevel 1
+The Glamorous Glasgow Haskell Compiler, version 0.27, patchlevel 0
index aafdda1..6ab8211 100644 (file)
@@ -9,7 +9,7 @@ import U_hpragma
 import U_list
 import U_literal       ( U_literal ) -- for interfaces only
 import U_ttype
-data U_binding = U_tbind U_list U_ttype U_list U_list U_long U_hpragma | U_nbind U_ttype U_ttype U_long U_hpragma | U_pbind U_list U_long | U_fbind U_list U_long | U_abind U_binding U_binding | U_lbind U_binding U_binding | U_ebind U_list U_binding U_long | U_hbind U_list U_binding U_long | U_ibind U_list U_unkId U_ttype U_binding U_long U_hpragma | U_dbind U_list U_long | U_cbind U_list U_ttype U_binding U_long U_hpragma | U_sbind U_list U_ttype U_long U_hpragma | U_mbind U_stringId U_list U_list U_long | U_nullbind | U_import U_stringId U_list U_list U_binding U_stringId U_long | U_hiding U_stringId U_list U_list U_binding U_stringId U_long | U_vspec_uprag U_unkId U_list U_long | U_vspec_ty_and_id U_ttype U_list | U_ispec_uprag U_unkId U_ttype U_long | U_inline_uprag U_unkId U_list U_long | U_deforest_uprag U_unkId U_long | U_magicuf_uprag U_unkId U_stringId U_long | U_abstract_uprag U_unkId U_long | U_dspec_uprag U_unkId U_list U_long 
+data U_binding = U_tbind U_list U_ttype U_list U_list U_long U_hpragma | U_nbind U_ttype U_ttype U_long U_hpragma | U_pbind U_list U_long | U_fbind U_list U_long | U_abind U_binding U_binding | U_ibind U_list U_unkId U_ttype U_binding U_long U_hpragma | U_dbind U_list U_long | U_cbind U_list U_ttype U_binding U_long U_hpragma | U_sbind U_list U_ttype U_long U_hpragma | U_mbind U_stringId U_list U_list U_long | U_nullbind | U_import U_stringId U_list U_list U_binding U_stringId U_long | U_hiding U_stringId U_list U_list U_binding U_stringId U_long | U_vspec_uprag U_unkId U_list U_long | U_vspec_ty_and_id U_ttype U_list | U_ispec_uprag U_unkId U_ttype U_long | U_inline_uprag U_unkId U_list U_long | U_deforest_uprag U_unkId U_long | U_magicuf_uprag U_unkId U_stringId U_long | U_abstract_uprag U_unkId U_long | U_dspec_uprag U_unkId U_list U_long 
 
 rdU_binding :: _Addr -> UgnM U_binding
 rdU_binding t
@@ -56,28 +56,6 @@ rdU_binding t
        ioToUgnM (_ccall_ gabindsnd t) `thenUgn` \ x_gabindsnd ->
        rdU_binding x_gabindsnd `thenUgn` \ y_gabindsnd ->
        returnUgn (U_abind y_gabindfst y_gabindsnd)
-    else if tag == ``lbind'' then
-       ioToUgnM (_ccall_ glbindfst t) `thenUgn` \ x_glbindfst ->
-       rdU_binding x_glbindfst `thenUgn` \ y_glbindfst ->
-       ioToUgnM (_ccall_ glbindsnd t) `thenUgn` \ x_glbindsnd ->
-       rdU_binding x_glbindsnd `thenUgn` \ y_glbindsnd ->
-       returnUgn (U_lbind y_glbindfst y_glbindsnd)
-    else if tag == ``ebind'' then
-       ioToUgnM (_ccall_ gebindl t) `thenUgn` \ x_gebindl ->
-       rdU_list x_gebindl `thenUgn` \ y_gebindl ->
-       ioToUgnM (_ccall_ gebind t) `thenUgn` \ x_gebind ->
-       rdU_binding x_gebind `thenUgn` \ y_gebind ->
-       ioToUgnM (_ccall_ geline t) `thenUgn` \ x_geline ->
-       rdU_long x_geline `thenUgn` \ y_geline ->
-       returnUgn (U_ebind y_gebindl y_gebind y_geline)
-    else if tag == ``hbind'' then
-       ioToUgnM (_ccall_ ghbindl t) `thenUgn` \ x_ghbindl ->
-       rdU_list x_ghbindl `thenUgn` \ y_ghbindl ->
-       ioToUgnM (_ccall_ ghbind t) `thenUgn` \ x_ghbind ->
-       rdU_binding x_ghbind `thenUgn` \ y_ghbind ->
-       ioToUgnM (_ccall_ ghline t) `thenUgn` \ x_ghline ->
-       rdU_long x_ghline `thenUgn` \ y_ghline ->
-       returnUgn (U_hbind y_ghbindl y_ghbind y_ghline)
     else if tag == ``ibind'' then
        ioToUgnM (_ccall_ gibindc t) `thenUgn` \ x_gibindc ->
        rdU_list x_gibindc `thenUgn` \ y_gibindc ->
index c6b7ea0..15055df 100644 (file)
@@ -3,14 +3,12 @@
 module U_finfot where
 import UgenUtil
 import Util
-data U_finfot = U_nofinfo | U_finfo U_stringId U_stringId 
+data U_finfot = U_finfo U_stringId U_stringId 
 
 rdU_finfot :: _Addr -> UgnM U_finfot
 rdU_finfot t
   = ioToUgnM (_ccall_ tfinfot t) `thenUgn` \ tag@(I# _) ->
-    if tag == ``nofinfo'' then
-       returnUgn (U_nofinfo )
-    else if tag == ``finfo'' then
+    if tag == ``finfo'' then
        ioToUgnM (_ccall_ fi1 t) `thenUgn` \ x_fi1 ->
        rdU_stringId x_fi1 `thenUgn` \ y_fi1 ->
        ioToUgnM (_ccall_ fi2 t) `thenUgn` \ x_fi2 ->
index 49ef6bb..0651a70 100644 (file)
@@ -18,6 +18,7 @@ typedef enum {
 typedef struct { Tatype tag; } *atype;
 
 #ifdef __GNUC__
+Tatype tatype(atype t);
 extern __inline__ Tatype tatype(atype t)
 {
        return(t -> tag);
@@ -36,6 +37,8 @@ struct Satc {
 extern atype mkatc PROTO((unkId, list, long));
 #ifdef __GNUC__
 
+unkId *Rgatcid PROTO((struct Satc *));
+
 extern __inline__ unkId *Rgatcid(struct Satc *t)
 {
 #ifdef UGEN_DEBUG
@@ -51,6 +54,8 @@ extern unkId *Rgatcid PROTO((struct Satc *));
 #define gatcid(xyzxyz) (*Rgatcid((struct Satc *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgatctypel PROTO((struct Satc *));
+
 extern __inline__ list *Rgatctypel(struct Satc *t)
 {
 #ifdef UGEN_DEBUG
@@ -66,6 +71,8 @@ extern list *Rgatctypel PROTO((struct Satc *));
 #define gatctypel(xyzxyz) (*Rgatctypel((struct Satc *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgatcline PROTO((struct Satc *));
+
 extern __inline__ long *Rgatcline(struct Satc *t)
 {
 #ifdef UGEN_DEBUG
index 20a82a3..6aa24ec 100644 (file)
@@ -252,132 +252,6 @@ binding *Rgabindsnd(t)
        return(& t -> Xgabindsnd);
 }
 
-/************** lbind ******************/
-
-binding mklbind(PPglbindfst, PPglbindsnd)
- binding PPglbindfst;
- binding PPglbindsnd;
-{
-       register struct Slbind *pp =
-               (struct Slbind *) malloc(sizeof(struct Slbind));
-       pp -> tag = lbind;
-       pp -> Xglbindfst = PPglbindfst;
-       pp -> Xglbindsnd = PPglbindsnd;
-       return((binding)pp);
-}
-
-binding *Rglbindfst(t)
- struct Slbind *t;
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != lbind)
-               fprintf(stderr,"glbindfst: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xglbindfst);
-}
-
-binding *Rglbindsnd(t)
- struct Slbind *t;
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != lbind)
-               fprintf(stderr,"glbindsnd: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xglbindsnd);
-}
-
-/************** ebind ******************/
-
-binding mkebind(PPgebindl, PPgebind, PPgeline)
- list PPgebindl;
- binding PPgebind;
- long PPgeline;
-{
-       register struct Sebind *pp =
-               (struct Sebind *) malloc(sizeof(struct Sebind));
-       pp -> tag = ebind;
-       pp -> Xgebindl = PPgebindl;
-       pp -> Xgebind = PPgebind;
-       pp -> Xgeline = PPgeline;
-       return((binding)pp);
-}
-
-list *Rgebindl(t)
- struct Sebind *t;
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != ebind)
-               fprintf(stderr,"gebindl: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xgebindl);
-}
-
-binding *Rgebind(t)
- struct Sebind *t;
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != ebind)
-               fprintf(stderr,"gebind: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xgebind);
-}
-
-long *Rgeline(t)
- struct Sebind *t;
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != ebind)
-               fprintf(stderr,"geline: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xgeline);
-}
-
-/************** hbind ******************/
-
-binding mkhbind(PPghbindl, PPghbind, PPghline)
- list PPghbindl;
- binding PPghbind;
- long PPghline;
-{
-       register struct Shbind *pp =
-               (struct Shbind *) malloc(sizeof(struct Shbind));
-       pp -> tag = hbind;
-       pp -> Xghbindl = PPghbindl;
-       pp -> Xghbind = PPghbind;
-       pp -> Xghline = PPghline;
-       return((binding)pp);
-}
-
-list *Rghbindl(t)
- struct Shbind *t;
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != hbind)
-               fprintf(stderr,"ghbindl: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xghbindl);
-}
-
-binding *Rghbind(t)
- struct Shbind *t;
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != hbind)
-               fprintf(stderr,"ghbind: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xghbind);
-}
-
-long *Rghline(t)
- struct Shbind *t;
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != hbind)
-               fprintf(stderr,"ghline: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xghline);
-}
-
 /************** ibind ******************/
 
 binding mkibind(PPgibindc, PPgibindid, PPgibindi, PPgibindw, PPgiline, PPgipragma)
@@ -682,7 +556,7 @@ long *Rgmline(t)
 
 /************** nullbind ******************/
 
-binding mknullbind()
+binding mknullbind(void)
 {
        register struct Snullbind *pp =
                (struct Snullbind *) malloc(sizeof(struct Snullbind));
index add5394..7342d01 100644 (file)
@@ -17,9 +17,6 @@ typedef enum {
        pbind,
        fbind,
        abind,
-       lbind,
-       ebind,
-       hbind,
        ibind,
        dbind,
        cbind,
@@ -41,6 +38,7 @@ typedef enum {
 typedef struct { Tbinding tag; } *binding;
 
 #ifdef __GNUC__
+Tbinding tbinding(binding t);
 extern __inline__ Tbinding tbinding(binding t)
 {
        return(t -> tag);
@@ -85,26 +83,6 @@ struct Sabind {
        binding Xgabindsnd;
 };
 
-struct Slbind {
-       Tbinding tag;
-       binding Xglbindfst;
-       binding Xglbindsnd;
-};
-
-struct Sebind {
-       Tbinding tag;
-       list Xgebindl;
-       binding Xgebind;
-       long Xgeline;
-};
-
-struct Shbind {
-       Tbinding tag;
-       list Xghbindl;
-       binding Xghbind;
-       long Xghline;
-};
-
 struct Sibind {
        Tbinding tag;
        list Xgibindc;
@@ -226,6 +204,8 @@ struct Sdspec_uprag {
 extern binding mktbind PROTO((list, ttype, list, list, long, hpragma));
 #ifdef __GNUC__
 
+list *Rgtbindc PROTO((struct Stbind *));
+
 extern __inline__ list *Rgtbindc(struct Stbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -241,6 +221,8 @@ extern list *Rgtbindc PROTO((struct Stbind *));
 #define gtbindc(xyzxyz) (*Rgtbindc((struct Stbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgtbindid PROTO((struct Stbind *));
+
 extern __inline__ ttype *Rgtbindid(struct Stbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -256,6 +238,8 @@ extern ttype *Rgtbindid PROTO((struct Stbind *));
 #define gtbindid(xyzxyz) (*Rgtbindid((struct Stbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgtbindl PROTO((struct Stbind *));
+
 extern __inline__ list *Rgtbindl(struct Stbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -271,6 +255,8 @@ extern list *Rgtbindl PROTO((struct Stbind *));
 #define gtbindl(xyzxyz) (*Rgtbindl((struct Stbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgtbindd PROTO((struct Stbind *));
+
 extern __inline__ list *Rgtbindd(struct Stbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -286,6 +272,8 @@ extern list *Rgtbindd PROTO((struct Stbind *));
 #define gtbindd(xyzxyz) (*Rgtbindd((struct Stbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgtline PROTO((struct Stbind *));
+
 extern __inline__ long *Rgtline(struct Stbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -301,6 +289,8 @@ extern long *Rgtline PROTO((struct Stbind *));
 #define gtline(xyzxyz) (*Rgtline((struct Stbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgtpragma PROTO((struct Stbind *));
+
 extern __inline__ hpragma *Rgtpragma(struct Stbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -318,6 +308,8 @@ extern hpragma *Rgtpragma PROTO((struct Stbind *));
 extern binding mknbind PROTO((ttype, ttype, long, hpragma));
 #ifdef __GNUC__
 
+ttype *Rgnbindid PROTO((struct Snbind *));
+
 extern __inline__ ttype *Rgnbindid(struct Snbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -333,6 +325,8 @@ extern ttype *Rgnbindid PROTO((struct Snbind *));
 #define gnbindid(xyzxyz) (*Rgnbindid((struct Snbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgnbindas PROTO((struct Snbind *));
+
 extern __inline__ ttype *Rgnbindas(struct Snbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -348,6 +342,8 @@ extern ttype *Rgnbindas PROTO((struct Snbind *));
 #define gnbindas(xyzxyz) (*Rgnbindas((struct Snbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgnline PROTO((struct Snbind *));
+
 extern __inline__ long *Rgnline(struct Snbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -363,6 +359,8 @@ extern long *Rgnline PROTO((struct Snbind *));
 #define gnline(xyzxyz) (*Rgnline((struct Snbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgnpragma PROTO((struct Snbind *));
+
 extern __inline__ hpragma *Rgnpragma(struct Snbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -380,6 +378,8 @@ extern hpragma *Rgnpragma PROTO((struct Snbind *));
 extern binding mkpbind PROTO((list, long));
 #ifdef __GNUC__
 
+list *Rgpbindl PROTO((struct Spbind *));
+
 extern __inline__ list *Rgpbindl(struct Spbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -395,6 +395,8 @@ extern list *Rgpbindl PROTO((struct Spbind *));
 #define gpbindl(xyzxyz) (*Rgpbindl((struct Spbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgpline PROTO((struct Spbind *));
+
 extern __inline__ long *Rgpline(struct Spbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -412,6 +414,8 @@ extern long *Rgpline PROTO((struct Spbind *));
 extern binding mkfbind PROTO((list, long));
 #ifdef __GNUC__
 
+list *Rgfbindl PROTO((struct Sfbind *));
+
 extern __inline__ list *Rgfbindl(struct Sfbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -427,6 +431,8 @@ extern list *Rgfbindl PROTO((struct Sfbind *));
 #define gfbindl(xyzxyz) (*Rgfbindl((struct Sfbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgfline PROTO((struct Sfbind *));
+
 extern __inline__ long *Rgfline(struct Sfbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -444,6 +450,8 @@ extern long *Rgfline PROTO((struct Sfbind *));
 extern binding mkabind PROTO((binding, binding));
 #ifdef __GNUC__
 
+binding *Rgabindfst PROTO((struct Sabind *));
+
 extern __inline__ binding *Rgabindfst(struct Sabind *t)
 {
 #ifdef UGEN_DEBUG
@@ -459,6 +467,8 @@ extern binding *Rgabindfst PROTO((struct Sabind *));
 #define gabindfst(xyzxyz) (*Rgabindfst((struct Sabind *) (xyzxyz)))
 #ifdef __GNUC__
 
+binding *Rgabindsnd PROTO((struct Sabind *));
+
 extern __inline__ binding *Rgabindsnd(struct Sabind *t)
 {
 #ifdef UGEN_DEBUG
@@ -473,135 +483,11 @@ extern binding *Rgabindsnd PROTO((struct Sabind *));
 
 #define gabindsnd(xyzxyz) (*Rgabindsnd((struct Sabind *) (xyzxyz)))
 
-extern binding mklbind PROTO((binding, binding));
-#ifdef __GNUC__
-
-extern __inline__ binding *Rglbindfst(struct Slbind *t)
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != lbind)
-               fprintf(stderr,"glbindfst: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xglbindfst);
-}
-#else  /* ! __GNUC__ */
-extern binding *Rglbindfst PROTO((struct Slbind *));
-#endif /* ! __GNUC__ */
-
-#define glbindfst(xyzxyz) (*Rglbindfst((struct Slbind *) (xyzxyz)))
-#ifdef __GNUC__
-
-extern __inline__ binding *Rglbindsnd(struct Slbind *t)
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != lbind)
-               fprintf(stderr,"glbindsnd: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xglbindsnd);
-}
-#else  /* ! __GNUC__ */
-extern binding *Rglbindsnd PROTO((struct Slbind *));
-#endif /* ! __GNUC__ */
-
-#define glbindsnd(xyzxyz) (*Rglbindsnd((struct Slbind *) (xyzxyz)))
-
-extern binding mkebind PROTO((list, binding, long));
-#ifdef __GNUC__
-
-extern __inline__ list *Rgebindl(struct Sebind *t)
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != ebind)
-               fprintf(stderr,"gebindl: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xgebindl);
-}
-#else  /* ! __GNUC__ */
-extern list *Rgebindl PROTO((struct Sebind *));
-#endif /* ! __GNUC__ */
-
-#define gebindl(xyzxyz) (*Rgebindl((struct Sebind *) (xyzxyz)))
-#ifdef __GNUC__
-
-extern __inline__ binding *Rgebind(struct Sebind *t)
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != ebind)
-               fprintf(stderr,"gebind: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xgebind);
-}
-#else  /* ! __GNUC__ */
-extern binding *Rgebind PROTO((struct Sebind *));
-#endif /* ! __GNUC__ */
-
-#define gebind(xyzxyz) (*Rgebind((struct Sebind *) (xyzxyz)))
-#ifdef __GNUC__
-
-extern __inline__ long *Rgeline(struct Sebind *t)
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != ebind)
-               fprintf(stderr,"geline: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xgeline);
-}
-#else  /* ! __GNUC__ */
-extern long *Rgeline PROTO((struct Sebind *));
-#endif /* ! __GNUC__ */
-
-#define geline(xyzxyz) (*Rgeline((struct Sebind *) (xyzxyz)))
-
-extern binding mkhbind PROTO((list, binding, long));
-#ifdef __GNUC__
-
-extern __inline__ list *Rghbindl(struct Shbind *t)
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != hbind)
-               fprintf(stderr,"ghbindl: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xghbindl);
-}
-#else  /* ! __GNUC__ */
-extern list *Rghbindl PROTO((struct Shbind *));
-#endif /* ! __GNUC__ */
-
-#define ghbindl(xyzxyz) (*Rghbindl((struct Shbind *) (xyzxyz)))
-#ifdef __GNUC__
-
-extern __inline__ binding *Rghbind(struct Shbind *t)
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != hbind)
-               fprintf(stderr,"ghbind: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xghbind);
-}
-#else  /* ! __GNUC__ */
-extern binding *Rghbind PROTO((struct Shbind *));
-#endif /* ! __GNUC__ */
-
-#define ghbind(xyzxyz) (*Rghbind((struct Shbind *) (xyzxyz)))
-#ifdef __GNUC__
-
-extern __inline__ long *Rghline(struct Shbind *t)
-{
-#ifdef UGEN_DEBUG
-       if(t -> tag != hbind)
-               fprintf(stderr,"ghline: illegal selection; was %d\n", t -> tag);
-#endif /* UGEN_DEBUG */
-       return(& t -> Xghline);
-}
-#else  /* ! __GNUC__ */
-extern long *Rghline PROTO((struct Shbind *));
-#endif /* ! __GNUC__ */
-
-#define ghline(xyzxyz) (*Rghline((struct Shbind *) (xyzxyz)))
-
 extern binding mkibind PROTO((list, unkId, ttype, binding, long, hpragma));
 #ifdef __GNUC__
 
+list *Rgibindc PROTO((struct Sibind *));
+
 extern __inline__ list *Rgibindc(struct Sibind *t)
 {
 #ifdef UGEN_DEBUG
@@ -617,6 +503,8 @@ extern list *Rgibindc PROTO((struct Sibind *));
 #define gibindc(xyzxyz) (*Rgibindc((struct Sibind *) (xyzxyz)))
 #ifdef __GNUC__
 
+unkId *Rgibindid PROTO((struct Sibind *));
+
 extern __inline__ unkId *Rgibindid(struct Sibind *t)
 {
 #ifdef UGEN_DEBUG
@@ -632,6 +520,8 @@ extern unkId *Rgibindid PROTO((struct Sibind *));
 #define gibindid(xyzxyz) (*Rgibindid((struct Sibind *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgibindi PROTO((struct Sibind *));
+
 extern __inline__ ttype *Rgibindi(struct Sibind *t)
 {
 #ifdef UGEN_DEBUG
@@ -647,6 +537,8 @@ extern ttype *Rgibindi PROTO((struct Sibind *));
 #define gibindi(xyzxyz) (*Rgibindi((struct Sibind *) (xyzxyz)))
 #ifdef __GNUC__
 
+binding *Rgibindw PROTO((struct Sibind *));
+
 extern __inline__ binding *Rgibindw(struct Sibind *t)
 {
 #ifdef UGEN_DEBUG
@@ -662,6 +554,8 @@ extern binding *Rgibindw PROTO((struct Sibind *));
 #define gibindw(xyzxyz) (*Rgibindw((struct Sibind *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgiline PROTO((struct Sibind *));
+
 extern __inline__ long *Rgiline(struct Sibind *t)
 {
 #ifdef UGEN_DEBUG
@@ -677,6 +571,8 @@ extern long *Rgiline PROTO((struct Sibind *));
 #define giline(xyzxyz) (*Rgiline((struct Sibind *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgipragma PROTO((struct Sibind *));
+
 extern __inline__ hpragma *Rgipragma(struct Sibind *t)
 {
 #ifdef UGEN_DEBUG
@@ -694,6 +590,8 @@ extern hpragma *Rgipragma PROTO((struct Sibind *));
 extern binding mkdbind PROTO((list, long));
 #ifdef __GNUC__
 
+list *Rgdbindts PROTO((struct Sdbind *));
+
 extern __inline__ list *Rgdbindts(struct Sdbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -709,6 +607,8 @@ extern list *Rgdbindts PROTO((struct Sdbind *));
 #define gdbindts(xyzxyz) (*Rgdbindts((struct Sdbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgdline PROTO((struct Sdbind *));
+
 extern __inline__ long *Rgdline(struct Sdbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -726,6 +626,8 @@ extern long *Rgdline PROTO((struct Sdbind *));
 extern binding mkcbind PROTO((list, ttype, binding, long, hpragma));
 #ifdef __GNUC__
 
+list *Rgcbindc PROTO((struct Scbind *));
+
 extern __inline__ list *Rgcbindc(struct Scbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -741,6 +643,8 @@ extern list *Rgcbindc PROTO((struct Scbind *));
 #define gcbindc(xyzxyz) (*Rgcbindc((struct Scbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgcbindid PROTO((struct Scbind *));
+
 extern __inline__ ttype *Rgcbindid(struct Scbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -756,6 +660,8 @@ extern ttype *Rgcbindid PROTO((struct Scbind *));
 #define gcbindid(xyzxyz) (*Rgcbindid((struct Scbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+binding *Rgcbindw PROTO((struct Scbind *));
+
 extern __inline__ binding *Rgcbindw(struct Scbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -771,6 +677,8 @@ extern binding *Rgcbindw PROTO((struct Scbind *));
 #define gcbindw(xyzxyz) (*Rgcbindw((struct Scbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgcline PROTO((struct Scbind *));
+
 extern __inline__ long *Rgcline(struct Scbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -786,6 +694,8 @@ extern long *Rgcline PROTO((struct Scbind *));
 #define gcline(xyzxyz) (*Rgcline((struct Scbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgcpragma PROTO((struct Scbind *));
+
 extern __inline__ hpragma *Rgcpragma(struct Scbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -803,6 +713,8 @@ extern hpragma *Rgcpragma PROTO((struct Scbind *));
 extern binding mksbind PROTO((list, ttype, long, hpragma));
 #ifdef __GNUC__
 
+list *Rgsbindids PROTO((struct Ssbind *));
+
 extern __inline__ list *Rgsbindids(struct Ssbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -818,6 +730,8 @@ extern list *Rgsbindids PROTO((struct Ssbind *));
 #define gsbindids(xyzxyz) (*Rgsbindids((struct Ssbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgsbindid PROTO((struct Ssbind *));
+
 extern __inline__ ttype *Rgsbindid(struct Ssbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -833,6 +747,8 @@ extern ttype *Rgsbindid PROTO((struct Ssbind *));
 #define gsbindid(xyzxyz) (*Rgsbindid((struct Ssbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgsline PROTO((struct Ssbind *));
+
 extern __inline__ long *Rgsline(struct Ssbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -848,6 +764,8 @@ extern long *Rgsline PROTO((struct Ssbind *));
 #define gsline(xyzxyz) (*Rgsline((struct Ssbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgspragma PROTO((struct Ssbind *));
+
 extern __inline__ hpragma *Rgspragma(struct Ssbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -865,6 +783,8 @@ extern hpragma *Rgspragma PROTO((struct Ssbind *));
 extern binding mkmbind PROTO((stringId, list, list, long));
 #ifdef __GNUC__
 
+stringId *Rgmbindmodn PROTO((struct Smbind *));
+
 extern __inline__ stringId *Rgmbindmodn(struct Smbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -880,6 +800,8 @@ extern stringId *Rgmbindmodn PROTO((struct Smbind *));
 #define gmbindmodn(xyzxyz) (*Rgmbindmodn((struct Smbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgmbindimp PROTO((struct Smbind *));
+
 extern __inline__ list *Rgmbindimp(struct Smbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -895,6 +817,8 @@ extern list *Rgmbindimp PROTO((struct Smbind *));
 #define gmbindimp(xyzxyz) (*Rgmbindimp((struct Smbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgmbindren PROTO((struct Smbind *));
+
 extern __inline__ list *Rgmbindren(struct Smbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -910,6 +834,8 @@ extern list *Rgmbindren PROTO((struct Smbind *));
 #define gmbindren(xyzxyz) (*Rgmbindren((struct Smbind *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgmline PROTO((struct Smbind *));
+
 extern __inline__ long *Rgmline(struct Smbind *t)
 {
 #ifdef UGEN_DEBUG
@@ -924,11 +850,13 @@ extern long *Rgmline PROTO((struct Smbind *));
 
 #define gmline(xyzxyz) (*Rgmline((struct Smbind *) (xyzxyz)))
 
-extern binding mknullbind PROTO(());
+extern binding mknullbind PROTO((void));
 
 extern binding mkimport PROTO((stringId, list, list, binding, stringId, long));
 #ifdef __GNUC__
 
+stringId *Rgiebindmod PROTO((struct Simport *));
+
 extern __inline__ stringId *Rgiebindmod(struct Simport *t)
 {
 #ifdef UGEN_DEBUG
@@ -944,6 +872,8 @@ extern stringId *Rgiebindmod PROTO((struct Simport *));
 #define giebindmod(xyzxyz) (*Rgiebindmod((struct Simport *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgiebindexp PROTO((struct Simport *));
+
 extern __inline__ list *Rgiebindexp(struct Simport *t)
 {
 #ifdef UGEN_DEBUG
@@ -959,6 +889,8 @@ extern list *Rgiebindexp PROTO((struct Simport *));
 #define giebindexp(xyzxyz) (*Rgiebindexp((struct Simport *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgiebindren PROTO((struct Simport *));
+
 extern __inline__ list *Rgiebindren(struct Simport *t)
 {
 #ifdef UGEN_DEBUG
@@ -974,6 +906,8 @@ extern list *Rgiebindren PROTO((struct Simport *));
 #define giebindren(xyzxyz) (*Rgiebindren((struct Simport *) (xyzxyz)))
 #ifdef __GNUC__
 
+binding *Rgiebinddef PROTO((struct Simport *));
+
 extern __inline__ binding *Rgiebinddef(struct Simport *t)
 {
 #ifdef UGEN_DEBUG
@@ -989,6 +923,8 @@ extern binding *Rgiebinddef PROTO((struct Simport *));
 #define giebinddef(xyzxyz) (*Rgiebinddef((struct Simport *) (xyzxyz)))
 #ifdef __GNUC__
 
+stringId *Rgiebindfile PROTO((struct Simport *));
+
 extern __inline__ stringId *Rgiebindfile(struct Simport *t)
 {
 #ifdef UGEN_DEBUG
@@ -1004,6 +940,8 @@ extern stringId *Rgiebindfile PROTO((struct Simport *));
 #define giebindfile(xyzxyz) (*Rgiebindfile((struct Simport *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgiebindline PROTO((struct Simport *));
+
 extern __inline__ long *Rgiebindline(struct Simport *t)
 {
 #ifdef UGEN_DEBUG
@@ -1021,6 +959,8 @@ extern long *Rgiebindline PROTO((struct Simport *));
 extern binding mkhiding PROTO((stringId, list, list, binding, stringId, long));
 #ifdef __GNUC__
 
+stringId *Rgihbindmod PROTO((struct Shiding *));
+
 extern __inline__ stringId *Rgihbindmod(struct Shiding *t)
 {
 #ifdef UGEN_DEBUG
@@ -1036,6 +976,8 @@ extern stringId *Rgihbindmod PROTO((struct Shiding *));
 #define gihbindmod(xyzxyz) (*Rgihbindmod((struct Shiding *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgihbindexp PROTO((struct Shiding *));
+
 extern __inline__ list *Rgihbindexp(struct Shiding *t)
 {
 #ifdef UGEN_DEBUG
@@ -1051,6 +993,8 @@ extern list *Rgihbindexp PROTO((struct Shiding *));
 #define gihbindexp(xyzxyz) (*Rgihbindexp((struct Shiding *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgihbindren PROTO((struct Shiding *));
+
 extern __inline__ list *Rgihbindren(struct Shiding *t)
 {
 #ifdef UGEN_DEBUG
@@ -1066,6 +1010,8 @@ extern list *Rgihbindren PROTO((struct Shiding *));
 #define gihbindren(xyzxyz) (*Rgihbindren((struct Shiding *) (xyzxyz)))
 #ifdef __GNUC__
 
+binding *Rgihbinddef PROTO((struct Shiding *));
+
 extern __inline__ binding *Rgihbinddef(struct Shiding *t)
 {
 #ifdef UGEN_DEBUG
@@ -1081,6 +1027,8 @@ extern binding *Rgihbinddef PROTO((struct Shiding *));
 #define gihbinddef(xyzxyz) (*Rgihbinddef((struct Shiding *) (xyzxyz)))
 #ifdef __GNUC__
 
+stringId *Rgihbindfile PROTO((struct Shiding *));
+
 extern __inline__ stringId *Rgihbindfile(struct Shiding *t)
 {
 #ifdef UGEN_DEBUG
@@ -1096,6 +1044,8 @@ extern stringId *Rgihbindfile PROTO((struct Shiding *));
 #define gihbindfile(xyzxyz) (*Rgihbindfile((struct Shiding *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgihbindline PROTO((struct Shiding *));
+
 extern __inline__ long *Rgihbindline(struct Shiding *t)
 {
 #ifdef UGEN_DEBUG
@@ -1113,6 +1063,8 @@ extern long *Rgihbindline PROTO((struct Shiding *));
 extern binding mkvspec_uprag PROTO((unkId, list, long));
 #ifdef __GNUC__
 
+unkId *Rgvspec_id PROTO((struct Svspec_uprag *));
+
 extern __inline__ unkId *Rgvspec_id(struct Svspec_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1128,6 +1080,8 @@ extern unkId *Rgvspec_id PROTO((struct Svspec_uprag *));
 #define gvspec_id(xyzxyz) (*Rgvspec_id((struct Svspec_uprag *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgvspec_tys PROTO((struct Svspec_uprag *));
+
 extern __inline__ list *Rgvspec_tys(struct Svspec_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1143,6 +1097,8 @@ extern list *Rgvspec_tys PROTO((struct Svspec_uprag *));
 #define gvspec_tys(xyzxyz) (*Rgvspec_tys((struct Svspec_uprag *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgvspec_line PROTO((struct Svspec_uprag *));
+
 extern __inline__ long *Rgvspec_line(struct Svspec_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1160,6 +1116,8 @@ extern long *Rgvspec_line PROTO((struct Svspec_uprag *));
 extern binding mkvspec_ty_and_id PROTO((ttype, list));
 #ifdef __GNUC__
 
+ttype *Rgvspec_ty PROTO((struct Svspec_ty_and_id *));
+
 extern __inline__ ttype *Rgvspec_ty(struct Svspec_ty_and_id *t)
 {
 #ifdef UGEN_DEBUG
@@ -1175,6 +1133,8 @@ extern ttype *Rgvspec_ty PROTO((struct Svspec_ty_and_id *));
 #define gvspec_ty(xyzxyz) (*Rgvspec_ty((struct Svspec_ty_and_id *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgvspec_tyid PROTO((struct Svspec_ty_and_id *));
+
 extern __inline__ list *Rgvspec_tyid(struct Svspec_ty_and_id *t)
 {
 #ifdef UGEN_DEBUG
@@ -1192,6 +1152,8 @@ extern list *Rgvspec_tyid PROTO((struct Svspec_ty_and_id *));
 extern binding mkispec_uprag PROTO((unkId, ttype, long));
 #ifdef __GNUC__
 
+unkId *Rgispec_clas PROTO((struct Sispec_uprag *));
+
 extern __inline__ unkId *Rgispec_clas(struct Sispec_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1207,6 +1169,8 @@ extern unkId *Rgispec_clas PROTO((struct Sispec_uprag *));
 #define gispec_clas(xyzxyz) (*Rgispec_clas((struct Sispec_uprag *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgispec_ty PROTO((struct Sispec_uprag *));
+
 extern __inline__ ttype *Rgispec_ty(struct Sispec_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1222,6 +1186,8 @@ extern ttype *Rgispec_ty PROTO((struct Sispec_uprag *));
 #define gispec_ty(xyzxyz) (*Rgispec_ty((struct Sispec_uprag *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgispec_line PROTO((struct Sispec_uprag *));
+
 extern __inline__ long *Rgispec_line(struct Sispec_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1239,6 +1205,8 @@ extern long *Rgispec_line PROTO((struct Sispec_uprag *));
 extern binding mkinline_uprag PROTO((unkId, list, long));
 #ifdef __GNUC__
 
+unkId *Rginline_id PROTO((struct Sinline_uprag *));
+
 extern __inline__ unkId *Rginline_id(struct Sinline_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1254,6 +1222,8 @@ extern unkId *Rginline_id PROTO((struct Sinline_uprag *));
 #define ginline_id(xyzxyz) (*Rginline_id((struct Sinline_uprag *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rginline_howto PROTO((struct Sinline_uprag *));
+
 extern __inline__ list *Rginline_howto(struct Sinline_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1269,6 +1239,8 @@ extern list *Rginline_howto PROTO((struct Sinline_uprag *));
 #define ginline_howto(xyzxyz) (*Rginline_howto((struct Sinline_uprag *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rginline_line PROTO((struct Sinline_uprag *));
+
 extern __inline__ long *Rginline_line(struct Sinline_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1286,6 +1258,8 @@ extern long *Rginline_line PROTO((struct Sinline_uprag *));
 extern binding mkdeforest_uprag PROTO((unkId, long));
 #ifdef __GNUC__
 
+unkId *Rgdeforest_id PROTO((struct Sdeforest_uprag *));
+
 extern __inline__ unkId *Rgdeforest_id(struct Sdeforest_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1301,6 +1275,8 @@ extern unkId *Rgdeforest_id PROTO((struct Sdeforest_uprag *));
 #define gdeforest_id(xyzxyz) (*Rgdeforest_id((struct Sdeforest_uprag *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgdeforest_line PROTO((struct Sdeforest_uprag *));
+
 extern __inline__ long *Rgdeforest_line(struct Sdeforest_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1318,6 +1294,8 @@ extern long *Rgdeforest_line PROTO((struct Sdeforest_uprag *));
 extern binding mkmagicuf_uprag PROTO((unkId, stringId, long));
 #ifdef __GNUC__
 
+unkId *Rgmagicuf_id PROTO((struct Smagicuf_uprag *));
+
 extern __inline__ unkId *Rgmagicuf_id(struct Smagicuf_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1333,6 +1311,8 @@ extern unkId *Rgmagicuf_id PROTO((struct Smagicuf_uprag *));
 #define gmagicuf_id(xyzxyz) (*Rgmagicuf_id((struct Smagicuf_uprag *) (xyzxyz)))
 #ifdef __GNUC__
 
+stringId *Rgmagicuf_str PROTO((struct Smagicuf_uprag *));
+
 extern __inline__ stringId *Rgmagicuf_str(struct Smagicuf_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1348,6 +1328,8 @@ extern stringId *Rgmagicuf_str PROTO((struct Smagicuf_uprag *));
 #define gmagicuf_str(xyzxyz) (*Rgmagicuf_str((struct Smagicuf_uprag *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgmagicuf_line PROTO((struct Smagicuf_uprag *));
+
 extern __inline__ long *Rgmagicuf_line(struct Smagicuf_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1365,6 +1347,8 @@ extern long *Rgmagicuf_line PROTO((struct Smagicuf_uprag *));
 extern binding mkabstract_uprag PROTO((unkId, long));
 #ifdef __GNUC__
 
+unkId *Rgabstract_id PROTO((struct Sabstract_uprag *));
+
 extern __inline__ unkId *Rgabstract_id(struct Sabstract_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1380,6 +1364,8 @@ extern unkId *Rgabstract_id PROTO((struct Sabstract_uprag *));
 #define gabstract_id(xyzxyz) (*Rgabstract_id((struct Sabstract_uprag *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgabstract_line PROTO((struct Sabstract_uprag *));
+
 extern __inline__ long *Rgabstract_line(struct Sabstract_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1397,6 +1383,8 @@ extern long *Rgabstract_line PROTO((struct Sabstract_uprag *));
 extern binding mkdspec_uprag PROTO((unkId, list, long));
 #ifdef __GNUC__
 
+unkId *Rgdspec_id PROTO((struct Sdspec_uprag *));
+
 extern __inline__ unkId *Rgdspec_id(struct Sdspec_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1412,6 +1400,8 @@ extern unkId *Rgdspec_id PROTO((struct Sdspec_uprag *));
 #define gdspec_id(xyzxyz) (*Rgdspec_id((struct Sdspec_uprag *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgdspec_tys PROTO((struct Sdspec_uprag *));
+
 extern __inline__ list *Rgdspec_tys(struct Sdspec_uprag *t)
 {
 #ifdef UGEN_DEBUG
@@ -1427,6 +1417,8 @@ extern list *Rgdspec_tys PROTO((struct Sdspec_uprag *));
 #define gdspec_tys(xyzxyz) (*Rgdspec_tys((struct Sdspec_uprag *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgdspec_line PROTO((struct Sdspec_uprag *));
+
 extern __inline__ long *Rgdspec_line(struct Sdspec_uprag *t)
 {
 #ifdef UGEN_DEBUG
index 34318db..2f17580 100644 (file)
@@ -702,7 +702,7 @@ coresyn *Rgcoprim_rhs(t)
 
 /************** conodeflt ******************/
 
-coresyn mkconodeflt()
+coresyn mkconodeflt(void)
 {
        register struct Sconodeflt *pp =
                (struct Sconodeflt *) malloc(sizeof(struct Sconodeflt));
@@ -1162,7 +1162,7 @@ coresyn *Rgco_dictcc_cafd(t)
 
 /************** co_scc_noncaf ******************/
 
-coresyn mkco_scc_noncaf()
+coresyn mkco_scc_noncaf(void)
 {
        register struct Sco_scc_noncaf *pp =
                (struct Sco_scc_noncaf *) malloc(sizeof(struct Sco_scc_noncaf));
@@ -1172,7 +1172,7 @@ coresyn mkco_scc_noncaf()
 
 /************** co_scc_caf ******************/
 
-coresyn mkco_scc_caf()
+coresyn mkco_scc_caf(void)
 {
        register struct Sco_scc_caf *pp =
                (struct Sco_scc_caf *) malloc(sizeof(struct Sco_scc_caf));
@@ -1182,7 +1182,7 @@ coresyn mkco_scc_caf()
 
 /************** co_scc_nondupd ******************/
 
-coresyn mkco_scc_nondupd()
+coresyn mkco_scc_nondupd(void)
 {
        register struct Sco_scc_nondupd *pp =
                (struct Sco_scc_nondupd *) malloc(sizeof(struct Sco_scc_nondupd));
@@ -1192,7 +1192,7 @@ coresyn mkco_scc_nondupd()
 
 /************** co_scc_dupd ******************/
 
-coresyn mkco_scc_dupd()
+coresyn mkco_scc_dupd(void)
 {
        register struct Sco_scc_dupd *pp =
                (struct Sco_scc_dupd *) malloc(sizeof(struct Sco_scc_dupd));
index 6786e3e..37ef02c 100644 (file)
@@ -61,6 +61,7 @@ typedef enum {
 typedef struct { Tcoresyn tag; } *coresyn;
 
 #ifdef __GNUC__
+Tcoresyn tcoresyn(coresyn t);
 extern __inline__ Tcoresyn tcoresyn(coresyn t)
 {
        return(t -> tag);
@@ -335,6 +336,8 @@ struct Sco_wrkrid {
 extern coresyn mkcobinder PROTO((unkId, ttype));
 #ifdef __GNUC__
 
+unkId *Rgcobinder_v PROTO((struct Scobinder *));
+
 extern __inline__ unkId *Rgcobinder_v(struct Scobinder *t)
 {
 #ifdef UGEN_DEBUG
@@ -350,6 +353,8 @@ extern unkId *Rgcobinder_v PROTO((struct Scobinder *));
 #define gcobinder_v(xyzxyz) (*Rgcobinder_v((struct Scobinder *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgcobinder_ty PROTO((struct Scobinder *));
+
 extern __inline__ ttype *Rgcobinder_ty(struct Scobinder *t)
 {
 #ifdef UGEN_DEBUG
@@ -367,6 +372,8 @@ extern ttype *Rgcobinder_ty PROTO((struct Scobinder *));
 extern coresyn mkcolit PROTO((literal));
 #ifdef __GNUC__
 
+literal *Rgcolit PROTO((struct Scolit *));
+
 extern __inline__ literal *Rgcolit(struct Scolit *t)
 {
 #ifdef UGEN_DEBUG
@@ -384,6 +391,8 @@ extern literal *Rgcolit PROTO((struct Scolit *));
 extern coresyn mkcolocal PROTO((coresyn));
 #ifdef __GNUC__
 
+coresyn *Rgcolocal_v PROTO((struct Scolocal *));
+
 extern __inline__ coresyn *Rgcolocal_v(struct Scolocal *t)
 {
 #ifdef UGEN_DEBUG
@@ -401,6 +410,8 @@ extern coresyn *Rgcolocal_v PROTO((struct Scolocal *));
 extern coresyn mkcononrec PROTO((coresyn, coresyn));
 #ifdef __GNUC__
 
+coresyn *Rgcononrec_b PROTO((struct Scononrec *));
+
 extern __inline__ coresyn *Rgcononrec_b(struct Scononrec *t)
 {
 #ifdef UGEN_DEBUG
@@ -416,6 +427,8 @@ extern coresyn *Rgcononrec_b PROTO((struct Scononrec *));
 #define gcononrec_b(xyzxyz) (*Rgcononrec_b((struct Scononrec *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgcononrec_rhs PROTO((struct Scononrec *));
+
 extern __inline__ coresyn *Rgcononrec_rhs(struct Scononrec *t)
 {
 #ifdef UGEN_DEBUG
@@ -433,6 +446,8 @@ extern coresyn *Rgcononrec_rhs PROTO((struct Scononrec *));
 extern coresyn mkcorec PROTO((list));
 #ifdef __GNUC__
 
+list *Rgcorec PROTO((struct Scorec *));
+
 extern __inline__ list *Rgcorec(struct Scorec *t)
 {
 #ifdef UGEN_DEBUG
@@ -450,6 +465,8 @@ extern list *Rgcorec PROTO((struct Scorec *));
 extern coresyn mkcorec_pair PROTO((coresyn, coresyn));
 #ifdef __GNUC__
 
+coresyn *Rgcorec_b PROTO((struct Scorec_pair *));
+
 extern __inline__ coresyn *Rgcorec_b(struct Scorec_pair *t)
 {
 #ifdef UGEN_DEBUG
@@ -465,6 +482,8 @@ extern coresyn *Rgcorec_b PROTO((struct Scorec_pair *));
 #define gcorec_b(xyzxyz) (*Rgcorec_b((struct Scorec_pair *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgcorec_rhs PROTO((struct Scorec_pair *));
+
 extern __inline__ coresyn *Rgcorec_rhs(struct Scorec_pair *t)
 {
 #ifdef UGEN_DEBUG
@@ -482,6 +501,8 @@ extern coresyn *Rgcorec_rhs PROTO((struct Scorec_pair *));
 extern coresyn mkcovar PROTO((coresyn));
 #ifdef __GNUC__
 
+coresyn *Rgcovar PROTO((struct Scovar *));
+
 extern __inline__ coresyn *Rgcovar(struct Scovar *t)
 {
 #ifdef UGEN_DEBUG
@@ -499,6 +520,8 @@ extern coresyn *Rgcovar PROTO((struct Scovar *));
 extern coresyn mkcoliteral PROTO((literal));
 #ifdef __GNUC__
 
+literal *Rgcoliteral PROTO((struct Scoliteral *));
+
 extern __inline__ literal *Rgcoliteral(struct Scoliteral *t)
 {
 #ifdef UGEN_DEBUG
@@ -516,6 +539,8 @@ extern literal *Rgcoliteral PROTO((struct Scoliteral *));
 extern coresyn mkcocon PROTO((coresyn, list, list));
 #ifdef __GNUC__
 
+coresyn *Rgcocon_con PROTO((struct Scocon *));
+
 extern __inline__ coresyn *Rgcocon_con(struct Scocon *t)
 {
 #ifdef UGEN_DEBUG
@@ -531,6 +556,8 @@ extern coresyn *Rgcocon_con PROTO((struct Scocon *));
 #define gcocon_con(xyzxyz) (*Rgcocon_con((struct Scocon *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgcocon_tys PROTO((struct Scocon *));
+
 extern __inline__ list *Rgcocon_tys(struct Scocon *t)
 {
 #ifdef UGEN_DEBUG
@@ -546,6 +573,8 @@ extern list *Rgcocon_tys PROTO((struct Scocon *));
 #define gcocon_tys(xyzxyz) (*Rgcocon_tys((struct Scocon *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgcocon_args PROTO((struct Scocon *));
+
 extern __inline__ list *Rgcocon_args(struct Scocon *t)
 {
 #ifdef UGEN_DEBUG
@@ -563,6 +592,8 @@ extern list *Rgcocon_args PROTO((struct Scocon *));
 extern coresyn mkcoprim PROTO((coresyn, list, list));
 #ifdef __GNUC__
 
+coresyn *Rgcoprim_op PROTO((struct Scoprim *));
+
 extern __inline__ coresyn *Rgcoprim_op(struct Scoprim *t)
 {
 #ifdef UGEN_DEBUG
@@ -578,6 +609,8 @@ extern coresyn *Rgcoprim_op PROTO((struct Scoprim *));
 #define gcoprim_op(xyzxyz) (*Rgcoprim_op((struct Scoprim *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgcoprim_tys PROTO((struct Scoprim *));
+
 extern __inline__ list *Rgcoprim_tys(struct Scoprim *t)
 {
 #ifdef UGEN_DEBUG
@@ -593,6 +626,8 @@ extern list *Rgcoprim_tys PROTO((struct Scoprim *));
 #define gcoprim_tys(xyzxyz) (*Rgcoprim_tys((struct Scoprim *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgcoprim_args PROTO((struct Scoprim *));
+
 extern __inline__ list *Rgcoprim_args(struct Scoprim *t)
 {
 #ifdef UGEN_DEBUG
@@ -610,6 +645,8 @@ extern list *Rgcoprim_args PROTO((struct Scoprim *));
 extern coresyn mkcolam PROTO((list, coresyn));
 #ifdef __GNUC__
 
+list *Rgcolam_vars PROTO((struct Scolam *));
+
 extern __inline__ list *Rgcolam_vars(struct Scolam *t)
 {
 #ifdef UGEN_DEBUG
@@ -625,6 +662,8 @@ extern list *Rgcolam_vars PROTO((struct Scolam *));
 #define gcolam_vars(xyzxyz) (*Rgcolam_vars((struct Scolam *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgcolam_body PROTO((struct Scolam *));
+
 extern __inline__ coresyn *Rgcolam_body(struct Scolam *t)
 {
 #ifdef UGEN_DEBUG
@@ -642,6 +681,8 @@ extern coresyn *Rgcolam_body PROTO((struct Scolam *));
 extern coresyn mkcotylam PROTO((list, coresyn));
 #ifdef __GNUC__
 
+list *Rgcotylam_tvs PROTO((struct Scotylam *));
+
 extern __inline__ list *Rgcotylam_tvs(struct Scotylam *t)
 {
 #ifdef UGEN_DEBUG
@@ -657,6 +698,8 @@ extern list *Rgcotylam_tvs PROTO((struct Scotylam *));
 #define gcotylam_tvs(xyzxyz) (*Rgcotylam_tvs((struct Scotylam *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgcotylam_body PROTO((struct Scotylam *));
+
 extern __inline__ coresyn *Rgcotylam_body(struct Scotylam *t)
 {
 #ifdef UGEN_DEBUG
@@ -674,6 +717,8 @@ extern coresyn *Rgcotylam_body PROTO((struct Scotylam *));
 extern coresyn mkcoapp PROTO((coresyn, list));
 #ifdef __GNUC__
 
+coresyn *Rgcoapp_fun PROTO((struct Scoapp *));
+
 extern __inline__ coresyn *Rgcoapp_fun(struct Scoapp *t)
 {
 #ifdef UGEN_DEBUG
@@ -689,6 +734,8 @@ extern coresyn *Rgcoapp_fun PROTO((struct Scoapp *));
 #define gcoapp_fun(xyzxyz) (*Rgcoapp_fun((struct Scoapp *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgcoapp_args PROTO((struct Scoapp *));
+
 extern __inline__ list *Rgcoapp_args(struct Scoapp *t)
 {
 #ifdef UGEN_DEBUG
@@ -706,6 +753,8 @@ extern list *Rgcoapp_args PROTO((struct Scoapp *));
 extern coresyn mkcotyapp PROTO((coresyn, ttype));
 #ifdef __GNUC__
 
+coresyn *Rgcotyapp_e PROTO((struct Scotyapp *));
+
 extern __inline__ coresyn *Rgcotyapp_e(struct Scotyapp *t)
 {
 #ifdef UGEN_DEBUG
@@ -721,6 +770,8 @@ extern coresyn *Rgcotyapp_e PROTO((struct Scotyapp *));
 #define gcotyapp_e(xyzxyz) (*Rgcotyapp_e((struct Scotyapp *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgcotyapp_t PROTO((struct Scotyapp *));
+
 extern __inline__ ttype *Rgcotyapp_t(struct Scotyapp *t)
 {
 #ifdef UGEN_DEBUG
@@ -738,6 +789,8 @@ extern ttype *Rgcotyapp_t PROTO((struct Scotyapp *));
 extern coresyn mkcocase PROTO((coresyn, coresyn));
 #ifdef __GNUC__
 
+coresyn *Rgcocase_s PROTO((struct Scocase *));
+
 extern __inline__ coresyn *Rgcocase_s(struct Scocase *t)
 {
 #ifdef UGEN_DEBUG
@@ -753,6 +806,8 @@ extern coresyn *Rgcocase_s PROTO((struct Scocase *));
 #define gcocase_s(xyzxyz) (*Rgcocase_s((struct Scocase *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgcocase_alts PROTO((struct Scocase *));
+
 extern __inline__ coresyn *Rgcocase_alts(struct Scocase *t)
 {
 #ifdef UGEN_DEBUG
@@ -770,6 +825,8 @@ extern coresyn *Rgcocase_alts PROTO((struct Scocase *));
 extern coresyn mkcolet PROTO((coresyn, coresyn));
 #ifdef __GNUC__
 
+coresyn *Rgcolet_bind PROTO((struct Scolet *));
+
 extern __inline__ coresyn *Rgcolet_bind(struct Scolet *t)
 {
 #ifdef UGEN_DEBUG
@@ -785,6 +842,8 @@ extern coresyn *Rgcolet_bind PROTO((struct Scolet *));
 #define gcolet_bind(xyzxyz) (*Rgcolet_bind((struct Scolet *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgcolet_body PROTO((struct Scolet *));
+
 extern __inline__ coresyn *Rgcolet_body(struct Scolet *t)
 {
 #ifdef UGEN_DEBUG
@@ -802,6 +861,8 @@ extern coresyn *Rgcolet_body PROTO((struct Scolet *));
 extern coresyn mkcoscc PROTO((coresyn, coresyn));
 #ifdef __GNUC__
 
+coresyn *Rgcoscc_scc PROTO((struct Scoscc *));
+
 extern __inline__ coresyn *Rgcoscc_scc(struct Scoscc *t)
 {
 #ifdef UGEN_DEBUG
@@ -817,6 +878,8 @@ extern coresyn *Rgcoscc_scc PROTO((struct Scoscc *));
 #define gcoscc_scc(xyzxyz) (*Rgcoscc_scc((struct Scoscc *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgcoscc_body PROTO((struct Scoscc *));
+
 extern __inline__ coresyn *Rgcoscc_body(struct Scoscc *t)
 {
 #ifdef UGEN_DEBUG
@@ -834,6 +897,8 @@ extern coresyn *Rgcoscc_body PROTO((struct Scoscc *));
 extern coresyn mkcoalg_alts PROTO((list, coresyn));
 #ifdef __GNUC__
 
+list *Rgcoalg_alts PROTO((struct Scoalg_alts *));
+
 extern __inline__ list *Rgcoalg_alts(struct Scoalg_alts *t)
 {
 #ifdef UGEN_DEBUG
@@ -849,6 +914,8 @@ extern list *Rgcoalg_alts PROTO((struct Scoalg_alts *));
 #define gcoalg_alts(xyzxyz) (*Rgcoalg_alts((struct Scoalg_alts *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgcoalg_deflt PROTO((struct Scoalg_alts *));
+
 extern __inline__ coresyn *Rgcoalg_deflt(struct Scoalg_alts *t)
 {
 #ifdef UGEN_DEBUG
@@ -866,6 +933,8 @@ extern coresyn *Rgcoalg_deflt PROTO((struct Scoalg_alts *));
 extern coresyn mkcoalg_alt PROTO((coresyn, list, coresyn));
 #ifdef __GNUC__
 
+coresyn *Rgcoalg_con PROTO((struct Scoalg_alt *));
+
 extern __inline__ coresyn *Rgcoalg_con(struct Scoalg_alt *t)
 {
 #ifdef UGEN_DEBUG
@@ -881,6 +950,8 @@ extern coresyn *Rgcoalg_con PROTO((struct Scoalg_alt *));
 #define gcoalg_con(xyzxyz) (*Rgcoalg_con((struct Scoalg_alt *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgcoalg_bs PROTO((struct Scoalg_alt *));
+
 extern __inline__ list *Rgcoalg_bs(struct Scoalg_alt *t)
 {
 #ifdef UGEN_DEBUG
@@ -896,6 +967,8 @@ extern list *Rgcoalg_bs PROTO((struct Scoalg_alt *));
 #define gcoalg_bs(xyzxyz) (*Rgcoalg_bs((struct Scoalg_alt *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgcoalg_rhs PROTO((struct Scoalg_alt *));
+
 extern __inline__ coresyn *Rgcoalg_rhs(struct Scoalg_alt *t)
 {
 #ifdef UGEN_DEBUG
@@ -913,6 +986,8 @@ extern coresyn *Rgcoalg_rhs PROTO((struct Scoalg_alt *));
 extern coresyn mkcoprim_alts PROTO((list, coresyn));
 #ifdef __GNUC__
 
+list *Rgcoprim_alts PROTO((struct Scoprim_alts *));
+
 extern __inline__ list *Rgcoprim_alts(struct Scoprim_alts *t)
 {
 #ifdef UGEN_DEBUG
@@ -928,6 +1003,8 @@ extern list *Rgcoprim_alts PROTO((struct Scoprim_alts *));
 #define gcoprim_alts(xyzxyz) (*Rgcoprim_alts((struct Scoprim_alts *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgcoprim_deflt PROTO((struct Scoprim_alts *));
+
 extern __inline__ coresyn *Rgcoprim_deflt(struct Scoprim_alts *t)
 {
 #ifdef UGEN_DEBUG
@@ -945,6 +1022,8 @@ extern coresyn *Rgcoprim_deflt PROTO((struct Scoprim_alts *));
 extern coresyn mkcoprim_alt PROTO((literal, coresyn));
 #ifdef __GNUC__
 
+literal *Rgcoprim_lit PROTO((struct Scoprim_alt *));
+
 extern __inline__ literal *Rgcoprim_lit(struct Scoprim_alt *t)
 {
 #ifdef UGEN_DEBUG
@@ -960,6 +1039,8 @@ extern literal *Rgcoprim_lit PROTO((struct Scoprim_alt *));
 #define gcoprim_lit(xyzxyz) (*Rgcoprim_lit((struct Scoprim_alt *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgcoprim_rhs PROTO((struct Scoprim_alt *));
+
 extern __inline__ coresyn *Rgcoprim_rhs(struct Scoprim_alt *t)
 {
 #ifdef UGEN_DEBUG
@@ -974,11 +1055,13 @@ extern coresyn *Rgcoprim_rhs PROTO((struct Scoprim_alt *));
 
 #define gcoprim_rhs(xyzxyz) (*Rgcoprim_rhs((struct Scoprim_alt *) (xyzxyz)))
 
-extern coresyn mkconodeflt PROTO(());
+extern coresyn mkconodeflt PROTO((void));
 
 extern coresyn mkcobinddeflt PROTO((coresyn, coresyn));
 #ifdef __GNUC__
 
+coresyn *Rgcobinddeflt_v PROTO((struct Scobinddeflt *));
+
 extern __inline__ coresyn *Rgcobinddeflt_v(struct Scobinddeflt *t)
 {
 #ifdef UGEN_DEBUG
@@ -994,6 +1077,8 @@ extern coresyn *Rgcobinddeflt_v PROTO((struct Scobinddeflt *));
 #define gcobinddeflt_v(xyzxyz) (*Rgcobinddeflt_v((struct Scobinddeflt *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgcobinddeflt_rhs PROTO((struct Scobinddeflt *));
+
 extern __inline__ coresyn *Rgcobinddeflt_rhs(struct Scobinddeflt *t)
 {
 #ifdef UGEN_DEBUG
@@ -1011,6 +1096,8 @@ extern coresyn *Rgcobinddeflt_rhs PROTO((struct Scobinddeflt *));
 extern coresyn mkco_primop PROTO((stringId));
 #ifdef __GNUC__
 
+stringId *Rgco_primop PROTO((struct Sco_primop *));
+
 extern __inline__ stringId *Rgco_primop(struct Sco_primop *t)
 {
 #ifdef UGEN_DEBUG
@@ -1028,6 +1115,8 @@ extern stringId *Rgco_primop PROTO((struct Sco_primop *));
 extern coresyn mkco_ccall PROTO((stringId, long, list, ttype));
 #ifdef __GNUC__
 
+stringId *Rgco_ccall PROTO((struct Sco_ccall *));
+
 extern __inline__ stringId *Rgco_ccall(struct Sco_ccall *t)
 {
 #ifdef UGEN_DEBUG
@@ -1043,6 +1132,8 @@ extern stringId *Rgco_ccall PROTO((struct Sco_ccall *));
 #define gco_ccall(xyzxyz) (*Rgco_ccall((struct Sco_ccall *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgco_ccall_may_gc PROTO((struct Sco_ccall *));
+
 extern __inline__ long *Rgco_ccall_may_gc(struct Sco_ccall *t)
 {
 #ifdef UGEN_DEBUG
@@ -1058,6 +1149,8 @@ extern long *Rgco_ccall_may_gc PROTO((struct Sco_ccall *));
 #define gco_ccall_may_gc(xyzxyz) (*Rgco_ccall_may_gc((struct Sco_ccall *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgco_ccall_arg_tys PROTO((struct Sco_ccall *));
+
 extern __inline__ list *Rgco_ccall_arg_tys(struct Sco_ccall *t)
 {
 #ifdef UGEN_DEBUG
@@ -1073,6 +1166,8 @@ extern list *Rgco_ccall_arg_tys PROTO((struct Sco_ccall *));
 #define gco_ccall_arg_tys(xyzxyz) (*Rgco_ccall_arg_tys((struct Sco_ccall *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgco_ccall_res_ty PROTO((struct Sco_ccall *));
+
 extern __inline__ ttype *Rgco_ccall_res_ty(struct Sco_ccall *t)
 {
 #ifdef UGEN_DEBUG
@@ -1090,6 +1185,8 @@ extern ttype *Rgco_ccall_res_ty PROTO((struct Sco_ccall *));
 extern coresyn mkco_casm PROTO((literal, long, list, ttype));
 #ifdef __GNUC__
 
+literal *Rgco_casm PROTO((struct Sco_casm *));
+
 extern __inline__ literal *Rgco_casm(struct Sco_casm *t)
 {
 #ifdef UGEN_DEBUG
@@ -1105,6 +1202,8 @@ extern literal *Rgco_casm PROTO((struct Sco_casm *));
 #define gco_casm(xyzxyz) (*Rgco_casm((struct Sco_casm *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rgco_casm_may_gc PROTO((struct Sco_casm *));
+
 extern __inline__ long *Rgco_casm_may_gc(struct Sco_casm *t)
 {
 #ifdef UGEN_DEBUG
@@ -1120,6 +1219,8 @@ extern long *Rgco_casm_may_gc PROTO((struct Sco_casm *));
 #define gco_casm_may_gc(xyzxyz) (*Rgco_casm_may_gc((struct Sco_casm *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgco_casm_arg_tys PROTO((struct Sco_casm *));
+
 extern __inline__ list *Rgco_casm_arg_tys(struct Sco_casm *t)
 {
 #ifdef UGEN_DEBUG
@@ -1135,6 +1236,8 @@ extern list *Rgco_casm_arg_tys PROTO((struct Sco_casm *));
 #define gco_casm_arg_tys(xyzxyz) (*Rgco_casm_arg_tys((struct Sco_casm *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgco_casm_res_ty PROTO((struct Sco_casm *));
+
 extern __inline__ ttype *Rgco_casm_res_ty(struct Sco_casm *t)
 {
 #ifdef UGEN_DEBUG
@@ -1152,6 +1255,8 @@ extern ttype *Rgco_casm_res_ty PROTO((struct Sco_casm *));
 extern coresyn mkco_preludedictscc PROTO((coresyn));
 #ifdef __GNUC__
 
+coresyn *Rgco_preludedictscc_dupd PROTO((struct Sco_preludedictscc *));
+
 extern __inline__ coresyn *Rgco_preludedictscc_dupd(struct Sco_preludedictscc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1169,6 +1274,8 @@ extern coresyn *Rgco_preludedictscc_dupd PROTO((struct Sco_preludedictscc *));
 extern coresyn mkco_alldictscc PROTO((hstring, hstring, coresyn));
 #ifdef __GNUC__
 
+hstring *Rgco_alldictscc_m PROTO((struct Sco_alldictscc *));
+
 extern __inline__ hstring *Rgco_alldictscc_m(struct Sco_alldictscc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1184,6 +1291,8 @@ extern hstring *Rgco_alldictscc_m PROTO((struct Sco_alldictscc *));
 #define gco_alldictscc_m(xyzxyz) (*Rgco_alldictscc_m((struct Sco_alldictscc *) (xyzxyz)))
 #ifdef __GNUC__
 
+hstring *Rgco_alldictscc_g PROTO((struct Sco_alldictscc *));
+
 extern __inline__ hstring *Rgco_alldictscc_g(struct Sco_alldictscc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1199,6 +1308,8 @@ extern hstring *Rgco_alldictscc_g PROTO((struct Sco_alldictscc *));
 #define gco_alldictscc_g(xyzxyz) (*Rgco_alldictscc_g((struct Sco_alldictscc *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgco_alldictscc_dupd PROTO((struct Sco_alldictscc *));
+
 extern __inline__ coresyn *Rgco_alldictscc_dupd(struct Sco_alldictscc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1216,6 +1327,8 @@ extern coresyn *Rgco_alldictscc_dupd PROTO((struct Sco_alldictscc *));
 extern coresyn mkco_usercc PROTO((hstring, hstring, hstring, coresyn, coresyn));
 #ifdef __GNUC__
 
+hstring *Rgco_usercc_n PROTO((struct Sco_usercc *));
+
 extern __inline__ hstring *Rgco_usercc_n(struct Sco_usercc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1231,6 +1344,8 @@ extern hstring *Rgco_usercc_n PROTO((struct Sco_usercc *));
 #define gco_usercc_n(xyzxyz) (*Rgco_usercc_n((struct Sco_usercc *) (xyzxyz)))
 #ifdef __GNUC__
 
+hstring *Rgco_usercc_m PROTO((struct Sco_usercc *));
+
 extern __inline__ hstring *Rgco_usercc_m(struct Sco_usercc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1246,6 +1361,8 @@ extern hstring *Rgco_usercc_m PROTO((struct Sco_usercc *));
 #define gco_usercc_m(xyzxyz) (*Rgco_usercc_m((struct Sco_usercc *) (xyzxyz)))
 #ifdef __GNUC__
 
+hstring *Rgco_usercc_g PROTO((struct Sco_usercc *));
+
 extern __inline__ hstring *Rgco_usercc_g(struct Sco_usercc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1261,6 +1378,8 @@ extern hstring *Rgco_usercc_g PROTO((struct Sco_usercc *));
 #define gco_usercc_g(xyzxyz) (*Rgco_usercc_g((struct Sco_usercc *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgco_usercc_dupd PROTO((struct Sco_usercc *));
+
 extern __inline__ coresyn *Rgco_usercc_dupd(struct Sco_usercc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1276,6 +1395,8 @@ extern coresyn *Rgco_usercc_dupd PROTO((struct Sco_usercc *));
 #define gco_usercc_dupd(xyzxyz) (*Rgco_usercc_dupd((struct Sco_usercc *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgco_usercc_cafd PROTO((struct Sco_usercc *));
+
 extern __inline__ coresyn *Rgco_usercc_cafd(struct Sco_usercc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1293,6 +1414,8 @@ extern coresyn *Rgco_usercc_cafd PROTO((struct Sco_usercc *));
 extern coresyn mkco_autocc PROTO((coresyn, hstring, hstring, coresyn, coresyn));
 #ifdef __GNUC__
 
+coresyn *Rgco_autocc_i PROTO((struct Sco_autocc *));
+
 extern __inline__ coresyn *Rgco_autocc_i(struct Sco_autocc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1308,6 +1431,8 @@ extern coresyn *Rgco_autocc_i PROTO((struct Sco_autocc *));
 #define gco_autocc_i(xyzxyz) (*Rgco_autocc_i((struct Sco_autocc *) (xyzxyz)))
 #ifdef __GNUC__
 
+hstring *Rgco_autocc_m PROTO((struct Sco_autocc *));
+
 extern __inline__ hstring *Rgco_autocc_m(struct Sco_autocc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1323,6 +1448,8 @@ extern hstring *Rgco_autocc_m PROTO((struct Sco_autocc *));
 #define gco_autocc_m(xyzxyz) (*Rgco_autocc_m((struct Sco_autocc *) (xyzxyz)))
 #ifdef __GNUC__
 
+hstring *Rgco_autocc_g PROTO((struct Sco_autocc *));
+
 extern __inline__ hstring *Rgco_autocc_g(struct Sco_autocc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1338,6 +1465,8 @@ extern hstring *Rgco_autocc_g PROTO((struct Sco_autocc *));
 #define gco_autocc_g(xyzxyz) (*Rgco_autocc_g((struct Sco_autocc *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgco_autocc_dupd PROTO((struct Sco_autocc *));
+
 extern __inline__ coresyn *Rgco_autocc_dupd(struct Sco_autocc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1353,6 +1482,8 @@ extern coresyn *Rgco_autocc_dupd PROTO((struct Sco_autocc *));
 #define gco_autocc_dupd(xyzxyz) (*Rgco_autocc_dupd((struct Sco_autocc *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgco_autocc_cafd PROTO((struct Sco_autocc *));
+
 extern __inline__ coresyn *Rgco_autocc_cafd(struct Sco_autocc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1370,6 +1501,8 @@ extern coresyn *Rgco_autocc_cafd PROTO((struct Sco_autocc *));
 extern coresyn mkco_dictcc PROTO((coresyn, hstring, hstring, coresyn, coresyn));
 #ifdef __GNUC__
 
+coresyn *Rgco_dictcc_i PROTO((struct Sco_dictcc *));
+
 extern __inline__ coresyn *Rgco_dictcc_i(struct Sco_dictcc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1385,6 +1518,8 @@ extern coresyn *Rgco_dictcc_i PROTO((struct Sco_dictcc *));
 #define gco_dictcc_i(xyzxyz) (*Rgco_dictcc_i((struct Sco_dictcc *) (xyzxyz)))
 #ifdef __GNUC__
 
+hstring *Rgco_dictcc_m PROTO((struct Sco_dictcc *));
+
 extern __inline__ hstring *Rgco_dictcc_m(struct Sco_dictcc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1400,6 +1535,8 @@ extern hstring *Rgco_dictcc_m PROTO((struct Sco_dictcc *));
 #define gco_dictcc_m(xyzxyz) (*Rgco_dictcc_m((struct Sco_dictcc *) (xyzxyz)))
 #ifdef __GNUC__
 
+hstring *Rgco_dictcc_g PROTO((struct Sco_dictcc *));
+
 extern __inline__ hstring *Rgco_dictcc_g(struct Sco_dictcc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1415,6 +1552,8 @@ extern hstring *Rgco_dictcc_g PROTO((struct Sco_dictcc *));
 #define gco_dictcc_g(xyzxyz) (*Rgco_dictcc_g((struct Sco_dictcc *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgco_dictcc_dupd PROTO((struct Sco_dictcc *));
+
 extern __inline__ coresyn *Rgco_dictcc_dupd(struct Sco_dictcc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1430,6 +1569,8 @@ extern coresyn *Rgco_dictcc_dupd PROTO((struct Sco_dictcc *));
 #define gco_dictcc_dupd(xyzxyz) (*Rgco_dictcc_dupd((struct Sco_dictcc *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgco_dictcc_cafd PROTO((struct Sco_dictcc *));
+
 extern __inline__ coresyn *Rgco_dictcc_cafd(struct Sco_dictcc *t)
 {
 #ifdef UGEN_DEBUG
@@ -1444,17 +1585,19 @@ extern coresyn *Rgco_dictcc_cafd PROTO((struct Sco_dictcc *));
 
 #define gco_dictcc_cafd(xyzxyz) (*Rgco_dictcc_cafd((struct Sco_dictcc *) (xyzxyz)))
 
-extern coresyn mkco_scc_noncaf PROTO(());
+extern coresyn mkco_scc_noncaf PROTO((void));
 
-extern coresyn mkco_scc_caf PROTO(());
+extern coresyn mkco_scc_caf PROTO((void));
 
-extern coresyn mkco_scc_nondupd PROTO(());
+extern coresyn mkco_scc_nondupd PROTO((void));
 
-extern coresyn mkco_scc_dupd PROTO(());
+extern coresyn mkco_scc_dupd PROTO((void));
 
 extern coresyn mkco_id PROTO((stringId));
 #ifdef __GNUC__
 
+stringId *Rgco_id PROTO((struct Sco_id *));
+
 extern __inline__ stringId *Rgco_id(struct Sco_id *t)
 {
 #ifdef UGEN_DEBUG
@@ -1472,6 +1615,8 @@ extern stringId *Rgco_id PROTO((struct Sco_id *));
 extern coresyn mkco_orig_id PROTO((stringId, stringId));
 #ifdef __GNUC__
 
+stringId *Rgco_orig_id_m PROTO((struct Sco_orig_id *));
+
 extern __inline__ stringId *Rgco_orig_id_m(struct Sco_orig_id *t)
 {
 #ifdef UGEN_DEBUG
@@ -1487,6 +1632,8 @@ extern stringId *Rgco_orig_id_m PROTO((struct Sco_orig_id *));
 #define gco_orig_id_m(xyzxyz) (*Rgco_orig_id_m((struct Sco_orig_id *) (xyzxyz)))
 #ifdef __GNUC__
 
+stringId *Rgco_orig_id_n PROTO((struct Sco_orig_id *));
+
 extern __inline__ stringId *Rgco_orig_id_n(struct Sco_orig_id *t)
 {
 #ifdef UGEN_DEBUG
@@ -1504,6 +1651,8 @@ extern stringId *Rgco_orig_id_n PROTO((struct Sco_orig_id *));
 extern coresyn mkco_sdselid PROTO((unkId, unkId));
 #ifdef __GNUC__
 
+unkId *Rgco_sdselid_c PROTO((struct Sco_sdselid *));
+
 extern __inline__ unkId *Rgco_sdselid_c(struct Sco_sdselid *t)
 {
 #ifdef UGEN_DEBUG
@@ -1519,6 +1668,8 @@ extern unkId *Rgco_sdselid_c PROTO((struct Sco_sdselid *));
 #define gco_sdselid_c(xyzxyz) (*Rgco_sdselid_c((struct Sco_sdselid *) (xyzxyz)))
 #ifdef __GNUC__
 
+unkId *Rgco_sdselid_sc PROTO((struct Sco_sdselid *));
+
 extern __inline__ unkId *Rgco_sdselid_sc(struct Sco_sdselid *t)
 {
 #ifdef UGEN_DEBUG
@@ -1536,6 +1687,8 @@ extern unkId *Rgco_sdselid_sc PROTO((struct Sco_sdselid *));
 extern coresyn mkco_classopid PROTO((unkId, unkId));
 #ifdef __GNUC__
 
+unkId *Rgco_classopid_c PROTO((struct Sco_classopid *));
+
 extern __inline__ unkId *Rgco_classopid_c(struct Sco_classopid *t)
 {
 #ifdef UGEN_DEBUG
@@ -1551,6 +1704,8 @@ extern unkId *Rgco_classopid_c PROTO((struct Sco_classopid *));
 #define gco_classopid_c(xyzxyz) (*Rgco_classopid_c((struct Sco_classopid *) (xyzxyz)))
 #ifdef __GNUC__
 
+unkId *Rgco_classopid_o PROTO((struct Sco_classopid *));
+
 extern __inline__ unkId *Rgco_classopid_o(struct Sco_classopid *t)
 {
 #ifdef UGEN_DEBUG
@@ -1568,6 +1723,8 @@ extern unkId *Rgco_classopid_o PROTO((struct Sco_classopid *));
 extern coresyn mkco_defmid PROTO((unkId, unkId));
 #ifdef __GNUC__
 
+unkId *Rgco_defmid_c PROTO((struct Sco_defmid *));
+
 extern __inline__ unkId *Rgco_defmid_c(struct Sco_defmid *t)
 {
 #ifdef UGEN_DEBUG
@@ -1583,6 +1740,8 @@ extern unkId *Rgco_defmid_c PROTO((struct Sco_defmid *));
 #define gco_defmid_c(xyzxyz) (*Rgco_defmid_c((struct Sco_defmid *) (xyzxyz)))
 #ifdef __GNUC__
 
+unkId *Rgco_defmid_op PROTO((struct Sco_defmid *));
+
 extern __inline__ unkId *Rgco_defmid_op(struct Sco_defmid *t)
 {
 #ifdef UGEN_DEBUG
@@ -1600,6 +1759,8 @@ extern unkId *Rgco_defmid_op PROTO((struct Sco_defmid *));
 extern coresyn mkco_dfunid PROTO((unkId, ttype));
 #ifdef __GNUC__
 
+unkId *Rgco_dfunid_c PROTO((struct Sco_dfunid *));
+
 extern __inline__ unkId *Rgco_dfunid_c(struct Sco_dfunid *t)
 {
 #ifdef UGEN_DEBUG
@@ -1615,6 +1776,8 @@ extern unkId *Rgco_dfunid_c PROTO((struct Sco_dfunid *));
 #define gco_dfunid_c(xyzxyz) (*Rgco_dfunid_c((struct Sco_dfunid *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgco_dfunid_ty PROTO((struct Sco_dfunid *));
+
 extern __inline__ ttype *Rgco_dfunid_ty(struct Sco_dfunid *t)
 {
 #ifdef UGEN_DEBUG
@@ -1632,6 +1795,8 @@ extern ttype *Rgco_dfunid_ty PROTO((struct Sco_dfunid *));
 extern coresyn mkco_constmid PROTO((unkId, unkId, ttype));
 #ifdef __GNUC__
 
+unkId *Rgco_constmid_c PROTO((struct Sco_constmid *));
+
 extern __inline__ unkId *Rgco_constmid_c(struct Sco_constmid *t)
 {
 #ifdef UGEN_DEBUG
@@ -1647,6 +1812,8 @@ extern unkId *Rgco_constmid_c PROTO((struct Sco_constmid *));
 #define gco_constmid_c(xyzxyz) (*Rgco_constmid_c((struct Sco_constmid *) (xyzxyz)))
 #ifdef __GNUC__
 
+unkId *Rgco_constmid_op PROTO((struct Sco_constmid *));
+
 extern __inline__ unkId *Rgco_constmid_op(struct Sco_constmid *t)
 {
 #ifdef UGEN_DEBUG
@@ -1662,6 +1829,8 @@ extern unkId *Rgco_constmid_op PROTO((struct Sco_constmid *));
 #define gco_constmid_op(xyzxyz) (*Rgco_constmid_op((struct Sco_constmid *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgco_constmid_ty PROTO((struct Sco_constmid *));
+
 extern __inline__ ttype *Rgco_constmid_ty(struct Sco_constmid *t)
 {
 #ifdef UGEN_DEBUG
@@ -1679,6 +1848,8 @@ extern ttype *Rgco_constmid_ty PROTO((struct Sco_constmid *));
 extern coresyn mkco_specid PROTO((coresyn, list));
 #ifdef __GNUC__
 
+coresyn *Rgco_specid_un PROTO((struct Sco_specid *));
+
 extern __inline__ coresyn *Rgco_specid_un(struct Sco_specid *t)
 {
 #ifdef UGEN_DEBUG
@@ -1694,6 +1865,8 @@ extern coresyn *Rgco_specid_un PROTO((struct Sco_specid *));
 #define gco_specid_un(xyzxyz) (*Rgco_specid_un((struct Sco_specid *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgco_specid_tys PROTO((struct Sco_specid *));
+
 extern __inline__ list *Rgco_specid_tys(struct Sco_specid *t)
 {
 #ifdef UGEN_DEBUG
@@ -1711,6 +1884,8 @@ extern list *Rgco_specid_tys PROTO((struct Sco_specid *));
 extern coresyn mkco_wrkrid PROTO((coresyn));
 #ifdef __GNUC__
 
+coresyn *Rgco_wrkrid_un PROTO((struct Sco_wrkrid *));
+
 extern __inline__ coresyn *Rgco_wrkrid_un(struct Sco_wrkrid *t)
 {
 #ifdef UGEN_DEBUG
index e376a72..d2c356c 100644 (file)
@@ -23,6 +23,7 @@ typedef enum {
 typedef struct { Tentidt tag; } *entidt;
 
 #ifdef __GNUC__
+Tentidt tentidt(entidt t);
 extern __inline__ Tentidt tentidt(entidt t)
 {
        return(t -> tag);
@@ -66,6 +67,8 @@ struct Sentmod {
 extern entidt mkentid PROTO((stringId));
 #ifdef __GNUC__
 
+stringId *Rgentid PROTO((struct Sentid *));
+
 extern __inline__ stringId *Rgentid(struct Sentid *t)
 {
 #ifdef UGEN_DEBUG
@@ -83,6 +86,8 @@ extern stringId *Rgentid PROTO((struct Sentid *));
 extern entidt mkenttype PROTO((stringId));
 #ifdef __GNUC__
 
+stringId *Rgitentid PROTO((struct Senttype *));
+
 extern __inline__ stringId *Rgitentid(struct Senttype *t)
 {
 #ifdef UGEN_DEBUG
@@ -100,6 +105,8 @@ extern stringId *Rgitentid PROTO((struct Senttype *));
 extern entidt mkenttypeall PROTO((stringId));
 #ifdef __GNUC__
 
+stringId *Rgatentid PROTO((struct Senttypeall *));
+
 extern __inline__ stringId *Rgatentid(struct Senttypeall *t)
 {
 #ifdef UGEN_DEBUG
@@ -117,6 +124,8 @@ extern stringId *Rgatentid PROTO((struct Senttypeall *));
 extern entidt mkenttypecons PROTO((stringId, list));
 #ifdef __GNUC__
 
+stringId *Rgctentid PROTO((struct Senttypecons *));
+
 extern __inline__ stringId *Rgctentid(struct Senttypecons *t)
 {
 #ifdef UGEN_DEBUG
@@ -132,6 +141,8 @@ extern stringId *Rgctentid PROTO((struct Senttypecons *));
 #define gctentid(xyzxyz) (*Rgctentid((struct Senttypecons *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgctentcons PROTO((struct Senttypecons *));
+
 extern __inline__ list *Rgctentcons(struct Senttypecons *t)
 {
 #ifdef UGEN_DEBUG
@@ -149,6 +160,8 @@ extern list *Rgctentcons PROTO((struct Senttypecons *));
 extern entidt mkentclass PROTO((stringId, list));
 #ifdef __GNUC__
 
+stringId *Rgcentid PROTO((struct Sentclass *));
+
 extern __inline__ stringId *Rgcentid(struct Sentclass *t)
 {
 #ifdef UGEN_DEBUG
@@ -164,6 +177,8 @@ extern stringId *Rgcentid PROTO((struct Sentclass *));
 #define gcentid(xyzxyz) (*Rgcentid((struct Sentclass *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgcentops PROTO((struct Sentclass *));
+
 extern __inline__ list *Rgcentops(struct Sentclass *t)
 {
 #ifdef UGEN_DEBUG
@@ -181,6 +196,8 @@ extern list *Rgcentops PROTO((struct Sentclass *));
 extern entidt mkentmod PROTO((stringId));
 #ifdef __GNUC__
 
+stringId *Rgmentid PROTO((struct Sentmod *));
+
 extern __inline__ stringId *Rgmentid(struct Sentmod *t)
 {
 #ifdef UGEN_DEBUG
index d155b2b..504d5c9 100644 (file)
@@ -10,16 +10,6 @@ Tfinfot tfinfot(t)
 }
 
 
-/************** nofinfo ******************/
-
-finfot mknofinfo()
-{
-       register struct Snofinfo *pp =
-               (struct Snofinfo *) malloc(sizeof(struct Snofinfo));
-       pp -> tag = nofinfo;
-       return((finfot)pp);
-}
-
 /************** finfo ******************/
 
 finfot mkfinfo(PPfi1, PPfi2)
index 52e8af0..98c7d31 100644 (file)
 #endif
 
 typedef enum {
-       nofinfo,
        finfo
 } Tfinfot;
 
 typedef struct { Tfinfot tag; } *finfot;
 
 #ifdef __GNUC__
+Tfinfot tfinfot(finfot t);
 extern __inline__ Tfinfot tfinfot(finfot t)
 {
        return(t -> tag);
@@ -27,21 +27,17 @@ extern __inline__ Tfinfot tfinfot(finfot t)
 extern Tfinfot tfinfot PROTO((finfot));
 #endif /* ! __GNUC__ */
 
-struct Snofinfo {
-       Tfinfot tag;
-};
-
 struct Sfinfo {
        Tfinfot tag;
        stringId Xfi1;
        stringId Xfi2;
 };
 
-extern finfot mknofinfo PROTO(());
-
 extern finfot mkfinfo PROTO((stringId, stringId));
 #ifdef __GNUC__
 
+stringId *Rfi1 PROTO((struct Sfinfo *));
+
 extern __inline__ stringId *Rfi1(struct Sfinfo *t)
 {
 #ifdef UGEN_DEBUG
@@ -57,6 +53,8 @@ extern stringId *Rfi1 PROTO((struct Sfinfo *));
 #define fi1(xyzxyz) (*Rfi1((struct Sfinfo *) (xyzxyz)))
 #ifdef __GNUC__
 
+stringId *Rfi2 PROTO((struct Sfinfo *));
+
 extern __inline__ stringId *Rfi2(struct Sfinfo *t)
 {
 #ifdef UGEN_DEBUG
index 11a1115..65613c8 100644 (file)
@@ -12,7 +12,7 @@ Thpragma thpragma(t)
 
 /************** no_pragma ******************/
 
-hpragma mkno_pragma()
+hpragma mkno_pragma(void)
 {
        register struct Sno_pragma *pp =
                (struct Sno_pragma *) malloc(sizeof(struct Sno_pragma));
@@ -56,7 +56,7 @@ list *Rgprag_data_specs(t)
 
 /************** itype_pragma ******************/
 
-hpragma mkitype_pragma()
+hpragma mkitype_pragma(void)
 {
        register struct Sitype_pragma *pp =
                (struct Sitype_pragma *) malloc(sizeof(struct Sitype_pragma));
@@ -374,7 +374,7 @@ stringId *Rgprag_update_val(t)
 
 /************** ideforest_pragma ******************/
 
-hpragma mkideforest_pragma()
+hpragma mkideforest_pragma(void)
 {
        register struct Sideforest_pragma *pp =
                (struct Sideforest_pragma *) malloc(sizeof(struct Sideforest_pragma));
@@ -474,7 +474,7 @@ coresyn *Rgprag_unfold_core(t)
 
 /************** iunfold_always ******************/
 
-hpragma mkiunfold_always()
+hpragma mkiunfold_always(void)
 {
        register struct Siunfold_always *pp =
                (struct Siunfold_always *) malloc(sizeof(struct Siunfold_always));
index 8ba2ed5..068c3e6 100644 (file)
@@ -38,6 +38,7 @@ typedef enum {
 typedef struct { Thpragma tag; } *hpragma;
 
 #ifdef __GNUC__
+Thpragma thpragma(hpragma t);
 extern __inline__ Thpragma thpragma(hpragma t)
 {
        return(t -> tag);
@@ -170,11 +171,13 @@ struct Sidata_pragma_4s {
        list Xgprag_data_spec;
 };
 
-extern hpragma mkno_pragma PROTO(());
+extern hpragma mkno_pragma PROTO((void));
 
 extern hpragma mkidata_pragma PROTO((list, list));
 #ifdef __GNUC__
 
+list *Rgprag_data_constrs PROTO((struct Sidata_pragma *));
+
 extern __inline__ list *Rgprag_data_constrs(struct Sidata_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -190,6 +193,8 @@ extern list *Rgprag_data_constrs PROTO((struct Sidata_pragma *));
 #define gprag_data_constrs(xyzxyz) (*Rgprag_data_constrs((struct Sidata_pragma *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgprag_data_specs PROTO((struct Sidata_pragma *));
+
 extern __inline__ list *Rgprag_data_specs(struct Sidata_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -204,11 +209,13 @@ extern list *Rgprag_data_specs PROTO((struct Sidata_pragma *));
 
 #define gprag_data_specs(xyzxyz) (*Rgprag_data_specs((struct Sidata_pragma *) (xyzxyz)))
 
-extern hpragma mkitype_pragma PROTO(());
+extern hpragma mkitype_pragma PROTO((void));
 
 extern hpragma mkiclas_pragma PROTO((list));
 #ifdef __GNUC__
 
+list *Rgprag_clas PROTO((struct Siclas_pragma *));
+
 extern __inline__ list *Rgprag_clas(struct Siclas_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -226,6 +233,8 @@ extern list *Rgprag_clas PROTO((struct Siclas_pragma *));
 extern hpragma mkiclasop_pragma PROTO((hpragma, hpragma));
 #ifdef __GNUC__
 
+hpragma *Rgprag_dsel PROTO((struct Siclasop_pragma *));
+
 extern __inline__ hpragma *Rgprag_dsel(struct Siclasop_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -241,6 +250,8 @@ extern hpragma *Rgprag_dsel PROTO((struct Siclasop_pragma *));
 #define gprag_dsel(xyzxyz) (*Rgprag_dsel((struct Siclasop_pragma *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgprag_defm PROTO((struct Siclasop_pragma *));
+
 extern __inline__ hpragma *Rgprag_defm(struct Siclasop_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -258,6 +269,8 @@ extern hpragma *Rgprag_defm PROTO((struct Siclasop_pragma *));
 extern hpragma mkiinst_simpl_pragma PROTO((stringId, hpragma));
 #ifdef __GNUC__
 
+stringId *Rgprag_imod_simpl PROTO((struct Siinst_simpl_pragma *));
+
 extern __inline__ stringId *Rgprag_imod_simpl(struct Siinst_simpl_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -273,6 +286,8 @@ extern stringId *Rgprag_imod_simpl PROTO((struct Siinst_simpl_pragma *));
 #define gprag_imod_simpl(xyzxyz) (*Rgprag_imod_simpl((struct Siinst_simpl_pragma *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgprag_dfun_simpl PROTO((struct Siinst_simpl_pragma *));
+
 extern __inline__ hpragma *Rgprag_dfun_simpl(struct Siinst_simpl_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -290,6 +305,8 @@ extern hpragma *Rgprag_dfun_simpl PROTO((struct Siinst_simpl_pragma *));
 extern hpragma mkiinst_const_pragma PROTO((stringId, hpragma, list));
 #ifdef __GNUC__
 
+stringId *Rgprag_imod_const PROTO((struct Siinst_const_pragma *));
+
 extern __inline__ stringId *Rgprag_imod_const(struct Siinst_const_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -305,6 +322,8 @@ extern stringId *Rgprag_imod_const PROTO((struct Siinst_const_pragma *));
 #define gprag_imod_const(xyzxyz) (*Rgprag_imod_const((struct Siinst_const_pragma *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgprag_dfun_const PROTO((struct Siinst_const_pragma *));
+
 extern __inline__ hpragma *Rgprag_dfun_const(struct Siinst_const_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -320,6 +339,8 @@ extern hpragma *Rgprag_dfun_const PROTO((struct Siinst_const_pragma *));
 #define gprag_dfun_const(xyzxyz) (*Rgprag_dfun_const((struct Siinst_const_pragma *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgprag_constms PROTO((struct Siinst_const_pragma *));
+
 extern __inline__ list *Rgprag_constms(struct Siinst_const_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -337,6 +358,8 @@ extern list *Rgprag_constms PROTO((struct Siinst_const_pragma *));
 extern hpragma mkiinst_spec_pragma PROTO((stringId, hpragma, list));
 #ifdef __GNUC__
 
+stringId *Rgprag_imod_spec PROTO((struct Siinst_spec_pragma *));
+
 extern __inline__ stringId *Rgprag_imod_spec(struct Siinst_spec_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -352,6 +375,8 @@ extern stringId *Rgprag_imod_spec PROTO((struct Siinst_spec_pragma *));
 #define gprag_imod_spec(xyzxyz) (*Rgprag_imod_spec((struct Siinst_spec_pragma *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgprag_dfun_spec PROTO((struct Siinst_spec_pragma *));
+
 extern __inline__ hpragma *Rgprag_dfun_spec(struct Siinst_spec_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -367,6 +392,8 @@ extern hpragma *Rgprag_dfun_spec PROTO((struct Siinst_spec_pragma *));
 #define gprag_dfun_spec(xyzxyz) (*Rgprag_dfun_spec((struct Siinst_spec_pragma *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgprag_inst_specs PROTO((struct Siinst_spec_pragma *));
+
 extern __inline__ list *Rgprag_inst_specs(struct Siinst_spec_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -384,6 +411,8 @@ extern list *Rgprag_inst_specs PROTO((struct Siinst_spec_pragma *));
 extern hpragma mkigen_pragma PROTO((hpragma, hpragma, hpragma, hpragma, hpragma, list));
 #ifdef __GNUC__
 
+hpragma *Rgprag_arity PROTO((struct Sigen_pragma *));
+
 extern __inline__ hpragma *Rgprag_arity(struct Sigen_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -399,6 +428,8 @@ extern hpragma *Rgprag_arity PROTO((struct Sigen_pragma *));
 #define gprag_arity(xyzxyz) (*Rgprag_arity((struct Sigen_pragma *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgprag_update PROTO((struct Sigen_pragma *));
+
 extern __inline__ hpragma *Rgprag_update(struct Sigen_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -414,6 +445,8 @@ extern hpragma *Rgprag_update PROTO((struct Sigen_pragma *));
 #define gprag_update(xyzxyz) (*Rgprag_update((struct Sigen_pragma *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgprag_deforest PROTO((struct Sigen_pragma *));
+
 extern __inline__ hpragma *Rgprag_deforest(struct Sigen_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -429,6 +462,8 @@ extern hpragma *Rgprag_deforest PROTO((struct Sigen_pragma *));
 #define gprag_deforest(xyzxyz) (*Rgprag_deforest((struct Sigen_pragma *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgprag_strictness PROTO((struct Sigen_pragma *));
+
 extern __inline__ hpragma *Rgprag_strictness(struct Sigen_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -444,6 +479,8 @@ extern hpragma *Rgprag_strictness PROTO((struct Sigen_pragma *));
 #define gprag_strictness(xyzxyz) (*Rgprag_strictness((struct Sigen_pragma *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgprag_unfolding PROTO((struct Sigen_pragma *));
+
 extern __inline__ hpragma *Rgprag_unfolding(struct Sigen_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -459,6 +496,8 @@ extern hpragma *Rgprag_unfolding PROTO((struct Sigen_pragma *));
 #define gprag_unfolding(xyzxyz) (*Rgprag_unfolding((struct Sigen_pragma *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgprag_specs PROTO((struct Sigen_pragma *));
+
 extern __inline__ list *Rgprag_specs(struct Sigen_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -476,6 +515,8 @@ extern list *Rgprag_specs PROTO((struct Sigen_pragma *));
 extern hpragma mkiarity_pragma PROTO((numId));
 #ifdef __GNUC__
 
+numId *Rgprag_arity_val PROTO((struct Siarity_pragma *));
+
 extern __inline__ numId *Rgprag_arity_val(struct Siarity_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -493,6 +534,8 @@ extern numId *Rgprag_arity_val PROTO((struct Siarity_pragma *));
 extern hpragma mkiupdate_pragma PROTO((stringId));
 #ifdef __GNUC__
 
+stringId *Rgprag_update_val PROTO((struct Siupdate_pragma *));
+
 extern __inline__ stringId *Rgprag_update_val(struct Siupdate_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -507,11 +550,13 @@ extern stringId *Rgprag_update_val PROTO((struct Siupdate_pragma *));
 
 #define gprag_update_val(xyzxyz) (*Rgprag_update_val((struct Siupdate_pragma *) (xyzxyz)))
 
-extern hpragma mkideforest_pragma PROTO(());
+extern hpragma mkideforest_pragma PROTO((void));
 
 extern hpragma mkistrictness_pragma PROTO((hstring, hpragma));
 #ifdef __GNUC__
 
+hstring *Rgprag_strict_spec PROTO((struct Sistrictness_pragma *));
+
 extern __inline__ hstring *Rgprag_strict_spec(struct Sistrictness_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -527,6 +572,8 @@ extern hstring *Rgprag_strict_spec PROTO((struct Sistrictness_pragma *));
 #define gprag_strict_spec(xyzxyz) (*Rgprag_strict_spec((struct Sistrictness_pragma *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgprag_strict_wrkr PROTO((struct Sistrictness_pragma *));
+
 extern __inline__ hpragma *Rgprag_strict_wrkr(struct Sistrictness_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -544,6 +591,8 @@ extern hpragma *Rgprag_strict_wrkr PROTO((struct Sistrictness_pragma *));
 extern hpragma mkimagic_unfolding_pragma PROTO((stringId));
 #ifdef __GNUC__
 
+stringId *Rgprag_magic_str PROTO((struct Simagic_unfolding_pragma *));
+
 extern __inline__ stringId *Rgprag_magic_str(struct Simagic_unfolding_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -561,6 +610,8 @@ extern stringId *Rgprag_magic_str PROTO((struct Simagic_unfolding_pragma *));
 extern hpragma mkiunfolding_pragma PROTO((hpragma, coresyn));
 #ifdef __GNUC__
 
+hpragma *Rgprag_unfold_guide PROTO((struct Siunfolding_pragma *));
+
 extern __inline__ hpragma *Rgprag_unfold_guide(struct Siunfolding_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -576,6 +627,8 @@ extern hpragma *Rgprag_unfold_guide PROTO((struct Siunfolding_pragma *));
 #define gprag_unfold_guide(xyzxyz) (*Rgprag_unfold_guide((struct Siunfolding_pragma *) (xyzxyz)))
 #ifdef __GNUC__
 
+coresyn *Rgprag_unfold_core PROTO((struct Siunfolding_pragma *));
+
 extern __inline__ coresyn *Rgprag_unfold_core(struct Siunfolding_pragma *t)
 {
 #ifdef UGEN_DEBUG
@@ -590,11 +643,13 @@ extern coresyn *Rgprag_unfold_core PROTO((struct Siunfolding_pragma *));
 
 #define gprag_unfold_core(xyzxyz) (*Rgprag_unfold_core((struct Siunfolding_pragma *) (xyzxyz)))
 
-extern hpragma mkiunfold_always PROTO(());
+extern hpragma mkiunfold_always PROTO((void));
 
 extern hpragma mkiunfold_if_args PROTO((numId, numId, stringId, numId));
 #ifdef __GNUC__
 
+numId *Rgprag_unfold_if_t_args PROTO((struct Siunfold_if_args *));
+
 extern __inline__ numId *Rgprag_unfold_if_t_args(struct Siunfold_if_args *t)
 {
 #ifdef UGEN_DEBUG
@@ -610,6 +665,8 @@ extern numId *Rgprag_unfold_if_t_args PROTO((struct Siunfold_if_args *));
 #define gprag_unfold_if_t_args(xyzxyz) (*Rgprag_unfold_if_t_args((struct Siunfold_if_args *) (xyzxyz)))
 #ifdef __GNUC__
 
+numId *Rgprag_unfold_if_v_args PROTO((struct Siunfold_if_args *));
+
 extern __inline__ numId *Rgprag_unfold_if_v_args(struct Siunfold_if_args *t)
 {
 #ifdef UGEN_DEBUG
@@ -625,6 +682,8 @@ extern numId *Rgprag_unfold_if_v_args PROTO((struct Siunfold_if_args *));
 #define gprag_unfold_if_v_args(xyzxyz) (*Rgprag_unfold_if_v_args((struct Siunfold_if_args *) (xyzxyz)))
 #ifdef __GNUC__
 
+stringId *Rgprag_unfold_if_con_args PROTO((struct Siunfold_if_args *));
+
 extern __inline__ stringId *Rgprag_unfold_if_con_args(struct Siunfold_if_args *t)
 {
 #ifdef UGEN_DEBUG
@@ -640,6 +699,8 @@ extern stringId *Rgprag_unfold_if_con_args PROTO((struct Siunfold_if_args *));
 #define gprag_unfold_if_con_args(xyzxyz) (*Rgprag_unfold_if_con_args((struct Siunfold_if_args *) (xyzxyz)))
 #ifdef __GNUC__
 
+numId *Rgprag_unfold_if_size PROTO((struct Siunfold_if_args *));
+
 extern __inline__ numId *Rgprag_unfold_if_size(struct Siunfold_if_args *t)
 {
 #ifdef UGEN_DEBUG
@@ -657,6 +718,8 @@ extern numId *Rgprag_unfold_if_size PROTO((struct Siunfold_if_args *));
 extern hpragma mkiname_pragma_pr PROTO((unkId, hpragma));
 #ifdef __GNUC__
 
+unkId *Rgprag_name_pr1 PROTO((struct Siname_pragma_pr *));
+
 extern __inline__ unkId *Rgprag_name_pr1(struct Siname_pragma_pr *t)
 {
 #ifdef UGEN_DEBUG
@@ -672,6 +735,8 @@ extern unkId *Rgprag_name_pr1 PROTO((struct Siname_pragma_pr *));
 #define gprag_name_pr1(xyzxyz) (*Rgprag_name_pr1((struct Siname_pragma_pr *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgprag_name_pr2 PROTO((struct Siname_pragma_pr *));
+
 extern __inline__ hpragma *Rgprag_name_pr2(struct Siname_pragma_pr *t)
 {
 #ifdef UGEN_DEBUG
@@ -689,6 +754,8 @@ extern hpragma *Rgprag_name_pr2 PROTO((struct Siname_pragma_pr *));
 extern hpragma mkitype_pragma_pr PROTO((list, numId, hpragma));
 #ifdef __GNUC__
 
+list *Rgprag_type_pr1 PROTO((struct Sitype_pragma_pr *));
+
 extern __inline__ list *Rgprag_type_pr1(struct Sitype_pragma_pr *t)
 {
 #ifdef UGEN_DEBUG
@@ -704,6 +771,8 @@ extern list *Rgprag_type_pr1 PROTO((struct Sitype_pragma_pr *));
 #define gprag_type_pr1(xyzxyz) (*Rgprag_type_pr1((struct Sitype_pragma_pr *) (xyzxyz)))
 #ifdef __GNUC__
 
+numId *Rgprag_type_pr2 PROTO((struct Sitype_pragma_pr *));
+
 extern __inline__ numId *Rgprag_type_pr2(struct Sitype_pragma_pr *t)
 {
 #ifdef UGEN_DEBUG
@@ -719,6 +788,8 @@ extern numId *Rgprag_type_pr2 PROTO((struct Sitype_pragma_pr *));
 #define gprag_type_pr2(xyzxyz) (*Rgprag_type_pr2((struct Sitype_pragma_pr *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgprag_type_pr3 PROTO((struct Sitype_pragma_pr *));
+
 extern __inline__ hpragma *Rgprag_type_pr3(struct Sitype_pragma_pr *t)
 {
 #ifdef UGEN_DEBUG
@@ -736,6 +807,8 @@ extern hpragma *Rgprag_type_pr3 PROTO((struct Sitype_pragma_pr *));
 extern hpragma mkiinst_pragma_3s PROTO((list, numId, hpragma, list));
 #ifdef __GNUC__
 
+list *Rgprag_inst_pt1 PROTO((struct Siinst_pragma_3s *));
+
 extern __inline__ list *Rgprag_inst_pt1(struct Siinst_pragma_3s *t)
 {
 #ifdef UGEN_DEBUG
@@ -751,6 +824,8 @@ extern list *Rgprag_inst_pt1 PROTO((struct Siinst_pragma_3s *));
 #define gprag_inst_pt1(xyzxyz) (*Rgprag_inst_pt1((struct Siinst_pragma_3s *) (xyzxyz)))
 #ifdef __GNUC__
 
+numId *Rgprag_inst_pt2 PROTO((struct Siinst_pragma_3s *));
+
 extern __inline__ numId *Rgprag_inst_pt2(struct Siinst_pragma_3s *t)
 {
 #ifdef UGEN_DEBUG
@@ -766,6 +841,8 @@ extern numId *Rgprag_inst_pt2 PROTO((struct Siinst_pragma_3s *));
 #define gprag_inst_pt2(xyzxyz) (*Rgprag_inst_pt2((struct Siinst_pragma_3s *) (xyzxyz)))
 #ifdef __GNUC__
 
+hpragma *Rgprag_inst_pt3 PROTO((struct Siinst_pragma_3s *));
+
 extern __inline__ hpragma *Rgprag_inst_pt3(struct Siinst_pragma_3s *t)
 {
 #ifdef UGEN_DEBUG
@@ -781,6 +858,8 @@ extern hpragma *Rgprag_inst_pt3 PROTO((struct Siinst_pragma_3s *));
 #define gprag_inst_pt3(xyzxyz) (*Rgprag_inst_pt3((struct Siinst_pragma_3s *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgprag_inst_pt4 PROTO((struct Siinst_pragma_3s *));
+
 extern __inline__ list *Rgprag_inst_pt4(struct Siinst_pragma_3s *t)
 {
 #ifdef UGEN_DEBUG
@@ -798,6 +877,8 @@ extern list *Rgprag_inst_pt4 PROTO((struct Siinst_pragma_3s *));
 extern hpragma mkidata_pragma_4s PROTO((list));
 #ifdef __GNUC__
 
+list *Rgprag_data_spec PROTO((struct Sidata_pragma_4s *));
+
 extern __inline__ list *Rgprag_data_spec(struct Sidata_pragma_4s *t)
 {
 #ifdef UGEN_DEBUG
index 20c54d3..768b8a2 100644 (file)
@@ -1,10 +1,12 @@
 /* A lexical scanner generated by flex */
 
 /* Scanner skeleton version:
- * $Header: /srv/cvs/cvs.haskell.org/fptools/ghc/compiler/yaccParser/Attic/hslexer.c,v 1.1 1996/01/08 20:15:54 partain Exp $
+ * $Header: /srv/cvs/cvs.haskell.org/fptools/ghc/compiler/yaccParser/Attic/hslexer.c,v 1.2 1996/01/12 11:36:07 partain Exp $
  */
 
 #define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
 
 #include <stdio.h>
 
@@ -30,7 +32,7 @@
 
 #else  /* ! __cplusplus */
 
-#ifdef __STDC__
+#if __STDC__
 
 #define YY_USE_PROTOS
 #define YY_USE_CONST
 #endif /* __STDC__ */
 #endif /* ! __cplusplus */
 
-
 #ifdef __TURBOC__
+ #pragma warn -rch
+ #pragma warn -use
+#include <io.h>
+#include <stdlib.h>
 #define YY_USE_CONST
+#define YY_USE_PROTOS
 #endif
 
-
-#ifndef YY_USE_CONST
-#ifndef const
-#define const
-#endif
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
 #endif
 
 
 #define BEGIN yy_start = 1 + 2 *
 
 /* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.
+ * to BEGIN to return to the state.  The YYSTATE alias is for lex
+ * compatibility.
  */
 #define YY_START ((yy_start - 1) / 2)
+#define YYSTATE YY_START
 
 /* Action number for EOF rule of a given start state. */
 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
 
-/* Special action meaning "start processing a new file".  Now included
- * only for backward compatibility with previous versions of flex.
- */
+/* Special action meaning "start processing a new file". */
 #define YY_NEW_FILE yyrestart( yyin )
 
 #define YY_END_OF_BUFFER_CHAR 0
@@ -96,14 +101,6 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
 extern int yyleng;
 extern FILE *yyin, *yyout;
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-       extern int yywrap YY_PROTO(( void ));
-#ifdef __cplusplus
-       }
-#endif
-
 #define EOB_ACT_CONTINUE_SCAN 0
 #define EOB_ACT_END_OF_FILE 1
 #define EOB_ACT_LAST_MATCH 2
@@ -136,6 +133,12 @@ extern "C" {
 
 #define unput(c) yyunput( c, yytext_ptr )
 
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ */
+typedef unsigned int yy_size_t;
+
 
 struct yy_buffer_state
        {
@@ -147,13 +150,19 @@ struct yy_buffer_state
        /* Size of input buffer in bytes, not including room for EOB
         * characters.
         */
-       int yy_buf_size;
+       yy_size_t yy_buf_size;
 
        /* Number of characters read into yy_ch_buf, not including EOB
         * characters.
         */
        int yy_n_chars;
 
+       /* Whether we "own" the buffer - i.e., we know we created it,
+        * and can realloc() it to grow it, and should free() it to
+        * delete it.
+        */
+       int yy_is_our_buffer;
+
        /* Whether this is an "interactive" input source; if so, and
         * if we're using stdio for input, then we want to use getc()
         * instead of fread(), to make sure we stop fetching input after
@@ -161,6 +170,12 @@ struct yy_buffer_state
         */
        int yy_is_interactive;
 
+       /* Whether we're considered to be at the beginning of a line.
+        * If so, '^' rules will be active on the next match, otherwise
+        * not.
+        */
+       int yy_at_bol;
+
        /* Whether to try to fill the input buffer when we reach the
         * end of it.
         */
@@ -209,70 +224,66 @@ static int yy_start = 0;  /* start state number */
  */
 static int yy_did_buffer_switch_on_eof;
 
-static void yyunput YY_PROTO(( int c, char *buf_ptr ));
 void yyrestart YY_PROTO(( FILE *input_file ));
+
 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
 void yy_load_buffer_state YY_PROTO(( void ));
 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
+void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
+#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
 
-static int yy_start_stack_ptr = 0;
-static int yy_start_stack_depth = 0;
-static int *yy_start_stack = 0;
-static void yy_push_state YY_PROTO(( int new_state ));
-static void yy_pop_state YY_PROTO(( void ));
-static int yy_top_state YY_PROTO(( void ));
+YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
+YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *str ));
+YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
 
-static void *yy_flex_alloc YY_PROTO(( unsigned int ));
-static void *yy_flex_realloc YY_PROTO(( void *, unsigned int ));
+static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
 static void yy_flex_free YY_PROTO(( void * ));
 
 #define yy_new_buffer yy_create_buffer
 
-#define INITIAL 0
-#define Char 1
-#define CharEsc 2
-#define Code 3
-#define Comment 4
-#define GlaExt 5
-#define GhcPragma 6
-#define UserPragma 7
-#define String 8
-#define StringEsc 9
+#define yy_set_interactive(is_interactive) \
+       { \
+       if ( ! yy_current_buffer ) \
+               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+       yy_current_buffer->yy_is_interactive = is_interactive; \
+       }
+
+#define yy_set_bol(at_bol) \
+       { \
+       if ( ! yy_current_buffer ) \
+               yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
+       yy_current_buffer->yy_at_bol = at_bol; \
+       }
+
+#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
+
 typedef unsigned char YY_CHAR;
-typedef int yy_state_type;
 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+typedef int yy_state_type;
 extern char *yytext;
 #define yytext_ptr yytext
 
-#ifndef yytext_ptr
-static void yy_flex_strncpy YY_PROTO(( char *, const char *, int ));
-#endif
-
-#ifdef __cplusplus
-static int yyinput YY_PROTO(( void ));
-#else
-static int input YY_PROTO(( void ));
-#endif
-
 static yy_state_type yy_get_previous_state YY_PROTO(( void ));
 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
 static int yy_get_next_buffer YY_PROTO(( void ));
-static void yy_fatal_error YY_PROTO(( const char msg[] ));
+static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
 
 /* Done after the current pattern has been matched and before the
  * corresponding action - sets up yytext.
  */
 #define YY_DO_BEFORE_ACTION \
        yytext_ptr = yy_bp; \
-       yyleng = yy_cp - yy_bp; \
+       yyleng = (int) (yy_cp - yy_bp); \
        yy_hold_char = *yy_cp; \
        *yy_cp = '\0'; \
        yy_c_buf_p = yy_cp;
 
+#define YY_NUM_RULES 201
 #define YY_END_OF_BUFFER 202
-static const short int yy_accept[838] =
+static yyconst short int yy_accept[836] =
     {   0,
         0,    0,    0,    0,    0,    0,    0,    0,  190,  190,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
@@ -297,7 +308,7 @@ static const short int yy_accept[838] =
       155,    0,    0,  179,  164,  163,  181,    0,    0,    0,
 
       180,  157,  183,  185,  186,  188,  121,  132,  131,  126,
-      125,    0,   88,   82,    0,  110,    0,    0,   90,   87,
+      125,  187,   88,   82,    0,  110,    0,    0,   90,   87,
        89,  120,  119,    0,  119,  120,  120,  120,  120,  120,
       120,   60,  120,   74,  120,  120,   68,  120,  120,   71,
       120,  120,  189,    0,    0,  190,  191,    0,  194,  192,
@@ -311,64 +322,64 @@ static const short int yy_accept[838] =
        74,  120,   68,  189,    0,  120,  135,  134,  133,  137,
       148,  149,  173,  166,  167,  168,  169,  182,  165,  147,
       146,  176,  172,  145,  170,  142,  143,  144,  175,  171,
-      126,  124,    0,  187,  187,  113,  106,  108,  119,  119,
-      120,  120,  120,  120,  120,  120,  120,  120,  120,  120,
-      120,   75,  120,  120,  120,  120,  120,    0,    0,    1,
-        1,    0,  130,  124,    0,    0,  113,  106,  108,  119,
-      119,    0,    0,    0,  120,  120,  120,  120,  120,  120,
-      120,  120,  120,  120,  120,   75,  120,  120,  120,  120,
-
-      120,    0,    0,    0,   18,   19,    0,  119,  119,  119,
-      119,   12,  119,  119,  119,  119,  119,  119,   17,  119,
-       15,  119,  119,  119,   11,  119,  119,    6,  119,  119,
-      119,  119,   14,  119,  119,  119,   13,  119,  119,  117,
-      120,   75,   52,  187,  187,  187,  187,    0,  119,   53,
-      120,   55,  120,  120,   58,  120,  120,  120,  120,  120,
-      120,  120,   70,   72,  120,    0,    0,    0,    0,    0,
-        0,    0,    0,  123,    0,    0,  112,    0,  105,  107,
-      119,  119,  122,    0,   53,  120,   55,  120,  120,   58,
-      120,  120,  120,  120,  120,  120,  120,   70,   72,  120,
-
-       46,    0,  100,  119,  119,  119,  119,  119,  119,  119,
-      119,  119,  119,  119,  119,  119,  119,  119,   16,  119,
-        7,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-      119,  119,  119,  117,   53,    0,  113,   80,   54,  120,
-      120,  120,  120,   62,  120,  120,  120,  120,   73,    0,
-        0,    0,    0,    0,    0,    0,    0,  111,    0,  113,
-      119,  119,  114,   54,  120,  120,  120,  120,   62,  120,
-      120,  120,  120,   73,    0,    0,  119,   22,  119,  119,
-       20,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-      119,  119,  115,  119,  119,  119,  119,  119,  119,  119,
-
-      119,  119,  119,  119,  119,  120,  120,   59,   61,   63,
-       64,  120,  120,   67,  120,    0,    0,    0,    0,    0,
-        0,    0,    0,   78,  119,  120,  120,   59,   61,   63,
-       64,  120,  120,   67,  120,  119,  119,  119,  119,  119,
-      119,   35,  119,   36,  119,  119,  119,  119,   34,  119,
-      119,   40,  119,   23,  119,  119,   38,  116,  119,  119,
-       39,  119,   56,  120,  120,  120,  120,    0,    0,    0,
-        0,    0,    0,    0,    0,    2,    2,  119,   76,   56,
-      120,  120,  120,  120,  119,  119,  119,  119,  119,  119,
-      119,  119,  119,  119,  119,  119,  119,  119,   33,  119,
-
-       21,  119,  119,   57,   65,  120,   69,    0,    0,    0,
-        0,    0,    0,    0,  119,  119,   57,   65,  120,   69,
-      119,  119,   41,  119,   32,   37,  119,  119,  119,  119,
-       25,  119,  119,  119,  119,  119,  119,  119,   81,   66,
-        0,    0,    0,    0,   48,    0,    0,   79,  119,   66,
-      119,  119,   29,  119,   30,   31,   42,   43,   44,   45,
-      119,  119,  119,   28,    0,    0,    0,    0,    0,    0,
-        0,   77,    8,  119,    9,   24,  119,  119,    0,    0,
-       51,   50,    0,    0,  119,  119,  119,    0,    3,    3,
-        0,    0,  119,  119,   10,    0,    0,   47,  119,  119,
-
-        0,    0,   27,  119,    5,    0,  119,    0,    0,  119,
-        0,    0,  119,    0,   49,   26,    0,    0,    0,    0,
+      126,  124,  187,  187,  187,  187,  113,  106,  108,  119,
+      119,  120,  120,  120,  120,  120,  120,  120,  120,  120,
+      120,  120,   75,  120,  120,  120,  120,  120,    0,    0,
+        1,    1,    0,  130,  124,    0,    0,  113,  106,  108,
+      119,  119,    0,    0,    0,  120,  120,  120,  120,  120,
+      120,  120,  120,  120,  120,  120,   75,  120,  120,  120,
+
+      120,  120,    0,    0,    0,   18,   19,    0,  119,  119,
+      119,  119,   12,  119,  119,  119,  119,  119,  119,   17,
+      119,   15,  119,  119,  119,   11,  119,  119,    6,  119,
+      119,  119,  119,   14,  119,  119,  119,   13,  119,  119,
+      117,  120,   75,   52,  187,    0,  119,   53,  120,   55,
+      120,  120,   58,  120,  120,  120,  120,  120,  120,  120,
+       70,   72,  120,    0,    0,    0,    0,    0,    0,    0,
+        0,  123,    0,    0,  112,    0,  105,  107,  119,  119,
+      122,    0,   53,  120,   55,  120,  120,   58,  120,  120,
+      120,  120,  120,  120,  120,   70,   72,  120,   46,    0,
+
+      100,  119,  119,  119,  119,  119,  119,  119,  119,  119,
+      119,  119,  119,  119,  119,  119,   16,  119,    7,  119,
+      119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
+      119,  117,   53,    0,  113,   80,   54,  120,  120,  120,
+      120,   62,  120,  120,  120,  120,   73,    0,    0,    0,
+        0,    0,    0,    0,    0,  111,    0,  113,  119,  119,
+      114,   54,  120,  120,  120,  120,   62,  120,  120,  120,
+      120,   73,    0,    0,  119,   22,  119,  119,   20,  119,
+      119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
+      115,  119,  119,  119,  119,  119,  119,  119,  119,  119,
+
+      119,  119,  119,  120,  120,   59,   61,   63,   64,  120,
+      120,   67,  120,    0,    0,    0,    0,    0,    0,    0,
+        0,   78,  119,  120,  120,   59,   61,   63,   64,  120,
+      120,   67,  120,  119,  119,  119,  119,  119,  119,   35,
+      119,   36,  119,  119,  119,  119,   34,  119,  119,   40,
+      119,   23,  119,  119,   38,  116,  119,  119,   39,  119,
+       56,  120,  120,  120,  120,    0,    0,    0,    0,    0,
+        0,    0,    0,    2,    2,  119,   76,   56,  120,  120,
+      120,  120,  119,  119,  119,  119,  119,  119,  119,  119,
+      119,  119,  119,  119,  119,  119,   33,  119,   21,  119,
+
+      119,   57,   65,  120,   69,    0,    0,    0,    0,    0,
+        0,    0,  119,  119,   57,   65,  120,   69,  119,  119,
+       41,  119,   32,   37,  119,  119,  119,  119,   25,  119,
+      119,  119,  119,  119,  119,  119,   81,   66,    0,    0,
+        0,    0,   48,    0,    0,   79,  119,   66,  119,  119,
+       29,  119,   30,   31,   42,   43,   44,   45,  119,  119,
+      119,   28,    0,    0,    0,    0,    0,    0,    0,   77,
+        8,  119,    9,   24,  119,  119,    0,    0,   51,   50,
+        0,    0,  119,  119,  119,    0,    3,    3,    0,    0,
+      119,  119,   10,    0,    0,   47,  119,  119,    0,    0,
+
+       27,  119,    5,    0,  119,    0,    0,  119,    0,    0,
+      119,    0,   49,   26,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    4,    0
+        0,    0,    0,    4,    0
     } ;
 
-static const int yy_ec[256] =
+static yyconst int yy_ec[256] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
         2,    2,    4,    1,    1,    1,    1,    1,    1,    1,
@@ -400,7 +411,7 @@ static const int yy_ec[256] =
         1,    1,    1,    1,    1
     } ;
 
-static const int yy_meta[92] =
+static yyconst int yy_meta[92] =
     {   0,
         1,    1,    2,    1,    3,    4,    3,    5,    6,    4,
         4,    7,    3,    3,    4,    3,    8,    4,    4,    9,
@@ -415,214 +426,214 @@ static const int yy_meta[92] =
 
     } ;
 
-static const short int yy_base[881] =
+static yyconst short int yy_base[879] =
     {   0,
-        0,    0,    0,    4,   58,  138,  224, 2192,    0,    1,
-      315, 2191,  402,    0,  487,    0,   25,   39,  578,    0,
-     2198, 2201, 2201, 2185, 2188, 2201, 2201, 2201,   13, 2160,
-        7,   12,   12,   21,   10, 2143, 2141, 2154,   18, 2140,
-       69, 2139, 2137, 2201,    0, 2201, 2201, 2201, 2201,    0,
-     2201, 2201, 2201,    0,   50,    0, 2181, 2175, 2201, 2201,
-        0, 2201,   46, 2168,  131,  415, 2158, 2201, 2167, 2152,
-        0,    0, 2201,    0, 2201,    6, 2201,   11,   36, 2107,
-     2108,   30, 2111, 2101, 2108, 2108,   47, 2104, 2158,    0,
-     2201,    0,   52,    0,   13,    2, 2167, 2161,  425,  662,
-
-      506, 2164,   66, 2107,   66,  452,  105,    2,  129,  124,
+        0,    0,    0,    4,   58,  138,  224, 2188,    0,    1,
+      315, 2187,  402,    0,  487,    0,   25,   39,  578,    0,
+     2194, 2197, 2197, 2181, 2184, 2197, 2197, 2197,   13, 2156,
+        7,   12,   12,   21,   10, 2139, 2137, 2150,   18, 2136,
+       69, 2135, 2133, 2197,    0, 2197, 2197, 2197, 2197,    0,
+     2197, 2197, 2197,    0,   50,    0, 2177, 2171, 2197, 2197,
+        0, 2197,   46, 2164,  131,  415, 2154, 2197, 2163, 2148,
+        0,    0, 2197,    0, 2197,    6, 2197,   11,   36, 2103,
+     2104,   30, 2107, 2097, 2104, 2104,   47, 2100, 2154,    0,
+     2197,    0,   52,    0,   13,    2, 2163, 2157,  425,  662,
+
+      506, 2160,   66, 2103,   66,  452,  105,    2,  129,  124,
       107,  131,  138,  663,   42,  407,    0,  148,  515,  745,
-        5,  158,  421,  449,  455, 2153,    0, 2152, 2137, 2104,
-     2102,  122,  135, 2148, 2201, 2157, 2155, 2151, 2201,  192,
-     2201, 2144,  652, 2125,  132,  169,  417,  497,  370, 2108,
-     2106, 2119,  137, 2105,  648, 2104, 2102, 2201,    0, 2201,
-     2201, 2201, 2201,  686, 2201, 2201, 2201,    0, 2136, 2140,
-     2143, 2201,  692, 2107, 2105, 2201, 2102, 2201,  669, 2103,
-     2109, 2201, 2096, 2092, 2108,  410, 2201, 2201, 2201, 2201,
-     2201, 2099, 2097, 2201, 2201, 2100, 2201, 2083, 2104, 2091,
-
-     2201, 2201, 2201,  699,    0,  723,    0, 2129, 2201, 2123,
-     2201,  207,    0,    0,  734,  745,  709,    0,    0, 2201,
-        0,    0,    0, 2071, 2066, 2051, 2066, 2048,  373, 2048,
-     2060,    0, 2048,  464, 2044, 2057,    0, 2047, 2054,    0,
-     2043, 2052, 2112,  210, 2046,    0,    0, 2101, 2201,    0,
-     2201, 2029, 2109, 2107, 2102,  796,  815, 2201,  822,  841,
-      722,    0, 2201, 2105,  114, 2104,    0,  140,  488,  410,
-      729,  483,  454, 2103,  424,  691,  489,  493, 2102,  728,
-      451, 2101,  673,  741, 2091, 2095,  830,  863, 2043, 2042,
-     2044,  846,  519,  838, 2040, 2064, 2038, 2063,  738,  766,
-
-     2049, 2048,  856,  517,  711, 2047, 2018,    0,  549,  730,
-      689,  695,  776, 2201, 2005,  492, 2087, 2085, 2201, 2201,
-     2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201,
-     2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201,
-     2080, 2201,  791,  893,  898,  890,  900,    0,    0, 2024,
-     2021, 2008, 2023, 2022, 2013, 2016, 2011, 2005, 2009, 1999,
-     2011,    0, 1996, 2013, 2000, 2007, 1995,  903,  799, 2201,
-      821, 1997, 2201, 2065,  908,    0,  941,  948, 2064, 1990,
-     2005, 2005, 2060, 2055,  824,  779,  861,  869,  862,  849,
-      864,  860,  870,  865,  932, 2058,  909,  933,  934,  937,
-
-      938, 1975, 2056,  999, 2201, 2201, 2000, 2011,  935, 2013,
-     2008,    0, 2021, 2012, 2019, 2003, 2020, 2006,    0, 1990,
-        0, 2000, 1999, 1987,    0,  913,  925,    0, 2008,  790,
-     1997, 2010,    0, 1998, 2012, 2007,    0, 2000, 1962,    0,
-      943,  972, 2201,  980,  991, 1000, 1011, 1017, 1978,    0,
-     1959,    0, 1956, 1954,    0, 1960, 1956, 1949, 1969, 1953,
-     1957, 1955,    0,    0, 1961, 1024, 1043, 1995, 1991, 1981,
-     1993, 1977, 1955, 2201, 1075, 2015, 2014, 1086, 2201, 2201,
-     1945, 1945, 2201, 2007, 2010,  950, 2009,  947,  774, 2008,
-      978,  969,  981,  952,  979,  983, 1001, 2007, 2006,  992,
-
-     2201, 1098, 2201, 1961, 1949, 1948, 1977, 1946, 1961, 1944,
-     1955,  783, 1959, 1952, 1967, 1969, 1951, 1960,    0, 1936,
-        0, 1961, 1961, 1957, 1951, 1949, 1956, 1957, 1928, 1942,
-     1939, 1938, 1922,    0, 1042, 1105, 1112,    0,    0, 1911,
-     1912, 1913, 1901,  991, 1905, 1911, 1911, 1906,    0, 1938,
-     1936, 1925, 1937, 1930, 1934, 1935, 1966, 2201, 1119, 1138,
-     1907, 1894, 2201, 1960,  989, 1000,  991, 1066, 1072, 1025,
-      498, 1036, 1044, 1959, 1145, 1164, 1916,    0, 1929, 1907,
-        0, 1900, 1927, 1909, 1897, 1909, 1895, 1894, 1893, 1905,
-     1917, 1890,    0, 1904, 1914, 1887, 1896, 1885, 1903, 1015,
-
-     1153, 1898, 1882, 1881, 1868, 1860, 1864,    0,    0,    0,
-        0, 1873, 1874,    0, 1861, 1902, 1890, 1883, 1887, 1892,
-     1891, 1896, 1050, 1891, 1866, 1073, 1027, 1920, 1919, 1918,
-     1917, 1082, 1085, 1916, 1077, 1890, 1881, 1870, 1885, 1884,
-     1873,    0, 1880,    0, 1881, 1880, 1875, 1878,    0, 1849,
-     1873,    0, 1874,    0, 1846, 1875,    0, 1171, 1844, 1871,
-        0, 1830,    0, 1833, 1834, 1835, 1830, 1837, 1862, 1848,
-     1847, 1850, 1860, 1853, 1088, 2201, 1153, 1858, 1853, 1883,
-     1143, 1172, 1145, 1173, 1855, 1854, 1807, 1811, 1781, 1780,
-     1789, 1803, 1795, 1765, 1751, 1157, 1769, 1773,    0, 1764,
-
-        0, 1756, 1719,    0,    0, 1711,    0, 1731, 1771, 1741,
-     1735, 1727, 1679, 1691, 1652, 1669, 1666, 1664, 1174, 1663,
-     1616, 1614,    0, 1599,    0,    0, 1608, 1596, 1593, 1591,
-        0, 1563, 1545, 1531, 1540, 1528, 1547, 1523,    0,    0,
-     1526, 1552, 1526, 1509, 2201, 1506, 1510,    0, 1489, 1543,
-     1485, 1495,    0, 1481,    0,    0,    0,    0,    0,    0,
-     1473, 1482, 1435,    0, 1433, 1438, 1166, 1393, 1391, 1396,
-     1396,    0,    0, 1372,    0,    0, 1393, 1394, 1390, 1196,
-     2201, 2201, 1383, 1012, 1368, 1355, 1326, 1343, 2201, 1369,
-     1338, 1347, 1333, 1203,    0, 1221, 1209, 2201, 1189, 1200,
-
-     1245, 1213,    0, 1185, 1206, 1205, 1210, 1196, 1192, 1202,
-     1184, 1196, 1143, 1164, 2201,    0, 1066, 1076, 1056, 1051,
-     1035,  948,  896,  797,  756,  728,  661,  647,  633,  450,
-     1195, 1204,  408,  396,   96, 2201, 2201, 1256, 1276, 1296,
-     1316, 1336, 1354, 1365, 1193, 1377, 1389, 1407, 1421, 1429,
-     1447, 1467, 1487, 1504, 1522, 1538, 1546, 1562, 1578, 1594,
-     1612, 1632, 1194, 1646, 1658, 1676, 1696, 1716, 1734, 1750,
-     1222, 1766, 1784, 1205, 1800, 1816, 1223, 1830, 1848, 1868
+        5,  158,  421,  449,  455, 2149,    0, 2148, 2133, 2100,
+     2098,  122,  135, 2144, 2197, 2153, 2151, 2147, 2197,  192,
+     2197, 2140,  652, 2121,  132,  169,  417,  497,  370, 2104,
+     2102, 2115,  137, 2101,  648, 2100, 2098, 2197,    0, 2197,
+     2197, 2197, 2197,  686, 2197, 2197, 2197,    0, 2132, 2136,
+     2139, 2197,  692, 2103, 2101, 2197, 2098, 2197,  669, 2099,
+     2105, 2197, 2092, 2088, 2104,  410, 2197, 2197, 2197, 2197,
+     2197, 2095, 2093, 2197, 2197, 2096, 2197, 2079, 2100, 2087,
+
+     2197, 2197, 2197,  699,    0,  723,    0, 2125, 2197, 2119,
+     2197,  727,    0,    0,  734,  745,  722,    0,    0, 2197,
+        0,    0,    0, 2067, 2062, 2047, 2062, 2044,  141, 2044,
+     2056,    0, 2044,  464, 2040, 2053,    0, 2043, 2050,    0,
+     2039, 2048, 2108,  210, 2042,    0,    0, 2097, 2197,    0,
+     2197, 2025, 2105, 2103, 2098,  796,  815, 2197,  822,  841,
+      752,    0, 2197, 2101,  114, 2100,    0,  410,  435,  424,
+      488,  489,  454, 2099,  495,  725,  484,  493, 2098,  726,
+      451, 2097,  673,  730, 2087, 2091,  830,  863, 2039, 2038,
+     2040,  846,  524,  772, 2036, 2060, 2034, 2059,  699,  738,
+
+     2045, 2044,  843,  641,  501, 2043, 2014,    0,  694,  819,
+      821,  823,  849, 2197, 2001,  753, 2083, 2081, 2197, 2197,
+     2197, 2197, 2197, 2197, 2197, 2197, 2197, 2197, 2197, 2197,
+     2197, 2197, 2197, 2197, 2197, 2197, 2197, 2197, 2197, 2197,
+     2076, 2197,  873,  893,  899,  908,  894,  901,    0,    0,
+     2020, 2017, 2004, 2019, 2018, 2009, 2012, 2007, 2001, 2005,
+     1995, 2007,    0, 1992, 2009, 1996, 2003, 1991,  925,  865,
+     2197,  869, 1993, 2197, 2061,  912,    0,  930,  957, 2060,
+     1986, 2001, 2001, 2056, 2051,  899,  779,  884,  931,  797,
+      900,  932,  671,  933,  934,  935, 2054,  936,  937,  816,
+
+      938,  731, 1971, 2052,  963, 2197, 2197, 1996, 2007,  918,
+     2009, 2004,    0, 2017, 2008, 2015, 1999, 2016, 2002,    0,
+     1986,    0, 1996, 1995, 1983,    0,  928,  897,    0, 2004,
+      953, 1993, 2006,    0, 1994, 2008, 2003,    0, 1996, 1958,
+        0,  966,  984, 2197, 1006, 1000, 1974,    0, 1955,    0,
+     1952, 1950,    0, 1956, 1952, 1945, 1965, 1949, 1953, 1951,
+        0,    0, 1957, 1025, 1036, 1991, 1987, 1977, 1989, 1973,
+     1951, 2197, 1023, 2011, 2010, 1068, 2197, 2197, 1941, 1941,
+     2197, 2003, 2006,  956, 2005,  951,  987, 2004,  990,  993,
+      696,  989, 1004, 1025, 1006, 2003, 2002,  995, 2197, 1081,
+
+     2197, 1957, 1945, 1944, 1973, 1942, 1957, 1940, 1951,  408,
+     1955, 1948, 1963, 1965, 1947, 1956,    0, 1932,    0, 1957,
+     1957, 1953, 1947, 1945, 1952, 1953, 1924, 1938, 1935, 1934,
+     1918,    0, 1041, 1088, 1095,    0,    0, 1907, 1908, 1909,
+     1897,  938, 1901, 1907, 1907, 1902,    0, 1934, 1932, 1921,
+     1933, 1926, 1930, 1931, 1962, 2197, 1102, 1121, 1903, 1890,
+     2197, 1956, 1055, 1060, 1028, 1049, 1057, 1071,  140, 1066,
+     1078, 1955, 1132, 1141, 1912,    0, 1925, 1903,    0, 1896,
+     1923, 1905, 1893, 1905, 1891, 1890, 1889, 1901, 1913, 1886,
+        0, 1900, 1910, 1883, 1892, 1881, 1899, 1015, 1148, 1894,
+
+     1878, 1877, 1864, 1856, 1860,    0,    0,    0,    0, 1869,
+     1870,    0, 1857, 1898, 1886, 1879, 1883, 1888, 1887, 1892,
+     1048, 1887, 1862, 1052, 1128, 1916, 1915, 1914, 1913, 1130,
+     1131, 1912, 1132, 1886, 1877, 1866, 1881, 1880, 1869,    0,
+     1876,    0, 1877, 1876, 1871, 1874,    0, 1845, 1869,    0,
+     1870,    0, 1842, 1871,    0, 1155, 1840, 1867,    0, 1826,
+        0, 1829, 1830, 1831, 1826, 1833, 1858, 1844, 1825, 1805,
+     1814, 1807, 1156, 2197, 1179, 1810, 1804, 1827, 1142, 1176,
+     1177, 1178, 1786, 1784, 1755, 1780, 1750, 1733, 1736, 1750,
+     1749, 1730, 1716, 1148, 1733, 1732,    0, 1703,    0, 1694,
+
+     1657,    0,    0, 1640,    0, 1631, 1672, 1643, 1636, 1634,
+     1604, 1632, 1601, 1626, 1651, 1623, 1179, 1605, 1547, 1545,
+        0, 1533,    0,    0, 1541, 1528, 1518, 1511,    0, 1503,
+     1502, 1501, 1507, 1494, 1515, 1490,    0,    0, 1501, 1532,
+     1506, 1472, 2197, 1438, 1427,    0, 1397, 1442, 1385, 1396,
+        0, 1379,    0,    0,    0,    0,    0,    0, 1377, 1403,
+     1385,    0, 1401, 1409, 1171, 1356, 1343, 1348, 1352,    0,
+        0, 1328,    0,    0, 1349, 1352, 1334, 1187, 2197, 2197,
+     1222, 1004, 1224, 1223, 1194, 1211, 2197, 1238, 1207, 1216,
+     1217, 1199,    0, 1217, 1203, 2197, 1183, 1192, 1237, 1205,
+
+        0, 1177, 1198, 1197, 1200, 1188, 1187, 1197, 1160, 1172,
+     1147, 1171, 2197,    0, 1157, 1059, 1062, 1024, 1016, 1037,
+      894,  765,  744,  733,  658,  650,  527,  548, 1194, 1201,
+      408,  396,   96, 2197, 2197, 1261, 1281, 1301, 1321, 1341,
+     1359, 1370, 1183, 1382, 1394, 1412, 1426, 1434, 1452, 1472,
+     1492, 1509, 1527, 1543, 1551, 1567, 1583, 1599, 1617, 1637,
+     1184, 1651, 1663, 1681, 1701, 1721, 1739, 1755, 1219, 1771,
+     1789, 1185, 1805, 1821, 1220, 1835, 1853, 1873
     } ;
 
-static const short int yy_def[881] =
+static yyconst short int yy_def[879] =
     {   0,
-      838,  838,  839,  839,  840,  840,  837,    7,  841,  841,
-      837,   11,   11,   13,   11,   15,  842,  842,  837,   19,
-      837,  837,  837,  843,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  844,  837,  837,  837,  837,  837,
-      837,  837,  837,  845,  837,  846,  847,  848,  837,  837,
-      846,  837,  846,  846,  837,  837,  846,  837,  846,  846,
-      846,  849,  837,  846,  837,  850,  837,  849,  849,  849,
-      849,  849,  849,  849,  849,  849,  849,  849,  837,  846,
-      837,  846,  846,  851,  852,  853,  854,  855,  846,  837,
-
-      837,  856,  850,  857,  856,  856,  856,  856,  856,  856,
-      856,  856,  856,  856,  856,  837,  858,   99,  837,  850,
-      859,  859,  859,  859,  859,  837,  846,  846,  846,  850,
-      857,  856,  856,  837,  837,  860,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  844,  837,
-      837,  837,  837,  837,  837,  837,  837,  845,  837,  843,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-
-      837,  837,  837,  837,  845,  837,  846,  847,  837,  861,
-      837,  862,  846,  846,  837,  837,  837,  863,  846,  837,
-      846,  864,  865,  850,  865,  864,  864,  864,  864,  864,
-      864,  864,  864,  864,  864,  864,  864,  864,  864,  864,
-      864,  864,  837,  866,  837,  867,  868,  868,  837,  869,
-      837,  869,  870,  837,  861,  837,  837,  837,  837,  837,
-      837,  871,  837,  856,  865,  872,  873,  856,  856,  856,
-      856,  856,  856,  856,  856,  856,  856,  856,  856,  856,
-      856,  856,  856,  856,  837,  861,  837,  837,  837,  837,
-      837,  865,  865,  865,  865,  865,  865,  865,  865,  865,
-
-      865,  865,  865,  865,  865,  865,  865,  874,  875,  875,
-      875,  875,  875,  837,  837,  856,  876,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      861,  837,  862,  837,  862,  837,  837,  863,  865,  865,
-      864,  864,  864,  864,  864,  864,  864,  864,  864,  864,
-      864,  864,  864,  864,  864,  864,  864,  837,  866,  837,
-      866,  837,  837,  837,  837,  877,  837,  837,  871,  865,
-      865,  837,  872,  873,  856,  856,  856,  856,  856,  856,
-      856,  856,  856,  856,  856,  856,  856,  856,  856,  856,
-
-      856,  837,  837,  837,  837,  837,  837,  865,  865,  865,
-      865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
-      865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
-      865,  865,  865,  865,  865,  865,  865,  865,  865,  878,
-      875,  875,  837,  837,  862,  837,  862,  837,  865,  864,
-      864,  864,  864,  864,  864,  864,  864,  864,  864,  864,
-      864,  864,  864,  864,  864,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  877,  837,  837,  837,  837,
-      865,  865,  837,  837,  856,  856,  856,  856,  856,  856,
-      856,  856,  856,  856,  856,  856,  856,  856,  856,  856,
-
-      837,  837,  837,  865,  865,  865,  865,  865,  865,  865,
-      865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
-      865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
-      865,  865,  865,  878,  875,  837,  837,  865,  864,  864,
-      864,  864,  864,  864,  864,  864,  864,  864,  864,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      865,  865,  837,  856,  856,  856,  856,  856,  856,  856,
-      856,  856,  856,  856,  837,  837,  865,  865,  865,  865,
-      865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
-      865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
-
-      865,  865,  865,  865,  865,  864,  864,  864,  864,  864,
-      864,  864,  864,  864,  864,  837,  837,  837,  837,  837,
-      837,  837,  879,  865,  865,  856,  856,  856,  856,  856,
-      856,  856,  856,  856,  856,  865,  865,  865,  865,  865,
-      865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
-      865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
-      865,  865,  864,  864,  864,  864,  864,  837,  837,  837,
-      837,  837,  837,  837,  879,  837,  879,  865,  865,  856,
-      856,  856,  856,  856,  865,  865,  865,  865,  865,  865,
-      865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
-
-      865,  865,  865,  864,  864,  864,  864,  837,  837,  837,
-      837,  837,  837,  837,  865,  865,  856,  856,  856,  856,
-      865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
-      865,  865,  865,  865,  865,  865,  865,  865,  865,  864,
-      837,  880,  837,  837,  837,  837,  837,  865,  865,  856,
-      865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
-      865,  865,  865,  865,  837,  880,  880,  837,  837,  837,
-      837,  865,  865,  865,  865,  865,  865,  865,  837,  880,
-      837,  837,  837,  837,  865,  865,  865,  837,  837,  880,
-      837,  837,  865,  865,  865,  837,  837,  837,  865,  865,
-
-      837,  837,  865,  865,  837,  837,  865,  837,  837,  865,
-      837,  837,  865,  837,  837,  865,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,    0,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837
+      836,  836,  837,  837,  838,  838,  835,    7,  839,  839,
+      835,   11,   11,   13,   11,   15,  840,  840,  835,   19,
+      835,  835,  835,  841,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  842,  835,  835,  835,  835,  835,
+      835,  835,  835,  843,  835,  844,  845,  846,  835,  835,
+      844,  835,  844,  844,  835,  835,  844,  835,  844,  844,
+      844,  847,  835,  844,  835,  848,  835,  847,  847,  847,
+      847,  847,  847,  847,  847,  847,  847,  847,  835,  844,
+      835,  844,  844,  849,  850,  851,  852,  853,  844,  835,
+
+      835,  854,  848,  855,  854,  854,  854,  854,  854,  854,
+      854,  854,  854,  854,  854,  835,  856,   99,  835,  848,
+      857,  857,  857,  857,  857,  835,  844,  844,  844,  848,
+      855,  854,  854,  835,  835,  858,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  842,  835,
+      835,  835,  835,  835,  835,  835,  835,  843,  835,  841,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+
+      835,  835,  835,  835,  843,  835,  844,  845,  835,  859,
+      835,  860,  844,  844,  835,  835,  835,  861,  844,  835,
+      844,  862,  863,  848,  863,  862,  862,  862,  862,  862,
+      862,  862,  862,  862,  862,  862,  862,  862,  862,  862,
+      862,  862,  835,  864,  835,  865,  866,  866,  835,  867,
+      835,  867,  868,  835,  859,  835,  835,  835,  835,  835,
+      835,  869,  835,  854,  863,  870,  871,  854,  854,  854,
+      854,  854,  854,  854,  854,  854,  854,  854,  854,  854,
+      854,  854,  854,  854,  835,  859,  835,  835,  835,  835,
+      835,  863,  863,  863,  863,  863,  863,  863,  863,  863,
+
+      863,  863,  863,  863,  863,  863,  863,  872,  873,  873,
+      873,  873,  873,  835,  835,  854,  874,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      859,  835,  860,  860,  835,  860,  835,  835,  861,  863,
+      863,  862,  862,  862,  862,  862,  862,  862,  862,  862,
+      862,  862,  862,  862,  862,  862,  862,  862,  835,  864,
+      835,  864,  835,  835,  835,  835,  875,  835,  835,  869,
+      863,  863,  835,  870,  871,  854,  854,  854,  854,  854,
+      854,  854,  854,  854,  854,  854,  854,  854,  854,  854,
+
+      854,  854,  835,  835,  835,  835,  835,  835,  863,  863,
+      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
+      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
+      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
+      876,  873,  873,  835,  835,  835,  863,  862,  862,  862,
+      862,  862,  862,  862,  862,  862,  862,  862,  862,  862,
+      862,  862,  862,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  875,  835,  835,  835,  835,  863,  863,
+      835,  835,  854,  854,  854,  854,  854,  854,  854,  854,
+      854,  854,  854,  854,  854,  854,  854,  854,  835,  835,
+
+      835,  863,  863,  863,  863,  863,  863,  863,  863,  863,
+      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
+      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
+      863,  876,  873,  835,  835,  863,  862,  862,  862,  862,
+      862,  862,  862,  862,  862,  862,  862,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  863,  863,
+      835,  854,  854,  854,  854,  854,  854,  854,  854,  854,
+      854,  854,  835,  835,  863,  863,  863,  863,  863,  863,
+      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
+      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
+
+      863,  863,  863,  862,  862,  862,  862,  862,  862,  862,
+      862,  862,  862,  835,  835,  835,  835,  835,  835,  835,
+      877,  863,  863,  854,  854,  854,  854,  854,  854,  854,
+      854,  854,  854,  863,  863,  863,  863,  863,  863,  863,
+      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
+      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
+      862,  862,  862,  862,  862,  835,  835,  835,  835,  835,
+      835,  835,  877,  835,  877,  863,  863,  854,  854,  854,
+      854,  854,  863,  863,  863,  863,  863,  863,  863,  863,
+      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
+
+      863,  862,  862,  862,  862,  835,  835,  835,  835,  835,
+      835,  835,  863,  863,  854,  854,  854,  854,  863,  863,
+      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
+      863,  863,  863,  863,  863,  863,  863,  862,  835,  878,
+      835,  835,  835,  835,  835,  863,  863,  854,  863,  863,
+      863,  863,  863,  863,  863,  863,  863,  863,  863,  863,
+      863,  863,  835,  878,  878,  835,  835,  835,  835,  863,
+      863,  863,  863,  863,  863,  863,  835,  878,  835,  835,
+      835,  835,  863,  863,  863,  835,  835,  878,  835,  835,
+      863,  863,  863,  835,  835,  835,  863,  863,  835,  835,
+
+      863,  863,  835,  835,  863,  835,  835,  863,  835,  835,
+      863,  835,  835,  863,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,    0,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835
     } ;
 
-static const short int yy_nxt[2293] =
+static yyconst short int yy_nxt[2289] =
     {   0,
-       23,   23,   23,   23,   23,   23,   23,   23,  837,  263,
-      837,   25,  263,  308,  837,   25,   95,   95,  251,  204,
+       23,   23,   23,   23,   23,   23,   23,   23,  835,  263,
+      835,   25,  263,  308,  835,   25,   95,   95,  251,  204,
       204,  204,  204,  204,  204,  135,  135,  135,  135,  248,
-      837,  137,  173,  173,  173,  173,  173,  173,  173,  135,
+      835,  137,  173,  173,  173,  173,  173,  173,  173,  135,
       135,  135,  135,  175,  177,  137,  179,  187,  180,  263,
-      192,  206,  206,  206,  206,  181,  244,  176,  837,   26,
+      192,  206,  206,  206,  206,  181,  244,  176,  835,   26,
       188,  178,  212,   26,   28,  182,  183,  184,  224,   28,
       193,  185,  186,  263,  273,  226,  213,   29,   29,   29,
        29,   29,   29,   29,  138,  227,  225,   96,   96,  252,
@@ -634,14 +645,14 @@ static const short int yy_nxt[2293] =
       268,  263,  265,  241,   49,   50,  263,   51,  263,   52,
       269,   53,  263,   54,   28,  263,  225,  263,  215,   28,
       216,  216,  216,  216,  216,  216,  216,   29,   29,   29,
-       29,   29,   29,   29,  837,  263,  308,  257,  175,  192,
-       30,   31,   32,   33,   34,   35,   36,   37,  380,  272,
-      381,   38,  176,   39,  278,  836,  270,   40,   41,  193,
+       29,   29,   29,   29,  835,  263,  308,  257,  175,  192,
+       30,   31,   32,   33,   34,   35,   36,   37,  381,  272,
+      382,   38,  176,   39,  278,  834,  270,   40,   41,  193,
        42,   43,  277,  206,  206,  206,  206,   44,  274,   45,
 
-      279,  177,   46,   47,  275,  276,  280,   48,  217,  344,
-      345,  316,  370,  371,   49,   50,  218,   51,  178,   52,
-      385,   53,  310,   54,   22,   55,   55,   55,   55,   56,
+      279,  177,   46,   47,  275,  276,  280,   48,  217,  631,
+      355,  316,  371,  372,   49,   50,  218,   51,  178,   52,
+      356,   53,  310,   54,   22,   55,   55,   55,   55,   56,
        57,   56,   56,   56,   56,   58,   59,   60,   61,   62,
        63,   64,   56,   65,   66,   66,   66,   66,   66,   66,
        67,   68,   69,   70,   56,   71,   72,   72,   72,   72,
@@ -662,24 +673,24 @@ static const short int yy_nxt[2293] =
       111,  102,  112,  102,  113,  102,  114,  102,  102,  115,
 
       102,  102,   89,   90,   91,   92,  116,  187,  206,  206,
-      206,  206,  835,  117,  285,  834,   56,  263,  118,   56,
+      206,  206,  833,  117,  285,  832,   56,  263,  118,   56,
       188,  119,  119,  119,  119,  119,  119,  119,  263,  308,
        56,  263,  215,   56,  216,  216,  216,  216,  216,  216,
-      216,  212,  354,  333,  256,  257,  257,  257,  257,  257,
-      257,  179,  355,  180,  831,  213,  263,  308,  263,  263,
+      216,  212,  263,  333,  256,  257,  257,  257,  257,  257,
+      257,  179,  583,  180,  584,  213,  263,  308,  263,  263,
       181,  263,  263,  308,  120,  334,  121,  121,  122,  121,
       121,  121,  121,  121,  123,  121,  124,  121,  121,  125,
       121,  121,  121,  121,  121,  121,  121,  121,  121,  126,
-      263,  387,  127,   22,  128,  263,  263,  311,   22,  263,
-
-      263,   56,  392,  129,   56,  263,   22,   22,   22,   22,
-       22,   22,   22,  258,   22,   56,  270,  312,   56,  399,
-      271,  391,  258,  259,  313,  260,  260,  260,  260,  260,
-      260,  260,  287,  359,  288,  288,  288,  288,  288,  288,
-      288,  182,  183,  184,  360,  361,   56,  185,  186,  130,
-      131,  413,  386,  102,  132,  102,  263,  308,  102,  133,
-      397,  102,  102,  390,  102,  414,  102,  633,  102,  434,
-      396,  102,  394,  435,  134,   56,   22,  127,  139,  140,
+      386,  263,  127,   22,  128,  263,  263,  311,   22,  387,
+
+      263,   56,  263,  129,   56,  388,   22,   22,   22,   22,
+       22,   22,   22,  258,   22,   56,  270,  312,   56,  400,
+      271,  392,  258,  259,  313,  260,  260,  260,  260,  260,
+      260,  260,  287,  360,  288,  288,  288,  288,  288,  288,
+      288,  182,  183,  184,  361,  362,   56,  185,  186,  130,
+      131,  437,  829,  102,  132,  102,  414,  389,  102,  133,
+      398,  102,  102,  438,  102,  397,  102,  390,  102,  391,
+      415,  102,  828,  393,  134,   56,   22,  127,  139,  140,
       140,  140,  140,  139,  141,  139,  139,  139,  139,  141,
       139,  139,  139,  139,  142,  139,  139,  143,  143,  143,
 
@@ -690,189 +701,187 @@ static const short int yy_nxt[2293] =
       139,  139,  160,  161,  139,  139,  139,  162,  139,  139,
       139,  139,  139,  139,  163,  164,  139,  165,  139,  166,
       139,  167,  139,  168,  139,  169,  139,  139,  139,  258,
-      263,  173,  173,  173,  173,  173,  173,  173,  830,  259,
+      263,  173,  173,  173,  173,  173,  173,  173,  263,  259,
       263,  260,  260,  260,  260,  260,  260,  260,  195,  324,
-      325,  326,  327,  829,  196,  197,  263,  308,  263,  198,
+      325,  326,  327,  435,  196,  197,  827,  436,  826,  198,
 
-      199,  828,  263,  308,  200,  204,  204,  204,  204,  204,
+      199,  263,  308,  263,  200,  204,  204,  204,  204,  204,
       204,  173,  173,  173,  173,  173,  173,  173,  204,  204,
-      204,  204,  204,  204,  206,  206,  206,  206,  347,  347,
-      347,  347,  347,  347,  281,  263,  263,  263,  308,  261,
-      282,  378,  378,  378,  378,  378,  378,  262,  263,  283,
-      289,  400,  290,  346,  346,  346,  346,  346,  346,  346,
-      393,  436,  215,  291,  216,  216,  216,  216,  216,  216,
-      216,  394,  395,  437,  423,  424,  442,  292,  827,  293,
-      294,  263,  295,  263,  308,  296,  263,  297,  298,  299,
-      300,  301,  302,  344,  345,  303,  304,  305,  388,  306,
-
-      425,  370,  371,  258,  398,  826,  426,  224,  389,  401,
-      441,  265,  427,  287,  307,  257,  257,  257,  257,  257,
-      257,  257,  258,  370,  371,  225,  525,  585,  428,  586,
-      526,  263,  287,  825,  257,  257,  257,  257,  257,  257,
-      257,  377,  377,  377,  377,  377,  377,  377,  258,  404,
-      404,  404,  404,  404,  404,  404,  263,  566,  259,  486,
-      260,  260,  260,  260,  260,  260,  260,  263,  263,  263,
-      258,  263,  263,  375,  415,  416,  263,  263,  417,  408,
-      287,  376,  288,  288,  288,  288,  288,  288,  288,  409,
-      418,  431,  485,  410,  444,  444,  444,  444,  411,  445,
-
-      446,  447,  445,  432,  466,  466,  466,  467,  412,  346,
-      346,  346,  346,  346,  346,  346,  263,  490,  433,  347,
-      347,  347,  347,  347,  347,  487,  448,  475,  475,  475,
-      475,  475,  475,  488,  489,  468,  491,  492,  469,  263,
-      263,  263,  493,  470,  263,  263,  494,  471,  477,  824,
-      263,  308,  823,  472,  263,  479,  520,  263,  448,  263,
-      377,  377,  377,  377,  377,  377,  377,  378,  378,  378,
-      378,  378,  378,  505,  522,  521,  263,  478,  506,  263,
-      308,  444,  444,  444,  444,  263,  263,  523,  263,  507,
-      263,  496,  445,  446,  447,  445,  263,  497,  263,  263,
-
-      495,  444,  444,  444,  444,  499,  477,  263,  263,  478,
-      498,  535,  445,  446,  447,  445,  570,  500,  404,  404,
-      404,  404,  404,  404,  404,  466,  466,  466,  466,  565,
-      564,  536,  263,  536,  263,  502,  537,  537,  537,  537,
-      537,  537,  537,  263,  466,  466,  466,  466,  568,  263,
-      308,  263,  676,  677,  567,  656,  468,  572,  571,  469,
-      574,  628,  792,  626,  470,  610,  569,  502,  471,  792,
-      611,  822,  627,  263,  472,  468,  573,  657,  469,  263,
-      263,  550,  479,  470,  263,  821,  551,  471,  820,  263,
-      676,  677,  263,  472,  475,  475,  475,  475,  475,  475,
-
-      559,  632,  559,  681,  634,  560,  560,  560,  560,  560,
-      560,  560,  575,  819,  575,  818,  635,  576,  576,  576,
-      576,  576,  576,  576,  537,  537,  537,  537,  537,  537,
-      537,  537,  537,  537,  537,  537,  537,  537,  560,  560,
-      560,  560,  560,  560,  560,  477,  630,  629,  682,  683,
-      263,  631,  263,  684,  680,  676,  677,  560,  560,  560,
-      560,  560,  560,  560,  576,  576,  576,  576,  576,  576,
-      576,  477,  658,  658,  658,  658,  658,  658,  658,  263,
-      263,  263,  767,  576,  576,  576,  576,  576,  576,  576,
-      658,  658,  658,  658,  658,  658,  658,  732,  789,  790,
-
-      817,  205,  348,  205,  348,  816,  733,  734,  833,  205,
-      348,  719,  767,  717,  832,  832,  832,  832,  832,  832,
-      832,  440,  440,  832,  832,  832,  832,  832,  832,  832,
-      379,  476,  379,  476,  815,  814,  813,  812,  379,  476,
-      718,  811,  750,  720,  810,  809,  808,  807,  806,  805,
-      804,  803,  802,  801,  800,  780,   22,   22,   22,   22,
+      204,  204,  204,  204,  206,  206,  206,  206,  344,  345,
+      346,  344,  263,  263,  281,  424,  425,  263,  263,  261,
+      282,  348,  348,  348,  348,  348,  348,  262,  490,  283,
+      289,  401,  290,  347,  347,  347,  347,  347,  347,  347,
+      263,  426,  215,  291,  216,  216,  216,  216,  216,  216,
+      216,  379,  379,  379,  379,  379,  379,  292,  427,  293,
+      294,  567,  295,  825,  428,  296,  263,  297,  298,  299,
+      300,  301,  302,  824,  394,  303,  304,  305,  402,  306,
+
+      429,  823,  399,  258,  263,  395,  396,  224,  416,  417,
+      498,  265,  418,  287,  307,  257,  257,  257,  257,  257,
+      257,  257,  258,  263,  419,  225,  263,  308,  263,  308,
+      263,  308,  287,  395,  257,  257,  257,  257,  257,  257,
+      257,  378,  378,  378,  378,  378,  378,  378,  258,  405,
+      405,  405,  405,  405,  405,  405,  263,  308,  259,  484,
+      260,  260,  260,  260,  260,  260,  260,  371,  372,  487,
+      258,  371,  372,  376,  344,  345,  346,  344,  432,  409,
+      287,  377,  288,  288,  288,  288,  288,  288,  288,  410,
+      433,  263,  496,  411,  344,  345,  346,  344,  412,  442,
+
+      445,  445,  445,  445,  443,  434,  263,  263,  413,  344,
+      345,  346,  344,  347,  347,  347,  347,  347,  347,  347,
+      348,  348,  348,  348,  348,  348,  464,  464,  464,  465,
+      446,  473,  473,  473,  473,  473,  473,  475,  263,  263,
+      263,  263,  263,  263,  263,  263,  520,  822,  485,  378,
+      378,  378,  378,  378,  378,  378,  503,  466,  263,  521,
+      467,  504,  446,  263,  477,  468,  476,  483,  488,  469,
+      475,  518,  505,  263,  308,  470,  379,  379,  379,  379,
+      379,  379,  405,  405,  405,  405,  405,  405,  405,  523,
+      519,  263,  308,  524,  263,  486,  263,  263,  476,  500,
+
+      263,  495,  263,  493,  489,  491,  497,  445,  445,  445,
+      445,  263,  608,  263,  534,  492,  534,  609,  494,  535,
+      535,  535,  535,  535,  535,  535,  464,  464,  464,  464,
+      477,  500,  263,  563,  533,  263,  562,  464,  464,  464,
+      464,  821,  473,  473,  473,  473,  473,  473,  263,  308,
+      674,  675,  820,  568,  790,  654,  263,  466,  819,  263,
+      467,  790,  263,  572,  263,  468,  565,  263,  466,  469,
+      564,  467,  566,  263,  548,  470,  468,  655,  263,  549,
+      469,  571,  557,  569,  557,  263,  470,  558,  558,  558,
+      558,  558,  558,  558,  818,  573,  817,  573,  626,  570,
+
+      574,  574,  574,  574,  574,  574,  574,  535,  535,  535,
+      535,  535,  535,  535,  535,  535,  535,  535,  535,  535,
+      535,  558,  558,  558,  558,  558,  558,  558,  475,  624,
+      627,  628,  625,  678,  632,  263,  629,  263,  263,  263,
+      558,  558,  558,  558,  558,  558,  558,  630,  475,  263,
+      633,  574,  574,  574,  574,  574,  574,  574,  674,  675,
+      574,  574,  574,  574,  574,  574,  574,  656,  656,  656,
+      656,  656,  656,  656,  656,  656,  656,  656,  656,  656,
+      656,  674,  675,  263,  263,  263,  263,  765,  730,  787,
+      788,  205,  349,  205,  349,  681,  680,  731,  732,  205,
+
+      349,  441,  441,  765,  679,  831,  816,  815,  682,  814,
+      813,  812,  715,  830,  830,  830,  830,  830,  830,  830,
+      830,  830,  830,  830,  830,  830,  830,  380,  474,  380,
+      474,  811,  810,  809,  808,  380,  474,  807,  806,  805,
+      804,  803,  802,  717,  716,  801,  800,  748,  718,  799,
+      798,  797,  796,  795,  765,  794,  793,  792,  791,  789,
+      778,   22,   22,   22,   22,   22,   22,   22,   22,   22,
        22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   24,   24,   24,   24,
+       22,   24,   24,   24,   24,   24,   24,   24,   24,   24,
        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   27,   27,   27,   27,
 
+       24,   27,   27,   27,   27,   27,   27,   27,   27,   27,
        27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
-       27,   27,   27,   27,   27,   27,   94,   94,   94,   94,
+       27,   94,   94,   94,   94,   94,   94,   94,   94,   94,
        94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
-       94,   94,   94,   94,   94,   94,  136,  136,  136,  136,
+       94,  136,  136,  136,  136,  136,  136,  136,  136,  136,
       136,  136,  136,  136,  136,  136,  136,  136,  136,  136,
-      136,  136,  136,  136,  136,  136,  170,  170,  170,  170,
-      170,  170,  170,  170,  170,  170,  170,  799,  170,  170,
-      170,  170,  170,  170,  203,  203,  203,  203,  203,  203,
-      207,  207,  207,  798,  797,  767,  207,  796,  795,  794,
-      207,  208,  208,  208,  208,  208,  208,  208,  208,  208,
-
-      208,  208,  793,  208,  208,  208,  208,  208,  208,  210,
-      210,  210,  210,  210,  210,  210,  210,  210,  210,  210,
-      791,  210,  210,  210,  210,  210,  210,  222,  788,  222,
-      787,  222,  222,  786,  785,  222,  784,  222,  222,  223,
-      223,  783,  782,  223,  781,  223,  223,  246,  246,  246,
-      246,  246,  246,  246,  767,  246,  246,  246,  246,  246,
-      246,  246,  246,  246,  246,  779,  246,  247,  247,  247,
+      136,  170,  170,  170,  170,  170,  170,  170,  170,  170,
+      170,  170,  786,  170,  170,  170,  170,  170,  170,  203,
+      203,  203,  203,  203,  203,  207,  207,  207,  785,  784,
+      783,  207,  782,  781,  780,  207,  208,  208,  208,  208,
+
+      208,  208,  208,  208,  208,  208,  208,  779,  208,  208,
+      208,  208,  208,  208,  210,  210,  210,  210,  210,  210,
+      210,  210,  210,  210,  210,  765,  210,  210,  210,  210,
+      210,  210,  222,  777,  222,  776,  222,  222,  775,  774,
+      222,  773,  222,  222,  223,  223,  772,  771,  223,  263,
+      223,  223,  246,  246,  246,  246,  246,  246,  246,  770,
+      246,  246,  246,  246,  246,  246,  246,  246,  246,  246,
+      769,  246,  247,  247,  247,  247,  247,  247,  247,  247,
       247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
-      247,  247,  247,  247,  247,  778,  247,  250,  250,  250,
-      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
+      768,  247,  250,  250,  250,  250,  250,  250,  250,  250,
 
-      250,  250,  250,  250,  250,  250,  253,  253,  253,  253,
-      253,  253,  253,  253,  253,  253,  253,  777,  253,  253,
-      253,  253,  253,  253,  255,  255,  255,  255,  255,  255,
-      255,  255,  255,  255,  255,  776,  255,  255,  255,  255,
-      255,  255,  264,  775,  264,  774,  264,  773,  264,  264,
-      263,  772,  264,  771,  264,  264,  266,  266,  770,  769,
-      768,  266,  266,  266,  286,  286,  286,  286,  767,  286,
-      286,  286,  286,  286,  286,  765,  286,  286,  286,  286,
-      286,  286,  309,  309,  309,  764,  309,  763,  309,  309,
-      762,  761,  309,  760,  309,  309,  317,  317,  317,  317,
-
-      317,  317,  317,  317,  317,  317,  317,  759,  317,  317,
-      317,  317,  317,  317,  341,  341,  341,  341,  341,  341,
-      341,  341,  341,  341,  341,  758,  341,  341,  341,  341,
-      341,  341,  343,  343,  343,  343,  343,  343,  343,  343,
+      250,  250,  250,  250,  250,  250,  250,  250,  250,  250,
+      250,  253,  253,  253,  253,  253,  253,  253,  253,  253,
+      253,  253,  767,  253,  253,  253,  253,  253,  253,  255,
+      255,  255,  255,  255,  255,  255,  255,  255,  255,  255,
+      766,  255,  255,  255,  255,  255,  255,  264,  765,  264,
+      763,  264,  762,  264,  264,  761,  760,  264,  759,  264,
+      264,  266,  266,  758,  757,  756,  266,  266,  266,  286,
+      286,  286,  286,  755,  286,  286,  286,  286,  286,  286,
+      754,  286,  286,  286,  286,  286,  286,  309,  309,  309,
+      753,  309,  752,  309,  309,  751,  750,  309,  749,  309,
+
+      309,  317,  317,  317,  317,  317,  317,  317,  317,  317,
+      317,  317,  263,  317,  317,  317,  317,  317,  317,  341,
+      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
+      263,  341,  341,  341,  341,  341,  341,  343,  343,  343,
       343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
-      343,  343,  222,  757,  222,  756,  222,  222,  755,  754,
-      222,  753,  222,  222,  349,  752,  349,  751,  349,  349,
-      263,  263,  349,  263,  349,  349,  369,  369,  369,  369,
-      369,  369,  369,  369,  369,  369,  369,  369,  369,  369,
-      369,  369,  369,  369,  369,  369,  246,  246,  246,  246,
-
-      246,  246,  246,  749,  246,  246,  246,  246,  246,  246,
-      246,  246,  246,  246,  748,  246,  247,  247,  247,  247,
-      247,  247,  247,  747,  247,  247,  247,  247,  247,  247,
-      247,  247,  247,  247,  250,  250,  250,  250,  250,  250,
-      250,  746,  250,  250,  250,  250,  250,  250,  250,  250,
-      250,  250,  253,  253,  253,  253,  253,  253,  253,  253,
-      253,  253,  253,  745,  253,  253,  253,  253,  253,  253,
-      383,  744,  383,  743,  383,  742,  383,  383,  741,  740,
-      383,  739,  383,  383,  384,  384,  384,  384,  384,  384,
-      738,  384,  384,  384,  384,  384,  384,  384,  384,  384,
-
-      384,  384,  384,  384,  309,  309,  309,  737,  309,  736,
-      309,  309,  735,  731,  309,  730,  309,  309,  317,  317,
-      317,  317,  317,  317,  317,  317,  317,  317,  317,  729,
-      317,  317,  317,  317,  317,  317,  534,  728,  534,  727,
-      534,  534,  726,  725,  534,  724,  534,  534,  675,  675,
-      675,  675,  675,  675,  675,  675,  675,  675,  675,  675,
-      675,  675,  675,  675,  675,  675,  675,  675,  766,  723,
-      766,  766,  766,  766,  766,  766,  766,  766,  766,  766,
-      766,  766,  766,  766,  766,  766,  766,  766,  722,  721,
-      263,  716,  715,  714,  713,  712,  711,  710,  709,  708,
-
-      707,  706,  705,  704,  703,  702,  701,  700,  699,  698,
-      697,  696,  695,  694,  693,  692,  691,  690,  689,  688,
-      687,  686,  685,  263,  263,  263,  263,  263,  679,  678,
-      674,  673,  672,  671,  670,  669,  668,  667,  666,  665,
-      664,  663,  662,  661,  660,  659,  655,  654,  653,  652,
-      651,  650,  649,  648,  647,  646,  645,  644,  643,  642,
-      641,  640,  639,  638,  637,  636,  263,  263,  625,  624,
-      623,  622,  621,  620,  619,  618,  617,  616,  615,  614,
-      613,  612,  609,  608,  607,  606,  605,  604,  603,  602,
-      601,  600,  599,  598,  597,  596,  595,  594,  593,  592,
-
-      591,  590,  589,  588,  587,  584,  583,  582,  581,  580,
-      579,  578,  577,  263,  263,  263,  263,  263,  563,  562,
-      561,  558,  480,  557,  556,  555,  554,  553,  552,  549,
-      548,  547,  546,  545,  544,  543,  542,  541,  540,  539,
-      538,  533,  532,  531,  530,  529,  528,  527,  524,  519,
-      518,  517,  516,  515,  514,  513,  512,  511,  510,  509,
-      508,  504,  503,  474,  501,  263,  484,  382,  483,  482,
-      481,  480,  474,  473,  465,  464,  463,  462,  461,  460,
-      459,  458,  457,  456,  455,  454,  453,  452,  451,  450,
-      449,  837,  319,  318,  443,  439,  438,  430,  429,  422,
-
-      421,  420,  419,  407,  406,  405,  403,  402,  263,  263,
-      263,  382,  263,  374,  373,  254,  252,  248,  372,  368,
-      367,  366,  365,  364,  363,  362,  358,  357,  356,  353,
-      352,  351,  350,  224,  342,  209,  340,  339,  338,  337,
-      336,  335,  332,  331,  330,  329,  328,  323,  322,  321,
-      172,  171,  314,  202,  201,  194,  191,  190,  189,  174,
-      212,  320,  319,  318,  314,  837,  224,  213,  315,  314,
-      267,  263,  211,  254,  243,  242,  238,  237,  236,  235,
-      231,  230,  221,  220,  219,  214,  211,  209,  202,  201,
-      194,  191,  190,  189,  174,  172,  171,  837,   93,   93,
-
-       21,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837
-
+      343,  343,  343,  343,  343,  343,  343,  222,  263,  222,
+      747,  222,  222,  746,  745,  222,  744,  222,  222,  350,
+      743,  350,  742,  350,  350,  741,  740,  350,  739,  350,
+      350,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
+
+      370,  246,  246,  246,  246,  246,  246,  246,  738,  246,
+      246,  246,  246,  246,  246,  246,  246,  246,  246,  737,
+      246,  247,  247,  247,  247,  247,  247,  247,  736,  247,
+      247,  247,  247,  247,  247,  247,  247,  247,  247,  250,
+      250,  250,  250,  250,  250,  250,  735,  250,  250,  250,
+      250,  250,  250,  250,  250,  250,  250,  253,  253,  253,
+      253,  253,  253,  253,  253,  253,  253,  253,  734,  253,
+      253,  253,  253,  253,  253,  384,  733,  384,  729,  384,
+      728,  384,  384,  727,  726,  384,  725,  384,  384,  385,
+      385,  385,  385,  385,  385,  724,  385,  385,  385,  385,
+
+      385,  385,  385,  385,  385,  385,  385,  385,  385,  309,
+      309,  309,  723,  309,  722,  309,  309,  721,  720,  309,
+      719,  309,  309,  317,  317,  317,  317,  317,  317,  317,
+      317,  317,  317,  317,  263,  317,  317,  317,  317,  317,
+      317,  532,  714,  532,  713,  532,  532,  712,  711,  532,
+      710,  532,  532,  673,  673,  673,  673,  673,  673,  673,
+      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
+      673,  673,  673,  764,  709,  764,  764,  764,  764,  764,
+      764,  764,  764,  764,  764,  764,  764,  764,  764,  764,
+      764,  764,  764,  708,  707,  706,  705,  704,  703,  702,
+
+      701,  700,  699,  698,  697,  696,  695,  694,  693,  692,
+      691,  690,  689,  688,  687,  686,  685,  684,  683,  263,
+      263,  263,  263,  263,  677,  676,  672,  671,  670,  669,
+      668,  667,  666,  665,  664,  663,  662,  661,  660,  659,
+      658,  657,  653,  652,  651,  650,  649,  648,  647,  646,
+      645,  644,  643,  642,  641,  640,  639,  638,  637,  636,
+      635,  634,  263,  263,  623,  622,  621,  620,  619,  618,
+      617,  616,  615,  614,  613,  612,  611,  610,  607,  606,
+      605,  604,  603,  602,  601,  600,  599,  598,  597,  596,
+      595,  594,  593,  592,  591,  590,  589,  588,  587,  586,
+
+      585,  582,  581,  580,  579,  578,  577,  576,  575,  263,
+      263,  263,  263,  263,  561,  560,  559,  556,  478,  555,
+      554,  553,  552,  551,  550,  547,  546,  545,  544,  543,
+      542,  541,  540,  539,  538,  537,  536,  531,  530,  529,
+      528,  527,  526,  525,  522,  517,  516,  515,  514,  513,
+      512,  511,  510,  509,  508,  507,  506,  502,  501,  472,
+      499,  263,  482,  383,  481,  480,  479,  478,  472,  471,
+      463,  462,  461,  460,  459,  458,  457,  456,  455,  454,
+      453,  452,  451,  450,  449,  448,  447,  835,  319,  318,
+      444,  440,  439,  431,  430,  423,  422,  421,  420,  408,
+
+      407,  406,  404,  403,  263,  263,  263,  383,  263,  375,
+      374,  254,  252,  248,  373,  369,  368,  367,  366,  365,
+      364,  363,  359,  358,  357,  354,  353,  352,  351,  224,
+      342,  209,  340,  339,  338,  337,  336,  335,  332,  331,
+      330,  329,  328,  323,  322,  321,  172,  171,  314,  202,
+      201,  194,  191,  190,  189,  174,  212,  320,  319,  318,
+      314,  835,  224,  213,  315,  314,  267,  263,  211,  254,
+      243,  242,  238,  237,  236,  235,  231,  230,  221,  220,
+      219,  214,  211,  209,  202,  201,  194,  191,  190,  189,
+      174,  172,  171,  835,   93,   93,   21,  835,  835,  835,
+
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835
     } ;
 
-static const short int yy_chk[2293] =
+static yyconst short int yy_chk[2289] =
     {   0,
         3,    3,    3,    3,    4,    4,    4,    4,    0,  108,
         0,    3,  121,  121,    0,    4,    9,   10,   96,   50,
@@ -889,16 +898,16 @@ static const short int yy_chk[2293] =
         5,    5,  107,  115,  111,   41,   41,    5,   87,    5,
        41,   41,    5,    5,   87,   41,   93,    5,  103,  132,
       105,  110,  103,   87,    5,    5,  109,    5,  112,    5,
-      105,    5,  133,    5,    6,  113,  103,  268,   65,    6,
+      105,    5,  133,    5,    6,  113,  103,  569,   65,    6,
        65,   65,   65,   65,   65,   65,   65,    6,    6,    6,
         6,    6,    6,    6,  118,  122,  122,  118,  145,  153,
         6,    6,    6,    6,    6,    6,    6,    6,  265,  107,
-      265,    6,  145,    6,  111,  835,  132,    6,    6,  153,
+      265,    6,  145,    6,  111,  833,  132,    6,    6,  153,
         6,    6,  110,  140,  140,  140,  140,    6,  109,    6,
 
-      112,  146,    6,    6,  109,  109,  113,    6,   65,  212,
-      212,  133,  244,  244,    6,    6,   65,    6,  146,    6,
-      268,    6,  122,    6,    7,    7,    7,    7,    7,    7,
+      112,  146,    6,    6,  109,  109,  113,    6,   65,  569,
+      229,  133,  244,  244,    6,    6,   65,    6,  146,    6,
+      229,    6,  122,    6,    7,    7,    7,    7,    7,    7,
         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
@@ -919,24 +928,24 @@ static const short int yy_chk[2293] =
        11,   11,   11,   11,   11,   11,   11,   11,   11,   11,
 
        11,   11,   11,   11,   11,   11,   13,  149,  116,  116,
-      116,  116,  834,   13,  116,  833,   13,  270,   13,   13,
+      116,  116,  832,   13,  116,  831,   13,  268,   13,   13,
       149,   13,   13,   13,   13,   13,   13,   13,  123,  123,
-       13,  275,   66,   13,   66,   66,   66,   66,   66,   66,
-       66,   99,  229,  186,   99,   99,   99,   99,   99,   99,
-       99,  147,  229,  147,  830,   99,  124,  124,  281,  106,
+       13,  270,   66,   13,   66,   66,   66,   66,   66,   66,
+       66,   99,  269,  186,   99,   99,   99,   99,   99,   99,
+       99,  147,  510,  147,  510,   99,  124,  124,  281,  106,
       147,  273,  125,  125,   13,  186,   13,   13,   13,   13,
        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
-      272,  270,   13,   15,   15,  269,  277,  123,   15,  316,
+      268,  277,   13,   15,   15,  271,  272,  123,   15,  269,
 
-      278,   15,  275,   15,   15,  571,   15,   15,   15,   15,
+      278,   15,  275,   15,   15,  270,   15,   15,   15,   15,
        15,   15,   15,  101,   15,   15,  106,  124,   15,  281,
       106,  273,  119,  101,  125,  101,  101,  101,  101,  101,
       101,  101,  119,  234,  119,  119,  119,  119,  119,  119,
       119,  148,  148,  148,  234,  234,   15,  148,  148,   15,
-       15,  293,  269,   15,   15,   15,  309,  309,   15,   15,
-      278,   15,   15,  272,   15,  293,   15,  571,   15,  304,
-      277,   15,  316,  304,   15,   15,   15,   15,   19,   19,
+       15,  305,  828,   15,   15,   15,  293,  271,   15,   15,
+      278,   15,   15,  305,   15,  277,   15,  271,   15,  272,
+      293,   15,  827,  275,   15,   15,   15,   15,   19,   19,
        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
 
@@ -947,186 +956,184 @@ static const short int yy_chk[2293] =
        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
        19,   19,   19,   19,   19,   19,   19,   19,   19,  100,
-      114,  143,  143,  143,  143,  143,  143,  143,  829,  100,
+      114,  143,  143,  143,  143,  143,  143,  143,  393,  100,
       283,  100,  100,  100,  100,  100,  100,  100,  155,  179,
-      179,  179,  179,  828,  155,  155,  311,  311,  276,  155,
+      179,  179,  179,  304,  155,  155,  826,  304,  825,  155,
 
-      155,  827,  312,  312,  155,  164,  164,  164,  164,  164,
+      155,  309,  309,  491,  155,  164,  164,  164,  164,  164,
       164,  173,  173,  173,  173,  173,  173,  173,  204,  204,
-      204,  204,  204,  204,  206,  206,  206,  206,  217,  217,
-      217,  217,  217,  217,  114,  280,  271,  310,  310,  100,
-      114,  261,  261,  261,  261,  261,  261,  100,  284,  114,
+      204,  204,  204,  204,  206,  206,  206,  206,  212,  212,
+      212,  212,  276,  280,  114,  299,  299,  284,  402,  100,
+      114,  217,  217,  217,  217,  217,  217,  100,  393,  114,
       120,  283,  120,  215,  215,  215,  215,  215,  215,  215,
-      276,  305,  216,  120,  216,  216,  216,  216,  216,  216,
-      216,  276,  276,  305,  299,  299,  312,  120,  826,  120,
-      120,  489,  120,  313,  313,  120,  386,  120,  120,  120,
-      120,  120,  120,  343,  343,  120,  120,  120,  271,  120,
-
-      299,  369,  369,  256,  280,  825,  300,  120,  271,  284,
-      310,  120,  300,  256,  120,  256,  256,  256,  256,  256,
-      256,  256,  257,  371,  371,  120,  430,  512,  300,  512,
-      430,  385,  257,  824,  257,  257,  257,  257,  257,  257,
+      316,  299,  216,  120,  216,  216,  216,  216,  216,  216,
+      216,  261,  261,  261,  261,  261,  261,  120,  300,  120,
+      120,  491,  120,  824,  300,  120,  387,  120,  120,  120,
+      120,  120,  120,  823,  276,  120,  120,  120,  284,  120,
+
+      300,  822,  280,  256,  390,  276,  276,  120,  294,  294,
+      402,  120,  294,  256,  120,  256,  256,  256,  256,  256,
+      256,  256,  257,  400,  294,  120,  310,  310,  311,  311,
+      312,  312,  257,  316,  257,  257,  257,  257,  257,  257,
       257,  259,  259,  259,  259,  259,  259,  259,  260,  287,
-      287,  287,  287,  287,  287,  287,  390,  489,  260,  386,
-      260,  260,  260,  260,  260,  260,  260,  392,  387,  389,
-      288,  391,  394,  256,  294,  294,  388,  393,  294,  292,
+      287,  287,  287,  287,  287,  287,  313,  313,  260,  387,
+      260,  260,  260,  260,  260,  260,  260,  370,  370,  390,
+      288,  372,  372,  256,  343,  343,  343,  343,  303,  292,
       288,  256,  288,  288,  288,  288,  288,  288,  288,  292,
-      294,  303,  385,  292,  344,  344,  344,  344,  292,  345,
-
-      345,  345,  345,  303,  368,  368,  368,  368,  292,  346,
-      346,  346,  346,  346,  346,  346,  397,  390,  303,  347,
-      347,  347,  347,  347,  347,  387,  346,  375,  375,  375,
-      375,  375,  375,  388,  389,  368,  391,  392,  368,  395,
-      398,  399,  393,  368,  400,  401,  394,  368,  377,  823,
-      441,  441,  822,  368,  488,  378,  426,  486,  346,  494,
-      377,  377,  377,  377,  377,  377,  377,  378,  378,  378,
-      378,  378,  378,  409,  427,  426,  492,  377,  409,  442,
-      442,  444,  444,  444,  444,  491,  495,  427,  493,  409,
-      496,  397,  445,  445,  445,  445,  565,  398,  567,  500,
-
-      395,  446,  446,  446,  446,  400,  404,  566,  497,  377,
-      399,  441,  447,  447,  447,  447,  494,  401,  404,  404,
-      404,  404,  404,  404,  404,  466,  466,  466,  466,  488,
-      486,  448,  570,  448,  627,  404,  448,  448,  448,  448,
-      448,  448,  448,  572,  467,  467,  467,  467,  492,  535,
-      535,  573,  623,  623,  491,  600,  466,  496,  495,  466,
-      500,  567,  784,  565,  466,  544,  493,  404,  466,  784,
-      544,  821,  566,  568,  466,  467,  497,  600,  467,  569,
-      626,  467,  475,  467,  635,  820,  467,  467,  819,  632,
-      675,  675,  633,  467,  475,  475,  475,  475,  475,  475,
-
-      478,  570,  478,  627,  572,  478,  478,  478,  478,  478,
-      478,  478,  502,  818,  502,  817,  573,  502,  502,  502,
-      502,  502,  502,  502,  536,  536,  536,  536,  536,  536,
-      536,  537,  537,  537,  537,  537,  537,  537,  559,  559,
-      559,  559,  559,  559,  559,  560,  569,  568,  632,  633,
-      681,  569,  683,  635,  626,  677,  677,  560,  560,  560,
-      560,  560,  560,  560,  575,  575,  575,  575,  575,  575,
-      575,  576,  601,  601,  601,  601,  601,  601,  601,  682,
-      684,  719,  767,  576,  576,  576,  576,  576,  576,  576,
-      658,  658,  658,  658,  658,  658,  658,  696,  780,  780,
-
-      814,  845,  863,  845,  863,  813,  696,  696,  832,  845,
-      863,  683,  780,  681,  831,  831,  831,  831,  831,  831,
-      831,  874,  874,  832,  832,  832,  832,  832,  832,  832,
-      871,  877,  871,  877,  812,  811,  810,  809,  871,  877,
-      682,  808,  719,  684,  807,  806,  805,  804,  802,  801,
-      800,  799,  797,  796,  794,  767,  838,  838,  838,  838,
+      303,  388,  400,  292,  344,  344,  344,  344,  292,  310,
+
+      345,  345,  345,  345,  312,  303,  386,  391,  292,  346,
+      346,  346,  346,  347,  347,  347,  347,  347,  347,  347,
+      348,  348,  348,  348,  348,  348,  369,  369,  369,  369,
+      347,  376,  376,  376,  376,  376,  376,  378,  389,  392,
+      394,  395,  396,  398,  399,  401,  428,  821,  388,  378,
+      378,  378,  378,  378,  378,  378,  410,  369,  486,  428,
+      369,  410,  347,  484,  379,  369,  378,  386,  391,  369,
+      405,  427,  410,  442,  442,  369,  379,  379,  379,  379,
+      379,  379,  405,  405,  405,  405,  405,  405,  405,  431,
+      427,  443,  443,  431,  487,  389,  492,  489,  378,  405,
+
+      490,  399,  498,  396,  392,  394,  401,  445,  445,  445,
+      445,  493,  542,  495,  446,  395,  446,  542,  398,  446,
+      446,  446,  446,  446,  446,  446,  464,  464,  464,  464,
+      473,  405,  494,  486,  442,  565,  484,  465,  465,  465,
+      465,  820,  473,  473,  473,  473,  473,  473,  533,  533,
+      621,  621,  819,  492,  782,  598,  566,  464,  818,  624,
+      464,  782,  563,  498,  567,  464,  489,  564,  465,  464,
+      487,  465,  490,  570,  465,  464,  465,  598,  568,  465,
+      465,  495,  476,  493,  476,  571,  465,  476,  476,  476,
+      476,  476,  476,  476,  817,  500,  816,  500,  565,  494,
+
+      500,  500,  500,  500,  500,  500,  500,  534,  534,  534,
+      534,  534,  534,  534,  535,  535,  535,  535,  535,  535,
+      535,  557,  557,  557,  557,  557,  557,  557,  558,  563,
+      566,  567,  564,  624,  570,  625,  567,  630,  631,  633,
+      558,  558,  558,  558,  558,  558,  558,  568,  574,  679,
+      571,  573,  573,  573,  573,  573,  573,  573,  673,  673,
+      574,  574,  574,  574,  574,  574,  574,  599,  599,  599,
+      599,  599,  599,  599,  656,  656,  656,  656,  656,  656,
+      656,  675,  675,  680,  681,  682,  717,  765,  694,  778,
+      778,  843,  861,  843,  861,  631,  630,  694,  694,  843,
+
+      861,  872,  872,  778,  625,  830,  815,  812,  633,  811,
+      810,  809,  679,  829,  829,  829,  829,  829,  829,  829,
+      830,  830,  830,  830,  830,  830,  830,  869,  875,  869,
+      875,  808,  807,  806,  805,  869,  875,  804,  803,  802,
+      800,  799,  798,  681,  680,  797,  795,  717,  682,  794,
+      792,  791,  790,  789,  788,  786,  785,  784,  783,  781,
+      765,  836,  836,  836,  836,  836,  836,  836,  836,  836,
+      836,  836,  836,  836,  836,  836,  836,  836,  836,  836,
+      836,  837,  837,  837,  837,  837,  837,  837,  837,  837,
+      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
+
+      837,  838,  838,  838,  838,  838,  838,  838,  838,  838,
       838,  838,  838,  838,  838,  838,  838,  838,  838,  838,
-      838,  838,  838,  838,  838,  838,  839,  839,  839,  839,
+      838,  839,  839,  839,  839,  839,  839,  839,  839,  839,
       839,  839,  839,  839,  839,  839,  839,  839,  839,  839,
-      839,  839,  839,  839,  839,  839,  840,  840,  840,  840,
-
+      839,  840,  840,  840,  840,  840,  840,  840,  840,  840,
       840,  840,  840,  840,  840,  840,  840,  840,  840,  840,
-      840,  840,  840,  840,  840,  840,  841,  841,  841,  841,
-      841,  841,  841,  841,  841,  841,  841,  841,  841,  841,
-      841,  841,  841,  841,  841,  841,  842,  842,  842,  842,
-      842,  842,  842,  842,  842,  842,  842,  842,  842,  842,
-      842,  842,  842,  842,  842,  842,  843,  843,  843,  843,
-      843,  843,  843,  843,  843,  843,  843,  793,  843,  843,
-      843,  843,  843,  843,  844,  844,  844,  844,  844,  844,
-      846,  846,  846,  792,  791,  790,  846,  788,  787,  786,
-      846,  847,  847,  847,  847,  847,  847,  847,  847,  847,
-
-      847,  847,  785,  847,  847,  847,  847,  847,  847,  848,
-      848,  848,  848,  848,  848,  848,  848,  848,  848,  848,
-      783,  848,  848,  848,  848,  848,  848,  849,  779,  849,
-      778,  849,  849,  777,  774,  849,  771,  849,  849,  850,
-      850,  770,  769,  850,  768,  850,  850,  851,  851,  851,
-      851,  851,  851,  851,  766,  851,  851,  851,  851,  851,
-      851,  851,  851,  851,  851,  765,  851,  852,  852,  852,
-      852,  852,  852,  852,  852,  852,  852,  852,  852,  852,
-      852,  852,  852,  852,  852,  763,  852,  853,  853,  853,
+      840,  841,  841,  841,  841,  841,  841,  841,  841,  841,
+      841,  841,  777,  841,  841,  841,  841,  841,  841,  842,
+      842,  842,  842,  842,  842,  844,  844,  844,  776,  775,
+      772,  844,  769,  768,  767,  844,  845,  845,  845,  845,
+
+      845,  845,  845,  845,  845,  845,  845,  766,  845,  845,
+      845,  845,  845,  845,  846,  846,  846,  846,  846,  846,
+      846,  846,  846,  846,  846,  764,  846,  846,  846,  846,
+      846,  846,  847,  763,  847,  761,  847,  847,  760,  759,
+      847,  752,  847,  847,  848,  848,  750,  749,  848,  748,
+      848,  848,  849,  849,  849,  849,  849,  849,  849,  747,
+      849,  849,  849,  849,  849,  849,  849,  849,  849,  849,
+      745,  849,  850,  850,  850,  850,  850,  850,  850,  850,
+      850,  850,  850,  850,  850,  850,  850,  850,  850,  850,
+      744,  850,  851,  851,  851,  851,  851,  851,  851,  851,
+
+      851,  851,  851,  851,  851,  851,  851,  851,  851,  851,
+      851,  852,  852,  852,  852,  852,  852,  852,  852,  852,
+      852,  852,  742,  852,  852,  852,  852,  852,  852,  853,
       853,  853,  853,  853,  853,  853,  853,  853,  853,  853,
+      741,  853,  853,  853,  853,  853,  853,  854,  740,  854,
+      739,  854,  736,  854,  854,  735,  734,  854,  733,  854,
+      854,  855,  855,  732,  731,  730,  855,  855,  855,  856,
+      856,  856,  856,  728,  856,  856,  856,  856,  856,  856,
+      727,  856,  856,  856,  856,  856,  856,  857,  857,  857,
+      726,  857,  725,  857,  857,  722,  720,  857,  719,  857,
+
+      857,  858,  858,  858,  858,  858,  858,  858,  858,  858,
+      858,  858,  718,  858,  858,  858,  858,  858,  858,  859,
+      859,  859,  859,  859,  859,  859,  859,  859,  859,  859,
+      716,  859,  859,  859,  859,  859,  859,  860,  860,  860,
+      860,  860,  860,  860,  860,  860,  860,  860,  860,  860,
+      860,  860,  860,  860,  860,  860,  860,  862,  715,  862,
+      714,  862,  862,  713,  712,  862,  711,  862,  862,  863,
+      710,  863,  709,  863,  863,  708,  707,  863,  706,  863,
+      863,  864,  864,  864,  864,  864,  864,  864,  864,  864,
+      864,  864,  864,  864,  864,  864,  864,  864,  864,  864,
 
-      853,  853,  853,  853,  853,  853,  854,  854,  854,  854,
-      854,  854,  854,  854,  854,  854,  854,  762,  854,  854,
-      854,  854,  854,  854,  855,  855,  855,  855,  855,  855,
-      855,  855,  855,  855,  855,  761,  855,  855,  855,  855,
-      855,  855,  856,  754,  856,  752,  856,  751,  856,  856,
-      750,  749,  856,  747,  856,  856,  857,  857,  746,  744,
-      743,  857,  857,  857,  858,  858,  858,  858,  742,  858,
-      858,  858,  858,  858,  858,  741,  858,  858,  858,  858,
-      858,  858,  859,  859,  859,  738,  859,  737,  859,  859,
-      736,  735,  859,  734,  859,  859,  860,  860,  860,  860,
-
-      860,  860,  860,  860,  860,  860,  860,  733,  860,  860,
-      860,  860,  860,  860,  861,  861,  861,  861,  861,  861,
-      861,  861,  861,  861,  861,  732,  861,  861,  861,  861,
-      861,  861,  862,  862,  862,  862,  862,  862,  862,  862,
-      862,  862,  862,  862,  862,  862,  862,  862,  862,  862,
-      862,  862,  864,  730,  864,  729,  864,  864,  728,  727,
-      864,  724,  864,  864,  865,  722,  865,  721,  865,  865,
-      720,  718,  865,  717,  865,  865,  866,  866,  866,  866,
-      866,  866,  866,  866,  866,  866,  866,  866,  866,  866,
-      866,  866,  866,  866,  866,  866,  867,  867,  867,  867,
-
-      867,  867,  867,  716,  867,  867,  867,  867,  867,  867,
-      867,  867,  867,  867,  715,  867,  868,  868,  868,  868,
-      868,  868,  868,  714,  868,  868,  868,  868,  868,  868,
-      868,  868,  868,  868,  869,  869,  869,  869,  869,  869,
-      869,  713,  869,  869,  869,  869,  869,  869,  869,  869,
-      869,  869,  870,  870,  870,  870,  870,  870,  870,  870,
-      870,  870,  870,  712,  870,  870,  870,  870,  870,  870,
-      872,  711,  872,  710,  872,  709,  872,  872,  708,  706,
-      872,  703,  872,  872,  873,  873,  873,  873,  873,  873,
-      702,  873,  873,  873,  873,  873,  873,  873,  873,  873,
-
-      873,  873,  873,  873,  875,  875,  875,  700,  875,  698,
-      875,  875,  697,  695,  875,  694,  875,  875,  876,  876,
-      876,  876,  876,  876,  876,  876,  876,  876,  876,  693,
-      876,  876,  876,  876,  876,  876,  878,  692,  878,  691,
-      878,  878,  690,  689,  878,  688,  878,  878,  879,  879,
-      879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
-      879,  879,  879,  879,  879,  879,  879,  879,  880,  687,
-      880,  880,  880,  880,  880,  880,  880,  880,  880,  880,
-      880,  880,  880,  880,  880,  880,  880,  880,  686,  685,
-      680,  679,  678,  674,  673,  672,  671,  670,  669,  668,
-
-      667,  666,  665,  664,  662,  660,  659,  656,  655,  653,
-      651,  650,  648,  647,  646,  645,  643,  641,  640,  639,
-      638,  637,  636,  634,  631,  630,  629,  628,  625,  624,
-      622,  621,  620,  619,  618,  617,  616,  615,  613,  612,
-      607,  606,  605,  604,  603,  602,  599,  598,  597,  596,
-      595,  594,  592,  591,  590,  589,  588,  587,  586,  585,
-      584,  583,  582,  580,  579,  577,  574,  564,  562,  561,
-      557,  556,  555,  554,  553,  552,  551,  550,  548,  547,
-      546,  545,  543,  542,  541,  540,  533,  532,  531,  530,
-      529,  528,  527,  526,  525,  524,  523,  522,  520,  518,
-
-      517,  516,  515,  514,  513,  511,  510,  509,  508,  507,
-      506,  505,  504,  499,  498,  490,  487,  485,  484,  482,
-      481,  477,  476,  473,  472,  471,  470,  469,  468,  465,
-      462,  461,  460,  459,  458,  457,  456,  454,  453,  451,
-      449,  439,  438,  436,  435,  434,  432,  431,  429,  424,
-      423,  422,  420,  418,  417,  416,  415,  414,  413,  411,
-      410,  408,  407,  403,  402,  396,  384,  383,  382,  381,
-      380,  379,  374,  372,  367,  366,  365,  364,  363,  361,
-      360,  359,  358,  357,  356,  355,  354,  353,  352,  351,
-      350,  341,  318,  317,  315,  307,  306,  302,  301,  298,
-
-      297,  296,  295,  291,  290,  289,  286,  285,  282,  279,
-      274,  266,  264,  255,  254,  253,  252,  248,  245,  243,
-      242,  241,  239,  238,  236,  235,  233,  231,  230,  228,
-      227,  226,  225,  224,  210,  208,  200,  199,  198,  196,
-      193,  192,  185,  184,  183,  181,  180,  177,  175,  174,
-      171,  170,  169,  157,  156,  154,  152,  151,  150,  144,
-      142,  138,  137,  136,  134,  131,  130,  129,  128,  126,
-      104,  102,   98,   97,   89,   88,   86,   85,   84,   83,
-       81,   80,   70,   69,   67,   64,   58,   57,   43,   42,
-       40,   38,   37,   36,   30,   25,   24,   21,   12,    8,
-
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837,  837,  837,  837,  837,  837,  837,  837,  837,
-      837,  837
-
+      864,  865,  865,  865,  865,  865,  865,  865,  704,  865,
+      865,  865,  865,  865,  865,  865,  865,  865,  865,  701,
+      865,  866,  866,  866,  866,  866,  866,  866,  700,  866,
+      866,  866,  866,  866,  866,  866,  866,  866,  866,  867,
+      867,  867,  867,  867,  867,  867,  698,  867,  867,  867,
+      867,  867,  867,  867,  867,  867,  867,  868,  868,  868,
+      868,  868,  868,  868,  868,  868,  868,  868,  696,  868,
+      868,  868,  868,  868,  868,  870,  695,  870,  693,  870,
+      692,  870,  870,  691,  690,  870,  689,  870,  870,  871,
+      871,  871,  871,  871,  871,  688,  871,  871,  871,  871,
+
+      871,  871,  871,  871,  871,  871,  871,  871,  871,  873,
+      873,  873,  687,  873,  686,  873,  873,  685,  684,  873,
+      683,  873,  873,  874,  874,  874,  874,  874,  874,  874,
+      874,  874,  874,  874,  678,  874,  874,  874,  874,  874,
+      874,  876,  677,  876,  676,  876,  876,  672,  671,  876,
+      670,  876,  876,  877,  877,  877,  877,  877,  877,  877,
+      877,  877,  877,  877,  877,  877,  877,  877,  877,  877,
+      877,  877,  877,  878,  669,  878,  878,  878,  878,  878,
+      878,  878,  878,  878,  878,  878,  878,  878,  878,  878,
+      878,  878,  878,  668,  667,  666,  665,  664,  663,  662,
+
+      660,  658,  657,  654,  653,  651,  649,  648,  646,  645,
+      644,  643,  641,  639,  638,  637,  636,  635,  634,  632,
+      629,  628,  627,  626,  623,  622,  620,  619,  618,  617,
+      616,  615,  614,  613,  611,  610,  605,  604,  603,  602,
+      601,  600,  597,  596,  595,  594,  593,  592,  590,  589,
+      588,  587,  586,  585,  584,  583,  582,  581,  580,  578,
+      577,  575,  572,  562,  560,  559,  555,  554,  553,  552,
+      551,  550,  549,  548,  546,  545,  544,  543,  541,  540,
+      539,  538,  531,  530,  529,  528,  527,  526,  525,  524,
+      523,  522,  521,  520,  518,  516,  515,  514,  513,  512,
+
+      511,  509,  508,  507,  506,  505,  504,  503,  502,  497,
+      496,  488,  485,  483,  482,  480,  479,  475,  474,  471,
+      470,  469,  468,  467,  466,  463,  460,  459,  458,  457,
+      456,  455,  454,  452,  451,  449,  447,  440,  439,  437,
+      436,  435,  433,  432,  430,  425,  424,  423,  421,  419,
+      418,  417,  416,  415,  414,  412,  411,  409,  408,  404,
+      403,  397,  385,  384,  383,  382,  381,  380,  375,  373,
+      368,  367,  366,  365,  364,  362,  361,  360,  359,  358,
+      357,  356,  355,  354,  353,  352,  351,  341,  318,  317,
+      315,  307,  306,  302,  301,  298,  297,  296,  295,  291,
+
+      290,  289,  286,  285,  282,  279,  274,  266,  264,  255,
+      254,  253,  252,  248,  245,  243,  242,  241,  239,  238,
+      236,  235,  233,  231,  230,  228,  227,  226,  225,  224,
+      210,  208,  200,  199,  198,  196,  193,  192,  185,  184,
+      183,  181,  180,  177,  175,  174,  171,  170,  169,  157,
+      156,  154,  152,  151,  150,  144,  142,  138,  137,  136,
+      134,  131,  130,  129,  128,  126,  104,  102,   98,   97,
+       89,   88,   86,   85,   84,   83,   81,   80,   70,   69,
+       67,   64,   58,   57,   43,   42,   40,   38,   37,   36,
+       30,   25,   24,   21,   12,    8,  835,  835,  835,  835,
+
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835,  835,  835,
+      835,  835,  835,  835,  835,  835,  835,  835
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -1139,8 +1146,9 @@ static char *yy_last_accepting_cpos;
 #define yymore() yymore_used_but_not_detected
 #define YY_MORE_ADJ 0
 char *yytext;
-# line 1 "yaccParser/hslexer.flex"
-# line 2 "yaccParser/hslexer.flex"
+#line 1 "yaccParser/hslexer.flex"
+#define INITIAL 0
+#line 2 "yaccParser/hslexer.flex"
 /**********************************************************************
 *                                                                     *
 *                                                                     *
@@ -1206,7 +1214,7 @@ char *yytext;
 #define _isconstr(s)   (CharTable[*s]&(_C))
 BOOLEAN isconstr PROTO((char *)); /* fwd decl */
 
-unsigned char CharTable[NCHARS] = {
+static unsigned char CharTable[NCHARS] = {
 /* nul */      0,      0,      0,      0,      0,      0,      0,      0,
 /* bs  */      0,      _S,     _S,     _S,     _S,     0,      0,      0,
 /* dle */      0,      0,      0,      0,      0,      0,      0,      0,
@@ -1257,12 +1265,12 @@ char *input_filename = NULL;    /* Always points to a dynamically allocated string
  * have been renamed as hsXXXXX rather than yyXXXXX.  --JSM
  */
 
-int hslineno = 0;              /* Line number at end of token */
+static int hslineno = 0;       /* Line number at end of token */
 int hsplineno = 0;             /* Line number at end of previous token */
 
-int hscolno = 0;               /* Column number at end of token */
+static int hscolno = 0;                /* Column number at end of token */
 int hspcolno = 0;              /* Column number at end of previous token */
-int hsmlcolno = 0;             /* Column number for multiple-rule lexemes */
+static int hsmlcolno = 0;      /* Column number for multiple-rule lexemes */
 
 int startlineno = 0;           /* The line number where something starts */
 int endlineno = 0;             /* The line number where something ends */
@@ -1284,12 +1292,15 @@ static int nested_comments;     /* For counting comment nesting depth */
 
 /* Essential forward declarations */
 
-static VOID hsnewid     PROTO((char *, int));
-static VOID layout_input PROTO((char *, int));
-static VOID cleartext   (NO_ARGS);
-static VOID addtext     PROTO((char *, unsigned));
-static VOID addchar     PROTO((char));
+static void hsnewid     PROTO((char *, int));
+static void layout_input PROTO((char *, int));
+static void cleartext   (NO_ARGS);
+static void addtext     PROTO((char *, unsigned));
+static void addchar     PROTO((char));
 static char *fetchtext  PROTO((unsigned *));
+static void new_filename PROTO((char *));
+static int  Return      PROTO((int));
+static void hsentercontext PROTO((int));
 
 /* Special file handling for IMPORTS */
 /*  Note: imports only ever go *one deep* (hence no need for a stack) WDP 94/09 */
@@ -1392,11 +1403,65 @@ static int StateDepth = -1;
    are _exclusive_.  All rules should be prefixed with an appropriate
    list of start states.
  */
+#define Char 1
+#define CharEsc 2
+#define Code 3
+#define Comment 4
+#define GlaExt 5
+#define GhcPragma 6
+#define UserPragma 7
+#define String 8
+#define StringEsc 9
+
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
  */
 
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap YY_PROTO(( void ));
+#else
+extern int yywrap YY_PROTO(( void ));
+#endif
+#endif
+
+#ifndef YY_NO_UNPUT
+static void yyunput YY_PROTO(( int c, char *buf_ptr ));
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+static int yyinput YY_PROTO(( void ));
+#else
+static int input YY_PROTO(( void ));
+#endif
+#endif
+
+#if YY_STACK_USED
+static int yy_start_stack_ptr = 0;
+static int yy_start_stack_depth = 0;
+static int *yy_start_stack = 0;
+#ifndef YY_NO_PUSH_STATE
+static void yy_push_state YY_PROTO(( int new_state ));
+#endif
+#ifndef YY_NO_POP_STATE
+static void yy_pop_state YY_PROTO(( void ));
+#endif
+#ifndef YY_NO_TOP_STATE
+static int yy_top_state YY_PROTO(( void ));
+#endif
+
+#else
+#define YY_NO_PUSH_STATE 1
+#define YY_NO_POP_STATE 1
+#define YY_NO_TOP_STATE 1
+#endif
+
 #ifdef YY_MALLOC_DECL
 YY_MALLOC_DECL
 #else
@@ -1433,9 +1498,15 @@ YY_MALLOC_DECL
 #define YY_INPUT(buf,result,max_size) \
        if ( yy_current_buffer->yy_is_interactive ) \
                { \
-               int c = getc( yyin ); \
-               result = c == EOF ? 0 : 1; \
-               buf[0] = (char) c; \
+               int c = '*', n; \
+               for ( n = 0; n < max_size && \
+                            (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+                       buf[n] = (char) c; \
+               if ( c == '\n' ) \
+                       buf[n++] = (char) c; \
+               if ( c == EOF && ferror( yyin ) ) \
+                       YY_FATAL_ERROR( "input in flex scanner failed" ); \
+               result = n; \
                } \
        else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
                  && ferror( yyin ) ) \
@@ -1479,13 +1550,19 @@ YY_MALLOC_DECL
 #define YY_BREAK break;
 #endif
 
+#define YY_RULE_SETUP \
+       if ( yyleng > 0 ) \
+               yy_current_buffer->yy_at_bol = \
+                               (yytext[yyleng - 1] == '\n'); \
+       YY_USER_ACTION
+
 YY_DECL
        {
        register yy_state_type yy_current_state;
        register char *yy_cp, *yy_bp;
        register int yy_act;
 
-# line 274 "yaccParser/hslexer.flex"
+#line 277 "yaccParser/hslexer.flex"
 
 
 
@@ -1498,6 +1575,8 @@ YY_DECL
 
        if ( yy_init )
                {
+               yy_init = 0;
+
 #ifdef YY_USER_INIT
                YY_USER_INIT;
 #endif
@@ -1511,15 +1590,11 @@ YY_DECL
                if ( ! yyout )
                        yyout = stdout;
 
-               if ( yy_current_buffer )
-                       yy_init_buffer( yy_current_buffer, yyin );
-               else
+               if ( ! yy_current_buffer )
                        yy_current_buffer =
                                yy_create_buffer( yyin, YY_BUF_SIZE );
 
                yy_load_buffer_state();
-
-               yy_init = 0;
                }
 
        while ( 1 )             /* loops until end-of-file is reached */
@@ -1535,8 +1610,7 @@ YY_DECL
                yy_bp = yy_cp;
 
                yy_current_state = yy_start;
-               if ( yy_bp[-1] == '\n' )
-                       ++yy_current_state;
+               yy_current_state += YY_AT_BOL();
 yy_match:
                do
                        {
@@ -1549,16 +1623,22 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 838 )
+                               if ( yy_current_state >= 836 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 2201 );
+               while ( yy_base[yy_current_state] != 2197 );
 
 yy_find_action:
                yy_act = yy_accept[yy_current_state];
+               if ( yy_act == 0 )
+                       { /* have to back up */
+                       yy_cp = yy_last_accepting_cpos;
+                       yy_current_state = yy_last_accepting_state;
+                       yy_act = yy_accept[yy_current_state];
+                       }
 
                YY_DO_BEFORE_ACTION;
 
@@ -1576,8 +1656,8 @@ do_action:        /* This label is used only to access EOF actions. */
                        goto yy_find_action;
 
 case 1:
-YY_USER_ACTION
-# line 283 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 286 "yaccParser/hslexer.flex"
 {
                          char tempf[FILENAME_SIZE];
                          sscanf(yytext+1, "%d \"%[^\"]", &hslineno, tempf); 
@@ -1586,8 +1666,8 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 2:
-YY_USER_ACTION
-# line 290 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 293 "yaccParser/hslexer.flex"
 {
                          char tempf[FILENAME_SIZE];
                          sscanf(yytext+5, "%d \"%[^\"]", &hslineno, tempf); 
@@ -1596,8 +1676,8 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 3:
-YY_USER_ACTION
-# line 297 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 300 "yaccParser/hslexer.flex"
 { 
                          /* partain: pragma-style line directive */
                          char tempf[FILENAME_SIZE];
@@ -1607,15 +1687,15 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 4:
-YY_USER_ACTION
-# line 304 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 307 "yaccParser/hslexer.flex"
 {
                          sscanf(yytext+33,"%d ",&thisIfacePragmaVersion);
                        }
        YY_BREAK
 case 5:
-YY_USER_ACTION
-# line 307 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 310 "yaccParser/hslexer.flex"
 { 
                          if ( ignorePragmas ||
                               thisIfacePragmaVersion < minAcceptablePragmaVersion || 
@@ -1629,253 +1709,253 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 6:
-YY_USER_ACTION
-# line 318 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 321 "yaccParser/hslexer.flex"
 { RETURN(NO_PRAGMA); }
        YY_BREAK
 case 7:
-YY_USER_ACTION
-# line 319 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 322 "yaccParser/hslexer.flex"
 { RETURN(NOINFO_PRAGMA); }
        YY_BREAK
 case 8:
-YY_USER_ACTION
-# line 320 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 323 "yaccParser/hslexer.flex"
 { RETURN(ABSTRACT_PRAGMA); }
        YY_BREAK
 case 9:
-YY_USER_ACTION
-# line 321 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 324 "yaccParser/hslexer.flex"
 { RETURN(DEFOREST_PRAGMA); }
        YY_BREAK
 case 10:
-YY_USER_ACTION
-# line 322 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 325 "yaccParser/hslexer.flex"
 { RETURN(SPECIALISE_PRAGMA); }
        YY_BREAK
 case 11:
-YY_USER_ACTION
-# line 323 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 326 "yaccParser/hslexer.flex"
 { RETURN(MODNAME_PRAGMA); }
        YY_BREAK
 case 12:
-YY_USER_ACTION
-# line 324 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 327 "yaccParser/hslexer.flex"
 { RETURN(ARITY_PRAGMA); }
        YY_BREAK
 case 13:
-YY_USER_ACTION
-# line 325 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 328 "yaccParser/hslexer.flex"
 { RETURN(UPDATE_PRAGMA); }
        YY_BREAK
 case 14:
-YY_USER_ACTION
-# line 326 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 329 "yaccParser/hslexer.flex"
 { RETURN(STRICTNESS_PRAGMA); }
        YY_BREAK
 case 15:
-YY_USER_ACTION
-# line 327 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 330 "yaccParser/hslexer.flex"
 { RETURN(KIND_PRAGMA); }
        YY_BREAK
 case 16:
-YY_USER_ACTION
-# line 328 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 331 "yaccParser/hslexer.flex"
 { RETURN(MAGIC_UNFOLDING_PRAGMA); }
        YY_BREAK
 case 17:
-YY_USER_ACTION
-# line 329 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 332 "yaccParser/hslexer.flex"
 { RETURN(UNFOLDING_PRAGMA); }
        YY_BREAK
 case 18:
-YY_USER_ACTION
-# line 331 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 334 "yaccParser/hslexer.flex"
 { RETURN(COCON); }
        YY_BREAK
 case 19:
-YY_USER_ACTION
-# line 332 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 335 "yaccParser/hslexer.flex"
 { RETURN(COPRIM); }
        YY_BREAK
 case 20:
-YY_USER_ACTION
-# line 333 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 336 "yaccParser/hslexer.flex"
 { RETURN(COAPP); }
        YY_BREAK
 case 21:
-YY_USER_ACTION
-# line 334 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 337 "yaccParser/hslexer.flex"
 { RETURN(COTYAPP); }
        YY_BREAK
 case 22:
-YY_USER_ACTION
-# line 335 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 338 "yaccParser/hslexer.flex"
 { RETURN(CO_ALG_ALTS); }
        YY_BREAK
 case 23:
-YY_USER_ACTION
-# line 336 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 339 "yaccParser/hslexer.flex"
 { RETURN(CO_PRIM_ALTS); }
        YY_BREAK
 case 24:
-YY_USER_ACTION
-# line 337 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 340 "yaccParser/hslexer.flex"
 { RETURN(CO_NO_DEFAULT); }
        YY_BREAK
 case 25:
-YY_USER_ACTION
-# line 338 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 341 "yaccParser/hslexer.flex"
 { RETURN(CO_LETREC); }
        YY_BREAK
 case 26:
-YY_USER_ACTION
-# line 340 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 343 "yaccParser/hslexer.flex"
 { RETURN(CO_PRELUDE_DICTS_CC); }
        YY_BREAK
 case 27:
-YY_USER_ACTION
-# line 341 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 344 "yaccParser/hslexer.flex"
 { RETURN(CO_ALL_DICTS_CC); }
        YY_BREAK
 case 28:
-YY_USER_ACTION
-# line 342 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 345 "yaccParser/hslexer.flex"
 { RETURN(CO_USER_CC); }
        YY_BREAK
 case 29:
-YY_USER_ACTION
-# line 343 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 346 "yaccParser/hslexer.flex"
 { RETURN(CO_AUTO_CC); }
        YY_BREAK
 case 30:
-YY_USER_ACTION
-# line 344 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 347 "yaccParser/hslexer.flex"
 { RETURN(CO_DICT_CC); }
        YY_BREAK
 case 31:
-YY_USER_ACTION
-# line 346 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 349 "yaccParser/hslexer.flex"
 { RETURN(CO_DUPD_CC); }
        YY_BREAK
 case 32:
-YY_USER_ACTION
-# line 347 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 350 "yaccParser/hslexer.flex"
 { RETURN(CO_CAF_CC); }
        YY_BREAK
 case 33:
-YY_USER_ACTION
-# line 349 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 352 "yaccParser/hslexer.flex"
 { RETURN(CO_SDSEL_ID); }
        YY_BREAK
 case 34:
-YY_USER_ACTION
-# line 350 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 353 "yaccParser/hslexer.flex"
 { RETURN(CO_METH_ID); }
        YY_BREAK
 case 35:
-YY_USER_ACTION
-# line 351 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 354 "yaccParser/hslexer.flex"
 { RETURN(CO_DEFM_ID); }
        YY_BREAK
 case 36:
-YY_USER_ACTION
-# line 352 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 355 "yaccParser/hslexer.flex"
 { RETURN(CO_DFUN_ID); }
        YY_BREAK
 case 37:
-YY_USER_ACTION
-# line 353 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 356 "yaccParser/hslexer.flex"
 { RETURN(CO_CONSTM_ID); }
        YY_BREAK
 case 38:
-YY_USER_ACTION
-# line 354 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 357 "yaccParser/hslexer.flex"
 { RETURN(CO_SPEC_ID); }
        YY_BREAK
 case 39:
-YY_USER_ACTION
-# line 355 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 358 "yaccParser/hslexer.flex"
 { RETURN(CO_WRKR_ID); }
        YY_BREAK
 case 40:
-YY_USER_ACTION
-# line 356 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 359 "yaccParser/hslexer.flex"
 { RETURN(CO_ORIG_NM); /* fully-qualified original name*/ }
        YY_BREAK
 case 41:
-YY_USER_ACTION
-# line 358 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 361 "yaccParser/hslexer.flex"
 { RETURN(UNFOLD_ALWAYS); }
        YY_BREAK
 case 42:
-YY_USER_ACTION
-# line 359 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 362 "yaccParser/hslexer.flex"
 { RETURN(UNFOLD_IF_ARGS); }
        YY_BREAK
 case 43:
-YY_USER_ACTION
-# line 361 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 364 "yaccParser/hslexer.flex"
 { RETURN(NOREP_INTEGER); }
        YY_BREAK
 case 44:
-YY_USER_ACTION
-# line 362 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 365 "yaccParser/hslexer.flex"
 { RETURN(NOREP_RATIONAL); }
        YY_BREAK
 case 45:
-YY_USER_ACTION
-# line 363 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 366 "yaccParser/hslexer.flex"
 { RETURN(NOREP_STRING); }
        YY_BREAK
 case 46:
-YY_USER_ACTION
-# line 365 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 368 "yaccParser/hslexer.flex"
 { POP_STATE; RETURN(END_PRAGMA); }
        YY_BREAK
 case 47:
-YY_USER_ACTION
-# line 367 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 370 "yaccParser/hslexer.flex"
 {
                              PUSH_STATE(UserPragma);
                              RETURN(SPECIALISE_UPRAGMA);
                            }
        YY_BREAK
 case 48:
-YY_USER_ACTION
-# line 371 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 374 "yaccParser/hslexer.flex"
 {
                              PUSH_STATE(UserPragma);
                              RETURN(INLINE_UPRAGMA);
                            }
        YY_BREAK
 case 49:
-YY_USER_ACTION
-# line 375 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 378 "yaccParser/hslexer.flex"
 {
                              PUSH_STATE(UserPragma);
                              RETURN(MAGIC_UNFOLDING_UPRAGMA);
                            }
        YY_BREAK
 case 50:
-YY_USER_ACTION
-# line 379 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 382 "yaccParser/hslexer.flex"
 {
                               PUSH_STATE(UserPragma);
                               RETURN(DEFOREST_UPRAGMA);
                            }
        YY_BREAK
 case 51:
-YY_USER_ACTION
-# line 383 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 386 "yaccParser/hslexer.flex"
 {
                              PUSH_STATE(UserPragma);
                              RETURN(ABSTRACT_UPRAGMA);
                            }
        YY_BREAK
 case 52:
-YY_USER_ACTION
-# line 387 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 390 "yaccParser/hslexer.flex"
 { POP_STATE; RETURN(END_UPRAGMA); }
        YY_BREAK
 
@@ -1885,148 +1965,148 @@ YY_USER_ACTION
      */
 
 case 53:
-YY_USER_ACTION
-# line 396 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 399 "yaccParser/hslexer.flex"
 { RETURN(CASE); }
        YY_BREAK
 case 54:
-YY_USER_ACTION
-# line 397 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 400 "yaccParser/hslexer.flex"
 { RETURN(CLASS); }
        YY_BREAK
 case 55:
-YY_USER_ACTION
-# line 398 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 401 "yaccParser/hslexer.flex"
 { RETURN(DATA); }
        YY_BREAK
 case 56:
-YY_USER_ACTION
-# line 399 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 402 "yaccParser/hslexer.flex"
 { RETURN(DEFAULT); }
        YY_BREAK
 case 57:
-YY_USER_ACTION
-# line 400 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 403 "yaccParser/hslexer.flex"
 { RETURN(DERIVING); }
        YY_BREAK
 case 58:
-YY_USER_ACTION
-# line 401 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 404 "yaccParser/hslexer.flex"
 { RETURN(ELSE); }
        YY_BREAK
 case 59:
-YY_USER_ACTION
-# line 402 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 405 "yaccParser/hslexer.flex"
 { RETURN(HIDING); }
        YY_BREAK
 case 60:
-YY_USER_ACTION
-# line 403 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 406 "yaccParser/hslexer.flex"
 { RETURN(IF); }
        YY_BREAK
 case 61:
-YY_USER_ACTION
-# line 404 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 407 "yaccParser/hslexer.flex"
 { RETURN(IMPORT); }
        YY_BREAK
 case 62:
-YY_USER_ACTION
-# line 405 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 408 "yaccParser/hslexer.flex"
 { RETURN(INFIX); }
        YY_BREAK
 case 63:
-YY_USER_ACTION
-# line 406 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 409 "yaccParser/hslexer.flex"
 { RETURN(INFIXL); }
        YY_BREAK
 case 64:
-YY_USER_ACTION
-# line 407 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 410 "yaccParser/hslexer.flex"
 { RETURN(INFIXR); }
        YY_BREAK
 case 65:
-YY_USER_ACTION
-# line 408 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 411 "yaccParser/hslexer.flex"
 { RETURN(INSTANCE); }
        YY_BREAK
 case 66:
-YY_USER_ACTION
-# line 409 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 412 "yaccParser/hslexer.flex"
 { RETURN(INTERFACE); }
        YY_BREAK
 case 67:
-YY_USER_ACTION
-# line 410 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 413 "yaccParser/hslexer.flex"
 { RETURN(MODULE); }
        YY_BREAK
 case 68:
-YY_USER_ACTION
-# line 411 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 414 "yaccParser/hslexer.flex"
 { RETURN(OF); }
        YY_BREAK
 case 69:
-YY_USER_ACTION
-# line 412 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 415 "yaccParser/hslexer.flex"
 { RETURN(RENAMING); }
        YY_BREAK
 case 70:
-YY_USER_ACTION
-# line 413 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 416 "yaccParser/hslexer.flex"
 { RETURN(THEN); }
        YY_BREAK
 case 71:
-YY_USER_ACTION
-# line 414 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 417 "yaccParser/hslexer.flex"
 { RETURN(TO); }
        YY_BREAK
 case 72:
-YY_USER_ACTION
-# line 415 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 418 "yaccParser/hslexer.flex"
 { RETURN(TYPE); }
        YY_BREAK
 case 73:
-YY_USER_ACTION
-# line 416 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 419 "yaccParser/hslexer.flex"
 { RETURN(WHERE); }
        YY_BREAK
 case 74:
-YY_USER_ACTION
-# line 417 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 420 "yaccParser/hslexer.flex"
 { RETURN(IN); }
        YY_BREAK
 case 75:
-YY_USER_ACTION
-# line 418 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 421 "yaccParser/hslexer.flex"
 { RETURN(LET); }
        YY_BREAK
 case 76:
-YY_USER_ACTION
-# line 419 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 422 "yaccParser/hslexer.flex"
 { RETURN(CCALL); }
        YY_BREAK
 case 77:
-YY_USER_ACTION
-# line 420 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 423 "yaccParser/hslexer.flex"
 { RETURN(CCALL_GC); }
        YY_BREAK
 case 78:
-YY_USER_ACTION
-# line 421 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 424 "yaccParser/hslexer.flex"
 { RETURN(CASM); }
        YY_BREAK
 case 79:
-YY_USER_ACTION
-# line 422 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 425 "yaccParser/hslexer.flex"
 { RETURN(CASM_GC); }
        YY_BREAK
 case 80:
-YY_USER_ACTION
-# line 423 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 426 "yaccParser/hslexer.flex"
 { RETURN(SCC); }
        YY_BREAK
 case 81:
-YY_USER_ACTION
-# line 424 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 427 "yaccParser/hslexer.flex"
 { RETURN(FORALL); }
        YY_BREAK
 
@@ -2035,118 +2115,118 @@ YY_USER_ACTION
      */
 
 case 82:
-YY_USER_ACTION
-# line 432 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 435 "yaccParser/hslexer.flex"
 { RETURN(DOTDOT); }
        YY_BREAK
 case 83:
-YY_USER_ACTION
-# line 433 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 436 "yaccParser/hslexer.flex"
 { RETURN(SEMI); }
        YY_BREAK
 case 84:
-YY_USER_ACTION
-# line 434 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 437 "yaccParser/hslexer.flex"
 { RETURN(COMMA); }
        YY_BREAK
 case 85:
-YY_USER_ACTION
-# line 435 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 438 "yaccParser/hslexer.flex"
 { RETURN(VBAR); }
        YY_BREAK
 case 86:
-YY_USER_ACTION
-# line 436 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 439 "yaccParser/hslexer.flex"
 { RETURN(EQUAL); }
        YY_BREAK
 case 87:
-YY_USER_ACTION
-# line 437 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 440 "yaccParser/hslexer.flex"
 { RETURN(LARROW); }
        YY_BREAK
 case 88:
-YY_USER_ACTION
-# line 438 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 441 "yaccParser/hslexer.flex"
 { RETURN(RARROW); }
        YY_BREAK
 case 89:
-YY_USER_ACTION
-# line 439 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 442 "yaccParser/hslexer.flex"
 { RETURN(DARROW); }
        YY_BREAK
 case 90:
-YY_USER_ACTION
-# line 440 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 443 "yaccParser/hslexer.flex"
 { RETURN(DCOLON); }
        YY_BREAK
 case 91:
-YY_USER_ACTION
-# line 441 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 444 "yaccParser/hslexer.flex"
 { RETURN(OPAREN); }
        YY_BREAK
 case 92:
-YY_USER_ACTION
-# line 442 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 445 "yaccParser/hslexer.flex"
 { RETURN(CPAREN); }
        YY_BREAK
 case 93:
-YY_USER_ACTION
-# line 443 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 446 "yaccParser/hslexer.flex"
 { RETURN(OBRACK); }
        YY_BREAK
 case 94:
-YY_USER_ACTION
-# line 444 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 447 "yaccParser/hslexer.flex"
 { RETURN(CBRACK); }
        YY_BREAK
 case 95:
-YY_USER_ACTION
-# line 445 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 448 "yaccParser/hslexer.flex"
 { RETURN(OCURLY); }
        YY_BREAK
 case 96:
-YY_USER_ACTION
-# line 446 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 449 "yaccParser/hslexer.flex"
 { RETURN(CCURLY); }
        YY_BREAK
 case 97:
-YY_USER_ACTION
-# line 447 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 450 "yaccParser/hslexer.flex"
 { RETURN(PLUS); }
        YY_BREAK
 case 98:
-YY_USER_ACTION
-# line 448 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 451 "yaccParser/hslexer.flex"
 { RETURN(AT); }
        YY_BREAK
 case 99:
-YY_USER_ACTION
-# line 449 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 452 "yaccParser/hslexer.flex"
 { RETURN(LAMBDA); }
        YY_BREAK
 case 100:
-YY_USER_ACTION
-# line 450 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 453 "yaccParser/hslexer.flex"
 { RETURN(TYLAMBDA); }
        YY_BREAK
 case 101:
-YY_USER_ACTION
-# line 451 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 454 "yaccParser/hslexer.flex"
 { RETURN(WILDCARD); }
        YY_BREAK
 case 102:
-YY_USER_ACTION
-# line 452 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 455 "yaccParser/hslexer.flex"
 { RETURN(BQUOTE); }
        YY_BREAK
 case 103:
-YY_USER_ACTION
-# line 453 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 456 "yaccParser/hslexer.flex"
 { RETURN(LAZY); }
        YY_BREAK
 case 104:
-YY_USER_ACTION
-# line 454 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 457 "yaccParser/hslexer.flex"
 { RETURN(MINUS); }
        YY_BREAK
 
@@ -2157,48 +2237,48 @@ YY_USER_ACTION
      */
 
 case 105:
-YY_USER_ACTION
-# line 464 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 467 "yaccParser/hslexer.flex"
 { /* octal */
                         yylval.uid = xstrndup(yytext, yyleng - 1);
                         RETURN(INTPRIM);
                        }
        YY_BREAK
 case 106:
-YY_USER_ACTION
-# line 468 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 471 "yaccParser/hslexer.flex"
 { /* octal */
                         yylval.uid = xstrndup(yytext, yyleng);
                         RETURN(INTEGER);
                        }
        YY_BREAK
 case 107:
-YY_USER_ACTION
-# line 472 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 475 "yaccParser/hslexer.flex"
 { /* hexadecimal */
                         yylval.uid = xstrndup(yytext, yyleng - 1);
                         RETURN(INTPRIM);
                        }
        YY_BREAK
 case 108:
-YY_USER_ACTION
-# line 476 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 479 "yaccParser/hslexer.flex"
 { /* hexadecimal */
                         yylval.uid = xstrndup(yytext, yyleng);
                         RETURN(INTEGER);
                        }
        YY_BREAK
 case 109:
-YY_USER_ACTION
-# line 480 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 483 "yaccParser/hslexer.flex"
 {
                         yylval.uid = xstrndup(yytext, yyleng - 1);
                         RETURN(INTPRIM);
                        }
        YY_BREAK
 case 110:
-YY_USER_ACTION
-# line 484 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 487 "yaccParser/hslexer.flex"
 {
                         yylval.uid = xstrndup(yytext, yyleng);
                         RETURN(INTEGER);
@@ -2210,24 +2290,24 @@ YY_USER_ACTION
      */
 
 case 111:
-YY_USER_ACTION
-# line 495 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 498 "yaccParser/hslexer.flex"
 {
                         yylval.uid = xstrndup(yytext, yyleng - 2);
                         RETURN(DOUBLEPRIM);
                        }
        YY_BREAK
 case 112:
-YY_USER_ACTION
-# line 499 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 502 "yaccParser/hslexer.flex"
 {
                         yylval.uid = xstrndup(yytext, yyleng - 1);
                         RETURN(FLOATPRIM);
                        }
        YY_BREAK
 case 113:
-YY_USER_ACTION
-# line 503 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 506 "yaccParser/hslexer.flex"
 {
                         yylval.uid = xstrndup(yytext, yyleng);
                         RETURN(FLOAT);
@@ -2239,8 +2319,8 @@ YY_USER_ACTION
      */
 
 case 114:
-YY_USER_ACTION
-# line 514 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 517 "yaccParser/hslexer.flex"
 {
                         hsnewid(yytext + 2, yyleng - 4);
                         RETURN(CLITLIT);
@@ -2253,23 +2333,23 @@ YY_USER_ACTION
      */
 
 case 115:
-YY_USER_ACTION
-# line 526 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 529 "yaccParser/hslexer.flex"
 { hsnewid(yytext, yyleng); RETURN(CONID); }
        YY_BREAK
 case 116:
-YY_USER_ACTION
-# line 527 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 530 "yaccParser/hslexer.flex"
 { hsnewid(yytext, yyleng); RETURN(CONID); }
        YY_BREAK
 case 117:
-YY_USER_ACTION
-# line 528 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 531 "yaccParser/hslexer.flex"
 { hsnewid(yytext, yyleng); RETURN(TYVAR_TEMPLATE_ID); }
        YY_BREAK
 case 118:
-YY_USER_ACTION
-# line 530 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 533 "yaccParser/hslexer.flex"
 { 
                         hsnewid(yytext, yyleng);
                         RETURN(_isconstr(yytext) ? CONID : VARID);
@@ -2279,8 +2359,8 @@ YY_USER_ACTION
 /* This SHOULDNAE work in "Code" (sigh) */
 
 case 119:
-YY_USER_ACTION
-# line 537 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 540 "yaccParser/hslexer.flex"
 { 
                         if (! (nonstandardFlag || in_interface)) {
                            char errbuf[ERR_BUF_SIZE];
@@ -2293,16 +2373,16 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 120:
-YY_USER_ACTION
-# line 547 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 550 "yaccParser/hslexer.flex"
 {
                         hsnewid(yytext, yyleng);
                         RETURN(_isconstr(yytext) ? CONID : VARID);
                        }
        YY_BREAK
 case 121:
-YY_USER_ACTION
-# line 551 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 554 "yaccParser/hslexer.flex"
 {
                         hsnewid(yytext, yyleng);
                         RETURN(_isconstr(yytext) ? CONSYM : VARSYM);
@@ -2318,8 +2398,8 @@ YY_USER_ACTION
     */
 
 case 122:
-YY_USER_ACTION
-# line 566 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 569 "yaccParser/hslexer.flex"
 {      
                         hsnewid(yytext + 1, yyleng - 2);
                         RETURN(_isconstr(yytext+1) ? CONSYM : VARSYM);
@@ -2339,32 +2419,32 @@ YY_USER_ACTION
      */
 
 case 123:
-YY_USER_ACTION
-# line 585 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 588 "yaccParser/hslexer.flex"
 {
                         yylval.uhstring = installHstring(1, yytext+1);
                         RETURN(CHARPRIM);
                        }
        YY_BREAK
 case 124:
-YY_USER_ACTION
-# line 589 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 592 "yaccParser/hslexer.flex"
 {
                         yylval.uhstring = installHstring(1, yytext+1);
                         RETURN(CHAR);
                        }
        YY_BREAK
 case 125:
-YY_USER_ACTION
-# line 593 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 596 "yaccParser/hslexer.flex"
 {char errbuf[ERR_BUF_SIZE];
                         sprintf(errbuf, "'' is not a valid character (or string) literal\n");
                         hsperror(errbuf);
                        }
        YY_BREAK
 case 126:
-YY_USER_ACTION
-# line 597 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 600 "yaccParser/hslexer.flex"
 {
                         hsmlcolno = hspcolno;
                         cleartext();
@@ -2373,8 +2453,8 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 127:
-YY_USER_ACTION
-# line 603 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 606 "yaccParser/hslexer.flex"
 {
                         unsigned length;
                         char *text;
@@ -2402,8 +2482,8 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 128:
-YY_USER_ACTION
-# line 628 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 631 "yaccParser/hslexer.flex"
 {
                         unsigned length;
                         char *text;
@@ -2425,8 +2505,8 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 129:
-YY_USER_ACTION
-# line 647 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 650 "yaccParser/hslexer.flex"
 { addtext(yytext, yyleng); }
        YY_BREAK
 
@@ -2444,8 +2524,8 @@ YY_USER_ACTION
      */
 
 case 130:
-YY_USER_ACTION
-# line 665 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 668 "yaccParser/hslexer.flex"
 {
                         yylval.uhstring = installHstring(yyleng-3, yytext+1);
                            /* the -3 accounts for the " on front, "# on the end */
@@ -2453,16 +2533,16 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 131:
-YY_USER_ACTION
-# line 670 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 673 "yaccParser/hslexer.flex"
 {
                         yylval.uhstring = installHstring(yyleng-2, yytext+1);
                         RETURN(STRING); 
                        }
        YY_BREAK
 case 132:
-YY_USER_ACTION
-# line 674 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 677 "yaccParser/hslexer.flex"
 {
                         hsmlcolno = hspcolno;
                         cleartext();
@@ -2471,8 +2551,8 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 133:
-YY_USER_ACTION
-# line 680 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 683 "yaccParser/hslexer.flex"
 {
                         unsigned length;
                         char *text;
@@ -2493,8 +2573,8 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 134:
-YY_USER_ACTION
-# line 698 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 701 "yaccParser/hslexer.flex"
 {
                         unsigned length;
                         char *text;
@@ -2509,8 +2589,8 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 135:
-YY_USER_ACTION
-# line 710 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 713 "yaccParser/hslexer.flex"
 { addtext(yytext, yyleng); }
        YY_BREAK
 
@@ -2529,227 +2609,227 @@ YY_USER_ACTION
      */
 
 case 136:
-YY_USER_ACTION
-# line 728 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 731 "yaccParser/hslexer.flex"
 { PUSH_STATE(CharEsc); }
        YY_BREAK
 case 137:
-YY_USER_ACTION
-# line 729 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 732 "yaccParser/hslexer.flex"
 /* Ignore */ ;
        YY_BREAK
 case 138:
-YY_USER_ACTION
-# line 730 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 733 "yaccParser/hslexer.flex"
 { PUSH_STATE(StringEsc); noGap = TRUE; }
        YY_BREAK
 case 139:
-YY_USER_ACTION
-# line 732 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 735 "yaccParser/hslexer.flex"
 { addchar(*yytext); POP_STATE; }
        YY_BREAK
 case 140:
-YY_USER_ACTION
-# line 733 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 736 "yaccParser/hslexer.flex"
 { if (noGap) { addchar(*yytext); } POP_STATE; }
        YY_BREAK
 case 141:
-YY_USER_ACTION
-# line 735 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 738 "yaccParser/hslexer.flex"
 { addchar(*yytext); POP_STATE; }
        YY_BREAK
 case 142:
-YY_USER_ACTION
-# line 736 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 739 "yaccParser/hslexer.flex"
 { addchar('\000'); POP_STATE; }
        YY_BREAK
 case 143:
-YY_USER_ACTION
-# line 737 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 740 "yaccParser/hslexer.flex"
 { addchar('\001'); POP_STATE; }
        YY_BREAK
 case 144:
-YY_USER_ACTION
-# line 738 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 741 "yaccParser/hslexer.flex"
 { addchar('\002'); POP_STATE; }
        YY_BREAK
 case 145:
-YY_USER_ACTION
-# line 739 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 742 "yaccParser/hslexer.flex"
 { addchar('\003'); POP_STATE; }
        YY_BREAK
 case 146:
-YY_USER_ACTION
-# line 740 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 743 "yaccParser/hslexer.flex"
 { addchar('\004'); POP_STATE; }
        YY_BREAK
 case 147:
-YY_USER_ACTION
-# line 741 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 744 "yaccParser/hslexer.flex"
 { addchar('\005'); POP_STATE; }
        YY_BREAK
 case 148:
-YY_USER_ACTION
-# line 742 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 745 "yaccParser/hslexer.flex"
 { addchar('\006'); POP_STATE; }
        YY_BREAK
 case 149:
-# line 744 "yaccParser/hslexer.flex"
+#line 747 "yaccParser/hslexer.flex"
 case 150:
-YY_USER_ACTION
-# line 744 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 747 "yaccParser/hslexer.flex"
 { addchar('\007'); POP_STATE; }
        YY_BREAK
 case 151:
-# line 746 "yaccParser/hslexer.flex"
+#line 749 "yaccParser/hslexer.flex"
 case 152:
-YY_USER_ACTION
-# line 746 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 749 "yaccParser/hslexer.flex"
 { addchar('\010'); POP_STATE; }
        YY_BREAK
 case 153:
-# line 748 "yaccParser/hslexer.flex"
+#line 751 "yaccParser/hslexer.flex"
 case 154:
-YY_USER_ACTION
-# line 748 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 751 "yaccParser/hslexer.flex"
 { addchar('\011'); POP_STATE; }
        YY_BREAK
 case 155:
-# line 750 "yaccParser/hslexer.flex"
+#line 753 "yaccParser/hslexer.flex"
 case 156:
-YY_USER_ACTION
-# line 750 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 753 "yaccParser/hslexer.flex"
 { addchar('\012'); POP_STATE; }
        YY_BREAK
 case 157:
-# line 752 "yaccParser/hslexer.flex"
+#line 755 "yaccParser/hslexer.flex"
 case 158:
-YY_USER_ACTION
-# line 752 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 755 "yaccParser/hslexer.flex"
 { addchar('\013'); POP_STATE; }
        YY_BREAK
 case 159:
-# line 754 "yaccParser/hslexer.flex"
+#line 757 "yaccParser/hslexer.flex"
 case 160:
-YY_USER_ACTION
-# line 754 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 757 "yaccParser/hslexer.flex"
 { addchar('\014'); POP_STATE; }
        YY_BREAK
 case 161:
-# line 756 "yaccParser/hslexer.flex"
+#line 759 "yaccParser/hslexer.flex"
 case 162:
-YY_USER_ACTION
-# line 756 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 759 "yaccParser/hslexer.flex"
 { addchar('\015'); POP_STATE; }
        YY_BREAK
 case 163:
-YY_USER_ACTION
-# line 757 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 760 "yaccParser/hslexer.flex"
 { addchar('\016'); POP_STATE; }
        YY_BREAK
 case 164:
-YY_USER_ACTION
-# line 758 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 761 "yaccParser/hslexer.flex"
 { addchar('\017'); POP_STATE; }
        YY_BREAK
 case 165:
-YY_USER_ACTION
-# line 759 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 762 "yaccParser/hslexer.flex"
 { addchar('\020'); POP_STATE; }
        YY_BREAK
 case 166:
-YY_USER_ACTION
-# line 760 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 763 "yaccParser/hslexer.flex"
 { addchar('\021'); POP_STATE; }
        YY_BREAK
 case 167:
-YY_USER_ACTION
-# line 761 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 764 "yaccParser/hslexer.flex"
 { addchar('\022'); POP_STATE; }
        YY_BREAK
 case 168:
-YY_USER_ACTION
-# line 762 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 765 "yaccParser/hslexer.flex"
 { addchar('\023'); POP_STATE; }
        YY_BREAK
 case 169:
-YY_USER_ACTION
-# line 763 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 766 "yaccParser/hslexer.flex"
 { addchar('\024'); POP_STATE; }
        YY_BREAK
 case 170:
-YY_USER_ACTION
-# line 764 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 767 "yaccParser/hslexer.flex"
 { addchar('\025'); POP_STATE; }
        YY_BREAK
 case 171:
-YY_USER_ACTION
-# line 765 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 768 "yaccParser/hslexer.flex"
 { addchar('\026'); POP_STATE; }
        YY_BREAK
 case 172:
-YY_USER_ACTION
-# line 766 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 769 "yaccParser/hslexer.flex"
 { addchar('\027'); POP_STATE; }
        YY_BREAK
 case 173:
-YY_USER_ACTION
-# line 767 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 770 "yaccParser/hslexer.flex"
 { addchar('\030'); POP_STATE; }
        YY_BREAK
 case 174:
-YY_USER_ACTION
-# line 768 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 771 "yaccParser/hslexer.flex"
 { addchar('\031'); POP_STATE; }
        YY_BREAK
 case 175:
-YY_USER_ACTION
-# line 769 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 772 "yaccParser/hslexer.flex"
 { addchar('\032'); POP_STATE; }
        YY_BREAK
 case 176:
-YY_USER_ACTION
-# line 770 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 773 "yaccParser/hslexer.flex"
 { addchar('\033'); POP_STATE; }
        YY_BREAK
 case 177:
-YY_USER_ACTION
-# line 771 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 774 "yaccParser/hslexer.flex"
 { addchar('\034'); POP_STATE; }
        YY_BREAK
 case 178:
-YY_USER_ACTION
-# line 772 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 775 "yaccParser/hslexer.flex"
 { addchar('\035'); POP_STATE; }
        YY_BREAK
 case 179:
-YY_USER_ACTION
-# line 773 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 776 "yaccParser/hslexer.flex"
 { addchar('\036'); POP_STATE; }
        YY_BREAK
 case 180:
-YY_USER_ACTION
-# line 774 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 777 "yaccParser/hslexer.flex"
 { addchar('\037'); POP_STATE; }
        YY_BREAK
 case 181:
-YY_USER_ACTION
-# line 775 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 778 "yaccParser/hslexer.flex"
 { addchar('\040'); POP_STATE; }
        YY_BREAK
 case 182:
-YY_USER_ACTION
-# line 776 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 779 "yaccParser/hslexer.flex"
 { addchar('\177'); POP_STATE; }
        YY_BREAK
 case 183:
-YY_USER_ACTION
-# line 777 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 780 "yaccParser/hslexer.flex"
 { char c = yytext[1] - '@'; addchar(c); POP_STATE; }
        YY_BREAK
 case 184:
-YY_USER_ACTION
-# line 778 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 781 "yaccParser/hslexer.flex"
 {
                          int i = strtol(yytext, NULL, 10);
                          if (i < NCHARS) {
@@ -2764,8 +2844,8 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 185:
-YY_USER_ACTION
-# line 790 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 793 "yaccParser/hslexer.flex"
 {
                          int i = strtol(yytext + 1, NULL, 8);
                          if (i < NCHARS) {
@@ -2780,8 +2860,8 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 186:
-YY_USER_ACTION
-# line 802 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 805 "yaccParser/hslexer.flex"
 {
                          int i = strtol(yytext + 1, NULL, 16);
                          if (i < NCHARS) {
@@ -2800,13 +2880,17 @@ YY_USER_ACTION
      * Simple comments and whitespace.  Normally, we would just ignore these, but
      * in case we're processing a string escape, we need to note that we've seen
      * a gap.
+     *
+     * Note that we cater for a comment line that *doesn't* end in a newline.
+     * This is incorrect, strictly speaking, but seems like the right thing
+     * to do.  Reported by Rajiv Mirani.  (WDP 95/08)
      */
 
 case 187:
-# line 824 "yaccParser/hslexer.flex"
+#line 831 "yaccParser/hslexer.flex"
 case 188:
-YY_USER_ACTION
-# line 824 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 831 "yaccParser/hslexer.flex"
 { noGap = FALSE; }
        YY_BREAK
 
@@ -2817,34 +2901,34 @@ YY_USER_ACTION
      */
 
 case 189:
-YY_USER_ACTION
-# line 834 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 841 "yaccParser/hslexer.flex"
 { 
                          noGap = FALSE; nested_comments = 1; PUSH_STATE(Comment); 
                        }
        YY_BREAK
 case 190:
-# line 839 "yaccParser/hslexer.flex"
+#line 846 "yaccParser/hslexer.flex"
 case 191:
-# line 840 "yaccParser/hslexer.flex"
+#line 847 "yaccParser/hslexer.flex"
 case 192:
-YY_USER_ACTION
-# line 840 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 847 "yaccParser/hslexer.flex"
 ;
        YY_BREAK
 case 193:
-YY_USER_ACTION
-# line 841 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 848 "yaccParser/hslexer.flex"
 { nested_comments++; }
        YY_BREAK
 case 194:
-YY_USER_ACTION
-# line 842 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 849 "yaccParser/hslexer.flex"
 { if (--nested_comments == 0) POP_STATE; }
        YY_BREAK
 case 195:
-YY_USER_ACTION
-# line 843 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 850 "yaccParser/hslexer.flex"
 ;
        YY_BREAK
 
@@ -2855,8 +2939,8 @@ YY_USER_ACTION
      */
 
 case 196:
-YY_USER_ACTION
-# line 853 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 860 "yaccParser/hslexer.flex"
 { 
                         fprintf(stderr, "\"%s\", line %d, column %d: Illegal character: `", 
                            input_filename, hsplineno, hspcolno + 1); 
@@ -2866,8 +2950,8 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 197:
-YY_USER_ACTION
-# line 860 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 867 "yaccParser/hslexer.flex"
 { 
                         fprintf(stderr, "\"%s\", line %d, column %d: Illegal character: `",
                            input_filename, hsplineno, hspcolno + 1); 
@@ -2877,8 +2961,8 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 198:
-YY_USER_ACTION
-# line 867 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 874 "yaccParser/hslexer.flex"
 {
                         fprintf(stderr, "\"%s\", line %d, column %d: Illegal character escape: `\\",
                            input_filename, hsplineno, hspcolno + 1); 
@@ -2888,8 +2972,8 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 199:
-YY_USER_ACTION
-# line 874 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 881 "yaccParser/hslexer.flex"
 { if (nonstandardFlag) {
                              addtext(yytext, yyleng);
                           } else { 
@@ -2902,8 +2986,8 @@ YY_USER_ACTION
                        }
        YY_BREAK
 case 200:
-YY_USER_ACTION
-# line 884 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 891 "yaccParser/hslexer.flex"
 {
                         if (noGap) {
                             fprintf(stderr, "\"%s\", line %d, column %d: Illegal string escape: `\\", 
@@ -2934,14 +3018,14 @@ YY_USER_ACTION
 
 case YY_STATE_EOF(Char):
 case YY_STATE_EOF(CharEsc):
-# line 913 "yaccParser/hslexer.flex"
+#line 920 "yaccParser/hslexer.flex"
 { 
                          hsplineno = hslineno; hspcolno = hscolno;
                          hsperror("unterminated character literal");
                        }
        YY_BREAK
 case YY_STATE_EOF(Comment):
-# line 917 "yaccParser/hslexer.flex"
+#line 924 "yaccParser/hslexer.flex"
 { 
                          hsplineno = hslineno; hspcolno = hscolno;
                          hsperror("unterminated comment"); 
@@ -2949,21 +3033,21 @@ case YY_STATE_EOF(Comment):
        YY_BREAK
 case YY_STATE_EOF(String):
 case YY_STATE_EOF(StringEsc):
-# line 921 "yaccParser/hslexer.flex"
+#line 928 "yaccParser/hslexer.flex"
 { 
                          hsplineno = hslineno; hspcolno = hscolno;
                          hsperror("unterminated string literal"); 
                        }
        YY_BREAK
 case YY_STATE_EOF(GhcPragma):
-# line 925 "yaccParser/hslexer.flex"
+#line 932 "yaccParser/hslexer.flex"
 {
                          hsplineno = hslineno; hspcolno = hscolno;
                          hsperror("unterminated interface pragma"); 
                        }
        YY_BREAK
 case YY_STATE_EOF(UserPragma):
-# line 929 "yaccParser/hslexer.flex"
+#line 936 "yaccParser/hslexer.flex"
 {
                          hsplineno = hslineno; hspcolno = hscolno;
                          hsperror("unterminated user-specified pragma"); 
@@ -2971,12 +3055,12 @@ case YY_STATE_EOF(UserPragma):
        YY_BREAK
 case YY_STATE_EOF(Code):
 case YY_STATE_EOF(GlaExt):
-# line 933 "yaccParser/hslexer.flex"
+#line 940 "yaccParser/hslexer.flex"
 { hsplineno = hslineno; hspcolno = hscolno; return(EOF); }
        YY_BREAK
 case 201:
-YY_USER_ACTION
-# line 935 "yaccParser/hslexer.flex"
+YY_RULE_SETUP
+#line 942 "yaccParser/hslexer.flex"
 YY_FATAL_ERROR( "flex scanner jammed" );
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
@@ -2985,7 +3069,7 @@ case YY_STATE_EOF(INITIAL):
        case YY_END_OF_BUFFER:
                {
                /* Amount of text matched not including the EOB char. */
-               int yy_amount_of_matched_text = yy_cp - yytext_ptr - 1;
+               int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
 
                /* Undo the effects of YY_DO_BEFORE_ACTION. */
                *yy_cp = yy_hold_char;
@@ -3044,7 +3128,7 @@ case YY_STATE_EOF(INITIAL):
 
                        else
                                {
-                                                       yy_cp = yy_c_buf_p;
+                               yy_cp = yy_c_buf_p;
                                goto yy_find_action;
                                }
                        }
@@ -3122,7 +3206,7 @@ case YY_STATE_EOF(INITIAL):
 static int yy_get_next_buffer()
        {
        register char *dest = yy_current_buffer->yy_ch_buf;
-       register char *source = yytext_ptr - 1; /* copy prev. char, too */
+       register char *source = yytext_ptr;
        register int number_to_move, i;
        int ret_val;
 
@@ -3152,7 +3236,7 @@ static int yy_get_next_buffer()
        /* Try to read more data. */
 
        /* First move last chars to start of buffer. */
-       number_to_move = yy_c_buf_p - yytext_ptr;
+       number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
 
        for ( i = 0; i < number_to_move; ++i )
                *(dest++) = *(source++);
@@ -3178,12 +3262,26 @@ static int yy_get_next_buffer()
                        /* just a shorter name for the current buffer */
                        YY_BUFFER_STATE b = yy_current_buffer;
 
-                       int yy_c_buf_p_offset = yy_c_buf_p - b->yy_ch_buf;
+                       int yy_c_buf_p_offset =
+                               (int) (yy_c_buf_p - b->yy_ch_buf);
+
+                       if ( b->yy_is_our_buffer )
+                               {
+                               int new_size = b->yy_buf_size * 2;
+
+                               if ( new_size <= 0 )
+                                       b->yy_buf_size += b->yy_buf_size / 8;
+                               else
+                                       b->yy_buf_size *= 2;
 
-                       b->yy_buf_size *= 2;
-                       b->yy_ch_buf = (char *)
-                               yy_flex_realloc( (void *) b->yy_ch_buf,
-                                                b->yy_buf_size );
+                               b->yy_ch_buf = (char *)
+                                       /* Include room in for 2 EOB chars. */
+                                       yy_flex_realloc( (void *) b->yy_ch_buf,
+                                                        b->yy_buf_size + 2 );
+                               }
+                       else
+                               /* Can't grow it, we don't own it. */
+                               b->yy_ch_buf = 0;
 
                        if ( ! b->yy_ch_buf )
                                YY_FATAL_ERROR(
@@ -3206,7 +3304,7 @@ static int yy_get_next_buffer()
 
        if ( yy_n_chars == 0 )
                {
-               if ( number_to_move - YY_MORE_ADJ == 1 )
+               if ( number_to_move == YY_MORE_ADJ )
                        {
                        ret_val = EOB_ACT_END_OF_FILE;
                        yyrestart( yyin );
@@ -3227,13 +3325,7 @@ static int yy_get_next_buffer()
        yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
        yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
 
-       /* yytext begins at the second character in yy_ch_buf; the first
-        * character is the one which preceded it before reading in the latest
-        * buffer; it needs to be kept around in case it's a newline, so
-        * yy_get_previous_state() will have with '^' rules active.
-        */
-
-       yytext_ptr = &yy_current_buffer->yy_ch_buf[1];
+       yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
 
        return ret_val;
        }
@@ -3246,11 +3338,8 @@ static yy_state_type yy_get_previous_state()
        register yy_state_type yy_current_state;
        register char *yy_cp;
 
-       register char *yy_bp = yytext_ptr;
-
        yy_current_state = yy_start;
-       if ( yy_bp[-1] == '\n' )
-               ++yy_current_state;
+       yy_current_state += YY_AT_BOL();
 
        for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
                {
@@ -3263,7 +3352,7 @@ static yy_state_type yy_get_previous_state()
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 838 )
+                       if ( yy_current_state >= 836 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -3298,16 +3387,17 @@ yy_state_type yy_current_state;
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 838 )
+               if ( yy_current_state >= 836 )
                        yy_c = yy_meta[(unsigned int) yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 837);
+       yy_is_jam = (yy_current_state == 835);
 
        return yy_is_jam ? 0 : yy_current_state;
        }
 
 
+#ifndef YY_NO_UNPUT
 #ifdef YY_USE_PROTOS
 static void yyunput( int c, register char *yy_bp )
 #else
@@ -3333,25 +3423,22 @@ register char *yy_bp;
                while ( source > yy_current_buffer->yy_ch_buf )
                        *--dest = *--source;
 
-               yy_cp += dest - source;
-               yy_bp += dest - source;
+               yy_cp += (int) (dest - source);
+               yy_bp += (int) (dest - source);
                yy_n_chars = yy_current_buffer->yy_buf_size;
 
                if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
                        YY_FATAL_ERROR( "flex scanner push-back overflow" );
                }
 
-       if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
-               yy_cp[-2] = '\n';
-
        *--yy_cp = (char) c;
 
 
-       /* Note: the formal parameter *must* be called "yy_bp" for this
-        * macro to now work correctly.
-        */
-       YY_DO_BEFORE_ACTION; /* set up yytext again */
+       yytext_ptr = yy_bp;
+       yy_hold_char = *yy_cp;
+       yy_c_buf_p = yy_cp;
        }
+#endif /* ifndef YY_NO_UNPUT */
 
 
 #ifdef __cplusplus
@@ -3390,7 +3477,8 @@ static int input()
                                                return EOF;
                                                }
 
-                                       YY_NEW_FILE;
+                                       if ( ! yy_did_buffer_switch_on_eof )
+                                               YY_NEW_FILE;
 #ifdef __cplusplus
                                        return yyinput();
 #else
@@ -3418,6 +3506,8 @@ static int input()
        *yy_c_buf_p = '\0';     /* preserve yytext */
        yy_hold_char = *++yy_c_buf_p;
 
+       yy_current_buffer->yy_at_bol = (c == '\n');
+
        return c;
        }
 
@@ -3491,7 +3581,6 @@ int size;
        YY_BUFFER_STATE b;
 
        b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
-
        if ( ! b )
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
@@ -3501,10 +3590,11 @@ int size;
         * we need to put in 2 end-of-buffer characters.
         */
        b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
-
        if ( ! b->yy_ch_buf )
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
+       b->yy_is_our_buffer = 1;
+
        yy_init_buffer( b, file );
 
        return b;
@@ -3518,14 +3608,25 @@ void yy_delete_buffer( b )
 YY_BUFFER_STATE b;
 #endif
        {
+       if ( ! b )
+               return;
+
        if ( b == yy_current_buffer )
                yy_current_buffer = (YY_BUFFER_STATE) 0;
 
-       yy_flex_free( (void *) b->yy_ch_buf );
+       if ( b->yy_is_our_buffer )
+               yy_flex_free( (void *) b->yy_ch_buf );
+
        yy_flex_free( (void *) b );
        }
 
 
+#ifndef YY_ALWAYS_INTERACTIVE
+#ifndef YY_NEVER_INTERACTIVE
+extern int isatty YY_PROTO(( int ));
+#endif
+#endif
+
 #ifdef YY_USE_PROTOS
 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
 #else
@@ -3533,33 +3634,148 @@ void yy_init_buffer( b, file )
 YY_BUFFER_STATE b;
 FILE *file;
 #endif
+
+
        {
+       yy_flush_buffer( b );
+
        b->yy_input_file = file;
+       b->yy_fill_buffer = 1;
 
-       /* We put in the '\n' and start reading from [1] so that an
-        * initial match-at-newline will be true.
-        */
+#if YY_ALWAYS_INTERACTIVE
+       b->yy_is_interactive = 1;
+#else
+#if YY_NEVER_INTERACTIVE
+       b->yy_is_interactive = 0;
+#else
+       b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+#endif
+#endif
+       }
 
-       b->yy_ch_buf[0] = '\n';
-       b->yy_n_chars = 1;
+
+#ifdef YY_USE_PROTOS
+void yy_flush_buffer( YY_BUFFER_STATE b )
+#else
+void yy_flush_buffer( b )
+YY_BUFFER_STATE b;
+#endif
+
+       {
+       b->yy_n_chars = 0;
 
        /* We always need two end-of-buffer characters.  The first causes
         * a transition to the end-of-buffer state.  The second causes
         * a jam in that state.
         */
+       b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
        b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-       b->yy_ch_buf[2] = YY_END_OF_BUFFER_CHAR;
 
-       b->yy_buf_pos = &b->yy_ch_buf[1];
+       b->yy_buf_pos = &b->yy_ch_buf[0];
+
+       b->yy_at_bol = 1;
+       b->yy_buffer_status = YY_BUFFER_NEW;
 
-       b->yy_is_interactive = file ? isatty( fileno(file) ) : 0;
+       if ( b == yy_current_buffer )
+               yy_load_buffer_state();
+       }
 
-       b->yy_fill_buffer = 1;
 
+#ifndef YY_NO_SCAN_BUFFER
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
+#else
+YY_BUFFER_STATE yy_scan_buffer( base, size )
+char *base;
+yy_size_t size;
+#endif
+       {
+       YY_BUFFER_STATE b;
+
+       if ( size < 2 ||
+            base[size-2] != YY_END_OF_BUFFER_CHAR ||
+            base[size-1] != YY_END_OF_BUFFER_CHAR )
+               /* They forgot to leave room for the EOB's. */
+               return 0;
+
+       b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+       if ( ! b )
+               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+       b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
+       b->yy_buf_pos = b->yy_ch_buf = base;
+       b->yy_is_our_buffer = 0;
+       b->yy_input_file = 0;
+       b->yy_n_chars = b->yy_buf_size;
+       b->yy_is_interactive = 0;
+       b->yy_at_bol = 1;
+       b->yy_fill_buffer = 0;
        b->yy_buffer_status = YY_BUFFER_NEW;
+
+       yy_switch_to_buffer( b );
+
+       return b;
        }
+#endif
+
+
+#ifndef YY_NO_SCAN_STRING
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_string( yyconst char *str )
+#else
+YY_BUFFER_STATE yy_scan_string( str )
+yyconst char *str;
+#endif
+       {
+       int len;
+       for ( len = 0; str[len]; ++len )
+               ;
+
+       return yy_scan_bytes( str, len );
+       }
+#endif
 
 
+#ifndef YY_NO_SCAN_BYTES
+#ifdef YY_USE_PROTOS
+YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
+#else
+YY_BUFFER_STATE yy_scan_bytes( bytes, len )
+yyconst char *bytes;
+int len;
+#endif
+       {
+       YY_BUFFER_STATE b;
+       char *buf;
+       yy_size_t n;
+       int i;
+
+       /* Get memory for full buffer, including space for trailing EOB's. */
+       n = len + 2;
+       buf = (char *) yy_flex_alloc( n );
+       if ( ! buf )
+               YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+       for ( i = 0; i < len; ++i )
+               buf[i] = bytes[i];
+
+       buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
+
+       b = yy_scan_buffer( buf, n );
+       if ( ! b )
+               YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+       /* It's okay to grow etc. this buffer, and we should throw it
+        * away when we're done.
+        */
+       b->yy_is_our_buffer = 1;
+
+       return b;
+       }
+#endif
+
+
+#ifndef YY_NO_PUSH_STATE
 #ifdef YY_USE_PROTOS
 static void yy_push_state( int new_state )
 #else
@@ -3569,7 +3785,7 @@ int new_state;
        {
        if ( yy_start_stack_ptr >= yy_start_stack_depth )
                {
-               int new_size;
+               yy_size_t new_size;
 
                yy_start_stack_depth += YY_START_STACK_INCR;
                new_size = yy_start_stack_depth * sizeof( int );
@@ -3590,8 +3806,10 @@ int new_state;
 
        BEGIN(new_state);
        }
+#endif
 
 
+#ifndef YY_NO_POP_STATE
 static void yy_pop_state()
        {
        if ( --yy_start_stack_ptr < 0 )
@@ -3599,23 +3817,29 @@ static void yy_pop_state()
 
        BEGIN(yy_start_stack[yy_start_stack_ptr]);
        }
+#endif
 
 
+#ifndef YY_NO_TOP_STATE
 static int yy_top_state()
        {
        return yy_start_stack[yy_start_stack_ptr - 1];
        }
+#endif
 
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
 
 #ifdef YY_USE_PROTOS
-static void yy_fatal_error( const char msg[] )
+static void yy_fatal_error( yyconst char msg[] )
 #else
 static void yy_fatal_error( msg )
 char msg[];
 #endif
        {
        (void) fprintf( stderr, "%s\n", msg );
-       exit( 1 );
+       exit( YY_EXIT_FAILURE );
        }
 
 
@@ -3640,11 +3864,11 @@ char msg[];
 
 #ifndef yytext_ptr
 #ifdef YY_USE_PROTOS
-static void yy_flex_strncpy( char *s1, const char *s2, int n )
+static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
 #else
 static void yy_flex_strncpy( s1, s2, n )
 char *s1;
-const char *s2;
+yyconst char *s2;
 int n;
 #endif
        {
@@ -3656,24 +3880,31 @@ int n;
 
 
 #ifdef YY_USE_PROTOS
-static void *yy_flex_alloc( unsigned int size )
+static void *yy_flex_alloc( yy_size_t size )
 #else
 static void *yy_flex_alloc( size )
-unsigned int size;
+yy_size_t size;
 #endif
        {
        return (void *) malloc( size );
        }
 
 #ifdef YY_USE_PROTOS
-static void *yy_flex_realloc( void *ptr, unsigned int size )
+static void *yy_flex_realloc( void *ptr, yy_size_t size )
 #else
 static void *yy_flex_realloc( ptr, size )
 void *ptr;
-unsigned int size;
+yy_size_t size;
 #endif
        {
-       return (void *) realloc( ptr, size );
+       /* The cast to (char *) in the following accommodates both
+        * implementations that use char* generic pointers, and those
+        * that use void* generic pointers.  It works with the latter
+        * because both ANSI C and C++ allow castless assignment from
+        * any pointer type to void*, and deal with argument conversions
+        * as though doing an assignment.
+        */
+       return (void *) realloc( (char *) ptr, size );
        }
 
 #ifdef YY_USE_PROTOS
@@ -3685,7 +3916,15 @@ void *ptr;
        {
        free( ptr );
        }
-# line 935 "yaccParser/hslexer.flex"
+
+#if YY_MAIN
+int main()
+       {
+       yylex();
+       return 0;
+       }
+#endif
+#line 942 "yaccParser/hslexer.flex"
 
 
 /**********************************************************************
@@ -3701,11 +3940,11 @@ void *ptr;
    This allows unnamed sources to be piped into the parser.
 */
 
+extern BOOLEAN acceptPrim;
+
 void
-yyinit()
+yyinit(void)
 {
-    extern BOOLEAN acceptPrim;
-
     input_filename = xstrdup("<stdin>");
 
     /* We must initialize the input buffer _now_, because we call
@@ -3718,9 +3957,8 @@ yyinit()
        PUSH_STATE(Code);
 }
 
-void
-new_filename(f) /* This looks pretty dodgy to me (WDP) */
-  char *f;
+static void
+new_filename(char *f) /* This looks pretty dodgy to me (WDP) */
 {
     if (input_filename != NULL)
        free(input_filename);
@@ -3740,8 +3978,8 @@ new_filename(f) /* This looks pretty dodgy to me (WDP) */
        forcing insertion of ; or } as appropriate
 */
 
-BOOLEAN
-hsshouldindent()
+static BOOLEAN
+hsshouldindent(void)
 {
     return (!forgetindent && INDENTON);
 }
@@ -3749,7 +3987,7 @@ hsshouldindent()
 
 /* Enter new context and set new indentation level */
 void
-hssetindent()
+hssetindent(void)
 {
 #ifdef HSP_DEBUG
     fprintf(stderr, "hssetindent:hscolno=%d,hspcolno=%d,INDENTPT[%d]=%d\n", hscolno, hspcolno, icontexts, INDENTPT);
@@ -3778,7 +4016,7 @@ hssetindent()
 
 /* Enter a new context without changing the indentation level */
 void
-hsincindent()
+hsincindent(void)
 {
 #ifdef HSP_DEBUG
     fprintf(stderr, "hsincindent:hscolno=%d,hspcolno=%d,INDENTPT[%d]=%d\n", hscolno, hspcolno, icontexts, INDENTPT);
@@ -3789,16 +4027,15 @@ hsincindent()
 
 /* Turn off indentation processing, usually because an explicit "{" has been seen */
 void
-hsindentoff()
+hsindentoff(void)
 {
     forgetindent = TRUE;
 }
 
 
 /* Enter a new layout context. */
-void
-hsentercontext(indent)
-  int indent;
+static void
+hsentercontext(int indent)
 {
     /* Enter new context and set indentation as specified */
     if (++icontexts >= MAX_CONTEXTS) {
@@ -3817,7 +4054,7 @@ hsentercontext(indent)
 
 /* Exit a layout context */
 void
-hsendindent()
+hsendindent(void)
 {
     --icontexts;
 #ifdef HSP_DEBUG
@@ -3829,9 +4066,8 @@ hsendindent()
  *     Return checks the indentation level and returns ;, } or the specified token.
  */
 
-int
-Return(tok)
-  int tok;
+static int
+Return(int tok)
 {
 #ifdef HSP_DEBUG
     extern int yyleng;
@@ -3928,12 +4164,11 @@ yylex()
 **********************************************************************/
 
 /* setyyin(file)       open file as new lex input buffer */
+extern FILE *yyin;
+
 void
-setyyin(file)
-  char *file;
+setyyin(char *file)
 {
-    extern FILE *yyin;
-
     hsbuf_save = YY_CURRENT_BUFFER;
     if ((yyin = fopen(file, "r")) == NULL) {
        char errbuf[ERR_BUF_SIZE];
@@ -3964,10 +4199,8 @@ setyyin(file)
 #endif
 }
 
-static VOID
-layout_input(text, len)
-char *text;
-int len;
+static void
+layout_input(char *text, int len)
 {
 #ifdef HSP_DEBUG
     fprintf(stderr, "Scanning \"%s\"\n", text);
@@ -3997,7 +4230,7 @@ int len;
 }
 
 void
-setstartlineno()
+setstartlineno(void)
 {
     startlineno = hsplineno;
 #if 1/*etags*/
@@ -4023,8 +4256,8 @@ static struct {
     char *text;
 } textcache = { 0, 0, NULL };
 
-static VOID
-cleartext()
+static void
+cleartext(void)
 {
 /*  fprintf(stderr, "cleartext\n"); */
     textcache.next = 0;
@@ -4034,10 +4267,8 @@ cleartext()
     }
 }
 
-static VOID
-addtext(text, length)
-char *text;
-unsigned length;
+static void
+addtext(char *text, unsigned length)
 {
 /*  fprintf(stderr, "addtext: %d %s\n", length, text); */
 
@@ -4052,13 +4283,8 @@ unsigned length;
     textcache.next += length;
 }
 
-static VOID
-#ifdef __STDC__
+static void
 addchar(char c)
-#else
-addchar(c)
-  char c;
-#endif
 {
 /*  fprintf(stderr, "addchar: %c\n", c); */
 
@@ -4070,8 +4296,7 @@ addchar(c)
 }
 
 static char *
-fetchtext(length)
-unsigned *length;
+fetchtext(unsigned *length)
 {
 /*  fprintf(stderr, "fetchtext: %d\n", textcache.next); */
 
@@ -4092,10 +4317,8 @@ unsigned *length;
        hsnewid         Enters an id of length n into the symbol table.
 */
 
-static VOID
-hsnewid(name, length)
-char *name;
-int length;
+static void
+hsnewid(char *name, int length)
 {
     char save = name[length];
 
@@ -4105,8 +4328,7 @@ int length;
 }
 
 BOOLEAN 
-isconstr(s) /* walks past leading underscores before using the macro */
-  char *s;
+isconstr(char *s) /* walks past leading underscores before using the macro */
 {
     char *temp = s;
 
index 7b0fec0..1fbc148 100644 (file)
@@ -1,5 +1,5 @@
 
-/*  A Bison parser, made from yaccParser/hsparser.y with Bison version GNU Bison version 1.21
+/*  A Bison parser, made from yaccParser/hsparser.y with Bison version GNU Bison version 1.24
   */
 
 #define YYBISON 1  /* Identify Bison output.  */
 *                                                                     *
 **********************************************************************/
 
-BOOLEAN expect_ccurly = FALSE; /* Used to signal that a CCURLY could be inserted here */
+static BOOLEAN expect_ccurly = FALSE; /* Used to signal that a CCURLY could be inserted here */
 
 extern BOOLEAN nonstandardFlag;
 extern BOOLEAN etags;
@@ -185,7 +185,7 @@ extern int startlineno;
 *                                                                     *
 **********************************************************************/
 
-list fixlist;
+/* OLD 95/08: list fixlist; */
 static int Fixity = 0, Precedence = 0;
 struct infix;
 
@@ -583,74 +583,74 @@ static const short yyrline[] = { 0,
   1364,  1368,  1394,  1408,  1411,  1412,  1415,  1416,  1419,  1421,
   1422,  1425,  1429,  1430,  1439,  1440,  1441,  1450,  1451,  1461,
   1462,  1469,  1477,  1480,  1486,  1487,  1490,  1493,  1494,  1497,
-  1498,  1499,  1500,  1501,  1502,  1503,  1504,  1507,  1521,  1526,
-  1527,  1530,  1531,  1541,  1542,  1543,  1544,  1545,  1546,  1549,
-  1550,  1551,  1552,  1555,  1556,  1557,  1590,  1591,  1605,  1606,
-  1626,  1627,  1631,  1632,  1635,  1636,  1640,  1641,  1644,  1645,
-  1646,  1647,  1648,  1649,  1650,  1654,  1655,  1656,  1657,  1658,
-  1661,  1662,  1663,  1664,  1665,  1666,  1667,  1671,  1672,  1673,
-  1674,  1675,  1685,  1691,  1695,  1696,  1706,  1707,  1710,  1712,
-  1727,  1728,  1731,  1734,  1735,  1738,  1738,  1739,  1757,  1758,
-  1761,  1762,  1765,  1768,  1771,  1774,  1775,  1778,  1779,  1782,
-  1783,  1786,  1787,  1791,  1792,  1795,  1796,  1797,  1798,  1801,
-  1802,  1805,  1806,  1809,  1810,  1811,  1812,  1813,  1814,  1818,
-  1819,  1820,  1821,  1822,  1825,  1827,  1828,  1829,  1830,  1831,
-  1832,  1833,  1834,  1835,  1836,  1837,  1838,  1839,  1845,  1848,
-  1858,  1868,  1879,  1882,  1892,  1895,  1905,  1908,  1911,  1917,
-  1918,  1921,  1922,  1925,  1926,  1930,  1931,  1932,  1935,  1936,
-  1939,  1940,  1941,  1944,  1947,  1950,  1951,  1954,  1955,  1959,
-  1960,  1963,  1964,  1967,  1968,  1972,  1973,  1977,  1978,  1981,
-  1984,  1990,  1993,  1997,  1999,  2002,  2005,  2013,  2013,  2016,
-  2022
+  1498,  1499,  1500,  1501,  1502,  1503,  1504,  1507,  1518,  1523,
+  1524,  1527,  1528,  1538,  1539,  1540,  1541,  1542,  1543,  1546,
+  1547,  1548,  1549,  1552,  1553,  1554,  1567,  1568,  1582,  1583,
+  1603,  1604,  1608,  1609,  1612,  1613,  1617,  1618,  1621,  1622,
+  1623,  1624,  1625,  1626,  1627,  1631,  1632,  1633,  1634,  1635,
+  1638,  1639,  1640,  1641,  1642,  1643,  1644,  1648,  1649,  1650,
+  1651,  1652,  1656,  1662,  1671,  1672,  1682,  1683,  1686,  1688,
+  1703,  1704,  1707,  1710,  1711,  1714,  1714,  1715,  1735,  1736,
+  1739,  1740,  1743,  1746,  1749,  1752,  1753,  1756,  1757,  1760,
+  1761,  1764,  1765,  1769,  1770,  1773,  1774,  1775,  1776,  1779,
+  1780,  1783,  1784,  1787,  1788,  1789,  1790,  1791,  1792,  1796,
+  1797,  1798,  1799,  1800,  1803,  1805,  1806,  1807,  1808,  1809,
+  1810,  1811,  1812,  1813,  1814,  1815,  1816,  1817,  1823,  1826,
+  1836,  1846,  1857,  1860,  1870,  1873,  1883,  1886,  1889,  1895,
+  1896,  1899,  1900,  1903,  1904,  1908,  1909,  1910,  1913,  1914,
+  1917,  1918,  1919,  1922,  1925,  1928,  1929,  1932,  1933,  1937,
+  1938,  1941,  1942,  1945,  1946,  1950,  1951,  1955,  1956,  1959,
+  1962,  1968,  1971,  1975,  1977,  1980,  1983,  1991,  1991,  1994,
+  2000
 };
 
-static const char * const yytname[] = {   "$","error","$illegal.","VARID","CONID",
-"VARSYM","CONSYM","MINUS","INTEGER","FLOAT","CHAR","STRING","CHARPRIM","STRINGPRIM",
-"INTPRIM","FLOATPRIM","DOUBLEPRIM","CLITLIT","OCURLY","CCURLY","VCCURLY","SEMI",
-"OBRACK","CBRACK","OPAREN","CPAREN","COMMA","BQUOTE","RARROW","VBAR","EQUAL",
-"DARROW","DOTDOT","DCOLON","LARROW","WILDCARD","AT","LAZY","LAMBDA","LET","IN",
-"WHERE","CASE","OF","TYPE","DATA","CLASS","INSTANCE","DEFAULT","INFIX","INFIXL",
-"INFIXR","MODULE","IMPORT","INTERFACE","HIDING","CCALL","CCALL_GC","CASM","CASM_GC",
-"SCC","IF","THEN","ELSE","RENAMING","DERIVING","TO","LEOF","GHC_PRAGMA","END_PRAGMA",
-"NO_PRAGMA","NOINFO_PRAGMA","ABSTRACT_PRAGMA","SPECIALISE_PRAGMA","MODNAME_PRAGMA",
-"ARITY_PRAGMA","UPDATE_PRAGMA","STRICTNESS_PRAGMA","KIND_PRAGMA","UNFOLDING_PRAGMA",
-"MAGIC_UNFOLDING_PRAGMA","DEFOREST_PRAGMA","SPECIALISE_UPRAGMA","INLINE_UPRAGMA",
-"MAGIC_UNFOLDING_UPRAGMA","ABSTRACT_UPRAGMA","DEFOREST_UPRAGMA","END_UPRAGMA",
-"TYLAMBDA","COCON","COPRIM","COAPP","COTYAPP","FORALL","TYVAR_TEMPLATE_ID","CO_ALG_ALTS",
-"CO_PRIM_ALTS","CO_NO_DEFAULT","CO_LETREC","CO_SDSEL_ID","CO_METH_ID","CO_DEFM_ID",
-"CO_DFUN_ID","CO_CONSTM_ID","CO_SPEC_ID","CO_WRKR_ID","CO_ORIG_NM","UNFOLD_ALWAYS",
-"UNFOLD_IF_ARGS","NOREP_INTEGER","NOREP_RATIONAL","NOREP_STRING","CO_PRELUDE_DICTS_CC",
-"CO_ALL_DICTS_CC","CO_USER_CC","CO_AUTO_CC","CO_DICT_CC","CO_CAF_CC","CO_DUPD_CC",
-"PLUS","pmodule","module","@1","@2","body","maybeexports","export_list","export",
-"impspec","maybeimpspec","import_list","import","idata_pragma","idata_pragma_specs",
-"idata_pragma_specslist","idata_pragma_spectypes","itype_pragma","iclas_pragma",
-"iclasop_pragma","iinst_pragma","modname_pragma","restof_iinst_spec","ival_pragma",
-"gen_pragma","arity_pragma","update_pragma","deforest_pragma","strictness_pragma",
-"worker_info","unfolding_pragma","unfolding_guidance","gen_pragma_list","type_pragma_pairs_maybe",
-"type_pragma_pairs","type_pragma_pair","type_instpragma_pairs","type_instpragma_pair",
-"type_maybes","type_maybe","maybe_name_pragma_pairs","name_pragma_pairs","name_pragma_pair",
-"core_expr","core_case_alts","core_alg_alts","core_alg_alt","core_prim_alts",
-"core_prim_alt","core_default","corec_binds","corec_bind","co_scc","co_caf",
-"co_dupd","core_id","co_primop","core_binders","core_binder","core_atoms","core_atom_list",
-"core_atom","core_tyvars","core_tv_templates","core_types","core_type_list",
-"core_type","core_type_maybes","core_type_maybe","readpreludecore","@3","readprelude",
-"@4","maybeimpdecls","impdecls","impdecl","@5","impdecl_rest","readinterface",
-"renamings","renaming_list","renaming","maybeiimports","iimports","iimport",
-"interface","@6","ibody","maybefixes","fixes","fix","@7","@8","@9","@10","@11",
-"@12","ops","topdecls","topdecl","typed","datad","classd","cbody","instd","rinst",
-"inst","defaultd","dtypes","decls","decl","howto_inline_maybe","types_and_maybe_ids",
-"type_and_maybe_id","itopdecls","itopdecl","ivarsd","ityped","idatad","iclassd",
-"iinstd","class","types","type","btype","atypes","ttype","atype","ntatype","simple",
-"simple_long","constrs","constr","tyclses","tycls_list","context","context_list",
-"instdefs","instdef","vars","varsrest","cons","valdef","@13","valrhs","valrhs1",
-"gdrhs","maybe_where","gd","lampats","exp","oexp","dexp","kexp","@14","@15",
-"fexp","cexp","aexp","opatk","opat","dpat","fpat","dpatk","fpatk","aapat","aapatk",
-"tuple","texps","list","list_exps","sequence","comprehension","quals","qual",
-"@16","@17","qualrest","alts","alt","@18","altrest","gdpat","upto","pats","pat",
-"bpat","conpat","apat","apatc","lit_constant","importkey","datakey","typekey",
-"instkey","defaultkey","classkey","minuskey","modulekey","oparenkey","obrackkey",
-"lazykey","op1","op","varop","varop1","conop","varsym","minus","plus","var",
-"vark","con","conk","ccallid","atype_list","tyvars","tyvar","tycls","tycon",
+static const char * const yytname[] = {   "$","error","$undefined.","VARID",
+"CONID","VARSYM","CONSYM","MINUS","INTEGER","FLOAT","CHAR","STRING","CHARPRIM",
+"STRINGPRIM","INTPRIM","FLOATPRIM","DOUBLEPRIM","CLITLIT","OCURLY","CCURLY",
+"VCCURLY","SEMI","OBRACK","CBRACK","OPAREN","CPAREN","COMMA","BQUOTE","RARROW",
+"VBAR","EQUAL","DARROW","DOTDOT","DCOLON","LARROW","WILDCARD","AT","LAZY","LAMBDA",
+"LET","IN","WHERE","CASE","OF","TYPE","DATA","CLASS","INSTANCE","DEFAULT","INFIX",
+"INFIXL","INFIXR","MODULE","IMPORT","INTERFACE","HIDING","CCALL","CCALL_GC",
+"CASM","CASM_GC","SCC","IF","THEN","ELSE","RENAMING","DERIVING","TO","LEOF",
+"GHC_PRAGMA","END_PRAGMA","NO_PRAGMA","NOINFO_PRAGMA","ABSTRACT_PRAGMA","SPECIALISE_PRAGMA",
+"MODNAME_PRAGMA","ARITY_PRAGMA","UPDATE_PRAGMA","STRICTNESS_PRAGMA","KIND_PRAGMA",
+"UNFOLDING_PRAGMA","MAGIC_UNFOLDING_PRAGMA","DEFOREST_PRAGMA","SPECIALISE_UPRAGMA",
+"INLINE_UPRAGMA","MAGIC_UNFOLDING_UPRAGMA","ABSTRACT_UPRAGMA","DEFOREST_UPRAGMA",
+"END_UPRAGMA","TYLAMBDA","COCON","COPRIM","COAPP","COTYAPP","FORALL","TYVAR_TEMPLATE_ID",
+"CO_ALG_ALTS","CO_PRIM_ALTS","CO_NO_DEFAULT","CO_LETREC","CO_SDSEL_ID","CO_METH_ID",
+"CO_DEFM_ID","CO_DFUN_ID","CO_CONSTM_ID","CO_SPEC_ID","CO_WRKR_ID","CO_ORIG_NM",
+"UNFOLD_ALWAYS","UNFOLD_IF_ARGS","NOREP_INTEGER","NOREP_RATIONAL","NOREP_STRING",
+"CO_PRELUDE_DICTS_CC","CO_ALL_DICTS_CC","CO_USER_CC","CO_AUTO_CC","CO_DICT_CC",
+"CO_CAF_CC","CO_DUPD_CC","PLUS","pmodule","module","@1","@2","body","maybeexports",
+"export_list","export","impspec","maybeimpspec","import_list","import","idata_pragma",
+"idata_pragma_specs","idata_pragma_specslist","idata_pragma_spectypes","itype_pragma",
+"iclas_pragma","iclasop_pragma","iinst_pragma","modname_pragma","restof_iinst_spec",
+"ival_pragma","gen_pragma","arity_pragma","update_pragma","deforest_pragma",
+"strictness_pragma","worker_info","unfolding_pragma","unfolding_guidance","gen_pragma_list",
+"type_pragma_pairs_maybe","type_pragma_pairs","type_pragma_pair","type_instpragma_pairs",
+"type_instpragma_pair","type_maybes","type_maybe","maybe_name_pragma_pairs",
+"name_pragma_pairs","name_pragma_pair","core_expr","core_case_alts","core_alg_alts",
+"core_alg_alt","core_prim_alts","core_prim_alt","core_default","corec_binds",
+"corec_bind","co_scc","co_caf","co_dupd","core_id","co_primop","core_binders",
+"core_binder","core_atoms","core_atom_list","core_atom","core_tyvars","core_tv_templates",
+"core_types","core_type_list","core_type","core_type_maybes","core_type_maybe",
+"readpreludecore","@3","readprelude","@4","maybeimpdecls","impdecls","impdecl",
+"@5","impdecl_rest","readinterface","renamings","renaming_list","renaming","maybeiimports",
+"iimports","iimport","interface","@6","ibody","maybefixes","fixes","fix","@7",
+"@8","@9","@10","@11","@12","ops","topdecls","topdecl","typed","datad","classd",
+"cbody","instd","rinst","inst","defaultd","dtypes","decls","decl","howto_inline_maybe",
+"types_and_maybe_ids","type_and_maybe_id","itopdecls","itopdecl","ivarsd","ityped",
+"idatad","iclassd","iinstd","class","types","type","btype","atypes","ttype",
+"atype","ntatype","simple","simple_long","constrs","constr","tyclses","tycls_list",
+"context","context_list","instdefs","instdef","vars","varsrest","cons","valdef",
+"@13","valrhs","valrhs1","gdrhs","maybe_where","gd","lampats","exp","oexp","dexp",
+"kexp","@14","@15","fexp","cexp","aexp","opatk","opat","dpat","fpat","dpatk",
+"fpatk","aapat","aapatk","tuple","texps","list","list_exps","sequence","comprehension",
+"quals","qual","@16","@17","qualrest","alts","alt","@18","altrest","gdpat","upto",
+"pats","pat","bpat","conpat","apat","apatc","lit_constant","importkey","datakey",
+"typekey","instkey","defaultkey","classkey","minuskey","modulekey","oparenkey",
+"obrackkey","lazykey","op1","op","varop","varop1","conop","varsym","minus","plus",
+"var","vark","con","conk","ccallid","atype_list","tyvars","tyvar","tycls","tycon",
 "modid","ocurly","vocurly","layout","ccurly","vccurly","@19","vccurly1",""
 };
 #endif
@@ -1601,14 +1601,14 @@ static const short yycheck[] = {    29,
     -1,    -1,   109,   110,   111
 };
 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/local/gnu/lib/bison.simple"
+#line 3 "/usr/local/gnu/share/bison.simple"
 
 /* Skeleton output parser for bison,
-   Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
+   Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 1, or (at your option)
+   the Free Software Foundation; either version 2, or (at your option)
    any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -1620,6 +1620,10 @@ static const short yycheck[] = {    29,
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
 
 #ifndef alloca
 #ifdef __GNUC__
@@ -1641,7 +1645,7 @@ extern "C" {
 void *alloca (unsigned int);
 };
 #else /* not __cplusplus */
-void *alloca (unsigned int);
+void *alloca ();
 #endif /* not __cplusplus */
 #endif /* __hpux */
 #endif /* not _AIX */
@@ -1693,10 +1697,18 @@ while (0)
 
 #ifdef YYPURE
 #ifdef YYLSP_NEEDED
+#ifdef YYLEX_PARAM
+#define YYLEX          yylex(&yylval, &yylloc, YYLEX_PARAM)
+#else
 #define YYLEX          yylex(&yylval, &yylloc)
+#endif
+#else /* not YYLSP_NEEDED */
+#ifdef YYLEX_PARAM
+#define YYLEX          yylex(&yylval, YYLEX_PARAM)
 #else
 #define YYLEX          yylex(&yylval)
 #endif
+#endif /* not YYLSP_NEEDED */
 #endif
 
 /* If nonreentrant, generate the variables here */
@@ -1744,14 +1756,14 @@ int yyparse (void);
 #endif
 \f
 #if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */
-#define __yy_bcopy(FROM,TO,COUNT)      __builtin_memcpy(TO,FROM,COUNT)
+#define __yy_memcpy(FROM,TO,COUNT)     __builtin_memcpy(TO,FROM,COUNT)
 #else                          /* not GNU C or C++ */
 #ifndef __cplusplus
 
 /* This is the most reliable way to avoid incompatibilities
    in available built-in functions on various systems.  */
 static void
-__yy_bcopy (from, to, count)
+__yy_memcpy (from, to, count)
      char *from;
      char *to;
      int count;
@@ -1769,7 +1781,7 @@ __yy_bcopy (from, to, count)
 /* This is the most reliable way to avoid incompatibilities
    in available built-in functions on various systems.  */
 static void
-__yy_bcopy (char *from, char *to, int count)
+__yy_memcpy (char *from, char *to, int count)
 {
   register char *f = from;
   register char *t = to;
@@ -1782,16 +1794,31 @@ __yy_bcopy (char *from, char *to, int count)
 #endif
 #endif
 \f
-#line 184 "/usr/local/gnu/lib/bison.simple"
+#line 192 "/usr/local/gnu/share/bison.simple"
+
+/* The user can define YYPARSE_PARAM as the name of an argument to be passed
+   into yyparse.  The argument should have type void *.
+   It should actually point to an object.
+   Grammar actions can access the variable by casting it
+   to the proper pointer type.  */
+
+#ifdef YYPARSE_PARAM
+#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
+#else
+#define YYPARSE_PARAM
+#define YYPARSE_PARAM_DECL
+#endif
+
 int
-yyparse()
+yyparse(YYPARSE_PARAM)
+     YYPARSE_PARAM_DECL
 {
   register int yystate;
   register int yyn;
   register short *yyssp;
   register YYSTYPE *yyvsp;
   int yyerrstatus;     /*  number of tokens to shift before error messages enabled */
-  int yychar1;         /*  lookahead token as an internal (translated) token number */
+  int yychar1 = 0;             /*  lookahead token as an internal (translated) token number */
 
   short        yyssa[YYINITDEPTH];     /*  the state stack                     */
   YYSTYPE yyvsa[YYINITDEPTH];  /*  the semantic value stack            */
@@ -1870,13 +1897,20 @@ yynewstate:
 #ifdef yyoverflow
       /* Each stack pointer address is followed by the size of
         the data in use in that stack, in bytes.  */
+#ifdef YYLSP_NEEDED
+      /* This used to be a conditional around just the two extra args,
+        but that might be undefined if yyoverflow is a macro.  */
       yyoverflow("parser stack overflow",
                 &yyss1, size * sizeof (*yyssp),
                 &yyvs1, size * sizeof (*yyvsp),
-#ifdef YYLSP_NEEDED
                 &yyls1, size * sizeof (*yylsp),
-#endif
                 &yystacksize);
+#else
+      yyoverflow("parser stack overflow",
+                &yyss1, size * sizeof (*yyssp),
+                &yyvs1, size * sizeof (*yyvsp),
+                &yystacksize);
+#endif
 
       yyss = yyss1; yyvs = yyvs1;
 #ifdef YYLSP_NEEDED
@@ -1893,12 +1927,12 @@ yynewstate:
       if (yystacksize > YYMAXDEPTH)
        yystacksize = YYMAXDEPTH;
       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
-      __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
+      __yy_memcpy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
-      __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
+      __yy_memcpy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
 #ifdef YYLSP_NEEDED
       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
-      __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
+      __yy_memcpy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
 #endif
 #endif /* no yyoverflow */
 
@@ -2037,7 +2071,8 @@ yydefault:
 /* Do a reduction.  yyn is the number of a rule to reduce with.  */
 yyreduce:
   yylen = yyr2[yyn];
-  yyval = yyvsp[1-yylen]; /* implement default value of the action */
+  if (yylen > 0)
+    yyval = yyvsp[1-yylen]; /* implement default value of the action */
 
 #if YYDEBUG != 0
   if (yydebug)
@@ -2900,7 +2935,7 @@ case 192:
     break;}
 case 193:
 #line 930 "yaccParser/hsparser.y"
-{ fixlist = Lnil;
+{ /* OLD 95/08: fixlist = Lnil; */
                  strcpy(iface_name, id_to_string(yyvsp[0].uid));
                ;
     break;}
@@ -3689,10 +3724,7 @@ case 377:
     break;}
 case 378:
 #line 1508 "yaccParser/hsparser.y"
-{ extern BOOLEAN ignoreSCC;
-                 extern BOOLEAN warnSCC;
-
-                 if (ignoreSCC) {
+{ if (ignoreSCC) {
                    if (warnSCC)
                        fprintf(stderr,
                                "\"%s\", line %d: _scc_ (`set [profiling] cost centre') ignored\n",
@@ -3704,67 +3736,67 @@ case 378:
                ;
     break;}
 case 380:
-#line 1526 "yaccParser/hsparser.y"
+#line 1523 "yaccParser/hsparser.y"
 { yyval.utree = mkap(yyvsp[-1].utree,yyvsp[0].utree); ;
     break;}
 case 382:
-#line 1530 "yaccParser/hsparser.y"
+#line 1527 "yaccParser/hsparser.y"
 { yyval.ulist = lapp(yyvsp[-1].ulist,yyvsp[0].utree); ;
     break;}
 case 383:
-#line 1531 "yaccParser/hsparser.y"
+#line 1528 "yaccParser/hsparser.y"
 { yyval.ulist = lsing(yyvsp[0].utree); ;
     break;}
 case 384:
-#line 1541 "yaccParser/hsparser.y"
+#line 1538 "yaccParser/hsparser.y"
 { yyval.utree = mkident(yyvsp[0].uid); ;
     break;}
 case 385:
-#line 1542 "yaccParser/hsparser.y"
+#line 1539 "yaccParser/hsparser.y"
 { yyval.utree = mkident(yyvsp[0].uid); ;
     break;}
 case 386:
-#line 1543 "yaccParser/hsparser.y"
+#line 1540 "yaccParser/hsparser.y"
 { yyval.utree = mklit(yyvsp[0].uliteral); ;
     break;}
 case 387:
-#line 1544 "yaccParser/hsparser.y"
+#line 1541 "yaccParser/hsparser.y"
 { yyval.utree = mkpar(yyvsp[-1].utree); ;
     break;}
 case 388:
-#line 1545 "yaccParser/hsparser.y"
+#line 1542 "yaccParser/hsparser.y"
 { checkprec(yyvsp[-2].utree,yyvsp[-1].uid,FALSE); yyval.utree = mklsection(yyvsp[-2].utree,yyvsp[-1].uid); ;
     break;}
 case 389:
-#line 1546 "yaccParser/hsparser.y"
+#line 1543 "yaccParser/hsparser.y"
 { checkprec(yyvsp[-1].utree,yyvsp[-2].uid,TRUE);  yyval.utree = mkrsection(yyvsp[-2].uid,yyvsp[-1].utree); ;
     break;}
 case 391:
-#line 1550 "yaccParser/hsparser.y"
+#line 1547 "yaccParser/hsparser.y"
 { yyval.utree = mkpar(yyvsp[0].utree); ;
     break;}
 case 392:
-#line 1551 "yaccParser/hsparser.y"
+#line 1548 "yaccParser/hsparser.y"
 { yyval.utree = mkpar(yyvsp[0].utree); ;
     break;}
 case 393:
-#line 1552 "yaccParser/hsparser.y"
+#line 1549 "yaccParser/hsparser.y"
 { yyval.utree = mkpar(yyvsp[0].utree); ;
     break;}
 case 394:
-#line 1555 "yaccParser/hsparser.y"
+#line 1552 "yaccParser/hsparser.y"
 { checkinpat();  yyval.utree = mkas(yyvsp[-2].uid,yyvsp[0].utree); ;
     break;}
 case 395:
-#line 1556 "yaccParser/hsparser.y"
+#line 1553 "yaccParser/hsparser.y"
 { checkinpat();  yyval.utree = mkwildp();   ;
     break;}
 case 396:
-#line 1557 "yaccParser/hsparser.y"
+#line 1554 "yaccParser/hsparser.y"
 { checkinpat();  yyval.utree = mklazyp(yyvsp[0].utree); ;
     break;}
 case 398:
-#line 1592 "yaccParser/hsparser.y"
+#line 1569 "yaccParser/hsparser.y"
 {
                  yyval.utree = mkinfixop(yyvsp[-1].uid,yyvsp[-2].utree,yyvsp[0].utree);
 
@@ -3778,7 +3810,7 @@ case 398:
                ;
     break;}
 case 400:
-#line 1607 "yaccParser/hsparser.y"
+#line 1584 "yaccParser/hsparser.y"
 {
                  yyval.utree = mkinfixop(yyvsp[-1].uid,yyvsp[-2].utree,yyvsp[0].utree);
 
@@ -3792,119 +3824,119 @@ case 400:
                ;
     break;}
 case 401:
-#line 1626 "yaccParser/hsparser.y"
+#line 1603 "yaccParser/hsparser.y"
 { yyval.utree = mknegate(yyvsp[0].utree); ;
     break;}
 case 403:
-#line 1631 "yaccParser/hsparser.y"
+#line 1608 "yaccParser/hsparser.y"
 { yyval.utree = mkap(yyvsp[-1].utree,yyvsp[0].utree); ;
     break;}
 case 405:
-#line 1635 "yaccParser/hsparser.y"
+#line 1612 "yaccParser/hsparser.y"
 { yyval.utree = mknegate(yyvsp[0].utree); ;
     break;}
 case 407:
-#line 1640 "yaccParser/hsparser.y"
+#line 1617 "yaccParser/hsparser.y"
 { yyval.utree = mkap(yyvsp[-1].utree,yyvsp[0].utree); ;
     break;}
 case 409:
-#line 1644 "yaccParser/hsparser.y"
+#line 1621 "yaccParser/hsparser.y"
 { yyval.utree = mkident(yyvsp[0].uid); ;
     break;}
 case 410:
-#line 1645 "yaccParser/hsparser.y"
+#line 1622 "yaccParser/hsparser.y"
 { yyval.utree = mkident(yyvsp[0].uid); ;
     break;}
 case 411:
-#line 1646 "yaccParser/hsparser.y"
+#line 1623 "yaccParser/hsparser.y"
 { yyval.utree = mkas(yyvsp[-2].uid,yyvsp[0].utree); ;
     break;}
 case 412:
-#line 1647 "yaccParser/hsparser.y"
+#line 1624 "yaccParser/hsparser.y"
 { yyval.utree = mklit(yyvsp[0].uliteral); ;
     break;}
 case 413:
-#line 1648 "yaccParser/hsparser.y"
+#line 1625 "yaccParser/hsparser.y"
 { yyval.utree = mkwildp(); ;
     break;}
 case 414:
-#line 1649 "yaccParser/hsparser.y"
+#line 1626 "yaccParser/hsparser.y"
 { yyval.utree = mktuple(Lnil); ;
     break;}
 case 415:
-#line 1650 "yaccParser/hsparser.y"
+#line 1627 "yaccParser/hsparser.y"
 { yyval.utree = mkplusp(mkident(yyvsp[-3].uid),mkinteger(yyvsp[-1].ustring)); ;
     break;}
 case 416:
-#line 1654 "yaccParser/hsparser.y"
+#line 1631 "yaccParser/hsparser.y"
 { yyval.utree = mkpar(yyvsp[-1].utree); ;
     break;}
 case 417:
-#line 1655 "yaccParser/hsparser.y"
+#line 1632 "yaccParser/hsparser.y"
 { yyval.utree = mktuple(mklcons(yyvsp[-3].utree,yyvsp[-1].ulist)); ;
     break;}
 case 418:
-#line 1656 "yaccParser/hsparser.y"
+#line 1633 "yaccParser/hsparser.y"
 { yyval.utree = mkllist(yyvsp[-1].ulist); ;
     break;}
 case 419:
-#line 1657 "yaccParser/hsparser.y"
+#line 1634 "yaccParser/hsparser.y"
 { yyval.utree = mkllist(Lnil); ;
     break;}
 case 420:
-#line 1658 "yaccParser/hsparser.y"
+#line 1635 "yaccParser/hsparser.y"
 { yyval.utree = mklazyp(yyvsp[0].utree); ;
     break;}
 case 421:
-#line 1661 "yaccParser/hsparser.y"
+#line 1638 "yaccParser/hsparser.y"
 { yyval.utree = mkident(yyvsp[0].uid); ;
     break;}
 case 422:
-#line 1662 "yaccParser/hsparser.y"
+#line 1639 "yaccParser/hsparser.y"
 { yyval.utree = mkident(yyvsp[0].uid); ;
     break;}
 case 423:
-#line 1663 "yaccParser/hsparser.y"
+#line 1640 "yaccParser/hsparser.y"
 { yyval.utree = mkas(yyvsp[-2].uid,yyvsp[0].utree); ;
     break;}
 case 424:
-#line 1664 "yaccParser/hsparser.y"
+#line 1641 "yaccParser/hsparser.y"
 { yyval.utree = mklit(yyvsp[0].uliteral); setstartlineno(); ;
     break;}
 case 425:
-#line 1665 "yaccParser/hsparser.y"
+#line 1642 "yaccParser/hsparser.y"
 { yyval.utree = mkwildp(); setstartlineno(); ;
     break;}
 case 426:
-#line 1666 "yaccParser/hsparser.y"
+#line 1643 "yaccParser/hsparser.y"
 { yyval.utree = mktuple(Lnil); ;
     break;}
 case 427:
-#line 1667 "yaccParser/hsparser.y"
+#line 1644 "yaccParser/hsparser.y"
 { yyval.utree = mkplusp(mkident(yyvsp[-3].uid),mkinteger(yyvsp[-1].ustring)); ;
     break;}
 case 428:
-#line 1671 "yaccParser/hsparser.y"
+#line 1648 "yaccParser/hsparser.y"
 { yyval.utree = mkpar(yyvsp[-1].utree); ;
     break;}
 case 429:
-#line 1672 "yaccParser/hsparser.y"
+#line 1649 "yaccParser/hsparser.y"
 { yyval.utree = mktuple(mklcons(yyvsp[-3].utree,yyvsp[-1].ulist)); ;
     break;}
 case 430:
-#line 1673 "yaccParser/hsparser.y"
+#line 1650 "yaccParser/hsparser.y"
 { yyval.utree = mkllist(yyvsp[-1].ulist); ;
     break;}
 case 431:
-#line 1674 "yaccParser/hsparser.y"
+#line 1651 "yaccParser/hsparser.y"
 { yyval.utree = mkllist(Lnil); ;
     break;}
 case 432:
-#line 1675 "yaccParser/hsparser.y"
+#line 1652 "yaccParser/hsparser.y"
 { yyval.utree = mklazyp(yyvsp[0].utree); ;
     break;}
 case 433:
-#line 1686 "yaccParser/hsparser.y"
+#line 1657 "yaccParser/hsparser.y"
 { if (ttree(yyvsp[-1].utree) == tuple)
                    yyval.utree = mktuple(mklcons(yyvsp[-3].utree, gtuplelist((struct Stuple *) yyvsp[-1].utree)));
                else
@@ -3912,15 +3944,15 @@ case 433:
                ;
     break;}
 case 434:
-#line 1692 "yaccParser/hsparser.y"
+#line 1663 "yaccParser/hsparser.y"
 { yyval.utree = mktuple(Lnil); ;
     break;}
 case 435:
-#line 1695 "yaccParser/hsparser.y"
+#line 1671 "yaccParser/hsparser.y"
 { yyval.utree = mkpar(yyvsp[0].utree); ;
     break;}
 case 436:
-#line 1697 "yaccParser/hsparser.y"
+#line 1673 "yaccParser/hsparser.y"
 { if (ttree(yyvsp[0].utree) == tuple)
                    yyval.utree = mktuple(mklcons(yyvsp[-2].utree, gtuplelist((struct Stuple *) yyvsp[0].utree)));
                else
@@ -3928,260 +3960,262 @@ case 436:
                ;
     break;}
 case 437:
-#line 1706 "yaccParser/hsparser.y"
+#line 1682 "yaccParser/hsparser.y"
 { yyval.utree = mkllist(Lnil); ;
     break;}
 case 438:
-#line 1707 "yaccParser/hsparser.y"
+#line 1683 "yaccParser/hsparser.y"
 { yyval.utree = mkllist(yyvsp[-1].ulist); ;
     break;}
 case 439:
-#line 1711 "yaccParser/hsparser.y"
+#line 1687 "yaccParser/hsparser.y"
 { yyval.ulist = lsing(yyvsp[0].utree); ;
     break;}
 case 440:
-#line 1712 "yaccParser/hsparser.y"
+#line 1688 "yaccParser/hsparser.y"
 { yyval.ulist = mklcons(yyvsp[-2].utree, yyvsp[0].ulist); ;
     break;}
 case 441:
-#line 1727 "yaccParser/hsparser.y"
+#line 1703 "yaccParser/hsparser.y"
 {yyval.utree = mkeenum(yyvsp[-5].utree,lsing(yyvsp[-3].utree),yyvsp[-1].ulist);;
     break;}
 case 442:
-#line 1728 "yaccParser/hsparser.y"
+#line 1704 "yaccParser/hsparser.y"
 { yyval.utree = mkeenum(yyvsp[-3].utree,Lnil,yyvsp[-1].ulist); ;
     break;}
 case 443:
-#line 1731 "yaccParser/hsparser.y"
+#line 1707 "yaccParser/hsparser.y"
 { yyval.utree = mkcomprh(yyvsp[-3].utree,yyvsp[-1].ulist); ;
     break;}
 case 444:
-#line 1734 "yaccParser/hsparser.y"
+#line 1710 "yaccParser/hsparser.y"
 { yyval.ulist = lsing(yyvsp[0].utree); ;
     break;}
 case 445:
-#line 1735 "yaccParser/hsparser.y"
+#line 1711 "yaccParser/hsparser.y"
 { yyval.ulist = lapp(yyvsp[-2].ulist,yyvsp[0].utree); ;
     break;}
 case 446:
-#line 1738 "yaccParser/hsparser.y"
+#line 1714 "yaccParser/hsparser.y"
 { inpat = TRUE; ;
     break;}
 case 447:
-#line 1738 "yaccParser/hsparser.y"
+#line 1714 "yaccParser/hsparser.y"
 { inpat = FALSE; ;
     break;}
 case 448:
-#line 1739 "yaccParser/hsparser.y"
-{ if (yyvsp[0].utree == NULL)
+#line 1715 "yaccParser/hsparser.y"
+{ if (yyvsp[0].utree == NULL) {
+                   patternOrExpr(/*wanted:*/ LEGIT_EXPR,yyvsp[-2].utree);
                    yyval.utree = mkguard(yyvsp[-2].utree);
-                 else
-                   {
-                     checkpatt(yyvsp[-2].utree);
-                     if(ttree(yyvsp[0].utree)==def)
+                 } else {
+                   patternOrExpr(/*wanted:*/ LEGIT_PATT,yyvsp[-2].utree);
+                   yyval.utree = mkqual(yyvsp[-2].utree,yyvsp[0].utree);
+/* OLD: WDP 95/08
+                     if(ttree($4)==def)
                        {
                          tree prevpatt_save = PREVPATT;
-                         PREVPATT = yyvsp[-2].utree;
-                         yyval.utree = mkdef((tree) mkpbind(lsing(createpat(lsing(mktruecase(ggdef((struct Sdef *) yyvsp[0].utree))),mknullbind())),hsplineno));
+                         PREVPATT = $2;
+                         $$ = mkdef((tree) mkpbind(lsing(createpat(lsing(mktruecase(ggdef((struct Sdef *) $4))),mknullbind())),hsplineno));
                          PREVPATT = prevpatt_save;
                        }
                      else
-                       yyval.utree = mkqual(yyvsp[-2].utree,yyvsp[0].utree);
-                   }
+*/
+                 }
                ;
     break;}
 case 449:
-#line 1757 "yaccParser/hsparser.y"
+#line 1735 "yaccParser/hsparser.y"
 { yyval.utree = yyvsp[0].utree; ;
     break;}
 case 450:
-#line 1758 "yaccParser/hsparser.y"
+#line 1736 "yaccParser/hsparser.y"
 { yyval.utree = NULL; ;
     break;}
 case 451:
-#line 1761 "yaccParser/hsparser.y"
+#line 1739 "yaccParser/hsparser.y"
 { yyval.ulist = yyvsp[0].ulist; ;
     break;}
 case 452:
-#line 1762 "yaccParser/hsparser.y"
+#line 1740 "yaccParser/hsparser.y"
 { yyval.ulist = lconc(yyvsp[-2].ulist,yyvsp[0].ulist); ;
     break;}
 case 453:
-#line 1766 "yaccParser/hsparser.y"
+#line 1744 "yaccParser/hsparser.y"
 { PREVPATT = yyvsp[0].utree; ;
     break;}
 case 454:
-#line 1768 "yaccParser/hsparser.y"
+#line 1746 "yaccParser/hsparser.y"
 { yyval.ulist = yyvsp[0].ulist;
                  PREVPATT = NULL;
                ;
     break;}
 case 455:
-#line 1771 "yaccParser/hsparser.y"
+#line 1749 "yaccParser/hsparser.y"
 { yyval.ulist = Lnil; ;
     break;}
 case 456:
-#line 1774 "yaccParser/hsparser.y"
+#line 1752 "yaccParser/hsparser.y"
 { yyval.ulist = lsing(createpat(yyvsp[-1].ulist, yyvsp[0].ubinding)); ;
     break;}
 case 457:
-#line 1775 "yaccParser/hsparser.y"
+#line 1753 "yaccParser/hsparser.y"
 { yyval.ulist = lsing(createpat(lsing(mktruecase(yyvsp[-1].utree)), yyvsp[0].ubinding)); ;
     break;}
 case 458:
-#line 1778 "yaccParser/hsparser.y"
+#line 1756 "yaccParser/hsparser.y"
 { yyval.ulist = mklcons(ldub(yyvsp[-3].utree,yyvsp[-1].utree),yyvsp[0].ulist);  ;
     break;}
 case 459:
-#line 1779 "yaccParser/hsparser.y"
+#line 1757 "yaccParser/hsparser.y"
 { yyval.ulist = lsing(ldub(yyvsp[-2].utree,yyvsp[0].utree)); ;
     break;}
 case 460:
-#line 1782 "yaccParser/hsparser.y"
+#line 1760 "yaccParser/hsparser.y"
 { yyval.ulist = Lnil; ;
     break;}
 case 461:
-#line 1783 "yaccParser/hsparser.y"
+#line 1761 "yaccParser/hsparser.y"
 { yyval.ulist = lsing(yyvsp[0].utree); ;
     break;}
 case 462:
-#line 1786 "yaccParser/hsparser.y"
+#line 1764 "yaccParser/hsparser.y"
 { yyval.ulist = mklcons(yyvsp[-2].utree, yyvsp[0].ulist); ;
     break;}
 case 463:
-#line 1787 "yaccParser/hsparser.y"
+#line 1765 "yaccParser/hsparser.y"
 { yyval.ulist = lsing(yyvsp[0].utree); ;
     break;}
 case 465:
-#line 1792 "yaccParser/hsparser.y"
+#line 1770 "yaccParser/hsparser.y"
 { yyval.utree = mkinfixop(yyvsp[-1].uid,yyvsp[-2].utree,yyvsp[0].utree); precparse(yyval.utree); ;
     break;}
 case 468:
-#line 1797 "yaccParser/hsparser.y"
+#line 1775 "yaccParser/hsparser.y"
 { yyval.utree = mklit(mkinteger(ineg(yyvsp[0].ustring))); ;
     break;}
 case 469:
-#line 1798 "yaccParser/hsparser.y"
+#line 1776 "yaccParser/hsparser.y"
 { yyval.utree = mklit(mkfloatr(ineg(yyvsp[0].ustring))); ;
     break;}
 case 470:
-#line 1801 "yaccParser/hsparser.y"
+#line 1779 "yaccParser/hsparser.y"
 { yyval.utree = mkident(yyvsp[0].uid); ;
     break;}
 case 471:
-#line 1802 "yaccParser/hsparser.y"
+#line 1780 "yaccParser/hsparser.y"
 { yyval.utree = mkap(yyvsp[-1].utree,yyvsp[0].utree); ;
     break;}
 case 472:
-#line 1805 "yaccParser/hsparser.y"
+#line 1783 "yaccParser/hsparser.y"
 { yyval.utree = mkident(yyvsp[0].uid); ;
     break;}
 case 474:
-#line 1809 "yaccParser/hsparser.y"
+#line 1787 "yaccParser/hsparser.y"
 { yyval.utree = mkident(yyvsp[0].uid); ;
     break;}
 case 475:
-#line 1810 "yaccParser/hsparser.y"
+#line 1788 "yaccParser/hsparser.y"
 { yyval.utree = mkas(yyvsp[-2].uid,yyvsp[0].utree); ;
     break;}
 case 476:
-#line 1811 "yaccParser/hsparser.y"
+#line 1789 "yaccParser/hsparser.y"
 { yyval.utree = mklit(yyvsp[0].uliteral); ;
     break;}
 case 477:
-#line 1812 "yaccParser/hsparser.y"
+#line 1790 "yaccParser/hsparser.y"
 { yyval.utree = mkwildp(); ;
     break;}
 case 478:
-#line 1813 "yaccParser/hsparser.y"
+#line 1791 "yaccParser/hsparser.y"
 { yyval.utree = mktuple(Lnil); ;
     break;}
 case 479:
-#line 1814 "yaccParser/hsparser.y"
+#line 1792 "yaccParser/hsparser.y"
 { yyval.utree = mkplusp(mkident(yyvsp[-3].uid),mkinteger(yyvsp[-1].ustring)); ;
     break;}
 case 480:
-#line 1818 "yaccParser/hsparser.y"
+#line 1796 "yaccParser/hsparser.y"
 { yyval.utree = mkpar(yyvsp[-1].utree); ;
     break;}
 case 481:
-#line 1819 "yaccParser/hsparser.y"
+#line 1797 "yaccParser/hsparser.y"
 { yyval.utree = mktuple(mklcons(yyvsp[-3].utree,yyvsp[-1].ulist)); ;
     break;}
 case 482:
-#line 1820 "yaccParser/hsparser.y"
+#line 1798 "yaccParser/hsparser.y"
 { yyval.utree = mkllist(yyvsp[-1].ulist); ;
     break;}
 case 483:
-#line 1821 "yaccParser/hsparser.y"
+#line 1799 "yaccParser/hsparser.y"
 { yyval.utree = mkllist(Lnil); ;
     break;}
 case 484:
-#line 1822 "yaccParser/hsparser.y"
+#line 1800 "yaccParser/hsparser.y"
 { yyval.utree = mklazyp(yyvsp[0].utree); ;
     break;}
 case 485:
-#line 1826 "yaccParser/hsparser.y"
+#line 1804 "yaccParser/hsparser.y"
 { yyval.uliteral = mkinteger(yyvsp[0].ustring); ;
     break;}
 case 486:
-#line 1827 "yaccParser/hsparser.y"
+#line 1805 "yaccParser/hsparser.y"
 { yyval.uliteral = mkfloatr(yyvsp[0].ustring); ;
     break;}
 case 487:
-#line 1828 "yaccParser/hsparser.y"
+#line 1806 "yaccParser/hsparser.y"
 { yyval.uliteral = mkcharr(yyvsp[0].uhstring); ;
     break;}
 case 488:
-#line 1829 "yaccParser/hsparser.y"
+#line 1807 "yaccParser/hsparser.y"
 { yyval.uliteral = mkstring(yyvsp[0].uhstring); ;
     break;}
 case 489:
-#line 1830 "yaccParser/hsparser.y"
+#line 1808 "yaccParser/hsparser.y"
 { yyval.uliteral = mkcharprim(yyvsp[0].uhstring); ;
     break;}
 case 490:
-#line 1831 "yaccParser/hsparser.y"
+#line 1809 "yaccParser/hsparser.y"
 { yyval.uliteral = mkstringprim(yyvsp[0].uhstring); ;
     break;}
 case 491:
-#line 1832 "yaccParser/hsparser.y"
+#line 1810 "yaccParser/hsparser.y"
 { yyval.uliteral = mkintprim(yyvsp[0].ustring); ;
     break;}
 case 492:
-#line 1833 "yaccParser/hsparser.y"
+#line 1811 "yaccParser/hsparser.y"
 { yyval.uliteral = mkfloatprim(yyvsp[0].ustring); ;
     break;}
 case 493:
-#line 1834 "yaccParser/hsparser.y"
+#line 1812 "yaccParser/hsparser.y"
 { yyval.uliteral = mkdoubleprim(yyvsp[0].ustring); ;
     break;}
 case 494:
-#line 1835 "yaccParser/hsparser.y"
+#line 1813 "yaccParser/hsparser.y"
 { yyval.uliteral = mkclitlit(yyvsp[0].ustring, ""); ;
     break;}
 case 495:
-#line 1836 "yaccParser/hsparser.y"
+#line 1814 "yaccParser/hsparser.y"
 { yyval.uliteral = mkclitlit(yyvsp[-2].ustring, yyvsp[0].uid); ;
     break;}
 case 496:
-#line 1837 "yaccParser/hsparser.y"
+#line 1815 "yaccParser/hsparser.y"
 { yyval.uliteral = mknorepi(yyvsp[0].ustring); ;
     break;}
 case 497:
-#line 1838 "yaccParser/hsparser.y"
+#line 1816 "yaccParser/hsparser.y"
 { yyval.uliteral = mknorepr(yyvsp[-1].ustring, yyvsp[0].ustring); ;
     break;}
 case 498:
-#line 1839 "yaccParser/hsparser.y"
+#line 1817 "yaccParser/hsparser.y"
 { yyval.uliteral = mknoreps(yyvsp[0].uhstring); ;
     break;}
 case 499:
-#line 1845 "yaccParser/hsparser.y"
+#line 1823 "yaccParser/hsparser.y"
 { setstartlineno(); ;
     break;}
 case 500:
-#line 1848 "yaccParser/hsparser.y"
+#line 1826 "yaccParser/hsparser.y"
 { setstartlineno();
                          if(etags)
 #if 1/*etags*/
@@ -4192,7 +4226,7 @@ case 500:
                        ;
     break;}
 case 501:
-#line 1858 "yaccParser/hsparser.y"
+#line 1836 "yaccParser/hsparser.y"
 { setstartlineno();
                          if(etags)
 #if 1/*etags*/
@@ -4203,7 +4237,7 @@ case 501:
                        ;
     break;}
 case 502:
-#line 1868 "yaccParser/hsparser.y"
+#line 1846 "yaccParser/hsparser.y"
 { setstartlineno();
 #if 1/*etags*/
 /* OUT:                          if(etags)
@@ -4215,11 +4249,11 @@ case 502:
                        ;
     break;}
 case 503:
-#line 1879 "yaccParser/hsparser.y"
+#line 1857 "yaccParser/hsparser.y"
 { setstartlineno(); ;
     break;}
 case 504:
-#line 1882 "yaccParser/hsparser.y"
+#line 1860 "yaccParser/hsparser.y"
 { setstartlineno();
                          if(etags)
 #if 1/*etags*/
@@ -4230,11 +4264,11 @@ case 504:
                        ;
     break;}
 case 505:
-#line 1892 "yaccParser/hsparser.y"
+#line 1870 "yaccParser/hsparser.y"
 { setstartlineno(); ;
     break;}
 case 506:
-#line 1895 "yaccParser/hsparser.y"
+#line 1873 "yaccParser/hsparser.y"
 { setstartlineno();
                          if(etags)
 #if 1/*etags*/
@@ -4245,117 +4279,117 @@ case 506:
                        ;
     break;}
 case 507:
-#line 1905 "yaccParser/hsparser.y"
+#line 1883 "yaccParser/hsparser.y"
 { setstartlineno(); ;
     break;}
 case 508:
-#line 1908 "yaccParser/hsparser.y"
+#line 1886 "yaccParser/hsparser.y"
 { setstartlineno(); ;
     break;}
 case 509:
-#line 1911 "yaccParser/hsparser.y"
+#line 1889 "yaccParser/hsparser.y"
 { setstartlineno(); ;
     break;}
 case 515:
-#line 1926 "yaccParser/hsparser.y"
+#line 1904 "yaccParser/hsparser.y"
 { yyval.uid = yyvsp[-1].uid; ;
     break;}
 case 518:
-#line 1932 "yaccParser/hsparser.y"
+#line 1910 "yaccParser/hsparser.y"
 { yyval.uid = yyvsp[-1].uid; ;
     break;}
 case 520:
-#line 1936 "yaccParser/hsparser.y"
+#line 1914 "yaccParser/hsparser.y"
 { yyval.uid = yyvsp[-1].uid; ;
     break;}
 case 524:
-#line 1944 "yaccParser/hsparser.y"
+#line 1922 "yaccParser/hsparser.y"
 { yyval.uid = install_literal("-"); ;
     break;}
 case 525:
-#line 1947 "yaccParser/hsparser.y"
+#line 1925 "yaccParser/hsparser.y"
 { yyval.uid = install_literal("+"); ;
     break;}
 case 527:
-#line 1951 "yaccParser/hsparser.y"
+#line 1929 "yaccParser/hsparser.y"
 { yyval.uid = yyvsp[-1].uid; ;
     break;}
 case 528:
-#line 1954 "yaccParser/hsparser.y"
+#line 1932 "yaccParser/hsparser.y"
 { setstartlineno(); yyval.uid = yyvsp[0].uid; ;
     break;}
 case 529:
-#line 1955 "yaccParser/hsparser.y"
+#line 1933 "yaccParser/hsparser.y"
 { yyval.uid = yyvsp[-1].uid; ;
     break;}
 case 531:
-#line 1960 "yaccParser/hsparser.y"
+#line 1938 "yaccParser/hsparser.y"
 { yyval.uid = yyvsp[-1].uid; ;
     break;}
 case 532:
-#line 1963 "yaccParser/hsparser.y"
+#line 1941 "yaccParser/hsparser.y"
 { setstartlineno(); yyval.uid = yyvsp[0].uid; ;
     break;}
 case 533:
-#line 1964 "yaccParser/hsparser.y"
+#line 1942 "yaccParser/hsparser.y"
 { yyval.uid = yyvsp[-1].uid; ;
     break;}
 case 536:
-#line 1972 "yaccParser/hsparser.y"
+#line 1950 "yaccParser/hsparser.y"
 { yyval.ulist = mklcons(yyvsp[-2].uttype,lsing(yyvsp[0].uttype)); ;
     break;}
 case 537:
-#line 1973 "yaccParser/hsparser.y"
+#line 1951 "yaccParser/hsparser.y"
 { yyval.ulist = mklcons(yyvsp[-2].uttype,yyvsp[0].ulist); ;
     break;}
 case 538:
-#line 1977 "yaccParser/hsparser.y"
+#line 1955 "yaccParser/hsparser.y"
 { yyval.ulist = lsing(yyvsp[0].uttype); ;
     break;}
 case 539:
-#line 1978 "yaccParser/hsparser.y"
+#line 1956 "yaccParser/hsparser.y"
 { yyval.ulist = lapp(yyvsp[-1].ulist, yyvsp[0].uttype); ;
     break;}
 case 540:
-#line 1981 "yaccParser/hsparser.y"
+#line 1959 "yaccParser/hsparser.y"
 { yyval.uttype = mknamedtvar(yyvsp[0].uid); ;
     break;}
 case 544:
-#line 1997 "yaccParser/hsparser.y"
+#line 1975 "yaccParser/hsparser.y"
 { hsincindent(); ;
     break;}
 case 545:
-#line 1999 "yaccParser/hsparser.y"
+#line 1977 "yaccParser/hsparser.y"
 { hssetindent(); ;
     break;}
 case 546:
-#line 2002 "yaccParser/hsparser.y"
+#line 1980 "yaccParser/hsparser.y"
 { hsindentoff(); ;
     break;}
 case 547:
-#line 2007 "yaccParser/hsparser.y"
+#line 1985 "yaccParser/hsparser.y"
 {
                  FN = NULL; SAMEFN = 0; PREVPATT = NULL;
                  hsendindent();
                ;
     break;}
 case 548:
-#line 2013 "yaccParser/hsparser.y"
+#line 1991 "yaccParser/hsparser.y"
 { expect_ccurly = 1; ;
     break;}
 case 549:
-#line 2013 "yaccParser/hsparser.y"
+#line 1991 "yaccParser/hsparser.y"
 { expect_ccurly = 0; ;
     break;}
 case 550:
-#line 2018 "yaccParser/hsparser.y"
+#line 1996 "yaccParser/hsparser.y"
 {
                  FN = NULL; SAMEFN = 0; PREVPATT = NULL;
                  hsendindent();
                ;
     break;}
 case 551:
-#line 2023 "yaccParser/hsparser.y"
+#line 2001 "yaccParser/hsparser.y"
 {
                  yyerrok;
                  FN = NULL; SAMEFN = 0; PREVPATT = NULL;
@@ -4364,7 +4398,7 @@ case 551:
     break;}
 }
    /* the action file gets copied in in place of this dollarsign */
-#line 457 "/usr/local/gnu/lib/bison.simple"
+#line 487 "/usr/local/gnu/share/bison.simple"
 \f
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -4560,7 +4594,7 @@ yyerrhandle:
   yystate = yyn;
   goto yynewstate;
 }
-#line 2030 "yaccParser/hsparser.y"
+#line 2008 "yaccParser/hsparser.y"
 
 
 /**********************************************************************
@@ -4596,13 +4630,13 @@ hsperror(s)
     yyerror(s);
 }
 
+extern char *yytext;
+extern int yyleng;
+
 void
 yyerror(s)
   char *s;
 {
-    extern char *yytext;
-    extern int yyleng;
-
     /* We want to be able to distinguish 'error'-raised yyerrors
        from yyerrors explicitly coded by the parser hacker.
     */
index 73ce725..9a3c8cb 100644 (file)
@@ -46,7 +46,7 @@ list *Rltl(t)
 
 /************** lnil ******************/
 
-list mklnil()
+list mklnil(void)
 {
        register struct Slnil *pp =
                (struct Slnil *) malloc(sizeof(struct Slnil));
index 2eefe33..cbd9014 100644 (file)
@@ -19,6 +19,7 @@ typedef enum {
 typedef struct { Tlist tag; } *list;
 
 #ifdef __GNUC__
+Tlist tlist(list t);
 extern __inline__ Tlist tlist(list t)
 {
        return(t -> tag);
@@ -40,6 +41,8 @@ struct Slnil {
 extern list mklcons PROTO((VOID_STAR, list));
 #ifdef __GNUC__
 
+VOID_STAR *Rlhd PROTO((struct Slcons *));
+
 extern __inline__ VOID_STAR *Rlhd(struct Slcons *t)
 {
 #ifdef UGEN_DEBUG
@@ -55,6 +58,8 @@ extern VOID_STAR *Rlhd PROTO((struct Slcons *));
 #define lhd(xyzxyz) (*Rlhd((struct Slcons *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rltl PROTO((struct Slcons *));
+
 extern __inline__ list *Rltl(struct Slcons *t)
 {
 #ifdef UGEN_DEBUG
@@ -69,6 +74,6 @@ extern list *Rltl PROTO((struct Slcons *));
 
 #define ltl(xyzxyz) (*Rltl((struct Slcons *) (xyzxyz)))
 
-extern list mklnil PROTO(());
+extern list mklnil PROTO((void));
 
 #endif
index b46d7f5..bf3599f 100644 (file)
@@ -30,6 +30,7 @@ typedef enum {
 typedef struct { Tliteral tag; } *literal;
 
 #ifdef __GNUC__
+Tliteral tliteral(literal t);
 extern __inline__ Tliteral tliteral(literal t)
 {
        return(t -> tag);
@@ -108,6 +109,8 @@ struct Snoreps {
 extern literal mkinteger PROTO((stringId));
 #ifdef __GNUC__
 
+stringId *Rginteger PROTO((struct Sinteger *));
+
 extern __inline__ stringId *Rginteger(struct Sinteger *t)
 {
 #ifdef UGEN_DEBUG
@@ -125,6 +128,8 @@ extern stringId *Rginteger PROTO((struct Sinteger *));
 extern literal mkintprim PROTO((stringId));
 #ifdef __GNUC__
 
+stringId *Rgintprim PROTO((struct Sintprim *));
+
 extern __inline__ stringId *Rgintprim(struct Sintprim *t)
 {
 #ifdef UGEN_DEBUG
@@ -142,6 +147,8 @@ extern stringId *Rgintprim PROTO((struct Sintprim *));
 extern literal mkfloatr PROTO((stringId));
 #ifdef __GNUC__
 
+stringId *Rgfloatr PROTO((struct Sfloatr *));
+
 extern __inline__ stringId *Rgfloatr(struct Sfloatr *t)
 {
 #ifdef UGEN_DEBUG
@@ -159,6 +166,8 @@ extern stringId *Rgfloatr PROTO((struct Sfloatr *));
 extern literal mkdoubleprim PROTO((stringId));
 #ifdef __GNUC__
 
+stringId *Rgdoubleprim PROTO((struct Sdoubleprim *));
+
 extern __inline__ stringId *Rgdoubleprim(struct Sdoubleprim *t)
 {
 #ifdef UGEN_DEBUG
@@ -176,6 +185,8 @@ extern stringId *Rgdoubleprim PROTO((struct Sdoubleprim *));
 extern literal mkfloatprim PROTO((stringId));
 #ifdef __GNUC__
 
+stringId *Rgfloatprim PROTO((struct Sfloatprim *));
+
 extern __inline__ stringId *Rgfloatprim(struct Sfloatprim *t)
 {
 #ifdef UGEN_DEBUG
@@ -193,6 +204,8 @@ extern stringId *Rgfloatprim PROTO((struct Sfloatprim *));
 extern literal mkcharr PROTO((hstring));
 #ifdef __GNUC__
 
+hstring *Rgchar PROTO((struct Scharr *));
+
 extern __inline__ hstring *Rgchar(struct Scharr *t)
 {
 #ifdef UGEN_DEBUG
@@ -210,6 +223,8 @@ extern hstring *Rgchar PROTO((struct Scharr *));
 extern literal mkcharprim PROTO((hstring));
 #ifdef __GNUC__
 
+hstring *Rgcharprim PROTO((struct Scharprim *));
+
 extern __inline__ hstring *Rgcharprim(struct Scharprim *t)
 {
 #ifdef UGEN_DEBUG
@@ -227,6 +242,8 @@ extern hstring *Rgcharprim PROTO((struct Scharprim *));
 extern literal mkstring PROTO((hstring));
 #ifdef __GNUC__
 
+hstring *Rgstring PROTO((struct Sstring *));
+
 extern __inline__ hstring *Rgstring(struct Sstring *t)
 {
 #ifdef UGEN_DEBUG
@@ -244,6 +261,8 @@ extern hstring *Rgstring PROTO((struct Sstring *));
 extern literal mkstringprim PROTO((hstring));
 #ifdef __GNUC__
 
+hstring *Rgstringprim PROTO((struct Sstringprim *));
+
 extern __inline__ hstring *Rgstringprim(struct Sstringprim *t)
 {
 #ifdef UGEN_DEBUG
@@ -261,6 +280,8 @@ extern hstring *Rgstringprim PROTO((struct Sstringprim *));
 extern literal mkclitlit PROTO((stringId, stringId));
 #ifdef __GNUC__
 
+stringId *Rgclitlit PROTO((struct Sclitlit *));
+
 extern __inline__ stringId *Rgclitlit(struct Sclitlit *t)
 {
 #ifdef UGEN_DEBUG
@@ -276,6 +297,8 @@ extern stringId *Rgclitlit PROTO((struct Sclitlit *));
 #define gclitlit(xyzxyz) (*Rgclitlit((struct Sclitlit *) (xyzxyz)))
 #ifdef __GNUC__
 
+stringId *Rgclitlit_kind PROTO((struct Sclitlit *));
+
 extern __inline__ stringId *Rgclitlit_kind(struct Sclitlit *t)
 {
 #ifdef UGEN_DEBUG
@@ -293,6 +316,8 @@ extern stringId *Rgclitlit_kind PROTO((struct Sclitlit *));
 extern literal mknorepi PROTO((stringId));
 #ifdef __GNUC__
 
+stringId *Rgnorepi PROTO((struct Snorepi *));
+
 extern __inline__ stringId *Rgnorepi(struct Snorepi *t)
 {
 #ifdef UGEN_DEBUG
@@ -310,6 +335,8 @@ extern stringId *Rgnorepi PROTO((struct Snorepi *));
 extern literal mknorepr PROTO((stringId, stringId));
 #ifdef __GNUC__
 
+stringId *Rgnorepr_n PROTO((struct Snorepr *));
+
 extern __inline__ stringId *Rgnorepr_n(struct Snorepr *t)
 {
 #ifdef UGEN_DEBUG
@@ -325,6 +352,8 @@ extern stringId *Rgnorepr_n PROTO((struct Snorepr *));
 #define gnorepr_n(xyzxyz) (*Rgnorepr_n((struct Snorepr *) (xyzxyz)))
 #ifdef __GNUC__
 
+stringId *Rgnorepr_d PROTO((struct Snorepr *));
+
 extern __inline__ stringId *Rgnorepr_d(struct Snorepr *t)
 {
 #ifdef UGEN_DEBUG
@@ -342,6 +371,8 @@ extern stringId *Rgnorepr_d PROTO((struct Snorepr *));
 extern literal mknoreps PROTO((hstring));
 #ifdef __GNUC__
 
+hstring *Rgnoreps PROTO((struct Snoreps *));
+
 extern __inline__ hstring *Rgnoreps(struct Snoreps *t)
 {
 #ifdef UGEN_DEBUG
index 55f14ae..204979c 100644 (file)
@@ -18,6 +18,7 @@ typedef enum {
 typedef struct { Tpbinding tag; } *pbinding;
 
 #ifdef __GNUC__
+Tpbinding tpbinding(pbinding t);
 extern __inline__ Tpbinding tpbinding(pbinding t)
 {
        return(t -> tag);
@@ -38,6 +39,8 @@ struct Spgrhs {
 extern pbinding mkpgrhs PROTO((tree, list, binding, stringId, long));
 #ifdef __GNUC__
 
+tree *Rggpat PROTO((struct Spgrhs *));
+
 extern __inline__ tree *Rggpat(struct Spgrhs *t)
 {
 #ifdef UGEN_DEBUG
@@ -53,6 +56,8 @@ extern tree *Rggpat PROTO((struct Spgrhs *));
 #define ggpat(xyzxyz) (*Rggpat((struct Spgrhs *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rggdexprs PROTO((struct Spgrhs *));
+
 extern __inline__ list *Rggdexprs(struct Spgrhs *t)
 {
 #ifdef UGEN_DEBUG
@@ -68,6 +73,8 @@ extern list *Rggdexprs PROTO((struct Spgrhs *));
 #define ggdexprs(xyzxyz) (*Rggdexprs((struct Spgrhs *) (xyzxyz)))
 #ifdef __GNUC__
 
+binding *Rggbind PROTO((struct Spgrhs *));
+
 extern __inline__ binding *Rggbind(struct Spgrhs *t)
 {
 #ifdef UGEN_DEBUG
@@ -83,6 +90,8 @@ extern binding *Rggbind PROTO((struct Spgrhs *));
 #define ggbind(xyzxyz) (*Rggbind((struct Spgrhs *) (xyzxyz)))
 #ifdef __GNUC__
 
+stringId *Rggfuncname PROTO((struct Spgrhs *));
+
 extern __inline__ stringId *Rggfuncname(struct Spgrhs *t)
 {
 #ifdef UGEN_DEBUG
@@ -98,6 +107,8 @@ extern stringId *Rggfuncname PROTO((struct Spgrhs *));
 #define ggfuncname(xyzxyz) (*Rggfuncname((struct Spgrhs *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rggline PROTO((struct Spgrhs *));
+
 extern __inline__ long *Rggline(struct Spgrhs *t)
 {
 #ifdef UGEN_DEBUG
index 1fa6533..43d0167 100644 (file)
@@ -454,7 +454,7 @@ literal *Rgplusi(t)
 
 /************** wildp ******************/
 
-tree mkwildp()
+tree mkwildp(void)
 {
        register struct Swildp *pp =
                (struct Swildp *) malloc(sizeof(struct Swildp));
index d0c93c8..0f715d7 100644 (file)
@@ -44,6 +44,7 @@ typedef enum {
 typedef struct { Ttree tag; } *tree;
 
 #ifdef __GNUC__
+Ttree ttree(tree t);
 extern __inline__ Ttree ttree(tree t)
 {
        return(t -> tag);
@@ -212,6 +213,8 @@ struct Snegate {
 extern tree mkhmodule PROTO((stringId, list, list, binding, long));
 #ifdef __GNUC__
 
+stringId *Rghname PROTO((struct Shmodule *));
+
 extern __inline__ stringId *Rghname(struct Shmodule *t)
 {
 #ifdef UGEN_DEBUG
@@ -227,6 +230,8 @@ extern stringId *Rghname PROTO((struct Shmodule *));
 #define ghname(xyzxyz) (*Rghname((struct Shmodule *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rghimplist PROTO((struct Shmodule *));
+
 extern __inline__ list *Rghimplist(struct Shmodule *t)
 {
 #ifdef UGEN_DEBUG
@@ -242,6 +247,8 @@ extern list *Rghimplist PROTO((struct Shmodule *));
 #define ghimplist(xyzxyz) (*Rghimplist((struct Shmodule *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rghexplist PROTO((struct Shmodule *));
+
 extern __inline__ list *Rghexplist(struct Shmodule *t)
 {
 #ifdef UGEN_DEBUG
@@ -257,6 +264,8 @@ extern list *Rghexplist PROTO((struct Shmodule *));
 #define ghexplist(xyzxyz) (*Rghexplist((struct Shmodule *) (xyzxyz)))
 #ifdef __GNUC__
 
+binding *Rghmodlist PROTO((struct Shmodule *));
+
 extern __inline__ binding *Rghmodlist(struct Shmodule *t)
 {
 #ifdef UGEN_DEBUG
@@ -272,6 +281,8 @@ extern binding *Rghmodlist PROTO((struct Shmodule *));
 #define ghmodlist(xyzxyz) (*Rghmodlist((struct Shmodule *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rghmodline PROTO((struct Shmodule *));
+
 extern __inline__ long *Rghmodline(struct Shmodule *t)
 {
 #ifdef UGEN_DEBUG
@@ -289,6 +300,8 @@ extern long *Rghmodline PROTO((struct Shmodule *));
 extern tree mkident PROTO((unkId));
 #ifdef __GNUC__
 
+unkId *Rgident PROTO((struct Sident *));
+
 extern __inline__ unkId *Rgident(struct Sident *t)
 {
 #ifdef UGEN_DEBUG
@@ -306,6 +319,8 @@ extern unkId *Rgident PROTO((struct Sident *));
 extern tree mklit PROTO((literal));
 #ifdef __GNUC__
 
+literal *Rglit PROTO((struct Slit *));
+
 extern __inline__ literal *Rglit(struct Slit *t)
 {
 #ifdef UGEN_DEBUG
@@ -323,6 +338,8 @@ extern literal *Rglit PROTO((struct Slit *));
 extern tree mktuple PROTO((list));
 #ifdef __GNUC__
 
+list *Rgtuplelist PROTO((struct Stuple *));
+
 extern __inline__ list *Rgtuplelist(struct Stuple *t)
 {
 #ifdef UGEN_DEBUG
@@ -340,6 +357,8 @@ extern list *Rgtuplelist PROTO((struct Stuple *));
 extern tree mkap PROTO((tree, tree));
 #ifdef __GNUC__
 
+tree *Rgfun PROTO((struct Sap *));
+
 extern __inline__ tree *Rgfun(struct Sap *t)
 {
 #ifdef UGEN_DEBUG
@@ -355,6 +374,8 @@ extern tree *Rgfun PROTO((struct Sap *));
 #define gfun(xyzxyz) (*Rgfun((struct Sap *) (xyzxyz)))
 #ifdef __GNUC__
 
+tree *Rgarg PROTO((struct Sap *));
+
 extern __inline__ tree *Rgarg(struct Sap *t)
 {
 #ifdef UGEN_DEBUG
@@ -372,6 +393,8 @@ extern tree *Rgarg PROTO((struct Sap *));
 extern tree mklambda PROTO((list, tree, long));
 #ifdef __GNUC__
 
+list *Rglampats PROTO((struct Slambda *));
+
 extern __inline__ list *Rglampats(struct Slambda *t)
 {
 #ifdef UGEN_DEBUG
@@ -387,6 +410,8 @@ extern list *Rglampats PROTO((struct Slambda *));
 #define glampats(xyzxyz) (*Rglampats((struct Slambda *) (xyzxyz)))
 #ifdef __GNUC__
 
+tree *Rglamexpr PROTO((struct Slambda *));
+
 extern __inline__ tree *Rglamexpr(struct Slambda *t)
 {
 #ifdef UGEN_DEBUG
@@ -402,6 +427,8 @@ extern tree *Rglamexpr PROTO((struct Slambda *));
 #define glamexpr(xyzxyz) (*Rglamexpr((struct Slambda *) (xyzxyz)))
 #ifdef __GNUC__
 
+long *Rglamline PROTO((struct Slambda *));
+
 extern __inline__ long *Rglamline(struct Slambda *t)
 {
 #ifdef UGEN_DEBUG
@@ -419,6 +446,8 @@ extern long *Rglamline PROTO((struct Slambda *));
 extern tree mklet PROTO((binding, tree));
 #ifdef __GNUC__
 
+binding *Rgletvdeflist PROTO((struct Slet *));
+
 extern __inline__ binding *Rgletvdeflist(struct Slet *t)
 {
 #ifdef UGEN_DEBUG
@@ -434,6 +463,8 @@ extern binding *Rgletvdeflist PROTO((struct Slet *));
 #define gletvdeflist(xyzxyz) (*Rgletvdeflist((struct Slet *) (xyzxyz)))
 #ifdef __GNUC__
 
+tree *Rgletvexpr PROTO((struct Slet *));
+
 extern __inline__ tree *Rgletvexpr(struct Slet *t)
 {
 #ifdef UGEN_DEBUG
@@ -451,6 +482,8 @@ extern tree *Rgletvexpr PROTO((struct Slet *));
 extern tree mkcasee PROTO((tree, list));
 #ifdef __GNUC__
 
+tree *Rgcaseexpr PROTO((struct Scasee *));
+
 extern __inline__ tree *Rgcaseexpr(struct Scasee *t)
 {
 #ifdef UGEN_DEBUG
@@ -466,6 +499,8 @@ extern tree *Rgcaseexpr PROTO((struct Scasee *));
 #define gcaseexpr(xyzxyz) (*Rgcaseexpr((struct Scasee *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgcasebody PROTO((struct Scasee *));
+
 extern __inline__ list *Rgcasebody(struct Scasee *t)
 {
 #ifdef UGEN_DEBUG
@@ -483,6 +518,8 @@ extern list *Rgcasebody PROTO((struct Scasee *));
 extern tree mkife PROTO((tree, tree, tree));
 #ifdef __GNUC__
 
+tree *Rgifpred PROTO((struct Sife *));
+
 extern __inline__ tree *Rgifpred(struct Sife *t)
 {
 #ifdef UGEN_DEBUG
@@ -498,6 +535,8 @@ extern tree *Rgifpred PROTO((struct Sife *));
 #define gifpred(xyzxyz) (*Rgifpred((struct Sife *) (xyzxyz)))
 #ifdef __GNUC__
 
+tree *Rgifthen PROTO((struct Sife *));
+
 extern __inline__ tree *Rgifthen(struct Sife *t)
 {
 #ifdef UGEN_DEBUG
@@ -513,6 +552,8 @@ extern tree *Rgifthen PROTO((struct Sife *));
 #define gifthen(xyzxyz) (*Rgifthen((struct Sife *) (xyzxyz)))
 #ifdef __GNUC__
 
+tree *Rgifelse PROTO((struct Sife *));
+
 extern __inline__ tree *Rgifelse(struct Sife *t)
 {
 #ifdef UGEN_DEBUG
@@ -530,6 +571,8 @@ extern tree *Rgifelse PROTO((struct Sife *));
 extern tree mkpar PROTO((tree));
 #ifdef __GNUC__
 
+tree *Rgpare PROTO((struct Spar *));
+
 extern __inline__ tree *Rgpare(struct Spar *t)
 {
 #ifdef UGEN_DEBUG
@@ -547,6 +590,8 @@ extern tree *Rgpare PROTO((struct Spar *));
 extern tree mkas PROTO((unkId, tree));
 #ifdef __GNUC__
 
+unkId *Rgasid PROTO((struct Sas *));
+
 extern __inline__ unkId *Rgasid(struct Sas *t)
 {
 #ifdef UGEN_DEBUG
@@ -562,6 +607,8 @@ extern unkId *Rgasid PROTO((struct Sas *));
 #define gasid(xyzxyz) (*Rgasid((struct Sas *) (xyzxyz)))
 #ifdef __GNUC__
 
+tree *Rgase PROTO((struct Sas *));
+
 extern __inline__ tree *Rgase(struct Sas *t)
 {
 #ifdef UGEN_DEBUG
@@ -579,6 +626,8 @@ extern tree *Rgase PROTO((struct Sas *));
 extern tree mklazyp PROTO((tree));
 #ifdef __GNUC__
 
+tree *Rglazyp PROTO((struct Slazyp *));
+
 extern __inline__ tree *Rglazyp(struct Slazyp *t)
 {
 #ifdef UGEN_DEBUG
@@ -596,6 +645,8 @@ extern tree *Rglazyp PROTO((struct Slazyp *));
 extern tree mkplusp PROTO((tree, literal));
 #ifdef __GNUC__
 
+tree *Rgplusp PROTO((struct Splusp *));
+
 extern __inline__ tree *Rgplusp(struct Splusp *t)
 {
 #ifdef UGEN_DEBUG
@@ -611,6 +662,8 @@ extern tree *Rgplusp PROTO((struct Splusp *));
 #define gplusp(xyzxyz) (*Rgplusp((struct Splusp *) (xyzxyz)))
 #ifdef __GNUC__
 
+literal *Rgplusi PROTO((struct Splusp *));
+
 extern __inline__ literal *Rgplusi(struct Splusp *t)
 {
 #ifdef UGEN_DEBUG
@@ -625,11 +678,13 @@ extern literal *Rgplusi PROTO((struct Splusp *));
 
 #define gplusi(xyzxyz) (*Rgplusi((struct Splusp *) (xyzxyz)))
 
-extern tree mkwildp PROTO(());
+extern tree mkwildp PROTO((void));
 
 extern tree mkrestr PROTO((tree, ttype));
 #ifdef __GNUC__
 
+tree *Rgrestre PROTO((struct Srestr *));
+
 extern __inline__ tree *Rgrestre(struct Srestr *t)
 {
 #ifdef UGEN_DEBUG
@@ -645,6 +700,8 @@ extern tree *Rgrestre PROTO((struct Srestr *));
 #define grestre(xyzxyz) (*Rgrestre((struct Srestr *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgrestrt PROTO((struct Srestr *));
+
 extern __inline__ ttype *Rgrestrt(struct Srestr *t)
 {
 #ifdef UGEN_DEBUG
@@ -662,6 +719,8 @@ extern ttype *Rgrestrt PROTO((struct Srestr *));
 extern tree mkcomprh PROTO((tree, list));
 #ifdef __GNUC__
 
+tree *Rgcexp PROTO((struct Scomprh *));
+
 extern __inline__ tree *Rgcexp(struct Scomprh *t)
 {
 #ifdef UGEN_DEBUG
@@ -677,6 +736,8 @@ extern tree *Rgcexp PROTO((struct Scomprh *));
 #define gcexp(xyzxyz) (*Rgcexp((struct Scomprh *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgcquals PROTO((struct Scomprh *));
+
 extern __inline__ list *Rgcquals(struct Scomprh *t)
 {
 #ifdef UGEN_DEBUG
@@ -694,6 +755,8 @@ extern list *Rgcquals PROTO((struct Scomprh *));
 extern tree mkqual PROTO((tree, tree));
 #ifdef __GNUC__
 
+tree *Rgqpat PROTO((struct Squal *));
+
 extern __inline__ tree *Rgqpat(struct Squal *t)
 {
 #ifdef UGEN_DEBUG
@@ -709,6 +772,8 @@ extern tree *Rgqpat PROTO((struct Squal *));
 #define gqpat(xyzxyz) (*Rgqpat((struct Squal *) (xyzxyz)))
 #ifdef __GNUC__
 
+tree *Rgqexp PROTO((struct Squal *));
+
 extern __inline__ tree *Rgqexp(struct Squal *t)
 {
 #ifdef UGEN_DEBUG
@@ -726,6 +791,8 @@ extern tree *Rgqexp PROTO((struct Squal *));
 extern tree mkguard PROTO((tree));
 #ifdef __GNUC__
 
+tree *Rggexp PROTO((struct Sguard *));
+
 extern __inline__ tree *Rggexp(struct Sguard *t)
 {
 #ifdef UGEN_DEBUG
@@ -743,6 +810,8 @@ extern tree *Rggexp PROTO((struct Sguard *));
 extern tree mkdef PROTO((tree));
 #ifdef __GNUC__
 
+tree *Rggdef PROTO((struct Sdef *));
+
 extern __inline__ tree *Rggdef(struct Sdef *t)
 {
 #ifdef UGEN_DEBUG
@@ -760,6 +829,8 @@ extern tree *Rggdef PROTO((struct Sdef *));
 extern tree mktinfixop PROTO((infixTree));
 #ifdef __GNUC__
 
+infixTree *Rgdummy PROTO((struct Stinfixop *));
+
 extern __inline__ infixTree *Rgdummy(struct Stinfixop *t)
 {
 #ifdef UGEN_DEBUG
@@ -777,6 +848,8 @@ extern infixTree *Rgdummy PROTO((struct Stinfixop *));
 extern tree mklsection PROTO((tree, unkId));
 #ifdef __GNUC__
 
+tree *Rglsexp PROTO((struct Slsection *));
+
 extern __inline__ tree *Rglsexp(struct Slsection *t)
 {
 #ifdef UGEN_DEBUG
@@ -792,6 +865,8 @@ extern tree *Rglsexp PROTO((struct Slsection *));
 #define glsexp(xyzxyz) (*Rglsexp((struct Slsection *) (xyzxyz)))
 #ifdef __GNUC__
 
+unkId *Rglsop PROTO((struct Slsection *));
+
 extern __inline__ unkId *Rglsop(struct Slsection *t)
 {
 #ifdef UGEN_DEBUG
@@ -809,6 +884,8 @@ extern unkId *Rglsop PROTO((struct Slsection *));
 extern tree mkrsection PROTO((unkId, tree));
 #ifdef __GNUC__
 
+unkId *Rgrsop PROTO((struct Srsection *));
+
 extern __inline__ unkId *Rgrsop(struct Srsection *t)
 {
 #ifdef UGEN_DEBUG
@@ -824,6 +901,8 @@ extern unkId *Rgrsop PROTO((struct Srsection *));
 #define grsop(xyzxyz) (*Rgrsop((struct Srsection *) (xyzxyz)))
 #ifdef __GNUC__
 
+tree *Rgrsexp PROTO((struct Srsection *));
+
 extern __inline__ tree *Rgrsexp(struct Srsection *t)
 {
 #ifdef UGEN_DEBUG
@@ -841,6 +920,8 @@ extern tree *Rgrsexp PROTO((struct Srsection *));
 extern tree mkeenum PROTO((tree, list, list));
 #ifdef __GNUC__
 
+tree *Rgefrom PROTO((struct Seenum *));
+
 extern __inline__ tree *Rgefrom(struct Seenum *t)
 {
 #ifdef UGEN_DEBUG
@@ -856,6 +937,8 @@ extern tree *Rgefrom PROTO((struct Seenum *));
 #define gefrom(xyzxyz) (*Rgefrom((struct Seenum *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgestep PROTO((struct Seenum *));
+
 extern __inline__ list *Rgestep(struct Seenum *t)
 {
 #ifdef UGEN_DEBUG
@@ -871,6 +954,8 @@ extern list *Rgestep PROTO((struct Seenum *));
 #define gestep(xyzxyz) (*Rgestep((struct Seenum *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgeto PROTO((struct Seenum *));
+
 extern __inline__ list *Rgeto(struct Seenum *t)
 {
 #ifdef UGEN_DEBUG
@@ -888,6 +973,8 @@ extern list *Rgeto PROTO((struct Seenum *));
 extern tree mkllist PROTO((list));
 #ifdef __GNUC__
 
+list *Rgllist PROTO((struct Sllist *));
+
 extern __inline__ list *Rgllist(struct Sllist *t)
 {
 #ifdef UGEN_DEBUG
@@ -905,6 +992,8 @@ extern list *Rgllist PROTO((struct Sllist *));
 extern tree mkccall PROTO((stringId, stringId, list));
 #ifdef __GNUC__
 
+stringId *Rgccid PROTO((struct Sccall *));
+
 extern __inline__ stringId *Rgccid(struct Sccall *t)
 {
 #ifdef UGEN_DEBUG
@@ -920,6 +1009,8 @@ extern stringId *Rgccid PROTO((struct Sccall *));
 #define gccid(xyzxyz) (*Rgccid((struct Sccall *) (xyzxyz)))
 #ifdef __GNUC__
 
+stringId *Rgccinfo PROTO((struct Sccall *));
+
 extern __inline__ stringId *Rgccinfo(struct Sccall *t)
 {
 #ifdef UGEN_DEBUG
@@ -935,6 +1026,8 @@ extern stringId *Rgccinfo PROTO((struct Sccall *));
 #define gccinfo(xyzxyz) (*Rgccinfo((struct Sccall *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgccargs PROTO((struct Sccall *));
+
 extern __inline__ list *Rgccargs(struct Sccall *t)
 {
 #ifdef UGEN_DEBUG
@@ -952,6 +1045,8 @@ extern list *Rgccargs PROTO((struct Sccall *));
 extern tree mkscc PROTO((hstring, tree));
 #ifdef __GNUC__
 
+hstring *Rgsccid PROTO((struct Sscc *));
+
 extern __inline__ hstring *Rgsccid(struct Sscc *t)
 {
 #ifdef UGEN_DEBUG
@@ -967,6 +1062,8 @@ extern hstring *Rgsccid PROTO((struct Sscc *));
 #define gsccid(xyzxyz) (*Rgsccid((struct Sscc *) (xyzxyz)))
 #ifdef __GNUC__
 
+tree *Rgsccexp PROTO((struct Sscc *));
+
 extern __inline__ tree *Rgsccexp(struct Sscc *t)
 {
 #ifdef UGEN_DEBUG
@@ -984,6 +1081,8 @@ extern tree *Rgsccexp PROTO((struct Sscc *));
 extern tree mknegate PROTO((tree));
 #ifdef __GNUC__
 
+tree *Rgnexp PROTO((struct Snegate *));
+
 extern __inline__ tree *Rgnexp(struct Snegate *t)
 {
 #ifdef UGEN_DEBUG
index caf561b..e31a744 100644 (file)
@@ -270,7 +270,7 @@ ttype *Rguniforall_ty(t)
 
 /************** ty_maybe_nothing ******************/
 
-ttype mkty_maybe_nothing()
+ttype mkty_maybe_nothing(void)
 {
        register struct Sty_maybe_nothing *pp =
                (struct Sty_maybe_nothing *) malloc(sizeof(struct Sty_maybe_nothing));
index ced12b6..900c23e 100644 (file)
@@ -28,6 +28,7 @@ typedef enum {
 typedef struct { Tttype tag; } *ttype;
 
 #ifdef __GNUC__
+Tttype tttype(ttype t);
 extern __inline__ Tttype tttype(ttype t)
 {
        return(t -> tag);
@@ -98,6 +99,8 @@ struct Sty_maybe_just {
 extern ttype mktname PROTO((unkId, list));
 #ifdef __GNUC__
 
+unkId *Rgtypeid PROTO((struct Stname *));
+
 extern __inline__ unkId *Rgtypeid(struct Stname *t)
 {
 #ifdef UGEN_DEBUG
@@ -113,6 +116,8 @@ extern unkId *Rgtypeid PROTO((struct Stname *));
 #define gtypeid(xyzxyz) (*Rgtypeid((struct Stname *) (xyzxyz)))
 #ifdef __GNUC__
 
+list *Rgtypel PROTO((struct Stname *));
+
 extern __inline__ list *Rgtypel(struct Stname *t)
 {
 #ifdef UGEN_DEBUG
@@ -130,6 +135,8 @@ extern list *Rgtypel PROTO((struct Stname *));
 extern ttype mknamedtvar PROTO((unkId));
 #ifdef __GNUC__
 
+unkId *Rgnamedtvar PROTO((struct Snamedtvar *));
+
 extern __inline__ unkId *Rgnamedtvar(struct Snamedtvar *t)
 {
 #ifdef UGEN_DEBUG
@@ -147,6 +154,8 @@ extern unkId *Rgnamedtvar PROTO((struct Snamedtvar *));
 extern ttype mktllist PROTO((ttype));
 #ifdef __GNUC__
 
+ttype *Rgtlist PROTO((struct Stllist *));
+
 extern __inline__ ttype *Rgtlist(struct Stllist *t)
 {
 #ifdef UGEN_DEBUG
@@ -164,6 +173,8 @@ extern ttype *Rgtlist PROTO((struct Stllist *));
 extern ttype mkttuple PROTO((list));
 #ifdef __GNUC__
 
+list *Rgttuple PROTO((struct Sttuple *));
+
 extern __inline__ list *Rgttuple(struct Sttuple *t)
 {
 #ifdef UGEN_DEBUG
@@ -181,6 +192,8 @@ extern list *Rgttuple PROTO((struct Sttuple *));
 extern ttype mktfun PROTO((ttype, ttype));
 #ifdef __GNUC__
 
+ttype *Rgtfun PROTO((struct Stfun *));
+
 extern __inline__ ttype *Rgtfun(struct Stfun *t)
 {
 #ifdef UGEN_DEBUG
@@ -196,6 +209,8 @@ extern ttype *Rgtfun PROTO((struct Stfun *));
 #define gtfun(xyzxyz) (*Rgtfun((struct Stfun *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgtarg PROTO((struct Stfun *));
+
 extern __inline__ ttype *Rgtarg(struct Stfun *t)
 {
 #ifdef UGEN_DEBUG
@@ -213,6 +228,8 @@ extern ttype *Rgtarg PROTO((struct Stfun *));
 extern ttype mkcontext PROTO((list, ttype));
 #ifdef __GNUC__
 
+list *Rgtcontextl PROTO((struct Scontext *));
+
 extern __inline__ list *Rgtcontextl(struct Scontext *t)
 {
 #ifdef UGEN_DEBUG
@@ -228,6 +245,8 @@ extern list *Rgtcontextl PROTO((struct Scontext *));
 #define gtcontextl(xyzxyz) (*Rgtcontextl((struct Scontext *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgtcontextt PROTO((struct Scontext *));
+
 extern __inline__ ttype *Rgtcontextt(struct Scontext *t)
 {
 #ifdef UGEN_DEBUG
@@ -245,6 +264,8 @@ extern ttype *Rgtcontextt PROTO((struct Scontext *));
 extern ttype mkunidict PROTO((unkId, ttype));
 #ifdef __GNUC__
 
+unkId *Rgunidict_clas PROTO((struct Sunidict *));
+
 extern __inline__ unkId *Rgunidict_clas(struct Sunidict *t)
 {
 #ifdef UGEN_DEBUG
@@ -260,6 +281,8 @@ extern unkId *Rgunidict_clas PROTO((struct Sunidict *));
 #define gunidict_clas(xyzxyz) (*Rgunidict_clas((struct Sunidict *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rgunidict_ty PROTO((struct Sunidict *));
+
 extern __inline__ ttype *Rgunidict_ty(struct Sunidict *t)
 {
 #ifdef UGEN_DEBUG
@@ -277,6 +300,8 @@ extern ttype *Rgunidict_ty PROTO((struct Sunidict *));
 extern ttype mkunityvartemplate PROTO((unkId));
 #ifdef __GNUC__
 
+unkId *Rgunityvartemplate PROTO((struct Sunityvartemplate *));
+
 extern __inline__ unkId *Rgunityvartemplate(struct Sunityvartemplate *t)
 {
 #ifdef UGEN_DEBUG
@@ -294,6 +319,8 @@ extern unkId *Rgunityvartemplate PROTO((struct Sunityvartemplate *));
 extern ttype mkuniforall PROTO((list, ttype));
 #ifdef __GNUC__
 
+list *Rguniforall_tv PROTO((struct Suniforall *));
+
 extern __inline__ list *Rguniforall_tv(struct Suniforall *t)
 {
 #ifdef UGEN_DEBUG
@@ -309,6 +336,8 @@ extern list *Rguniforall_tv PROTO((struct Suniforall *));
 #define guniforall_tv(xyzxyz) (*Rguniforall_tv((struct Suniforall *) (xyzxyz)))
 #ifdef __GNUC__
 
+ttype *Rguniforall_ty PROTO((struct Suniforall *));
+
 extern __inline__ ttype *Rguniforall_ty(struct Suniforall *t)
 {
 #ifdef UGEN_DEBUG
@@ -323,11 +352,13 @@ extern ttype *Rguniforall_ty PROTO((struct Suniforall *));
 
 #define guniforall_ty(xyzxyz) (*Rguniforall_ty((struct Suniforall *) (xyzxyz)))
 
-extern ttype mkty_maybe_nothing PROTO(());
+extern ttype mkty_maybe_nothing PROTO((void));
 
 extern ttype mkty_maybe_just PROTO((ttype));
 #ifdef __GNUC__
 
+ttype *Rgty_maybe PROTO((struct Sty_maybe_just *));
+
 extern __inline__ ttype *Rgty_maybe(struct Sty_maybe_just *t)
 {
 #ifdef UGEN_DEBUG
index e795c81..ca4a876 100644 (file)
 
 \section[Driver-support]{Support code for the @ghc@ driver}
 \downsection
-\input{ghc-asm-alpha.lprl}
-\input{ghc-asm-hppa.lprl}
-\input{ghc-asm-iX86.lprl}
-\input{ghc-asm-m68k.lprl}
-\input{ghc-asm-mips.lprl}
-\input{ghc-asm-solaris.lprl}
-\input{ghc-asm-sparc.lprl}
+\input{ghc-asm.lprl}
 \input{ghc-consist.lprl}
 \input{ghc-split.lprl}
 \upsection
index d7c1950..f7d0a97 100644 (file)
@@ -69,12 +69,12 @@ Email: glasgow-haskell-\{request,bugs\}\@dcs.glasgow.ac.uk}
 
 %************************************************************************
 %*                                                                     *
-%\section[Reduction-counts]{Definitions for reduction counting}
+%\section[Ticky-counts]{Definitions for ``ticky-ticky'' profiling}
 %*                                                                     *
 %************************************************************************
 
 \downsection
-\input{RednCounts.lh}
+\input{Ticky.lh}
 \upsection
 
 %------------------------------------------------------------------------
diff --git a/ghc/includes/sparc-sun-sunos4.h b/ghc/includes/sparc-sun-sunos4.h
deleted file mode 100644 (file)
index aad25c9..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
--- This file is created automatically.  Do not edit by hand.
-
-
--- Base table offsets for the Native Code Generator
-#define OFFSET_Dbl1 0
-#define OFFSET_Dbl2 2
-#define OFFSET_Flt1 4
-#define OFFSET_Flt2 5
-#define OFFSET_Flt3 6
-#define OFFSET_Flt4 7
-#define OFFSET_R1 8
-#define OFFSET_R2 9
-#define OFFSET_R3 10
-#define OFFSET_R4 11
-#define OFFSET_R5 12
-#define OFFSET_R6 13
-#define OFFSET_R7 14
-#define OFFSET_R8 15
-#define OFFSET_SpA 16
-#define OFFSET_SuA 17
-#define OFFSET_SpB 18
-#define OFFSET_SuB 19
-#define OFFSET_Hp 20
-#define OFFSET_HpLim 21
-#define OFFSET_Tag 22
-#define OFFSET_Ret 23
-#define OFFSET_Activity 24
-#define OFFSET_StkO panic "OFFSET_StkO"
-#define OFFSET_Liveness panic "OFFSET_Liveness"
-
--- Storage Manager offsets for the Native Code Generator
-#define SM_HP 0
-#define SM_HPLIM 1
-#define SM_ROOTNO 2
-#define SM_ROOTS 3
-#define SM_CAFLIST 4
-#define SM_OLDMUTABLES 5
-#define SM_OLDLIM 6
-#define SM_MALLOCPTRLIST 7
-#define SM_OLDMALLOCPTRLIST 8
-#define SM_STABLEPOINTERTABLE 9
-
--- FILE size for the Native Code Generator
-#define FILE_SIZE 20
index f4708f3..972b96e 100644 (file)
@@ -14,7 +14,7 @@ StgInt closeFile PROTO((StgAddr));
 StgInt createDirectory PROTO((StgByteArray));
 
 /* env.lc */
-char * strdup          PROTO((char *));
+char * strDup          PROTO((const char *));
 int    setenviron      PROTO((char **));
 int    copyenv         (STG_NO_ARGS);
 int    setenv          PROTO((char *));
index 7ee20c1..f68b0ef 100644 (file)
@@ -27,9 +27,7 @@ int dirtyEnv = 0;
  */
 
 char *
-strdup(char *src) /* should be "const char *" but then some
-                    bozo OS (e.g., AIX) will come along and disagree.
-                    The alt is to rename this routine (WDP 96/01) */
+strDup(const char *src)
 {
     int len = strlen(src) + 1;
     char *dst;
@@ -78,7 +76,7 @@ copyenv()
     new[i] = NULL;
 
     while (--i >= 0) {
-       if ((new[i] = strdup(environ[i])) == NULL) {
+       if ((new[i] = strDup(environ[i])) == NULL) {
            while (new[++i] != NULL)
                free(new[i]);
            free(new);
@@ -110,7 +108,7 @@ char *mapping;
     if (!dirtyEnv && copyenv() != 0)
        return -1;
 
-    if ((p = strdup(mapping)) == NULL)
+    if ((p = strDup(mapping)) == NULL)
        return -1;
 
     /* Look for an existing key that matches */
index 522df19..456d2a3 100644 (file)
@@ -79,7 +79,7 @@ char **envp;
        }
 #endif
     } else
-       cur = path = strdup(path);
+       cur = path = strDup(path);
 
     if (path == NULL || (bp = buf = malloc(strlen(path)+strlen(name)+2)) == NULL)
        goto done;
index 1fb72e8..ef646b3 100644 (file)
@@ -458,20 +458,18 @@ error = rtsTrue;
                )
              case 'p': /* cost centre profiling (time/alloc) */
                COST_CENTRE_USING_BUILD_ONLY(
-               { char ch;
                RTSflags.CcFlags.doCostCentres++;
 
-               for (ch = 2; rts_argv[arg][ch]; ch++) {
                switch (rts_argv[arg][2]) {
                  case SORTCC_LABEL:
                  case SORTCC_TIME:
                  case SORTCC_ALLOC:
-                       RTSflags.CcFlags.sortBy = rts_argv[arg][ch];
+                       RTSflags.CcFlags.sortBy = rts_argv[arg][2];
                    break;
                  default:
                    fprintf(stderr, "Invalid profiling sort option %s\n", rts_argv[arg]);
                    error = 1;
-               }}}
+               }
                ) break;
 
              case 'i': /* serial profiling -- initial timer interval */
diff --git a/ghc/runtime/storage/SMcompacting.h b/ghc/runtime/storage/SMcompacting.h
deleted file mode 100644 (file)
index e64b8fd..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# line 4 "storage/SMcompacting.lh"
-extern void LinkRoots PROTO((P_ roots[], I_ rootno));
-extern void LinkAStack PROTO((PP_ stackA, PP_ botA));
-extern void LinkBStack PROTO((P_ stackB, P_ botB));
-extern I_ CountCAFs PROTO((P_ CAFlist));
-
-extern void LinkCAFs PROTO((P_ CAFlist));