]> git.draconx.ca Git - gob-dx.git/commitdiff
Release 2.0.18 v2.0.18
authorGeorge Lebl <jirka@5z.com>
Fri, 7 Jan 2011 04:33:00 +0000 (20:33 -0800)
committerNick Bowler <nbowler@draconx.ca>
Tue, 19 Feb 2019 17:34:37 +0000 (12:34 -0500)
23 files changed:
ChangeLog
Makefile.in
NEWS
README
aclocal.m4
configure
configure.in
doc/Makefile.in
doc/gob2.1.in
examples/Makefile.in
gob2.m4
gob2.spec
src/Makefile.am
src/Makefile.in
src/lexer.c
src/lexer.l
src/main.c
src/parse.c
src/parse.h
src/parse.y
src/test.gob
src/treefuncs.def
src/treefuncs.h

index 154a4d7e0d8c1025d7d6d9b2e9817d739110a7b8..056b25cbfc713d1c4de633c5d97a68ec109399d5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32 @@
+Thu Jan 06 11:30:03 2011  Jiri (George) Lebl <jirka@5z.com>
+
+       * Release 2.0.18
+
+Mon Jan 03 13:53:58 2011  Jiri (George) Lebl <jirka@5z.com>
+
+       * src/main.c, src/lexer.l, src/parse.y, src/treefuncs.def:  Add
+         %ct{ %ctop{ which is like alltop but only for the C file.
+
+       * src/test.gob: add test
+
+       * doc/gob2.1.in: document
+
+       * configure.in: bump version
+
+Sat Oct 09 12:20:06 2010  Jiri (George) Lebl <jirka@5z.com>
+
+       * configure.in, src/Makefile.am: fixup some brokeneness, Thanks to
+         Roland Clobus for sending a patch to make Cygwin build work
+
+Tue Jun 01 02:33:02 2010  Jiri (George) Lebl <jirka@5z.com>
+
+       * doc/gob2.1.in, src/main.c, gob2.m4:  Apply patches sent by
+         Stephen Kitt.  Fixes some typos, gob2.m4 exits if gob is not found
+         (fixes ubuntu #317801), and escape minus signs in the man page.
+
+       * README: generated code is public domain as COPYING.generated-code
+         correctly states
+
 Fri Apr 02 14:57:20 2010  Jiri (George) Lebl <jirka@5z.com>
 
        * src/main.c: Mention WFP in the help message
index 276999b1a746823089779964d56a99314925ad1a..ff6966ed77d70168c589999b1fb7d0faf4d03d06 100644 (file)
@@ -149,7 +149,6 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTGOB = @INSTGOB@
 LDFLAGS = @LDFLAGS@
 LEX = @LEX@
 LEXLIB = @LEXLIB@
@@ -161,7 +160,6 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MV = @MV@
-NOINSTGOB = @NOINSTGOB@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -172,6 +170,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 RM = @RM@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
diff --git a/NEWS b/NEWS
index ebdf09321490d3773e49480c00c75f44b7fd4110..30e01ad537fd83c0bbb648594537db0909e15e0a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,11 @@
+2.0.18:
+       * Add %ctop{ %} to do what alltop does but only for the C file
+       * Buildfixes for Cygwin (Roland Clobus)
+       * gob2.m4 exits if gob is not found (fixes ubuntu #317801)
+          (Stephen Kitt)
+       * Escape minus signs in the webpage and fix some typos (Stephen Kitt)
+       * clarify README as to the public domainness of the generated code
+
 2.0.17:
        * Fix segfault when defining the finilize, dispose, and
          constructor methods (Fixes debian bug #574542)
diff --git a/README b/README
index 82ae003936d91144f41f7c58b291a724e438d0bf..4792d54c59e40e884a0ba61b75df13ff3557f9e4 100644 (file)
--- a/README
+++ b/README
@@ -49,7 +49,7 @@ How to include gob2 inside your project:
        preprocessors.
 
 License:
-       - Gob itself is under GPL, the generated code is under LGPL.
+       - Gob itself is under GPL, the generated code is under public domain.
          See COPYING and COPYING.generated-code
 
 TODO:
index 6075057fe5b37e707fec7ef253443ceab69397ac..9425ffa58358daf6a55c42d2e75901de2ff14cc9 100644 (file)
 
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
-[m4_warning([this file was generated for autoconf 2.65.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.66],,
+[m4_warning([this file was generated for autoconf 2.66.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically `autoreconf'.])])
 
 # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
 # 
 # Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
 #
@@ -47,7 +48,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.])
 AC_DEFUN([PKG_PROG_PKG_CONFIG],
 [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
 m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
-AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
        AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
 fi
@@ -60,7 +64,6 @@ if test -n "$PKG_CONFIG"; then
                AC_MSG_RESULT([no])
                PKG_CONFIG=""
        fi
-               
 fi[]dnl
 ])# PKG_PROG_PKG_CONFIG
 
@@ -69,34 +72,31 @@ fi[]dnl
 # Check to see whether a particular set of modules exists.  Similar
 # to PKG_CHECK_MODULES(), but does not set variables or print errors.
 #
-#
-# Similar to PKG_CHECK_MODULES, make sure that the first instance of
-# this or PKG_CHECK_MODULES is called, or make sure to call
-# PKG_CHECK_EXISTS manually
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
 # --------------------------------------------------------------
 AC_DEFUN([PKG_CHECK_EXISTS],
 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
 if test -n "$PKG_CONFIG" && \
     AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
-  m4_ifval([$2], [$2], [:])
+  m4_default([$2], [:])
 m4_ifvaln([$3], [else
   $3])dnl
 fi])
 
-
 # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
 # ---------------------------------------------
 m4_define([_PKG_CONFIG],
-[if test -n "$PKG_CONFIG"; then
-    if test -n "$$1"; then
-        pkg_cv_[]$1="$$1"
-    else
-        PKG_CHECK_EXISTS([$3],
-                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
-                        [pkg_failed=yes])
-    fi
-else
-       pkg_failed=untried
+[if test -n "$$1"; then
+    pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+    PKG_CHECK_EXISTS([$3],
+                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+                    [pkg_failed=yes])
+ else
+    pkg_failed=untried
 fi[]dnl
 ])# _PKG_CONFIG
 
@@ -138,16 +138,17 @@ and $1[]_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details.])
 
 if test $pkg_failed = yes; then
+       AC_MSG_RESULT([no])
         _PKG_SHORT_ERRORS_SUPPORTED
         if test $_pkg_short_errors_supported = yes; then
-               $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+               $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
         else 
-               $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+               $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
 
-       ifelse([$4], , [AC_MSG_ERROR(dnl
+       m4_default([$4], [AC_MSG_ERROR(
 [Package requirements ($2) were not met:
 
 $$1_PKG_ERRORS
@@ -155,25 +156,24 @@ $$1_PKG_ERRORS
 Consider adjusting the PKG_CONFIG_PATH environment variable if you
 installed software in a non-standard prefix.
 
-_PKG_TEXT
-])],
-               [AC_MSG_RESULT([no])
-                $4])
+_PKG_TEXT])
+        ])
 elif test $pkg_failed = untried; then
-       ifelse([$4], , [AC_MSG_FAILURE(dnl
+       AC_MSG_RESULT([no])
+       m4_default([$4], [AC_MSG_FAILURE(
 [The pkg-config script could not be found or is too old.  Make sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
 path to pkg-config.
 
 _PKG_TEXT
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
-               [$4])
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])
+        ])
 else
        $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
        $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
         AC_MSG_RESULT([yes])
-       ifelse([$3], , :, [$3])
+       $3
 fi[]dnl
 ])# PKG_CHECK_MODULES
 
index 345c7f19e1d06ff1c8e629a9de8eccf3c5e2f7e7..e1b03ae3bc7f2437b54dd7e300880950105298aa 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,11 +1,11 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65.
+# Generated by GNU Autoconf 2.66.
 #
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
 #
 #
 # This configure script is free software; the Free Software Foundation
@@ -316,7 +316,7 @@ $as_echo X"$as_dir" |
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -356,19 +356,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -530,7 +530,7 @@ test -n "$DJDIR" || exec 7<&0 </dev/null
 exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -561,6 +561,8 @@ LTLIBOBJS
 LIBOBJS
 GLIB_LIBS
 GLIB_CFLAGS
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
 PKG_CONFIG
 TAR
 MV
@@ -589,8 +591,6 @@ CPPFLAGS
 LDFLAGS
 CFLAGS
 CC
-NOINSTGOB
-INSTGOB
 SUBDIRS
 NOINSTGOB_FALSE
 NOINSTGOB_TRUE
@@ -676,6 +676,8 @@ CPP
 YACC
 YFLAGS
 PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
 GLIB_CFLAGS
 GLIB_LIBS'
 
@@ -786,7 +788,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -812,7 +814,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1016,7 +1018,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1032,7 +1034,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1062,8 +1064,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1071,7 +1073,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1089,13 +1091,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1118,7 +1120,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1132,8 +1134,8 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
+    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used" >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1148,9 +1150,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1189,11 +1191,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
        pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1233,7 +1235,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1311,6 +1313,10 @@ Some influential environment variables:
               This script will default YFLAGS to the empty string to avoid a
               default value of `-d' given by some make applications.
   PKG_CONFIG  path to pkg-config utility
+  PKG_CONFIG_PATH
+              directories to add to pkg-config's search path
+  PKG_CONFIG_LIBDIR
+              path overriding pkg-config's built-in search path
   GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config
   GLIB_LIBS   linker flags for GLIB, overriding pkg-config
 
@@ -1381,9 +1387,9 @@ test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 configure
-generated by GNU Autoconf 2.65
+generated by GNU Autoconf 2.66
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1561,7 +1567,7 @@ This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.65.  Invocation command line was
+generated by GNU Autoconf 2.66.  Invocation command line was
 
   $ $0 $@
 
@@ -1671,11 +1677,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -1709,11 +1713,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -1726,11 +1728,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -1744,11 +1744,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -1803,7 +1801,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -1818,7 +1821,11 @@ do
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
@@ -1894,7 +1901,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -1913,16 +1920,22 @@ am__api_version='1.11'
 
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -2038,11 +2051,11 @@ am_lf='
 '
 case `pwd` in
   *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
+    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
-    as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
 esac
 
 # Do `set' in a subshell so we don't clobber the current shell's
@@ -2064,7 +2077,7 @@ if (
       # if, for instance, CONFIG_SHELL is bash and it inherits a
       # broken ls alias from the environment.  This has actually
       # happened.  Such a system could not be considered "sane".
-      as_fn_error "ls -t appears to fail.  Make sure there is not a broken
+      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
 alias in your environment" "$LINENO" 5
    fi
 
@@ -2074,7 +2087,7 @@ then
    # Ok.
    :
 else
-   as_fn_error "newly created file is older than distributed files!
+   as_fn_error $? "newly created file is older than distributed files!
 Check your system clock" "$LINENO" 5
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
@@ -2312,7 +2325,7 @@ done
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
@@ -2320,7 +2333,7 @@ SHELL = /bin/sh
 all:
        @echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
 case `${MAKE-make} -f conftest.make 2>/dev/null` in
   *@@@%%%=?*=@@@%%%*)
     eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -2354,7 +2367,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then
   am__isrc=' -I$(srcdir)'
   # test to see if srcdir already configured
   if test -f $srcdir/config.status; then
-    as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
   fi
 fi
 
@@ -2370,7 +2383,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=gob2
- VERSION=2.0.17
+ VERSION=2.0.18
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2450,17 +2463,11 @@ if test -f ../NOINST_GOB ; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: *** NOT Going to install GOB ***" >&5
 $as_echo "*** NOT Going to install GOB ***" >&6; }
   SUBDIRS="src examples"
-  INSTGOB=""
-  NOINSTGOB="gob2"
 else
   SUBDIRS="src examples doc"
-  INSTGOB="gob2"
-  NOINSTGOB=""
 fi
 
 
-
-
 DEPDIR="${am__leading_dot}deps"
 
 ac_config_commands="$ac_config_commands depfiles"
@@ -2823,8 +2830,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -2938,9 +2945,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
@@ -2982,8 +2988,8 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
@@ -3040,9 +3046,9 @@ $as_echo "$ac_try_echo"; } >&5
     else
        { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
+as_fn_error $? "cannot run C compiled programs.
 If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
+See \`config.log' for more details" "$LINENO" 5; }
     fi
   fi
 fi
@@ -3093,8 +3099,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -3798,8 +3804,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4292,8 +4298,8 @@ if $ac_preproc_ok; then :
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -4354,7 +4360,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -4420,7 +4426,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -4673,7 +4679,7 @@ if test -f lex.yy.c; then
 elif test -f lexyy.c; then
   ac_cv_prog_lex_root=lexyy
 else
-  as_fn_error "cannot find output from $LEX; giving up" "$LINENO" 5
+  as_fn_error $? "cannot find output from $LEX; giving up" "$LINENO" 5
 fi
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5
@@ -4876,8 +4882,8 @@ if $ac_preproc_ok; then :
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5011,6 +5017,10 @@ fi
 
 
 
+
+
+
+
 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
        if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
@@ -5123,18 +5133,16 @@ $as_echo "yes" >&6; }
 $as_echo "no" >&6; }
                PKG_CONFIG=""
        fi
-
 fi
 
 pkg_failed=no
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB" >&5
 $as_echo_n "checking for GLIB... " >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GLIB_CFLAGS"; then
-        pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$GLIB_CFLAGS"; then
+    pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_REQUIRED\""; } >&5
   ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GLIB_REQUIRED") 2>&5
   ac_status=$?
@@ -5144,15 +5152,13 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-       pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GLIB_LIBS"; then
-        pkg_cv_GLIB_LIBS="$GLIB_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test -n "$GLIB_LIBS"; then
+    pkg_cv_GLIB_LIBS="$GLIB_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
     { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_REQUIRED\""; } >&5
   ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GLIB_REQUIRED") 2>&5
   ac_status=$?
@@ -5162,14 +5168,15 @@ if test -n "$PKG_CONFIG"; then
 else
   pkg_failed=yes
 fi
-    fi
-else
-       pkg_failed=untried
+ else
+    pkg_failed=untried
 fi
 
 
 
 if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -5177,14 +5184,14 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glib-2.0 >= $GLIB_REQUIRED"`
+               GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-2.0 >= $GLIB_REQUIRED" 2>&1`
         else
-               GLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0 >= $GLIB_REQUIRED"`
+               GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-2.0 >= $GLIB_REQUIRED" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$GLIB_PKG_ERRORS" >&5
 
-       as_fn_error "Package requirements (glib-2.0 >= $GLIB_REQUIRED) were not met:
+       as_fn_error $? "Package requirements (glib-2.0 >= $GLIB_REQUIRED) were not met:
 
 $GLIB_PKG_ERRORS
 
@@ -5193,12 +5200,14 @@ installed software in a non-standard prefix.
 
 Alternatively, you may set the environment variables GLIB_CFLAGS
 and GLIB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" "$LINENO" 5
+See the pkg-config man page for more details." "$LINENO" 5
+
 elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
        { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
+as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
 path to pkg-config.
 
@@ -5207,13 +5216,14 @@ and GLIB_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details.
 
 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details." "$LINENO" 5; }
+See \`config.log' for more details" "$LINENO" 5; }
+
 else
        GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS
        GLIB_LIBS=$pkg_cv_GLIB_LIBS
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-       :
+
 fi
 
 
@@ -5310,6 +5320,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -5333,23 +5344,23 @@ else
 fi
 
 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${NOINSTGOB_TRUE}" && test -z "${NOINSTGOB_FALSE}"; then
-  as_fn_error "conditional \"NOINSTGOB\" was never defined.
+  as_fn_error $? "conditional \"NOINSTGOB\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error "conditional \"AMDEP\" was never defined.
+  as_fn_error $? "conditional \"AMDEP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCC\" was never defined.
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCC\" was never defined.
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
@@ -5499,19 +5510,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -5707,7 +5718,7 @@ $as_echo X"$as_dir" |
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -5761,7 +5772,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # values after options handling.
 ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.65.  Invocation command line was
+generated by GNU Autoconf 2.66.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -5827,10 +5838,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.65,
+configured by $0, generated by GNU Autoconf 2.66,
   with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -5886,7 +5897,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -5895,7 +5906,7 @@ Try \`$0 --help' for more information.";;
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -5958,7 +5969,7 @@ do
     "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
     "doc/gob2.1") CONFIG_FILES="$CONFIG_FILES doc/gob2.1" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -5996,7 +6007,7 @@ $debug ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -6013,7 +6024,7 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
@@ -6027,18 +6038,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -6127,20 +6138,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
 else
   cat
 fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[    ]*\):*/\1/
+  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
+h
+s///
+s/^/:/
+s/[     ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[  ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[      ]*$//
 }'
 fi
@@ -6168,7 +6187,7 @@ for ac_last_try in false false :; do
   if test -z "$ac_t"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -6253,7 +6272,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -6266,7 +6285,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -6294,7 +6313,7 @@ do
           [\\/$]*) false;;
           *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
           esac ||
-          as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+          as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -6321,7 +6340,7 @@ $as_echo "$as_me: creating $ac_file" >&6;}
 
     case $ac_tag in
     *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -6458,22 +6477,22 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t
 $ac_datarootdir_hack
 "
 eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
   { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
   { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
   rm -f "$tmp/stdin"
   case $ac_file in
   -) cat "$tmp/out" && rm -f "$tmp/out";;
   *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -6484,19 +6503,19 @@ which seems to be undefined.  Please make sure it is defined." >&2;}
       $as_echo "/* $configure_input  */" \
       && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
     } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
     if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
       mv "$tmp/config.h" "$ac_file" \
-       || as_fn_error "could not create $ac_file" "$LINENO" 5
+       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
       && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
 # Compute "$ac_file"'s index in $config_headers.
 _am_arg="$ac_file"
@@ -6646,7 +6665,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -6667,7 +6686,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
index a88ebd1a9d7656ded9d3aea506ba4c15d6eb6d97..adfc6453d15c26deb1add9b0181411144254d3eb 100644 (file)
@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
 AC_PREREQ(2.2)
 AC_INIT(src/treefuncs.h)
 AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(gob2,2.0.17)
+AM_INIT_AUTOMAKE(gob2,2.0.18)
 AM_MAINTAINER_MODE
 
 GLIB_REQUIRED=2.0.0
@@ -19,16 +19,10 @@ dnl Is there a way to test NOINSTGOB here ?
 if test -f ../NOINST_GOB ; then
   AC_MSG_RESULT([*** NOT Going to install GOB ***])
   SUBDIRS="src examples"
-  INSTGOB=""
-  NOINSTGOB="gob2"
 else
   SUBDIRS="src examples doc"
-  INSTGOB="gob2"
-  NOINSTGOB=""
 fi
 AC_SUBST(SUBDIRS)
-AC_SUBST(INSTGOB)
-AC_SUBST(NOINSTGOB)
 
 dnl Checks for programs.
 AC_ISC_POSIX
index 455e21f07b5c6e54d7764aac7e1d06c980082f6d..e0db9898f0b7d96e23b0dad336f0dad82acffff2 100644 (file)
@@ -137,7 +137,6 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTGOB = @INSTGOB@
 LDFLAGS = @LDFLAGS@
 LEX = @LEX@
 LEXLIB = @LEXLIB@
@@ -149,7 +148,6 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MV = @MV@
-NOINSTGOB = @NOINSTGOB@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -160,6 +158,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 RM = @RM@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
index 904691ebb0f61659edb7a9fa25dc2dd5da277a8d..31f7bfb260dfc9d5c610804e3c85e0c7ce5fe1c5 100644 (file)
@@ -1,6 +1,6 @@
 .\"
 .\" gob manual page
-.\" (C) 1999,2000,2001,2002,2005 George Lebl <jirka@5z.com>
+.\" (C) 1999-2011 Jiri (George) Lebl <jirka@5z.com>
 .\" 
 .\" This manual page is covered by the terms of the GNU General
 .\" Public License.  
@@ -26,92 +26,92 @@ language.
 .SH OPTIONS
 .PP
 .TP
-.B -? -h --help
+.B \-? \-h \-\-help
 Display a simple help screen.
 .TP
-.B --version
+.B \-\-version
 Display version information
 .TP
-.B -w --exit-on-warn
+.B \-w \-\-exit\-on\-warn
 Exit with an error code even when you encounter a warning.
 .TP
-.B --no-exit-on-warn
+.B \-\-no\-exit\-on\-warn
 Exit with an error only on errors, not on warnings, this is the default.
 .TP
-.B --for-cpp
+.B \-\-for\-cpp
 Generate C++ code.
 .TP
-.B --no-extern-c
+.B \-\-no\-extern\-c
 Never add the extern "C" to the header.
 .TP
-.B --no-gnu
+.B \-\-no\-gnu
 Never generate any code with GNU C extensions.  However all the GNU C
 extensions are always wrapped in #ifdef __GNUC__, so code using them compiles
 correctly even on non-GNU compilers.  This option is for purists only.
 (using GNU extensions some warnings are eliminated, some ugly hacks and there
 is better argument type safety, so it\'s good to use them)
 .TP
-.B --no-touch
+.B \-\-no\-touch
 Don\'t touch output files unless they really
-changed (implies --no-touch-headers).  Be careful with automake, see section
+changed (implies \-\-no\-touch\-headers).  Be careful with automake, see section
 PREVENTING SPURIOUS BUILDS.
 .TP
-.B --no-touch-headers
+.B \-\-no\-touch\-headers
 Don\'t touch the generated header file unless it really changed, this avoids
 spurious rebuilds, but can confuse some make systems (automake in particular),
 so it is not enabled by default.  Private header is still touched even if
 unchanged however.
 .TP
-.B --always-private-header
+.B \-\-always\-private\-header
 Always create a \fB<basename>-private.h\fR file, even if it would be empty.
 .TP
-.B --ondemand-private-header
+.B \-\-ondemand\-private\-header
 Create the private header only if it would have something in it, that is,
 if there are some private data members or protected methods.
 This is the default.
 .TP
-.B --no-private-header
+.B \-\-no\-private\-header
 Never create a private header file.  If we use any private data members,
 define the private data structure at the point in the .c source where
 the class definition begins.
 .TP
-.B --m4
+.B \-\-m4
 Preprocess source with m4. Following args will be passed to m4.
 .TP
-.B --m4-dir
+.B \-\-m4\-dir
 Print directory that will be searched for m4 files.
 .TP
-.B -n --no-write
+.B \-n \-\-no\-write
 Do not write any output files, just check syntax of the input file.
 .TP
-.B --no-lines
+.B \-\-no\-lines
 Do not print out the \'#line\' statements into the output.  Useful for debugging
 the auto-generated generated code.
 .TP
-.B --no-self-alias
+.B \-\-no\-self\-alias
 Do not create the Self and SelfClass type aliases and the SELF, IS_SELF
 and SELF_CLASS macros.
 .TP
-.B --no-kill-underscores
+.B \-\-no\-kill\-underscores
 Do not remove the initial underscore from method names.
 .TP
-.B --always-private-struct
+.B \-\-always\-private\-struct
 Always include the private pointer in the public header file.  This is useful
 for files which are part of a library and you want to reserve the right to add
 some private data members without breaking binary compatibility.
 .TP
-.B -o --output-dir
+.B \-o \-\-output\-dir
 The directory into which output should be placed.
 .TP
-.B --file-sep[=c]
-Replace default \`-\' file name separator.  If no separator character
+.B \-\-file\-sep[=c]
+Replace default \'\-\' file name separator.  If no separator character
 is given then none is used.  Only one character can be used.
 
 .SH TYPENAMES
 .PP
 Because we need to parse out different parts of the typename, sometimes you
 need to specify the typename with some special syntax.  Types are specified in
-capitalized form and words are separated by \`:\'.  The first word of the type
+capitalized form and words are separated by \':\'.  The first word of the type
 (which can be empty) is the "namespace".  This fact is for example used for the
 type checking macro and the type macro.  For "Gtk:New:Button", the macros will
 be GTK_IS_NEW_BUTTON and GTK_TYPE_NEW_BUTTON.  This colon separated format of
@@ -121,14 +121,14 @@ types.
 .SH OUTPUT FILES
 .PP
 The filenames are created from the typename.  The words are
-separated by \`-\' (this can be changed with
-\fB--file-sep\fR option) and all in lower case.  For example for an object named
-"Gtk:New:Button", the files are \fBgtk-new-button.c\fR and
-\fBgtk-new-button.h\fR.
+separated by \'\-\' (this can be changed with
+\fB\-\-file\-sep\fR option) and all in lower case.  For example for an object named
+"Gtk:New:Button", the files are \fBgtk\-new\-button.c\fR and
+\fBgtk\-new\-button.h\fR.
 If you are using C++ mode, the output .c file will in fact be a .cc file.
 If you have any private data members, a private header file will also
-be created, called \fB<basename>-private.h\fR (for the example above it
-would be gtk-new-button-private.h).
+be created, called \fB<basename>\-private.h\fR (for the example above it
+would be gtk\-new\-button\-private.h).
 The public header file is created to be human readable and to be used as a
 reference to the object.  The .c source file is not created as a human
 readable source and is littered with #line statements, which make the
@@ -150,14 +150,21 @@ the extern "C" and the protecting define.  To do this you can put them
 into the \'headertop\' (or \'ht\') section.  You may wish to include code or
 comments in all the files, which you can do by putting them into the \'all\'
 (or \'a\') section.  Similarly, code you wish to appear at the top of all
-files go in the \'alltop\' (or \'at\') section.  Finally,
+files go in the \'alltop\' (or \'at\') section.  When you want code
+to appear as in alltop but only in the cfile you use the \'ctop\' (or \'ct\')
+section.  Note that ctop requires 2.0.18.   Finally,
 \'afterdecls\' includes code between the declarations and the method
 implementations, but note that \'afterdecls\' requires version 2.0.16.
 For example:
 .nf
 
   %alltop{
-        /* this will be on top of all output files */
+        /* this will be at the very top of all output files */
+  %}
+
+  %ctop{
+        /* this will be at the very top of the C file */
+        /* Requires 2.0.18 */
   %}
 
   %headertop{
@@ -201,7 +208,7 @@ it automatically.  This way you can avoid circular includes and control
 where in the file do you want to include the header.
 .PP
 If you made any data members private, gob will also create a source file
-that will be called \fB<basename>-private.h\fR.  Same rule as above applies
+that will be called \fB<basename>\-private.h\fR.  Same rule as above applies
 for this just as it does for the regular header file.  If you do explicitly
 include the regular header file, you should always include this private
 header file below it.  That is, if you use any private data members.  If you
@@ -250,7 +257,7 @@ Public and protected data members are accessed normally as members of
 the object struct.  Example where \'i\' is as above a public data member:
 .nf
 
-  object->i = 1;
+  object\->i = 1;
 
 .fi
 .PP
@@ -260,10 +267,10 @@ them using the structure _priv.  Example
 where \'h\' is the private data member (as in the above example):
 .nf
 
-  object->_priv->h = NULL;
+  object\->_priv\->h = NULL;
 
 .fi
-The _priv structure is defined in the \fB<basename>-private.h\fR.
+The _priv structure is defined in the \fB<basename>\-private.h\fR.
 This file is automatically included if you don\'t include it yourself.  You
 should always explicitly include it in your .gob file if you explicitly also
 include the main header file.  The reason it is a separate header file is
@@ -272,7 +279,7 @@ private data, such as if you have the majority of functionality of an object
 in a separate .c file.  Or if a derived object needs to access the protected
 methods.
 .PP
-In case you use the \fB--no-private-header\fR option, no
+In case you use the \fB\-\-no\-private\-header\fR option, no
 private header file is created and you can only access the _priv pointer
 below the class definition in the .gob file.
 .PP
@@ -295,7 +302,7 @@ YOUR_OBJECT_NAME_GET_CLASS) to get at the class.
 Thus the following would work:
 .nf
 
-  SELF_GET_CLASS(object)->foo = 20;
+  SELF_GET_CLASS(object)\->foo = 20;
 
 .fi
 .PP
@@ -310,11 +317,11 @@ initializations by putting it all in curly braces.  Note that the curly braces
 will not be printed into the output, but since gob does not C parsing it needs
 them to figure out where the C code ends.  The code will be inserted into the
 init method, above the user defined body.  So for example the following
-will initialize an integer to -1 and a string with a newly allocated string
+will initialize an integer to \-1 and a string with a newly allocated string
 of "hello".
 .nf
 
-  public int foo = -1;
+  public int foo = \-1;
   private char *bar = {g_strdup("hello")};
 
 .fi
@@ -423,8 +430,8 @@ be synchronized with a private integer data member also of the name \'height\'.
           minimum = 10,
           maximum = 200,
           default_value = 100)
-        set { self->_priv->height = g_value_get_int (VAL); }
-        get { g_value_set_int (VAL, self->_priv->height); };
+        set { self\->_priv\->height = g_value_get_int (VAL); }
+        get { g_value_set_int (VAL, self\->_priv\->height); };
 
 .fi
 .PP
@@ -438,7 +445,7 @@ instead of just "string", and that will mark the string for translation.
 .PP
 Almost all types also have a \'default_value\' attribute which sets the initial
 value of this property (on object initialization, the set handler will be run
-automatically with this value).  This value will be overriden if the user 
+automatically with this value).  This value will be overridden if the user 
 sets a value of this property on the call to g_object_new.
 .PP
 All the numeric types (including CHAR) have \'minimum\' and \'maximum\'
@@ -555,8 +562,8 @@ had a \'height\' property then you could override it by
   private int height;
   property INT height
          (override)
-        set { self->_priv->height = g_value_get_int (VAL); }
-        get { g_value_set_int (VAL, self->_priv->height); };
+        set { self\->_priv\->height = g_value_get_int (VAL); }
+        get { g_value_set_int (VAL, self\->_priv\->height); };
 
 .fi
 Overriding is supported since gob 2.0.10.
@@ -671,7 +678,7 @@ return value with the keyword \'defreturn\'.  It\'s use is identical to the
 use of onerror, and you can in fact use both at the same time.  Example
 .nf
 
-  virtual int get_some_int (self) onerror -1 defreturn 10 ;
+  virtual int get_some_int (self) onerror \-1 defreturn 10 ;
 
 .fi
 That is an empty virtual method (in C++ terms a pure virtual).  If you never
@@ -689,13 +696,13 @@ For example:
 
   init (self) {
           /* initialize the object here */
-          self->a = 9;
-          self->b = 9;
+          self\->a = 9;
+          self\->b = 9;
   }
 
   class_init (class) {
           /* initialize the class, this is rarely needed */
-          class->blah = NULL;
+          class\->blah = NULL;
   }
 
 .fi
@@ -860,7 +867,7 @@ Example:
   private int
   foo (self)
   {
-         return self->len;
+         return self\->len;
   }
   
   private int
@@ -909,7 +916,7 @@ prototyping stage.  However you should note that the Self type should not be
 used in function prototypes as one of the arguments or as a return value type.
 This is because this is a simple C typedef which is only available inside your
 \&.c file and not in the header files.  You can disable both the self casting
-macros and the self type aliases by passing --no-self-alias to gob.
+macros and the self type aliases by passing \-\-no\-self\-alias to gob.
 
 .SH DEALING WITH DIFFERENT GOB VERSIONS
 .PP
@@ -987,7 +994,7 @@ C code:
 .SH C++ MODE
 .PP
 There is a C++ mode so that gob creates C++ compiler friendly files.  You need
-to use the --for-cpp argument to gob.  This will make the generated file have
+to use the \-\-for\-cpp argument to gob.  This will make the generated file have
 a .cc instead of a .c extension, and several things will be adjusted to
 make it all work for a C++ compiler.  One thing that will be missing is an
 alias to the new method, as that clashes with C++, so instead you\'ll have to
@@ -1097,7 +1104,7 @@ Note that the implementation method can be private, in fact that\'s probably
 a good idea to do.  It won\'t work to make this a signal, it can however
 be a virtual.  Note that the method prototype must match the one from the
 interface header file, or you will get a bad assignment warning.  You should
-check the header file generated by orbit-idl and see the epv structure
+check the header file generated by orbit\-idl and see the epv structure
 for the correct prototypes if you can\'t figure them out from the idl itself.
 Also note that the first argument is not "self", but the servant and you must
 use bonobo_object_from_servant function to get the actual object pointer.
@@ -1110,13 +1117,13 @@ with the glade file name, root widget and optional domain  as arguments
 between double quotes.  For example:
 .nf
 
-class My:Glade from Gtk:Window (GladeXML "gob-libglade.glade" "root")
+class My:Glade from Gtk:Window (GladeXML "gob\-libglade.glade" "root")
 {
   ....
 }
 
 .fi
-Note however that then "gob-libglade.glade" would have to be in the current
+Note however that then "gob\-libglade.glade" would have to be in the current
 directory.  You could specify a path, but that may not work for all
 installations.  You can replace the glade filename with a token to be used
 in the generated .c file and you can then have a macro with the filename,
@@ -1187,9 +1194,9 @@ As for types, there are Self and SelfClass types which are only defined in your
 source files.  Their generation (just like the generation of the SELF macros)
 can be turned off, see command line options.
 
-.SH USING GTK-DOC STYLE INLINE DOCUMENTATION
+.SH USING GTK\-DOC STYLE INLINE DOCUMENTATION
 .PP
-If you want to use gtk-doc style inline documentation for your objects, you
+If you want to use gtk\-doc style inline documentation for your objects, you
 can do one of two things.  First, you could include the inline documentation
 comments in your %{ %} section which will then be put verbatim into the
 output source file.  This is the way you should use for functions you define
@@ -1230,7 +1237,7 @@ class and vice versa.  Obviously you can\'t include headers for both.  So you
 need to just declare the typedef in the header of A for B, and the other way
 around as well.  The headers generated include a protecting
 define before it declares the typedef.  This define is the
-__TYPEDEF_<upper case object name>__.  So inside my-object-a.h there will be
+__TYPEDEF_<upper case object name>__.  So inside my\-object\-a.h there will be
 this:
 .nf
 
@@ -1240,8 +1247,8 @@ this:
   #endif
 
 .fi
-Now instead of including my-object-a.h in the header section of
-my-object-b.gob, just copy the above code there and you\'re set for using
+Now instead of including my\-object\-a.h in the header section of
+my\-object\-b.gob, just copy the above code there and you\'re set for using
 MyObjectA as a type in the method parameters and public types.
 .PP
 Another way to get out of this problem is if you can use those types only
@@ -1256,7 +1263,7 @@ and then just use the .c and .h files as usual (make sure the space
 before the \'gob2\' is a tab, not spaces):
 .nf
 
-  %.c %.h %-private.h: %.gob
+  %.c %.h %\-private.h: %.gob
           gob2 $<
 
 .fi
@@ -1275,7 +1282,7 @@ This will replace @GOB2@ in your makefiles with the full path of gob2.  Thus
 when adding the generic rule to your Makefile.am file, it should look like:
 .nf
 
-  %.c %.h %-private.h: %.gob
+  %.c %.h %\-private.h: %.gob
           @GOB2@ $<
 
 .fi
@@ -1288,18 +1295,18 @@ program.
 .SH PREVENTING SPURIOUS BUILDS
 .PP
 When nothing has changed you might not really want to rebuild everything and
-gob provides options --no-touch (since 2.0.13) and --no-touch-headers to avoid
+gob provides options \-\-no\-touch (since 2.0.13) and \-\-no\-touch\-headers to avoid
 this.  When working with build systems such as automake you have to be more
 careful as just using those options can cause automake to get confused and you
 will need to use something like the following:
 .nf
 
-  foo_SOURCES = foo.gob foo.gob.stamp foo.c foo.h foo-private.h
+  foo_SOURCES = foo.gob foo.gob.stamp foo.c foo.h foo\-private.h
   BUILT_SOURCES = foo.gob.stamp
   MAINTAINERCLEANFILES = foo.gob.stamp
 
   %.gob.stamp: %.gob
-          @GOB2@ --no-touch $<
+          @GOB2@ \-\-no\-touch $<
           @touch $@
 
 .fi 
@@ -1311,7 +1318,7 @@ preprocessor commands into the output c file that point to the correct places
 in your .gob input file.  However sometimes there might be some bigger
 confusion and this is just not helpful.  In this case you will probably want
 to have gcc point you directly at the generated files.  For this use
-the --no-lines command line option.  You should also note that these commands
+the \-\-no\-lines command line option.  You should also note that these commands
 are not generated for the public header file at all.  If there is an error which
 points you to the public header file, make sure you fix this error in the .gob
 file, otherwise your changes will not have any effect after gob recompiles the
@@ -1325,11 +1332,11 @@ with a pretty name of the method.
 .PP
 It is possible to have your .gob file also preprocessed by m4.  This is useful
 if you have a lot of files and you\'d like to have some preprocessor put in
-some common features.  All you have to do is add --m4 to the command line
+some common features.  All you have to do is add \-\-m4 to the command line
 of gob2 and gob2 will first run your file through m4.  You can print the
-directory that is searched for m4 files by running "gob2 --m4-dir"
+directory that is searched for m4 files by running "gob2 \-\-m4\-dir"
 .PP
-All the arguments after --m4 will be passed to m4 itself, so it has to be the
+All the arguments after \-\-m4 will be passed to m4 itself, so it has to be the
 last gob2 argument on the command line.  This way you can specify arbitrary
 options to pass to m4.
 
@@ -1374,7 +1381,7 @@ And if you use it make sure that you do not cross the boundaries of the C
 code segments.
 .PP
 Comments will not get through to the generated files unless inside C code.
-This is not the case for gtk-doc style comments which are supported.
+This is not the case for gtk\-doc style comments which are supported.
 .PP
 The short name aliases are actually implemented as pointers to functions.  Thus
 if you want to get the pointer of a function using the short name alias you
index 7dc87b6bd1bb5dbf823b7df19f642f3b199305c6..d06a9eaa7a7b7cb733dd1469ad8a9d596466f9f1 100644 (file)
@@ -111,7 +111,6 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTGOB = @INSTGOB@
 LDFLAGS = @LDFLAGS@
 LEX = @LEX@
 LEXLIB = @LEXLIB@
@@ -123,7 +122,6 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MV = @MV@
-NOINSTGOB = @NOINSTGOB@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -134,6 +132,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 RM = @RM@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
diff --git a/gob2.m4 b/gob2.m4
index b3659fa1f4c965b1697c759d3a5c35cbd26a1b02..196d6c24e358815ce05a64e3288df5f5e925b52a 100644 (file)
--- a/gob2.m4
+++ b/gob2.m4
@@ -54,5 +54,5 @@ AC_DEFUN([GOB2_HOOK],[
 ])
 
 AC_DEFUN([GOB2_CHECK],[
-       GOB2_HOOK($1,[],[AC_MSG_WARN([Cannot find GOB-2, check http://www.5z.com/jirka/gob.html])])
+       GOB2_HOOK($1,[],[AC_MSG_ERROR([Cannot find GOB-2, check http://www.5z.com/jirka/gob.html])])
 ])
index cfae2f4cc2151ba75cf1099c5d8f0e74c52d4763..d0a5b6805bfa931f57889dcfab6f8b777de97caa 100644 (file)
--- a/gob2.spec
+++ b/gob2.spec
@@ -1,4 +1,4 @@
-%define  ver     2.0.17
+%define  ver     2.0.18
 %define  rel     1
 %define  prefix  /usr
 
index 585fe091451287828b8d085dc9db6953f68d1468..e72178f013935b490897ffa3fdaf58253f111981 100644 (file)
@@ -21,9 +21,9 @@ INCLUDES = \
        -I$(includedir)
 
 if NOINSTGOB
-noinst_PROGRAMS = @NOINSTGOB@
+noinst_PROGRAMS = gob2
 else
-bin_PROGRAMS = @INSTGOB@
+bin_PROGRAMS = gob2
 endif
 EXTRA_PROGRAMS = gob2
 
index c45da2c989ec3def0625336f3f053df07474743a..5635fb323a8d81cd0c97475bcfdc2543140c9532 100644 (file)
@@ -32,6 +32,8 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+@NOINSTGOB_TRUE@noinst_PROGRAMS = gob2$(EXEEXT)
+@NOINSTGOB_FALSE@bin_PROGRAMS = gob2$(EXEEXT)
 EXTRA_PROGRAMS = gob2$(EXEEXT)
 subdir = src
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in lexer.c \
@@ -144,7 +146,6 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTGOB = @INSTGOB@
 LDFLAGS = @LDFLAGS@
 LEX = @LEX@
 LEXLIB = @LEXLIB@
@@ -156,7 +157,6 @@ MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 MV = @MV@
-NOINSTGOB = @NOINSTGOB@
 OBJEXT = @OBJEXT@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -167,6 +167,8 @@ PACKAGE_URL = @PACKAGE_URL@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
 RM = @RM@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
@@ -229,8 +231,6 @@ INCLUDES = \
        -I$(top_srcdir)/src     \
        -I$(includedir)
 
-@NOINSTGOB_TRUE@noinst_PROGRAMS = @NOINSTGOB@
-@NOINSTGOB_FALSE@bin_PROGRAMS = @INSTGOB@
 BUILT_SOURCES = parse.h parse.c lexer.c
 gob2_SOURCES = \
        main.c          \
index 21a7f945d48d2dc38e825bb9a33d2f03bcbfbd89..cc13df508dc6b66dfe57cb65f47c5fdd87d86af6 100644 (file)
@@ -53,6 +53,7 @@ typedef int flex_int32_t;
 typedef unsigned char flex_uint8_t; 
 typedef unsigned short int flex_uint16_t;
 typedef unsigned int flex_uint32_t;
+#endif /* ! C99 */
 
 /* Limits of integral types. */
 #ifndef INT8_MIN
@@ -83,8 +84,6 @@ typedef unsigned int flex_uint32_t;
 #define UINT32_MAX             (4294967295U)
 #endif
 
-#endif /* ! C99 */
-
 #endif /* ! FLEXINT_H */
 
 #ifdef __cplusplus
@@ -141,15 +140,7 @@ typedef unsigned int flex_uint32_t;
 
 /* Size of default input buffer. */
 #ifndef YY_BUF_SIZE
-#ifdef __ia64__
-/* On IA-64, the buffer size is 16k, not 8k.
- * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
- * Ditto for the __ia64__ case accordingly.
- */
-#define YY_BUF_SIZE 32768
-#else
 #define YY_BUF_SIZE 16384
-#endif /* __ia64__ */
 #endif
 
 /* The state buf must be large enough to hold one state per character in the main buffer.
@@ -368,8 +359,8 @@ static void yy_fatal_error (yyconst char msg[]  );
        *yy_cp = '\0'; \
        (yy_c_buf_p) = yy_cp;
 
-#define YY_NUM_RULES 121
-#define YY_END_OF_BUFFER 122
+#define YY_NUM_RULES 122
+#define YY_END_OF_BUFFER 123
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -377,83 +368,83 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_acclist[652] =
+static yyconst flex_int16_t yy_acclist[653] =
     {   0,
-      122,  119,  121,  117,  119,  121,    1,  118,  121,  118,
-      119,  121,  119,  121,  119,  121,  119,  121,  106,  119,
-      121,  106,  119,  121,  119,  121,  110,  119,  121,  110,
-      119,  121,  110,  119,  121,  110,  119,  121,  117,  119,
-      121,  119,  121,  119,  121,  110,  119,  121,  110,  119,
-      121,   29,  119,  121,    1,   30,  118,  121,   29,  118,
-      119,  121,   29,  119,  121,   29,  119,  121,   29,  119,
-      121,   54,  119,  121,    1,   55,  118,  121,   54,  118,
-      119,  121,   46,   54,  119,  121,   54,  119,  121,   54,
-      119,  121,   54,  119,  121,   52,   54,  119,  121,   53,
-
-       54,  119,  121,   54,  119,  121,   54,  119,  121,   50,
-      119,  121,    1,   51,  118,  121,   50,  118,  119,  121,
-       49,   50,  119,  121,   50,  119,  121,   50,  119,  121,
-       63,  119,  121,  119,  121,  110,  119,  121,  110,  119,
-      121,  110,  119,  121,  114,  119,  121,   66,  119,  121,
-        1,   67,  118,  121,   66,  118,  119,  121,   65,   66,
-      119,  121,   66,  119,  121,   66,  119,  121,  119,  121,
-      119,  121,  119,  121,  119,  121,  110,  119,  121,  110,
-      119,  121,  110,  119,  121,  110,  119,  121,  110,  119,
-      121,  110,  119,  121,  110,  119,  121,  110,  119,  121,
-
-      110,  119,  121,  110,  119,  121,  110,  119,  121,  110,
-      119,  121,  115,  119,  121,  116,  119,  121,  103,  119,
-      121,   47,  119,  121,  104,  119,  121,  105,  119,  121,
-      119,  121,  110,  119,  121,  110,  119,  121,  110,  119,
-      121,  110,  119,  121,  110,  119,  121,  110,  119,  121,
-      110,  119,  121,  110,  119,  121,  110,  119,  121,  110,
-      119,  121,  110,  119,  121,  110,  119,  121,   10,  119,
-      121,   10,  118,  119,  121,   10,  119,  121,   10,  119,
-      121,   10,  119,  121,   10,  119,  121,   15,  119,  121,
-       15,  118,  119,  121,   15,  119,  121,   15,  119,  121,
-
-       15,  119,  121,   15,  119,  121,   18,  119,  121,   18,
-      118,  119,  121,   18,  119,  121,   18,  119,  121,  106,
-       23,  106,  106,  109,  110,  110,  110,  110,  110,   36,
-      110,  110,   28,   24,   45,   38,   48,   25,  110,  110,
-      110,   64,   26,  113,  112,  110,  110,  110,  110,  110,
-      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
-      110,  110,  110,   27,  110,  110,  110,  110,  110,  110,
-      110,  110,  110,  110,  110,  110,    9,    7,   14,   13,
-       11,   12,   14,   17,   16,  111,  111,  106,    3,  106,
-      106,  109,  107,  108,  110,  110,  110,  110,   31,   35,
-
-      110,  110,   43,   39,   41,   19,   20,  110,  110,  110,
-       81,   21,  110,  110,  110,  110,  110,  110,  110,   76,
-      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
-      110,  110,  110,   22,  110,  110,  110,  110,  110,  110,
-      110,  110,  110,  110,  110,  110,   12,  109,  107,  108,
-      110,   58,  110,  110,  110,   37,   32,   33,   34,  110,
-      110,   44,   40,   42,  110,   62,  110,   61,  110,    6,
-      110,   79,  110,  110,  110,  110,   71,  110,  110,   74,
-      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
-      110,  110,   68,  110,  110,  110,  110,   71,  110,  110,
-
-      110,  110,   91,  110,  110,  110,  110,   97,  110,    8,
-      109,   56,  110,   57,  110,   59,  110,  110,  110,  110,
-       61,  110,   80,  110,  110,   77,  110,  110,  110,  110,
-      110,  110,   75,  110,  110,  110,  110,   70,  110,  110,
-      110,   92,  110,  110,  110,  110,   96,  110,  110,  110,
-      110,  110,  110,  110,  110,  110,   78,  110,  110,  110,
-      110,  110,   82,  110,   88,  110,   72,  110,   69,  110,
-      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
-        4,  110,  110,  110,  110,  110,   83,  110,  110,  110,
-      110,   87,  110,  110,  110,  110,  110,   93,  110,   94,
-
-      110,  110,  110,  110,  110,   86,  110,  110,   89,  110,
-       90,  110,  110,   73,  110,  110,  110,  110,  110,  110,
-      110,   85,  110,   84,  110,  110,  110,   99,  110,  110,
-      110,  110,    4,    2,  101,  110,  110,   98,  110,  110,
-      100,  110,  120,    5,  110,  102,  110,  110,   95,  110,
-       60
+      123,  120,  122,  118,  120,  122,    1,  119,  122,  119,
+      120,  122,  120,  122,  120,  122,  120,  122,  107,  120,
+      122,  107,  120,  122,  120,  122,  111,  120,  122,  111,
+      120,  122,  111,  120,  122,  111,  120,  122,  118,  120,
+      122,  120,  122,  120,  122,  111,  120,  122,  111,  120,
+      122,   29,  120,  122,    1,   30,  119,  122,   29,  119,
+      120,  122,   29,  120,  122,   29,  120,  122,   29,  120,
+      122,   55,  120,  122,    1,   56,  119,  122,   55,  119,
+      120,  122,   47,   55,  120,  122,   55,  120,  122,   55,
+      120,  122,   55,  120,  122,   53,   55,  120,  122,   54,
+
+       55,  120,  122,   55,  120,  122,   55,  120,  122,   51,
+      120,  122,    1,   52,  119,  122,   51,  119,  120,  122,
+       50,   51,  120,  122,   51,  120,  122,   51,  120,  122,
+       64,  120,  122,  120,  122,  111,  120,  122,  111,  120,
+      122,  111,  120,  122,  115,  120,  122,   67,  120,  122,
+        1,   68,  119,  122,   67,  119,  120,  122,   66,   67,
+      120,  122,   67,  120,  122,   67,  120,  122,  120,  122,
+      120,  122,  120,  122,  120,  122,  111,  120,  122,  111,
+      120,  122,  111,  120,  122,  111,  120,  122,  111,  120,
+      122,  111,  120,  122,  111,  120,  122,  111,  120,  122,
+
+      111,  120,  122,  111,  120,  122,  111,  120,  122,  111,
+      120,  122,  116,  120,  122,  117,  120,  122,  104,  120,
+      122,   48,  120,  122,  105,  120,  122,  106,  120,  122,
+      120,  122,  111,  120,  122,  111,  120,  122,  111,  120,
+      122,  111,  120,  122,  111,  120,  122,  111,  120,  122,
+      111,  120,  122,  111,  120,  122,  111,  120,  122,  111,
+      120,  122,  111,  120,  122,  111,  120,  122,   10,  120,
+      122,   10,  119,  120,  122,   10,  120,  122,   10,  120,
+      122,   10,  120,  122,   10,  120,  122,   15,  120,  122,
+       15,  119,  120,  122,   15,  120,  122,   15,  120,  122,
+
+       15,  120,  122,   15,  120,  122,   18,  120,  122,   18,
+      119,  120,  122,   18,  120,  122,   18,  120,  122,  107,
+       23,  107,  107,  110,  111,  111,  111,  111,  111,   36,
+      111,  111,   28,   24,   46,   39,   49,   25,  111,  111,
+      111,   65,   26,  114,  113,  111,  111,  111,  111,  111,
+      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
+      111,  111,  111,   27,  111,  111,  111,  111,  111,  111,
+      111,  111,  111,  111,  111,  111,    9,    7,   14,   13,
+       11,   12,   14,   17,   16,  112,  112,  107,    3,  107,
+      107,  110,  108,  109,  111,  111,  111,  111,   31,   35,
+
+      111,  111,   44,   40,   42,   19,   20,  111,  111,  111,
+       82,   21,  111,  111,  111,  111,  111,  111,  111,   77,
+      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
+      111,  111,  111,   22,  111,  111,  111,  111,  111,  111,
+      111,  111,  111,  111,  111,  111,   12,  110,  108,  109,
+      111,   59,  111,  111,  111,   38,   32,   37,   33,   34,
+      111,  111,   45,   41,   43,  111,   63,  111,   62,  111,
+        6,  111,   80,  111,  111,  111,  111,   72,  111,  111,
+       75,  111,  111,  111,  111,  111,  111,  111,  111,  111,
+      111,  111,  111,   69,  111,  111,  111,  111,   72,  111,
+
+      111,  111,  111,   92,  111,  111,  111,  111,   98,  111,
+        8,  110,   57,  111,   58,  111,   60,  111,  111,  111,
+      111,   62,  111,   81,  111,  111,   78,  111,  111,  111,
+      111,  111,  111,   76,  111,  111,  111,  111,   71,  111,
+      111,  111,   93,  111,  111,  111,  111,   97,  111,  111,
+      111,  111,  111,  111,  111,  111,  111,   79,  111,  111,
+      111,  111,  111,   83,  111,   89,  111,   73,  111,   70,
+      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
+      111,    4,  111,  111,  111,  111,  111,   84,  111,  111,
+      111,  111,   88,  111,  111,  111,  111,  111,   94,  111,
+
+       95,  111,  111,  111,  111,  111,   87,  111,  111,   90,
+      111,   91,  111,  111,   74,  111,  111,  111,  111,  111,
+      111,  111,   86,  111,   85,  111,  111,  111,  100,  111,
+      111,  111,  111,    4,    2,  102,  111,  111,   99,  111,
+      111,  101,  111,  121,    5,  111,  103,  111,  111,   96,
+      111,   61
     } ;
 
-static yyconst flex_int16_t yy_accept[562] =
+static yyconst flex_int16_t yy_accept[567] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -471,52 +462,52 @@ static yyconst flex_int16_t yy_accept[562] =
       288,  291,  295,  298,  301,  304,  307,  310,  314,  317,
       320,  320,  320,  321,  322,  322,  322,  323,  323,  323,
       324,  325,  326,  326,  327,  328,  329,  330,  330,  330,
-      330,  330,  330,  330,  330,  330,  331,  332,  333,  334,
-      334,  334,  334,  334,  334,  335,  335,  336,  336,  336,
-      337,  338,  339,  339,  340,  341,  342,  343,  343,  344,
-      344,  345,  345,  345,  346,  347,  348,  349,  350,  351,
-      352,  353,  354,  355,  356,  357,  358,  359,  360,  361,
-
-      362,  363,  364,  365,  365,  366,  367,  368,  369,  370,
-      371,  372,  373,  374,  375,  376,  377,  378,  378,  378,
-      378,  379,  379,  380,  380,  380,  381,  382,  382,  384,
-      385,  386,  387,  387,  388,  389,  389,  390,  391,  392,
-      393,  393,  394,  395,  396,  397,  398,  399,  399,  399,
-      399,  399,  399,  399,  399,  400,  400,  400,  401,  401,
-      401,  402,  403,  403,  404,  404,  404,  404,  405,  406,
-      406,  407,  407,  407,  408,  409,  410,  411,  412,  412,
-      412,  413,  413,  413,  414,  415,  416,  417,  418,  419,
-      420,  422,  423,  424,  425,  426,  427,  428,  429,  430,
-
-      431,  432,  433,  434,  434,  435,  436,  437,  438,  439,
-      440,  441,  442,  443,  444,  445,  446,  447,  447,  448,
-      448,  449,  450,  450,  451,  451,  452,  454,  455,  456,
-      456,  456,  456,  457,  457,  457,  458,  458,  459,  460,
-      460,  461,  462,  462,  463,  464,  465,  465,  466,  468,
-      470,  470,  471,  472,  474,  475,  476,  477,  479,  480,
-      482,  483,  484,  485,  486,  487,  488,  489,  490,  491,
-      492,  493,  495,  496,  497,  498,  500,  501,  502,  503,
-      505,  506,  507,  508,  510,  510,  511,  511,  511,  512,
-      514,  516,  518,  518,  518,  518,  518,  518,  518,  518,
-
-      519,  520,  520,  520,  521,  523,  525,  526,  528,  529,
-      530,  531,  532,  533,  535,  536,  537,  538,  540,  541,
-      542,  544,  545,  546,  547,  549,  550,  551,  552,  553,
-      553,  553,  553,  553,  553,  553,  553,  554,  555,  555,
-      555,  556,  557,  559,  560,  561,  562,  563,  565,  567,
-      569,  571,  572,  573,  574,  575,  576,  577,  578,  579,
-      580,  581,  581,  581,  582,  582,  582,  582,  583,  584,
-      584,  584,  585,  586,  587,  589,  590,  591,  592,  594,
-      595,  596,  597,  598,  600,  602,  603,  604,  604,  604,
-      604,  604,  604,  604,  605,  606,  606,  606,  608,  609,
-
-      611,  613,  614,  616,  617,  618,  619,  620,  621,  622,
-      622,  622,  622,  622,  622,  622,  622,  622,  622,  622,
-      622,  624,  626,  627,  628,  630,  631,  632,  633,  633,
-      634,  634,  634,  634,  634,  634,  635,  635,  637,  638,
-      640,  641,  643,  643,  643,  644,  644,  644,  645,  646,
-      648,  648,  648,  649,  649,  649,  651,  651,  651,  652,
-      652
+      330,  330,  330,  330,  330,  330,  330,  331,  332,  333,
+      334,  334,  334,  334,  334,  334,  335,  335,  336,  336,
+      336,  337,  338,  339,  339,  340,  341,  342,  343,  343,
+      344,  344,  345,  345,  345,  346,  347,  348,  349,  350,
+      351,  352,  353,  354,  355,  356,  357,  358,  359,  360,
+
+      361,  362,  363,  364,  365,  365,  366,  367,  368,  369,
+      370,  371,  372,  373,  374,  375,  376,  377,  378,  378,
+      378,  378,  379,  379,  380,  380,  380,  381,  382,  382,
+      384,  385,  386,  387,  387,  388,  389,  389,  390,  391,
+      392,  393,  393,  394,  395,  396,  397,  398,  399,  399,
+      399,  399,  399,  399,  399,  399,  400,  400,  400,  400,
+      401,  401,  401,  402,  403,  403,  404,  404,  404,  404,
+      405,  406,  406,  407,  407,  407,  408,  409,  410,  411,
+      412,  412,  412,  413,  413,  413,  414,  415,  416,  417,
+      418,  419,  420,  422,  423,  424,  425,  426,  427,  428,
+
+      429,  430,  431,  432,  433,  434,  434,  435,  436,  437,
+      438,  439,  440,  441,  442,  443,  444,  445,  446,  447,
+      447,  448,  448,  449,  450,  450,  451,  451,  452,  454,
+      455,  456,  456,  456,  456,  457,  457,  457,  458,  458,
+      459,  459,  460,  461,  461,  462,  463,  463,  464,  465,
+      466,  466,  467,  469,  471,  471,  472,  473,  475,  476,
+      477,  478,  480,  481,  483,  484,  485,  486,  487,  488,
+      489,  490,  491,  492,  493,  494,  496,  497,  498,  499,
+      501,  502,  503,  504,  506,  507,  508,  509,  511,  511,
+      512,  512,  512,  513,  515,  517,  519,  519,  519,  519,
+
+      519,  519,  519,  519,  519,  520,  521,  521,  521,  522,
+      524,  526,  527,  529,  530,  531,  532,  533,  534,  536,
+      537,  538,  539,  541,  542,  543,  545,  546,  547,  548,
+      550,  551,  552,  553,  554,  554,  554,  554,  554,  554,
+      554,  554,  555,  556,  556,  556,  557,  558,  560,  561,
+      562,  563,  564,  566,  568,  570,  572,  573,  574,  575,
+      576,  577,  578,  579,  580,  581,  582,  582,  582,  583,
+      583,  583,  583,  584,  585,  585,  585,  586,  587,  588,
+      590,  591,  592,  593,  595,  596,  597,  598,  599,  601,
+      603,  604,  605,  605,  605,  605,  605,  605,  605,  606,
+
+      607,  607,  607,  609,  610,  612,  614,  615,  617,  618,
+      619,  620,  621,  622,  623,  623,  623,  623,  623,  623,
+      623,  623,  623,  623,  623,  623,  625,  627,  628,  629,
+      631,  632,  633,  634,  634,  635,  635,  635,  635,  635,
+      635,  636,  636,  638,  639,  641,  642,  644,  644,  644,
+      645,  645,  645,  646,  647,  649,  649,  649,  650,  650,
+      650,  652,  652,  652,  653,  653
     } ;
 
 static yyconst flex_int32_t yy_ec[256] =
@@ -561,147 +552,147 @@ static yyconst flex_int32_t yy_meta[60] =
         9,    9,    9,    9,    9,    9,    9,    1,    1
     } ;
 
-static yyconst flex_int16_t yy_base[595] =
+static yyconst flex_int16_t yy_base[600] =
     {   0,
         0,   58,   58,   65,   69,  126,   80,   85,   74,   87,
-       93,  113,  172, 1348,  131,  136,  225, 1347,  100,  147,
-      135,  159,  175,  190, 1354, 1357, 1357, 1357, 1357, 1323,
-      225,   62,  231,  237,    0, 1332,   42,  150,   60,  232,
-       63,  164,  156,   77, 1357, 1357, 1357, 1336,  173, 1322,
-     1357, 1357, 1357, 1357,  245,  104,    0, 1357, 1357,  279,
-     1290, 1357, 1357, 1357, 1357,    0,  262, 1357,  144,  110,
-      161,  143, 1357, 1357, 1357, 1357, 1357,    0,  282,  275,
+       93,  113,  172, 1354,  131,  136,  225, 1353,  100,  147,
+      135,  159,  175,  190, 1360, 1363, 1363, 1363, 1363, 1329,
+      225,   62,  231,  237,    0, 1338,   42,  150,   60,  232,
+       63,  164,  156,   77, 1363, 1363, 1363, 1342,  173, 1328,
+     1363, 1363, 1363, 1363,  245,  104,    0, 1363, 1363,  279,
+     1296, 1363, 1363, 1363, 1363,    0,  262, 1363,  144,  110,
+      161,  143, 1363, 1363, 1363, 1363, 1363,    0,  282,  275,
       214,  279,  283,  171,  285,  263,  182,  138,  219,  266,
-      179,  287,  295,  270,  292, 1357, 1357, 1357, 1357, 1357,
-
-     1357,  296,  297,  298,  311,  288,  170,  310,  226,  308,
-      326,  329,  299,  307, 1357, 1357, 1333,  351,  359,  360,
-     1357, 1357, 1332,  365,  366,  371, 1343, 1342,  373,  377,
-     1334, 1333,  373, 1357, 1339,  377,  383,  390,    0,  397,
-     1321, 1320, 1319,  365,  302,  332,  385,  417, 1288, 1300,
-      418, 1295,  389,  380,  310, 1357,  198,  402, 1357,    0,
-     1325,  405, 1324, 1323, 1357, 1329, 1357,  428, 1285, 1357,
-     1357, 1357, 1327,  406,  408,  409, 1357, 1315, 1315, 1324,
-      426,  440, 1295, 1296,   62,  415,  416,  420,  417,  426,
-      433,  432,  440,  237,  434,  448,  441,  453,  454,  456,
-
-      458,  457, 1357, 1321,  463,  465,  467,  469,  470,  471,
-      473,  474,  476,  475,  481,  480, 1357,  500,  508,  527,
-     1357,  529, 1357,  532,  534,  540, 1357, 1308, 1357, 1357,
-     1357, 1357, 1312, 1311,  534, 1317, 1357,  538,    0, 1299,
-        0, 1298, 1297,  519,  479,  521,  524, 1279, 1266, 1268,
-     1255, 1260, 1267, 1252, 1357, 1276, 1250, 1357, 1249, 1265,
-      528,  506, 1278, 1357, 1294, 1293, 1292, 1357, 1357, 1298,
-     1357, 1265, 1296, 1357,  538,  540,  542, 1357,  563, 1295,
-     1357, 1266,  555,  544,  555,  547,  556,  557,  558,  559,
-     1276,  560,  561,  562,  567,  564,  563,  568,  570,  574,
-
-      576,  575,  582, 1292, 1357,  580,  589,  592,  584,  581,
-      590,  602,  604,  608,  613,  586,  614,  633, 1357,  635,
-     1274, 1273, 1272, 1271, 1270,  620, 1269,  622,  624, 1255,
-     1234, 1249, 1357, 1248,  596, 1357, 1248, 1357, 1357, 1229,
-      629,  635, 1256, 1357, 1357, 1357, 1237,  630, 1260, 1259,
-      654, 1357,  632, 1258,  638,  639,  641, 1257,  642, 1256,
-      643,  645,  646,  647,  649,  644,  662,  666,  654,  648,
-      650, 1255,  668,  672,  659,  677,  660,  678,  684, 1254,
-      685,  686,  687, 1253,  711, 1357,  713,  719, 1252, 1251,
-     1250, 1249, 1224, 1226,  724, 1216, 1218, 1227, 1230,  690,
-
-      698,    0, 1209,  707,  708, 1241,  712, 1240,  715,  716,
-      717,  718,  719, 1239,  720,  721,  722, 1238,  723,  725,
-     1237,  727,  726,  730,  740,  731,  732,  735,  741, 1212,
-     1200,  760, 1212, 1192, 1189, 1186,  745,  751, 1204, 1181,
-      755,  761, 1196,  760,  763,  766,  769, 1181, 1180, 1179,
-     1178,  770,  771,  773,  774,  775,  777,  778,  779,  784,
-      783, 1135, 1106,  825, 1095,  753, 1076,  793,  786, 1096,
-     1061,  788,  794,  797, 1068,  789,  799,  802, 1058,  790,
-      813,  800,  792, 1042,  965,  819,  830,  949,  932,  975,
-      946,  933,  939,  849,  850,  840,  858,  957,  841,  946,
-
-      945,  843,  940,  833,  834,  845,  842,  846,  847,  866,
-      871,  936,  898,  887,  878,  883,  890,  894,  902,  873,
-      884,  866,  854,  864,  855,  856,  878,  885,  516, 1357,
-      464,  479,  921,  914,  929, 1357,  922,  411,  905,  367,
-      897,  304,  285,  948, 1357,  939,  945, 1357,  863,  238,
-      178,  945,  916,  127,  952,  117,  970,  972, 1357, 1357,
-      989,  999, 1009, 1019, 1029, 1039, 1049, 1059, 1062, 1066,
-     1075, 1085, 1095, 1100, 1110, 1120, 1125, 1128, 1131, 1140,
-     1150, 1160, 1170, 1175, 1185, 1194, 1196, 1200, 1204, 1212,
-     1216, 1225, 1235, 1245
+      213,  287,  295,  270,  292, 1363, 1363, 1363, 1363, 1363,
+
+     1363,  296,  297,  298,  311,  288,  170,  310,  301,  326,
+      329,  330,  299,  307, 1363, 1363, 1339,  351,  322,  366,
+     1363, 1363, 1338,  361,  353,  373, 1349, 1348,  243,  381,
+     1340, 1339,  373, 1363, 1345,  377,  384,  390,    0,  396,
+     1327, 1326, 1325,  332,  358,  379,  385,  371, 1294, 1306,
+      414, 1301,  386, 1289,  389,  377, 1363,  198,  403, 1363,
+        0, 1330,  373, 1329, 1328, 1363, 1334, 1363,  431, 1290,
+     1363, 1363, 1363, 1332,  415,  408,  416, 1363, 1320, 1320,
+     1329,  443,  447, 1300, 1301,   62,  420,  423,  422,  414,
+      426,  429,  419,  431,  237,  449,  450,  434,  453,  430,
+
+      454,  462,  463, 1363, 1326,  465,  466,  468,  467,  469,
+      471,  473,  474,  479,  478,  487,  477, 1363,  511,  508,
+      527, 1363,  529, 1363,  532,  534,  540, 1363, 1313, 1363,
+     1363, 1363, 1363, 1317, 1316,  534, 1322, 1363,  538,    0,
+     1304,    0, 1303, 1302,  488,  503,  521,  524, 1284, 1271,
+     1273, 1260, 1265, 1272, 1257, 1363,  511, 1281, 1255, 1363,
+     1254, 1270,  539,  540, 1283, 1363, 1299, 1298, 1297, 1363,
+     1363, 1303, 1363, 1270, 1301, 1363,  541,  542,  544, 1363,
+      564, 1300, 1363, 1271,  557,  545,  551,  557,  558,  481,
+      559,  561, 1281,  560,  562,  563,  566,  341,  565,  564,
+
+      569,  576,  570,  577,  571, 1297, 1363,  580,  582,  583,
+      586,  585,  593,  600,  601,  605,  606,  607,  608,  630,
+     1363,  645, 1279, 1278, 1277, 1276, 1275,  615, 1274,  617,
+      618, 1260, 1239, 1254, 1363, 1253,  588, 1363, 1241, 1363,
+     1252, 1363, 1363, 1233,  629,  623, 1260, 1363, 1363, 1363,
+     1241,  632, 1264, 1263,  652, 1363,  636, 1262,  637,  639,
+      640, 1261,  641, 1260,  642,  643,  645,  648,  654,  650,
+      657,  651,  652,  658,  655, 1259,  667,  660,  659,  679,
+      669,  680,  683, 1258,  684,  685,  686, 1257,  707, 1363,
+      712,  731, 1256, 1255, 1254, 1253, 1228, 1230,  715, 1220,
+
+     1222, 1210, 1230, 1233,  687,  696,    0, 1212,  702,  704,
+     1244,  706, 1243,  707,  709,  715,  716,  718, 1242,  720,
+      721,  722, 1241,  724,  725, 1240,  730,  727,  729,  734,
+      732,  735,  740,  736, 1215, 1208,  761, 1221, 1208, 1205,
+     1202,  749,  752, 1229, 1216,  753,  756, 1231,  755,  763,
+      762,  764, 1230, 1229, 1228, 1227,  766,  767,  770,  773,
+      774,  775,  778,  781,  785,  782, 1199, 1203,  802, 1201,
+      754, 1193,  789,  787, 1218, 1191,  790,  793,  795, 1198,
+      808,  810,  813, 1187,  815,  816,  819,  817, 1186, 1171,
+      821,  820, 1155, 1138, 1181, 1137, 1086, 1082,  844,  849,
+
+      826,  850, 1083,  833, 1077, 1068,  839, 1058,  834,  837,
+      841,  838,  840,  842,  874,  877, 1061, 1008,  927,  936,
+      882,  887,  891,  899,  864,  952,  951,  875,  848,  950,
+      876,  846,  882,  962, 1363,  917,  934,  918,  909,  926,
+     1363,  907,  872,  843,  483,  902,  480,  409,  944, 1363,
+      914,  933, 1363,  921,  302,  178,  935,  928,  127,  940,
+      117,  960,  958, 1363, 1363,  979,  989,  999, 1009, 1019,
+     1029, 1039, 1049, 1052, 1056, 1065, 1075, 1085, 1090, 1100,
+     1110, 1115, 1118, 1121, 1130, 1140, 1150, 1160, 1165, 1175,
+     1184, 1186, 1190, 1194, 1202, 1206, 1215, 1225, 1235
 
     } ;
 
-static yyconst flex_int16_t yy_def[595] =
+static yyconst flex_int16_t yy_def[600] =
     {   0,
-      560,    1,  561,  561,  562,  562,  563,  563,    1,    1,
-      564,  564,    1,   13,    1,    1,    1,   17,  565,  565,
-      566,  566,  567,  567,  560,  560,  560,  560,  560,  568,
-      560,  560,  560,  560,  569,  570,  570,  570,  570,  560,
-      560,  560,  570,  570,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  571,  560,  560,  560,
-      560,  560,  560,  560,  560,  572,  560,  560,  560,  570,
-      570,  570,  560,  560,  560,  560,  560,  573,  560,  560,
-      560,  569,  574,  570,  570,  570,  570,  570,  570,  570,
-      570,  570,  570,  570,  570,  560,  560,  560,  560,  560,
-
-      560,  560,  570,  570,  570,  570,  570,  570,  570,  570,
-      570,  570,  570,  570,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  575,  560,  560,  576,  560,  560,  560,  577,  560,
-      578,  570,  579,  570,  570,  570,  570,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  570,  570,  560,  580,
-      560,  560,  560,  560,  560,  581,  560,  560,  560,  560,
-      560,  560,  582,  570,  570,  570,  560,  560,  560,  583,
-      560,  560,  584,  560,  570,  570,  570,  570,  570,  570,
-      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
-
-      570,  570,  560,  585,  570,  570,  570,  570,  570,  570,
-      570,  570,  570,  570,  570,  570,  560,  560,  560,  560,
-      560,  586,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  576,  560,  560,  577,  578,
-      587,  588,  589,  570,  570,  570,  570,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      570,  570,  560,  560,  560,  560,  560,  560,  560,  581,
-      560,  560,  582,  560,  570,  570,  570,  560,  560,  583,
-      560,  584,  574,  570,  570,  570,  570,  570,  570,  570,
-      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
-
-      570,  570,  570,  585,  560,  570,  570,  570,  570,  570,
-      570,  570,  570,  570,  570,  570,  570,  590,  560,  560,
-      591,  588,  560,  589,  579,  570,  570,  570,  570,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      570,  570,  560,  560,  560,  560,  560,  570,  570,  570,
-      560,  560,  570,  570,  570,  570,  570,  570,  570,  570,
-      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
-      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
-      570,  570,  570,  570,  560,  560,  590,  560,  591,  570,
-      570,  570,  560,  560,  560,  560,  560,  560,  560,  570,
-
-      570,  592,  560,  570,  570,  570,  570,  570,  570,  570,
-      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
-      570,  570,  570,  570,  570,  570,  570,  570,  570,  560,
-      560,  560,  560,  560,  560,  560,  570,  570,  560,  560,
-      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
-      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
-      570,  560,  560,  560,  560,  560,  560,  570,  570,  560,
-      560,  570,  570,  570,  570,  570,  570,  570,  570,  570,
-      570,  570,  570,  570,  570,  570,  570,  560,  560,  560,
-      560,  560,  560,  570,  570,  560,  560,  570,  570,  570,
-
-      570,  570,  570,  570,  570,  570,  570,  570,  570,  560,
-      560,  593,  560,  560,  560,  560,  560,  560,  560,  560,
-      570,  570,  570,  570,  570,  570,  570,  570,  593,  560,
-      560,  560,  560,  560,  560,  560,  594,  570,  570,  570,
-      570,  570,  560,  560,  560,  560,  594,  560,  570,  570,
-      560,  560,  570,  560,  560,  570,  560,  560,  560,    0,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560
+      565,    1,  566,  566,  567,  567,  568,  568,    1,    1,
+      569,  569,    1,   13,    1,    1,    1,   17,  570,  570,
+      571,  571,  572,  572,  565,  565,  565,  565,  565,  573,
+      565,  565,  565,  565,  574,  575,  575,  575,  575,  565,
+      565,  565,  575,  575,  565,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  576,  565,  565,  565,
+      565,  565,  565,  565,  565,  577,  565,  565,  565,  575,
+      575,  575,  565,  565,  565,  565,  565,  578,  565,  565,
+      565,  574,  579,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  565,  565,  565,  565,  565,
+
+      565,  565,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  565,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+      565,  580,  565,  565,  581,  565,  565,  565,  582,  565,
+      583,  575,  584,  575,  575,  575,  575,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  565,  575,  575,  565,
+      585,  565,  565,  565,  565,  565,  586,  565,  565,  565,
+      565,  565,  565,  587,  575,  575,  575,  565,  565,  565,
+      588,  565,  565,  589,  565,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+
+      575,  575,  575,  565,  590,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  565,  565,  565,
+      565,  565,  591,  565,  565,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  581,  565,  565,  582,
+      583,  592,  593,  594,  575,  575,  575,  575,  565,  565,
+      565,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+      565,  565,  575,  575,  565,  565,  565,  565,  565,  565,
+      565,  586,  565,  565,  587,  565,  575,  575,  575,  565,
+      565,  588,  565,  589,  579,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+
+      575,  575,  575,  575,  575,  590,  565,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  595,
+      565,  565,  596,  593,  565,  594,  584,  575,  575,  575,
+      575,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  575,  575,  565,  565,  565,  565,
+      565,  575,  575,  575,  565,  565,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  565,  565,
+      595,  565,  596,  575,  575,  575,  565,  565,  565,  565,
+
+      565,  565,  565,  565,  575,  575,  597,  565,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  565,  565,  565,  565,  565,  565,
+      565,  575,  575,  565,  565,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  565,  565,  565,  565,
+      565,  565,  575,  575,  565,  565,  575,  575,  575,  575,
+      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  565,  565,  565,  565,  565,  565,  575,  575,
+
+      565,  565,  575,  575,  575,  575,  575,  575,  575,  575,
+      575,  575,  575,  575,  565,  565,  598,  565,  565,  565,
+      565,  565,  565,  565,  565,  575,  575,  575,  575,  575,
+      575,  575,  575,  598,  565,  565,  565,  565,  565,  565,
+      565,  599,  575,  575,  575,  575,  575,  565,  565,  565,
+      565,  599,  565,  575,  575,  565,  565,  575,  565,  565,
+      575,  565,  565,  565,    0,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  565,  565,  565
 
     } ;
 
-static yyconst flex_int16_t yy_nxt[1417] =
+static yyconst flex_int16_t yy_nxt[1423] =
     {   0,
        26,   27,   28,   27,   29,   27,   26,   26,   26,   30,
        26,   26,   26,   31,   32,   33,   34,   34,   34,   35,
@@ -714,154 +705,155 @@ static yyconst flex_int16_t yy_nxt[1417] =
        68,  143,   63,   56,   64,  144,   65,   63,   69,   64,
        50,   65,   67,   68,   41,   75,  143,   76,   57,   77,
 
-      284,   69,   28,  147,  116,   43,  152,   44,   70,   66,
-       36,   71,  117,  158,   66,   75,  165,   76,  166,   77,
+      286,   69,   28,  147,  116,   43,  152,   44,   70,   66,
+       36,   71,  117,  159,   66,   75,  166,   76,  167,   77,
        79,   70,   78,   36,   71,   72,   58,   59,   52,  143,
        53,   73,   54,   60,   61,   55,  143,   28,   72,  122,
        56,   98,   78,   41,   73,   26,   98,  123,  118,   28,
-       26,  116,  118,  174,  119,   57,  172,  143,  173,  120,
+       26,  116,  118,  175,  119,   57,  173,  143,  174,  120,
       124,   28,  143,  122,  124,   36,  125,   36,   36,  143,
-       36,  126,   36,   36,  151,  143,  259,   28,  151,  128,
-      143,  191,  176,   58,   59,   80,   81,  129,   96,  143,
-      143,   82,   28,   96,  128,  145,  153,  130,  143,  146,
-
-       83,  143,  129,  154,   84,  157,   85,   86,   87,   88,
-      175,  155,   89,  209,  554,   90,  152,  143,   91,   92,
-      185,  156,   93,   72,   94,   95,  179,  190,  180,   96,
-       97,   99,  194,  148,  261,  100,  101,  148,  143,  102,
-      133,  133,  133,  133,  136,  143,  137,  137,  137,  138,
-      136,  161,  140,  140,  140,  140,  143,  143,  103,  104,
-      105,  106,  107,  151,  192,   89,  212,  151,   90,  108,
-      109,  110,  111,  293,  162,  112,  113,   94,  114,  149,
-      168,  150,  143,  151,  168,  143,  139,  151,  178,  143,
-      133,  133,  133,  133,  181,  181,  181,  181,  182,  182,
-
-      182,  182,  163,  164,  143,  152,  143,  143,  203,  189,
-      204,  143,  193,  184,  143,  200,  143,  143,  143,  169,
-      551,  143,  152,  143,  186,  152,  143,  143,  187,  143,
-      143,  188,  201,  208,  197,  198,  195,  186,  202,  196,
-      205,  213,  210,  206,  188,  143,  199,  207,  143,  259,
-      211,  143,  218,  202,  245,  216,  218,  189,  214,  260,
-      151,  220,  221,  219,  151,  222,  224,  151,  197,  215,
-      224,  151,  226,  227,  217,  230,  226,  225,  151,  230,
-      199,  246,  151,  228,  143,  229,  143,  231,  235,  235,
-      235,  235,  238,  238,  238,  238,  136,  244,  137,  137,
-
-      137,  138,  152,  136,  143,  138,  138,  138,  138,  152,
-      136,  265,  140,  140,  140,  140,  256,  247,  148,  151,
-      152,  143,  148,  151,  251,  143,  252,  143,  143,  168,
-      143,  257,  253,  168,  143,  143,  143,  258,  275,  143,
-      254,  181,  181,  181,  181,  143,  255,  285,  286,  277,
-      262,  143,  143,  143,  276,  182,  182,  182,  182,  143,
-      143,  152,  266,  267,  149,  287,  150,  143,  169,  288,
-      184,  152,  143,  143,  294,  143,  143,  143,  289,  290,
-      295,  296,  143,  291,  143,  292,  143,  297,  143,  143,
-      143,  298,  143,  143,  143,  143,  300,  303,  143,  143,
-
-      143,  218,  310,  299,  308,  218,  301,  302,  313,  220,
-      221,  543,  219,  222,  251,  306,  290,  314,  312,  316,
-      307,  309,  530,  327,  315,  143,  311,  317,  220,  221,
-      220,  221,  220,  224,  220,  226,  227,  224,  143,  226,
-      143,  320,  227,  143,  225,  320,  228,  143,  319,  235,
-      235,  235,  235,  238,  238,  238,  238,  143,  342,  143,
-      341,  143,  329,  143,  351,  352,  143,  328,  351,  326,
-      182,  182,  182,  182,  143,  143,  143,  143,  143,  143,
-      143,  143,  143,  143,  349,  184,  143,  143,  348,  143,
-      357,  359,  350,  143,  143,  143,  353,  355,  360,  143,
-
-      143,  143,  358,  143,  354,  143,  356,  365,  143,  143,
-      361,  143,  366,  367,  363,  362,  370,  372,  364,  377,
-      369,  143,  368,  143,  375,  374,  371,  143,  376,  373,
-      378,  383,  143,  143,  385,  386,  320,  227,  385,  143,
-      320,  143,  379,  143,  381,  382,  380,  397,  143,  143,
-      384,  143,  388,  255,  143,  351,  352,  143,  143,  351,
-      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-      390,  391,  400,  143,  392,  401,  404,  410,  143,  143,
-      350,  143,  411,  412,  407,  143,  419,  143,  405,  413,
-      406,  143,  409,  408,  415,  414,  143,  143,  416,  418,
-
-      417,  421,  420,  143,  143,  143,  143,  422,  424,  143,
-      425,  423,  385,  386,  385,  386,  385,  143,  385,  428,
-      385,  386,  426,  416,  385,  432,  143,  143,  427,  432,
-      429,  143,  388,  437,  143,  143,  143,  143,  143,  143,
-      143,  143,  143,  441,  143,  143,  143,  438,  443,  143,
-      143,  143,  447,  448,  143,  444,  450,  453,  454,  143,
-      143,  432,  442,  449,  143,  432,  446,  445,  452,  455,
-      143,  457,  461,  451,  143,  464,  464,  464,  464,  143,
-      143,  456,  143,  458,  459,  143,  460,  469,  143,  143,
-      143,  468,  143,  143,  143,  474,  143,  143,  143,  475,
-
-      472,  473,  143,  143,  492,  143,  478,  143,  143,  143,
-      258,  143,  143,  143,  479,  486,  143,  476,  143,  143,
-      477,  143,  484,  485,  480,  481,  490,  494,  483,  499,
-      490,  482,  143,  500,  487,  502,  495,  503,  143,  498,
-      464,  464,  464,  464,  505,  501,  504,  506,  507,  143,
-      516,  517,  143,  143,  516,  517,  518,  519,  519,  520,
-      143,  143,  143,  520,  143,  143,  143,  516,  143,  143,
-      508,  516,  517,  143,  143,  143,  517,  521,  522,  537,
-      523,  525,  143,  143,  516,  143,  509,  524,  516,  526,
-      538,  517,  540,  537,  528,  517,  539,  143,  533,  533,
-
-      533,  533,  527,  143,  143,  534,  534,  534,  534,  535,
-      535,  535,  535,  536,  532,  553,  143,  535,  535,  535,
-      535,  542,  544,  545,  143,  541,  544,  546,  548,  534,
-      534,  534,  534,  550,  257,  143,  533,  533,  533,  533,
-      536,  531,  530,  548,  535,  535,  535,  535,  549,  544,
-      545,  548,  556,  544,  552,  552,  552,  552,  555,  143,
-      552,  552,  552,  552,  143,  143,  548,  557,  557,  557,
-      557,  558,  559,  558,  559,  558,  143,  558,  515,  514,
-      513,  512,  511,  510,  143,  557,  557,  557,  557,   45,
+       36,  126,   36,   36,  151,  143,  261,   28,  151,  128,
+      143,  192,  177,   58,   59,   80,   81,  129,   96,  143,
+      143,   82,   28,   96,  128,  145,  153,  130,  154,  146,
+
+       83,  143,  129,  155,   84,  158,   85,   86,   87,   88,
+      176,  156,   89,  210,  559,   90,  152,  143,   91,   92,
+      186,  157,   93,   72,   94,   95,  180,  191,  181,   96,
+       97,   99,  143,  148,  263,  100,  101,  148,  143,  102,
+      133,  133,  133,  133,  136,  231,  137,  137,  137,  138,
+      136,  162,  140,  140,  140,  140,  143,  232,  103,  104,
+      105,  106,  107,  151,  193,   89,  195,  151,   90,  108,
+      109,  110,  111,  295,  163,  112,  113,   94,  114,  149,
+      169,  150,  143,  151,  169,  143,  139,  151,  179,  143,
+      133,  133,  133,  133,  182,  182,  182,  182,  183,  183,
+
+      183,  183,  164,  165,  143,  152,  143,  143,  204,  190,
+      205,  143,  194,  185,  143,  201,  143,  143,  143,  170,
+      143,  143,  152,  151,  187,  152,  143,  151,  188,  143,
+      143,  189,  202,  209,  198,  199,  196,  187,  203,  197,
+      206,  213,  211,  207,  189,  143,  200,  208,  143,  143,
+      212,  143,  219,  203,  151,  217,  219,  190,  151,  214,
+      143,  215,  225,  220,  245,  152,  225,  221,  222,  198,
+      216,  223,  148,  226,  227,  228,  148,  143,  227,  267,
+      218,  200,  151,  231,  369,  229,  151,  230,  236,  236,
+      236,  236,  239,  239,  239,  239,  152,  136,  143,  137,
+
+      137,  137,  138,  136,  143,  138,  138,  138,  138,  136,
+      246,  140,  140,  140,  140,  151,  261,  248,  149,  151,
+      150,  252,  143,  253,  152,  258,  262,  143,  247,  254,
+      268,  269,  169,  143,  143,  143,  169,  255,  143,  143,
+      259,  143,  143,  256,  556,  143,  260,  277,  143,  143,
+      143,  264,  287,  143,  278,  288,  279,  152,  182,  182,
+      182,  182,  183,  183,  183,  183,  290,  289,  143,  143,
+      293,  170,  143,  143,  152,  292,  294,  185,  291,  301,
+      299,  143,  143,  298,  143,  143,  143,  143,  143,  296,
+      143,  300,  143,  143,  302,  297,  143,  143,  143,  143,
+
+      143,  312,  143,  305,  303,  310,  143,  143,  315,  221,
+      222,  304,  219,  223,  361,  292,  219,  308,  314,  311,
+      316,  309,  143,  220,  319,  318,  313,  317,  221,  222,
+      221,  222,  221,  225,  221,  227,  228,  225,  328,  227,
+      143,  322,  228,  143,  226,  322,  229,  329,  321,  236,
+      236,  236,  236,  239,  239,  239,  239,  339,  143,  143,
+      143,  143,  331,  143,  143,  355,  356,  330,  340,  355,
+      143,  345,  183,  183,  183,  183,  143,  143,  143,  143,
+      143,  143,  143,  143,  143,  143,  353,  185,  143,  143,
+      143,  352,  346,  363,  354,  143,  143,  357,  364,  143,
+
+      358,  143,  143,  362,  143,  143,  376,  359,  360,  371,
+      374,  365,  143,  367,  370,  379,  366,  368,  378,  143,
+      143,  372,  373,  381,  143,  143,  143,  143,  375,  377,
+      380,  389,  390,  382,  143,  389,  143,  143,  386,  401,
+      383,  385,  143,  384,  388,  256,  322,  228,  143,  392,
+      322,  143,  387,  355,  356,  143,  143,  355,  143,  143,
+      143,  143,  143,  406,  143,  394,  395,  143,  396,  143,
+      143,  143,  405,  143,  143,  415,  143,  143,  143,  143,
+      409,  416,  354,  412,  417,  422,  143,  410,  143,  420,
+      411,  414,  413,  421,  418,  427,  424,  423,  143,  143,
+
+      426,  419,  143,  143,  143,  143,  143,  425,  389,  390,
+      429,  428,  389,  389,  390,  143,  437,  389,  433,  430,
+      437,  143,  421,  143,  431,  143,  143,  432,  143,  434,
+      442,  392,  389,  390,  143,  143,  389,  143,  446,  143,
+      143,  143,  448,  143,  143,  443,  143,  449,  143,  143,
+      452,  143,  453,  143,  143,  143,  455,  458,  447,  143,
+      450,  459,  437,  454,  451,  462,  437,  466,  143,  457,
+      460,  143,  143,  456,  143,  143,  469,  469,  469,  469,
+      461,  143,  143,  143,  463,  143,  143,  464,  474,  143,
+      479,  465,  143,  143,  143,  473,  478,  143,  477,  480,
+
+      143,  143,  483,  495,  143,  497,  143,  495,  143,  143,
+      484,  260,  143,  481,  143,  482,  491,  469,  469,  469,
+      469,  485,  489,  499,  486,  490,  488,  143,  504,  143,
+      487,  505,  143,  492,  143,  143,  143,  500,  143,  143,
+      143,  503,  523,  524,  524,  521,  507,  510,  508,  521,
+      522,  525,  143,  143,  522,  525,  143,  143,  143,  143,
+      143,  143,  143,  143,  506,  143,  511,  143,  143,  526,
+      542,  509,  513,  512,  527,  521,  514,  530,  522,  521,
+      544,  528,  522,  521,  542,  531,  554,  521,  522,  533,
+      529,  143,  522,  546,  143,  143,  532,  538,  538,  538,
+
+      538,  143,  539,  539,  539,  539,  540,  540,  540,  540,
+      541,  543,  545,  553,  540,  540,  540,  540,  547,  549,
+      550,  143,  551,  549,  539,  539,  539,  539,  553,  557,
+      557,  557,  557,  538,  538,  538,  538,  541,  555,  553,
+      143,  540,  540,  540,  540,  549,  550,  143,  560,  549,
+      557,  557,  557,  557,  553,  562,  562,  562,  562,  563,
+      564,  563,  564,  563,  561,  563,  548,  252,  535,  143,
+      143,  143,  537,  558,  259,  562,  562,  562,  562,   45,
        45,   45,   45,   45,   45,   45,   45,   45,   45,   51,
-
        51,   51,   51,   51,   51,   51,   51,   51,   51,   62,
+
        62,   62,   62,   62,   62,   62,   62,   62,   62,   74,
        74,   74,   74,   74,   74,   74,   74,   74,   74,  115,
       115,  115,  115,  115,  115,  115,  115,  115,  115,  121,
       121,  121,  121,  121,  121,  121,  121,  121,  121,  127,
       127,  127,  127,  127,  127,  127,  127,  127,  127,  131,
-      131,  143,  131,  131,  131,  131,  131,  131,  131,  141,
-      141,  142,  142,  142,  142,  167,  167,  143,  167,  167,
-      167,  167,  167,  167,  167,  171,  171,  143,  171,  171,
-      171,  171,  171,  171,  171,  177,  177,  497,  177,  177,
-
-      177,  177,  177,  177,  177,  183,  496,  183,  183,  183,
-      233,  233,  493,  233,  233,  233,  233,  233,  233,  233,
-      236,  236,  236,  236,  236,  236,  236,  236,  236,  236,
-      239,  491,  239,  240,  240,  240,  240,  243,  243,  243,
-      263,  263,  489,  263,  263,  263,  263,  263,  263,  263,
-      270,  270,  270,  270,  270,  270,  270,  270,  270,  270,
-      273,  273,  273,  273,  273,  273,  273,  273,  273,  273,
-      280,  280,  280,  280,  280,  280,  280,  280,  280,  280,
-      282,  488,  282,  282,  282,  304,  304,  304,  304,  304,
-      304,  304,  304,  304,  304,  318,  318,  143,  143,  143,
-
-      143,  318,  318,  321,  321,  322,  322,  322,  322,  324,
-      324,  324,  324,  387,  387,  143,  471,  387,  387,  387,
-      387,  389,  389,  389,  389,  439,  439,  470,  439,  439,
-      439,  439,  439,  439,  439,  529,  529,  467,  466,  254,
-      529,  529,  529,  529,  529,  547,  547,  465,  547,  463,
-      547,  547,  547,  547,  547,  462,  143,  143,  143,  143,
-      143,  440,  436,  435,  434,  433,  431,  430,  143,  143,
-      143,  241,  143,  143,  143,  143,  143,  143,  143,  143,
-      403,  402,  399,  398,  396,  395,  394,  393,  143,  560,
-      325,  242,  323,  241,  305,  143,  184,  281,  274,  347,
-
-      271,  346,  345,  344,  343,  340,  339,  338,  337,  336,
-      335,  334,  333,  332,  331,  330,  325,  323,  241,  237,
-      232,  232,  319,  305,  283,  184,  281,  279,  278,  274,
-      272,  271,  269,  268,  264,  250,  249,  248,  242,  143,
-      241,  237,  234,  232,  230,  230,  223,  217,  170,  160,
-      159,  143,  132,  560,   41,   41,   25,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560
+      131,  536,  131,  131,  131,  131,  131,  131,  131,  141,
+      141,  142,  142,  142,  142,  168,  168,  535,  168,  168,
+      168,  168,  168,  168,  168,  172,  172,  143,  172,  172,
+      172,  172,  172,  172,  172,  178,  178,  143,  178,  178,
+      178,  178,  178,  178,  178,  184,  143,  184,  184,  184,
+
+      234,  234,  143,  234,  234,  234,  234,  234,  234,  234,
+      237,  237,  237,  237,  237,  237,  237,  237,  237,  237,
+      240,  520,  240,  241,  241,  241,  241,  244,  244,  244,
+      265,  265,  519,  265,  265,  265,  265,  265,  265,  265,
+      272,  272,  272,  272,  272,  272,  272,  272,  272,  272,
+      275,  275,  275,  275,  275,  275,  275,  275,  275,  275,
+      282,  282,  282,  282,  282,  282,  282,  282,  282,  282,
+      284,  518,  284,  284,  284,  306,  306,  306,  306,  306,
+      306,  306,  306,  306,  306,  320,  320,  517,  516,  515,
+      143,  320,  320,  323,  323,  324,  324,  324,  324,  326,
+
+      326,  326,  326,  391,  391,  143,  143,  391,  391,  391,
+      391,  393,  393,  393,  393,  444,  444,  143,  444,  444,
+      444,  444,  444,  444,  444,  534,  534,  502,  501,  498,
+      534,  534,  534,  534,  534,  552,  552,  496,  552,  494,
+      552,  552,  552,  552,  552,  493,  143,  143,  143,  143,
+      143,  476,  475,  472,  471,  255,  470,  468,  467,  143,
+      143,  143,  143,  143,  445,  441,  440,  340,  439,  438,
+      436,  435,  143,  143,  143,  242,  143,  143,  143,  143,
+      143,  143,  143,  143,  408,  407,  404,  403,  402,  400,
+      399,  398,  397,  143,  565,  327,  243,  325,  242,  307,
+
+      143,  185,  283,  276,  351,  273,  350,  349,  348,  347,
+      344,  343,  342,  341,  338,  337,  336,  335,  334,  333,
+      332,  327,  325,  242,  238,  233,  233,  321,  307,  285,
+      185,  283,  281,  280,  276,  274,  273,  271,  270,  266,
+      257,  251,  250,  249,  243,  143,  242,  238,  235,  233,
+      231,  231,  224,  218,  171,  161,  160,  143,  132,  565,
+       41,   41,   25,  565,  565,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+
+      565,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+      565,  565
     } ;
 
-static yyconst flex_int16_t yy_chk[1417] =
+static yyconst flex_int16_t yy_chk[1423] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -871,154 +863,155 @@ static yyconst flex_int16_t yy_chk[1417] =
         1,    1,    1,    1,    1,    1,    1,    1,    1,    2,
         3,   37,    3,    2,   41,    2,    2,    4,   41,    4,
         3,    5,    4,    5,   32,    5,   32,    4,    5,   39,
-        9,  185,    7,    5,    7,   37,    7,    8,    9,    8,
+        9,  186,    7,    5,    7,   37,    7,    8,    9,    8,
         4,    8,    8,   10,   10,   11,   44,   11,    5,   11,
 
-      185,   10,   19,   39,   19,    2,   41,    2,    9,    7,
+      186,   10,   19,   39,   19,    2,   41,    2,    9,    7,
         9,    9,   19,   44,    8,   12,   56,   12,   56,   12,
        12,   10,   11,   10,   10,    9,    5,    5,    6,   70,
-        6,    9,    6,    6,    6,    6,  556,   21,   10,   21,
+        6,    9,    6,    6,    6,    6,  561,   21,   10,   21,
         6,   15,   12,   16,   10,   15,   16,   21,   20,   20,
        16,   20,   20,   70,   20,    6,   69,   88,   69,   20,
        22,   22,   72,   22,   22,   15,   22,   15,   15,   38,
-       16,   22,   16,   16,   49,   43,  554,   23,   49,   23,
+       16,   22,   16,   16,   49,   43,  559,   23,   49,   23,
        71,   88,   72,    6,    6,   13,   13,   23,   15,  107,
-       84,   13,   24,   16,   24,   38,   42,   24,   91,   38,
+       84,   13,   24,   16,   24,   38,   42,   24,   42,   38,
 
        13,   87,   24,   42,   13,   43,   13,   13,   13,   13,
-       71,   42,   13,  107,  551,   13,   49,  157,   13,   13,
+       71,   42,   13,  107,  556,   13,   49,  158,   13,   13,
        84,   42,   13,   13,   13,   13,   81,   87,   81,   13,
-       13,   17,   91,   40,  157,   17,   17,   40,   89,   17,
-       31,   31,   31,   31,   33,  109,   33,   33,   33,   33,
-       34,   55,   34,   34,   34,   34,  194,  550,   17,   17,
-       17,   17,   17,   67,   89,   17,  109,   67,   17,   17,
-       17,   17,   17,  194,   55,   17,   17,   17,   17,   40,
+       13,   17,   91,   40,  158,   17,   17,   40,   89,   17,
+       31,   31,   31,   31,   33,  129,   33,   33,   33,   33,
+       34,   55,   34,   34,   34,   34,  195,  129,   17,   17,
+       17,   17,   17,   67,   89,   17,   91,   67,   17,   17,
+       17,   17,   17,  195,   55,   17,   17,   17,   17,   40,
        60,   40,   86,   79,   60,   90,   33,   79,   80,   94,
        80,   80,   80,   80,   82,   82,   82,   82,   83,   83,
 
        83,   83,   55,   55,   85,   67,   92,  106,  102,   86,
       102,   95,   90,   83,   93,   94,  103,  104,  113,   60,
-      543,  145,   60,  542,   85,   79,  114,  110,   85,  108,
+      109,  555,   60,  119,   85,   79,  114,  119,   85,  108,
       105,   85,   95,  106,   93,   93,   92,  104,   95,   92,
-      103,  110,  108,  103,  104,  111,   93,  105,  112,  155,
-      108,  146,  118,  114,  145,  113,  118,  105,  111,  155,
-      119,  120,  120,  118,  119,  120,  124,  125,  112,  112,
-      124,  125,  126,  126,  120,  129,  126,  124,  130,  130,
-      112,  146,  130,  126,  144,  126,  540,  129,  133,  133,
-      133,  133,  136,  136,  136,  136,  137,  144,  137,  137,
-
-      137,  137,  119,  138,  147,  138,  138,  138,  138,  125,
-      140,  162,  140,  140,  140,  140,  154,  147,  148,  151,
-      130,  158,  148,  151,  153,  174,  153,  175,  176,  168,
-      538,  154,  153,  168,  186,  187,  189,  154,  174,  188,
-      153,  181,  181,  181,  181,  190,  153,  186,  187,  176,
-      158,  192,  191,  195,  175,  182,  182,  182,  182,  193,
-      197,  151,  162,  162,  148,  188,  148,  196,  168,  189,
-      182,  168,  198,  199,  195,  200,  202,  201,  190,  191,
-      195,  196,  205,  192,  206,  193,  207,  197,  208,  209,
-      210,  198,  211,  212,  214,  213,  200,  202,  245,  216,
-
-      215,  218,  209,  199,  207,  218,  200,  201,  212,  219,
-      219,  532,  218,  219,  531,  205,  209,  213,  211,  215,
-      206,  208,  529,  245,  214,  262,  210,  216,  220,  220,
-      222,  222,  220,  224,  222,  225,  225,  224,  244,  225,
-      246,  226,  226,  247,  224,  226,  225,  261,  225,  235,
-      235,  235,  235,  238,  238,  238,  238,  275,  262,  276,
-      261,  277,  247,  284,  279,  279,  286,  246,  279,  244,
-      283,  283,  283,  283,  285,  287,  288,  289,  290,  292,
-      293,  294,  297,  296,  276,  283,  295,  298,  275,  299,
-      288,  290,  277,  300,  302,  301,  284,  286,  292,  306,
-
-      310,  303,  289,  309,  285,  316,  287,  296,  307,  311,
-      293,  308,  297,  298,  295,  294,  301,  303,  295,  310,
-      300,  312,  299,  313,  308,  307,  302,  314,  309,  306,
-      311,  316,  315,  317,  318,  318,  320,  320,  318,  326,
-      320,  328,  312,  329,  314,  315,  313,  335,  341,  348,
-      317,  353,  318,  335,  342,  351,  351,  355,  356,  351,
-      357,  359,  361,  366,  362,  363,  364,  370,  365,  371,
-      326,  328,  341,  369,  329,  342,  353,  362,  375,  377,
-      348,  367,  363,  364,  357,  368,  370,  373,  355,  365,
-      356,  374,  361,  359,  367,  366,  376,  378,  367,  369,
-
-      368,  373,  371,  379,  381,  382,  383,  374,  376,  400,
-      377,  375,  385,  385,  387,  387,  385,  401,  387,  381,
-      388,  388,  378,  383,  388,  395,  404,  405,  379,  395,
-      382,  407,  387,  400,  409,  410,  411,  412,  413,  415,
-      416,  417,  419,  404,  420,  423,  422,  401,  407,  424,
-      426,  427,  412,  413,  428,  409,  416,  420,  422,  425,
-      429,  432,  405,  415,  437,  432,  411,  410,  419,  423,
-      438,  425,  429,  417,  441,  432,  432,  432,  432,  444,
-      442,  424,  445,  426,  427,  446,  428,  438,  447,  452,
-      453,  437,  454,  455,  456,  444,  457,  458,  459,  445,
-
-      441,  442,  461,  460,  466,  469,  452,  472,  476,  480,
-      466,  483,  468,  473,  453,  460,  474,  446,  477,  482,
-      447,  478,  458,  459,  454,  455,  464,  468,  457,  473,
-      464,  456,  481,  474,  461,  477,  469,  478,  486,  472,
-      464,  464,  464,  464,  481,  476,  480,  482,  483,  487,
-      494,  495,  504,  505,  494,  495,  496,  496,  496,  497,
-      499,  507,  502,  497,  506,  508,  509,  510,  494,  495,
-      486,  510,  511,  523,  525,  526,  511,  499,  502,  520,
-      504,  506,  549,  524,  516,  522,  487,  505,  516,  507,
-      523,  517,  526,  520,  509,  517,  524,  527,  516,  516,
-
-      516,  516,  508,  521,  528,  517,  517,  517,  517,  518,
-      518,  518,  518,  519,  515,  549,  541,  519,  519,  519,
-      519,  528,  533,  533,  539,  527,  533,  534,  537,  534,
-      534,  534,  534,  541,  514,  553,  533,  533,  533,  533,
-      535,  513,  512,  537,  535,  535,  535,  535,  539,  544,
-      544,  547,  553,  544,  546,  546,  546,  546,  552,  503,
-      552,  552,  552,  552,  501,  500,  547,  555,  555,  555,
-      555,  557,  557,  558,  558,  557,  498,  558,  493,  492,
-      491,  490,  489,  488,  485,  557,  557,  557,  557,  561,
-      561,  561,  561,  561,  561,  561,  561,  561,  561,  562,
-
-      562,  562,  562,  562,  562,  562,  562,  562,  562,  563,
-      563,  563,  563,  563,  563,  563,  563,  563,  563,  564,
-      564,  564,  564,  564,  564,  564,  564,  564,  564,  565,
-      565,  565,  565,  565,  565,  565,  565,  565,  565,  566,
+      103,  109,  108,  103,  104,  110,   93,  105,  111,  112,
+      108,  144,  118,  114,  125,  113,  118,  105,  125,  110,
+      298,  111,  124,  118,  144,  119,  124,  120,  120,  112,
+      112,  120,  148,  124,  126,  126,  148,  145,  126,  163,
+      120,  112,  130,  130,  298,  126,  130,  126,  133,  133,
+      133,  133,  136,  136,  136,  136,  125,  137,  146,  137,
+
+      137,  137,  137,  138,  147,  138,  138,  138,  138,  140,
+      145,  140,  140,  140,  140,  151,  156,  147,  148,  151,
+      148,  153,  159,  153,  130,  155,  156,  176,  146,  153,
+      163,  163,  169,  190,  175,  177,  169,  153,  193,  187,
+      155,  189,  188,  153,  548,  191,  155,  175,  192,  200,
+      194,  159,  187,  198,  176,  188,  177,  151,  182,  182,
+      182,  182,  183,  183,  183,  183,  190,  189,  196,  197,
+      193,  169,  199,  201,  169,  192,  194,  183,  191,  200,
+      198,  202,  203,  197,  206,  207,  209,  208,  210,  196,
+      211,  199,  212,  213,  201,  196,  217,  215,  214,  547,
+
+      290,  210,  545,  203,  201,  208,  216,  245,  213,  220,
+      220,  202,  219,  220,  290,  210,  219,  206,  212,  209,
+      214,  207,  246,  219,  217,  216,  211,  215,  221,  221,
+      223,  223,  221,  225,  223,  226,  226,  225,  245,  226,
+      247,  227,  227,  248,  225,  227,  226,  246,  226,  236,
+      236,  236,  236,  239,  239,  239,  239,  257,  263,  264,
+      277,  278,  248,  279,  286,  281,  281,  247,  257,  281,
+      287,  263,  285,  285,  285,  285,  288,  289,  291,  294,
+      292,  295,  296,  300,  299,  297,  278,  285,  301,  303,
+      305,  277,  264,  292,  279,  302,  304,  286,  294,  308,
+
+      287,  309,  310,  291,  312,  311,  305,  288,  289,  300,
+      303,  295,  313,  297,  299,  310,  296,  297,  309,  314,
+      315,  301,  302,  312,  316,  317,  318,  319,  304,  308,
+      311,  320,  320,  313,  328,  320,  330,  331,  317,  337,
+      314,  316,  346,  315,  319,  337,  322,  322,  345,  320,
+      322,  352,  318,  355,  355,  357,  359,  355,  360,  361,
+      363,  365,  366,  346,  367,  328,  330,  368,  331,  370,
+      372,  373,  345,  369,  375,  366,  371,  374,  379,  378,
+      357,  367,  352,  361,  368,  372,  377,  359,  381,  371,
+      360,  365,  363,  371,  369,  378,  374,  373,  380,  382,
+
+      377,  370,  383,  385,  386,  387,  405,  375,  389,  389,
+      380,  379,  389,  391,  391,  406,  399,  391,  385,  381,
+      399,  409,  387,  410,  382,  412,  414,  383,  415,  386,
+      405,  391,  392,  392,  416,  417,  392,  418,  409,  420,
+      421,  422,  412,  424,  425,  406,  428,  414,  429,  427,
+      417,  431,  418,  430,  432,  434,  421,  425,  410,  433,
+      415,  427,  437,  420,  416,  430,  437,  434,  442,  424,
+      428,  443,  446,  422,  449,  447,  437,  437,  437,  437,
+      429,  451,  450,  452,  431,  457,  458,  432,  443,  459,
+      449,  433,  460,  461,  462,  442,  447,  463,  446,  450,
+
+      464,  466,  457,  469,  465,  471,  474,  469,  473,  477,
+      458,  471,  478,  451,  479,  452,  465,  469,  469,  469,
+      469,  459,  463,  473,  460,  464,  462,  481,  478,  482,
+      461,  479,  483,  466,  485,  486,  488,  474,  487,  492,
+      491,  477,  501,  501,  501,  499,  482,  486,  483,  499,
+      500,  502,  504,  509,  500,  502,  510,  512,  507,  513,
+      511,  514,  544,  499,  481,  532,  487,  529,  500,  504,
+      525,  485,  491,  488,  507,  515,  492,  511,  516,  515,
+      529,  509,  516,  521,  525,  512,  544,  521,  522,  514,
+      510,  543,  522,  532,  528,  531,  513,  521,  521,  521,
+
+      521,  533,  522,  522,  522,  522,  523,  523,  523,  523,
+      524,  528,  531,  542,  524,  524,  524,  524,  533,  538,
+      538,  546,  539,  538,  539,  539,  539,  539,  542,  551,
+      551,  551,  551,  538,  538,  538,  538,  540,  546,  552,
+      554,  540,  540,  540,  540,  549,  549,  558,  557,  549,
+      557,  557,  557,  557,  552,  560,  560,  560,  560,  563,
+      563,  562,  562,  563,  558,  562,  537,  536,  534,  530,
+      527,  526,  520,  554,  519,  562,  562,  562,  562,  566,
       566,  566,  566,  566,  566,  566,  566,  566,  566,  567,
       567,  567,  567,  567,  567,  567,  567,  567,  567,  568,
-      568,  484,  568,  568,  568,  568,  568,  568,  568,  569,
-      569,  570,  570,  570,  570,  571,  571,  479,  571,  571,
-      571,  571,  571,  571,  571,  572,  572,  475,  572,  572,
-      572,  572,  572,  572,  572,  573,  573,  471,  573,  573,
-
-      573,  573,  573,  573,  573,  574,  470,  574,  574,  574,
-      575,  575,  467,  575,  575,  575,  575,  575,  575,  575,
-      576,  576,  576,  576,  576,  576,  576,  576,  576,  576,
-      577,  465,  577,  578,  578,  578,  578,  579,  579,  579,
-      580,  580,  463,  580,  580,  580,  580,  580,  580,  580,
+
+      568,  568,  568,  568,  568,  568,  568,  568,  568,  569,
+      569,  569,  569,  569,  569,  569,  569,  569,  569,  570,
+      570,  570,  570,  570,  570,  570,  570,  570,  570,  571,
+      571,  571,  571,  571,  571,  571,  571,  571,  571,  572,
+      572,  572,  572,  572,  572,  572,  572,  572,  572,  573,
+      573,  518,  573,  573,  573,  573,  573,  573,  573,  574,
+      574,  575,  575,  575,  575,  576,  576,  517,  576,  576,
+      576,  576,  576,  576,  576,  577,  577,  508,  577,  577,
+      577,  577,  577,  577,  577,  578,  578,  506,  578,  578,
+      578,  578,  578,  578,  578,  579,  505,  579,  579,  579,
+
+      580,  580,  503,  580,  580,  580,  580,  580,  580,  580,
       581,  581,  581,  581,  581,  581,  581,  581,  581,  581,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      584,  462,  584,  584,  584,  585,  585,  585,  585,  585,
-      585,  585,  585,  585,  585,  586,  586,  451,  450,  449,
-
-      448,  586,  586,  587,  587,  588,  588,  588,  588,  589,
-      589,  589,  589,  590,  590,  443,  440,  590,  590,  590,
-      590,  591,  591,  591,  591,  592,  592,  439,  592,  592,
-      592,  592,  592,  592,  592,  593,  593,  436,  435,  434,
-      593,  593,  593,  593,  593,  594,  594,  433,  594,  431,
-      594,  594,  594,  594,  594,  430,  421,  418,  414,  408,
-      406,  403,  399,  398,  397,  396,  394,  393,  392,  391,
-      390,  389,  384,  380,  372,  360,  358,  354,  350,  349,
-      347,  343,  340,  337,  334,  332,  331,  330,  327,  325,
-      324,  323,  322,  321,  304,  291,  282,  280,  273,  272,
-
-      270,  267,  266,  265,  263,  260,  259,  257,  256,  254,
-      253,  252,  251,  250,  249,  248,  243,  242,  240,  236,
-      234,  233,  228,  204,  184,  183,  180,  179,  178,  173,
-      169,  166,  164,  163,  161,  152,  150,  149,  143,  142,
-      141,  135,  132,  131,  128,  127,  123,  117,   61,   50,
-       48,   36,   30,   25,   18,   14,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-
-      560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
-      560,  560,  560,  560,  560,  560
+      582,  498,  582,  583,  583,  583,  583,  584,  584,  584,
+      585,  585,  497,  585,  585,  585,  585,  585,  585,  585,
+      586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
+      587,  587,  587,  587,  587,  587,  587,  587,  587,  587,
+      588,  588,  588,  588,  588,  588,  588,  588,  588,  588,
+      589,  496,  589,  589,  589,  590,  590,  590,  590,  590,
+      590,  590,  590,  590,  590,  591,  591,  495,  494,  493,
+      490,  591,  591,  592,  592,  593,  593,  593,  593,  594,
+
+      594,  594,  594,  595,  595,  489,  484,  595,  595,  595,
+      595,  596,  596,  596,  596,  597,  597,  480,  597,  597,
+      597,  597,  597,  597,  597,  598,  598,  476,  475,  472,
+      598,  598,  598,  598,  598,  599,  599,  470,  599,  468,
+      599,  599,  599,  599,  599,  467,  456,  455,  454,  453,
+      448,  445,  444,  441,  440,  439,  438,  436,  435,  426,
+      423,  419,  413,  411,  408,  404,  403,  402,  401,  400,
+      398,  397,  396,  395,  394,  393,  388,  384,  376,  364,
+      362,  358,  354,  353,  351,  347,  344,  341,  339,  336,
+      334,  333,  332,  329,  327,  326,  325,  324,  323,  306,
+
+      293,  284,  282,  275,  274,  272,  269,  268,  267,  265,
+      262,  261,  259,  258,  255,  254,  253,  252,  251,  250,
+      249,  244,  243,  241,  237,  235,  234,  229,  205,  185,
+      184,  181,  180,  179,  174,  170,  167,  165,  164,  162,
+      154,  152,  150,  149,  143,  142,  141,  135,  132,  131,
+      128,  127,  123,  117,   61,   50,   48,   36,   30,   25,
+       18,   14,  565,  565,  565,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+
+      565,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+      565,  565,  565,  565,  565,  565,  565,  565,  565,  565,
+      565,  565
     } ;
 
 extern int yy_flex_debug;
@@ -1043,7 +1036,7 @@ char *yytext;
 /* GOB C Preprocessor
  * Copyright (C) 1999-2000 the Free Software Foundation.
  * Copyright (C) 2000 Eazel, Inc.
- * Copyright (C) 2001-2009 George (Jiri) Lebl
+ * Copyright (C) 2001-2011 George (Jiri) Lebl
  *
  * Author: George Lebl
  *
@@ -1153,7 +1146,7 @@ int yylex(void);
 
 
 
-#line 1157 "lexer.c"
+#line 1150 "lexer.c"
 
 #define INITIAL 0
 #define COMMENT 1
@@ -1245,12 +1238,7 @@ static int input (void );
 
 /* Amount of stuff to slurp up with each read. */
 #ifndef YY_READ_BUF_SIZE
-#ifdef __ia64__
-/* On IA-64, the buffer size is 16k, not 8k */
-#define YY_READ_BUF_SIZE 16384
-#else
 #define YY_READ_BUF_SIZE 8192
-#endif /* __ia64__ */
 #endif
 
 /* Copy whatever the last rule matched to the standard output. */
@@ -1269,7 +1257,7 @@ static int input (void );
        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
                { \
                int c = '*'; \
-               size_t n; \
+               unsigned n; \
                for ( n = 0; n < max_size && \
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
                        buf[n] = (char) c; \
@@ -1365,7 +1353,7 @@ yy_current_state = 0;
 
 
 
-#line 1369 "lexer.c"
+#line 1357 "lexer.c"
 
        if ( !(yy_init) )
                {
@@ -1424,14 +1412,14 @@ 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 >= 561 )
+                               if ( yy_current_state >= 566 )
                                        yy_c = yy_meta[(unsigned int) yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                        *(yy_state_ptr)++ = yy_current_state;
                        ++yy_cp;
                        }
-               while ( yy_base[yy_current_state] != 1357 );
+               while ( yy_base[yy_current_state] != 1363 );
 
 yy_find_action:
                yy_current_state = *--(yy_state_ptr);
@@ -1856,14 +1844,28 @@ YY_RULE_SETUP
                        BEGIN(C_CODE);
                        parenth_depth = 1;
                        class_after_c = FALSE;
-                       code_type = ADCODE;
+                       code_type = CTCODE;
                        clear_cbuf();
                        ccode_line = line_no;
+                       if(look_for_includes==0)
+                               look_for_includes=1;
                }
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 357 "lexer.l"
+#line 359 "lexer.l"
+{
+                       BEGIN(C_CODE);
+                       parenth_depth = 1;
+                       class_after_c = FALSE;
+                       code_type = ADCODE;
+                       clear_cbuf();
+                       ccode_line = line_no;
+               }
+       YY_BREAK
+case 39:
+YY_RULE_SETUP
+#line 367 "lexer.l"
 {
                        BEGIN(INITIAL);
                        yylval.cbuf = cbuf;
@@ -1873,67 +1875,67 @@ YY_RULE_SETUP
                        return code_type;
                }
        YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 366 "lexer.l"
-{ add_to_cbuf(yytext); }
-       YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 367 "lexer.l"
+#line 376 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 368 "lexer.l"
+#line 377 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 369 "lexer.l"
+#line 378 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 370 "lexer.l"
+#line 379 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 371 "lexer.l"
+#line 380 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 373 "lexer.l"
+#line 381 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 376 "lexer.l"
+#line 383 "lexer.l"
+{ add_to_cbuf(yytext); }
+       YY_BREAK
+case 47:
+YY_RULE_SETUP
+#line 386 "lexer.l"
 {
                        BEGIN(CODE_STRING);
                        before_string = C_CODE;
                        add_to_cbuf(yytext);
                }
        YY_BREAK
-case 47:
+case 48:
 YY_RULE_SETUP
-#line 381 "lexer.l"
+#line 391 "lexer.l"
 {
                        BEGIN(CODE_STRING);
                        before_string = PROPERTY_CODE_I;
                        add_to_cbuf(yytext);
                }
        YY_BREAK
-case 48:
+case 49:
 YY_RULE_SETUP
-#line 386 "lexer.l"
+#line 396 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 49:
+case 50:
 YY_RULE_SETUP
-#line 387 "lexer.l"
+#line 397 "lexer.l"
 {
                        BEGIN(before_string);
                        add_to_cbuf(yytext);
@@ -1945,28 +1947,28 @@ YY_RULE_SETUP
                        }
                }
        YY_BREAK
-case 50:
+case 51:
 YY_RULE_SETUP
-#line 397 "lexer.l"
+#line 407 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 51:
-/* rule 51 can match eol */
+case 52:
+/* rule 52 can match eol */
 YY_RULE_SETUP
-#line 398 "lexer.l"
+#line 408 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 52:
+case 53:
 YY_RULE_SETUP
-#line 400 "lexer.l"
+#line 410 "lexer.l"
 {
                        parenth_depth++;
                        add_to_cbuf(yytext);
                }
        YY_BREAK
-case 53:
+case 54:
 YY_RULE_SETUP
-#line 404 "lexer.l"
+#line 414 "lexer.l"
 {
                        parenth_depth--;
                        if(parenth_depth<0) {
@@ -1980,20 +1982,20 @@ YY_RULE_SETUP
                        add_to_cbuf(yytext);
                }
        YY_BREAK
-case 54:
+case 55:
 YY_RULE_SETUP
-#line 417 "lexer.l"
+#line 427 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 55:
-/* rule 55 can match eol */
+case 56:
+/* rule 56 can match eol */
 YY_RULE_SETUP
-#line 418 "lexer.l"
+#line 428 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 56:
+case 57:
 YY_RULE_SETUP
-#line 420 "lexer.l"
+#line 430 "lexer.l"
 {
                        static int found_classes = 0;
                        look_for_includes = 2;
@@ -2007,27 +2009,27 @@ YY_RULE_SETUP
                        return CLASS;
                }
        YY_BREAK
-case 57:
+case 58:
 YY_RULE_SETUP
-#line 433 "lexer.l"
+#line 443 "lexer.l"
 { return ERROR; }
        YY_BREAK
-case 58:
+case 59:
 YY_RULE_SETUP
-#line 434 "lexer.l"
+#line 444 "lexer.l"
 { return ENUM; }
        YY_BREAK
-case 59:
+case 60:
 YY_RULE_SETUP
-#line 435 "lexer.l"
+#line 445 "lexer.l"
 { return FLAGS; }
        YY_BREAK
-case 60:
+case 61:
 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 437 "lexer.l"
+#line 447 "lexer.l"
 {
                        int maj = 0, min = 0, pl = 0;
                        int rmaj = 0, rmin = 0, rpl = 0;
@@ -2069,9 +2071,9 @@ YY_RULE_SETUP
 
                }
        YY_BREAK
-case 61:
+case 62:
 YY_RULE_SETUP
-#line 478 "lexer.l"
+#line 488 "lexer.l"
 {
                        if(for_cpp) {
                                error_printf(GOB_WARN, line_no,
@@ -2082,28 +2084,28 @@ YY_RULE_SETUP
                        REJECT;
                }
        YY_BREAK
-case 62:
+case 63:
 YY_RULE_SETUP
-#line 488 "lexer.l"
+#line 498 "lexer.l"
 {return FROM;}
        YY_BREAK
-case 63:
+case 64:
 YY_RULE_SETUP
-#line 489 "lexer.l"
+#line 499 "lexer.l"
 {
                        BEGIN(CLASS_STRING);
                        before_string = CLASS_CODE;
                        add_to_cbuf(yytext);
                }
        YY_BREAK
-case 64:
+case 65:
 YY_RULE_SETUP
-#line 494 "lexer.l"
+#line 504 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 65:
+case 66:
 YY_RULE_SETUP
-#line 495 "lexer.l"
+#line 505 "lexer.l"
 {
                        BEGIN(before_string);
                        add_to_cbuf(yytext);
@@ -2113,199 +2115,199 @@ YY_RULE_SETUP
                        return STRING;
                }
        YY_BREAK
-case 66:
+case 67:
 YY_RULE_SETUP
-#line 503 "lexer.l"
+#line 513 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 67:
-/* rule 67 can match eol */
+case 68:
+/* rule 68 can match eol */
 YY_RULE_SETUP
-#line 504 "lexer.l"
+#line 514 "lexer.l"
 { add_to_cbuf(yytext); }
        YY_BREAK
-case 68:
+case 69:
 YY_RULE_SETUP
-#line 506 "lexer.l"
+#line 516 "lexer.l"
 {return VOID;}
        YY_BREAK
-case 69:
+case 70:
 YY_RULE_SETUP
-#line 507 "lexer.l"
+#line 517 "lexer.l"
 {return STRUCT;}
        YY_BREAK
-case 70:
+case 71:
 YY_RULE_SETUP
-#line 508 "lexer.l"
+#line 518 "lexer.l"
 {return UNION;}
        YY_BREAK
-case 71:
+case 72:
 YY_RULE_SETUP
-#line 509 "lexer.l"
+#line 519 "lexer.l"
 {return ENUM;}
        YY_BREAK
-case 72:
+case 73:
 YY_RULE_SETUP
-#line 510 "lexer.l"
+#line 520 "lexer.l"
 {return SIGNED;}
        YY_BREAK
-case 73:
+case 74:
 YY_RULE_SETUP
-#line 511 "lexer.l"
+#line 521 "lexer.l"
 {return UNSIGNED;}
        YY_BREAK
-case 74:
+case 75:
 YY_RULE_SETUP
-#line 512 "lexer.l"
+#line 522 "lexer.l"
 {return LONG;}
        YY_BREAK
-case 75:
+case 76:
 YY_RULE_SETUP
-#line 513 "lexer.l"
+#line 523 "lexer.l"
 {return SHORT;}
        YY_BREAK
-case 76:
+case 77:
 YY_RULE_SETUP
-#line 514 "lexer.l"
+#line 524 "lexer.l"
 {return INT;}
        YY_BREAK
-case 77:
+case 78:
 YY_RULE_SETUP
-#line 515 "lexer.l"
+#line 525 "lexer.l"
 {return FLOAT;}
        YY_BREAK
-case 78:
+case 79:
 YY_RULE_SETUP
-#line 516 "lexer.l"
+#line 526 "lexer.l"
 {return DOUBLE;}
        YY_BREAK
-case 79:
+case 80:
 YY_RULE_SETUP
-#line 517 "lexer.l"
+#line 527 "lexer.l"
 {return CHAR;}
        YY_BREAK
-case 80:
+case 81:
 YY_RULE_SETUP
-#line 518 "lexer.l"
+#line 528 "lexer.l"
 {return CONST;}
        YY_BREAK
-case 81:
+case 82:
 YY_RULE_SETUP
-#line 520 "lexer.l"
+#line 530 "lexer.l"
 {return THREEDOTS;}
        YY_BREAK
-case 82:
+case 83:
 YY_RULE_SETUP
-#line 522 "lexer.l"
+#line 532 "lexer.l"
 {yylval.line = line_no; return PUBLIC;}
        YY_BREAK
-case 83:
+case 84:
 YY_RULE_SETUP
-#line 523 "lexer.l"
+#line 533 "lexer.l"
 {yylval.line = line_no; return PRIVATE;}
        YY_BREAK
-case 84:
+case 85:
 YY_RULE_SETUP
-#line 524 "lexer.l"
+#line 534 "lexer.l"
 {yylval.line = line_no; return PROTECTED;}
        YY_BREAK
-case 85:
+case 86:
 YY_RULE_SETUP
-#line 525 "lexer.l"
+#line 535 "lexer.l"
 {yylval.line = line_no; return CLASSWIDE;}
        YY_BREAK
-case 86:
+case 87:
 YY_RULE_SETUP
-#line 526 "lexer.l"
+#line 536 "lexer.l"
 {yylval.line = line_no; return ARGUMENT;}
        YY_BREAK
-case 87:
+case 88:
 YY_RULE_SETUP
-#line 527 "lexer.l"
+#line 537 "lexer.l"
 {yylval.line = line_no; return VIRTUAL;}
        YY_BREAK
-case 88:
+case 89:
 YY_RULE_SETUP
-#line 528 "lexer.l"
+#line 538 "lexer.l"
 {yylval.line = line_no; return SIGNAL;}
        YY_BREAK
-case 89:
+case 90:
 YY_RULE_SETUP
-#line 529 "lexer.l"
+#line 539 "lexer.l"
 {yylval.line = line_no; return OVERRIDE;}
        YY_BREAK
-case 90:
+case 91:
 YY_RULE_SETUP
-#line 530 "lexer.l"
+#line 540 "lexer.l"
 {
                                yylval.line = line_no;
                                BEGIN(PROPERTY_CODE);
                                return PROPERTY;
                        }
        YY_BREAK
-case 91:
+case 92:
 YY_RULE_SETUP
-#line 535 "lexer.l"
+#line 545 "lexer.l"
 { yylval.line = line_no; return NICK; }
        YY_BREAK
-case 92:
+case 93:
 YY_RULE_SETUP
-#line 536 "lexer.l"
+#line 546 "lexer.l"
 { yylval.line = line_no; return BLURB; }
        YY_BREAK
-case 93:
+case 94:
 YY_RULE_SETUP
-#line 537 "lexer.l"
+#line 547 "lexer.l"
 { yylval.line = line_no; return MAXIMUM; }
        YY_BREAK
-case 94:
+case 95:
 YY_RULE_SETUP
-#line 538 "lexer.l"
+#line 548 "lexer.l"
 { yylval.line = line_no; return MINIMUM; }
        YY_BREAK
-case 95:
+case 96:
 YY_RULE_SETUP
-#line 539 "lexer.l"
+#line 549 "lexer.l"
 { yylval.line = line_no; return DEFAULT_VALUE; }
        YY_BREAK
-case 96:
+case 97:
 YY_RULE_SETUP
-#line 540 "lexer.l"
+#line 550 "lexer.l"
 { yylval.line = line_no; return FLAGS; }
        YY_BREAK
-case 97:
+case 98:
 YY_RULE_SETUP
-#line 541 "lexer.l"
+#line 551 "lexer.l"
 { yylval.line = line_no; return TYPE; }
        YY_BREAK
-case 98:
+case 99:
 YY_RULE_SETUP
-#line 542 "lexer.l"
+#line 552 "lexer.l"
 { yylval.line = line_no; return FLAGS_TYPE; }
        YY_BREAK
-case 99:
+case 100:
 YY_RULE_SETUP
-#line 543 "lexer.l"
+#line 553 "lexer.l"
 { yylval.line = line_no; return ENUM_TYPE; }
        YY_BREAK
-case 100:
+case 101:
 YY_RULE_SETUP
-#line 544 "lexer.l"
+#line 554 "lexer.l"
 { yylval.line = line_no; return PARAM_TYPE; }
        YY_BREAK
-case 101:
+case 102:
 YY_RULE_SETUP
-#line 545 "lexer.l"
+#line 555 "lexer.l"
 { yylval.line = line_no; return BOXED_TYPE; }
        YY_BREAK
-case 102:
+case 103:
 YY_RULE_SETUP
-#line 546 "lexer.l"
+#line 556 "lexer.l"
 { yylval.line = line_no; return OBJECT_TYPE; }
        YY_BREAK
-case 103:
+case 104:
 YY_RULE_SETUP
-#line 547 "lexer.l"
+#line 557 "lexer.l"
 {
                yylval.line = line_no;
                property_paren_depth = 1;
@@ -2313,18 +2315,18 @@ YY_RULE_SETUP
                return '(';
                        }
        YY_BREAK
-case 104:
+case 105:
 YY_RULE_SETUP
-#line 553 "lexer.l"
+#line 563 "lexer.l"
 {
                yylval.line = line_no;
                property_paren_depth++;
                return '(';
                        }
        YY_BREAK
-case 105:
+case 106:
 YY_RULE_SETUP
-#line 558 "lexer.l"
+#line 568 "lexer.l"
 {
                yylval.line = line_no;
                property_paren_depth--;
@@ -2334,17 +2336,17 @@ YY_RULE_SETUP
                return ')';
                        }
        YY_BREAK
-case 106:
+case 107:
 YY_RULE_SETUP
-#line 567 "lexer.l"
+#line 577 "lexer.l"
 {
                        yylval.id = g_strdup(yytext);
                        return NUMBER;
                }
        YY_BREAK
-case 107:
+case 108:
 YY_RULE_SETUP
-#line 571 "lexer.l"
+#line 581 "lexer.l"
 {
                        /* This is cpp kind of token thingie */
                        if (for_cpp) {
@@ -2355,68 +2357,68 @@ YY_RULE_SETUP
                        }
                }
        YY_BREAK
-case 108:
+case 109:
 YY_RULE_SETUP
-#line 580 "lexer.l"
+#line 590 "lexer.l"
 {
                        /* this one is for a classname with a namespace */
                        yylval.id = g_strdup(yytext);
                        return TYPETOKEN;
                }
        YY_BREAK
-case 109:
+case 110:
 YY_RULE_SETUP
-#line 585 "lexer.l"
+#line 595 "lexer.l"
 {
                        /* this is for a classname with an empty namespace */
                        yylval.id = g_strdup(yytext);
                        return TYPETOKEN;
                }
        YY_BREAK
-case 110:
+case 111:
 YY_RULE_SETUP
-#line 590 "lexer.l"
+#line 600 "lexer.l"
 {
                        yylval.id = g_strdup(yytext);
                        return TOKEN;
                }
        YY_BREAK
-case 111:
+case 112:
 YY_RULE_SETUP
-#line 594 "lexer.l"
+#line 604 "lexer.l"
 {
                        yylval.id = g_strdup(yytext);
                        return SINGLE_CHAR;
                }
        YY_BREAK
-case 112:
+case 113:
 YY_RULE_SETUP
-#line 599 "lexer.l"
+#line 609 "lexer.l"
 {
                        yylval.id = g_strdup(yytext);
                        return ARRAY_DIM;
                }
        YY_BREAK
-case 113:
+case 114:
 YY_RULE_SETUP
-#line 603 "lexer.l"
+#line 613 "lexer.l"
 {
                        /* cheat for bitfield */
                        yylval.id = g_strdup(yytext);
                        return ARRAY_DIM;
                }
        YY_BREAK
-case 114:
+case 115:
 YY_RULE_SETUP
-#line 608 "lexer.l"
+#line 618 "lexer.l"
 {
                        BEGIN(CLASS_CODE_I);
                        return '{';
                }
        YY_BREAK
-case 115:
+case 116:
 YY_RULE_SETUP
-#line 612 "lexer.l"
+#line 622 "lexer.l"
 {
                        BEGIN(C_CODE);
                        parenth_depth=1;
@@ -2427,39 +2429,39 @@ YY_RULE_SETUP
                        return '{';
                }
        YY_BREAK
-case 116:
+case 117:
 YY_RULE_SETUP
-#line 621 "lexer.l"
+#line 631 "lexer.l"
 {
                                BEGIN(INITIAL);
                                return '}';
                        }
        YY_BREAK
-case 117:
+case 118:
 YY_RULE_SETUP
-#line 626 "lexer.l"
+#line 636 "lexer.l"
 ;  /*ignore*/
        YY_BREAK
-case 118:
-/* rule 118 can match eol */
+case 119:
+/* rule 119 can match eol */
 YY_RULE_SETUP
-#line 628 "lexer.l"
+#line 638 "lexer.l"
 ;  /*ignore*/
        YY_BREAK
-case 119:
+case 120:
 YY_RULE_SETUP
-#line 631 "lexer.l"
+#line 641 "lexer.l"
 {
                        yylval.line = line_no;
                        return yytext[0];
                }
        YY_BREAK
-case 120:
+case 121:
 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
 (yy_c_buf_p) = yy_cp -= 1;
 YY_DO_BEFORE_ACTION; /* set up yytext again */
 YY_RULE_SETUP
-#line 636 "lexer.l"
+#line 646 "lexer.l"
 {
                        char *p;
                        int t;
@@ -2469,12 +2471,12 @@ YY_RULE_SETUP
                        prealloc=t;
                }
        YY_BREAK
-case 121:
+case 122:
 YY_RULE_SETUP
-#line 645 "lexer.l"
+#line 655 "lexer.l"
 ECHO;
        YY_BREAK
-#line 2478 "lexer.c"
+#line 2480 "lexer.c"
                        case YY_STATE_EOF(INITIAL):
                        case YY_STATE_EOF(COMMENT):
                        case YY_STATE_EOF(C_CODE):
@@ -2747,7 +2749,7 @@ static int yy_get_next_buffer (void)
                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 >= 561 )
+                       if ( yy_current_state >= 566 )
                                yy_c = yy_meta[(unsigned int) yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -2770,11 +2772,11 @@ static int yy_get_next_buffer (void)
        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 >= 561 )
+               if ( yy_current_state >= 566 )
                        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 == 560);
+       yy_is_jam = (yy_current_state == 565);
        if ( ! yy_is_jam )
                *(yy_state_ptr)++ = yy_current_state;
 
@@ -3212,8 +3214,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
 
 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
  * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
  * 
  * @return the newly allocated buffer state object.
  */
@@ -3460,7 +3462,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 645 "lexer.l"
+#line 655 "lexer.l"
 
 
 
index 1a58a9ccd6f929f8fddb7a79f5aa49f9b9a3ce97..bad0c9adba2c68a936d27b33f650ec7cc475420d 100644 (file)
@@ -1,7 +1,7 @@
 /* GOB C Preprocessor
  * Copyright (C) 1999-2000 the Free Software Foundation.
  * Copyright (C) 2000 Eazel, Inc.
- * Copyright (C) 2001-2009 George (Jiri) Lebl
+ * Copyright (C) 2001-2011 George (Jiri) Lebl
  *
  * Author: George Lebl
  *
@@ -346,6 +346,16 @@ REJECT;
                        if(look_for_includes==0)
                                look_for_includes=1;
                }
+^\%(ct|ctop)\{         {
+                       BEGIN(C_CODE);
+                       parenth_depth = 1;
+                       class_after_c = FALSE;
+                       code_type = CTCODE;
+                       clear_cbuf();
+                       ccode_line = line_no;
+                       if(look_for_includes==0)
+                               look_for_includes=1;
+               }
 ^\%(ad|afterdecls)\{           {
                        BEGIN(C_CODE);
                        parenth_depth = 1;
index fab7a2e0d46c5cd718d9c4d4f96607c014b23738..734efa45dd79d81ec8c9b8708a9a9063fa5f61bc 100644 (file)
@@ -1,7 +1,7 @@
 /* GOB C Preprocessor
  * Copyright (C) 1999,2000 the Free Software Foundation.
  * Copyright (C) 2000 Eazel, Inc.
- * Copyright (C) 2001-2009 George (Jiri) Lebl
+ * Copyright (C) 2001-2011 George (Jiri) Lebl
  *
  * Author: George (Jiri) Lebl
  *
@@ -1655,22 +1655,22 @@ make_property (Property *p)
        if (p->override) {
                if (p->flags != NULL)
                        error_print (GOB_WARN, p->line_no,
-                                    "Overriden property, flags ignored");
+                                    "Overridden property, flags ignored");
                if (p->nick != NULL)
                        error_print (GOB_WARN, p->line_no,
-                                    "Overriden property, nick ignored");
+                                    "Overridden property, nick ignored");
                if (p->blurb != NULL)
                        error_print (GOB_WARN, p->line_no,
-                                    "Overriden property, blurb ignored");
+                                    "Overridden property, blurb ignored");
                if (p->minimum != NULL)
                        error_print (GOB_WARN, p->line_no,
-                                    "Overriden property, minimum ignored");
+                                    "Overridden property, minimum ignored");
                if (p->maximum != NULL)
                        error_print (GOB_WARN, p->line_no,
-                                    "Overriden property, maximum ignored");
+                                    "Overridden property, maximum ignored");
                if (p->default_value != NULL)
                        error_print (GOB_WARN, p->line_no,
-                                    "Overriden property, default_value ignored");
+                                    "Overridden property, default_value ignored");
 
                s = g_strdup (p->name);
                gob_strup (s);
@@ -3390,6 +3390,7 @@ print_ccode_block(CCode *cc)
                out_addline_infile(fp, cc->line_no);
                break;
        default:
+       case CT_CCODE:
        case C_CCODE:
                fp = out;
                out_printf(fp, "\n");
@@ -3924,12 +3925,13 @@ print_all_top(void)
 {
        GList *li;
 
-       /* print the AT_CCODE blocks */
+       /* print the AT_CCODE and CT_CCODE blocks */
        for(li = nodes; li != NULL; li = li->next) {
                Node *node = li->data;
                if(node->type == CCODE_NODE) {
                        CCode *cc = (CCode *)node;
-                       if(cc->cctype == AT_CCODE)
+                       if (cc->cctype == AT_CCODE ||
+                           cc->cctype == CT_CCODE)
                                print_ccode_block((CCode *)node);
                }
        }
index 3f02d38bbf918263c141abb08eb8bb95757356d8..8145ee56f2093519225618edb81fd39abc2028d7 100644 (file)
@@ -1,10 +1,9 @@
-
-/* A Bison parser, made by GNU Bison 2.4.1.  */
+/* A Bison parser, made by GNU Bison 2.4.3.  */
 
 /* Skeleton implementation for Bison's Yacc-like parsers in C
    
-      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-   Free Software Foundation, Inc.
+      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+   2009, 2010 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
@@ -46,7 +45,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "2.4.1"
+#define YYBISON_VERSION "2.4.3"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -730,7 +729,7 @@ ensure_property (void)
 
 
 /* Line 189 of yacc.c  */
-#line 734 "parse.c"
+#line 733 "parse.c"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -779,35 +778,36 @@ ensure_property (void)
      ARRAY_DIM = 277,
      SINGLE_CHAR = 278,
      CCODE = 279,
-     ADCODE = 280,
-     HTCODE = 281,
-     PHCODE = 282,
-     HCODE = 283,
-     ACODE = 284,
-     ATCODE = 285,
-     STRING = 286,
-     PUBLIC = 287,
-     PRIVATE = 288,
-     PROTECTED = 289,
-     CLASSWIDE = 290,
-     PROPERTY = 291,
-     ARGUMENT = 292,
-     VIRTUAL = 293,
-     SIGNAL = 294,
-     OVERRIDE = 295,
-     NICK = 296,
-     BLURB = 297,
-     MAXIMUM = 298,
-     MINIMUM = 299,
-     DEFAULT_VALUE = 300,
-     ERROR = 301,
-     FLAGS = 302,
-     TYPE = 303,
-     FLAGS_TYPE = 304,
-     ENUM_TYPE = 305,
-     PARAM_TYPE = 306,
-     BOXED_TYPE = 307,
-     OBJECT_TYPE = 308
+     CTCODE = 280,
+     ADCODE = 281,
+     HTCODE = 282,
+     PHCODE = 283,
+     HCODE = 284,
+     ACODE = 285,
+     ATCODE = 286,
+     STRING = 287,
+     PUBLIC = 288,
+     PRIVATE = 289,
+     PROTECTED = 290,
+     CLASSWIDE = 291,
+     PROPERTY = 292,
+     ARGUMENT = 293,
+     VIRTUAL = 294,
+     SIGNAL = 295,
+     OVERRIDE = 296,
+     NICK = 297,
+     BLURB = 298,
+     MAXIMUM = 299,
+     MINIMUM = 300,
+     DEFAULT_VALUE = 301,
+     ERROR = 302,
+     FLAGS = 303,
+     TYPE = 304,
+     FLAGS_TYPE = 305,
+     ENUM_TYPE = 306,
+     PARAM_TYPE = 307,
+     BOXED_TYPE = 308,
+     OBJECT_TYPE = 309
    };
 #endif
 /* Tokens.  */
@@ -833,35 +833,36 @@ ensure_property (void)
 #define ARRAY_DIM 277
 #define SINGLE_CHAR 278
 #define CCODE 279
-#define ADCODE 280
-#define HTCODE 281
-#define PHCODE 282
-#define HCODE 283
-#define ACODE 284
-#define ATCODE 285
-#define STRING 286
-#define PUBLIC 287
-#define PRIVATE 288
-#define PROTECTED 289
-#define CLASSWIDE 290
-#define PROPERTY 291
-#define ARGUMENT 292
-#define VIRTUAL 293
-#define SIGNAL 294
-#define OVERRIDE 295
-#define NICK 296
-#define BLURB 297
-#define MAXIMUM 298
-#define MINIMUM 299
-#define DEFAULT_VALUE 300
-#define ERROR 301
-#define FLAGS 302
-#define TYPE 303
-#define FLAGS_TYPE 304
-#define ENUM_TYPE 305
-#define PARAM_TYPE 306
-#define BOXED_TYPE 307
-#define OBJECT_TYPE 308
+#define CTCODE 280
+#define ADCODE 281
+#define HTCODE 282
+#define PHCODE 283
+#define HCODE 284
+#define ACODE 285
+#define ATCODE 286
+#define STRING 287
+#define PUBLIC 288
+#define PRIVATE 289
+#define PROTECTED 290
+#define CLASSWIDE 291
+#define PROPERTY 292
+#define ARGUMENT 293
+#define VIRTUAL 294
+#define SIGNAL 295
+#define OVERRIDE 296
+#define NICK 297
+#define BLURB 298
+#define MAXIMUM 299
+#define MINIMUM 300
+#define DEFAULT_VALUE 301
+#define ERROR 302
+#define FLAGS 303
+#define TYPE 304
+#define FLAGS_TYPE 305
+#define ENUM_TYPE 306
+#define PARAM_TYPE 307
+#define BOXED_TYPE 308
+#define OBJECT_TYPE 309
 
 
 
@@ -882,7 +883,7 @@ typedef union YYSTYPE
 
 
 /* Line 214 of yacc.c  */
-#line 886 "parse.c"
+#line 887 "parse.c"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -894,7 +895,7 @@ typedef union YYSTYPE
 
 
 /* Line 264 of yacc.c  */
-#line 898 "parse.c"
+#line 899 "parse.c"
 
 #ifdef short
 # undef short
@@ -944,7 +945,7 @@ typedef short int yytype_int16;
 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
 
 #ifndef YY_
-# if YYENABLE_NLS
+# if defined YYENABLE_NLS && YYENABLE_NLS
 #  if ENABLE_NLS
 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
@@ -1107,22 +1108,22 @@ union yyalloc
 #endif
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  24
+#define YYFINAL  25
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   640
+#define YYLAST   641
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  67
+#define YYNTOKENS  68
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  53
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  197
+#define YYNRULES  198
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  417
+#define YYNSTATES  418
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   308
+#define YYMAXUTOK   309
 
 #define YYTRANSLATE(YYX)                                               \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -1133,16 +1134,16 @@ static const yytype_uint8 yytranslate[] =
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    65,     2,     2,     2,     2,     2,     2,
-      56,    57,    62,     2,    60,    66,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,     2,    58,
-      64,    59,    63,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,    66,     2,     2,     2,     2,     2,     2,
+      57,    58,    63,     2,    61,    67,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,    59,
+      65,    60,    64,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    54,    61,    55,     2,     2,     2,     2,
+       2,     2,     2,    55,    62,    56,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -1160,7 +1161,7 @@ static const yytype_uint8 yytranslate[] =
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48,    49,    50,    51,    52,    53
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54
 };
 
 #if YYDEBUG
@@ -1169,130 +1170,131 @@ static const yytype_uint8 yytranslate[] =
 static const yytype_uint16 yyprhs[] =
 {
        0,     0,     3,     7,    10,    13,    15,    17,    19,    21,
-      23,    25,    27,    29,    32,    35,    38,    41,    43,    45,
-      47,    49,    54,    58,    64,    65,    70,    76,    82,    88,
-      95,   103,   110,   118,   121,   123,   125,   128,   132,   134,
-     136,   138,   140,   142,   144,   146,   148,   151,   155,   158,
-     162,   165,   168,   170,   172,   174,   175,   181,   188,   201,
-     211,   218,   222,   223,   235,   244,   250,   254,   255,   259,
-     261,   263,   268,   270,   272,   276,   280,   284,   288,   292,
-     296,   300,   304,   308,   312,   316,   320,   324,   328,   332,
-     336,   340,   342,   348,   350,   354,   355,   359,   361,   364,
-     366,   368,   370,   373,   376,   379,   383,   387,   390,   393,
-     396,   398,   401,   403,   406,   408,   410,   412,   414,   416,
-     418,   420,   422,   424,   426,   428,   430,   432,   435,   438,
-     442,   445,   447,   451,   455,   458,   460,   465,   469,   471,
-     474,   476,   487,   499,   509,   519,   528,   540,   549,   555,
-     558,   563,   570,   571,   573,   576,   578,   580,   583,   586,
-     590,   595,   600,   602,   606,   608,   612,   614,   617,   621,
-     628,   636,   639,   641,   643,   646,   649,   653,   657,   661,
-     665,   673,   682,   686,   688,   692,   694,   702,   711,   715,
-     717,   725,   734,   738,   740,   742,   745,   747
+      23,    25,    27,    29,    31,    34,    37,    40,    43,    45,
+      47,    49,    51,    56,    60,    66,    67,    72,    78,    84,
+      90,    97,   105,   112,   120,   123,   125,   127,   130,   134,
+     136,   138,   140,   142,   144,   146,   148,   150,   153,   157,
+     160,   164,   167,   170,   172,   174,   176,   177,   183,   190,
+     203,   213,   220,   224,   225,   237,   246,   252,   256,   257,
+     261,   263,   265,   270,   272,   274,   278,   282,   286,   290,
+     294,   298,   302,   306,   310,   314,   318,   322,   326,   330,
+     334,   338,   342,   344,   350,   352,   356,   357,   361,   363,
+     366,   368,   370,   372,   375,   378,   381,   385,   389,   392,
+     395,   398,   400,   403,   405,   408,   410,   412,   414,   416,
+     418,   420,   422,   424,   426,   428,   430,   432,   434,   437,
+     440,   444,   447,   449,   453,   457,   460,   462,   467,   471,
+     473,   476,   478,   489,   501,   511,   521,   530,   542,   551,
+     557,   560,   565,   572,   573,   575,   578,   580,   582,   585,
+     588,   592,   597,   602,   604,   608,   610,   614,   616,   619,
+     623,   630,   638,   641,   643,   645,   648,   651,   655,   659,
+     663,   667,   675,   684,   688,   690,   694,   696,   704,   713,
+     717,   719,   727,   736,   740,   742,   744,   747,   749
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int8 yyrhs[] =
 {
-      68,     0,    -1,    70,    71,    70,    -1,    71,    70,    -1,
-      70,    71,    -1,    71,    -1,    24,    -1,    25,    -1,    28,
-      -1,    26,    -1,    27,    -1,    29,    -1,    30,    -1,    70,
-      69,    -1,    70,   112,    -1,    70,   115,    -1,    70,   117,
-      -1,    69,    -1,   112,    -1,   115,    -1,   117,    -1,    72,
-      54,    74,    55,    -1,    72,    54,    55,    -1,     3,    21,
-       4,    21,    73,    -1,    -1,    56,    19,    57,    73,    -1,
-      56,    19,    19,    57,    73,    -1,    56,    19,    21,    57,
-      73,    -1,    56,    19,    20,    57,    73,    -1,    56,    19,
-      31,    31,    57,    73,    -1,    56,    19,    31,    31,    31,
-      57,    73,    -1,    56,    19,    19,    31,    57,    73,    -1,
-      56,    19,    19,    31,    31,    57,    73,    -1,    74,    75,
-      -1,    75,    -1,   103,    -1,    19,   103,    -1,    19,    21,
-     103,    -1,    80,    -1,    81,    -1,    83,    -1,    58,    -1,
-      32,    -1,    33,    -1,    34,    -1,    35,    -1,    19,    19,
-      -1,    19,    54,    24,    -1,    59,   119,    -1,    59,    54,
-      24,    -1,    77,    78,    -1,    78,    77,    -1,    78,    -1,
-      77,    -1,    19,    -1,    -1,    76,    92,    19,    79,    58,
-      -1,    76,    92,    19,    22,    79,    58,    -1,    37,    90,
-      89,    19,    82,    19,    54,    24,    19,    54,    24,    58,
-      -1,    37,    90,    89,    19,    82,    19,    54,    24,    58,
-      -1,    37,    90,    89,    19,    82,    19,    -1,    56,    19,
-      57,    -1,    -1,    36,    19,    19,    84,    19,    54,    24,
-      19,    54,    24,    58,    -1,    36,    19,    19,    84,    19,
-      54,    24,    58,    -1,    36,    19,    19,    84,    58,    -1,
-      56,    85,    57,    -1,    -1,    85,    60,    88,    -1,    88,
-      -1,    31,    -1,    19,    56,    31,    57,    -1,   119,    -1,
-      86,    -1,    41,    59,    86,    -1,    42,    59,    86,    -1,
-      43,    59,   119,    -1,    44,    59,   119,    -1,    45,    59,
-      87,    -1,    47,    59,    91,    -1,    48,    59,    92,    -1,
-      49,    59,    21,    -1,    49,    59,    19,    -1,    50,    59,
-      21,    -1,    50,    59,    19,    -1,    51,    59,    21,    -1,
-      51,    59,    19,    -1,    52,    59,    21,    -1,    52,    59,
-      19,    -1,    53,    59,    21,    -1,    53,    59,    19,    -1,
-      19,    -1,    19,    56,    19,    92,    57,    -1,    19,    -1,
-      56,    91,    57,    -1,    -1,    19,    61,    91,    -1,    19,
-      -1,    93,    97,    -1,    93,    -1,    94,    -1,    19,    -1,
-       5,    19,    -1,    19,     5,    -1,    96,    19,    -1,     5,
-      96,    19,    -1,    96,    19,     5,    -1,    95,    94,    -1,
-      21,    94,    -1,     5,    94,    -1,    21,    -1,    21,     5,
-      -1,    95,    -1,    95,     5,    -1,     6,    -1,    18,    -1,
-      14,    -1,    15,    -1,    13,    -1,    16,    -1,    17,    -1,
-      11,    -1,    12,    -1,     7,    -1,     8,    -1,     9,    -1,
-      62,    -1,    62,     5,    -1,    62,    97,    -1,    62,     5,
-      97,    -1,    19,   100,    -1,   100,    -1,    76,    19,   100,
-      -1,    19,    76,   100,    -1,    76,   100,    -1,    98,    -1,
-      19,    56,   101,    57,    -1,   101,    60,    19,    -1,    19,
-      -1,    54,    24,    -1,    58,    -1,    39,    90,    99,    92,
-      19,    56,   106,    57,   104,   102,    -1,    76,    39,    90,
-      98,    92,    19,    56,   106,    57,   104,   102,    -1,    38,
-      76,    92,    19,    56,   106,    57,   104,   102,    -1,    76,
-      38,    92,    19,    56,   106,    57,   104,   102,    -1,    38,
-      92,    19,    56,   106,    57,   104,   102,    -1,    40,    56,
-      21,    57,    92,    19,    56,   106,    57,   104,   102,    -1,
-      76,    92,    19,    56,   106,    57,   104,   102,    -1,    19,
-      56,    19,    57,   102,    -1,    19,   105,    -1,    19,   105,
-      19,   105,    -1,    19,   105,    19,   105,    19,   105,    -1,
-      -1,   119,    -1,    54,    24,    -1,     6,    -1,    19,    -1,
-      19,     5,    -1,     5,    19,    -1,    19,    60,   107,    -1,
-      19,     5,    60,   107,    -1,     5,    19,    60,   107,    -1,
-     107,    -1,   108,    60,    10,    -1,   108,    -1,   108,    60,
-     109,    -1,   109,    -1,    92,    19,    -1,    92,    19,    22,
-      -1,    92,    19,    56,    19,   110,    57,    -1,    92,    19,
-      22,    56,    19,   110,    57,    -1,   110,   111,    -1,   111,
-      -1,    19,    -1,    63,   119,    -1,    64,   119,    -1,    63,
-      59,   119,    -1,    64,    59,   119,    -1,    59,    59,   119,
-      -1,    65,    59,   119,    -1,     9,    19,    54,   113,    55,
-      21,    58,    -1,     9,    19,    54,   113,    60,    55,    21,
-      58,    -1,   113,    60,   114,    -1,   114,    -1,    19,    59,
-     119,    -1,    19,    -1,    47,    19,    54,   116,    55,    21,
-      58,    -1,    47,    19,    54,   116,    60,    55,    21,    58,
-      -1,   116,    60,    19,    -1,    19,    -1,    46,    19,    54,
-     118,    55,    21,    58,    -1,    46,    19,    54,   118,    60,
-      55,    21,    58,    -1,   118,    60,    19,    -1,    19,    -1,
-      20,    -1,    66,    20,    -1,    23,    -1,    19,    -1
+      69,     0,    -1,    71,    72,    71,    -1,    72,    71,    -1,
+      71,    72,    -1,    72,    -1,    24,    -1,    26,    -1,    29,
+      -1,    27,    -1,    28,    -1,    30,    -1,    31,    -1,    25,
+      -1,    71,    70,    -1,    71,   113,    -1,    71,   116,    -1,
+      71,   118,    -1,    70,    -1,   113,    -1,   116,    -1,   118,
+      -1,    73,    55,    75,    56,    -1,    73,    55,    56,    -1,
+       3,    21,     4,    21,    74,    -1,    -1,    57,    19,    58,
+      74,    -1,    57,    19,    19,    58,    74,    -1,    57,    19,
+      21,    58,    74,    -1,    57,    19,    20,    58,    74,    -1,
+      57,    19,    32,    32,    58,    74,    -1,    57,    19,    32,
+      32,    32,    58,    74,    -1,    57,    19,    19,    32,    58,
+      74,    -1,    57,    19,    19,    32,    32,    58,    74,    -1,
+      75,    76,    -1,    76,    -1,   104,    -1,    19,   104,    -1,
+      19,    21,   104,    -1,    81,    -1,    82,    -1,    84,    -1,
+      59,    -1,    33,    -1,    34,    -1,    35,    -1,    36,    -1,
+      19,    19,    -1,    19,    55,    24,    -1,    60,   120,    -1,
+      60,    55,    24,    -1,    78,    79,    -1,    79,    78,    -1,
+      79,    -1,    78,    -1,    19,    -1,    -1,    77,    93,    19,
+      80,    59,    -1,    77,    93,    19,    22,    80,    59,    -1,
+      38,    91,    90,    19,    83,    19,    55,    24,    19,    55,
+      24,    59,    -1,    38,    91,    90,    19,    83,    19,    55,
+      24,    59,    -1,    38,    91,    90,    19,    83,    19,    -1,
+      57,    19,    58,    -1,    -1,    37,    19,    19,    85,    19,
+      55,    24,    19,    55,    24,    59,    -1,    37,    19,    19,
+      85,    19,    55,    24,    59,    -1,    37,    19,    19,    85,
+      59,    -1,    57,    86,    58,    -1,    -1,    86,    61,    89,
+      -1,    89,    -1,    32,    -1,    19,    57,    32,    58,    -1,
+     120,    -1,    87,    -1,    42,    60,    87,    -1,    43,    60,
+      87,    -1,    44,    60,   120,    -1,    45,    60,   120,    -1,
+      46,    60,    88,    -1,    48,    60,    92,    -1,    49,    60,
+      93,    -1,    50,    60,    21,    -1,    50,    60,    19,    -1,
+      51,    60,    21,    -1,    51,    60,    19,    -1,    52,    60,
+      21,    -1,    52,    60,    19,    -1,    53,    60,    21,    -1,
+      53,    60,    19,    -1,    54,    60,    21,    -1,    54,    60,
+      19,    -1,    19,    -1,    19,    57,    19,    93,    58,    -1,
+      19,    -1,    57,    92,    58,    -1,    -1,    19,    62,    92,
+      -1,    19,    -1,    94,    98,    -1,    94,    -1,    95,    -1,
+      19,    -1,     5,    19,    -1,    19,     5,    -1,    97,    19,
+      -1,     5,    97,    19,    -1,    97,    19,     5,    -1,    96,
+      95,    -1,    21,    95,    -1,     5,    95,    -1,    21,    -1,
+      21,     5,    -1,    96,    -1,    96,     5,    -1,     6,    -1,
+      18,    -1,    14,    -1,    15,    -1,    13,    -1,    16,    -1,
+      17,    -1,    11,    -1,    12,    -1,     7,    -1,     8,    -1,
+       9,    -1,    63,    -1,    63,     5,    -1,    63,    98,    -1,
+      63,     5,    98,    -1,    19,   101,    -1,   101,    -1,    77,
+      19,   101,    -1,    19,    77,   101,    -1,    77,   101,    -1,
+      99,    -1,    19,    57,   102,    58,    -1,   102,    61,    19,
+      -1,    19,    -1,    55,    24,    -1,    59,    -1,    40,    91,
+     100,    93,    19,    57,   107,    58,   105,   103,    -1,    77,
+      40,    91,    99,    93,    19,    57,   107,    58,   105,   103,
+      -1,    39,    77,    93,    19,    57,   107,    58,   105,   103,
+      -1,    77,    39,    93,    19,    57,   107,    58,   105,   103,
+      -1,    39,    93,    19,    57,   107,    58,   105,   103,    -1,
+      41,    57,    21,    58,    93,    19,    57,   107,    58,   105,
+     103,    -1,    77,    93,    19,    57,   107,    58,   105,   103,
+      -1,    19,    57,    19,    58,   103,    -1,    19,   106,    -1,
+      19,   106,    19,   106,    -1,    19,   106,    19,   106,    19,
+     106,    -1,    -1,   120,    -1,    55,    24,    -1,     6,    -1,
+      19,    -1,    19,     5,    -1,     5,    19,    -1,    19,    61,
+     108,    -1,    19,     5,    61,   108,    -1,     5,    19,    61,
+     108,    -1,   108,    -1,   109,    61,    10,    -1,   109,    -1,
+     109,    61,   110,    -1,   110,    -1,    93,    19,    -1,    93,
+      19,    22,    -1,    93,    19,    57,    19,   111,    58,    -1,
+      93,    19,    22,    57,    19,   111,    58,    -1,   111,   112,
+      -1,   112,    -1,    19,    -1,    64,   120,    -1,    65,   120,
+      -1,    64,    60,   120,    -1,    65,    60,   120,    -1,    60,
+      60,   120,    -1,    66,    60,   120,    -1,     9,    19,    55,
+     114,    56,    21,    59,    -1,     9,    19,    55,   114,    61,
+      56,    21,    59,    -1,   114,    61,   115,    -1,   115,    -1,
+      19,    60,   120,    -1,    19,    -1,    48,    19,    55,   117,
+      56,    21,    59,    -1,    48,    19,    55,   117,    61,    56,
+      21,    59,    -1,   117,    61,    19,    -1,    19,    -1,    47,
+      19,    55,   119,    56,    21,    59,    -1,    47,    19,    55,
+     119,    61,    56,    21,    59,    -1,   119,    61,    19,    -1,
+      19,    -1,    20,    -1,    67,    20,    -1,    23,    -1,    19,
+      -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
        0,   704,   704,   705,   706,   707,   710,   719,   728,   737,
-     746,   755,   764,   775,   776,   777,   778,   779,   780,   781,
-     782,   785,   790,   797,   814,   815,   823,   835,   844,   856,
-     865,   874,   883,   894,   895,   898,   899,   908,   920,   921,
-     922,   923,   926,   927,   928,   929,   932,   952,   976,   980,
-     988,   989,   990,   991,   992,  1000,  1006,  1009,  1014,  1082,
-    1136,  1225,  1233,  1238,  1286,  1322,  1338,  1339,  1342,  1343,
-    1346,  1347,  1359,  1360,  1363,  1369,  1375,  1381,  1387,  1393,
-    1399,  1406,  1412,  1418,  1424,  1430,  1436,  1442,  1448,  1454,
-    1460,  1466,  1491,  1500,  1506,  1507,  1510,  1513,  1519,  1526,
-    1535,  1538,  1541,  1545,  1549,  1553,  1558,  1566,  1570,  1575,
-    1579,  1582,  1586,  1589,  1594,  1595,  1596,  1597,  1598,  1599,
-    1600,  1601,  1602,  1605,  1606,  1607,  1610,  1611,  1612,  1616,
-    1623,  1635,  1641,  1653,  1665,  1668,  1674,  1679,  1682,  1687,
-    1688,  1692,  1715,  1738,  1761,  1784,  1802,  1815,  1825,  1865,
-    1877,  1897,  1928,  1935,  1936,  1942,  1943,  1954,  1965,  1976,
-    1986,  1996,  2006,  2009,  2010,  2013,  2014,  2017,  2020,  2023,
-    2031,  2041,  2042,  2045,  2062,  2069,  2076,  2083,  2090,  2097,
-    2106,  2115,  2126,  2127,  2130,  2150,  2160,  2169,  2180,  2183,
-    2188,  2197,  2208,  2211,  2217,  2218,  2222,  2223
+     746,   755,   764,   773,   784,   785,   786,   787,   788,   789,
+     790,   791,   794,   799,   806,   823,   824,   832,   844,   853,
+     865,   874,   883,   892,   903,   904,   907,   908,   917,   929,
+     930,   931,   932,   935,   936,   937,   938,   941,   961,   985,
+     989,   997,   998,   999,  1000,  1001,  1009,  1015,  1018,  1023,
+    1091,  1145,  1234,  1242,  1247,  1295,  1331,  1347,  1348,  1351,
+    1352,  1355,  1356,  1368,  1369,  1372,  1378,  1384,  1390,  1396,
+    1402,  1408,  1415,  1421,  1427,  1433,  1439,  1445,  1451,  1457,
+    1463,  1469,  1475,  1500,  1509,  1515,  1516,  1519,  1522,  1528,
+    1535,  1544,  1547,  1550,  1554,  1558,  1562,  1567,  1575,  1579,
+    1584,  1588,  1591,  1595,  1598,  1603,  1604,  1605,  1606,  1607,
+    1608,  1609,  1610,  1611,  1614,  1615,  1616,  1619,  1620,  1621,
+    1625,  1632,  1644,  1650,  1662,  1674,  1677,  1683,  1688,  1691,
+    1696,  1697,  1701,  1724,  1747,  1770,  1793,  1811,  1824,  1834,
+    1874,  1886,  1906,  1937,  1944,  1945,  1951,  1952,  1963,  1974,
+    1985,  1995,  2005,  2015,  2018,  2019,  2022,  2023,  2026,  2029,
+    2032,  2040,  2050,  2051,  2054,  2071,  2078,  2085,  2092,  2099,
+    2106,  2115,  2124,  2135,  2136,  2139,  2159,  2169,  2178,  2189,
+    2192,  2197,  2206,  2217,  2220,  2226,  2227,  2231,  2232
 };
 #endif
 
@@ -1304,22 +1306,23 @@ static const char *const yytname[] =
   "$end", "error", "$undefined", "CLASS", "FROM", "CONST", "VOID",
   "STRUCT", "UNION", "ENUM", "THREEDOTS", "SIGNED", "UNSIGNED", "LONG",
   "SHORT", "INT", "FLOAT", "DOUBLE", "CHAR", "TOKEN", "NUMBER",
-  "TYPETOKEN", "ARRAY_DIM", "SINGLE_CHAR", "CCODE", "ADCODE", "HTCODE",
-  "PHCODE", "HCODE", "ACODE", "ATCODE", "STRING", "PUBLIC", "PRIVATE",
-  "PROTECTED", "CLASSWIDE", "PROPERTY", "ARGUMENT", "VIRTUAL", "SIGNAL",
-  "OVERRIDE", "NICK", "BLURB", "MAXIMUM", "MINIMUM", "DEFAULT_VALUE",
-  "ERROR", "FLAGS", "TYPE", "FLAGS_TYPE", "ENUM_TYPE", "PARAM_TYPE",
-  "BOXED_TYPE", "OBJECT_TYPE", "'{'", "'}'", "'('", "')'", "';'", "'='",
-  "','", "'|'", "'*'", "'>'", "'<'", "'!'", "'-'", "$accept", "prog",
-  "ccode", "ccodes", "class", "classdec", "classflags", "classcode",
-  "thing", "scope", "destructor", "initializer", "varoptions", "variable",
-  "argument", "export", "property", "param_spec", "param_spec_list",
-  "string", "anyval", "param_spec_value", "argtype", "flags", "flaglist",
-  "type", "specifier_list", "spec_list", "specifier", "strunionenum",
-  "pointer", "simplesigtype", "fullsigtype", "sigtype", "tokenlist",
-  "codenocode", "method", "methodmods", "retcode", "funcargs", "arglist",
-  "arglist1", "arg", "checklist", "check", "enumcode", "enumvals",
-  "enumval", "flagcode", "flagvals", "errorcode", "errorvals", "numtok", 0
+  "TYPETOKEN", "ARRAY_DIM", "SINGLE_CHAR", "CCODE", "CTCODE", "ADCODE",
+  "HTCODE", "PHCODE", "HCODE", "ACODE", "ATCODE", "STRING", "PUBLIC",
+  "PRIVATE", "PROTECTED", "CLASSWIDE", "PROPERTY", "ARGUMENT", "VIRTUAL",
+  "SIGNAL", "OVERRIDE", "NICK", "BLURB", "MAXIMUM", "MINIMUM",
+  "DEFAULT_VALUE", "ERROR", "FLAGS", "TYPE", "FLAGS_TYPE", "ENUM_TYPE",
+  "PARAM_TYPE", "BOXED_TYPE", "OBJECT_TYPE", "'{'", "'}'", "'('", "')'",
+  "';'", "'='", "','", "'|'", "'*'", "'>'", "'<'", "'!'", "'-'", "$accept",
+  "prog", "ccode", "ccodes", "class", "classdec", "classflags",
+  "classcode", "thing", "scope", "destructor", "initializer", "varoptions",
+  "variable", "argument", "export", "property", "param_spec",
+  "param_spec_list", "string", "anyval", "param_spec_value", "argtype",
+  "flags", "flaglist", "type", "specifier_list", "spec_list", "specifier",
+  "strunionenum", "pointer", "simplesigtype", "fullsigtype", "sigtype",
+  "tokenlist", "codenocode", "method", "methodmods", "retcode", "funcargs",
+  "arglist", "arglist1", "arg", "checklist", "check", "enumcode",
+  "enumvals", "enumval", "flagcode", "flagvals", "errorcode", "errorvals",
+  "numtok", 0
 };
 #endif
 
@@ -1333,59 +1336,59 @@ static const yytype_uint16 yytoknum[] =
      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
-     305,   306,   307,   308,   123,   125,    40,    41,    59,    61,
-      44,   124,    42,    62,    60,    33,    45
+     305,   306,   307,   308,   309,   123,   125,    40,    41,    59,
+      61,    44,   124,    42,    62,    60,    33,    45
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
-       0,    67,    68,    68,    68,    68,    69,    69,    69,    69,
-      69,    69,    69,    70,    70,    70,    70,    70,    70,    70,
-      70,    71,    71,    72,    73,    73,    73,    73,    73,    73,
-      73,    73,    73,    74,    74,    75,    75,    75,    75,    75,
-      75,    75,    76,    76,    76,    76,    77,    77,    78,    78,
-      79,    79,    79,    79,    79,    79,    80,    80,    81,    81,
-      81,    82,    82,    83,    83,    83,    84,    84,    85,    85,
-      86,    86,    87,    87,    88,    88,    88,    88,    88,    88,
-      88,    88,    88,    88,    88,    88,    88,    88,    88,    88,
-      88,    88,    89,    89,    90,    90,    91,    91,    92,    92,
-      93,    93,    93,    93,    93,    93,    93,    94,    94,    94,
-      94,    94,    94,    94,    95,    95,    95,    95,    95,    95,
-      95,    95,    95,    96,    96,    96,    97,    97,    97,    97,
-      98,    98,    99,    99,    99,    99,   100,   101,   101,   102,
-     102,   103,   103,   103,   103,   103,   103,   103,   103,   104,
-     104,   104,   104,   105,   105,   106,   106,   106,   106,   106,
-     106,   106,   106,   107,   107,   108,   108,   109,   109,   109,
-     109,   110,   110,   111,   111,   111,   111,   111,   111,   111,
-     112,   112,   113,   113,   114,   114,   115,   115,   116,   116,
-     117,   117,   118,   118,   119,   119,   119,   119
+       0,    68,    69,    69,    69,    69,    70,    70,    70,    70,
+      70,    70,    70,    70,    71,    71,    71,    71,    71,    71,
+      71,    71,    72,    72,    73,    74,    74,    74,    74,    74,
+      74,    74,    74,    74,    75,    75,    76,    76,    76,    76,
+      76,    76,    76,    77,    77,    77,    77,    78,    78,    79,
+      79,    80,    80,    80,    80,    80,    80,    81,    81,    82,
+      82,    82,    83,    83,    84,    84,    84,    85,    85,    86,
+      86,    87,    87,    88,    88,    89,    89,    89,    89,    89,
+      89,    89,    89,    89,    89,    89,    89,    89,    89,    89,
+      89,    89,    89,    90,    90,    91,    91,    92,    92,    93,
+      93,    94,    94,    94,    94,    94,    94,    94,    95,    95,
+      95,    95,    95,    95,    95,    96,    96,    96,    96,    96,
+      96,    96,    96,    96,    97,    97,    97,    98,    98,    98,
+      98,    99,    99,   100,   100,   100,   100,   101,   102,   102,
+     103,   103,   104,   104,   104,   104,   104,   104,   104,   104,
+     105,   105,   105,   105,   106,   106,   107,   107,   107,   107,
+     107,   107,   107,   107,   108,   108,   109,   109,   110,   110,
+     110,   110,   111,   111,   112,   112,   112,   112,   112,   112,
+     112,   113,   113,   114,   114,   115,   115,   116,   116,   117,
+     117,   118,   118,   119,   119,   120,   120,   120,   120
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
 static const yytype_uint8 yyr2[] =
 {
        0,     2,     3,     2,     2,     1,     1,     1,     1,     1,
-       1,     1,     1,     2,     2,     2,     2,     1,     1,     1,
-       1,     4,     3,     5,     0,     4,     5,     5,     5,     6,
-       7,     6,     7,     2,     1,     1,     2,     3,     1,     1,
-       1,     1,     1,     1,     1,     1,     2,     3,     2,     3,
-       2,     2,     1,     1,     1,     0,     5,     6,    12,     9,
-       6,     3,     0,    11,     8,     5,     3,     0,     3,     1,
-       1,     4,     1,     1,     3,     3,     3,     3,     3,     3,
+       1,     1,     1,     1,     2,     2,     2,     2,     1,     1,
+       1,     1,     4,     3,     5,     0,     4,     5,     5,     5,
+       6,     7,     6,     7,     2,     1,     1,     2,     3,     1,
+       1,     1,     1,     1,     1,     1,     1,     2,     3,     2,
+       3,     2,     2,     1,     1,     1,     0,     5,     6,    12,
+       9,     6,     3,     0,    11,     8,     5,     3,     0,     3,
+       1,     1,     4,     1,     1,     3,     3,     3,     3,     3,
        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       3,     1,     5,     1,     3,     0,     3,     1,     2,     1,
-       1,     1,     2,     2,     2,     3,     3,     2,     2,     2,
-       1,     2,     1,     2,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     2,     2,     3,
-       2,     1,     3,     3,     2,     1,     4,     3,     1,     2,
-       1,    10,    11,     9,     9,     8,    11,     8,     5,     2,
-       4,     6,     0,     1,     2,     1,     1,     2,     2,     3,
-       4,     4,     1,     3,     1,     3,     1,     2,     3,     6,
-       7,     2,     1,     1,     2,     2,     3,     3,     3,     3,
-       7,     8,     3,     1,     3,     1,     7,     8,     3,     1,
-       7,     8,     3,     1,     1,     2,     1,     1
+       3,     3,     1,     5,     1,     3,     0,     3,     1,     2,
+       1,     1,     1,     2,     2,     2,     3,     3,     2,     2,
+       2,     1,     2,     1,     2,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     2,     2,
+       3,     2,     1,     3,     3,     2,     1,     4,     3,     1,
+       2,     1,    10,    11,     9,     9,     8,    11,     8,     5,
+       2,     4,     6,     0,     1,     2,     1,     1,     2,     2,
+       3,     4,     4,     1,     3,     1,     3,     1,     2,     3,
+       6,     7,     2,     1,     1,     2,     2,     3,     3,     3,
+       3,     7,     8,     3,     1,     3,     1,     7,     8,     3,
+       1,     7,     8,     3,     1,     1,     2,     1,     1
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1393,262 +1396,262 @@ static const yytype_uint8 yyr2[] =
    means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       0,     0,     0,     6,     7,     9,    10,     8,    11,    12,
-       0,     0,     0,    17,     0,     5,     0,    18,    19,    20,
-       0,     0,     0,     0,     1,    13,     4,    14,    15,    16,
-       3,     0,     0,     0,     0,     0,     2,     0,    42,    43,
-      44,    45,     0,    95,     0,    95,     0,    22,    41,     0,
-      34,     0,    38,    39,    40,    35,    24,   185,     0,   183,
-     193,     0,   189,     0,     0,     0,     0,     0,    36,     0,
-       0,     0,     0,   114,   123,   124,   125,   121,   122,   118,
-     116,   117,   119,   120,   115,   101,   110,     0,     0,    99,
-     100,   112,     0,     0,     0,    21,    33,     0,    95,     0,
-       0,    23,     0,     0,     0,     0,     0,     0,     0,    37,
-       0,     0,    67,    97,     0,    93,     0,     0,   102,   109,
-       0,   103,   111,   108,     0,     0,   126,    98,   113,   107,
-     104,     0,     0,   135,     0,   131,     0,     0,     0,    55,
-       0,   197,   194,   196,     0,   184,     0,     0,   182,     0,
-     192,     0,     0,   188,     0,     0,     0,     0,     0,     0,
-      94,     0,    62,   105,     0,     0,   127,   128,   106,     0,
-       0,     0,   130,     0,   134,     0,     0,     0,     0,     0,
-      54,    55,     0,     0,    53,    52,     0,     0,     0,     0,
-       0,    24,   195,   180,     0,   190,     0,   186,     0,     0,
-     140,   148,    91,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    69,     0,    65,    96,
-       0,     0,     0,     0,     0,   114,   101,     0,     0,   162,
-     164,   166,   129,   138,     0,   133,   132,     0,     0,     0,
-       0,    46,     0,     0,     0,     0,    48,    50,     0,    51,
-      56,     0,    24,    24,    24,     0,    25,   181,   191,   187,
-     139,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    66,     0,     0,     0,     0,    60,     0,
-     102,   103,     0,   167,   152,     0,   136,     0,     0,     0,
-       0,     0,    47,    57,   152,    49,     0,    24,    26,    28,
-      27,     0,    24,     0,    70,    74,    75,    76,    77,   197,
-      73,    78,    72,    79,    80,    82,    81,    84,    83,    86,
-      85,    88,    87,    90,    89,    68,     0,    92,    61,     0,
-     152,     0,     0,   159,   168,     0,     0,     0,   163,   165,
-     137,     0,     0,   152,     0,     0,    24,    31,    24,    29,
-       0,     0,    64,     0,     0,   161,   160,     0,     0,     0,
-     149,   153,   145,   152,     0,     0,     0,   147,    32,    30,
-       0,     0,     0,    59,   143,     0,   173,     0,     0,     0,
-       0,     0,   172,   154,     0,     0,   152,   144,   152,    71,
-       0,     0,     0,     0,     0,   174,     0,   175,     0,   169,
-     171,   150,   141,     0,     0,    63,     0,   170,   178,   176,
-     177,   179,     0,   146,   142,    58,   151
+       0,     0,     0,     6,    13,     7,     9,    10,     8,    11,
+      12,     0,     0,     0,    18,     0,     5,     0,    19,    20,
+      21,     0,     0,     0,     0,     1,    14,     4,    15,    16,
+      17,     3,     0,     0,     0,     0,     0,     2,     0,    43,
+      44,    45,    46,     0,    96,     0,    96,     0,    23,    42,
+       0,    35,     0,    39,    40,    41,    36,    25,   186,     0,
+     184,   194,     0,   190,     0,     0,     0,     0,     0,    37,
+       0,     0,     0,     0,   115,   124,   125,   126,   122,   123,
+     119,   117,   118,   120,   121,   116,   102,   111,     0,     0,
+     100,   101,   113,     0,     0,     0,    22,    34,     0,    96,
+       0,     0,    24,     0,     0,     0,     0,     0,     0,     0,
+      38,     0,     0,    68,    98,     0,    94,     0,     0,   103,
+     110,     0,   104,   112,   109,     0,     0,   127,    99,   114,
+     108,   105,     0,     0,   136,     0,   132,     0,     0,     0,
+      56,     0,   198,   195,   197,     0,   185,     0,     0,   183,
+       0,   193,     0,     0,   189,     0,     0,     0,     0,     0,
+       0,    95,     0,    63,   106,     0,     0,   128,   129,   107,
+       0,     0,     0,   131,     0,   135,     0,     0,     0,     0,
+       0,    55,    56,     0,     0,    54,    53,     0,     0,     0,
+       0,     0,    25,   196,   181,     0,   191,     0,   187,     0,
+       0,   141,   149,    92,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    70,     0,    66,
+      97,     0,     0,     0,     0,     0,   115,   102,     0,     0,
+     163,   165,   167,   130,   139,     0,   134,   133,     0,     0,
+       0,     0,    47,     0,     0,     0,     0,    49,    51,     0,
+      52,    57,     0,    25,    25,    25,     0,    26,   182,   192,
+     188,   140,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    67,     0,     0,     0,     0,    61,
+       0,   103,   104,     0,   168,   153,     0,   137,     0,     0,
+       0,     0,     0,    48,    58,   153,    50,     0,    25,    27,
+      29,    28,     0,    25,     0,    71,    75,    76,    77,    78,
+     198,    74,    79,    73,    80,    81,    83,    82,    85,    84,
+      87,    86,    89,    88,    91,    90,    69,     0,    93,    62,
+       0,   153,     0,     0,   160,   169,     0,     0,     0,   164,
+     166,   138,     0,     0,   153,     0,     0,    25,    32,    25,
+      30,     0,     0,    65,     0,     0,   162,   161,     0,     0,
+       0,   150,   154,   146,   153,     0,     0,     0,   148,    33,
+      31,     0,     0,     0,    60,   144,     0,   174,     0,     0,
+       0,     0,     0,   173,   155,     0,     0,   153,   145,   153,
+      72,     0,     0,     0,     0,     0,   175,     0,   176,     0,
+     170,   172,   151,   142,     0,     0,    64,     0,   171,   179,
+     177,   178,   180,     0,   147,   143,    59,   152
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,    12,    13,    14,    15,    16,   101,    49,    50,    51,
-     184,   185,   186,    52,    53,   222,    54,   158,   215,   305,
-     311,   216,   116,    71,   114,   227,    89,    90,    91,    92,
-     127,   133,   134,   135,   234,   201,    55,   337,   360,   228,
-     229,   230,   231,   381,   382,    17,    58,    59,    18,    63,
-      19,    61,   361
+      -1,    13,    14,    15,    16,    17,   102,    50,    51,    52,
+     185,   186,   187,    53,    54,   223,    55,   159,   216,   306,
+     312,   217,   117,    72,   115,   228,    90,    91,    92,    93,
+     128,   134,   135,   136,   235,   202,    56,   338,   361,   229,
+     230,   231,   232,   382,   383,    18,    59,    60,    19,    64,
+      20,    62,   362
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -326
+#define YYPACT_NINF -360
 static const yytype_int16 yypact[] =
 {
-     145,    13,    77,  -326,  -326,  -326,  -326,  -326,  -326,  -326,
-     108,   196,   146,  -326,   145,   205,   168,  -326,  -326,  -326,
-     264,   173,   221,   232,  -326,  -326,   205,  -326,  -326,  -326,
-     205,   161,   259,   276,   283,   301,   205,   222,  -326,  -326,
-    -326,  -326,   309,   273,   327,   273,   281,  -326,  -326,   170,
-    -326,   292,  -326,  -326,  -326,  -326,   291,   290,   -27,  -326,
-    -326,    40,  -326,   127,   294,   250,   332,   292,  -326,   333,
-     334,   335,   375,  -326,  -326,  -326,  -326,  -326,  -326,  -326,
-    -326,  -326,  -326,  -326,  -326,   350,   443,   392,   337,   295,
-    -326,   457,   339,   239,   357,  -326,  -326,   392,   273,   366,
-     376,  -326,    27,   381,    71,   391,    95,   398,   124,  -326,
-     372,   417,   390,   389,   394,   396,   434,   471,  -326,  -326,
-     446,  -326,   471,  -326,   447,   411,     4,  -326,   471,  -326,
-     474,   231,   461,  -326,   392,  -326,   424,   472,   475,   122,
-     192,  -326,  -326,  -326,   470,  -326,   435,   476,  -326,   437,
-    -326,   477,   438,  -326,   478,   163,   444,   274,     0,   334,
-    -326,   482,   448,  -326,   449,   409,   295,  -326,  -326,   450,
-     483,   484,  -326,     6,  -326,   488,   392,   452,     6,   392,
-      64,    38,   409,    32,   451,   490,   453,    80,   455,   456,
-     485,   291,  -326,  -326,   459,  -326,   460,  -326,   462,   491,
-    -326,  -326,  -326,   463,   464,   465,   466,   467,   468,   469,
-     473,   479,   480,   481,   486,   -30,  -326,   487,  -326,  -326,
-     392,   495,   500,   409,   426,   489,    11,   502,   492,  -326,
-     493,  -326,  -326,  -326,   126,  -326,  -326,   494,   510,   409,
-     511,  -326,   507,   496,   498,   509,  -326,  -326,    64,  -326,
-    -326,   187,   291,   291,   291,   189,  -326,  -326,  -326,  -326,
-    -326,    85,    85,    27,    27,    18,   334,   392,    -6,   219,
-     226,   260,   293,  -326,   274,   512,   499,   501,   497,   503,
-     128,   179,   392,   100,   515,   358,  -326,   516,   409,   505,
-     506,   508,  -326,  -326,   515,  -326,   513,   291,  -326,  -326,
-    -326,   514,   291,   517,  -326,  -326,  -326,  -326,  -326,   517,
-    -326,  -326,  -326,  -326,  -326,  -326,  -326,  -326,  -326,  -326,
-    -326,  -326,  -326,  -326,  -326,  -326,    12,  -326,  -326,   518,
-     515,   392,   392,  -326,   519,   524,    69,   163,  -326,  -326,
-    -326,   520,   409,   515,   409,   163,   291,  -326,   291,  -326,
-     521,   522,  -326,    61,   163,  -326,  -326,   525,    66,   523,
-     529,  -326,  -326,   515,   526,   163,   527,  -326,  -326,  -326,
-     528,   533,   532,  -326,  -326,    66,  -326,   530,    83,   101,
-     531,    75,  -326,  -326,    69,   163,   515,  -326,   515,  -326,
-     504,   535,    88,    27,    27,  -326,    27,  -326,    27,  -326,
-    -326,   546,  -326,   163,   163,  -326,   534,  -326,  -326,  -326,
-    -326,  -326,    69,  -326,  -326,  -326,  -326
+     162,    -2,     6,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
+    -360,    16,    90,   131,  -360,   162,   210,    77,  -360,  -360,
+    -360,   156,   126,   160,   167,  -360,  -360,   210,  -360,  -360,
+    -360,   210,   161,   223,   153,   230,   231,   210,   226,  -360,
+    -360,  -360,  -360,   244,   207,   309,   207,   214,  -360,  -360,
+     192,  -360,   292,  -360,  -360,  -360,  -360,   215,   242,   -28,
+    -360,  -360,   151,  -360,   152,   255,   300,   310,   292,  -360,
+     319,   330,   336,   376,  -360,  -360,  -360,  -360,  -360,  -360,
+    -360,  -360,  -360,  -360,  -360,  -360,   351,   444,   393,   338,
+     295,  -360,   458,   360,   327,   365,  -360,  -360,   393,   207,
+     377,   384,  -360,     7,   392,    92,   399,    98,   409,   100,
+    -360,   379,   428,   394,   390,   395,   397,   447,   472,  -360,
+    -360,   448,  -360,   472,  -360,   449,   423,     5,  -360,   472,
+    -360,   476,   149,   463,  -360,   393,  -360,   433,   473,   475,
+      58,   184,  -360,  -360,  -360,   477,  -360,   436,   478,  -360,
+     437,  -360,   479,   439,  -360,   480,   159,   445,   236,    -4,
+     330,  -360,   484,   450,  -360,   451,   410,   295,  -360,  -360,
+     452,   485,   486,  -360,    69,  -360,   487,   393,   453,    69,
+     393,   115,    -3,   410,    18,   454,   492,   456,   117,   455,
+     459,   488,   215,  -360,  -360,   457,  -360,   460,  -360,   462,
+     494,  -360,  -360,  -360,   464,   465,   466,   467,   468,   469,
+     470,   471,   474,   481,   482,   483,   185,  -360,   489,  -360,
+    -360,   393,   493,   503,   410,   427,   490,     8,   504,   491,
+    -360,   495,  -360,  -360,  -360,   212,  -360,  -360,   496,   513,
+     410,   514,  -360,   511,   498,   497,   512,  -360,  -360,   115,
+    -360,  -360,   120,   215,   215,   215,   121,  -360,  -360,  -360,
+    -360,  -360,   110,   110,     7,     7,    63,   330,   393,   119,
+     202,   235,   274,   333,  -360,   236,   515,   500,   501,   499,
+     502,   289,   290,   393,    -8,   518,   359,  -360,   519,   410,
+     505,   506,   508,  -360,  -360,   518,  -360,   509,   215,  -360,
+    -360,  -360,   510,   215,   516,  -360,  -360,  -360,  -360,  -360,
+     516,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,  -360,
+    -360,  -360,  -360,  -360,  -360,  -360,  -360,    13,  -360,  -360,
+     521,   518,   393,   393,  -360,   517,   527,    70,   159,  -360,
+    -360,  -360,   520,   410,   518,   410,   159,   215,  -360,   215,
+    -360,   529,   522,  -360,    65,   159,  -360,  -360,   528,    32,
+     526,   532,  -360,  -360,   518,   523,   159,   524,  -360,  -360,
+    -360,   525,   539,   530,  -360,  -360,    32,  -360,   531,    27,
+      83,   533,    56,  -360,  -360,    70,   159,   518,  -360,   518,
+    -360,   507,   545,    81,     7,     7,  -360,     7,  -360,     7,
+    -360,  -360,   551,  -360,   159,   159,  -360,   535,  -360,  -360,
+    -360,  -360,  -360,    70,  -360,  -360,  -360,  -360
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -326,  -326,    -4,   102,   552,  -326,  -189,  -326,   538,   -26,
-     352,   383,   387,  -326,  -326,  -326,  -326,  -326,  -326,     5,
-    -326,   298,  -326,   -24,  -154,   -43,  -326,   -69,  -326,   -66,
-     -57,   431,  -326,   -96,  -326,  -325,   -23,  -287,  -297,  -178,
-    -259,  -326,   289,   203,  -216,   154,  -326,   536,   212,  -326,
-     223,  -326,  -102
+    -360,  -360,    21,    15,   537,  -360,  -190,  -360,   534,   -27,
+     354,   386,   398,  -360,  -360,  -360,  -360,  -360,  -360,   -90,
+    -360,   297,  -360,   -37,  -155,   -44,  -360,   -70,  -360,   -67,
+     -23,   440,  -360,    -5,  -360,  -326,    85,  -288,  -278,  -179,
+    -262,  -360,   301,   199,  -359,   237,  -360,   536,   238,  -360,
+     322,  -360,  -103
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -159
+#define YYTABLE_NINF -160
 static const yytype_int16 yytable[] =
 {
-     145,    88,   256,   119,   244,   219,   120,   345,    99,   166,
-      25,    67,   362,   315,    68,   316,   281,   123,    87,   217,
-     367,    93,   129,   333,   111,   169,    25,   273,   103,   374,
-     274,   351,    25,   104,    20,   172,   174,   309,   142,    67,
-     387,   143,   109,   354,   124,   279,   141,   142,   119,   304,
-     143,   141,   142,   119,   137,   143,   365,   180,   218,   119,
-     402,   290,   170,   298,   299,   300,   126,   132,  -156,   167,
-     352,   282,   355,   356,   138,   235,   385,   236,   413,   414,
-     372,   246,   172,   241,   144,   376,   245,   401,   141,   142,
-      57,   175,   143,   144,   376,   105,    21,   183,   144,   403,
-     106,   404,   141,   142,   303,   171,   143,   376,   347,   232,
-     341,   251,   313,   349,   150,   416,   304,    30,   242,   373,
-     141,   142,   334,   359,   143,   377,   147,    22,    36,   378,
-     379,   380,   399,   238,   377,   144,   240,   252,   378,   379,
-     380,   180,   394,   153,   181,   407,    24,   377,     1,   144,
-     151,   378,   379,   380,     2,   119,   335,   368,   120,   369,
-     396,   307,   308,   312,   364,   400,   366,   144,    27,     3,
-       4,     5,     6,     7,     8,     9,   400,   276,   182,   154,
-      37,   183,   107,   286,    27,  -158,   287,   108,   331,    37,
-      27,    10,    11,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,   187,   188,   189,     2,    23,    47,   199,   296,    48,
-     301,   200,    31,   190,   314,    95,    28,    33,    48,     3,
-       4,     5,     6,     7,     8,     9,  -157,    29,   317,   332,
-     318,    64,    28,    65,   297,   319,   302,   320,    28,   191,
-     169,    10,    11,    29,    38,    39,    40,    41,   131,    29,
-      44,    45,    46,    38,    39,    40,    41,   306,    32,    64,
-     310,    38,    39,    40,    41,    34,   395,   397,    66,   321,
-      56,   322,    38,    39,    40,    41,    35,   170,    44,    45,
-      46,   408,   409,   202,   410,    57,   411,    72,    73,    74,
-      75,    76,    60,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,   323,    86,   324,   203,   204,   205,   206,   207,
-      62,   208,   209,   210,   211,   212,   213,   214,    69,    70,
-      97,    98,    72,    73,    74,    75,    76,    94,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,   100,    86,   102,
-      66,   110,   112,   113,   115,   121,   125,   126,   130,    38,
-      39,    40,    41,    72,    73,    74,    75,    76,   338,    77,
-      78,    79,    80,    81,    82,    83,    84,    85,   136,    86,
-     117,    73,    74,    75,    76,   139,    77,    78,    79,    80,
-      81,    82,    83,    84,   118,   140,    86,    72,    73,    74,
-      75,    76,   146,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,   149,    86,   224,   225,    74,    75,    76,   152,
-      77,    78,    79,    80,    81,    82,    83,    84,   226,   155,
-      86,   117,    73,    74,    75,    76,   156,    77,    78,    79,
-      80,    81,    82,    83,    84,   280,   157,    86,   122,    73,
-     159,   160,   161,   162,    77,    78,    79,    80,    81,    82,
-      83,    84,   128,    73,    86,   163,   164,   165,    77,    78,
-      79,    80,    81,    82,    83,    84,   117,    73,    86,   168,
-     173,   176,    77,    78,    79,    80,    81,    82,    83,    84,
-     192,   177,    86,   193,   178,   195,   197,   194,   196,   198,
-     182,   220,   233,   169,   221,   223,   170,   237,   239,   248,
-     183,   250,   253,   254,   277,   260,   255,   257,   258,   278,
-     259,   283,   261,   262,   263,   264,   265,   266,   267,   289,
-     291,   292,   268,   295,   336,   340,   326,   249,   269,   270,
-     271,   275,   353,   358,   375,   272,  -155,   383,   384,   284,
-     288,   329,   370,   285,   293,   294,   327,   390,   328,   406,
-     330,   342,   405,   343,   344,   412,    26,   247,   243,   179,
-     346,   348,   325,   350,   339,   357,   371,   363,   392,     0,
-       0,     0,     0,   386,   388,   389,   391,    96,     0,   393,
-     398,     0,   415,     0,     0,     0,     0,     0,     0,     0,
+     146,    89,   257,   120,   245,   220,   121,   346,   100,    94,
+     167,    68,   363,   282,   335,   218,   181,   124,    88,    21,
+     368,   334,   130,   401,   112,    22,   142,   143,   104,   375,
+     144,    31,   352,   105,   401,    23,    26,   142,   143,    68,
+     388,   144,    37,   355,   125,   280,   142,   143,   120,   336,
+     144,   377,    26,   120,   138,   219,   366,   184,    26,   120,
+     403,   291,   139,   299,   300,   301,  -157,   133,   127,   283,
+     356,   357,   353,   246,   145,   377,   386,   181,   414,   415,
+     182,   247,   310,   143,   373,   145,   144,   395,   170,   142,
+     143,   176,   378,   144,   145,   305,   379,   380,   381,   404,
+     377,   405,   142,   143,   168,   172,   144,   402,   348,    24,
+     342,    58,   314,   350,   400,   183,   378,   151,   184,   154,
+     379,   380,   381,    69,   374,   360,   171,   173,   175,   304,
+     145,    25,    32,   239,   242,   417,   241,   145,   316,   408,
+     317,   378,   305,   397,   233,   379,   380,   381,   148,   252,
+     145,   110,   297,   302,   152,   120,   155,   369,   121,   370,
+      33,   308,   309,   313,   365,     1,   367,   236,   170,   237,
+     243,     2,    58,   307,   173,   253,   311,   277,   298,   303,
+      38,    34,    39,    40,    41,    42,     3,     4,     5,     6,
+       7,     8,     9,    10,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,   188,   189,   190,   171,   106,   108,    11,
+      12,    38,   107,   109,   200,    35,   191,    48,   201,     2,
+      49,   318,    36,   319,   315,    39,    40,    41,    42,    43,
+      44,    45,    46,    47,     3,     4,     5,     6,     7,     8,
+       9,    10,   192,   274,    57,    65,   275,    66,    96,    61,
+      63,    49,    28,    29,   320,   203,   321,    11,    12,    39,
+      40,    41,    42,    70,    71,    45,    46,    47,    28,    29,
+     287,    95,   101,   288,    28,    29,   396,   398,   204,   205,
+     206,   207,   208,    67,   209,   210,   211,   212,   213,   214,
+     215,   409,   410,   322,   411,   323,   412,    73,    74,    75,
+      76,    77,   103,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    67,    87,    73,    74,    75,    76,    77,    65,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,   111,
+      87,    98,    99,    39,    40,    41,    42,    30,   113,    45,
+      46,    47,    39,    40,    41,    42,   132,  -159,  -158,   114,
+     332,   333,   324,    30,   325,   116,   122,   126,   127,    30,
+      39,    40,    41,    42,    73,    74,    75,    76,    77,   339,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,   131,
+      87,   118,    74,    75,    76,    77,   137,    78,    79,    80,
+      81,    82,    83,    84,    85,   119,   140,    87,    73,    74,
+      75,    76,    77,   141,    78,    79,    80,    81,    82,    83,
+      84,    85,    86,   147,    87,   225,   226,    75,    76,    77,
+     150,    78,    79,    80,    81,    82,    83,    84,    85,   227,
+     153,    87,   118,    74,    75,    76,    77,   156,    78,    79,
+      80,    81,    82,    83,    84,    85,   281,   157,    87,   123,
+      74,   158,   160,   161,   162,    78,    79,    80,    81,    82,
+      83,    84,    85,   129,    74,    87,   163,   164,   165,    78,
+      79,    80,    81,    82,    83,    84,    85,   118,    74,    87,
+     166,   169,   174,    78,    79,    80,    81,    82,    83,    84,
+      85,   177,   178,    87,   179,   194,   196,   193,   198,   195,
+     197,   199,   183,   221,   234,   170,   238,   222,   224,   171,
+     240,   249,   278,   254,   184,   251,   258,   255,   261,   259,
+     256,   260,   279,   284,   262,   263,   264,   265,   266,   267,
+     268,   269,   290,   292,   270,   293,   296,   337,   341,   327,
+     250,   271,   272,   273,   276,   354,   359,   376,  -156,   285,
+     384,   385,    27,   289,   330,   295,   286,   294,   328,   329,
+     331,   371,   343,   391,   344,   345,   406,   347,   349,   407,
+     413,   248,   326,   351,   358,   393,     0,   372,   364,   180,
+     244,   387,   389,   390,    97,   392,     0,   340,     0,     0,
+       0,   394,     0,   399,   416,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     148
+       0,   149
 };
 
 static const yytype_int16 yycheck[] =
 {
-     102,    44,   191,    72,   182,   159,    72,   294,    51,     5,
-      14,    37,   337,    19,    37,    21,     5,    86,    44,    19,
-     345,    45,    91,   282,    67,    19,    30,    57,    55,   354,
-      60,    19,    36,    60,    21,   131,   132,    19,    20,    65,
-     365,    23,    65,   330,    87,   223,    19,    20,   117,    31,
-      23,    19,    20,   122,    97,    23,   343,    19,    58,   128,
-     385,   239,    56,   252,   253,   254,    62,    93,    57,   126,
-      58,    60,   331,   332,    98,   171,   363,   173,   403,   404,
-      19,   183,   178,    19,    66,    19,    54,   384,    19,    20,
-      19,   134,    23,    66,    19,    55,    19,    59,    66,   386,
-      60,   388,    19,    20,    19,   131,    23,    19,   297,   166,
-     288,    31,   266,   302,    19,   412,    31,    15,    54,    58,
-      19,    20,    22,    54,    23,    59,    55,    19,    26,    63,
-      64,    65,    57,   176,    59,    66,   179,    57,    63,    64,
-      65,    19,    59,    19,    22,    57,     0,    59,     3,    66,
-      55,    63,    64,    65,     9,   224,    56,   346,   224,   348,
-      59,   263,   264,   265,   342,   381,   344,    66,    14,    24,
-      25,    26,    27,    28,    29,    30,   392,   220,    56,    55,
-      19,    59,    55,    57,    30,    57,    60,    60,    60,    19,
-      36,    46,    47,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    32,    33,    34,    35,    36,    37,    38,    39,
-      40,    19,    20,    21,     9,    19,    55,    54,    31,    58,
-      31,    58,    54,    31,   267,    55,    14,    54,    58,    24,
-      25,    26,    27,    28,    29,    30,    57,    14,    19,    60,
-      21,    19,    30,    21,    57,    19,    57,    21,    36,    57,
-      19,    46,    47,    30,    32,    33,    34,    35,    19,    36,
-      38,    39,    40,    32,    33,    34,    35,   262,     4,    19,
-     265,    32,    33,    34,    35,    54,   378,   379,    56,    19,
-      21,    21,    32,    33,    34,    35,    54,    56,    38,    39,
-      40,   393,   394,    19,   396,    19,   398,     5,     6,     7,
-       8,     9,    19,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    19,    21,    21,    41,    42,    43,    44,    45,
-      19,    47,    48,    49,    50,    51,    52,    53,    19,    56,
-      38,    39,     5,     6,     7,     8,     9,    56,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    56,    21,    59,
-      56,    19,    19,    19,    19,     5,    19,    62,    19,    32,
-      33,    34,    35,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,    21,    21,
-       5,     6,     7,     8,     9,    19,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    19,    21,     5,     6,     7,
-       8,     9,    21,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    21,    21,     5,     6,     7,     8,     9,    21,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    57,
-      21,     5,     6,     7,     8,     9,    19,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    56,    21,     5,     6,
-      61,    57,    56,    19,    11,    12,    13,    14,    15,    16,
-      17,    18,     5,     6,    21,    19,    19,    56,    11,    12,
-      13,    14,    15,    16,    17,    18,     5,     6,    21,     5,
-      19,    57,    11,    12,    13,    14,    15,    16,    17,    18,
-      20,    19,    21,    58,    19,    58,    58,    21,    21,    21,
-      56,    19,    19,    19,    56,    56,    56,    19,    56,    19,
-      59,    58,    57,    57,    19,    24,    31,    58,    58,    19,
-      58,    19,    59,    59,    59,    59,    59,    59,    59,    19,
-      19,    24,    59,    24,    19,    19,    24,   185,    59,    59,
-      59,    54,    24,    19,    19,    59,    57,    24,    19,    57,
-      56,    54,    31,    60,    58,    57,    57,    24,    57,    24,
-      57,    56,    58,    57,    56,    19,    14,   184,   181,   138,
-      57,    57,   274,    56,   285,    56,    54,    57,   375,    -1,
-      -1,    -1,    -1,    57,    57,    57,    54,    49,    -1,    59,
-      59,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     103,    45,   192,    73,   183,   160,    73,   295,    52,    46,
+       5,    38,   338,     5,    22,    19,    19,    87,    45,    21,
+     346,   283,    92,   382,    68,    19,    19,    20,    56,   355,
+      23,    16,    19,    61,   393,    19,    15,    19,    20,    66,
+     366,    23,    27,   331,    88,   224,    19,    20,   118,    57,
+      23,    19,    31,   123,    98,    59,   344,    60,    37,   129,
+     386,   240,    99,   253,   254,   255,    58,    94,    63,    61,
+     332,   333,    59,    55,    67,    19,   364,    19,   404,   405,
+      22,   184,    19,    20,    19,    67,    23,    60,    19,    19,
+      20,   135,    60,    23,    67,    32,    64,    65,    66,   387,
+      19,   389,    19,    20,   127,   132,    23,   385,   298,    19,
+     289,    19,   267,   303,    58,    57,    60,    19,    60,    19,
+      64,    65,    66,    38,    59,    55,    57,   132,   133,    19,
+      67,     0,    55,   177,    19,   413,   180,    67,    19,    58,
+      21,    60,    32,    60,   167,    64,    65,    66,    56,    32,
+      67,    66,    32,    32,    56,   225,    56,   347,   225,   349,
+       4,   264,   265,   266,   343,     3,   345,   172,    19,   174,
+      55,     9,    19,   263,   179,    58,   266,   221,    58,    58,
+      19,    55,    33,    34,    35,    36,    24,    25,    26,    27,
+      28,    29,    30,    31,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    19,    20,    21,    57,    56,    56,    47,
+      48,    19,    61,    61,    55,    55,    32,    56,    59,     9,
+      59,    19,    55,    21,   268,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    24,    25,    26,    27,    28,    29,
+      30,    31,    58,    58,    21,    19,    61,    21,    56,    19,
+      19,    59,    15,    15,    19,    19,    21,    47,    48,    33,
+      34,    35,    36,    19,    57,    39,    40,    41,    31,    31,
+      58,    57,    57,    61,    37,    37,   379,   380,    42,    43,
+      44,    45,    46,    57,    48,    49,    50,    51,    52,    53,
+      54,   394,   395,    19,   397,    21,   399,     5,     6,     7,
+       8,     9,    60,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,    57,    21,     5,     6,     7,     8,     9,    19,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    19,
+      21,    39,    40,    33,    34,    35,    36,    15,    19,    39,
+      40,    41,    33,    34,    35,    36,    19,    58,    58,    19,
+      61,    61,    19,    31,    21,    19,     5,    19,    63,    37,
+      33,    34,    35,    36,     5,     6,     7,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    19,
+      21,     5,     6,     7,     8,     9,    21,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,    19,    21,     5,     6,
+       7,     8,     9,    19,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,    21,    21,     5,     6,     7,     8,     9,
+      21,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+      21,    21,     5,     6,     7,     8,     9,    58,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,    19,    21,     5,
+       6,    57,    62,    58,    57,    11,    12,    13,    14,    15,
+      16,    17,    18,     5,     6,    21,    19,    19,    19,    11,
+      12,    13,    14,    15,    16,    17,    18,     5,     6,    21,
+      57,     5,    19,    11,    12,    13,    14,    15,    16,    17,
+      18,    58,    19,    21,    19,    59,    59,    20,    59,    21,
+      21,    21,    57,    19,    19,    19,    19,    57,    57,    57,
+      57,    19,    19,    58,    60,    59,    59,    58,    24,    59,
+      32,    59,    19,    19,    60,    60,    60,    60,    60,    60,
+      60,    60,    19,    19,    60,    24,    24,    19,    19,    24,
+     186,    60,    60,    60,    55,    24,    19,    19,    58,    58,
+      24,    19,    15,    57,    55,    58,    61,    59,    58,    58,
+      58,    32,    57,    24,    58,    57,    59,    58,    58,    24,
+      19,   185,   275,    57,    57,   376,    -1,    55,    58,   139,
+     182,    58,    58,    58,    50,    55,    -1,   286,    -1,    -1,
+      -1,    60,    -1,    60,    59,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     104
+      -1,   105
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1656,47 +1659,47 @@ static const yytype_int16 yycheck[] =
 static const yytype_uint8 yystos[] =
 {
        0,     3,     9,    24,    25,    26,    27,    28,    29,    30,
-      46,    47,    68,    69,    70,    71,    72,   112,   115,   117,
-      21,    19,    19,    19,     0,    69,    71,   112,   115,   117,
-      70,    54,     4,    54,    54,    54,    70,    19,    32,    33,
-      34,    35,    36,    37,    38,    39,    40,    55,    58,    74,
-      75,    76,    80,    81,    83,   103,    21,    19,   113,   114,
-      19,   118,    19,   116,    19,    21,    56,    76,   103,    19,
-      56,    90,     5,     6,     7,     8,     9,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    21,    76,    92,    93,
-      94,    95,    96,    90,    56,    55,    75,    38,    39,    92,
-      56,    73,    59,    55,    60,    55,    60,    55,    60,   103,
-      19,    92,    19,    19,    91,    19,    89,     5,    19,    94,
-      96,     5,     5,    94,    92,    19,    62,    97,     5,    94,
-      19,    19,    76,    98,    99,   100,    21,    92,    90,    19,
-      19,    19,    20,    23,    66,   119,    21,    55,   114,    21,
-      19,    55,    21,    19,    55,    57,    19,    56,    84,    61,
-      57,    56,    19,    19,    19,    56,     5,    97,     5,    19,
-      56,    76,   100,    19,   100,    92,    57,    19,    19,    98,
-      19,    22,    56,    59,    77,    78,    79,    19,    20,    21,
-      31,    57,    20,    58,    21,    58,    21,    58,    21,    54,
-      58,   102,    19,    41,    42,    43,    44,    45,    47,    48,
-      49,    50,    51,    52,    53,    85,    88,    19,    58,    91,
-      19,    56,    82,    56,     5,     6,    19,    92,   106,   107,
-     108,   109,    97,    19,   101,   100,   100,    19,    92,    56,
-      92,    19,    54,    79,   106,    54,   119,    78,    19,    77,
-      58,    31,    57,    57,    57,    31,    73,    58,    58,    58,
-      24,    59,    59,    59,    59,    59,    59,    59,    59,    59,
-      59,    59,    59,    57,    60,    54,    92,    19,    19,   106,
-      19,     5,    60,    19,    57,    60,    57,    60,    56,    19,
-     106,    19,    24,    58,    57,    24,    31,    57,    73,    73,
-      73,    31,    57,    19,    31,    86,    86,   119,   119,    19,
-      86,    87,   119,    91,    92,    19,    21,    19,    21,    19,
-      21,    19,    21,    19,    21,    88,    24,    57,    57,    54,
-      57,    60,    60,   107,    22,    56,    19,   104,    10,   109,
-      19,   106,    56,    57,    56,   104,    57,    73,    57,    73,
-      56,    19,    58,    24,   104,   107,   107,    56,    19,    54,
-     105,   119,   102,    57,   106,   104,   106,   102,    73,    73,
-      31,    54,    19,    58,   102,    19,    19,    59,    63,    64,
-      65,   110,   111,    24,    19,   104,    57,   102,    57,    57,
-      24,    54,   110,    59,    59,   119,    59,   119,    59,    57,
-     111,   105,   102,   104,   104,    58,    24,    57,   119,   119,
-     119,   119,    19,   102,   102,    58,   105
+      31,    47,    48,    69,    70,    71,    72,    73,   113,   116,
+     118,    21,    19,    19,    19,     0,    70,    72,   113,   116,
+     118,    71,    55,     4,    55,    55,    55,    71,    19,    33,
+      34,    35,    36,    37,    38,    39,    40,    41,    56,    59,
+      75,    76,    77,    81,    82,    84,   104,    21,    19,   114,
+     115,    19,   119,    19,   117,    19,    21,    57,    77,   104,
+      19,    57,    91,     5,     6,     7,     8,     9,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,    21,    77,    93,
+      94,    95,    96,    97,    91,    57,    56,    76,    39,    40,
+      93,    57,    74,    60,    56,    61,    56,    61,    56,    61,
+     104,    19,    93,    19,    19,    92,    19,    90,     5,    19,
+      95,    97,     5,     5,    95,    93,    19,    63,    98,     5,
+      95,    19,    19,    77,    99,   100,   101,    21,    93,    91,
+      19,    19,    19,    20,    23,    67,   120,    21,    56,   115,
+      21,    19,    56,    21,    19,    56,    58,    19,    57,    85,
+      62,    58,    57,    19,    19,    19,    57,     5,    98,     5,
+      19,    57,    77,   101,    19,   101,    93,    58,    19,    19,
+      99,    19,    22,    57,    60,    78,    79,    80,    19,    20,
+      21,    32,    58,    20,    59,    21,    59,    21,    59,    21,
+      55,    59,   103,    19,    42,    43,    44,    45,    46,    48,
+      49,    50,    51,    52,    53,    54,    86,    89,    19,    59,
+      92,    19,    57,    83,    57,     5,     6,    19,    93,   107,
+     108,   109,   110,    98,    19,   102,   101,   101,    19,    93,
+      57,    93,    19,    55,    80,   107,    55,   120,    79,    19,
+      78,    59,    32,    58,    58,    58,    32,    74,    59,    59,
+      59,    24,    60,    60,    60,    60,    60,    60,    60,    60,
+      60,    60,    60,    60,    58,    61,    55,    93,    19,    19,
+     107,    19,     5,    61,    19,    58,    61,    58,    61,    57,
+      19,   107,    19,    24,    59,    58,    24,    32,    58,    74,
+      74,    74,    32,    58,    19,    32,    87,    87,   120,   120,
+      19,    87,    88,   120,    92,    93,    19,    21,    19,    21,
+      19,    21,    19,    21,    19,    21,    89,    24,    58,    58,
+      55,    58,    61,    61,   108,    22,    57,    19,   105,    10,
+     110,    19,   107,    57,    58,    57,   105,    58,    74,    58,
+      74,    57,    19,    59,    24,   105,   108,   108,    57,    19,
+      55,   106,   120,   103,    58,   107,   105,   107,   103,    74,
+      74,    32,    55,    19,    59,   103,    19,    19,    60,    64,
+      65,    66,   111,   112,    24,    19,   105,    58,   103,    58,
+      58,    24,    55,   111,    60,    60,   120,    60,   120,    60,
+      58,   112,   106,   103,   105,   105,    59,    24,    58,   120,
+     120,   120,   120,    19,   103,   103,    59,   106
 };
 
 #define yyerrok                (yyerrstatus = 0)
@@ -1711,9 +1714,18 @@ static const yytype_uint8 yystos[] =
 
 /* Like YYERROR except do call yyerror.  This remains here temporarily
    to ease the transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
+   Once GCC version 2 has supplanted version 1, this can go.  However,
+   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
+   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
+   discussed.  */
 
 #define YYFAIL         goto yyerrlab
+#if defined YYFAIL
+  /* This is here to suppress warnings from the GCC cpp's
+     -Wunused-macros.  Normally we don't worry about that warning, but
+     some users do, and we want to make it easy for users to remove
+     YYFAIL uses, which will produce warnings from Bison 2.5.  */
+#endif
 
 #define YYRECOVERING()  (!!yyerrstatus)
 
@@ -1770,7 +1782,7 @@ while (YYID (0))
    we won't break user code: when these are the locations we know.  */
 
 #ifndef YY_LOCATION_PRINT
-# if YYLTYPE_IS_TRIVIAL
+# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
 #  define YY_LOCATION_PRINT(File, Loc)                 \
      fprintf (File, "%d.%d-%d.%d",                     \
              (Loc).first_line, (Loc).first_column,     \
@@ -2509,35 +2521,35 @@ yyreduce:
     {
         case 2:
 
-/* Line 1455 of yacc.c  */
+/* Line 1464 of yacc.c  */
 #line 704 "parse.y"
     { ; }
     break;
 
   case 3:
 
-/* Line 1455 of yacc.c  */
+/* Line 1464 of yacc.c  */
 #line 705 "parse.y"
     { ; }
     break;
 
   case 4:
 
-/* Line 1455 of yacc.c  */
+/* Line 1464 of yacc.c  */
 #line 706 "parse.y"
     { ; }
     break;
 
   case 5:
 
-/* Line 1455 of yacc.c  */
+/* Line 1464 of yacc.c  */
 #line 707 "parse.y"
     { ; }
     break;
 
   case 6:
 
-/* Line 1455 of yacc.c  */
+/* Line 1464 of yacc.c  */
 #line 710 "parse.y"
     {
                        Node *node = node_new (CCODE_NODE,
@@ -2552,7 +2564,7 @@ yyreduce:
 
   case 7:
 
-/* Line 1455 of yacc.c  */
+/* Line 1464 of yacc.c  */
 #line 719 "parse.y"
     {
                        Node *node = node_new (CCODE_NODE,
@@ -2567,7 +2579,7 @@ yyreduce:
 
   case 8:
 
-/* Line 1455 of yacc.c  */
+/* Line 1464 of yacc.c  */
 #line 728 "parse.y"
     {
                        Node *node = node_new (CCODE_NODE,
@@ -2582,7 +2594,7 @@ yyreduce:
 
   case 9:
 
-/* Line 1455 of yacc.c  */
+/* Line 1464 of yacc.c  */
 #line 737 "parse.y"
     {
                        Node *node = node_new (CCODE_NODE,
@@ -2597,7 +2609,7 @@ yyreduce:
 
   case 10:
 
-/* Line 1455 of yacc.c  */
+/* Line 1464 of yacc.c  */
 #line 746 "parse.y"
     {
                        Node *node = node_new (CCODE_NODE,
@@ -2612,7 +2624,7 @@ yyreduce:
 
   case 11:
 
-/* Line 1455 of yacc.c  */
+/* Line 1464 of yacc.c  */
 #line 755 "parse.y"
     {
                        Node *node = node_new (CCODE_NODE,
@@ -2627,7 +2639,7 @@ yyreduce:
 
   case 12:
 
-/* Line 1455 of yacc.c  */
+/* Line 1464 of yacc.c  */
 #line 764 "parse.y"
     {
                        Node *node = node_new (CCODE_NODE,
@@ -2642,64 +2654,79 @@ yyreduce:
 
   case 13:
 
-/* Line 1455 of yacc.c  */
-#line 775 "parse.y"
-    { ; }
+/* Line 1464 of yacc.c  */
+#line 773 "parse.y"
+    {
+                       Node *node = node_new (CCODE_NODE,
+                                              "cctype", CT_CCODE,
+                                              "cbuf:steal", ((yyvsp[(1) - (1)].cbuf))->str,
+                                              "line_no", ccode_line,
+                                              NULL);
+                       nodes = g_list_append(nodes,node);
+                       g_string_free((yyvsp[(1) - (1)].cbuf),FALSE);
+                                       }
     break;
 
   case 14:
 
-/* Line 1455 of yacc.c  */
-#line 776 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 784 "parse.y"
     { ; }
     break;
 
   case 15:
 
-/* Line 1455 of yacc.c  */
-#line 777 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 785 "parse.y"
     { ; }
     break;
 
   case 16:
 
-/* Line 1455 of yacc.c  */
-#line 778 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 786 "parse.y"
     { ; }
     break;
 
   case 17:
 
-/* Line 1455 of yacc.c  */
-#line 779 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 787 "parse.y"
     { ; }
     break;
 
   case 18:
 
-/* Line 1455 of yacc.c  */
-#line 780 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 788 "parse.y"
     { ; }
     break;
 
   case 19:
 
-/* Line 1455 of yacc.c  */
-#line 781 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 789 "parse.y"
     { ; }
     break;
 
   case 20:
 
-/* Line 1455 of yacc.c  */
-#line 782 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 790 "parse.y"
     { ; }
     break;
 
   case 21:
 
-/* Line 1455 of yacc.c  */
-#line 785 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 791 "parse.y"
+    { ; }
+    break;
+
+  case 22:
+
+/* Line 1464 of yacc.c  */
+#line 794 "parse.y"
     {
                        ((Class *)class)->nodes = class_nodes;
                        class_nodes = NULL;
@@ -2707,10 +2734,10 @@ yyreduce:
                                                }
     break;
 
-  case 22:
+  case 23:
 
-/* Line 1455 of yacc.c  */
-#line 790 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 799 "parse.y"
     {
                        ((Class *)class)->nodes = NULL;
                        class_nodes = NULL;
@@ -2718,10 +2745,10 @@ yyreduce:
                                                }
     break;
 
-  case 23:
+  case 24:
 
-/* Line 1455 of yacc.c  */
-#line 797 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 806 "parse.y"
     {
                        class = node_new (CLASS_NODE,
                                          "otype:steal", (yyvsp[(2) - (5)].id),
@@ -2739,10 +2766,10 @@ yyreduce:
                                                }
     break;
 
-  case 25:
+  case 26:
 
-/* Line 1455 of yacc.c  */
-#line 815 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 824 "parse.y"
     {
                        if(strcmp((yyvsp[(2) - (4)].id),"abstract") == 0) {
                                abstract = TRUE;
@@ -2753,10 +2780,10 @@ yyreduce:
                }
     break;
 
-  case 26:
+  case 27:
 
-/* Line 1455 of yacc.c  */
-#line 823 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 832 "parse.y"
     {
                        if(strcmp((yyvsp[(2) - (5)].id),"chunks") == 0) {
                                g_free (chunk_size);
@@ -2771,10 +2798,10 @@ yyreduce:
                }
     break;
 
-  case 27:
+  case 28:
 
-/* Line 1455 of yacc.c  */
-#line 835 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 844 "parse.y"
     {
                        if (strcmp ((yyvsp[(2) - (5)].id), "interface") == 0) {
                                interfaces = g_list_append (interfaces,
@@ -2786,10 +2813,10 @@ yyreduce:
                }
     break;
 
-  case 28:
+  case 29:
 
-/* Line 1455 of yacc.c  */
-#line 844 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 853 "parse.y"
     {
                        if(strcmp((yyvsp[(2) - (5)].id),"chunks") == 0) {
                                g_free (chunk_size);
@@ -2804,10 +2831,10 @@ yyreduce:
                }
     break;
 
-  case 29:
+  case 30:
 
-/* Line 1455 of yacc.c  */
-#line 856 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 865 "parse.y"
     {
                        if (strcmp ((yyvsp[(2) - (6)].id), "GladeXML") == 0) {
                                glade_xml = TRUE;
@@ -2819,10 +2846,10 @@ yyreduce:
                }
     break;
 
-  case 30:
+  case 31:
 
-/* Line 1455 of yacc.c  */
-#line 865 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 874 "parse.y"
     {
                        if (strcmp ((yyvsp[(2) - (7)].id), "GladeXML") == 0) {
                                glade_xml = TRUE;
@@ -2834,10 +2861,10 @@ yyreduce:
                }
     break;
 
-  case 31:
+  case 32:
 
-/* Line 1455 of yacc.c  */
-#line 874 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 883 "parse.y"
     {
                        if (strcmp ((yyvsp[(2) - (6)].id), "GladeXML") == 0) {
                                glade_xml = TRUE;
@@ -2849,10 +2876,10 @@ yyreduce:
                }
     break;
 
-  case 32:
+  case 33:
 
-/* Line 1455 of yacc.c  */
-#line 883 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 892 "parse.y"
     {
                        if (strcmp ((yyvsp[(2) - (7)].id), "GladeXML") == 0) {
                                glade_xml = TRUE;
@@ -2864,31 +2891,31 @@ yyreduce:
                }
     break;
 
-  case 33:
+  case 34:
 
-/* Line 1455 of yacc.c  */
-#line 894 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 903 "parse.y"
     { ; }
     break;
 
-  case 34:
+  case 35:
 
-/* Line 1455 of yacc.c  */
-#line 895 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 904 "parse.y"
     { ; }
     break;
 
-  case 35:
+  case 36:
 
-/* Line 1455 of yacc.c  */
-#line 898 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 907 "parse.y"
     { ; }
     break;
 
-  case 36:
+  case 37:
 
-/* Line 1455 of yacc.c  */
-#line 899 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 908 "parse.y"
     {
                        if (strcmp ((yyvsp[(1) - (2)].id), "BonoboObject") != 0) {
                                g_free ((yyvsp[(1) - (2)].id));
@@ -2900,10 +2927,10 @@ yyreduce:
                                                }
     break;
 
-  case 37:
+  case 38:
 
-/* Line 1455 of yacc.c  */
-#line 908 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 917 "parse.y"
     {
                        if (strcmp ((yyvsp[(1) - (3)].id), "interface") != 0) {
                                g_free ((yyvsp[(1) - (3)].id));
@@ -2918,66 +2945,66 @@ yyreduce:
                                                }
     break;
 
-  case 38:
-
-/* Line 1455 of yacc.c  */
-#line 920 "parse.y"
-    { ; }
-    break;
-
   case 39:
 
-/* Line 1455 of yacc.c  */
-#line 921 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 929 "parse.y"
     { ; }
     break;
 
   case 40:
 
-/* Line 1455 of yacc.c  */
-#line 922 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 930 "parse.y"
     { ; }
     break;
 
   case 41:
 
-/* Line 1455 of yacc.c  */
-#line 923 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 931 "parse.y"
     { ; }
     break;
 
   case 42:
 
-/* Line 1455 of yacc.c  */
-#line 926 "parse.y"
-    { the_scope = PUBLIC_SCOPE; }
+/* Line 1464 of yacc.c  */
+#line 932 "parse.y"
+    { ; }
     break;
 
   case 43:
 
-/* Line 1455 of yacc.c  */
-#line 927 "parse.y"
-    { the_scope = PRIVATE_SCOPE; }
+/* Line 1464 of yacc.c  */
+#line 935 "parse.y"
+    { the_scope = PUBLIC_SCOPE; }
     break;
 
   case 44:
 
-/* Line 1455 of yacc.c  */
-#line 928 "parse.y"
-    { the_scope = PROTECTED_SCOPE; }
+/* Line 1464 of yacc.c  */
+#line 936 "parse.y"
+    { the_scope = PRIVATE_SCOPE; }
     break;
 
   case 45:
 
-/* Line 1455 of yacc.c  */
-#line 929 "parse.y"
-    { the_scope = CLASS_SCOPE; }
+/* Line 1464 of yacc.c  */
+#line 937 "parse.y"
+    { the_scope = PROTECTED_SCOPE; }
     break;
 
   case 46:
 
-/* Line 1455 of yacc.c  */
-#line 932 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 938 "parse.y"
+    { the_scope = CLASS_SCOPE; }
+    break;
+
+  case 47:
+
+/* Line 1464 of yacc.c  */
+#line 941 "parse.y"
     {
                        if (strcmp ((yyvsp[(1) - (2)].id), "destroywith") == 0) {
                                g_free ((yyvsp[(1) - (2)].id));
@@ -3000,10 +3027,10 @@ yyreduce:
                                }
     break;
 
-  case 47:
+  case 48:
 
-/* Line 1455 of yacc.c  */
-#line 952 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 961 "parse.y"
     {
                        if (strcmp ((yyvsp[(1) - (3)].id), "destroy") == 0) {
                                g_free((yyvsp[(1) - (3)].id));
@@ -3028,20 +3055,20 @@ yyreduce:
                                        }
     break;
 
-  case 48:
+  case 49:
 
-/* Line 1455 of yacc.c  */
-#line 976 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 985 "parse.y"
     {
                        initializer = (yyvsp[(2) - (2)].id);
                        initializer_line = ccode_line;
                                }
     break;
 
-  case 49:
+  case 50:
 
-/* Line 1455 of yacc.c  */
-#line 980 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 989 "parse.y"
     {
                        initializer = ((yyvsp[(3) - (3)].cbuf))->str;
                        initializer_line = ccode_line;
@@ -3049,38 +3076,38 @@ yyreduce:
                                }
     break;
 
-  case 50:
+  case 51:
 
-/* Line 1455 of yacc.c  */
-#line 988 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 997 "parse.y"
     { ; }
     break;
 
-  case 51:
+  case 52:
 
-/* Line 1455 of yacc.c  */
-#line 989 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 998 "parse.y"
     { ; }
     break;
 
-  case 52:
+  case 53:
 
-/* Line 1455 of yacc.c  */
-#line 990 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 999 "parse.y"
     { destructor = NULL; }
     break;
 
-  case 53:
+  case 54:
 
-/* Line 1455 of yacc.c  */
-#line 991 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1000 "parse.y"
     { initializer = NULL; }
     break;
 
-  case 54:
+  case 55:
 
-/* Line 1455 of yacc.c  */
-#line 992 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1001 "parse.y"
     {
                        if (strcmp ((yyvsp[(1) - (1)].id), "GladeXML") == 0) {
                                glade_widget = TRUE;
@@ -3091,38 +3118,38 @@ yyreduce:
                                        }
     break;
 
-  case 55:
+  case 56:
 
-/* Line 1455 of yacc.c  */
-#line 1000 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1009 "parse.y"
     {
                        destructor = NULL;
                        initializer = NULL;
                                        }
     break;
 
-  case 56:
+  case 57:
 
-/* Line 1455 of yacc.c  */
-#line 1006 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1015 "parse.y"
     {
                        push_variable((yyvsp[(3) - (5)].id), the_scope,(yyvsp[(1) - (5)].line), NULL);
                                                }
     break;
 
-  case 57:
+  case 58:
 
-/* Line 1455 of yacc.c  */
-#line 1009 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1018 "parse.y"
     {
                        push_variable((yyvsp[(3) - (6)].id), the_scope, (yyvsp[(1) - (6)].line), (yyvsp[(4) - (6)].id));
                                                }
     break;
 
-  case 58:
+  case 59:
 
-/* Line 1455 of yacc.c  */
-#line 1014 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1023 "parse.y"
     {
                        Node *node = NULL;
                        if(strcmp((yyvsp[(6) - (12)].id),"get")==0 &&
@@ -3193,10 +3220,10 @@ yyreduce:
                                                }
     break;
 
-  case 59:
+  case 60:
 
-/* Line 1455 of yacc.c  */
-#line 1082 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1091 "parse.y"
     {
                        Node *node = NULL;
                        if(strcmp((yyvsp[(6) - (9)].id), "get") == 0) {
@@ -3253,10 +3280,10 @@ yyreduce:
                                                }
     break;
 
-  case 60:
+  case 61:
 
-/* Line 1455 of yacc.c  */
-#line 1136 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1145 "parse.y"
     {
                        Node *node;
                        char *get, *set = NULL;
@@ -3346,10 +3373,10 @@ yyreduce:
                                                }
     break;
 
-  case 61:
+  case 62:
 
-/* Line 1455 of yacc.c  */
-#line 1225 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1234 "parse.y"
     {
                        if (strcmp ((yyvsp[(2) - (3)].id), "export")!=0) {
                                g_free ((yyvsp[(2) - (3)].id)); 
@@ -3360,19 +3387,19 @@ yyreduce:
                                                }
     break;
 
-  case 62:
+  case 63:
 
-/* Line 1455 of yacc.c  */
-#line 1233 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1242 "parse.y"
     {
                        (yyval.id) = NULL;
                                                }
     break;
 
-  case 63:
+  case 64:
 
-/* Line 1455 of yacc.c  */
-#line 1238 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1247 "parse.y"
     {
                        ensure_property ();
                        node_set ((Node *)property,
@@ -3423,10 +3450,10 @@ yyreduce:
                }
     break;
 
-  case 64:
+  case 65:
 
-/* Line 1455 of yacc.c  */
-#line 1286 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1295 "parse.y"
     {
                        ensure_property ();
                        node_set ((Node *)property,
@@ -3465,10 +3492,10 @@ yyreduce:
                }
     break;
 
-  case 65:
+  case 66:
 
-/* Line 1455 of yacc.c  */
-#line 1322 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1331 "parse.y"
     {
                        ensure_property ();
                        node_set ((Node *)property,
@@ -3485,45 +3512,45 @@ yyreduce:
                }
     break;
 
-  case 66:
-
-/* Line 1455 of yacc.c  */
-#line 1338 "parse.y"
-    { ; }
-    break;
-
   case 67:
 
-/* Line 1455 of yacc.c  */
-#line 1339 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1347 "parse.y"
     { ; }
     break;
 
   case 68:
 
-/* Line 1455 of yacc.c  */
-#line 1342 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1348 "parse.y"
     { ; }
     break;
 
   case 69:
 
-/* Line 1455 of yacc.c  */
-#line 1343 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1351 "parse.y"
     { ; }
     break;
 
   case 70:
 
-/* Line 1455 of yacc.c  */
-#line 1346 "parse.y"
-    { (yyval.id) = (yyvsp[(1) - (1)].id); }
+/* Line 1464 of yacc.c  */
+#line 1352 "parse.y"
+    { ; }
     break;
 
   case 71:
 
-/* Line 1455 of yacc.c  */
-#line 1347 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1355 "parse.y"
+    { (yyval.id) = (yyvsp[(1) - (1)].id); }
+    break;
+
+  case 72:
+
+/* Line 1464 of yacc.c  */
+#line 1356 "parse.y"
     {
                        if (strcmp ((yyvsp[(1) - (4)].id), "_") != 0) {
                                g_free ((yyvsp[(1) - (4)].id));
@@ -3536,121 +3563,109 @@ yyreduce:
                }
     break;
 
-  case 72:
-
-/* Line 1455 of yacc.c  */
-#line 1359 "parse.y"
-    { (yyval.id) = (yyvsp[(1) - (1)].id); }
-    break;
-
   case 73:
 
-/* Line 1455 of yacc.c  */
-#line 1360 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1368 "parse.y"
     { (yyval.id) = (yyvsp[(1) - (1)].id); }
     break;
 
   case 74:
 
-/* Line 1455 of yacc.c  */
-#line 1363 "parse.y"
-    {
-               ensure_property ();
-               node_set ((Node *)property,
-                         "nick:steal", (yyvsp[(3) - (3)].id),
-                         NULL);
-                 }
+/* Line 1464 of yacc.c  */
+#line 1369 "parse.y"
+    { (yyval.id) = (yyvsp[(1) - (1)].id); }
     break;
 
   case 75:
 
-/* Line 1455 of yacc.c  */
-#line 1369 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1372 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
-                         "blurb:steal", (yyvsp[(3) - (3)].id),
+                         "nick:steal", (yyvsp[(3) - (3)].id),
                          NULL);
                  }
     break;
 
   case 76:
 
-/* Line 1455 of yacc.c  */
-#line 1375 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1378 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
-                         "maximum:steal", (yyvsp[(3) - (3)].id),
+                         "blurb:steal", (yyvsp[(3) - (3)].id),
                          NULL);
                  }
     break;
 
   case 77:
 
-/* Line 1455 of yacc.c  */
-#line 1381 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1384 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
-                         "minimum:steal", (yyvsp[(3) - (3)].id),
+                         "maximum:steal", (yyvsp[(3) - (3)].id),
                          NULL);
                  }
     break;
 
   case 78:
 
-/* Line 1455 of yacc.c  */
-#line 1387 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1390 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
-                         "default_value:steal", (yyvsp[(3) - (3)].id),
+                         "minimum:steal", (yyvsp[(3) - (3)].id),
                          NULL);
                  }
     break;
 
   case 79:
 
-/* Line 1455 of yacc.c  */
-#line 1393 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1396 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
-                         "flags:steal", (yyvsp[(3) - (3)].list),
+                         "default_value:steal", (yyvsp[(3) - (3)].id),
                          NULL);
                  }
     break;
 
   case 80:
 
-/* Line 1455 of yacc.c  */
-#line 1399 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1402 "parse.y"
     {
-               Type *type = pop_type ();
                ensure_property ();
                node_set ((Node *)property,
-                         "ptype:steal", type,
+                         "flags:steal", (yyvsp[(3) - (3)].list),
                          NULL);
                  }
     break;
 
   case 81:
 
-/* Line 1455 of yacc.c  */
-#line 1406 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1408 "parse.y"
     {
+               Type *type = pop_type ();
                ensure_property ();
                node_set ((Node *)property,
-                         "extra_gtktype:steal", (yyvsp[(3) - (3)].id),
+                         "ptype:steal", type,
                          NULL);
                  }
     break;
 
   case 82:
 
-/* Line 1455 of yacc.c  */
-#line 1412 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1415 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3661,8 +3676,8 @@ yyreduce:
 
   case 83:
 
-/* Line 1455 of yacc.c  */
-#line 1418 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1421 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3673,8 +3688,8 @@ yyreduce:
 
   case 84:
 
-/* Line 1455 of yacc.c  */
-#line 1424 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1427 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3685,8 +3700,8 @@ yyreduce:
 
   case 85:
 
-/* Line 1455 of yacc.c  */
-#line 1430 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1433 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3697,8 +3712,8 @@ yyreduce:
 
   case 86:
 
-/* Line 1455 of yacc.c  */
-#line 1436 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1439 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3709,8 +3724,8 @@ yyreduce:
 
   case 87:
 
-/* Line 1455 of yacc.c  */
-#line 1442 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1445 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3721,8 +3736,8 @@ yyreduce:
 
   case 88:
 
-/* Line 1455 of yacc.c  */
-#line 1448 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1451 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3733,8 +3748,8 @@ yyreduce:
 
   case 89:
 
-/* Line 1455 of yacc.c  */
-#line 1454 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1457 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3745,8 +3760,8 @@ yyreduce:
 
   case 90:
 
-/* Line 1455 of yacc.c  */
-#line 1460 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1463 "parse.y"
     {
                ensure_property ();
                node_set ((Node *)property,
@@ -3757,8 +3772,20 @@ yyreduce:
 
   case 91:
 
-/* Line 1455 of yacc.c  */
-#line 1466 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1469 "parse.y"
+    {
+               ensure_property ();
+               node_set ((Node *)property,
+                         "extra_gtktype:steal", (yyvsp[(3) - (3)].id),
+                         NULL);
+                 }
+    break;
+
+  case 92:
+
+/* Line 1464 of yacc.c  */
+#line 1475 "parse.y"
     {
                ensure_property ();
                if (strcmp ((yyvsp[(1) - (1)].id), "override") == 0) {
@@ -3784,10 +3811,10 @@ yyreduce:
                  }
     break;
 
-  case 92:
+  case 93:
 
-/* Line 1455 of yacc.c  */
-#line 1491 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1500 "parse.y"
     {
                        if(strcmp((yyvsp[(3) - (5)].id),"type")!=0) {
                                g_free((yyvsp[(1) - (5)].id));
@@ -3799,52 +3826,52 @@ yyreduce:
                                                }
     break;
 
-  case 93:
+  case 94:
 
-/* Line 1455 of yacc.c  */
-#line 1500 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1509 "parse.y"
     {
                        (yyval.id) = debool ((yyvsp[(1) - (1)].id));
                        typestack = g_list_prepend(typestack,NULL);
                                                }
     break;
 
-  case 94:
+  case 95:
 
-/* Line 1455 of yacc.c  */
-#line 1506 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1515 "parse.y"
     { (yyval.list) = (yyvsp[(2) - (3)].list); }
     break;
 
-  case 95:
+  case 96:
 
-/* Line 1455 of yacc.c  */
-#line 1507 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1516 "parse.y"
     { (yyval.list) = NULL; }
     break;
 
-  case 96:
+  case 97:
 
-/* Line 1455 of yacc.c  */
-#line 1510 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1519 "parse.y"
     {
                        (yyval.list) = g_list_append((yyvsp[(3) - (3)].list),(yyvsp[(1) - (3)].id));
                                                }
     break;
 
-  case 97:
+  case 98:
 
-/* Line 1455 of yacc.c  */
-#line 1513 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1522 "parse.y"
     {
                        (yyval.list) = g_list_append(NULL,(yyvsp[(1) - (1)].id));
                                                }
     break;
 
-  case 98:
+  case 99:
 
-/* Line 1455 of yacc.c  */
-#line 1519 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1528 "parse.y"
     {
                        Node *node = node_new (TYPE_NODE, 
                                               "name:steal", (yyvsp[(1) - (2)].id),
@@ -3854,10 +3881,10 @@ yyreduce:
                                                        }
     break;
 
-  case 99:
+  case 100:
 
-/* Line 1455 of yacc.c  */
-#line 1526 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1535 "parse.y"
     {
                        Node *node = node_new (TYPE_NODE, 
                                               "name:steal", (yyvsp[(1) - (1)].id),
@@ -3866,58 +3893,58 @@ yyreduce:
                                                        }
     break;
 
-  case 100:
+  case 101:
 
-/* Line 1455 of yacc.c  */
-#line 1535 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1544 "parse.y"
     {
                        (yyval.id) = (yyvsp[(1) - (1)].id);
                                                        }
     break;
 
-  case 101:
+  case 102:
 
-/* Line 1455 of yacc.c  */
-#line 1538 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1547 "parse.y"
     {
                        (yyval.id) = (yyvsp[(1) - (1)].id);
                                                        }
     break;
 
-  case 102:
+  case 103:
 
-/* Line 1455 of yacc.c  */
-#line 1541 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1550 "parse.y"
     {
                        (yyval.id) = g_strconcat("const ", (yyvsp[(2) - (2)].id), NULL);
                        g_free((yyvsp[(2) - (2)].id));
                                                        }
     break;
 
-  case 103:
+  case 104:
 
-/* Line 1455 of yacc.c  */
-#line 1545 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1554 "parse.y"
     {
                        (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " const", NULL);
                        g_free((yyvsp[(1) - (2)].id));
                                                        }
     break;
 
-  case 104:
+  case 105:
 
-/* Line 1455 of yacc.c  */
-#line 1549 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1558 "parse.y"
     {
                        (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " ", (yyvsp[(2) - (2)].id), NULL);
                        g_free((yyvsp[(2) - (2)].id));
                                                        }
     break;
 
-  case 105:
+  case 106:
 
-/* Line 1455 of yacc.c  */
-#line 1553 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1562 "parse.y"
     {
                        (yyval.id) = g_strconcat("const ", (yyvsp[(2) - (3)].id), " ",
                                             (yyvsp[(3) - (3)].id), NULL);
@@ -3925,10 +3952,10 @@ yyreduce:
                                                        }
     break;
 
-  case 106:
+  case 107:
 
-/* Line 1455 of yacc.c  */
-#line 1558 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1567 "parse.y"
     {
                        (yyval.id) = g_strconcat((yyvsp[(1) - (3)].id), " ",
                                             (yyvsp[(2) - (3)].id), " const", NULL);
@@ -3936,20 +3963,20 @@ yyreduce:
                                                        }
     break;
 
-  case 107:
+  case 108:
 
-/* Line 1455 of yacc.c  */
-#line 1566 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1575 "parse.y"
     {
                        (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " ", (yyvsp[(2) - (2)].id), NULL);
                        g_free((yyvsp[(2) - (2)].id));
                                                        }
     break;
 
-  case 108:
+  case 109:
 
-/* Line 1455 of yacc.c  */
-#line 1570 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1579 "parse.y"
     {
                        (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " ", (yyvsp[(2) - (2)].id), NULL);
                        g_free((yyvsp[(1) - (2)].id));
@@ -3957,175 +3984,175 @@ yyreduce:
                                                        }
     break;
 
-  case 109:
+  case 110:
 
-/* Line 1455 of yacc.c  */
-#line 1575 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1584 "parse.y"
     {
                        (yyval.id) = g_strconcat("const ", (yyvsp[(2) - (2)].id), NULL);
                        g_free((yyvsp[(2) - (2)].id));
                                                        }
     break;
 
-  case 110:
+  case 111:
 
-/* Line 1455 of yacc.c  */
-#line 1579 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1588 "parse.y"
     {
                        (yyval.id) = (yyvsp[(1) - (1)].id);
                                                        }
     break;
 
-  case 111:
+  case 112:
 
-/* Line 1455 of yacc.c  */
-#line 1582 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1591 "parse.y"
     {
                        (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " const", NULL);
                        g_free((yyvsp[(1) - (2)].id));
                                                        }
     break;
 
-  case 112:
+  case 113:
 
-/* Line 1455 of yacc.c  */
-#line 1586 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1595 "parse.y"
     {
                        (yyval.id) = g_strdup((yyvsp[(1) - (1)].id));
                                                        }
     break;
 
-  case 113:
+  case 114:
 
-/* Line 1455 of yacc.c  */
-#line 1589 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1598 "parse.y"
     {
                        (yyval.id) = g_strconcat((yyvsp[(1) - (2)].id), " const", NULL);
                                                        }
     break;
 
-  case 114:
+  case 115:
 
-/* Line 1455 of yacc.c  */
-#line 1594 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1603 "parse.y"
     { (yyval.id) = "void"; }
     break;
 
-  case 115:
+  case 116:
 
-/* Line 1455 of yacc.c  */
-#line 1595 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1604 "parse.y"
     { (yyval.id) = "char"; }
     break;
 
-  case 116:
+  case 117:
 
-/* Line 1455 of yacc.c  */
-#line 1596 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1605 "parse.y"
     { (yyval.id) = "short"; }
     break;
 
-  case 117:
+  case 118:
 
-/* Line 1455 of yacc.c  */
-#line 1597 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1606 "parse.y"
     { (yyval.id) = "int"; }
     break;
 
-  case 118:
+  case 119:
 
-/* Line 1455 of yacc.c  */
-#line 1598 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1607 "parse.y"
     { (yyval.id) = "long"; }
     break;
 
-  case 119:
+  case 120:
 
-/* Line 1455 of yacc.c  */
-#line 1599 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1608 "parse.y"
     { (yyval.id) = "float"; }
     break;
 
-  case 120:
+  case 121:
 
-/* Line 1455 of yacc.c  */
-#line 1600 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1609 "parse.y"
     { (yyval.id) = "double"; }
     break;
 
-  case 121:
+  case 122:
 
-/* Line 1455 of yacc.c  */
-#line 1601 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1610 "parse.y"
     { (yyval.id) = "signed"; }
     break;
 
-  case 122:
+  case 123:
 
-/* Line 1455 of yacc.c  */
-#line 1602 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1611 "parse.y"
     { (yyval.id) = "unsigned"; }
     break;
 
-  case 123:
+  case 124:
 
-/* Line 1455 of yacc.c  */
-#line 1605 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1614 "parse.y"
     { (yyval.id) = "struct"; }
     break;
 
-  case 124:
+  case 125:
 
-/* Line 1455 of yacc.c  */
-#line 1606 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1615 "parse.y"
     { (yyval.id) = "union"; }
     break;
 
-  case 125:
+  case 126:
 
-/* Line 1455 of yacc.c  */
-#line 1607 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1616 "parse.y"
     { (yyval.id) = "enum"; }
     break;
 
-  case 126:
+  case 127:
 
-/* Line 1455 of yacc.c  */
-#line 1610 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1619 "parse.y"
     { (yyval.id) = g_strdup("*"); }
     break;
 
-  case 127:
+  case 128:
 
-/* Line 1455 of yacc.c  */
-#line 1611 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1620 "parse.y"
     { (yyval.id) = g_strdup("* const"); }
     break;
 
-  case 128:
+  case 129:
 
-/* Line 1455 of yacc.c  */
-#line 1612 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1621 "parse.y"
     {
                                (yyval.id) = g_strconcat("*", (yyvsp[(2) - (2)].id), NULL);
                                g_free((yyvsp[(2) - (2)].id));
                                        }
     break;
 
-  case 129:
+  case 130:
 
-/* Line 1455 of yacc.c  */
-#line 1616 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1625 "parse.y"
     {
                                (yyval.id) = g_strconcat("* const", (yyvsp[(3) - (3)].id), NULL);
                                g_free((yyvsp[(3) - (3)].id));
                                        }
     break;
 
-  case 130:
+  case 131:
 
-/* Line 1455 of yacc.c  */
-#line 1623 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1632 "parse.y"
     {
                        if(strcmp((yyvsp[(1) - (2)].id), "first")==0)
                                (yyval.sigtype) = SIGNAL_FIRST_METHOD;
@@ -4140,19 +4167,19 @@ yyreduce:
                                        }
     break;
 
-  case 131:
+  case 132:
 
-/* Line 1455 of yacc.c  */
-#line 1635 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1644 "parse.y"
     {
                        (yyval.sigtype) = SIGNAL_LAST_METHOD;
                                        }
     break;
 
-  case 132:
+  case 133:
 
-/* Line 1455 of yacc.c  */
-#line 1641 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1650 "parse.y"
     {
                        if(strcmp((yyvsp[(2) - (3)].id),"first")==0)
                                (yyval.sigtype) = SIGNAL_FIRST_METHOD;
@@ -4167,10 +4194,10 @@ yyreduce:
                                        }
     break;
 
-  case 133:
+  case 134:
 
-/* Line 1455 of yacc.c  */
-#line 1653 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1662 "parse.y"
     {
                        if(strcmp((yyvsp[(1) - (3)].id),"first")==0)
                                (yyval.sigtype) = SIGNAL_FIRST_METHOD;
@@ -4185,70 +4212,70 @@ yyreduce:
                                        }
     break;
 
-  case 134:
+  case 135:
 
-/* Line 1455 of yacc.c  */
-#line 1665 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1674 "parse.y"
     {
                        (yyval.sigtype) = SIGNAL_LAST_METHOD;
                                        }
     break;
 
-  case 135:
+  case 136:
 
-/* Line 1455 of yacc.c  */
-#line 1668 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1677 "parse.y"
     {
                        /* the_scope was default thus public */
                        the_scope = PUBLIC_SCOPE;
                                        }
     break;
 
-  case 136:
+  case 137:
 
-/* Line 1455 of yacc.c  */
-#line 1674 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1683 "parse.y"
     {
                        gtktypes = g_list_prepend(gtktypes, debool ((yyvsp[(1) - (4)].id)));
                                                }
     break;
 
-  case 137:
+  case 138:
 
-/* Line 1455 of yacc.c  */
-#line 1679 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1688 "parse.y"
     {
                        gtktypes = g_list_append(gtktypes, debool ((yyvsp[(3) - (3)].id)));
                                                }
     break;
 
-  case 138:
+  case 139:
 
-/* Line 1455 of yacc.c  */
-#line 1682 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1691 "parse.y"
     { 
                        gtktypes = g_list_append(gtktypes, debool ((yyvsp[(1) - (1)].id)));
                                                        }
     break;
 
-  case 139:
+  case 140:
 
-/* Line 1455 of yacc.c  */
-#line 1687 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1696 "parse.y"
     { (yyval.cbuf) = (yyvsp[(2) - (2)].cbuf); }
     break;
 
-  case 140:
+  case 141:
 
-/* Line 1455 of yacc.c  */
-#line 1688 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1697 "parse.y"
     { (yyval.cbuf) = NULL; }
     break;
 
-  case 141:
+  case 142:
 
-/* Line 1455 of yacc.c  */
-#line 1692 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1701 "parse.y"
     {
                        if(!has_self) {
                                yyerror(_("signal without 'self' as "
@@ -4274,10 +4301,10 @@ yyreduce:
                                                                        }
     break;
 
-  case 142:
+  case 143:
 
-/* Line 1455 of yacc.c  */
-#line 1715 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1724 "parse.y"
     {
                        if(!has_self) {
                                yyerror(_("signal without 'self' as "
@@ -4303,10 +4330,10 @@ yyreduce:
                                                                        }
     break;
 
-  case 143:
+  case 144:
 
-/* Line 1455 of yacc.c  */
-#line 1738 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1747 "parse.y"
     {
                        if(!has_self) {
                                yyerror(_("virtual method without 'self' as "
@@ -4332,10 +4359,10 @@ yyreduce:
                                                                        }
     break;
 
-  case 144:
+  case 145:
 
-/* Line 1455 of yacc.c  */
-#line 1761 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1770 "parse.y"
     {
                        if(!has_self) {
                                yyerror(_("virtual method without 'self' as "
@@ -4361,10 +4388,10 @@ yyreduce:
                                                                        }
     break;
 
-  case 145:
+  case 146:
 
-/* Line 1455 of yacc.c  */
-#line 1784 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1793 "parse.y"
     {
                        if(!has_self) {
                                yyerror(_("virtual method without 'szelf' as "
@@ -4385,10 +4412,10 @@ yyreduce:
                                                                        }
     break;
 
-  case 146:
+  case 147:
 
-/* Line 1455 of yacc.c  */
-#line 1802 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1811 "parse.y"
     {
                        if (funcattrs != NULL) {
                                char *error = g_strdup_printf
@@ -4404,10 +4431,10 @@ yyreduce:
                                                                        }
     break;
 
-  case 147:
+  case 148:
 
-/* Line 1455 of yacc.c  */
-#line 1815 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1824 "parse.y"
     {
                        if(the_scope == CLASS_SCOPE) {
                                yyerror(_("a method cannot be of class scope"));
@@ -4420,10 +4447,10 @@ yyreduce:
                                                                }
     break;
 
-  case 148:
+  case 149:
 
-/* Line 1455 of yacc.c  */
-#line 1825 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1834 "parse.y"
     {
                        if(strcmp((yyvsp[(1) - (5)].id), "init")==0) {
                                push_init_arg((yyvsp[(3) - (5)].id),FALSE);
@@ -4464,10 +4491,10 @@ yyreduce:
                                                }
     break;
 
-  case 149:
+  case 150:
 
-/* Line 1455 of yacc.c  */
-#line 1865 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1874 "parse.y"
     {
                        g_free(funcattrs); funcattrs = NULL;
                        g_free(onerror); onerror = NULL;
@@ -4482,10 +4509,10 @@ yyreduce:
                                        }
     break;
 
-  case 150:
+  case 151:
 
-/* Line 1455 of yacc.c  */
-#line 1877 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1886 "parse.y"
     {
                        g_free(funcattrs); funcattrs = NULL;
                        g_free(onerror); onerror = NULL;
@@ -4508,10 +4535,10 @@ yyreduce:
                                                }
     break;
 
-  case 151:
+  case 152:
 
-/* Line 1455 of yacc.c  */
-#line 1897 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1906 "parse.y"
     {
                        g_free(funcattrs); funcattrs = NULL;
                        g_free(onerror); onerror = NULL;
@@ -4545,10 +4572,10 @@ yyreduce:
                                                }
     break;
 
-  case 152:
+  case 153:
 
-/* Line 1455 of yacc.c  */
-#line 1928 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1937 "parse.y"
     {
                        g_free(funcattrs); funcattrs = NULL;
                        g_free(onerror); onerror = NULL;
@@ -4556,34 +4583,34 @@ yyreduce:
                                        }
     break;
 
-  case 153:
+  case 154:
 
-/* Line 1455 of yacc.c  */
-#line 1935 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1944 "parse.y"
     { (yyval.id) = (yyvsp[(1) - (1)].id); }
     break;
 
-  case 154:
+  case 155:
 
-/* Line 1455 of yacc.c  */
-#line 1936 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1945 "parse.y"
     {
                        (yyval.id) = ((yyvsp[(2) - (2)].cbuf))->str;
                        g_string_free((yyvsp[(2) - (2)].cbuf), FALSE);
                                        }
     break;
 
-  case 155:
+  case 156:
 
-/* Line 1455 of yacc.c  */
-#line 1942 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1951 "parse.y"
     { vararg = FALSE; has_self = FALSE; }
     break;
 
-  case 156:
+  case 157:
 
-/* Line 1455 of yacc.c  */
-#line 1943 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1952 "parse.y"
     {
                        vararg = FALSE;
                        has_self = TRUE;
@@ -4597,10 +4624,10 @@ yyreduce:
                                                }
     break;
 
-  case 157:
+  case 158:
 
-/* Line 1455 of yacc.c  */
-#line 1954 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1963 "parse.y"
     {
                        vararg = FALSE;
                        has_self = TRUE;
@@ -4614,10 +4641,10 @@ yyreduce:
                                                }
     break;
 
-  case 158:
+  case 159:
 
-/* Line 1455 of yacc.c  */
-#line 1965 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1974 "parse.y"
     {
                        vararg = FALSE;
                        has_self = TRUE;
@@ -4631,10 +4658,10 @@ yyreduce:
                                                }
     break;
 
-  case 159:
+  case 160:
 
-/* Line 1455 of yacc.c  */
-#line 1976 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1985 "parse.y"
     {
                        has_self = TRUE;
                        if(strcmp((yyvsp[(1) - (3)].id),"self")==0)
@@ -4647,10 +4674,10 @@ yyreduce:
                                        }
     break;
 
-  case 160:
+  case 161:
 
-/* Line 1455 of yacc.c  */
-#line 1986 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 1995 "parse.y"
     {
                        has_self = TRUE;
                        if(strcmp((yyvsp[(1) - (4)].id),"self")==0)
@@ -4663,10 +4690,10 @@ yyreduce:
                                        }
     break;
 
-  case 161:
+  case 162:
 
-/* Line 1455 of yacc.c  */
-#line 1996 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2005 "parse.y"
     {
                        has_self = TRUE;
                        if(strcmp((yyvsp[(2) - (4)].id),"self")==0)
@@ -4679,63 +4706,63 @@ yyreduce:
                                        }
     break;
 
-  case 162:
+  case 163:
 
-/* Line 1455 of yacc.c  */
-#line 2006 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2015 "parse.y"
     { has_self = FALSE; }
     break;
 
-  case 163:
+  case 164:
 
-/* Line 1455 of yacc.c  */
-#line 2009 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2018 "parse.y"
     { vararg = TRUE; }
     break;
 
-  case 164:
+  case 165:
 
-/* Line 1455 of yacc.c  */
-#line 2010 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2019 "parse.y"
     { vararg = FALSE; }
     break;
 
-  case 165:
+  case 166:
 
-/* Line 1455 of yacc.c  */
-#line 2013 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2022 "parse.y"
     { ; }
     break;
 
-  case 166:
+  case 167:
 
-/* Line 1455 of yacc.c  */
-#line 2014 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2023 "parse.y"
     { ; }
     break;
 
-  case 167:
+  case 168:
 
-/* Line 1455 of yacc.c  */
-#line 2017 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2026 "parse.y"
     {
                        push_funcarg((yyvsp[(2) - (2)].id),NULL);
                                                                }
     break;
 
-  case 168:
+  case 169:
 
-/* Line 1455 of yacc.c  */
-#line 2020 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2029 "parse.y"
     {
                        push_funcarg((yyvsp[(2) - (3)].id),(yyvsp[(3) - (3)].id));
                                                                }
     break;
 
-  case 169:
+  case 170:
 
-/* Line 1455 of yacc.c  */
-#line 2023 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2032 "parse.y"
     {
                        if(strcmp((yyvsp[(4) - (6)].id),"check")!=0) {
                                yyerror(_("parse error"));
@@ -4746,10 +4773,10 @@ yyreduce:
                                                                }
     break;
 
-  case 170:
+  case 171:
 
-/* Line 1455 of yacc.c  */
-#line 2031 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2040 "parse.y"
     {
                        if(strcmp((yyvsp[(5) - (7)].id),"check")!=0) {
                                yyerror(_("parse error"));
@@ -4760,24 +4787,24 @@ yyreduce:
                                                                }
     break;
 
-  case 171:
+  case 172:
 
-/* Line 1455 of yacc.c  */
-#line 2041 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2050 "parse.y"
     { ; }
     break;
 
-  case 172:
+  case 173:
 
-/* Line 1455 of yacc.c  */
-#line 2042 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2051 "parse.y"
     { ; }
     break;
 
-  case 173:
+  case 174:
 
-/* Line 1455 of yacc.c  */
-#line 2045 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2054 "parse.y"
     {
                        if(strcmp((yyvsp[(1) - (1)].id),"type")==0) {
                                Node *node = node_new (CHECK_NODE,
@@ -4797,10 +4824,10 @@ yyreduce:
                                        }
     break;
 
-  case 174:
+  case 175:
 
-/* Line 1455 of yacc.c  */
-#line 2062 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2071 "parse.y"
     {
                        Node *node = node_new (CHECK_NODE,
                                               "chtype", GT_CHECK,
@@ -4810,10 +4837,10 @@ yyreduce:
                                        }
     break;
 
-  case 175:
+  case 176:
 
-/* Line 1455 of yacc.c  */
-#line 2069 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2078 "parse.y"
     {
                        Node *node = node_new (CHECK_NODE,
                                               "chtype", LT_CHECK,
@@ -4823,10 +4850,10 @@ yyreduce:
                                        }
     break;
 
-  case 176:
+  case 177:
 
-/* Line 1455 of yacc.c  */
-#line 2076 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2085 "parse.y"
     {
                        Node *node = node_new (CHECK_NODE,
                                               "chtype", GE_CHECK,
@@ -4836,10 +4863,10 @@ yyreduce:
                                        }
     break;
 
-  case 177:
+  case 178:
 
-/* Line 1455 of yacc.c  */
-#line 2083 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2092 "parse.y"
     {
                        Node *node = node_new (CHECK_NODE,
                                               "chtype", LE_CHECK,
@@ -4849,10 +4876,10 @@ yyreduce:
                                        }
     break;
 
-  case 178:
+  case 179:
 
-/* Line 1455 of yacc.c  */
-#line 2090 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2099 "parse.y"
     {
                        Node *node = node_new (CHECK_NODE,
                                               "chtype", EQ_CHECK,
@@ -4862,10 +4889,10 @@ yyreduce:
                                        }
     break;
 
-  case 179:
+  case 180:
 
-/* Line 1455 of yacc.c  */
-#line 2097 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2106 "parse.y"
     {
                        Node *node = node_new (CHECK_NODE,
                                               "chtype", NE_CHECK,
@@ -4875,10 +4902,10 @@ yyreduce:
                                        }
     break;
 
-  case 180:
+  case 181:
 
-/* Line 1455 of yacc.c  */
-#line 2106 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2115 "parse.y"
     {
                        Node *node = node_new (ENUMDEF_NODE,
                                               "etype:steal", (yyvsp[(6) - (7)].id),
@@ -4890,10 +4917,10 @@ yyreduce:
                        }
     break;
 
-  case 181:
+  case 182:
 
-/* Line 1455 of yacc.c  */
-#line 2115 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2124 "parse.y"
     {
                        Node *node = node_new (ENUMDEF_NODE,
                                               "etype:steal", (yyvsp[(7) - (8)].id),
@@ -4905,24 +4932,24 @@ yyreduce:
                        }
     break;
 
-  case 182:
+  case 183:
 
-/* Line 1455 of yacc.c  */
-#line 2126 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2135 "parse.y"
     {;}
     break;
 
-  case 183:
+  case 184:
 
-/* Line 1455 of yacc.c  */
-#line 2127 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2136 "parse.y"
     {;}
     break;
 
-  case 184:
+  case 185:
 
-/* Line 1455 of yacc.c  */
-#line 2130 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2139 "parse.y"
     {
                        Node *node;
                        char *num = (yyvsp[(3) - (3)].id);
@@ -4945,10 +4972,10 @@ yyreduce:
                        }
     break;
 
-  case 185:
+  case 186:
 
-/* Line 1455 of yacc.c  */
-#line 2150 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2159 "parse.y"
     {
                        Node *node;
 
@@ -4959,10 +4986,10 @@ yyreduce:
        }
     break;
 
-  case 186:
+  case 187:
 
-/* Line 1455 of yacc.c  */
-#line 2160 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2169 "parse.y"
     {
                        Node *node = node_new (FLAGS_NODE,
                                               "ftype:steal", (yyvsp[(6) - (7)].id),
@@ -4974,10 +5001,10 @@ yyreduce:
                        }
     break;
 
-  case 187:
+  case 188:
 
-/* Line 1455 of yacc.c  */
-#line 2169 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2178 "parse.y"
     {
                        Node *node = node_new (FLAGS_NODE,
                                               "ftype:steal", (yyvsp[(7) - (8)].id),
@@ -4989,28 +5016,28 @@ yyreduce:
                        }
     break;
 
-  case 188:
+  case 189:
 
-/* Line 1455 of yacc.c  */
-#line 2180 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2189 "parse.y"
     {
                        flag_vals = g_list_append (flag_vals, (yyvsp[(3) - (3)].id));
                }
     break;
 
-  case 189:
+  case 190:
 
-/* Line 1455 of yacc.c  */
-#line 2183 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2192 "parse.y"
     {
                        flag_vals = g_list_append (flag_vals, (yyvsp[(1) - (1)].id));
                }
     break;
 
-  case 190:
+  case 191:
 
-/* Line 1455 of yacc.c  */
-#line 2188 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2197 "parse.y"
     {
                        Node *node = node_new (ERROR_NODE,
                                               "etype:steal", (yyvsp[(6) - (7)].id),
@@ -5022,10 +5049,10 @@ yyreduce:
                        }
     break;
 
-  case 191:
+  case 192:
 
-/* Line 1455 of yacc.c  */
-#line 2197 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2206 "parse.y"
     {
                        Node *node = node_new (ERROR_NODE,
                                               "etype:steal", (yyvsp[(7) - (8)].id),
@@ -5037,59 +5064,59 @@ yyreduce:
                        }
     break;
 
-  case 192:
+  case 193:
 
-/* Line 1455 of yacc.c  */
-#line 2208 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2217 "parse.y"
     {
                        error_vals = g_list_append (error_vals, (yyvsp[(3) - (3)].id));
                }
     break;
 
-  case 193:
+  case 194:
 
-/* Line 1455 of yacc.c  */
-#line 2211 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2220 "parse.y"
     {
                        error_vals = g_list_append (error_vals, (yyvsp[(1) - (1)].id));
                }
     break;
 
-  case 194:
+  case 195:
 
-/* Line 1455 of yacc.c  */
-#line 2217 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2226 "parse.y"
     { (yyval.id) = (yyvsp[(1) - (1)].id); }
     break;
 
-  case 195:
+  case 196:
 
-/* Line 1455 of yacc.c  */
-#line 2218 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2227 "parse.y"
     {
                        (yyval.id) = g_strconcat("-",(yyvsp[(2) - (2)].id),NULL);
                        g_free((yyvsp[(2) - (2)].id));
                                        }
     break;
 
-  case 196:
+  case 197:
 
-/* Line 1455 of yacc.c  */
-#line 2222 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2231 "parse.y"
     { (yyval.id) = (yyvsp[(1) - (1)].id); }
     break;
 
-  case 197:
+  case 198:
 
-/* Line 1455 of yacc.c  */
-#line 2223 "parse.y"
+/* Line 1464 of yacc.c  */
+#line 2232 "parse.y"
     { (yyval.id) = (yyvsp[(1) - (1)].id); }
     break;
 
 
 
-/* Line 1455 of yacc.c  */
-#line 5093 "parse.c"
+/* Line 1464 of yacc.c  */
+#line 5120 "parse.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -5300,7 +5327,7 @@ yyreturn:
 
 
 
-/* Line 1675 of yacc.c  */
-#line 2226 "parse.y"
+/* Line 1684 of yacc.c  */
+#line 2235 "parse.y"
 
 
index 1b48a932df92f376070249610971813869beaea2..b2fcf56a4ff0df476f419174132341163d566ff0 100644 (file)
@@ -1,10 +1,9 @@
-
-/* A Bison parser, made by GNU Bison 2.4.1.  */
+/* A Bison parser, made by GNU Bison 2.4.3.  */
 
 /* Skeleton interface for Bison's Yacc-like parsers in C
    
-      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-   Free Software Foundation, Inc.
+      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+   2009, 2010 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
      ARRAY_DIM = 277,
      SINGLE_CHAR = 278,
      CCODE = 279,
-     ADCODE = 280,
-     HTCODE = 281,
-     PHCODE = 282,
-     HCODE = 283,
-     ACODE = 284,
-     ATCODE = 285,
-     STRING = 286,
-     PUBLIC = 287,
-     PRIVATE = 288,
-     PROTECTED = 289,
-     CLASSWIDE = 290,
-     PROPERTY = 291,
-     ARGUMENT = 292,
-     VIRTUAL = 293,
-     SIGNAL = 294,
-     OVERRIDE = 295,
-     NICK = 296,
-     BLURB = 297,
-     MAXIMUM = 298,
-     MINIMUM = 299,
-     DEFAULT_VALUE = 300,
-     ERROR = 301,
-     FLAGS = 302,
-     TYPE = 303,
-     FLAGS_TYPE = 304,
-     ENUM_TYPE = 305,
-     PARAM_TYPE = 306,
-     BOXED_TYPE = 307,
-     OBJECT_TYPE = 308
+     CTCODE = 280,
+     ADCODE = 281,
+     HTCODE = 282,
+     PHCODE = 283,
+     HCODE = 284,
+     ACODE = 285,
+     ATCODE = 286,
+     STRING = 287,
+     PUBLIC = 288,
+     PRIVATE = 289,
+     PROTECTED = 290,
+     CLASSWIDE = 291,
+     PROPERTY = 292,
+     ARGUMENT = 293,
+     VIRTUAL = 294,
+     SIGNAL = 295,
+     OVERRIDE = 296,
+     NICK = 297,
+     BLURB = 298,
+     MAXIMUM = 299,
+     MINIMUM = 300,
+     DEFAULT_VALUE = 301,
+     ERROR = 302,
+     FLAGS = 303,
+     TYPE = 304,
+     FLAGS_TYPE = 305,
+     ENUM_TYPE = 306,
+     PARAM_TYPE = 307,
+     BOXED_TYPE = 308,
+     OBJECT_TYPE = 309
    };
 #endif
 /* Tokens.  */
 #define ARRAY_DIM 277
 #define SINGLE_CHAR 278
 #define CCODE 279
-#define ADCODE 280
-#define HTCODE 281
-#define PHCODE 282
-#define HCODE 283
-#define ACODE 284
-#define ATCODE 285
-#define STRING 286
-#define PUBLIC 287
-#define PRIVATE 288
-#define PROTECTED 289
-#define CLASSWIDE 290
-#define PROPERTY 291
-#define ARGUMENT 292
-#define VIRTUAL 293
-#define SIGNAL 294
-#define OVERRIDE 295
-#define NICK 296
-#define BLURB 297
-#define MAXIMUM 298
-#define MINIMUM 299
-#define DEFAULT_VALUE 300
-#define ERROR 301
-#define FLAGS 302
-#define TYPE 303
-#define FLAGS_TYPE 304
-#define ENUM_TYPE 305
-#define PARAM_TYPE 306
-#define BOXED_TYPE 307
-#define OBJECT_TYPE 308
+#define CTCODE 280
+#define ADCODE 281
+#define HTCODE 282
+#define PHCODE 283
+#define HCODE 284
+#define ACODE 285
+#define ATCODE 286
+#define STRING 287
+#define PUBLIC 288
+#define PRIVATE 289
+#define PROTECTED 290
+#define CLASSWIDE 291
+#define PROPERTY 292
+#define ARGUMENT 293
+#define VIRTUAL 294
+#define SIGNAL 295
+#define OVERRIDE 296
+#define NICK 297
+#define BLURB 298
+#define MAXIMUM 299
+#define MINIMUM 300
+#define DEFAULT_VALUE 301
+#define ERROR 302
+#define FLAGS 303
+#define TYPE 304
+#define FLAGS_TYPE 305
+#define ENUM_TYPE 306
+#define PARAM_TYPE 307
+#define BOXED_TYPE 308
+#define OBJECT_TYPE 309
 
 
 
 typedef union YYSTYPE
 {
 
-/* Line 1676 of yacc.c  */
+/* Line 1685 of yacc.c  */
 #line 683 "parse.y"
 
        char *id;
@@ -163,8 +164,8 @@ typedef union YYSTYPE
 
 
 
-/* Line 1676 of yacc.c  */
-#line 168 "parse.h"
+/* Line 1685 of yacc.c  */
+#line 169 "parse.h"
 } YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
index 9c880cf8af435a3b59681a009aa34f1c9764c58d..5c8cc98a74d6679da35d49f59083c0814528810c 100644 (file)
@@ -693,7 +693,7 @@ ensure_property (void)
 %token SIGNED UNSIGNED LONG SHORT INT FLOAT DOUBLE CHAR
 
 %token <id> TOKEN NUMBER TYPETOKEN ARRAY_DIM SINGLE_CHAR
-%token <cbuf> CCODE ADCODE HTCODE PHCODE HCODE ACODE ATCODE STRING
+%token <cbuf> CCODE CTCODE ADCODE HTCODE PHCODE HCODE ACODE ATCODE STRING
 %token <line> PUBLIC PRIVATE PROTECTED CLASSWIDE PROPERTY ARGUMENT
 %token <line> VIRTUAL SIGNAL OVERRIDE
 %token <line> NICK BLURB MAXIMUM MINIMUM DEFAULT_VALUE ERROR FLAGS TYPE
@@ -770,6 +770,15 @@ ccode:             CCODE                   {
                        nodes = g_list_append(nodes,node);
                        g_string_free($<cbuf>1,FALSE);
                                        }
+       |       CTCODE                  {
+                       Node *node = node_new (CCODE_NODE,
+                                              "cctype", CT_CCODE,
+                                              "cbuf:steal", ($<cbuf>1)->str,
+                                              "line_no", ccode_line,
+                                              NULL);
+                       nodes = g_list_append(nodes,node);
+                       g_string_free($<cbuf>1,FALSE);
+                                       }
        ;
 
 ccodes:                ccodes ccode            { ; }
index be742ef5da31601444ee54b1a1c92e71114f27cf..25e2e8f66c8afea96d36177a5544e246ca4d395a 100644 (file)
@@ -3,12 +3,21 @@
    look in here to see a whole array of different syntax options, but
    don't expect this to be an easy to read file */
 
-requires 2.0.16
+requires 2.0.18
+
+%ct{
+       /* very very top of C file useful for "config.h" sort of like alltop
+        * but only for C file */ 
+%}
 
 %at{
 /* ALL TOP */
 %}
 
+%ctop{
+       /* Just like ct above */
+%}
+
 %headertop{
 /* this should go on the very top of the header */
 
index d0ad4b3b59b2f198c84d279463c712277b10f57a..76e5e02b14bd77adea0f84dfc9164b2b912b1325 100644 (file)
@@ -12,7 +12,8 @@ enum {
        AD_CCODE,
        H_CCODE,
        HT_CCODE,
-       PH_CCODE
+       PH_CCODE,
+       CT_CCODE
 };
 
 /* check type */
@@ -56,7 +57,7 @@ CLASS Class
   STRING       otype   # this object class type
   STRING       ptype   # parent class type
   STRING       bonobo_object_class # Class for BonoboObject
-       BOOL glade_xml # Glade XML Class
+  BOOL         glade_xml # Glade XML Class
   STRING       chunk_size # if the object should be allocated with mem_chunks
   STRINGLIST   interfaces # GObject interfaces this class exports
   NODELIST     nodes
@@ -137,13 +138,13 @@ CLASS Method
   BOOL         vararg
   INT          unique_id       # A unique id for new methods
   BOOL         bonobo_object_func      # Function for BonoboObject
-               STRING  interface       # interface this belongs to
+  STRING       interface       # interface this belongs to
 ENDCLASS
 
 CLASS Variable
   INT          scope
   TYPE         vtype
-       BOOL glade_widget
+  BOOL         glade_widget
   STRING       id
   INT          line_no
   BOOL         destructor_unref
@@ -152,7 +153,7 @@ CLASS Variable
   BOOL         destructor_simple
   STRING       initializer
   INT          initializer_line
-       BOOL   initializer_simple
+  BOOL         initializer_simple
 ENDCLASS
 
 CLASS EnumDef
index a97ada3dac43703fbb260184be94bbe556f137ee..27c7c43f360b4fb1b289b057549c783af4d132ba 100644 (file)
@@ -13,7 +13,8 @@ enum {
        AD_CCODE,
        H_CCODE,
        HT_CCODE,
-       PH_CCODE
+       PH_CCODE,
+       CT_CCODE
 };
 
 /* check type */