+Fri Feb 01 15:19:07 2002 George Lebl <jirka@5z.com>
+
+ * Release 1.99.2
+
+Fri Feb 01 01:42:09 2002 George Lebl <jirka@5z.com>
+
+ * src/main.c: get rid of the old way of doing typesafe signal
+ connection and make a new way where there are full connect
+ macros for connect, connect_after and connect_data for each
+ signal. A bit more heavy weight (only at compile time), but
+ it actually works, and is cleaner really.
+
+2002-01-22 Bastien Nocera <hadess@hadess.net>
+
+ * src/main.c: (make_arguments): move the get_ and set_property before
+ parameters settings to work with latest glib
+
+Fri Jan 18 14:21:22 2002 George Lebl <jirka@5z.com>
+
+ * src/treefuncs.(def|c|h), src/parse.y, src/lexer.l, src/main.c:
+ Implement GError definitions.
+
+Thu Jan 17 02:39:02 2002 George Lebl <jirka@5z.com>
+
+ * gob2.m4: fix version check
+
+ * configure.in, src/Makefile.am: some build fixes and raise version
+
+Thu Jan 10 22:05:42 2002 George Lebl <jirka@5z.com>
+
+ * src/parser.y, src/lexer.l, src/main.c, src/Makefile.am,
+ src/test.gob, src/treefuncs.(def|c|h): Implement using of
+ interfaces. That is, you can now implement interfaces on your
+ objects. You still can't define interfaces, that's step two.
+
+Sun Dec 30 18:25:25 2001 George Lebl <jirka@5z.com>
+
+ * src/main.c: Apply patch from Josh Parsons <jp30@st-andrews.ac.uk>,
+ to fix some code generation
+
+ * src/parse.y: Be anal in linking string properties.
+
+Thu Dec 20 17:39:32 2001 George Lebl <jirka@5z.com>
+
+ * src/main.c: Apply patch from Josh Parsons <jp30@st-andrews.ac.uk>
+ to enhance the m4 support, fix init function generation and
+ correctly include glib-object.h. Massage it a bit further as
+ well.
+
+Mon Nov 05 11:45:46 2001 George Lebl <jirka@5z.com>
+
+ * src/lexer.l, src/parser.y, src/main.c, src/treefuncs.def:
+ Add flags and enum creation code, so you can do things in
+ a more gob like manner rather then the glib-mkenums setup.
+
+2001-10-27 Seth Nickell <snickell@stanford.edu>
+
+ Make BonoboObject stuff work, almost as much fun as
+ blowing goats and twice as messy. Built code still
+ requires a patch to libbonobo to run (changing the
+ name of the TYPE macro to fit w/ GNOME standards),
+ so retaining a warning that BonoboObject doesn't
+ really work (oh, but it does :-)
+
+ * configure.in:
+
+ Make sure to substitute YFLAGS so you don't get undefined
+ crap when you use @YFLAGS@ in Makefile.am.
+
+ * src/main.c: (add_bonobo_object_get_type)
+
+ Add a GObject type function for BonoboObject stuff.
+
+ * src/main.c: (make_bonobo_object_epv)
+
+ Append self_ to function call as per gob2.
+
+ * src/main.c: (add_inits), (print_class_block)
+ * src/parse.y:
+ * src/treefuncs.c: (ensure_quarks), (copy_class), (copy_method),
+ (free_class), (setv_class), (setv_method):
+ * src/treefuncs.def:
+ * src/treefuncs.h:
+
+ Change to using BonoboObject rather than BonoboXObject.
+
+ * examples/foo-some-interface.c
+
+ Update to work with GOB2 with BonoboObjectTechnology(TM).
+
+2001-10-26 Seth Nickell <snickell@stanford.edu>
+
+ * src/Makefile.am:
+
+ Add top_srcdir to the include flags to pick up config.h
+ on my system.
+
+Sat Oct 20 17:40:58 2001 George Lebl <jirka@5z.com>
+
+ * src/Makefile.am: a few fixes
+
+Sat Oct 20 16:59:19 2001 George Lebl <jirka@5z.com>
+
+ * src/lexer.l, src/main.c, src/Makefile.am: Apply m4 preprocessing
+ patch by Josh Parsons <jp30@st-andrews.ac.uk>
+
Sat Sep 29 17:00:39 2001 George Lebl <jirka@5z.com>
* doc/Makefile.am: update
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
CPPFLAGS = @CPPFLAGS@
DOINSTGOB = @DOINSTGOB@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GOBJECT_QUERY = @GOBJECT_QUERY@
LDFLAGS = @LDFLAGS@
LEX = @LEX@
MAINT = @MAINT@
TAR = @TAR@
VERSION = @VERSION@
YACC = @YACC@
+YFLAGS = @YFLAGS@
SUBDIRS = @SUBDIRS@
DIST_SUBDIRS = src doc examples
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in
cd $(srcdir) && $(ACLOCAL)
-config.status: $(srcdir)/configure.in $(CONFIG_STATUS_DEPENDENCIES)
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \
- test "$$subdir" = "." && dot_seen=yes; \
+ test "$$subdir" != "." || dot_seen=yes; \
done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \
target=`echo $@ | sed s/-recursive//`; \
-1.0.7
- * allow overriding of get_type (allows BonoboXObject)
-
-1.0.6
- * works with new gcc better
- * signal connection typesafety macros
-
-1.0.5
- * gob.m4 defaults to WARN (Eskil)
- * fix argumentless methods
- * cleanup
- * _get_type function is now G_GNUC_CONST
-
-1.0.4
- * Fix segfault in finalize
- * Minor fixes and improvements
-
- NOTE: Everyone should update due to the segfault fix!
-
-1.0.3
- * Add "const self", and a _CONST cast macro (Bas van der Linden)
- * Objects should compile with Glib/GTK+ 1.3 (to become 2.0)
- * Parent handler is properly called for destroy and finalize
- * Fixes in documentation and examples
-
-1.0.2
- * Fix "const" handeling
- * Allow use of chunks for new object allocation (Bas van der Linden)
- * Add __GOB_FUNCTION__ define for each function (Bas van der Linden)
- * Add --always-private-struct option
- * stringlink strdups on get
- * Minor fixes
-
- NOTE: if you are using stringlink, you might notice a memory leak
- since from 1.0.2 stringlink strdups the string instead of just
- returning it
-
-1.0.1
- * documentation fixes
- * fix the behaviour of the private header switches
-
-1.0.0
- * accept an identifier such as a constant in array dimensions
- * updated manpage with build instructions
-
-0.93.5
- * destructors run after destroy, not before finalize,
- * zero out data after destruction
- * added Self typedef to complement the SELF macros
- * initial underscore removal from full names, to help to avoid
- name conflicts
-
-0.93.4
- * classwide (global) datamembers
- * private header file always generated by default
-
-0.93.3
- * fix signals with return values but no arguments
- * more input file checking
-
-0.93.2
- * defreturn for default return values on signals/virtuals
- * code reorganisation
-
-0.93.1
- * accept 1 word types
- * gob.m4 improvements (Eskil)
- * minor fixes, and improvements
-
-0.93.0
- * data member initialization
- * pointer data member destruction
- * automatic argument to data member linking for simple cases
- * other minor fixes/improvements
-
-0.92.4
- * -n flag (Dave Dunkin)
- * all and alltop code sections (Dave Dunkin)
- * GTK_RUN_ flags for signals
- * self casting macros
- * other small fixes
-
-0.92.3
- * inline documentation support
- * standard m4 autoconf macro (thanks to Eskil Heyn Olsen)
- * cleanups
-
-0.92.2
- * more header code sections
- * some code restructuring
- * always extern "C" the header (unless --no-extern-c is used)
- * object typedef protecting define for avoiding circular includes
-
-0.92.1
- * typesafe macros for argument setting/getting
- * generated code will take advantage of GNU C extentions if compiled
- under GNU C
- * move _priv structure freeing into finalize
- * more gob file compilation checks
- * other improvements and fixes
-
- NOTE: The generated files with this version will be larger because
- of some more preprocessor magic that is done to make the thing saner,
- and faster. Don't worry about it as the resulting object file should
- not get larger.
-
-0.92.0
- * added protected methods and datamembers.
- * better handeling of empty methods
- * allow scope keywords before the virutal or signal keyword
- * merge signal marshallers that are the same to reduce code size
- * various small fixes and improvements
-
-0.91.2
- * PARENT_HANDLER can now return a value for non-void overrides
- * allow empty classes and empty function bodies
- * allow public keyword around signals and virtuals for consistency
- * small bugfixes
-
-0.91.1
- * WARNING! slight change in the private stuff again, private
- structure definition (_priv) is now in a private header file,
- which you must include explicitly if you include the public
- header file explicitly in your .gob file. 0.91.0 behaviour
- is obtainable with the --no-private-header option
- * added support for array data members and function arguments
-
-0.91.0
- * WARNING! change the way private data members are done, now you need
- to access them through a private structure only available in the
- C file, object->member becomes object->_priv->member
- * add support for placing the object header anywhere in the C file
- * bunch of further sanity checks added
- * add some simple examples
-
-0.90.5
- * added PARENT_HANDLER macro for overrides
- * added _TYPE_ macro for _get_type method
- * warn if signal parameter lists seem mismatched
-
-0.90.4
- * fix buggy class structure generation
- * can generate C++ friendly code
- * function aliases are now done by static pointers rather then defines
- * more...
-
-0.90.3
- * does not require popt
- * don't kill comments from C code blocks
- * support for being "embedded" inside other projects to avoid
- dependencies (look at README)
- * a bunch of fixes
-
-0.90.2
- * add support for private signals and virtuals
- * fix bug with varargs
-
-0.90.1
- * accept 'const' in argument lists
- * accept '...' in public and private method argument lists
-
-0.90.0
- * changed "this" to "self" but recognize "this" as well
- * warn if "new" is not public
- * check symbols/arguments/signals for duplicates
-
-0.0.4
- * you can have tokens inside check statements
- * avoid warnings when no overrides, signals and arguments
-
-0.0.3
- * "type", "check", "first", "last" and "null" no longer reserved
- words in method prototypes
- * GET_NEW defined for the entire file
- * added #line's to the .c files so that errors get reported on the
- .gob file, there are no #line's in .h file however!
- * bug fixes
-
-0.0.2
- * bug fixes
- * autoconf/automake setup
- * man page
+1.99.2:
+ * allow implementation (but not definition yet) of interfaces
+ * enum, flags and GError creation code
+ * BonoboObject stuff (Seth)
+ * build fixes (me, Seth)
+ * m4 preprocessing stuff (Josh Parsons)
+ * Code generation fixes (Josh Parsons, Bastien Nocera, me)
+ * New way of doing typesafe signal connections
-dnl aclocal.m4 generated automatically by aclocal 1.4-p4
+dnl aclocal.m4 generated automatically by aclocal 1.4-p5
-dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
# Like AC_CONFIG_HEADER, but automatically create stamp file.
-AC_DEFUN(AM_CONFIG_HEADER,
+AC_DEFUN([AM_CONFIG_HEADER],
[AC_PREREQ([2.12])
AC_CONFIG_HEADER([$1])
dnl When config.status generates a header, we must update the stamp-h file.
dnl Usage:
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
-AC_DEFUN(AM_INIT_AUTOMAKE,
+AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_REQUIRE([AC_PROG_INSTALL])
PACKAGE=[$1]
AC_SUBST(PACKAGE)
# Check to make sure that the build environment is sane.
#
-AC_DEFUN(AM_SANITY_CHECK,
+AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
# Just in case
sleep 1
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
dnl The program must properly implement --version.
-AC_DEFUN(AM_MISSING_PROG,
+AC_DEFUN([AM_MISSING_PROG],
[AC_MSG_CHECKING(for working $2)
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
fi
AC_SUBST($1)])
-
-dnl AM_PROG_LEX
-dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
-AC_DEFUN(AM_PROG_LEX,
-[missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1)
-AC_CHECK_PROGS(LEX, flex lex, "$missing_dir/missing flex")
-AC_PROG_LEX
-AC_DECL_YYTEXT])
-
-# Configure paths for GLIB
-# Owen Taylor 1997-2001
-
-dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
-dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject or
-dnl gthread is specified in MODULES, pass to pkg-config
-dnl
-AC_DEFUN(AM_PATH_GLIB_2_0,
-[dnl
-dnl Get the cflags and libraries from pkg-config
-dnl
-AC_ARG_ENABLE(glibtest, [ --disable-glibtest Do not try to compile and run a test GLIB program],
- , enable_glibtest=yes)
-
- pkg_config_args=glib-2.0
- for module in . $4
- do
- case "$module" in
- gmodule)
- pkg_config_args="$pkg_config_args gmodule-2.0"
- ;;
- gobject)
- pkg_config_args="$pkg_config_args gobject-2.0"
- ;;
- gthread)
- pkg_config_args="$pkg_config_args gthread-2.0"
- ;;
- esac
- done
-
- AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-
- no_glib=""
-
- if test x$PKG_CONFIG != xno ; then
- if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
- :
- else
- echo *** pkg-config too old; version 0.7 or better required.
- no_glib=yes
- PKG_CONFIG=no
- fi
- fi
-
- ## don't try to run the test against uninstalled libtool libs
- if $PKG_CONFIG --uninstalled $pkg_config_args; then
- echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH"
- enable_glibtest=no
- fi
-
- min_glib_version=ifelse([$1], ,1.3.3,$1)
- AC_MSG_CHECKING(for GLIB - version >= $min_glib_version)
-
- if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then
- :
- else
- no_glib = yes
- fi
-
- if test x"$no_glib" = x ; then
- GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
- GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0`
- GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
-
- GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args`
- GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args`
- glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- if test "x$enable_glibtest" = "xyes" ; then
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $GLIB_CFLAGS"
- LIBS="$GLIB_LIBS $LIBS"
-dnl
-dnl Now check if the installed GLIB is sufficiently new. (Also sanity
-dnl checks the results of pkg-config to some extent)
-dnl
- rm -f conf.glibtest
- AC_TRY_RUN([
-#include <glib.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main ()
-{
- int major, minor, micro;
- char *tmp_version;
-
- system ("touch conf.glibtest");
-
- /* HP/UX 9 (%@#!) writes to sscanf strings */
- tmp_version = g_strdup("$min_glib_version");
- if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
- printf("%s, bad version string\n", "$min_glib_version");
- exit(1);
- }
-
- if ((glib_major_version != $glib_config_major_version) ||
- (glib_minor_version != $glib_config_minor_version) ||
- (glib_micro_version != $glib_config_micro_version))
- {
- printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but GLIB (%d.%d.%d)\n",
- $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version,
- glib_major_version, glib_minor_version, glib_micro_version);
- printf ("*** was found! If pkg-config was correct, then it is best\n");
- printf ("*** to remove the old version of GLib. You may also be able to fix the error\n");
- printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
- printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
- printf("*** required on your system.\n");
- printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
- printf("*** to point to the correct configuration files\n");
- }
- else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
- (glib_minor_version != GLIB_MINOR_VERSION) ||
- (glib_micro_version != GLIB_MICRO_VERSION))
- {
- printf("*** GLIB header files (version %d.%d.%d) do not match\n",
- GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
- printf("*** library (version %d.%d.%d)\n",
- glib_major_version, glib_minor_version, glib_micro_version);
- }
- else
- {
- if ((glib_major_version > major) ||
- ((glib_major_version == major) && (glib_minor_version > minor)) ||
- ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
- {
- return 0;
- }
- else
- {
- printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n",
- glib_major_version, glib_minor_version, glib_micro_version);
- printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n",
- major, minor, micro);
- printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
- printf("***\n");
- printf("*** If you have already installed a sufficiently new version, this error\n");
- printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
- printf("*** being found. The easiest way to fix this is to remove the old version\n");
- printf("*** of GLIB, but you can also set the PKG_CONFIG environment to point to the\n");
- printf("*** correct copy of pkg-config. (In this case, you will have to\n");
- printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
- printf("*** so that the correct libraries are found at run-time))\n");
- }
- }
- return 1;
-}
-],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
- if test "x$no_glib" = x ; then
- AC_MSG_RESULT(yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version))
- ifelse([$2], , :, [$2])
- else
- AC_MSG_RESULT(no)
- if test "$PKG_CONFIG" = "no" ; then
- echo "*** A new enough version of pkg-config was not found."
- echo "*** See http://www.freedesktop.org/software/pkgconfig/"
- else
- if test -f conf.glibtest ; then
- :
- else
- echo "*** Could not run GLIB test program, checking why..."
- CFLAGS="$CFLAGS $GLIB_CFLAGS"
- LIBS="$LIBS $GLIB_LIBS"
- AC_TRY_LINK([
-#include <glib.h>
-#include <stdio.h>
-], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ],
- [ echo "*** The test program compiled, but did not run. This usually means"
- echo "*** that the run-time linker is not finding GLIB or finding the wrong"
- echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
- echo "*** to the installed location Also, make sure you have run ldconfig if that"
- echo "*** is required on your system"
- echo "***"
- echo "*** If you have an old version installed, it is best to remove it, although"
- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
- [ echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means GLIB was incorrectly installed"
- echo "*** or that you have moved GLIB since it was installed. In the latter case, you"
- echo "*** may want to edit the pkg-config script: $PKG_CONFIG" ])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
- GLIB_CFLAGS=""
- GLIB_LIBS=""
- GLIB_GENMARSHAL=""
- GOBJECT_QUERY=""
- GLIB_MKENUMS=""
- ifelse([$3], , :, [$3])
- fi
- AC_SUBST(GLIB_CFLAGS)
- AC_SUBST(GLIB_LIBS)
- AC_SUBST(GLIB_GENMARSHAL)
- AC_SUBST(GOBJECT_QUERY)
- AC_SUBST(GLIB_MKENUMS)
- rm -f conf.glibtest
-])
-
# Add --enable-maintainer-mode option to configure.
# From Jim Meyering
# serial 1
-AC_DEFUN(AM_MAINTAINER_MODE,
+AC_DEFUN([AM_MAINTAINER_MODE],
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
dnl maintainer-mode is disabled by default
AC_ARG_ENABLE(maintainer-mode,
# Define a conditional.
-AC_DEFUN(AM_CONDITIONAL,
+AC_DEFUN([AM_CONDITIONAL],
[AC_SUBST($1_TRUE)
AC_SUBST($1_FALSE)
if $2; then
$1_FALSE=
fi])
+#serial 1
+# This test replaces the one in autoconf.
+# Currently this macro should have the same name as the autoconf macro
+# because gettext's gettext.m4 (distributed in the automake package)
+# still uses it. Otherwise, the use in gettext.m4 makes autoheader
+# give these diagnostics:
+# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
+# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
+
+undefine([AC_ISC_POSIX])
+
+AC_DEFUN([AC_ISC_POSIX],
+ [
+ dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
+ AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
+ ]
+)
+
+
+dnl AM_PROG_LEX
+dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
+AC_DEFUN([AM_PROG_LEX],
+[missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1)
+AC_CHECK_PROGS(LEX, flex lex, "$missing_dir/missing flex")
+AC_PROG_LEX
+AC_DECL_YYTEXT])
+
+
+dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
+dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
+dnl also defines GSTUFF_PKG_ERRORS on error
+AC_DEFUN(PKG_CHECK_MODULES, [
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ if ! $PKG_CONFIG --atleast-pkgconfig-version 0.7.0; then
+ echo "*** Your version of pkg-config is too old. You need version 0.7.0 or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
+ else
+ AC_MSG_CHECKING(for $2)
+
+ if $PKG_CONFIG --exists "$2" ; then
+ AC_MSG_RESULT(yes)
+ succeeded=yes
+
+ AC_MSG_CHECKING($1_CFLAGS)
+ $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
+ AC_MSG_RESULT($$1_CFLAGS)
+
+ AC_MSG_CHECKING($1_LIBS)
+ $1_LIBS=`$PKG_CONFIG --libs "$2"`
+ AC_MSG_RESULT($$1_LIBS)
+ else
+ $1_CFLAGS=""
+ $1_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+ ifelse([$4], ,echo $$1_PKG_ERRORS,)
+ fi
+
+ AC_SUBST($1_CFLAGS)
+ AC_SUBST($1_LIBS)
+ fi
+ fi
+
+ if test $succeeded = yes; then
+ ifelse([$3], , :, [$3])
+ else
+ ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
+ fi
+])
+
+
+
Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-glibtest Do not try to compile and run a test GLIB program
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
fi
for ac_site_file in $CONFIG_SITE; do
if test -r "$ac_site_file"; then
- { echo "$as_me:831: loading site script $ac_site_file" >&5
+ { echo "$as_me:830: loading site script $ac_site_file" >&5
echo "$as_me: loading site script $ac_site_file" >&6;}
cat "$ac_site_file" >&5
. "$ac_site_file"
# Some versions of bash will fail to source /dev/null (special
# files actually), so we avoid doing that.
if test -f "$cache_file"; then
- { echo "$as_me:842: loading cache $cache_file" >&5
+ { echo "$as_me:841: loading cache $cache_file" >&5
echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . $cache_file;;
esac
fi
else
- { echo "$as_me:850: creating cache $cache_file" >&5
+ { echo "$as_me:849: creating cache $cache_file" >&5
echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
eval ac_new_val="\$ac_env_${ac_var}_value"
case $ac_old_set,$ac_new_set in
set,)
- { echo "$as_me:866: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+ { echo "$as_me:865: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { echo "$as_me:870: error: \`$ac_var' was not set in the previous run" >&5
+ { echo "$as_me:869: error: \`$ac_var' was not set in the previous run" >&5
echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:876: error: \`$ac_var' has changed since the previous run:" >&5
+ { echo "$as_me:875: error: \`$ac_var' has changed since the previous run:" >&5
echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:878: former value: $ac_old_val" >&5
+ { echo "$as_me:877: former value: $ac_old_val" >&5
echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:880: current value: $ac_new_val" >&5
+ { echo "$as_me:879: current value: $ac_new_val" >&5
echo "$as_me: current value: $ac_new_val" >&2;}
ac_cache_corrupted=:
fi;;
fi
done
if $ac_cache_corrupted; then
- { echo "$as_me:899: error: changes in the environment can compromise the build" >&5
+ { echo "$as_me:898: error: changes in the environment can compromise the build" >&5
echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:901: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+ { { echo "$as_me:900: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
{ (exit 1); exit 1; }; }
fi
echo "#! $SHELL" >conftest.sh
echo "exit 0" >>conftest.sh
chmod +x conftest.sh
-if { (echo "$as_me:921: PATH=\".;.\"; conftest.sh") >&5
+if { (echo "$as_me:920: PATH=\".;.\"; conftest.sh") >&5
(PATH=".;."; conftest.sh) 2>&5
ac_status=$?
- echo "$as_me:924: \$? = $ac_status" >&5
+ echo "$as_me:923: \$? = $ac_status" >&5
(exit $ac_status); }; then
ac_path_separator=';'
else
fi
done
if test -z "$ac_aux_dir"; then
- { { echo "$as_me:954: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+ { { echo "$as_me:953: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
{ (exit 1); exit 1; }; }
fi
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:974: checking for a BSD compatible install" >&5
+echo "$as_me:973: checking for a BSD compatible install" >&5
echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
INSTALL=$ac_install_sh
fi
fi
-echo "$as_me:1023: result: $INSTALL" >&5
+echo "$as_me:1022: result: $INSTALL" >&5
echo "${ECHO_T}$INSTALL" >&6
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-echo "$as_me:1034: checking whether build environment is sane" >&5
+echo "$as_me:1033: checking whether build environment is sane" >&5
echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
# Just in case
sleep 1
# 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".
- { { echo "$as_me:1057: error: ls -t appears to fail. Make sure there is not a broken
+ { { echo "$as_me:1056: error: ls -t appears to fail. Make sure there is not a broken
alias in your environment" >&5
echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
alias in your environment" >&2;}
# Ok.
:
else
- { { echo "$as_me:1070: error: newly created file is older than distributed files!
+ { { echo "$as_me:1069: error: newly created file is older than distributed files!
Check your system clock" >&5
echo "$as_me: error: newly created file is older than distributed files!
Check your system clock" >&2;}
{ (exit 1); exit 1; }; }
fi
rm -f conftest*
-echo "$as_me:1077: result: yes" >&5
+echo "$as_me:1076: result: yes" >&5
echo "${ECHO_T}yes" >&6
test "$program_prefix" != NONE &&
program_transform_name="s,^,$program_prefix,;$program_transform_name"
program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
rm conftest.sed
-echo "$as_me:1092: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "$as_me:1091: checking whether ${MAKE-make} sets \${MAKE}" >&5
echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
rm -f conftest.make
fi
if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:1112: result: yes" >&5
+ echo "$as_me:1111: result: yes" >&5
echo "${ECHO_T}yes" >&6
SET_MAKE=
else
- echo "$as_me:1116: result: no" >&5
+ echo "$as_me:1115: result: no" >&5
echo "${ECHO_T}no" >&6
SET_MAKE="MAKE=${MAKE-make}"
fi
PACKAGE=gob2
-VERSION=1.99.1
+VERSION=1.99.2
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
- { { echo "$as_me:1126: error: source directory already configured; run \"make distclean\" there first" >&5
+ { { echo "$as_me:1125: error: source directory already configured; run \"make distclean\" there first" >&5
echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
{ (exit 1); exit 1; }; }
fi
EOF
missing_dir=`cd $ac_aux_dir && pwd`
-echo "$as_me:1140: checking for working aclocal" >&5
+echo "$as_me:1139: checking for working aclocal" >&5
echo $ECHO_N "checking for working aclocal... $ECHO_C" >&6
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
if (aclocal --version) < /dev/null > /dev/null 2>&1; then
ACLOCAL=aclocal
- echo "$as_me:1147: result: found" >&5
+ echo "$as_me:1146: result: found" >&5
echo "${ECHO_T}found" >&6
else
ACLOCAL="$missing_dir/missing aclocal"
- echo "$as_me:1151: result: missing" >&5
+ echo "$as_me:1150: result: missing" >&5
echo "${ECHO_T}missing" >&6
fi
-echo "$as_me:1155: checking for working autoconf" >&5
+echo "$as_me:1154: checking for working autoconf" >&5
echo $ECHO_N "checking for working autoconf... $ECHO_C" >&6
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
if (autoconf --version) < /dev/null > /dev/null 2>&1; then
AUTOCONF=autoconf
- echo "$as_me:1162: result: found" >&5
+ echo "$as_me:1161: result: found" >&5
echo "${ECHO_T}found" >&6
else
AUTOCONF="$missing_dir/missing autoconf"
- echo "$as_me:1166: result: missing" >&5
+ echo "$as_me:1165: result: missing" >&5
echo "${ECHO_T}missing" >&6
fi
-echo "$as_me:1170: checking for working automake" >&5
+echo "$as_me:1169: checking for working automake" >&5
echo $ECHO_N "checking for working automake... $ECHO_C" >&6
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
if (automake --version) < /dev/null > /dev/null 2>&1; then
AUTOMAKE=automake
- echo "$as_me:1177: result: found" >&5
+ echo "$as_me:1176: result: found" >&5
echo "${ECHO_T}found" >&6
else
AUTOMAKE="$missing_dir/missing automake"
- echo "$as_me:1181: result: missing" >&5
+ echo "$as_me:1180: result: missing" >&5
echo "${ECHO_T}missing" >&6
fi
-echo "$as_me:1185: checking for working autoheader" >&5
+echo "$as_me:1184: checking for working autoheader" >&5
echo $ECHO_N "checking for working autoheader... $ECHO_C" >&6
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
if (autoheader --version) < /dev/null > /dev/null 2>&1; then
AUTOHEADER=autoheader
- echo "$as_me:1192: result: found" >&5
+ echo "$as_me:1191: result: found" >&5
echo "${ECHO_T}found" >&6
else
AUTOHEADER="$missing_dir/missing autoheader"
- echo "$as_me:1196: result: missing" >&5
+ echo "$as_me:1195: result: missing" >&5
echo "${ECHO_T}missing" >&6
fi
-echo "$as_me:1200: checking for working makeinfo" >&5
+echo "$as_me:1199: checking for working makeinfo" >&5
echo $ECHO_N "checking for working makeinfo... $ECHO_C" >&6
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
MAKEINFO=makeinfo
- echo "$as_me:1207: result: found" >&5
+ echo "$as_me:1206: result: found" >&5
echo "${ECHO_T}found" >&6
else
MAKEINFO="$missing_dir/missing makeinfo"
- echo "$as_me:1211: result: missing" >&5
+ echo "$as_me:1210: result: missing" >&5
echo "${ECHO_T}missing" >&6
fi
+echo "$as_me:1214: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi;
+ echo "$as_me:1223: result: $USE_MAINTAINER_MODE" >&5
+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+GLIB_REQUIRED=1.3.12
+
if test -f ../NOINST_GOB ; then
DOINSTGOB=
NOINSTGOB=gob2
- echo "$as_me:1218: result: *** NOT Going to install GOB ***" >&5
+ echo "$as_me:1240: result: *** NOT Going to install GOB ***" >&5
echo "${ECHO_T}*** NOT Going to install GOB ***" >&6
SUBDIRS="src examples"
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:1237: checking for $ac_word" >&5
+echo "$as_me:1259: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ac_cv_prog_CC="${ac_tool_prefix}gcc"
+echo "$as_me:1274: found $ac_dir/$ac_word" >&5
+break
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ echo "$as_me:1282: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+ echo "$as_me:1285: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo "$as_me:1294: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ac_cv_prog_ac_ct_CC="gcc"
+echo "$as_me:1309: found $ac_dir/$ac_word" >&5
+break
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ echo "$as_me:1317: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+ echo "$as_me:1320: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ CC=$ac_ct_CC
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+echo "$as_me:1333: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ac_cv_prog_CC="${ac_tool_prefix}cc"
+echo "$as_me:1348: found $ac_dir/$ac_word" >&5
+break
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ echo "$as_me:1356: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+ echo "$as_me:1359: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:1368: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ac_cv_prog_ac_ct_CC="cc"
+echo "$as_me:1383: found $ac_dir/$ac_word" >&5
+break
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ echo "$as_me:1391: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+ echo "$as_me:1394: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ CC=$ac_ct_CC
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:1407: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+fi
+ac_cv_prog_CC="cc"
+echo "$as_me:1427: found $ac_dir/$ac_word" >&5
+break
+done
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" ${1+"$@"}
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ echo "$as_me:1449: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+ echo "$as_me:1452: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:1463: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+echo "$as_me:1478: found $ac_dir/$ac_word" >&5
+break
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ echo "$as_me:1486: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+ echo "$as_me:1489: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:1502: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+ ac_save_IFS=$IFS; IFS=$ac_path_separator
+ac_dummy="$PATH"
+for ac_dir in $ac_dummy; do
+ IFS=$ac_save_IFS
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ac_cv_prog_ac_ct_CC="$ac_prog"
+echo "$as_me:1517: found $ac_dir/$ac_word" >&5
+break
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ echo "$as_me:1525: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+ echo "$as_me:1528: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$ac_ct_CC" && break
+done
+
+ CC=$ac_ct_CC
+fi
+
+fi
+
+test -z "$CC" && { { echo "$as_me:1540: error: no acceptable cc found in \$PATH" >&5
+echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:1545:" \
+ "checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:1548: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:1551: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (eval echo "$as_me:1553: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:1556: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (eval echo "$as_me:1558: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+ echo "$as_me:1561: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+#line 1565 "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+echo "$as_me:1581: checking for C compiler default output" >&5
+echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+if { (eval echo "$as_me:1584: \"$ac_link_default\"") >&5
+ (eval $ac_link_default) 2>&5
+ ac_status=$?
+ echo "$as_me:1587: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Find the output, starting from the most likely. This scheme is
+# not robust to junk in `.', hence go to wildcards (a.*) only as a last
+# resort.
+for ac_file in `ls a.exe conftest.exe 2>/dev/null;
+ ls a.out conftest 2>/dev/null;
+ ls a.* conftest.* 2>/dev/null`; do
+ case $ac_file in
+ *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;;
+ a.out ) # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ # FIXME: I believe we export ac_cv_exeext for Libtool --akim.
+ export ac_cv_exeext
+ break;;
+ * ) break;;
+ esac
+done
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+{ { echo "$as_me:1610: error: C compiler cannot create executables" >&5
+echo "$as_me: error: C compiler cannot create executables" >&2;}
+ { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+echo "$as_me:1616: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6
+
+# Check the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:1621: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+ { (eval echo "$as_me:1627: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:1630: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { echo "$as_me:1637: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+fi
+echo "$as_me:1645: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+rm -f a.out a.exe conftest$ac_cv_exeext
+ac_clean_files=$ac_clean_files_save
+# Check the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:1652: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+echo "$as_me:1654: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6
+
+echo "$as_me:1657: checking for executable suffix" >&5
+echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6
+if { (eval echo "$as_me:1659: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:1662: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do
+ case $ac_file in
+ *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ export ac_cv_exeext
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { echo "$as_me:1678: error: cannot compute EXEEXT: cannot compile and link" >&5
+echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+echo "$as_me:1684: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+echo "$as_me:1690: checking for object suffix" >&5
+echo $ECHO_N "checking for object suffix... $ECHO_C" >&6
+if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 1696 "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (eval echo "$as_me:1708: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:1711: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+{ { echo "$as_me:1723: error: cannot compute OBJEXT: cannot compile" >&5
+echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+echo "$as_me:1730: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+echo "$as_me:1734: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 1740 "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:1755: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:1758: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:1761: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:1764: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_compiler_gnu=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_compiler_gnu=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:1776: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+CFLAGS="-g"
+echo "$as_me:1782: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 1788 "configure"
+#include "confdefs.h"
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:1800: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:1803: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:1806: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:1809: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_prog_cc_g=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:1819: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+# Some people use a C++ compiler to compile C. Since we use `exit',
+# in C++ we need to declare it. In case someone uses the same compiler
+# for both compiling C and C++ we need to have the C++ compiler decide
+# the declaration of exit, since it's the most demanding environment.
+cat >conftest.$ac_ext <<_ACEOF
+#ifndef __cplusplus
+ choke me
+#endif
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:1846: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:1849: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:1852: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:1855: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+ ''\
+ '#include <stdlib.h>' \
+ 'extern "C" void std::exit (int) throw (); using std::exit;' \
+ 'extern "C" void std::exit (int); using std::exit;' \
+ 'extern "C" void exit (int) throw ();' \
+ 'extern "C" void exit (int);' \
+ 'void exit (int);'
+do
+ cat >conftest.$ac_ext <<_ACEOF
+#line 1867 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+$ac_declaration
+int
+main ()
+{
+exit (42);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:1880: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:1883: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:1886: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:1889: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+continue
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+#line 1899 "configure"
+#include "confdefs.h"
+$ac_declaration
+int
+main ()
+{
+exit (42);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:1911: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:1914: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:1917: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:1920: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+done
+rm -f conftest*
+if test -n "$ac_declaration"; then
+ echo '#ifdef __cplusplus' >>confdefs.h
+ echo $ac_declaration >>confdefs.h
+ echo '#endif' >>confdefs.h
+fi
+
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ echo "$as_me:1947: checking for strerror in -lcposix" >&5
+echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6
+if test "${ac_cv_lib_cposix_strerror+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcposix $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line 1955 "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char strerror ();
+int
+main ()
+{
+strerror ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:1974: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:1977: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:1980: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:1983: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_cposix_strerror=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_lib_cposix_strerror=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:1994: result: $ac_cv_lib_cposix_strerror" >&5
+echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6
+if test $ac_cv_lib_cposix_strerror = yes; then
+ LIBS="$LIBS -lcposix"
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+echo "$as_me:2008: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
$as_executable_p "$ac_dir/$ac_word" || continue
ac_cv_prog_CC="${ac_tool_prefix}gcc"
-echo "$as_me:1252: found $ac_dir/$ac_word" >&5
+echo "$as_me:2023: found $ac_dir/$ac_word" >&5
break
done
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:1260: result: $CC" >&5
+ echo "$as_me:2031: result: $CC" >&5
echo "${ECHO_T}$CC" >&6
else
- echo "$as_me:1263: result: no" >&5
+ echo "$as_me:2034: result: no" >&5
echo "${ECHO_T}no" >&6
fi
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-echo "$as_me:1272: checking for $ac_word" >&5
+echo "$as_me:2043: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
$as_executable_p "$ac_dir/$ac_word" || continue
ac_cv_prog_ac_ct_CC="gcc"
-echo "$as_me:1287: found $ac_dir/$ac_word" >&5
+echo "$as_me:2058: found $ac_dir/$ac_word" >&5
break
done
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:1295: result: $ac_ct_CC" >&5
+ echo "$as_me:2066: result: $ac_ct_CC" >&5
echo "${ECHO_T}$ac_ct_CC" >&6
else
- echo "$as_me:1298: result: no" >&5
+ echo "$as_me:2069: result: no" >&5
echo "${ECHO_T}no" >&6
fi
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:1311: checking for $ac_word" >&5
+echo "$as_me:2082: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
$as_executable_p "$ac_dir/$ac_word" || continue
ac_cv_prog_CC="${ac_tool_prefix}cc"
-echo "$as_me:1326: found $ac_dir/$ac_word" >&5
+echo "$as_me:2097: found $ac_dir/$ac_word" >&5
break
done
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:1334: result: $CC" >&5
+ echo "$as_me:2105: result: $CC" >&5
echo "${ECHO_T}$CC" >&6
else
- echo "$as_me:1337: result: no" >&5
+ echo "$as_me:2108: result: no" >&5
echo "${ECHO_T}no" >&6
fi
ac_ct_CC=$CC
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-echo "$as_me:1346: checking for $ac_word" >&5
+echo "$as_me:2117: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
$as_executable_p "$ac_dir/$ac_word" || continue
ac_cv_prog_ac_ct_CC="cc"
-echo "$as_me:1361: found $ac_dir/$ac_word" >&5
+echo "$as_me:2132: found $ac_dir/$ac_word" >&5
break
done
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:1369: result: $ac_ct_CC" >&5
+ echo "$as_me:2140: result: $ac_ct_CC" >&5
echo "${ECHO_T}$ac_ct_CC" >&6
else
- echo "$as_me:1372: result: no" >&5
+ echo "$as_me:2143: result: no" >&5
echo "${ECHO_T}no" >&6
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-echo "$as_me:1385: checking for $ac_word" >&5
+echo "$as_me:2156: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
continue
fi
ac_cv_prog_CC="cc"
-echo "$as_me:1405: found $ac_dir/$ac_word" >&5
+echo "$as_me:2176: found $ac_dir/$ac_word" >&5
break
done
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:1427: result: $CC" >&5
+ echo "$as_me:2198: result: $CC" >&5
echo "${ECHO_T}$CC" >&6
else
- echo "$as_me:1430: result: no" >&5
+ echo "$as_me:2201: result: no" >&5
echo "${ECHO_T}no" >&6
fi
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:1441: checking for $ac_word" >&5
+echo "$as_me:2212: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
$as_executable_p "$ac_dir/$ac_word" || continue
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-echo "$as_me:1456: found $ac_dir/$ac_word" >&5
+echo "$as_me:2227: found $ac_dir/$ac_word" >&5
break
done
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- echo "$as_me:1464: result: $CC" >&5
+ echo "$as_me:2235: result: $CC" >&5
echo "${ECHO_T}$CC" >&6
else
- echo "$as_me:1467: result: no" >&5
+ echo "$as_me:2238: result: no" >&5
echo "${ECHO_T}no" >&6
fi
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:1480: checking for $ac_word" >&5
+echo "$as_me:2251: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
$as_executable_p "$ac_dir/$ac_word" || continue
ac_cv_prog_ac_ct_CC="$ac_prog"
-echo "$as_me:1495: found $ac_dir/$ac_word" >&5
+echo "$as_me:2266: found $ac_dir/$ac_word" >&5
break
done
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
- echo "$as_me:1503: result: $ac_ct_CC" >&5
+ echo "$as_me:2274: result: $ac_ct_CC" >&5
echo "${ECHO_T}$ac_ct_CC" >&6
else
- echo "$as_me:1506: result: no" >&5
+ echo "$as_me:2277: result: no" >&5
echo "${ECHO_T}no" >&6
fi
fi
-test -z "$CC" && { { echo "$as_me:1518: error: no acceptable cc found in \$PATH" >&5
+test -z "$CC" && { { echo "$as_me:2289: error: no acceptable cc found in \$PATH" >&5
echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
{ (exit 1); exit 1; }; }
# Provide some information about the compiler.
-echo "$as_me:1523:" \
+echo "$as_me:2294:" \
"checking for C compiler version" >&5
ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:1526: \"$ac_compiler --version </dev/null >&5\"") >&5
+{ (eval echo "$as_me:2297: \"$ac_compiler --version </dev/null >&5\"") >&5
(eval $ac_compiler --version </dev/null >&5) 2>&5
ac_status=$?
- echo "$as_me:1529: \$? = $ac_status" >&5
+ echo "$as_me:2300: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:1531: \"$ac_compiler -v </dev/null >&5\"") >&5
+{ (eval echo "$as_me:2302: \"$ac_compiler -v </dev/null >&5\"") >&5
(eval $ac_compiler -v </dev/null >&5) 2>&5
ac_status=$?
- echo "$as_me:1534: \$? = $ac_status" >&5
+ echo "$as_me:2305: \$? = $ac_status" >&5
(exit $ac_status); }
-{ (eval echo "$as_me:1536: \"$ac_compiler -V </dev/null >&5\"") >&5
+{ (eval echo "$as_me:2307: \"$ac_compiler -V </dev/null >&5\"") >&5
(eval $ac_compiler -V </dev/null >&5) 2>&5
ac_status=$?
- echo "$as_me:1539: \$? = $ac_status" >&5
+ echo "$as_me:2310: \$? = $ac_status" >&5
(exit $ac_status); }
-cat >conftest.$ac_ext <<_ACEOF
-#line 1543 "configure"
-#include "confdefs.h"
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-echo "$as_me:1559: checking for C compiler default output" >&5
-echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:1562: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
- ac_status=$?
- echo "$as_me:1565: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-for ac_file in `ls a.exe conftest.exe 2>/dev/null;
- ls a.out conftest 2>/dev/null;
- ls a.* conftest.* 2>/dev/null`; do
- case $ac_file in
- *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;;
- a.out ) # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool --akim.
- export ac_cv_exeext
- break;;
- * ) break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-{ { echo "$as_me:1588: error: C compiler cannot create executables" >&5
-echo "$as_me: error: C compiler cannot create executables" >&2;}
- { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-echo "$as_me:1594: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:1599: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (eval echo "$as_me:1605: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:1608: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { echo "$as_me:1615: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'." >&5
-echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'." >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-fi
-echo "$as_me:1623: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-rm -f a.out a.exe conftest$ac_cv_exeext
-ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:1630: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:1632: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:1635: checking for executable suffix" >&5
-echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6
-if { (eval echo "$as_me:1637: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:1640: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do
- case $ac_file in
- *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
- break;;
- * ) break;;
- esac
-done
-else
- { { echo "$as_me:1656: error: cannot compute EXEEXT: cannot compile and link" >&5
-echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-echo "$as_me:1662: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-echo "$as_me:1668: checking for object suffix" >&5
-echo $ECHO_N "checking for object suffix... $ECHO_C" >&6
-if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-#line 1674 "configure"
-#include "confdefs.h"
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:1686: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:1689: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-{ { echo "$as_me:1701: error: cannot compute OBJEXT: cannot compile" >&5
-echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-echo "$as_me:1708: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-echo "$as_me:1712: checking whether we are using the GNU C compiler" >&5
+echo "$as_me:2313: checking whether we are using the GNU C compiler" >&5
echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
if test "${ac_cv_c_compiler_gnu+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line 1718 "configure"
+#line 2319 "configure"
#include "confdefs.h"
int
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:1733: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:2334: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:1736: \$? = $ac_status" >&5
+ echo "$as_me:2337: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:1739: \"$ac_try\"") >&5
+ { (eval echo "$as_me:2340: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:1742: \$? = $ac_status" >&5
+ echo "$as_me:2343: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_compiler_gnu=yes
else
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
-echo "$as_me:1754: result: $ac_cv_c_compiler_gnu" >&5
+echo "$as_me:2355: result: $ac_cv_c_compiler_gnu" >&5
echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
GCC=`test $ac_compiler_gnu = yes && echo yes`
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
CFLAGS="-g"
-echo "$as_me:1760: checking whether $CC accepts -g" >&5
+echo "$as_me:2361: checking whether $CC accepts -g" >&5
echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
if test "${ac_cv_prog_cc_g+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line 1766 "configure"
+#line 2367 "configure"
#include "confdefs.h"
int
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:1778: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:2379: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:1781: \$? = $ac_status" >&5
+ echo "$as_me:2382: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:1784: \"$ac_try\"") >&5
+ { (eval echo "$as_me:2385: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:1787: \$? = $ac_status" >&5
+ echo "$as_me:2388: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_prog_cc_g=yes
else
fi
rm -f conftest.$ac_objext conftest.$ac_ext
fi
-echo "$as_me:1797: result: $ac_cv_prog_cc_g" >&5
+echo "$as_me:2398: result: $ac_cv_prog_cc_g" >&5
echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
#endif
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:1824: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:2425: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:1827: \$? = $ac_status" >&5
+ echo "$as_me:2428: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:1830: \"$ac_try\"") >&5
+ { (eval echo "$as_me:2431: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:1833: \$? = $ac_status" >&5
+ echo "$as_me:2434: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
for ac_declaration in \
''\
'void exit (int);'
do
cat >conftest.$ac_ext <<_ACEOF
-#line 1845 "configure"
+#line 2446 "configure"
#include "confdefs.h"
#include <stdlib.h>
$ac_declaration
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:1858: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:2459: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:1861: \$? = $ac_status" >&5
+ echo "$as_me:2462: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:1864: \"$ac_try\"") >&5
+ { (eval echo "$as_me:2465: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:1867: \$? = $ac_status" >&5
+ echo "$as_me:2468: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
:
else
fi
rm -f conftest.$ac_objext conftest.$ac_ext
cat >conftest.$ac_ext <<_ACEOF
-#line 1877 "configure"
+#line 2478 "configure"
#include "confdefs.h"
$ac_declaration
int
}
_ACEOF
rm -f conftest.$ac_objext
-if { (eval echo "$as_me:1889: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:2490: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:1892: \$? = $ac_status" >&5
+ echo "$as_me:2493: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:1895: \"$ac_try\"") >&5
+ { (eval echo "$as_me:2496: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:1898: \$? = $ac_status" >&5
+ echo "$as_me:2499: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
break
else
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:1930: checking how to run the C preprocessor" >&5
+echo "$as_me:2531: checking how to run the C preprocessor" >&5
echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat >conftest.$ac_ext <<_ACEOF
-#line 1951 "configure"
+#line 2552 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax error
_ACEOF
-if { (eval echo "$as_me:1956: \"$ac_cpp conftest.$ac_ext\"") >&5
+if { (eval echo "$as_me:2557: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
ac_status=$?
egrep -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:1962: \$? = $ac_status" >&5
+ echo "$as_me:2563: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
# OK, works on sane cases. Now check whether non-existent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
-#line 1985 "configure"
+#line 2586 "configure"
#include "confdefs.h"
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:1989: \"$ac_cpp conftest.$ac_ext\"") >&5
+if { (eval echo "$as_me:2590: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
ac_status=$?
egrep -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:1995: \$? = $ac_status" >&5
+ echo "$as_me:2596: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
else
ac_cv_prog_CPP=$CPP
fi
-echo "$as_me:2032: result: $CPP" >&5
+echo "$as_me:2633: result: $CPP" >&5
echo "${ECHO_T}$CPP" >&6
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat >conftest.$ac_ext <<_ACEOF
-#line 2042 "configure"
+#line 2643 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax error
_ACEOF
-if { (eval echo "$as_me:2047: \"$ac_cpp conftest.$ac_ext\"") >&5
+if { (eval echo "$as_me:2648: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
ac_status=$?
egrep -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:2053: \$? = $ac_status" >&5
+ echo "$as_me:2654: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
# OK, works on sane cases. Now check whether non-existent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
-#line 2076 "configure"
+#line 2677 "configure"
#include "confdefs.h"
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:2080: \"$ac_cpp conftest.$ac_ext\"") >&5
+if { (eval echo "$as_me:2681: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
ac_status=$?
egrep -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:2086: \$? = $ac_status" >&5
+ echo "$as_me:2687: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
if $ac_preproc_ok; then
:
else
- { { echo "$as_me:2114: error: C preprocessor \"$CPP\" fails sanity check" >&5
+ { { echo "$as_me:2715: error: C preprocessor \"$CPP\" fails sanity check" >&5
echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
{ (exit 1); exit 1; }; }
fi
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:2125: checking for ANSI C header files" >&5
+echo "$as_me:2726: checking for ANSI C header files" >&5
echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
if test "${ac_cv_header_stdc+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
-#line 2131 "configure"
+#line 2732 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <float.h>
_ACEOF
-if { (eval echo "$as_me:2139: \"$ac_cpp conftest.$ac_ext\"") >&5
+if { (eval echo "$as_me:2740: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
ac_status=$?
egrep -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:2145: \$? = $ac_status" >&5
+ echo "$as_me:2746: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat >conftest.$ac_ext <<_ACEOF
-#line 2167 "configure"
+#line 2768 "configure"
#include "confdefs.h"
#include <string.h>
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat >conftest.$ac_ext <<_ACEOF
-#line 2185 "configure"
+#line 2786 "configure"
#include "confdefs.h"
#include <stdlib.h>
:
else
cat >conftest.$ac_ext <<_ACEOF
-#line 2206 "configure"
+#line 2807 "configure"
#include "confdefs.h"
#include <ctype.h>
#if ((' ' & 0x0FF) == 0x020)
}
_ACEOF
rm -f conftest$ac_exeext
-if { (eval echo "$as_me:2232: \"$ac_link\"") >&5
+if { (eval echo "$as_me:2833: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:2235: \$? = $ac_status" >&5
+ echo "$as_me:2836: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:2237: \"$ac_try\"") >&5
+ { (eval echo "$as_me:2838: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:2240: \$? = $ac_status" >&5
+ echo "$as_me:2841: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
:
else
fi
fi
fi
-echo "$as_me:2253: result: $ac_cv_header_stdc" >&5
+echo "$as_me:2854: result: $ac_cv_header_stdc" >&5
echo "${ECHO_T}$ac_cv_header_stdc" >&6
if test $ac_cv_header_stdc = yes; then
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:2267: checking for $ac_word" >&5
+echo "$as_me:2868: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_YACC+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
$as_executable_p "$ac_dir/$ac_word" || continue
ac_cv_prog_YACC="$ac_prog"
-echo "$as_me:2282: found $ac_dir/$ac_word" >&5
+echo "$as_me:2883: found $ac_dir/$ac_word" >&5
break
done
fi
YACC=$ac_cv_prog_YACC
if test -n "$YACC"; then
- echo "$as_me:2290: result: $YACC" >&5
+ echo "$as_me:2891: result: $YACC" >&5
echo "${ECHO_T}$YACC" >&6
else
- echo "$as_me:2293: result: no" >&5
+ echo "$as_me:2894: result: no" >&5
echo "${ECHO_T}no" >&6
fi
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:2306: checking for $ac_word" >&5
+echo "$as_me:2907: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_LEX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
$as_executable_p "$ac_dir/$ac_word" || continue
ac_cv_prog_LEX="$ac_prog"
-echo "$as_me:2321: found $ac_dir/$ac_word" >&5
+echo "$as_me:2922: found $ac_dir/$ac_word" >&5
break
done
fi
LEX=$ac_cv_prog_LEX
if test -n "$LEX"; then
- echo "$as_me:2329: result: $LEX" >&5
+ echo "$as_me:2930: result: $LEX" >&5
echo "${ECHO_T}$LEX" >&6
else
- echo "$as_me:2332: result: no" >&5
+ echo "$as_me:2933: result: no" >&5
echo "${ECHO_T}no" >&6
fi
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:2344: checking for $ac_word" >&5
+echo "$as_me:2945: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_LEX+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
$as_executable_p "$ac_dir/$ac_word" || continue
ac_cv_prog_LEX="$ac_prog"
-echo "$as_me:2359: found $ac_dir/$ac_word" >&5
+echo "$as_me:2960: found $ac_dir/$ac_word" >&5
break
done
fi
LEX=$ac_cv_prog_LEX
if test -n "$LEX"; then
- echo "$as_me:2367: result: $LEX" >&5
+ echo "$as_me:2968: result: $LEX" >&5
echo "${ECHO_T}$LEX" >&6
else
- echo "$as_me:2370: result: no" >&5
+ echo "$as_me:2971: result: no" >&5
echo "${ECHO_T}no" >&6
fi
if test -z "$LEXLIB"
then
- echo "$as_me:2380: checking for yywrap in -lfl" >&5
+ echo "$as_me:2981: checking for yywrap in -lfl" >&5
echo $ECHO_N "checking for yywrap in -lfl... $ECHO_C" >&6
if test "${ac_cv_lib_fl_yywrap+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-lfl $LIBS"
cat >conftest.$ac_ext <<_ACEOF
-#line 2388 "configure"
+#line 2989 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:2407: \"$ac_link\"") >&5
+if { (eval echo "$as_me:3008: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:2410: \$? = $ac_status" >&5
+ echo "$as_me:3011: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:2413: \"$ac_try\"") >&5
+ { (eval echo "$as_me:3014: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:2416: \$? = $ac_status" >&5
+ echo "$as_me:3017: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_lib_fl_yywrap=yes
else
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:2427: result: $ac_cv_lib_fl_yywrap" >&5
+echo "$as_me:3028: result: $ac_cv_lib_fl_yywrap" >&5
echo "${ECHO_T}$ac_cv_lib_fl_yywrap" >&6
if test $ac_cv_lib_fl_yywrap = yes; then
LEXLIB="-lfl"
else
- echo "$as_me:2432: checking for yywrap in -ll" >&5
+ echo "$as_me:3033: checking for yywrap in -ll" >&5
echo $ECHO_N "checking for yywrap in -ll... $ECHO_C" >&6
if test "${ac_cv_lib_l_yywrap+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-ll $LIBS"
cat >conftest.$ac_ext <<_ACEOF
-#line 2440 "configure"
+#line 3041 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:2459: \"$ac_link\"") >&5
+if { (eval echo "$as_me:3060: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:2462: \$? = $ac_status" >&5
+ echo "$as_me:3063: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:2465: \"$ac_try\"") >&5
+ { (eval echo "$as_me:3066: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:2468: \$? = $ac_status" >&5
+ echo "$as_me:3069: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_lib_l_yywrap=yes
else
rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:2479: result: $ac_cv_lib_l_yywrap" >&5
+echo "$as_me:3080: result: $ac_cv_lib_l_yywrap" >&5
echo "${ECHO_T}$ac_cv_lib_l_yywrap" >&6
if test $ac_cv_lib_l_yywrap = yes; then
LEXLIB="-ll"
fi
if test "x$LEX" != "x:"; then
- echo "$as_me:2490: checking lex output file root" >&5
+ echo "$as_me:3091: checking lex output file root" >&5
echo $ECHO_N "checking lex output file root... $ECHO_C" >&6
if test "${ac_cv_prog_lex_root+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
elif test -f lexyy.c; then
ac_cv_prog_lex_root=lexyy
else
- { { echo "$as_me:2504: error: cannot find output from $LEX; giving up" >&5
+ { { echo "$as_me:3105: error: cannot find output from $LEX; giving up" >&5
echo "$as_me: error: cannot find output from $LEX; giving up" >&2;}
{ (exit 1); exit 1; }; }
fi
fi
-echo "$as_me:2509: result: $ac_cv_prog_lex_root" >&5
+echo "$as_me:3110: result: $ac_cv_prog_lex_root" >&5
echo "${ECHO_T}$ac_cv_prog_lex_root" >&6
LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
-echo "$as_me:2513: checking whether yytext is a pointer" >&5
+echo "$as_me:3114: checking whether yytext is a pointer" >&5
echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6
if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
`cat $LEX_OUTPUT_ROOT.c`
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:2529: \"$ac_link\"") >&5
+if { (eval echo "$as_me:3130: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:2532: \$? = $ac_status" >&5
+ echo "$as_me:3133: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:2535: \"$ac_try\"") >&5
+ { (eval echo "$as_me:3136: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:2538: \$? = $ac_status" >&5
+ echo "$as_me:3139: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_prog_lex_yytext_pointer=yes
else
rm -f "${LEX_OUTPUT_ROOT}.c"
fi
-echo "$as_me:2550: result: $ac_cv_prog_lex_yytext_pointer" >&5
+echo "$as_me:3151: result: $ac_cv_prog_lex_yytext_pointer" >&5
echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6
if test $ac_cv_prog_lex_yytext_pointer = yes; then
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:2574: checking for a BSD compatible install" >&5
+echo "$as_me:3175: checking for a BSD compatible install" >&5
echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6
if test -z "$INSTALL"; then
if test "${ac_cv_path_install+set}" = set; then
INSTALL=$ac_install_sh
fi
fi
-echo "$as_me:2623: result: $INSTALL" >&5
+echo "$as_me:3224: result: $INSTALL" >&5
echo "${ECHO_T}$INSTALL" >&6
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:2639: checking how to run the C preprocessor" >&5
+echo "$as_me:3240: checking how to run the C preprocessor" >&5
echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat >conftest.$ac_ext <<_ACEOF
-#line 2660 "configure"
+#line 3261 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax error
_ACEOF
-if { (eval echo "$as_me:2665: \"$ac_cpp conftest.$ac_ext\"") >&5
+if { (eval echo "$as_me:3266: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
ac_status=$?
egrep -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:2671: \$? = $ac_status" >&5
+ echo "$as_me:3272: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
# OK, works on sane cases. Now check whether non-existent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
-#line 2694 "configure"
+#line 3295 "configure"
#include "confdefs.h"
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:2698: \"$ac_cpp conftest.$ac_ext\"") >&5
+if { (eval echo "$as_me:3299: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
ac_status=$?
egrep -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:2704: \$? = $ac_status" >&5
+ echo "$as_me:3305: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
else
ac_cv_prog_CPP=$CPP
fi
-echo "$as_me:2741: result: $CPP" >&5
+echo "$as_me:3342: result: $CPP" >&5
echo "${ECHO_T}$CPP" >&6
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat >conftest.$ac_ext <<_ACEOF
-#line 2751 "configure"
+#line 3352 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax error
_ACEOF
-if { (eval echo "$as_me:2756: \"$ac_cpp conftest.$ac_ext\"") >&5
+if { (eval echo "$as_me:3357: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
ac_status=$?
egrep -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:2762: \$? = $ac_status" >&5
+ echo "$as_me:3363: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
# OK, works on sane cases. Now check whether non-existent headers
# can be detected and how.
cat >conftest.$ac_ext <<_ACEOF
-#line 2785 "configure"
+#line 3386 "configure"
#include "confdefs.h"
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:2789: \"$ac_cpp conftest.$ac_ext\"") >&5
+if { (eval echo "$as_me:3390: \"$ac_cpp conftest.$ac_ext\"") >&5
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
ac_status=$?
egrep -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:2795: \$? = $ac_status" >&5
+ echo "$as_me:3396: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
if $ac_preproc_ok; then
:
else
- { { echo "$as_me:2823: error: C preprocessor \"$CPP\" fails sanity check" >&5
+ { { echo "$as_me:3424: error: C preprocessor \"$CPP\" fails sanity check" >&5
echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
{ (exit 1); exit 1; }; }
fi
# Extract the first word of "rm", so it can be a program name with args.
set dummy rm; ac_word=$2
-echo "$as_me:2836: checking for $ac_word" >&5
+echo "$as_me:3437: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_path_RM+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
if $as_executable_p "$ac_dir/$ac_word"; then
ac_cv_path_RM="$ac_dir/$ac_word"
- echo "$as_me:2853: found $ac_dir/$ac_word" >&5
+ echo "$as_me:3454: found $ac_dir/$ac_word" >&5
break
fi
done
RM=$ac_cv_path_RM
if test -n "$RM"; then
- echo "$as_me:2865: result: $RM" >&5
+ echo "$as_me:3466: result: $RM" >&5
echo "${ECHO_T}$RM" >&6
else
- echo "$as_me:2868: result: no" >&5
+ echo "$as_me:3469: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Extract the first word of "mv", so it can be a program name with args.
set dummy mv; ac_word=$2
-echo "$as_me:2874: checking for $ac_word" >&5
+echo "$as_me:3475: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_path_MV+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
if $as_executable_p "$ac_dir/$ac_word"; then
ac_cv_path_MV="$ac_dir/$ac_word"
- echo "$as_me:2891: found $ac_dir/$ac_word" >&5
+ echo "$as_me:3492: found $ac_dir/$ac_word" >&5
break
fi
done
MV=$ac_cv_path_MV
if test -n "$MV"; then
- echo "$as_me:2903: result: $MV" >&5
+ echo "$as_me:3504: result: $MV" >&5
echo "${ECHO_T}$MV" >&6
else
- echo "$as_me:2906: result: no" >&5
+ echo "$as_me:3507: result: no" >&5
echo "${ECHO_T}no" >&6
fi
# Extract the first word of "tar", so it can be a program name with args.
set dummy tar; ac_word=$2
-echo "$as_me:2912: checking for $ac_word" >&5
+echo "$as_me:3513: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_path_TAR+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
if $as_executable_p "$ac_dir/$ac_word"; then
ac_cv_path_TAR="$ac_dir/$ac_word"
- echo "$as_me:2929: found $ac_dir/$ac_word" >&5
+ echo "$as_me:3530: found $ac_dir/$ac_word" >&5
break
fi
done
TAR=$ac_cv_path_TAR
if test -n "$TAR"; then
- echo "$as_me:2941: result: $TAR" >&5
+ echo "$as_me:3542: result: $TAR" >&5
echo "${ECHO_T}$TAR" >&6
else
- echo "$as_me:2944: result: no" >&5
+ echo "$as_me:3545: result: no" >&5
echo "${ECHO_T}no" >&6
fi
-# Check whether --enable-glibtest or --disable-glibtest was given.
-if test "${enable_glibtest+set}" = set; then
- enableval="$enable_glibtest"
-
-else
- enable_glibtest=yes
-fi;
-
- pkg_config_args=glib-2.0
- for module in .
- do
- case "$module" in
- gmodule)
- pkg_config_args="$pkg_config_args gmodule-2.0"
- ;;
- gobject)
- pkg_config_args="$pkg_config_args gobject-2.0"
- ;;
- gthread)
- pkg_config_args="$pkg_config_args gthread-2.0"
- ;;
- esac
- done
+ succeeded=no
- # Extract the first word of "pkg-config", so it can be a program name with args.
+ if test -z "$PKG_CONFIG"; then
+ # Extract the first word of "pkg-config", so it can be a program name with args.
set dummy pkg-config; ac_word=$2
-echo "$as_me:2974: checking for $ac_word" >&5
+echo "$as_me:3554: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
if $as_executable_p "$ac_dir/$ac_word"; then
ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word"
- echo "$as_me:2991: found $ac_dir/$ac_word" >&5
+ echo "$as_me:3571: found $ac_dir/$ac_word" >&5
break
fi
done
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
if test -n "$PKG_CONFIG"; then
- echo "$as_me:3003: result: $PKG_CONFIG" >&5
+ echo "$as_me:3583: result: $PKG_CONFIG" >&5
echo "${ECHO_T}$PKG_CONFIG" >&6
else
- echo "$as_me:3006: result: no" >&5
+ echo "$as_me:3586: result: no" >&5
echo "${ECHO_T}no" >&6
fi
- no_glib=""
-
- if test x$PKG_CONFIG != xno ; then
- if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
- :
- else
- echo *** pkg-config too old; version 0.7 or better required.
- no_glib=yes
- PKG_CONFIG=no
- fi
- fi
-
- ## don't try to run the test against uninstalled libtool libs
- if $PKG_CONFIG --uninstalled $pkg_config_args; then
- echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH"
- enable_glibtest=no
- fi
-
- min_glib_version=1.3.3
- echo "$as_me:3029: checking for GLIB - version >= $min_glib_version" >&5
-echo $ECHO_N "checking for GLIB - version >= $min_glib_version... $ECHO_C" >&6
-
- if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then
- :
- else
- no_glib = yes
fi
- if test x"$no_glib" = x ; then
- GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
- GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0`
- GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
-
- GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args`
- GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args`
- glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \
- sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
- glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \
- sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
- glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \
- sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
- if test "x$enable_glibtest" = "xyes" ; then
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $GLIB_CFLAGS"
- LIBS="$GLIB_LIBS $LIBS"
- rm -f conf.glibtest
- if test "$cross_compiling" = yes; then
- echo $ac_n "cross compiling; assumed OK... $ac_c"
-else
- cat >conftest.$ac_ext <<_ACEOF
-#line 3061 "configure"
-#include "confdefs.h"
-
-#include <glib.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main ()
-{
- int major, minor, micro;
- char *tmp_version;
-
- system ("touch conf.glibtest");
-
- /* HP/UX 9 (%@#!) writes to sscanf strings */
- tmp_version = g_strdup("$min_glib_version");
- if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
- printf("%s, bad version string\n", "$min_glib_version");
- exit(1);
- }
-
- if ((glib_major_version != $glib_config_major_version) ||
- (glib_minor_version != $glib_config_minor_version) ||
- (glib_micro_version != $glib_config_micro_version))
- {
- printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but GLIB (%d.%d.%d)\n",
- $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version,
- glib_major_version, glib_minor_version, glib_micro_version);
- printf ("*** was found! If pkg-config was correct, then it is best\n");
- printf ("*** to remove the old version of GLib. You may also be able to fix the error\n");
- printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
- printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
- printf("*** required on your system.\n");
- printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
- printf("*** to point to the correct configuration files\n");
- }
- else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
- (glib_minor_version != GLIB_MINOR_VERSION) ||
- (glib_micro_version != GLIB_MICRO_VERSION))
- {
- printf("*** GLIB header files (version %d.%d.%d) do not match\n",
- GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
- printf("*** library (version %d.%d.%d)\n",
- glib_major_version, glib_minor_version, glib_micro_version);
- }
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
else
- {
- if ((glib_major_version > major) ||
- ((glib_major_version == major) && (glib_minor_version > minor)) ||
- ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
- {
- return 0;
- }
+ if ! $PKG_CONFIG --atleast-pkgconfig-version 0.7.0; then
+ echo "*** Your version of pkg-config is too old. You need version 0.7.0 or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
else
- {
- printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n",
- glib_major_version, glib_minor_version, glib_micro_version);
- printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n",
- major, minor, micro);
- printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
- printf("***\n");
- printf("*** If you have already installed a sufficiently new version, this error\n");
- printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
- printf("*** being found. The easiest way to fix this is to remove the old version\n");
- printf("*** of GLIB, but you can also set the PKG_CONFIG environment to point to the\n");
- printf("*** correct copy of pkg-config. (In this case, you will have to\n");
- printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
- printf("*** so that the correct libraries are found at run-time))\n");
- }
- }
- return 1;
-}
+ echo "$as_me:3602: checking for glib-2.0 >= $GLIB_REQUIRED" >&5
+echo $ECHO_N "checking for glib-2.0 >= $GLIB_REQUIRED... $ECHO_C" >&6
+
+ if $PKG_CONFIG --exists "glib-2.0 >= $GLIB_REQUIRED" ; then
+ echo "$as_me:3606: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ succeeded=yes
+
+ echo "$as_me:3610: checking GLIB_CFLAGS" >&5
+echo $ECHO_N "checking GLIB_CFLAGS... $ECHO_C" >&6
+ GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= $GLIB_REQUIRED"`
+ echo "$as_me:3613: result: $GLIB_CFLAGS" >&5
+echo "${ECHO_T}$GLIB_CFLAGS" >&6
+
+ echo "$as_me:3616: checking GLIB_LIBS" >&5
+echo $ECHO_N "checking GLIB_LIBS... $ECHO_C" >&6
+ GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= $GLIB_REQUIRED"`
+ echo "$as_me:3619: result: $GLIB_LIBS" >&5
+echo "${ECHO_T}$GLIB_LIBS" >&6
+ else
+ GLIB_CFLAGS=""
+ GLIB_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ GLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0 >= $GLIB_REQUIRED"`
+ echo $GLIB_PKG_ERRORS
+ fi
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:3137: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:3140: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:3142: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:3145: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-no_glib=yes
-fi
-rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
fi
fi
- if test "x$no_glib" = x ; then
- echo "$as_me:3161: result: yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)" >&5
-echo "${ECHO_T}yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)" >&6
- :
- else
- echo "$as_me:3165: result: no" >&5
-echo "${ECHO_T}no" >&6
- if test "$PKG_CONFIG" = "no" ; then
- echo "*** A new enough version of pkg-config was not found."
- echo "*** See http://www.freedesktop.org/software/pkgconfig/"
- else
- if test -f conf.glibtest ; then
- :
- else
- echo "*** Could not run GLIB test program, checking why..."
- CFLAGS="$CFLAGS $GLIB_CFLAGS"
- LIBS="$LIBS $GLIB_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-#line 3178 "configure"
-#include "confdefs.h"
-#include <glib.h>
-#include <stdio.h>
-
-int
-main ()
-{
- return ((glib_major_version) || (glib_minor_version) || (glib_micro_version));
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:3193: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:3196: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:3199: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:3202: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- echo "*** The test program compiled, but did not run. This usually means"
- echo "*** that the run-time linker is not finding GLIB or finding the wrong"
- echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
- echo "*** to the installed location Also, make sure you have run ldconfig if that"
- echo "*** is required on your system"
- echo "***"
- echo "*** If you have an old version installed, it is best to remove it, although"
- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
- echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means GLIB was incorrectly installed"
- echo "*** or that you have moved GLIB since it was installed. In the latter case, you"
- echo "*** may want to edit the pkg-config script: $PKG_CONFIG"
-fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
- GLIB_CFLAGS=""
- GLIB_LIBS=""
- GLIB_GENMARSHAL=""
- GOBJECT_QUERY=""
- GLIB_MKENUMS=""
+ if test $succeeded = yes; then
:
+ else
+ { { echo "$as_me:3636: error: Library requirements (glib-2.0 >= $GLIB_REQUIRED) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
+echo "$as_me: error: Library requirements (glib-2.0 >= $GLIB_REQUIRED) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
+ { (exit 1); exit 1; }; }
fi
- rm -f conf.glibtest
-
-echo "$as_me:3236: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
- enableval="$enable_maintainer_mode"
- USE_MAINTAINER_MODE=$enableval
-else
- USE_MAINTAINER_MODE=no
-fi;
- echo "$as_me:3245: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
-
-if test $USE_MAINTAINER_MODE = yes; then
- MAINTAINER_MODE_TRUE=
- MAINTAINER_MODE_FALSE='#'
-else
- MAINTAINER_MODE_TRUE='#'
- MAINTAINER_MODE_FALSE=
-fi
- MAINT=$MAINTAINER_MODE_TRUE
-
ac_config_files="$ac_config_files gob2.spec Makefile src/Makefile doc/Makefile examples/Makefile doc/gob2.1"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
: ${CONFIG_STATUS=./config.status}
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:3337: creating $CONFIG_STATUS" >&5
+{ echo "$as_me:3721: creating $CONFIG_STATUS" >&5
echo "$as_me: creating $CONFIG_STATUS" >&6;}
cat >$CONFIG_STATUS <<_ACEOF
#! $SHELL
echo "$ac_cs_version"; exit 0 ;;
--he | --h)
# Conflict between --help and --header
- { { echo "$as_me:3513: error: ambiguous option: $1
+ { { echo "$as_me:3897: error: ambiguous option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: ambiguous option: $1
Try \`$0 --help' for more information." >&2;}
ac_need_defaults=false;;
# This is an error.
- -*) { { echo "$as_me:3532: error: unrecognized option: $1
+ -*) { { echo "$as_me:3916: error: unrecognized option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2;}
"doc/gob2.1" ) CONFIG_FILES="$CONFIG_FILES doc/gob2.1" ;;
"default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
"config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- *) { { echo "$as_me:3582: error: invalid argument: $ac_config_target" >&5
+ *) { { echo "$as_me:3966: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
s,@AUTOHEADER@,$AUTOHEADER,;t t
s,@MAKEINFO@,$MAKEINFO,;t t
s,@SET_MAKE@,$SET_MAKE,;t t
+s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
+s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
+s,@MAINT@,$MAINT,;t t
s,@SUBDIRS@,$SUBDIRS,;t t
s,@DOINSTGOB@,$DOINSTGOB,;t t
s,@NOINSTGOB@,$NOINSTGOB,;t t
s,@PKG_CONFIG@,$PKG_CONFIG,;t t
s,@GLIB_CFLAGS@,$GLIB_CFLAGS,;t t
s,@GLIB_LIBS@,$GLIB_LIBS,;t t
-s,@GLIB_GENMARSHAL@,$GLIB_GENMARSHAL,;t t
-s,@GOBJECT_QUERY@,$GOBJECT_QUERY,;t t
-s,@GLIB_MKENUMS@,$GLIB_MKENUMS,;t t
-s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
-s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
-s,@MAINT@,$MAINT,;t t
+s,@YFLAGS@,$YFLAGS,;t t
CEOF
EOF
esac
if test x"$ac_file" != x-; then
- { echo "$as_me:3816: creating $ac_file" >&5
+ { echo "$as_me:4198: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
rm -f "$ac_file"
fi
-) echo $tmp/stdin ;;
[\\/$]*)
# Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:3834: error: cannot find input file: $f" >&5
+ test -f "$f" || { { echo "$as_me:4216: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo $f;;
echo $srcdir/$f
else
# /dev/null tree
- { { echo "$as_me:3847: error: cannot find input file: $f" >&5
+ { { echo "$as_me:4229: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
fi;;
* ) ac_file_in=$ac_file.in ;;
esac
- test x"$ac_file" != x- && { echo "$as_me:3908: creating $ac_file" >&5
+ test x"$ac_file" != x- && { echo "$as_me:4290: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
# First look for the input files in the build tree, otherwise in the
-) echo $tmp/stdin ;;
[\\/$]*)
# Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:3919: error: cannot find input file: $f" >&5
+ test -f "$f" || { { echo "$as_me:4301: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo $f;;
echo $srcdir/$f
else
# /dev/null tree
- { { echo "$as_me:3932: error: cannot find input file: $f" >&5
+ { { echo "$as_me:4314: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
fi;;
rm -f $tmp/in
if test x"$ac_file" != x-; then
if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
- { echo "$as_me:4049: $ac_file is unchanged" >&5
+ { echo "$as_me:4431: $ac_file is unchanged" >&5
echo "$as_me: $ac_file is unchanged" >&6;}
else
ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
AC_PREREQ(2.2)
AC_INIT(src/treefuncs.h)
AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(gob2,1.99.1)
+AM_INIT_AUTOMAKE(gob2,1.99.2)
+AM_MAINTAINER_MODE
+
+GLIB_REQUIRED=1.3.12
dnl
dnl An utter hack to allow embedding of gob inside other packages.
AC_SUBST(NOINSTGOB)
dnl Checks for programs.
+AC_ISC_POSIX
AC_PROG_CC
AC_STDC_HEADERS
AC_PROG_YACC
AC_PATH_PROG(RM, rm, /bin/rm)
AC_PATH_PROG(MV, mv, /bin/mv)
AC_PATH_PROG(TAR, tar, /bin/tar)
-AM_PATH_GLIB_2_0(1.3.3,,,)
+PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
+AC_SUBST(GLIB_CFLAGS)
+AC_SUBST(GLIB_LIBS)
dnl We don't check popt since we're not using it at the moment, but
dnl We just might use it later
dnl AC_CHECK_LIB(popt,poptGetContext, [POPT_LIB="-lpopt"],
dnl AM_PROG_LIBTOOL
-AM_MAINTAINER_MODE
-
AC_SUBST(CFLAGS)
AC_SUBST(CPPFLAGS)
AC_SUBST(LDFLAGS)
+AC_SUBST(YFLAGS)
AC_OUTPUT([
gob2.spec
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
CPPFLAGS = @CPPFLAGS@
DOINSTGOB = @DOINSTGOB@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GOBJECT_QUERY = @GOBJECT_QUERY@
LDFLAGS = @LDFLAGS@
LEX = @LEX@
MAINT = @MAINT@
TAR = @TAR@
VERSION = @VERSION@
YACC = @YACC@
+YFLAGS = @YFLAGS@
man_MANS = gob2.1
SUBDIRS =
dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \
- test "$$subdir" = "." && dot_seen=yes; \
+ test "$$subdir" != "." || dot_seen=yes; \
done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \
target=`echo $@ | sed s/-recursive//`; \
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
CPPFLAGS = @CPPFLAGS@
DOINSTGOB = @DOINSTGOB@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GOBJECT_QUERY = @GOBJECT_QUERY@
LDFLAGS = @LDFLAGS@
LEX = @LEX@
MAINT = @MAINT@
TAR = @TAR@
VERSION = @VERSION@
YACC = @YACC@
+YFLAGS = @YFLAGS@
EXTRA_DIST = README gtk-button-count.gob my-person.gob my-person2.gob GNOME_Foo_SomeInterface.idl foo-some-interface.gob
dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \
- test "$$subdir" = "." && dot_seen=yes; \
+ test "$$subdir" != "." || dot_seen=yes; \
done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \
target=`echo $@ | sed s/-recursive//`; \
*
* see GNOME_Foo_SomeInterface.idl
*/
-requires 1.0.9
+requires 1.99.0
%{
/* some standard includes */
#include "foo-some-interface-private.h"
%}
-class Foo:Some:Interface from Bonobo:X:Object
- (BonoboX GNOME_Foo_SomeInterface)
+class Foo:Some:Interface from Bonobo:Object
+ (BonoboObject GNOME_Foo_SomeInterface)
{
- BonoboX
+ BonoboObject
private void
fooBar (PortableServer_Servant servant,
const CORBA_char *string,
g_r_ve=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
g_r_ma=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
g_r_mi=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- g_ve=`$GOB --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- g_ma=`$GOB --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- g_mi=`$GOB --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ g_ve=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ g_ma=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ g_mi=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test $g_ve -eq $g_r_ve; then
if test $g_ma -ge $g_r_ma; then
-%define ver 1.99.1
-%define rel SNAP
+%define ver 1.99.2
+%define rel 1
%define prefix /usr
Summary: GOB2, The GObject Builder
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 2001 Free Software Foundation, Inc.
# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
exit 1
fi
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.in; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
+
case "$1" in
-h|--h|--he|--hel|--help)
aclocal)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`acinclude.m4' or \`configure.in'. You might want
+ you modified \`acinclude.m4' or \`$configure_ac'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
autoconf)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`configure.in'. You might want to install the
+ you modified \`$configure_ac'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
autoheader)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`acconfig.h' or \`configure.in'. You might want
+ you modified \`acconfig.h' or \`$configure_ac'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' $configure_ac`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
automake)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
+ you modified \`Makefile.am', \`acinclude.m4' or \`$configure_ac'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
#YACCFLAGS += -d -t
-YFLAGS += -d -t
+YFLAGS = -d -t
SUBDIRS =
-CFLAGS += -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations
+CFLAGS = @CFLAGS@ \
+ -Wall \
+ -Wpointer-arith \
+ -Wmissing-prototypes \
+ -Wmissing-declarations
-INCLUDES = @GLIB_CFLAGS@ -I$(includedir)
+DEFS = @DEFS@ \
+ -DPKGDATADIR=\"$(pkgdatadir)\"
+
+INCLUDES = \
+ $(GLIB_CFLAGS) \
+ -I$(top_builddir) \
+ -I$(top_srcdir) \
+ -I$(includedir)
bin_PROGRAMS = @DOINSTGOB@
noinst_PROGRAMS = @NOINSTGOB@
# we might want popt back in the future
# @POPT_LIB@
-CLEANFILES += $(BUILT_SOURCES) test-object.* test-object-private.h
+CLEANFILES = @CLEANFILES@ $(BUILT_SOURCES) test-object.* test-object-private.h
EXTRA_DIST = $(BUILT_SOURCES) test.gob generate_treefuncs.pl treefuncs.def
test -f y.tab.h && mv -f y.tab.h parse.h
test: test-object.c test-object.h
- $(CC) -g -Wall `pkg-config --cflags gobject-2.0` -c test-object.c
+ $(CC) -g -Wall `pkg-config --cflags gobject-2.0 gtk+-2.0` -c test-object.c
test-object.c test-object.h: test.gob gob2
./gob2 test.gob
# can't depend on the header file as that would break the above rule
# since it's just for testing, who cares
testcpp: test-object.cc
- g++ -g -Wall `pkg-config --cflags gobject-2.0` -c test-object.cc
+ g++ -g -Wall `pkg-config --cflags gobject-2.0 gtk+-2.0` -c test-object.cc
test-object.cc: test.gob gob2
./gob2 --for-cpp test.gob
-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
CPPFLAGS = @CPPFLAGS@
DOINSTGOB = @DOINSTGOB@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GOBJECT_QUERY = @GOBJECT_QUERY@
LDFLAGS = @LDFLAGS@
LEX = @LEX@
MAINT = @MAINT@
VERSION = @VERSION@
YACC = @YACC@
-YFLAGS = -d -t
+YFLAGS = -d -t
SUBDIRS =
-CFLAGS = @CFLAGS@ -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations
+CFLAGS = @CFLAGS@ -Wall -Wpointer-arith -Wmissing-prototypes -Wmissing-declarations
+
+
+DEFS = @DEFS@ -DPKGDATADIR=\"$(pkgdatadir)\"
+
+
+INCLUDES = $(GLIB_CFLAGS) -I$(top_builddir) -I$(top_srcdir) -I$(includedir)
-INCLUDES = @GLIB_CFLAGS@ -I$(includedir)
bin_PROGRAMS = @DOINSTGOB@
noinst_PROGRAMS = @NOINSTGOB@
# we might want popt back in the future
# @POPT_LIB@
-CLEANFILES = $(BUILT_SOURCES) test-object.* test-object-private.h
+CLEANFILES = @CLEANFILES@ $(BUILT_SOURCES) test-object.* test-object-private.h
EXTRA_DIST = $(BUILT_SOURCES) test.gob generate_treefuncs.pl treefuncs.def
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES =
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I..
LIBS = @LIBS@
gob2_OBJECTS = main.o treefuncs.o out.o util.o checks.o parse.o lexer.o
gob2_DEPENDENCIES =
dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \
- test "$$subdir" = "." && dot_seen=yes; \
+ test "$$subdir" != "." || dot_seen=yes; \
done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \
target=`echo $@ | sed s/-recursive//`; \
|| exit 1; \
fi; \
done
+checks.o: checks.c ../config.h treefuncs.h main.h util.h checks.h
+lexer.o: lexer.c ../config.h treefuncs.h parse.h main.h util.h
+main.o: main.c ../config.h treefuncs.h parse.h out.h util.h checks.h \
+ main.h
+out.o: out.c main.h out.h
+parse.o: parse.c ../config.h treefuncs.h main.h util.h
+treefuncs.o: treefuncs.c treefuncs.h
+util.o: util.c ../config.h treefuncs.h main.h util.h
info-am:
info: info-recursive
test -f y.tab.h && mv -f y.tab.h parse.h
test: test-object.c test-object.h
- $(CC) -g -Wall `pkg-config --cflags gobject-2.0` -c test-object.c
+ $(CC) -g -Wall `pkg-config --cflags gobject-2.0 gtk+-2.0` -c test-object.c
test-object.c test-object.h: test.gob gob2
./gob2 test.gob
# can't depend on the header file as that would break the above rule
# since it's just for testing, who cares
testcpp: test-object.cc
- g++ -g -Wall `pkg-config --cflags gobject-2.0` -c test-object.cc
+ g++ -g -Wall `pkg-config --cflags gobject-2.0 gtk+-2.0` -c test-object.cc
test-object.cc: test.gob gob2
./gob2 --for-cpp test.gob
#define YY_FLEX_MINOR_VERSION 5
#include <stdio.h>
+#include <unistd.h>
/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
#ifdef __cplusplus
#include <stdlib.h>
-#include <unistd.h>
/* Use prototypes in function declarations. */
#define YY_USE_PROTOS
*yy_cp = '\0'; \
yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 106
-#define YY_END_OF_BUFFER 107
-static yyconst short int yy_acclist[554] =
+#define YY_NUM_RULES 110
+#define YY_END_OF_BUFFER 111
+static yyconst short int yy_acclist[606] =
{ 0,
- 107, 104, 106, 103, 104, 106, 1, 105, 106, 104,
- 105, 106, 104, 106, 104, 106, 103, 104, 106, 104,
- 106, 104, 106, 26, 104, 106, 1, 27, 105, 106,
- 26, 104, 105, 106, 26, 104, 106, 26, 104, 106,
- 50, 104, 106, 1, 51, 105, 106, 50, 104, 105,
- 106, 42, 50, 104, 106, 50, 104, 106, 50, 104,
- 106, 50, 104, 106, 48, 50, 104, 106, 49, 50,
- 104, 106, 50, 104, 106, 50, 104, 106, 46, 104,
- 106, 1, 47, 105, 106, 46, 104, 105, 106, 45,
- 46, 104, 106, 46, 104, 106, 104, 106, 104, 106,
-
- 104, 106, 94, 104, 106, 94, 104, 106, 104, 106,
- 97, 104, 106, 97, 104, 106, 97, 104, 106, 97,
- 104, 106, 100, 104, 106, 104, 106, 104, 106, 104,
- 106, 97, 104, 106, 97, 104, 106, 97, 104, 106,
- 97, 104, 106, 97, 104, 106, 97, 104, 106, 97,
- 104, 106, 97, 104, 106, 97, 104, 106, 97, 104,
- 106, 97, 104, 106, 97, 104, 106, 101, 104, 106,
- 102, 104, 106, 91, 104, 106, 43, 104, 106, 92,
- 104, 106, 93, 104, 106, 97, 104, 106, 97, 104,
- 106, 97, 104, 106, 97, 104, 106, 97, 104, 106,
-
- 97, 104, 106, 97, 104, 106, 97, 104, 106, 97,
- 104, 106, 97, 104, 106, 97, 104, 106, 97, 104,
- 106, 9, 104, 106, 9, 104, 105, 106, 9, 104,
- 106, 9, 104, 106, 9, 104, 106, 14, 104, 106,
- 14, 104, 105, 106, 14, 104, 106, 14, 104, 106,
- 14, 104, 106, 17, 104, 106, 17, 104, 105, 106,
- 17, 104, 106, 21, 33, 25, 22, 41, 34, 44,
- 94, 23, 94, 94, 96, 97, 95, 97, 97, 97,
- 24, 99, 97, 97, 97, 97, 97, 97, 97, 97,
- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
-
- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
- 97, 97, 8, 6, 13, 10, 12, 11, 13, 16,
- 15, 3, 28, 32, 39, 35, 37, 18, 98, 98,
- 94, 19, 94, 94, 96, 96, 95, 97, 97, 97,
- 69, 20, 97, 97, 97, 97, 97, 97, 97, 64,
- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
- 97, 97, 97, 97, 97, 11, 29, 30, 31, 40,
- 36, 38, 96, 97, 55, 97, 54, 97, 5, 97,
- 67, 97, 97, 97, 97, 59, 97, 97, 62, 97,
-
- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
- 97, 56, 97, 97, 97, 97, 59, 97, 97, 97,
- 97, 79, 97, 97, 97, 97, 85, 97, 7, 52,
- 97, 54, 97, 68, 97, 97, 65, 97, 97, 97,
- 97, 97, 97, 63, 97, 97, 97, 97, 58, 97,
- 97, 97, 80, 97, 97, 97, 97, 84, 97, 97,
- 97, 97, 97, 97, 97, 66, 97, 97, 97, 97,
- 97, 70, 97, 76, 97, 60, 97, 57, 97, 97,
- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
- 97, 97, 71, 97, 97, 97, 97, 75, 97, 97,
-
- 97, 97, 97, 81, 97, 82, 97, 97, 97, 74,
- 97, 97, 77, 97, 78, 97, 97, 61, 97, 97,
- 97, 97, 97, 97, 97, 73, 97, 72, 97, 97,
- 97, 87, 97, 97, 97, 97, 2, 89, 97, 97,
- 86, 97, 97, 88, 97, 4, 97, 90, 97, 97,
- 83, 97, 53
+ 111, 108, 110, 107, 108, 110, 1, 109, 110, 108,
+ 109, 110, 108, 110, 108, 110, 108, 110, 98, 108,
+ 110, 98, 108, 110, 108, 110, 101, 108, 110, 101,
+ 108, 110, 101, 108, 110, 101, 108, 110, 107, 108,
+ 110, 108, 110, 108, 110, 101, 108, 110, 27, 108,
+ 110, 1, 28, 109, 110, 27, 108, 109, 110, 27,
+ 108, 110, 27, 108, 110, 27, 108, 110, 51, 108,
+ 110, 1, 52, 109, 110, 51, 108, 109, 110, 43,
+ 51, 108, 110, 51, 108, 110, 51, 108, 110, 51,
+ 108, 110, 49, 51, 108, 110, 50, 51, 108, 110,
+
+ 51, 108, 110, 51, 108, 110, 47, 108, 110, 1,
+ 48, 109, 110, 47, 108, 109, 110, 46, 47, 108,
+ 110, 47, 108, 110, 47, 108, 110, 108, 110, 101,
+ 108, 110, 101, 108, 110, 101, 108, 110, 104, 108,
+ 110, 108, 110, 108, 110, 108, 110, 101, 108, 110,
+ 101, 108, 110, 101, 108, 110, 101, 108, 110, 101,
+ 108, 110, 101, 108, 110, 101, 108, 110, 101, 108,
+ 110, 101, 108, 110, 101, 108, 110, 101, 108, 110,
+ 101, 108, 110, 105, 108, 110, 106, 108, 110, 95,
+ 108, 110, 44, 108, 110, 96, 108, 110, 97, 108,
+
+ 110, 101, 108, 110, 101, 108, 110, 101, 108, 110,
+ 101, 108, 110, 101, 108, 110, 101, 108, 110, 101,
+ 108, 110, 101, 108, 110, 101, 108, 110, 101, 108,
+ 110, 101, 108, 110, 101, 108, 110, 10, 108, 110,
+ 10, 108, 109, 110, 10, 108, 110, 10, 108, 110,
+ 10, 108, 110, 10, 108, 110, 15, 108, 110, 15,
+ 108, 109, 110, 15, 108, 110, 15, 108, 110, 15,
+ 108, 110, 15, 108, 110, 18, 108, 110, 18, 108,
+ 109, 110, 18, 108, 110, 18, 108, 110, 98, 22,
+ 98, 98, 100, 101, 99, 101, 101, 101, 101, 34,
+
+ 101, 26, 23, 42, 35, 45, 24, 101, 101, 101,
+ 25, 103, 101, 101, 101, 101, 101, 101, 101, 101,
+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
+ 101, 101, 9, 7, 14, 11, 13, 12, 14, 17,
+ 16, 102, 102, 98, 3, 98, 98, 100, 100, 99,
+ 101, 101, 101, 101, 29, 33, 101, 40, 36, 38,
+ 19, 20, 101, 101, 101, 73, 21, 101, 101, 101,
+ 101, 101, 101, 101, 68, 101, 101, 101, 101, 101,
+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
+
+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
+ 12, 100, 101, 55, 101, 101, 101, 30, 31, 32,
+ 101, 41, 37, 39, 101, 59, 101, 58, 101, 6,
+ 101, 71, 101, 101, 101, 101, 63, 101, 101, 66,
+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
+ 101, 101, 60, 101, 101, 101, 101, 63, 101, 101,
+ 101, 101, 83, 101, 101, 101, 101, 89, 101, 8,
+ 53, 101, 54, 101, 56, 101, 101, 101, 58, 101,
+ 72, 101, 101, 69, 101, 101, 101, 101, 101, 101,
+ 67, 101, 101, 101, 101, 62, 101, 101, 101, 84,
+
+ 101, 101, 101, 101, 88, 101, 101, 101, 101, 101,
+ 101, 101, 101, 70, 101, 101, 101, 101, 101, 74,
+ 101, 80, 101, 64, 101, 61, 101, 101, 101, 101,
+ 101, 101, 101, 101, 101, 101, 101, 4, 101, 101,
+ 101, 101, 75, 101, 101, 101, 101, 79, 101, 101,
+ 101, 101, 101, 85, 101, 86, 101, 101, 101, 101,
+ 78, 101, 101, 81, 101, 82, 101, 101, 65, 101,
+ 101, 101, 101, 101, 101, 101, 77, 101, 76, 101,
+ 101, 101, 91, 101, 101, 101, 101, 4, 2, 93,
+ 101, 101, 90, 101, 101, 92, 101, 5, 101, 94,
+
+ 101, 101, 87, 101, 57
} ;
-static yyconst short int yy_accept[472] =
+static yyconst short int yy_accept[509] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 2, 4, 7, 10, 13, 15, 17,
- 20, 22, 24, 27, 31, 35, 38, 41, 44, 48,
- 52, 56, 59, 62, 65, 69, 73, 76, 79, 82,
- 86, 90, 94, 97, 99, 101, 103, 106, 109, 111,
- 114, 117, 120, 123, 126, 128, 130, 132, 135, 138,
- 141, 144, 147, 150, 153, 156, 159, 162, 165, 168,
- 171, 174, 177, 180, 183, 186, 189, 192, 195, 198,
- 201, 204, 207, 210, 213, 216, 219, 222, 225, 229,
-
- 232, 235, 238, 241, 245, 248, 251, 254, 257, 261,
- 264, 265, 265, 265, 265, 265, 265, 265, 265, 266,
- 266, 267, 267, 267, 267, 267, 267, 268, 268, 269,
- 269, 269, 270, 271, 271, 271, 272, 273, 273, 273,
- 274, 274, 274, 275, 276, 277, 278, 279, 280, 281,
- 281, 282, 282, 282, 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, 309, 310, 311, 312, 313, 314, 314, 314, 314,
- 315, 315, 316, 316, 316, 316, 317, 318, 318, 320,
-
- 321, 322, 322, 323, 323, 323, 323, 324, 324, 324,
- 325, 325, 325, 325, 325, 326, 326, 326, 326, 327,
- 328, 328, 329, 329, 330, 330, 331, 332, 332, 333,
- 334, 335, 336, 337, 338, 339, 340, 341, 342, 342,
- 342, 343, 343, 343, 344, 345, 346, 347, 348, 349,
- 350, 352, 353, 354, 355, 356, 357, 358, 359, 360,
- 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
- 371, 372, 373, 374, 375, 376, 376, 377, 377, 377,
- 378, 378, 379, 380, 380, 380, 380, 381, 382, 383,
- 383, 384, 385, 387, 389, 389, 390, 391, 393, 394,
-
- 395, 396, 398, 399, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 410, 411, 412, 414, 415, 416, 417,
- 419, 420, 421, 422, 424, 425, 426, 427, 429, 429,
- 430, 430, 430, 431, 431, 431, 431, 431, 431, 431,
- 432, 434, 436, 437, 439, 440, 441, 442, 443, 444,
- 446, 447, 448, 449, 451, 452, 453, 455, 456, 457,
- 458, 460, 461, 462, 463, 464, 464, 464, 464, 464,
- 464, 464, 465, 466, 468, 469, 470, 471, 472, 474,
- 476, 478, 480, 481, 482, 483, 484, 485, 486, 487,
- 488, 489, 490, 490, 490, 490, 490, 490, 491, 492,
-
- 493, 495, 496, 497, 498, 500, 501, 502, 503, 504,
- 506, 508, 509, 510, 510, 510, 510, 510, 510, 512,
- 513, 515, 517, 518, 520, 521, 522, 523, 524, 525,
- 526, 526, 526, 526, 526, 526, 526, 528, 530, 531,
- 532, 534, 535, 536, 537, 537, 537, 537, 538, 538,
- 540, 541, 543, 544, 546, 546, 546, 546, 547, 548,
- 550, 550, 550, 551, 551, 551, 553, 553, 553, 554,
- 554
+ 19, 22, 25, 27, 30, 33, 36, 39, 42, 44,
+ 46, 49, 52, 56, 60, 63, 66, 69, 72, 76,
+ 80, 84, 87, 90, 93, 97, 101, 104, 107, 110,
+ 114, 118, 122, 125, 128, 130, 133, 136, 139, 142,
+ 144, 146, 148, 151, 154, 157, 160, 163, 166, 169,
+ 172, 175, 178, 181, 184, 187, 190, 193, 196, 199,
+ 202, 205, 208, 211, 214, 217, 220, 223, 226, 229,
+
+ 232, 235, 238, 241, 245, 248, 251, 254, 257, 260,
+ 264, 267, 270, 273, 276, 279, 283, 286, 289, 289,
+ 289, 290, 291, 291, 291, 292, 292, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 300, 300, 300, 300,
+ 300, 300, 300, 301, 302, 303, 303, 303, 303, 303,
+ 303, 304, 304, 305, 305, 305, 306, 307, 308, 308,
+ 309, 310, 311, 311, 312, 312, 312, 312, 313, 314,
+ 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
+
+ 344, 344, 344, 345, 345, 346, 346, 346, 346, 347,
+ 348, 348, 350, 351, 352, 353, 353, 354, 355, 355,
+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
+ 365, 365, 365, 365, 366, 366, 366, 367, 367, 367,
+ 368, 368, 369, 369, 369, 369, 370, 371, 371, 372,
+ 372, 372, 373, 374, 375, 376, 377, 377, 377, 378,
+ 378, 378, 379, 380, 381, 382, 383, 384, 385, 387,
+ 388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 411, 412, 413, 414, 416, 417,
+
+ 418, 418, 418, 418, 419, 419, 420, 421, 421, 422,
+ 422, 423, 424, 425, 425, 426, 428, 430, 430, 431,
+ 432, 434, 435, 436, 437, 439, 440, 442, 443, 444,
+ 445, 446, 447, 448, 449, 450, 451, 452, 453, 455,
+ 456, 457, 458, 460, 461, 462, 463, 465, 466, 467,
+ 468, 470, 470, 471, 471, 471, 473, 475, 477, 477,
+ 477, 477, 477, 477, 478, 478, 478, 479, 481, 483,
+ 484, 486, 487, 488, 489, 490, 491, 493, 494, 495,
+ 496, 498, 499, 500, 502, 503, 504, 505, 507, 508,
+ 509, 510, 511, 511, 511, 511, 511, 511, 512, 512,
+
+ 512, 513, 514, 516, 517, 518, 519, 520, 522, 524,
+ 526, 528, 529, 530, 531, 532, 533, 534, 535, 536,
+ 537, 538, 538, 539, 539, 539, 540, 540, 540, 541,
+ 542, 543, 545, 546, 547, 548, 550, 551, 552, 553,
+ 554, 556, 558, 559, 560, 560, 560, 560, 560, 561,
+ 561, 561, 563, 564, 566, 568, 569, 571, 572, 573,
+ 574, 575, 576, 577, 577, 577, 577, 577, 577, 577,
+ 577, 577, 579, 581, 582, 583, 585, 586, 587, 588,
+ 588, 589, 589, 589, 589, 590, 590, 592, 593, 595,
+ 596, 598, 598, 598, 598, 599, 600, 602, 602, 602,
+
+ 603, 603, 603, 605, 605, 605, 606, 606
} ;
static yyconst int yy_ec[256] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
- 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
+ 1, 4, 5, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 5, 1, 6, 7, 1, 8, 1, 9, 10,
- 11, 12, 1, 1, 1, 13, 14, 15, 16, 17,
- 17, 17, 17, 17, 17, 18, 18, 19, 1, 20,
- 1, 21, 1, 1, 22, 22, 22, 22, 23, 22,
- 24, 24, 25, 24, 24, 24, 24, 24, 24, 24,
- 24, 26, 27, 24, 24, 24, 24, 24, 24, 24,
- 28, 29, 30, 1, 31, 1, 32, 33, 34, 35,
-
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 24, 57, 1, 58, 1, 1, 1, 1, 1,
+ 1, 6, 1, 7, 8, 1, 9, 1, 10, 11,
+ 12, 13, 1, 1, 1, 14, 15, 16, 17, 18,
+ 18, 18, 18, 18, 18, 19, 19, 20, 1, 21,
+ 1, 22, 1, 1, 23, 23, 23, 23, 24, 23,
+ 25, 25, 26, 25, 25, 25, 25, 25, 25, 25,
+ 25, 27, 28, 25, 25, 25, 25, 25, 25, 25,
+ 29, 30, 31, 1, 32, 1, 33, 34, 35, 36,
+
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 25, 58, 1, 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
} ;
-static yyconst int yy_meta[59] =
+static yyconst int yy_meta[60] =
{ 0,
- 1, 2, 3, 1, 2, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 4, 4, 4, 4, 5, 1,
- 1, 6, 6, 7, 7, 7, 7, 1, 1, 8,
- 7, 6, 6, 6, 6, 6, 6, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 1, 1
+ 1, 2, 3, 4, 4, 2, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 5, 5, 5, 5, 6,
+ 1, 1, 7, 7, 8, 8, 8, 8, 1, 1,
+ 9, 8, 7, 7, 7, 7, 7, 7, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 1, 1
} ;
-static yyconst short int yy_base[499] =
+static yyconst short int yy_base[536] =
{ 0,
- 0, 4, 7, 12, 17, 73, 26, 36, 131, 0,
- 177, 0, 33, 34, 230, 0, 24, 47, 54, 91,
- 57, 60, 1099, 1100, 1100, 1100, 1100, 21, 1055, 190,
- 60, 1061, 1100, 1100, 1100, 1082, 1068, 1100, 1100, 1100,
- 1100, 190, 42, 0, 1100, 1100, 81, 1036, 1100, 1100,
- 1100, 1100, 0, 1064, 93, 86, 236, 107, 0, 1073,
- 54, 69, 6, 1100, 184, 92, 97, 70, 179, 59,
- 187, 185, 188, 82, 184, 207, 239, 197, 175, 1100,
- 1100, 1100, 1100, 1100, 1100, 226, 249, 265, 212, 219,
- 266, 22, 227, 97, 270, 236, 267, 1100, 1100, 1077,
-
- 291, 302, 1100, 1100, 1076, 310, 315, 1086, 1085, 247,
- 1100, 1084, 1054, 292, 1049, 257, 283, 284, 1100, 1036,
- 1100, 0, 1074, 293, 1073, 1072, 1100, 1077, 1100, 323,
- 1034, 1100, 1100, 1069, 1068, 320, 1100, 1073, 327, 339,
- 349, 0, 355, 1056, 1055, 1054, 307, 312, 313, 1059,
- 1059, 1067, 331, 1039, 1040, 340, 350, 355, 341, 191,
- 356, 357, 358, 360, 361, 364, 362, 365, 369, 366,
- 372, 370, 373, 371, 374, 377, 375, 398, 379, 380,
- 174, 283, 382, 383, 381, 1100, 430, 434, 438, 1100,
- 443, 1100, 445, 449, 453, 1100, 457, 1053, 1100, 1100,
-
- 1100, 1063, 1100, 1015, 1021, 1006, 1100, 1030, 1004, 1100,
- 1003, 1019, 1006, 1031, 1100, 1047, 1046, 1045, 1100, 1100,
- 1050, 1100, 1018, 1100, 1042, 1041, 449, 1046, 1100, 453,
- 0, 1029, 1028, 1027, 399, 434, 453, 1100, 471, 1042,
- 1100, 1014, 464, 456, 458, 464, 465, 387, 466, 467,
- 1024, 468, 469, 470, 473, 474, 472, 471, 476, 479,
- 482, 478, 477, 481, 397, 494, 483, 500, 492, 512,
- 514, 515, 516, 517, 518, 538, 1100, 992, 488, 1100,
- 1006, 1100, 1100, 987, 999, 1013, 1100, 1100, 1100, 994,
- 1017, 523, 1016, 1015, 544, 1100, 525, 1014, 531, 534,
-
- 536, 1013, 539, 1012, 540, 542, 541, 544, 546, 545,
- 551, 548, 547, 553, 549, 1011, 405, 559, 552, 557,
- 556, 565, 574, 1010, 576, 578, 579, 1009, 597, 1100,
- 609, 614, 1100, 981, 990, 993, 975, 0, 971, 584,
- 586, 1003, 588, 1002, 589, 594, 602, 604, 607, 1001,
- 606, 608, 611, 1000, 612, 614, 999, 613, 615, 616,
- 617, 618, 620, 623, 628, 970, 967, 964, 978, 990,
- 977, 631, 633, 992, 634, 635, 636, 637, 991, 990,
- 984, 976, 641, 642, 644, 645, 646, 647, 649, 656,
- 659, 660, 629, 944, 929, 963, 918, 662, 664, 665,
-
- 920, 663, 670, 672, 904, 673, 678, 675, 684, 890,
- 877, 685, 686, 842, 841, 710, 700, 718, 798, 689,
- 797, 791, 691, 790, 702, 695, 705, 708, 709, 711,
- 753, 756, 729, 735, 745, 737, 772, 761, 718, 740,
- 760, 745, 719, 748, 707, 758, 771, 1100, 762, 490,
- 750, 486, 758, 485, 391, 780, 764, 1100, 759, 311,
- 235, 786, 771, 77, 797, 3, 803, 730, 1100, 1100,
- 821, 829, 837, 845, 853, 861, 869, 877, 885, 893,
- 896, 900, 904, 912, 920, 928, 936, 944, 949, 952,
- 956, 963, 968, 975, 979, 985, 992, 1000
-
+ 0, 58, 58, 65, 69, 126, 80, 85, 60, 86,
+ 172, 1204, 102, 111, 225, 1203, 101, 149, 140, 158,
+ 162, 165, 1210, 1213, 1213, 1213, 1213, 1179, 163, 67,
+ 177, 225, 0, 1188, 42, 57, 45, 196, 103, 164,
+ 105, 1213, 1213, 1213, 1192, 114, 1178, 1213, 1213, 1213,
+ 1213, 169, 87, 0, 1213, 1213, 209, 1146, 1213, 1213,
+ 1213, 1213, 0, 212, 117, 130, 61, 149, 1213, 266,
+ 175, 270, 197, 255, 49, 157, 139, 209, 201, 152,
+ 214, 270, 245, 272, 1213, 1213, 1213, 1213, 1213, 1213,
+ 261, 274, 278, 254, 273, 283, 277, 215, 218, 286,
+
+ 276, 284, 1213, 1213, 1189, 326, 328, 334, 1213, 1213,
+ 1188, 339, 340, 341, 1199, 1198, 242, 355, 1190, 1189,
+ 346, 1213, 1195, 350, 357, 363, 0, 369, 1177, 1176,
+ 1175, 287, 339, 303, 315, 387, 1157, 388, 1152, 351,
+ 354, 218, 1213, 358, 1213, 0, 1182, 343, 1181, 1180,
+ 1213, 1186, 1213, 394, 1142, 1213, 1213, 1213, 1184, 377,
+ 378, 385, 1172, 1172, 1181, 397, 1152, 1153, 331, 384,
+ 388, 309, 391, 398, 399, 400, 402, 403, 409, 407,
+ 410, 404, 411, 413, 416, 414, 419, 422, 425, 427,
+ 429, 433, 438, 439, 440, 445, 447, 448, 1213, 475,
+
+ 467, 488, 1213, 495, 1213, 497, 502, 510, 1213, 516,
+ 1166, 1213, 1213, 1213, 1213, 1170, 1169, 507, 1175, 1213,
+ 511, 0, 1157, 1156, 1155, 451, 455, 459, 472, 1125,
+ 1127, 1128, 1113, 1213, 1137, 1111, 1213, 1110, 1126, 467,
+ 1139, 1213, 1155, 1154, 1153, 1213, 1213, 1159, 1213, 1126,
+ 1157, 1213, 463, 487, 489, 1213, 531, 1156, 1213, 1127,
+ 525, 501, 511, 515, 516, 518, 519, 525, 1137, 526,
+ 527, 528, 531, 529, 530, 535, 533, 537, 548, 539,
+ 540, 542, 550, 552, 543, 551, 554, 555, 558, 573,
+ 574, 577, 578, 597, 1213, 1136, 582, 1135, 584, 585,
+
+ 1101, 1116, 554, 1213, 1116, 1213, 1213, 1097, 588, 1124,
+ 1213, 1213, 1213, 1105, 589, 1128, 1127, 616, 1213, 593,
+ 1126, 591, 594, 600, 1125, 596, 1124, 601, 604, 606,
+ 608, 611, 605, 621, 612, 607, 610, 615, 1123, 630,
+ 619, 636, 639, 640, 641, 642, 1122, 643, 645, 646,
+ 1121, 667, 1213, 673, 678, 1120, 1119, 1118, 1096, 686,
+ 1089, 1098, 1101, 647, 0, 1080, 657, 652, 1112, 662,
+ 1111, 654, 665, 676, 678, 680, 1110, 681, 682, 683,
+ 1109, 684, 686, 1108, 688, 685, 689, 690, 691, 692,
+ 694, 696, 1077, 721, 1078, 1075, 1072, 711, 1099, 1086,
+
+ 701, 712, 1095, 713, 714, 704, 716, 1087, 1086, 1077,
+ 1070, 722, 723, 730, 732, 734, 735, 738, 740, 737,
+ 741, 1044, 760, 712, 1043, 743, 1068, 1036, 745, 752,
+ 753, 1018, 751, 755, 760, 1006, 754, 766, 761, 769,
+ 989, 983, 775, 779, 944, 979, 924, 870, 798, 784,
+ 804, 889, 785, 888, 886, 787, 885, 792, 793, 794,
+ 795, 796, 797, 818, 897, 838, 838, 832, 838, 846,
+ 812, 819, 810, 805, 808, 801, 809, 812, 815, 562,
+ 1213, 460, 852, 860, 1213, 837, 465, 817, 340, 847,
+ 292, 273, 864, 866, 1213, 854, 234, 215, 873, 865,
+
+ 150, 877, 172, 895, 897, 1213, 1213, 914, 923, 932,
+ 941, 950, 959, 968, 971, 975, 983, 992, 997, 1006,
+ 1015, 1020, 1023, 1027, 1035, 1044, 1053, 1062, 1067, 1075,
+ 1079, 1086, 1094, 1103, 1112
} ;
-static yyconst short int yy_def[499] =
+static yyconst short int yy_def[536] =
{ 0,
- 471, 471, 472, 472, 473, 473, 474, 474, 470, 9,
- 9, 11, 9, 9, 9, 15, 475, 475, 476, 476,
- 477, 477, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 478, 470, 470, 470, 470, 470, 470,
- 470, 470, 479, 480, 470, 470, 470, 470, 481, 482,
- 482, 482, 482, 470, 470, 470, 483, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482, 482, 470,
- 470, 470, 470, 470, 470, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 470, 470, 470,
-
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 484, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 485, 470, 470, 470, 470, 470, 486, 470, 470,
- 470, 470, 470, 470, 487, 470, 470, 488, 470, 470,
- 470, 489, 470, 490, 482, 491, 482, 482, 482, 470,
- 470, 492, 470, 493, 470, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 470, 470, 470, 470, 470,
- 494, 470, 470, 470, 470, 470, 470, 470, 470, 470,
-
- 470, 484, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 486, 470, 470, 470, 470, 470, 470, 488, 470, 470,
- 489, 490, 495, 491, 482, 482, 482, 470, 470, 492,
- 470, 493, 483, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 496, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 495, 482, 482, 482, 470, 470, 482, 482, 482, 482,
-
- 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482, 470, 470,
- 496, 470, 470, 470, 470, 470, 470, 497, 470, 482,
- 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 470, 470, 470, 470, 470,
- 470, 482, 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 470, 470, 470, 470, 470, 482, 482, 482,
-
- 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
- 482, 482, 482, 470, 470, 470, 470, 470, 482, 482,
- 482, 482, 482, 482, 482, 482, 482, 482, 482, 482,
- 470, 470, 470, 470, 470, 470, 482, 482, 482, 482,
- 482, 482, 482, 482, 470, 470, 470, 470, 498, 482,
- 482, 482, 482, 482, 470, 470, 498, 470, 482, 482,
- 470, 470, 482, 470, 470, 482, 470, 470, 470, 0,
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470
-
+ 507, 1, 508, 508, 509, 509, 510, 510, 1, 1,
+ 1, 11, 1, 1, 1, 15, 511, 511, 512, 512,
+ 513, 513, 507, 507, 507, 507, 507, 514, 507, 507,
+ 507, 507, 515, 516, 516, 516, 516, 507, 507, 507,
+ 516, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 517, 507, 507, 507, 507, 507, 507,
+ 507, 507, 518, 507, 507, 516, 516, 516, 507, 507,
+ 507, 519, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 507, 507, 507, 507, 507, 507,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+
+ 516, 516, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 520,
+ 507, 507, 521, 507, 507, 507, 522, 507, 523, 516,
+ 524, 516, 516, 516, 516, 507, 507, 507, 507, 507,
+ 507, 507, 507, 516, 507, 525, 507, 507, 507, 507,
+ 507, 526, 507, 507, 507, 507, 507, 507, 527, 516,
+ 516, 516, 507, 507, 528, 507, 529, 507, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 507, 507,
+
+ 507, 507, 507, 530, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 521, 507,
+ 507, 522, 523, 531, 524, 516, 516, 516, 516, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 516,
+ 507, 507, 507, 507, 507, 507, 507, 526, 507, 507,
+ 527, 507, 516, 516, 516, 507, 507, 528, 507, 529,
+ 519, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 532, 507, 531, 516, 516, 516, 516,
+
+ 507, 507, 507, 507, 507, 507, 507, 507, 516, 507,
+ 507, 507, 507, 507, 516, 516, 516, 507, 507, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 507, 507, 532, 507, 516, 516, 516, 507, 507,
+ 507, 507, 507, 516, 533, 507, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 507, 507, 507, 507, 507, 516, 507, 507,
+
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 507, 507, 507, 507, 516, 507, 507, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 507, 507, 507, 507, 516, 507,
+ 507, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 507, 534, 507, 507, 507, 507, 507,
+ 507, 516, 516, 516, 516, 516, 516, 516, 516, 534,
+ 507, 507, 507, 507, 507, 535, 516, 516, 516, 516,
+ 516, 507, 507, 535, 507, 516, 516, 507, 507, 516,
+
+ 507, 507, 516, 507, 507, 507, 0, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507
} ;
-static yyconst short int yy_nxt[1159] =
+static yyconst short int yy_nxt[1273] =
{ 0,
- 470, 25, 26, 27, 25, 30, 26, 27, 30, 34,
- 35, 31, 470, 28, 34, 35, 470, 28, 36, 39,
- 40, 146, 41, 36, 146, 42, 26, 99, 50, 51,
- 43, 52, 111, 29, 112, 100, 37, 29, 50, 51,
- 146, 52, 82, 82, 149, 44, 24, 24, 101, 26,
- 99, 101, 32, 127, 53, 128, 26, 104, 102, 26,
- 109, 181, 26, 109, 53, 105, 60, 60, 110, 60,
- 60, 110, 146, 45, 46, 39, 40, 146, 41, 47,
- 48, 42, 130, 60, 60, 130, 43, 146, 146, 24,
- 24, 116, 106, 26, 104, 106, 147, 137, 117, 138,
-
- 146, 44, 107, 151, 160, 152, 118, 136, 136, 136,
- 136, 153, 153, 153, 153, 146, 119, 148, 156, 139,
- 131, 143, 143, 143, 143, 211, 155, 164, 183, 45,
- 46, 24, 25, 26, 27, 25, 24, 24, 24, 54,
- 24, 24, 24, 55, 56, 57, 58, 58, 58, 59,
- 24, 24, 60, 60, 60, 60, 60, 60, 24, 24,
- 24, 60, 60, 60, 61, 60, 60, 62, 60, 60,
- 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
- 60, 63, 60, 60, 60, 60, 60, 64, 24, 65,
- 66, 114, 146, 146, 114, 123, 150, 146, 136, 136,
-
- 136, 136, 146, 146, 67, 146, 146, 271, 68, 146,
- 69, 70, 71, 72, 172, 146, 73, 157, 124, 74,
- 173, 158, 75, 76, 159, 146, 77, 162, 78, 79,
- 146, 161, 163, 80, 81, 83, 165, 146, 115, 84,
- 85, 171, 248, 24, 146, 146, 125, 126, 139, 200,
- 140, 140, 140, 141, 146, 166, 177, 146, 167, 182,
- 201, 178, 86, 87, 88, 89, 90, 146, 174, 73,
- 464, 175, 74, 91, 92, 93, 94, 168, 169, 95,
- 96, 78, 97, 146, 146, 146, 24, 157, 146, 170,
- 142, 185, 187, 114, 159, 187, 114, 179, 216, 205,
-
- 176, 146, 188, 189, 190, 180, 191, 206, 168, 184,
- 160, 193, 173, 207, 193, 186, 195, 196, 208, 197,
- 170, 194, 211, 272, 130, 146, 198, 130, 199, 146,
- 146, 146, 212, 209, 227, 227, 227, 227, 235, 210,
- 115, 230, 230, 230, 230, 153, 153, 153, 153, 217,
- 218, 139, 237, 140, 140, 140, 141, 236, 146, 146,
- 155, 139, 131, 141, 141, 141, 141, 139, 146, 143,
- 143, 143, 143, 146, 146, 146, 146, 244, 146, 146,
- 146, 245, 146, 146, 146, 247, 246, 146, 146, 146,
- 146, 146, 146, 146, 256, 146, 253, 146, 146, 146,
-
- 146, 146, 250, 254, 252, 146, 258, 249, 251, 255,
- 257, 260, 263, 266, 259, 146, 146, 146, 262, 301,
- 274, 261, 264, 146, 270, 461, 267, 275, 265, 268,
- 273, 187, 318, 269, 187, 189, 190, 357, 191, 189,
- 190, 188, 189, 250, 189, 190, 193, 189, 292, 193,
- 195, 196, 146, 197, 195, 196, 194, 195, 195, 196,
- 198, 195, 277, 227, 227, 227, 227, 230, 230, 230,
- 230, 146, 295, 296, 146, 295, 146, 293, 153, 153,
- 153, 153, 146, 146, 146, 146, 146, 146, 146, 146,
- 146, 146, 146, 155, 146, 146, 146, 146, 303, 146,
-
- 146, 146, 294, 146, 146, 304, 298, 297, 146, 302,
- 146, 316, 146, 299, 300, 311, 309, 305, 146, 307,
- 310, 314, 306, 308, 313, 319, 320, 312, 315, 317,
- 146, 322, 146, 146, 146, 146, 146, 321, 334, 329,
- 330, 146, 329, 146, 207, 295, 296, 326, 295, 146,
- 325, 323, 146, 328, 146, 324, 332, 146, 146, 146,
- 146, 327, 146, 146, 146, 146, 146, 146, 340, 146,
- 146, 146, 294, 346, 146, 146, 347, 146, 343, 348,
- 341, 353, 351, 146, 342, 349, 352, 360, 345, 344,
- 355, 354, 146, 358, 146, 350, 146, 146, 329, 330,
-
- 356, 329, 146, 359, 146, 361, 146, 146, 362, 364,
- 329, 330, 146, 329, 352, 329, 330, 363, 329, 372,
- 146, 365, 146, 374, 146, 146, 146, 332, 375, 146,
- 146, 146, 146, 146, 146, 146, 146, 378, 146, 373,
- 379, 146, 381, 385, 376, 384, 146, 388, 380, 146,
- 377, 146, 146, 146, 146, 146, 383, 386, 392, 146,
- 146, 382, 146, 146, 146, 146, 387, 146, 400, 389,
- 401, 390, 399, 391, 146, 398, 404, 146, 146, 414,
- 146, 146, 146, 146, 405, 210, 402, 403, 146, 412,
- 146, 146, 410, 146, 406, 407, 146, 409, 420, 411,
-
- 421, 408, 146, 146, 146, 423, 424, 146, 426, 146,
- 413, 433, 419, 146, 433, 434, 435, 435, 422, 436,
- 146, 427, 436, 146, 437, 438, 146, 146, 425, 146,
- 433, 468, 469, 433, 468, 429, 146, 146, 455, 428,
- 441, 430, 449, 446, 446, 446, 446, 440, 439, 447,
- 447, 447, 447, 450, 442, 448, 449, 444, 146, 447,
- 447, 447, 447, 146, 443, 453, 146, 458, 146, 458,
- 456, 451, 446, 446, 446, 446, 146, 146, 146, 146,
- 452, 448, 458, 454, 458, 447, 447, 447, 447, 146,
- 146, 445, 459, 460, 462, 462, 462, 462, 465, 209,
-
- 462, 462, 462, 462, 468, 469, 466, 468, 146, 146,
- 463, 467, 467, 467, 467, 146, 146, 467, 467, 467,
- 467, 24, 24, 24, 24, 24, 24, 24, 24, 33,
- 33, 33, 33, 33, 33, 33, 33, 38, 38, 38,
- 38, 38, 38, 38, 38, 49, 49, 49, 49, 49,
- 49, 49, 49, 98, 98, 98, 98, 98, 98, 98,
- 98, 103, 103, 103, 103, 103, 103, 103, 103, 108,
- 108, 108, 108, 108, 108, 108, 108, 129, 129, 432,
- 129, 129, 129, 129, 129, 133, 133, 431, 133, 133,
- 133, 133, 133, 134, 134, 146, 134, 134, 134, 134,
-
- 134, 144, 144, 145, 145, 145, 145, 154, 146, 154,
- 154, 154, 202, 202, 202, 202, 202, 202, 202, 202,
- 214, 214, 146, 214, 214, 214, 214, 214, 221, 221,
- 221, 221, 221, 221, 221, 221, 225, 225, 146, 225,
- 225, 225, 225, 225, 228, 228, 228, 228, 228, 228,
- 228, 228, 231, 418, 231, 232, 232, 232, 232, 234,
- 234, 234, 234, 240, 240, 240, 240, 240, 240, 240,
- 240, 242, 417, 242, 242, 242, 276, 276, 416, 415,
- 276, 276, 291, 291, 291, 291, 331, 331, 331, 331,
- 331, 331, 370, 370, 146, 370, 370, 370, 370, 370,
-
- 457, 457, 146, 457, 457, 457, 457, 457, 146, 146,
- 146, 397, 396, 395, 394, 393, 206, 146, 146, 146,
- 146, 146, 371, 369, 368, 367, 366, 146, 146, 146,
- 146, 146, 146, 146, 146, 233, 339, 338, 337, 336,
- 335, 333, 146, 155, 241, 146, 233, 233, 229, 224,
- 224, 290, 222, 289, 288, 287, 286, 285, 284, 283,
- 282, 281, 280, 279, 278, 203, 277, 243, 155, 241,
- 239, 238, 146, 146, 233, 229, 226, 224, 223, 222,
- 220, 219, 215, 213, 120, 204, 203, 200, 200, 192,
- 186, 146, 135, 132, 122, 121, 120, 113, 470, 23,
-
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470
+ 24, 25, 26, 25, 27, 25, 24, 24, 24, 28,
+ 24, 24, 24, 29, 30, 31, 32, 32, 32, 33,
+ 24, 24, 34, 34, 34, 34, 34, 34, 24, 24,
+ 24, 34, 34, 34, 35, 34, 36, 37, 34, 34,
+ 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
+ 34, 34, 34, 34, 34, 34, 34, 24, 24, 38,
+ 43, 131, 44, 38, 131, 39, 40, 43, 131, 44,
+ 45, 49, 46, 50, 65, 51, 131, 45, 52, 122,
+ 131, 123, 60, 53, 61, 132, 62, 60, 135, 61,
+ 47, 62, 64, 39, 66, 173, 34, 67, 54, 151,
+
+ 65, 152, 133, 26, 138, 104, 134, 41, 138, 63,
+ 161, 68, 87, 105, 63, 138, 24, 69, 39, 138,
+ 66, 87, 34, 67, 131, 24, 55, 56, 49, 158,
+ 50, 159, 51, 57, 58, 52, 34, 68, 34, 34,
+ 53, 144, 26, 69, 110, 34, 139, 34, 34, 131,
+ 106, 26, 111, 104, 106, 54, 107, 139, 131, 112,
+ 26, 108, 110, 112, 26, 113, 116, 26, 131, 116,
+ 114, 131, 118, 160, 117, 147, 131, 117, 121, 121,
+ 121, 121, 175, 55, 56, 70, 71, 164, 162, 165,
+ 124, 131, 125, 125, 125, 126, 140, 136, 148, 238,
+
+ 72, 136, 174, 141, 73, 178, 74, 75, 76, 77,
+ 154, 142, 78, 138, 154, 79, 131, 138, 80, 81,
+ 131, 143, 82, 68, 83, 84, 149, 150, 131, 85,
+ 86, 88, 127, 131, 131, 89, 90, 131, 124, 24,
+ 128, 128, 128, 128, 213, 137, 169, 177, 195, 155,
+ 196, 501, 139, 131, 176, 139, 214, 238, 91, 92,
+ 93, 94, 95, 179, 131, 78, 180, 239, 79, 96,
+ 97, 98, 99, 131, 131, 100, 101, 83, 102, 163,
+ 131, 121, 121, 121, 121, 166, 166, 166, 166, 131,
+ 184, 131, 131, 131, 170, 131, 131, 131, 171, 190,
+
+ 168, 172, 131, 131, 187, 131, 131, 188, 498, 181,
+ 182, 131, 185, 170, 189, 192, 191, 194, 186, 226,
+ 172, 183, 131, 193, 173, 181, 197, 200, 131, 138,
+ 186, 200, 198, 138, 131, 202, 203, 183, 201, 204,
+ 206, 138, 208, 209, 206, 138, 210, 229, 199, 243,
+ 131, 207, 228, 211, 265, 212, 138, 213, 131, 131,
+ 138, 218, 218, 218, 218, 221, 221, 221, 221, 262,
+ 124, 139, 125, 125, 125, 126, 124, 131, 126, 126,
+ 126, 126, 124, 139, 128, 128, 128, 128, 136, 138,
+ 235, 227, 136, 138, 232, 154, 131, 131, 139, 154,
+
+ 244, 245, 233, 131, 131, 236, 240, 131, 234, 253,
+ 131, 237, 166, 166, 166, 166, 263, 131, 131, 131,
+ 264, 131, 131, 131, 254, 255, 131, 168, 131, 131,
+ 131, 139, 131, 131, 155, 131, 137, 139, 131, 271,
+ 274, 131, 276, 266, 131, 268, 131, 270, 131, 272,
+ 267, 269, 131, 278, 281, 273, 275, 131, 131, 131,
+ 277, 286, 284, 279, 131, 280, 131, 131, 202, 203,
+ 131, 282, 204, 289, 131, 268, 200, 283, 131, 285,
+ 200, 290, 131, 288, 131, 292, 131, 201, 287, 202,
+ 203, 131, 492, 202, 291, 293, 202, 203, 206, 298,
+
+ 202, 297, 206, 208, 209, 299, 131, 210, 131, 207,
+ 300, 208, 209, 315, 211, 208, 295, 208, 209, 309,
+ 131, 208, 218, 218, 218, 218, 221, 221, 221, 221,
+ 131, 316, 318, 319, 131, 131, 318, 131, 131, 317,
+ 166, 166, 166, 166, 131, 131, 131, 131, 131, 131,
+ 131, 324, 131, 320, 131, 168, 131, 326, 131, 131,
+ 321, 131, 131, 325, 327, 322, 323, 131, 481, 131,
+ 131, 131, 332, 131, 131, 339, 328, 131, 330, 333,
+ 334, 329, 331, 336, 342, 335, 341, 343, 337, 344,
+ 338, 340, 131, 131, 345, 346, 131, 131, 352, 353,
+
+ 347, 131, 352, 131, 131, 361, 349, 131, 131, 348,
+ 131, 234, 131, 131, 351, 131, 355, 318, 319, 131,
+ 131, 318, 350, 131, 131, 131, 131, 131, 364, 131,
+ 131, 131, 356, 357, 131, 358, 373, 367, 131, 317,
+ 131, 368, 374, 370, 375, 369, 380, 371, 382, 131,
+ 372, 376, 381, 378, 385, 131, 377, 379, 131, 131,
+ 131, 131, 131, 384, 131, 131, 131, 383, 352, 353,
+ 387, 131, 352, 131, 352, 353, 131, 391, 352, 352,
+ 353, 131, 379, 352, 131, 389, 390, 394, 386, 392,
+ 388, 394, 355, 401, 404, 131, 398, 131, 403, 131,
+
+ 131, 131, 131, 131, 131, 131, 402, 131, 131, 131,
+ 131, 131, 407, 131, 408, 131, 405, 410, 413, 414,
+ 131, 417, 394, 131, 409, 406, 394, 421, 415, 412,
+ 131, 131, 131, 131, 411, 131, 423, 423, 423, 423,
+ 416, 131, 131, 418, 419, 420, 429, 426, 431, 131,
+ 432, 131, 430, 131, 131, 433, 131, 131, 435, 131,
+ 131, 446, 131, 447, 131, 446, 436, 434, 443, 237,
+ 131, 131, 131, 131, 131, 423, 423, 423, 423, 131,
+ 131, 437, 441, 438, 442, 131, 440, 453, 131, 454,
+ 439, 456, 444, 449, 131, 457, 452, 459, 131, 468,
+
+ 469, 470, 470, 468, 131, 471, 131, 455, 460, 471,
+ 458, 131, 131, 131, 131, 131, 131, 131, 486, 468,
+ 131, 472, 473, 468, 131, 461, 462, 131, 131, 131,
+ 476, 131, 486, 468, 131, 463, 131, 468, 131, 474,
+ 488, 487, 477, 495, 479, 489, 475, 483, 483, 483,
+ 483, 491, 478, 484, 484, 484, 484, 485, 495, 490,
+ 496, 484, 484, 484, 484, 493, 131, 483, 483, 483,
+ 483, 485, 495, 131, 482, 484, 484, 484, 484, 499,
+ 499, 499, 499, 497, 131, 236, 502, 495, 499, 499,
+ 499, 499, 504, 504, 504, 504, 505, 506, 505, 506,
+
+ 505, 503, 505, 481, 131, 131, 500, 131, 131, 467,
+ 504, 504, 504, 504, 42, 42, 42, 42, 42, 42,
+ 42, 42, 42, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 59, 59, 59, 59, 59, 59, 59, 59,
+ 59, 103, 103, 103, 103, 103, 103, 103, 103, 103,
+ 109, 109, 109, 109, 109, 109, 109, 109, 109, 115,
+ 115, 115, 115, 115, 115, 115, 115, 115, 119, 119,
+ 466, 119, 119, 119, 119, 119, 119, 129, 129, 130,
+ 130, 130, 130, 153, 153, 465, 153, 153, 153, 153,
+ 153, 153, 157, 157, 464, 157, 157, 157, 157, 157,
+
+ 157, 167, 131, 167, 167, 167, 216, 216, 131, 216,
+ 216, 216, 216, 216, 216, 219, 219, 219, 219, 219,
+ 219, 219, 219, 219, 222, 131, 222, 223, 223, 223,
+ 223, 225, 225, 225, 225, 241, 241, 131, 241, 241,
+ 241, 241, 241, 241, 248, 248, 248, 248, 248, 248,
+ 248, 248, 248, 251, 251, 251, 251, 251, 251, 251,
+ 251, 251, 258, 258, 258, 258, 258, 258, 258, 258,
+ 258, 260, 451, 260, 260, 260, 294, 294, 450, 448,
+ 445, 294, 294, 296, 296, 296, 296, 354, 354, 131,
+ 354, 354, 354, 354, 399, 399, 131, 399, 399, 399,
+
+ 399, 399, 399, 480, 480, 131, 131, 480, 480, 480,
+ 480, 480, 494, 494, 131, 494, 494, 494, 494, 494,
+ 494, 428, 427, 425, 424, 233, 422, 131, 131, 131,
+ 131, 131, 400, 397, 396, 395, 393, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 366, 365,
+ 363, 362, 360, 359, 131, 224, 131, 168, 259, 252,
+ 314, 249, 313, 312, 311, 310, 308, 307, 306, 305,
+ 304, 303, 302, 301, 131, 224, 224, 220, 215, 215,
+ 295, 261, 168, 259, 257, 256, 252, 250, 249, 247,
+ 246, 242, 231, 230, 131, 131, 224, 220, 217, 215,
+
+ 213, 213, 205, 199, 156, 146, 145, 131, 120, 507,
+ 39, 39, 23, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507
} ;
-static yyconst short int yy_chk[1159] =
+static yyconst short int yy_chk[1273] =
{ 0,
- 0, 1, 1, 1, 1, 2, 2, 2, 2, 3,
- 3, 2, 0, 1, 4, 4, 0, 2, 3, 5,
- 5, 466, 5, 4, 63, 5, 17, 17, 7, 7,
- 5, 7, 28, 1, 28, 17, 4, 2, 8, 8,
- 92, 8, 13, 14, 63, 5, 13, 14, 18, 18,
- 18, 18, 2, 43, 7, 43, 19, 19, 18, 21,
- 21, 92, 22, 22, 8, 19, 13, 14, 21, 13,
- 14, 22, 61, 5, 5, 6, 6, 70, 6, 6,
- 6, 6, 47, 13, 14, 47, 6, 62, 68, 13,
- 14, 31, 20, 20, 20, 20, 61, 56, 31, 56,
-
- 74, 6, 20, 66, 70, 66, 31, 55, 55, 55,
- 55, 67, 67, 67, 67, 94, 31, 62, 68, 58,
- 47, 58, 58, 58, 58, 464, 67, 74, 94, 6,
- 6, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 11,
- 11, 30, 181, 79, 30, 42, 65, 69, 65, 65,
-
- 65, 65, 75, 72, 11, 71, 73, 181, 11, 160,
- 11, 11, 11, 11, 79, 78, 11, 69, 42, 11,
- 79, 69, 11, 11, 69, 76, 11, 72, 11, 11,
- 89, 71, 73, 11, 11, 15, 75, 90, 30, 15,
- 15, 78, 160, 15, 86, 93, 42, 42, 57, 110,
- 57, 57, 57, 57, 96, 76, 89, 77, 76, 93,
- 110, 90, 15, 15, 15, 15, 15, 87, 86, 15,
- 461, 86, 15, 15, 15, 15, 15, 77, 77, 15,
- 15, 15, 15, 88, 91, 97, 15, 87, 95, 77,
- 57, 96, 101, 114, 87, 101, 114, 91, 124, 116,
-
- 88, 182, 101, 102, 102, 91, 102, 116, 95, 95,
- 88, 106, 97, 116, 106, 102, 107, 107, 117, 107,
- 95, 106, 118, 182, 130, 147, 107, 130, 107, 460,
- 148, 149, 118, 117, 136, 136, 136, 136, 147, 117,
- 114, 139, 139, 139, 139, 153, 153, 153, 153, 124,
- 124, 140, 149, 140, 140, 140, 140, 148, 156, 159,
- 153, 141, 130, 141, 141, 141, 141, 143, 157, 143,
- 143, 143, 143, 158, 161, 162, 163, 156, 164, 165,
- 167, 157, 166, 168, 170, 159, 158, 169, 172, 174,
- 171, 173, 175, 177, 167, 176, 165, 179, 180, 185,
-
- 183, 184, 162, 166, 164, 248, 169, 161, 163, 166,
- 168, 171, 173, 176, 170, 265, 178, 235, 172, 248,
- 184, 171, 174, 317, 180, 455, 177, 185, 175, 178,
- 183, 187, 265, 179, 187, 188, 188, 317, 188, 189,
- 189, 187, 189, 178, 191, 191, 193, 191, 235, 193,
- 194, 194, 236, 194, 195, 195, 193, 195, 197, 197,
- 194, 197, 194, 227, 227, 227, 227, 230, 230, 230,
- 230, 237, 239, 239, 244, 239, 245, 236, 243, 243,
- 243, 243, 246, 247, 249, 250, 252, 253, 254, 258,
- 257, 255, 256, 243, 259, 263, 262, 260, 250, 264,
-
- 261, 267, 237, 454, 452, 252, 245, 244, 450, 249,
- 269, 263, 266, 246, 247, 258, 256, 253, 268, 255,
- 257, 261, 254, 255, 260, 266, 267, 259, 262, 264,
- 270, 269, 271, 272, 273, 274, 275, 268, 279, 276,
- 276, 292, 276, 297, 279, 295, 295, 273, 295, 299,
- 272, 270, 300, 275, 301, 271, 276, 303, 305, 307,
- 306, 274, 308, 310, 309, 313, 312, 315, 297, 311,
- 319, 314, 292, 306, 321, 320, 307, 318, 301, 308,
- 299, 312, 311, 322, 300, 309, 311, 320, 305, 303,
- 314, 313, 323, 318, 325, 310, 326, 327, 329, 329,
-
- 315, 329, 340, 319, 341, 321, 343, 345, 322, 325,
- 331, 331, 346, 331, 327, 332, 332, 323, 332, 340,
- 347, 326, 348, 343, 351, 349, 352, 331, 345, 353,
- 355, 358, 356, 359, 360, 361, 362, 348, 363, 341,
- 349, 364, 352, 358, 346, 356, 365, 361, 351, 372,
- 347, 373, 375, 376, 377, 378, 355, 359, 365, 383,
- 384, 353, 385, 386, 387, 388, 360, 389, 375, 362,
- 376, 363, 373, 364, 390, 372, 383, 391, 392, 393,
- 398, 402, 399, 400, 384, 393, 377, 378, 403, 391,
- 404, 406, 389, 408, 385, 386, 407, 388, 399, 390,
-
- 400, 387, 409, 412, 413, 403, 404, 420, 407, 423,
- 392, 416, 398, 426, 416, 417, 417, 417, 402, 418,
- 425, 408, 418, 427, 420, 423, 428, 429, 406, 430,
- 433, 468, 468, 433, 468, 412, 439, 443, 445, 409,
- 427, 413, 436, 433, 433, 433, 433, 426, 425, 434,
- 434, 434, 434, 439, 428, 435, 436, 430, 440, 435,
- 435, 435, 435, 442, 429, 443, 444, 449, 451, 457,
- 446, 440, 446, 446, 446, 446, 453, 459, 441, 438,
- 442, 447, 449, 444, 457, 447, 447, 447, 447, 463,
- 437, 432, 451, 453, 456, 456, 456, 456, 462, 431,
-
- 462, 462, 462, 462, 467, 467, 463, 467, 424, 422,
- 459, 465, 465, 465, 465, 421, 419, 467, 467, 467,
- 467, 471, 471, 471, 471, 471, 471, 471, 471, 472,
- 472, 472, 472, 472, 472, 472, 472, 473, 473, 473,
- 473, 473, 473, 473, 473, 474, 474, 474, 474, 474,
- 474, 474, 474, 475, 475, 475, 475, 475, 475, 475,
- 475, 476, 476, 476, 476, 476, 476, 476, 476, 477,
- 477, 477, 477, 477, 477, 477, 477, 478, 478, 415,
- 478, 478, 478, 478, 478, 479, 479, 414, 479, 479,
- 479, 479, 479, 480, 480, 411, 480, 480, 480, 480,
-
- 480, 481, 481, 482, 482, 482, 482, 483, 410, 483,
- 483, 483, 484, 484, 484, 484, 484, 484, 484, 484,
- 485, 485, 405, 485, 485, 485, 485, 485, 486, 486,
- 486, 486, 486, 486, 486, 486, 487, 487, 401, 487,
- 487, 487, 487, 487, 488, 488, 488, 488, 488, 488,
- 488, 488, 489, 397, 489, 490, 490, 490, 490, 491,
- 491, 491, 491, 492, 492, 492, 492, 492, 492, 492,
- 492, 493, 396, 493, 493, 493, 494, 494, 395, 394,
- 494, 494, 495, 495, 495, 495, 496, 496, 496, 496,
- 496, 496, 497, 497, 382, 497, 497, 497, 497, 497,
-
- 498, 498, 381, 498, 498, 498, 498, 498, 380, 379,
- 374, 371, 370, 369, 368, 367, 366, 357, 354, 350,
- 344, 342, 339, 337, 336, 335, 334, 328, 324, 316,
- 304, 302, 298, 294, 293, 291, 290, 286, 285, 284,
- 281, 278, 251, 242, 240, 234, 233, 232, 228, 226,
- 225, 223, 221, 218, 217, 216, 214, 213, 212, 211,
- 209, 208, 206, 205, 204, 202, 198, 155, 154, 152,
- 151, 150, 146, 145, 144, 138, 135, 134, 131, 128,
- 126, 125, 123, 120, 115, 113, 112, 109, 108, 105,
- 100, 60, 54, 48, 37, 36, 32, 29, 23, 470,
-
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470, 470, 470,
- 470, 470, 470, 470, 470, 470, 470, 470
+ 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, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
+ 3, 35, 3, 2, 37, 2, 2, 4, 75, 4,
+ 3, 5, 4, 5, 9, 5, 36, 4, 5, 30,
+ 67, 30, 7, 5, 7, 35, 7, 8, 37, 8,
+ 4, 8, 8, 10, 9, 75, 9, 9, 5, 53,
+
+ 10, 53, 36, 17, 39, 17, 36, 2, 39, 7,
+ 67, 9, 13, 17, 8, 46, 13, 9, 14, 46,
+ 10, 14, 10, 10, 41, 14, 5, 5, 6, 65,
+ 6, 65, 6, 6, 6, 6, 13, 10, 13, 13,
+ 6, 41, 19, 10, 19, 14, 39, 14, 14, 66,
+ 18, 18, 19, 18, 18, 6, 18, 46, 77, 20,
+ 20, 18, 20, 20, 21, 20, 21, 22, 68, 22,
+ 20, 80, 22, 66, 21, 52, 76, 22, 29, 29,
+ 29, 29, 77, 6, 6, 11, 11, 71, 68, 71,
+ 31, 503, 31, 31, 31, 31, 40, 38, 52, 501,
+
+ 11, 38, 76, 40, 11, 80, 11, 11, 11, 11,
+ 57, 40, 11, 64, 57, 11, 73, 64, 11, 11,
+ 79, 40, 11, 11, 11, 11, 52, 52, 78, 11,
+ 11, 15, 31, 81, 98, 15, 15, 99, 32, 15,
+ 32, 32, 32, 32, 117, 38, 73, 79, 98, 57,
+ 99, 498, 57, 497, 78, 64, 117, 142, 15, 15,
+ 15, 15, 15, 81, 83, 15, 81, 142, 15, 15,
+ 15, 15, 15, 94, 74, 15, 15, 15, 15, 70,
+ 91, 70, 70, 70, 70, 72, 72, 72, 72, 82,
+ 83, 84, 95, 92, 74, 101, 97, 93, 74, 94,
+
+ 72, 74, 96, 102, 91, 100, 132, 91, 492, 82,
+ 82, 491, 84, 92, 93, 96, 95, 97, 84, 132,
+ 92, 82, 134, 96, 93, 100, 100, 106, 172, 107,
+ 102, 106, 101, 107, 135, 108, 108, 100, 106, 108,
+ 112, 113, 114, 114, 112, 113, 114, 135, 108, 148,
+ 169, 112, 134, 114, 172, 114, 118, 118, 133, 489,
+ 118, 121, 121, 121, 121, 124, 124, 124, 124, 169,
+ 125, 107, 125, 125, 125, 125, 126, 144, 126, 126,
+ 126, 126, 128, 113, 128, 128, 128, 128, 136, 138,
+ 141, 133, 136, 138, 140, 154, 160, 161, 118, 154,
+
+ 148, 148, 140, 170, 162, 141, 144, 171, 140, 160,
+ 173, 141, 166, 166, 166, 166, 170, 174, 175, 176,
+ 171, 177, 178, 182, 161, 162, 180, 166, 179, 181,
+ 183, 138, 184, 186, 154, 185, 136, 154, 187, 178,
+ 180, 188, 182, 173, 189, 175, 190, 177, 191, 179,
+ 174, 176, 192, 184, 186, 179, 181, 193, 194, 195,
+ 183, 191, 189, 184, 196, 185, 197, 198, 201, 201,
+ 226, 187, 201, 194, 227, 191, 200, 188, 228, 190,
+ 200, 195, 253, 193, 487, 197, 240, 200, 192, 202,
+ 202, 229, 482, 202, 196, 198, 204, 204, 206, 227,
+
+ 204, 226, 206, 207, 207, 228, 254, 207, 255, 206,
+ 229, 208, 208, 253, 207, 208, 207, 210, 210, 240,
+ 262, 210, 218, 218, 218, 218, 221, 221, 221, 221,
+ 263, 254, 257, 257, 264, 265, 257, 266, 267, 255,
+ 261, 261, 261, 261, 268, 270, 271, 272, 274, 275,
+ 273, 266, 277, 262, 276, 261, 278, 268, 280, 281,
+ 263, 282, 285, 267, 270, 264, 265, 279, 480, 283,
+ 286, 284, 274, 287, 288, 281, 271, 289, 273, 275,
+ 276, 272, 273, 278, 284, 277, 283, 285, 279, 286,
+ 280, 282, 290, 291, 287, 288, 292, 293, 294, 294,
+
+ 289, 297, 294, 299, 300, 303, 291, 309, 315, 290,
+ 322, 303, 320, 323, 293, 326, 294, 318, 318, 324,
+ 328, 318, 292, 329, 333, 330, 336, 331, 309, 337,
+ 332, 335, 297, 299, 338, 300, 329, 320, 341, 315,
+ 334, 322, 330, 324, 331, 323, 335, 326, 337, 340,
+ 328, 332, 336, 334, 341, 342, 333, 334, 343, 344,
+ 345, 346, 348, 340, 349, 350, 364, 338, 352, 352,
+ 343, 368, 352, 372, 354, 354, 367, 348, 354, 355,
+ 355, 370, 350, 355, 373, 345, 346, 360, 342, 349,
+ 344, 360, 354, 367, 372, 374, 364, 375, 370, 376,
+
+ 378, 379, 380, 382, 386, 383, 368, 385, 387, 388,
+ 389, 390, 375, 391, 376, 392, 373, 379, 383, 385,
+ 401, 388, 394, 406, 378, 374, 394, 392, 386, 382,
+ 398, 402, 404, 405, 380, 407, 394, 394, 394, 394,
+ 387, 412, 413, 389, 390, 391, 401, 398, 404, 414,
+ 405, 415, 402, 416, 417, 406, 420, 418, 412, 419,
+ 421, 423, 426, 424, 429, 423, 413, 407, 420, 424,
+ 433, 430, 431, 437, 434, 423, 423, 423, 423, 435,
+ 439, 414, 418, 415, 419, 438, 417, 430, 440, 431,
+ 416, 434, 421, 426, 443, 435, 429, 438, 444, 449,
+
+ 450, 450, 450, 449, 453, 451, 456, 433, 439, 451,
+ 437, 458, 459, 460, 461, 462, 463, 449, 471, 464,
+ 476, 453, 456, 464, 474, 440, 443, 475, 477, 473,
+ 460, 478, 471, 468, 479, 444, 488, 468, 472, 458,
+ 475, 474, 461, 486, 463, 477, 459, 468, 468, 468,
+ 468, 479, 462, 469, 469, 469, 469, 470, 486, 478,
+ 488, 470, 470, 470, 470, 483, 490, 483, 483, 483,
+ 483, 484, 494, 496, 467, 484, 484, 484, 484, 493,
+ 493, 493, 493, 490, 500, 466, 499, 494, 499, 499,
+ 499, 499, 502, 502, 502, 502, 504, 504, 505, 505,
+
+ 504, 500, 505, 465, 457, 455, 496, 454, 452, 448,
+ 504, 504, 504, 504, 508, 508, 508, 508, 508, 508,
+ 508, 508, 508, 509, 509, 509, 509, 509, 509, 509,
+ 509, 509, 510, 510, 510, 510, 510, 510, 510, 510,
+ 510, 511, 511, 511, 511, 511, 511, 511, 511, 511,
+ 512, 512, 512, 512, 512, 512, 512, 512, 512, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 514, 514,
+ 447, 514, 514, 514, 514, 514, 514, 515, 515, 516,
+ 516, 516, 516, 517, 517, 446, 517, 517, 517, 517,
+ 517, 517, 518, 518, 445, 518, 518, 518, 518, 518,
+
+ 518, 519, 442, 519, 519, 519, 520, 520, 441, 520,
+ 520, 520, 520, 520, 520, 521, 521, 521, 521, 521,
+ 521, 521, 521, 521, 522, 436, 522, 523, 523, 523,
+ 523, 524, 524, 524, 524, 525, 525, 432, 525, 525,
+ 525, 525, 525, 525, 526, 526, 526, 526, 526, 526,
+ 526, 526, 526, 527, 527, 527, 527, 527, 527, 527,
+ 527, 527, 528, 528, 528, 528, 528, 528, 528, 528,
+ 528, 529, 428, 529, 529, 529, 530, 530, 427, 425,
+ 422, 530, 530, 531, 531, 531, 531, 532, 532, 411,
+ 532, 532, 532, 532, 533, 533, 410, 533, 533, 533,
+
+ 533, 533, 533, 534, 534, 409, 408, 534, 534, 534,
+ 534, 534, 535, 535, 403, 535, 535, 535, 535, 535,
+ 535, 400, 399, 397, 396, 395, 393, 384, 381, 377,
+ 371, 369, 366, 363, 362, 361, 359, 358, 357, 356,
+ 351, 347, 339, 327, 325, 321, 317, 316, 314, 310,
+ 308, 305, 302, 301, 298, 296, 269, 260, 258, 251,
+ 250, 248, 245, 244, 243, 241, 239, 238, 236, 235,
+ 233, 232, 231, 230, 225, 224, 223, 219, 217, 216,
+ 211, 168, 167, 165, 164, 163, 159, 155, 152, 150,
+ 149, 147, 139, 137, 131, 130, 129, 123, 120, 119,
+
+ 116, 115, 111, 105, 58, 47, 45, 34, 28, 23,
+ 16, 12, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507, 507, 507, 507, 507, 507, 507, 507, 507,
+ 507, 507
} ;
static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
#include "config.h"
#include <glib.h>
#include <string.h>
+#include <ctype.h>
#include "treefuncs.h"
#include "parse.h"
static int look_for_includes = 0;
int line_no = 1;
+/* last filename parsed from a #line directive */
+char *hline_filename = NULL;
static void
clear_cbuf(void)
#define GTK_DOC_LINE 10
-#line 959 "lex.yy.c"
+#line 1006 "lex.yy.c"
/* Macros after this point can all be overridden by user definitions in
* section 1.
register char *yy_cp = NULL, *yy_bp = NULL;
register int yy_act;
-#line 106 "lexer.l"
+#line 109 "lexer.l"
-#line 1124 "lex.yy.c"
+#line 1171 "lex.yy.c"
if ( yy_init )
{
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 >= 471 )
+ if ( yy_current_state >= 508 )
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] != 1100 );
+ while ( yy_base[yy_current_state] != 1213 );
yy_find_action:
yy_current_state = *--yy_state_ptr;
{ /* beginning of action switch */
case 1:
YY_RULE_SETUP
-#line 116 "lexer.l"
+#line 119 "lexer.l"
{ line_no++; REJECT; }
YY_BREAK
case 2:
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 118 "lexer.l"
+#line 121 "lexer.l"
{
/* Thy evil easter egg */
#define QQ(x) long x
yy_c_buf_p = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 140 "lexer.l"
+#line 143 "lexer.l"
{ ; /*comment, ignore*/ }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 141 "lexer.l"
+#line 145 "lexer.l"
+{
+ char *p;
+ char *number;
+ char *filename;
+ char *str=g_strdup(yytext);
+
+ /* find first digit of line number */
+ p=str;
+ while(*p&&!isdigit(*p)) p++;
+ number=p;
+
+ /* find end of line number */
+ while(*p&&isdigit(*p)) p++;
+ if(*p) *p++=0;
+
+ /* find beginning of filename */
+ p=strchr(p,'"');
+ if(p) p++;
+ filename=p;
+
+ /* find end of filename */
+ if(p) p=strchr(p,'"');
+ if(p) *p=0;
+
+ /* stash number (minus one because we don't count this line) */
+ if(number) line_no=atoi(number)-1;
+
+ /* stash filename */
+ if(filename) {
+ if(hline_filename) g_free(hline_filename);
+ hline_filename=g_strdup(filename);
+ }
+
+ /* clean up */
+ g_free(str);
+}
+ YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 182 "lexer.l"
{
if(look_for_includes==1) {
char *p;
REJECT;
}
YY_BREAK
-case 5:
+case 6:
*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 158 "lexer.l"
+#line 199 "lexer.l"
{
/* eat out gtk doc stuff */
BEGIN(GTK_DOC_BEFORE_NAME);
clear_cbuf();
}
YY_BREAK
-case 6:
+case 7:
*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 163 "lexer.l"
+#line 204 "lexer.l"
{
/* empty doc lines */
;
}
YY_BREAK
-case 7:
+case 8:
*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 167 "lexer.l"
+#line 208 "lexer.l"
{
char *p;
BEGIN(GTK_DOC);
g_strstrip(gtk_doc_func);
}
YY_BREAK
-case 8:
+case 9:
YY_RULE_SETUP
-#line 177 "lexer.l"
+#line 218 "lexer.l"
{
BEGIN(CLASS_CODE_I);
}
YY_BREAK
-case 9:
+case 10:
YY_RULE_SETUP
-#line 180 "lexer.l"
+#line 221 "lexer.l"
{
BEGIN(COMMENT);
before_comment = CLASS_CODE_I;
}
YY_BREAK
-case 10:
+case 11:
*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 184 "lexer.l"
+#line 225 "lexer.l"
{
/* empty doc lines */
add_to_cbuf(" *\n");
}
YY_BREAK
-case 11:
+case 12:
YY_RULE_SETUP
-#line 188 "lexer.l"
+#line 229 "lexer.l"
{
BEGIN(CLASS_CODE_I);
add_gtk_doc_func();
}
YY_BREAK
-case 12:
+case 13:
YY_RULE_SETUP
-#line 192 "lexer.l"
+#line 233 "lexer.l"
{
fflush(stdout);
add_to_cbuf(" * ");
BEGIN(GTK_DOC_LINE);
}
YY_BREAK
-case 13:
+case 14:
YY_RULE_SETUP
-#line 197 "lexer.l"
+#line 238 "lexer.l"
{
BEGIN(CLASS_CODE_I);
}
YY_BREAK
-case 14:
+case 15:
YY_RULE_SETUP
-#line 200 "lexer.l"
+#line 241 "lexer.l"
{
BEGIN(COMMENT);
before_comment = CLASS_CODE_I;
}
YY_BREAK
-case 15:
+case 16:
YY_RULE_SETUP
-#line 204 "lexer.l"
+#line 245 "lexer.l"
{
BEGIN(CLASS_CODE_I);
add_to_cbuf("\n");
add_gtk_doc_func();
}
YY_BREAK
-case 16:
+case 17:
*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 209 "lexer.l"
+#line 250 "lexer.l"
{
BEGIN(GTK_DOC);
add_to_cbuf(yytext);
add_to_cbuf("\n");
}
YY_BREAK
-case 17:
+case 18:
YY_RULE_SETUP
-#line 214 "lexer.l"
+#line 255 "lexer.l"
{
fflush(stdout);
add_to_cbuf(yytext);
}
YY_BREAK
-case 18:
+case 19:
*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 219 "lexer.l"
+#line 260 "lexer.l"
{ add_to_cbuf(yytext); /*comment, ignore*/ }
YY_BREAK
-case 19:
+case 20:
*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 220 "lexer.l"
+#line 261 "lexer.l"
{ ; /*comment, ignore*/ }
YY_BREAK
-case 20:
+case 21:
*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 221 "lexer.l"
+#line 262 "lexer.l"
{ ; /*comment, ignore*/ }
YY_BREAK
-case 21:
+case 22:
YY_RULE_SETUP
-#line 222 "lexer.l"
+#line 263 "lexer.l"
{BEGIN(COMMENT); before_comment = INITIAL; }
YY_BREAK
-case 22:
+case 23:
YY_RULE_SETUP
-#line 223 "lexer.l"
+#line 264 "lexer.l"
{
add_to_cbuf(yytext);
BEGIN(COMMENT);
before_comment = C_CODE;
}
YY_BREAK
-case 23:
+case 24:
YY_RULE_SETUP
-#line 228 "lexer.l"
+#line 269 "lexer.l"
{BEGIN(COMMENT); before_comment = CLASS_CODE; }
YY_BREAK
-case 24:
+case 25:
YY_RULE_SETUP
-#line 229 "lexer.l"
+#line 270 "lexer.l"
{BEGIN(COMMENT); before_comment = CLASS_CODE_I; }
YY_BREAK
-case 25:
+case 26:
YY_RULE_SETUP
-#line 230 "lexer.l"
+#line 271 "lexer.l"
{
if(before_comment == C_CODE) add_to_cbuf(yytext);
BEGIN(before_comment);
}
YY_BREAK
-case 26:
+case 27:
YY_RULE_SETUP
-#line 234 "lexer.l"
+#line 275 "lexer.l"
{
/* comment, ignore */
if(before_comment == C_CODE) add_to_cbuf(yytext);
}
YY_BREAK
-case 27:
+case 28:
YY_RULE_SETUP
-#line 238 "lexer.l"
+#line 279 "lexer.l"
{
/* comment, ignore */
if(before_comment == C_CODE) add_to_cbuf(yytext);
}
YY_BREAK
-case 28:
+case 29:
YY_RULE_SETUP
-#line 243 "lexer.l"
+#line 284 "lexer.l"
{
BEGIN(C_CODE);
parenth_depth = 1;
ccode_line = line_no;
}
YY_BREAK
-case 29:
+case 30:
YY_RULE_SETUP
-#line 251 "lexer.l"
+#line 292 "lexer.l"
{
BEGIN(C_CODE);
parenth_depth = 1;
ccode_line = line_no;
}
YY_BREAK
-case 30:
+case 31:
YY_RULE_SETUP
-#line 260 "lexer.l"
+#line 301 "lexer.l"
{
BEGIN(C_CODE);
parenth_depth = 1;
ccode_line = line_no;
}
YY_BREAK
-case 31:
+case 32:
YY_RULE_SETUP
-#line 268 "lexer.l"
+#line 309 "lexer.l"
{
BEGIN(C_CODE);
parenth_depth = 1;
ccode_line = line_no;
}
YY_BREAK
-case 32:
+case 33:
YY_RULE_SETUP
-#line 276 "lexer.l"
+#line 317 "lexer.l"
{
BEGIN(C_CODE);
parenth_depth = 1;
ccode_line = line_no;
}
YY_BREAK
-case 33:
+case 34:
YY_RULE_SETUP
-#line 284 "lexer.l"
+#line 325 "lexer.l"
{
BEGIN(C_CODE);
parenth_depth = 1;
look_for_includes=1;
}
YY_BREAK
-case 34:
+case 35:
YY_RULE_SETUP
-#line 294 "lexer.l"
+#line 335 "lexer.l"
{
BEGIN(INITIAL);
yylval.cbuf = cbuf;
return code_type;
}
YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 303 "lexer.l"
-{ add_to_cbuf(yytext); }
- YY_BREAK
case 36:
YY_RULE_SETUP
-#line 304 "lexer.l"
+#line 344 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 305 "lexer.l"
+#line 345 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 306 "lexer.l"
+#line 346 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 307 "lexer.l"
+#line 347 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 308 "lexer.l"
+#line 348 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 310 "lexer.l"
+#line 349 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 313 "lexer.l"
+#line 351 "lexer.l"
+{ add_to_cbuf(yytext); }
+ YY_BREAK
+case 43:
+YY_RULE_SETUP
+#line 354 "lexer.l"
{
BEGIN(CODE_STRING);
before_string = C_CODE;
add_to_cbuf(yytext);
}
YY_BREAK
-case 43:
+case 44:
YY_RULE_SETUP
-#line 318 "lexer.l"
+#line 359 "lexer.l"
{
BEGIN(CODE_STRING);
before_string = PROPERTY_CODE_I;
add_to_cbuf(yytext);
}
YY_BREAK
-case 44:
+case 45:
YY_RULE_SETUP
-#line 323 "lexer.l"
+#line 364 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
-case 45:
+case 46:
YY_RULE_SETUP
-#line 324 "lexer.l"
+#line 365 "lexer.l"
{
BEGIN(before_string);
add_to_cbuf(yytext);
}
}
YY_BREAK
-case 46:
+case 47:
YY_RULE_SETUP
-#line 334 "lexer.l"
+#line 375 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
-case 47:
+case 48:
YY_RULE_SETUP
-#line 335 "lexer.l"
+#line 376 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
-case 48:
+case 49:
YY_RULE_SETUP
-#line 337 "lexer.l"
+#line 378 "lexer.l"
{
parenth_depth++;
add_to_cbuf(yytext);
}
YY_BREAK
-case 49:
+case 50:
YY_RULE_SETUP
-#line 341 "lexer.l"
+#line 382 "lexer.l"
{
parenth_depth--;
if(parenth_depth<0) {
add_to_cbuf(yytext);
}
YY_BREAK
-case 50:
+case 51:
YY_RULE_SETUP
-#line 354 "lexer.l"
+#line 395 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
-case 51:
+case 52:
YY_RULE_SETUP
-#line 355 "lexer.l"
+#line 396 "lexer.l"
{ add_to_cbuf(yytext); }
YY_BREAK
-case 52:
+case 53:
YY_RULE_SETUP
-#line 357 "lexer.l"
+#line 398 "lexer.l"
{
static int found_classes = 0;
look_for_includes = 2;
return CLASS;
}
YY_BREAK
-case 53:
+case 54:
+YY_RULE_SETUP
+#line 411 "lexer.l"
+{ return ERROR; }
+ YY_BREAK
+case 55:
+YY_RULE_SETUP
+#line 412 "lexer.l"
+{ return ENUM; }
+ YY_BREAK
+case 56:
+YY_RULE_SETUP
+#line 413 "lexer.l"
+{ return FLAGS; }
+ YY_BREAK
+case 57:
*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 370 "lexer.l"
+#line 415 "lexer.l"
{
int maj = 0, min = 0, pl = 0;
int rmaj = 0, rmin = 0, rpl = 0;
"(this is %s)\n"
"To upgrade your gob, see: "
"http://www.5z.com/jirka/gob.html",
- maj, VERSION);
+ effective_maj, VERSION);
}
}
YY_BREAK
-case 54:
+case 58:
YY_RULE_SETUP
-#line 411 "lexer.l"
+#line 456 "lexer.l"
{
if(for_cpp) {
error_printf(GOB_WARN, line_no,
REJECT;
}
YY_BREAK
-case 55:
+case 59:
YY_RULE_SETUP
-#line 421 "lexer.l"
+#line 466 "lexer.l"
{return FROM;}
YY_BREAK
-case 56:
+case 60:
YY_RULE_SETUP
-#line 423 "lexer.l"
+#line 468 "lexer.l"
{return VOID;}
YY_BREAK
-case 57:
+case 61:
YY_RULE_SETUP
-#line 424 "lexer.l"
+#line 469 "lexer.l"
{return STRUCT;}
YY_BREAK
-case 58:
+case 62:
YY_RULE_SETUP
-#line 425 "lexer.l"
+#line 470 "lexer.l"
{return UNION;}
YY_BREAK
-case 59:
+case 63:
YY_RULE_SETUP
-#line 426 "lexer.l"
+#line 471 "lexer.l"
{return ENUM;}
YY_BREAK
-case 60:
+case 64:
YY_RULE_SETUP
-#line 427 "lexer.l"
+#line 472 "lexer.l"
{return SIGNED;}
YY_BREAK
-case 61:
+case 65:
YY_RULE_SETUP
-#line 428 "lexer.l"
+#line 473 "lexer.l"
{return UNSIGNED;}
YY_BREAK
-case 62:
+case 66:
YY_RULE_SETUP
-#line 429 "lexer.l"
+#line 474 "lexer.l"
{return LONG;}
YY_BREAK
-case 63:
+case 67:
YY_RULE_SETUP
-#line 430 "lexer.l"
+#line 475 "lexer.l"
{return SHORT;}
YY_BREAK
-case 64:
+case 68:
YY_RULE_SETUP
-#line 431 "lexer.l"
+#line 476 "lexer.l"
{return INT;}
YY_BREAK
-case 65:
+case 69:
YY_RULE_SETUP
-#line 432 "lexer.l"
+#line 477 "lexer.l"
{return FLOAT;}
YY_BREAK
-case 66:
+case 70:
YY_RULE_SETUP
-#line 433 "lexer.l"
+#line 478 "lexer.l"
{return DOUBLE;}
YY_BREAK
-case 67:
+case 71:
YY_RULE_SETUP
-#line 434 "lexer.l"
+#line 479 "lexer.l"
{return CHAR;}
YY_BREAK
-case 68:
+case 72:
YY_RULE_SETUP
-#line 435 "lexer.l"
+#line 480 "lexer.l"
{return CONST;}
YY_BREAK
-case 69:
+case 73:
YY_RULE_SETUP
-#line 437 "lexer.l"
+#line 482 "lexer.l"
{return THREEDOTS;}
YY_BREAK
-case 70:
+case 74:
YY_RULE_SETUP
-#line 439 "lexer.l"
+#line 484 "lexer.l"
{yylval.line = line_no; return PUBLIC;}
YY_BREAK
-case 71:
+case 75:
YY_RULE_SETUP
-#line 440 "lexer.l"
+#line 485 "lexer.l"
{yylval.line = line_no; return PRIVATE;}
YY_BREAK
-case 72:
+case 76:
YY_RULE_SETUP
-#line 441 "lexer.l"
+#line 486 "lexer.l"
{yylval.line = line_no; return PROTECTED;}
YY_BREAK
-case 73:
+case 77:
YY_RULE_SETUP
-#line 442 "lexer.l"
+#line 487 "lexer.l"
{yylval.line = line_no; return CLASSWIDE;}
YY_BREAK
-case 74:
+case 78:
YY_RULE_SETUP
-#line 443 "lexer.l"
+#line 488 "lexer.l"
{yylval.line = line_no; return ARGUMENT;}
YY_BREAK
-case 75:
+case 79:
YY_RULE_SETUP
-#line 444 "lexer.l"
+#line 489 "lexer.l"
{yylval.line = line_no; return VIRTUAL;}
YY_BREAK
-case 76:
+case 80:
YY_RULE_SETUP
-#line 445 "lexer.l"
+#line 490 "lexer.l"
{yylval.line = line_no; return SIGNAL;}
YY_BREAK
-case 77:
+case 81:
YY_RULE_SETUP
-#line 446 "lexer.l"
+#line 491 "lexer.l"
{yylval.line = line_no; return OVERRIDE;}
YY_BREAK
-case 78:
+case 82:
YY_RULE_SETUP
-#line 447 "lexer.l"
+#line 492 "lexer.l"
{
yylval.line = line_no;
BEGIN(PROPERTY_CODE);
return PROPERTY;
}
YY_BREAK
-case 79:
+case 83:
YY_RULE_SETUP
-#line 452 "lexer.l"
+#line 497 "lexer.l"
{ yylval.line = line_no; return NICK; }
YY_BREAK
-case 80:
+case 84:
YY_RULE_SETUP
-#line 453 "lexer.l"
+#line 498 "lexer.l"
{ yylval.line = line_no; return BLURB; }
YY_BREAK
-case 81:
+case 85:
YY_RULE_SETUP
-#line 454 "lexer.l"
+#line 499 "lexer.l"
{ yylval.line = line_no; return MAXIMUM; }
YY_BREAK
-case 82:
+case 86:
YY_RULE_SETUP
-#line 455 "lexer.l"
+#line 500 "lexer.l"
{ yylval.line = line_no; return MINIMUM; }
YY_BREAK
-case 83:
+case 87:
YY_RULE_SETUP
-#line 456 "lexer.l"
+#line 501 "lexer.l"
{ yylval.line = line_no; return DEFAULT_VALUE; }
YY_BREAK
-case 84:
+case 88:
YY_RULE_SETUP
-#line 457 "lexer.l"
+#line 502 "lexer.l"
{ yylval.line = line_no; return FLAGS; }
YY_BREAK
-case 85:
+case 89:
YY_RULE_SETUP
-#line 458 "lexer.l"
+#line 503 "lexer.l"
{ yylval.line = line_no; return TYPE; }
YY_BREAK
-case 86:
+case 90:
YY_RULE_SETUP
-#line 459 "lexer.l"
+#line 504 "lexer.l"
{ yylval.line = line_no; return FLAGS_TYPE; }
YY_BREAK
-case 87:
+case 91:
YY_RULE_SETUP
-#line 460 "lexer.l"
+#line 505 "lexer.l"
{ yylval.line = line_no; return ENUM_TYPE; }
YY_BREAK
-case 88:
+case 92:
YY_RULE_SETUP
-#line 461 "lexer.l"
+#line 506 "lexer.l"
{ yylval.line = line_no; return PARAM_TYPE; }
YY_BREAK
-case 89:
+case 93:
YY_RULE_SETUP
-#line 462 "lexer.l"
+#line 507 "lexer.l"
{ yylval.line = line_no; return BOXED_TYPE; }
YY_BREAK
-case 90:
+case 94:
YY_RULE_SETUP
-#line 463 "lexer.l"
+#line 508 "lexer.l"
{ yylval.line = line_no; return OBJECT_TYPE; }
YY_BREAK
-case 91:
+case 95:
YY_RULE_SETUP
-#line 464 "lexer.l"
+#line 509 "lexer.l"
{
yylval.line = line_no;
property_paren_depth = 1;
return '(';
}
YY_BREAK
-case 92:
+case 96:
YY_RULE_SETUP
-#line 470 "lexer.l"
+#line 515 "lexer.l"
{
yylval.line = line_no;
property_paren_depth++;
return '(';
}
YY_BREAK
-case 93:
+case 97:
YY_RULE_SETUP
-#line 475 "lexer.l"
+#line 520 "lexer.l"
{
yylval.line = line_no;
property_paren_depth--;
return ')';
}
YY_BREAK
-case 94:
+case 98:
YY_RULE_SETUP
-#line 484 "lexer.l"
+#line 529 "lexer.l"
{
yylval.id = g_strdup(yytext);
return NUMBER;
}
YY_BREAK
-case 95:
+case 99:
YY_RULE_SETUP
-#line 488 "lexer.l"
+#line 533 "lexer.l"
{
/* this one is for a classname with a namespace */
yylval.id = g_strdup(yytext);
return TYPETOKEN;
}
YY_BREAK
-case 96:
+case 100:
YY_RULE_SETUP
-#line 493 "lexer.l"
+#line 538 "lexer.l"
{
/* this is for a classname with an empty namespace */
yylval.id = g_strdup(yytext);
return TYPETOKEN;
}
YY_BREAK
-case 97:
+case 101:
YY_RULE_SETUP
-#line 498 "lexer.l"
+#line 543 "lexer.l"
{
yylval.id = g_strdup(yytext);
return TOKEN;
}
YY_BREAK
-case 98:
+case 102:
YY_RULE_SETUP
-#line 502 "lexer.l"
+#line 547 "lexer.l"
{
yylval.id = g_strdup(yytext);
return SINGLE_CHAR;
}
YY_BREAK
-case 99:
+case 103:
YY_RULE_SETUP
-#line 507 "lexer.l"
+#line 552 "lexer.l"
{
yylval.id = g_strdup(yytext);
return ARRAY_DIM;
}
YY_BREAK
-case 100:
+case 104:
YY_RULE_SETUP
-#line 512 "lexer.l"
+#line 557 "lexer.l"
{
BEGIN(CLASS_CODE_I);
return '{';
}
YY_BREAK
-case 101:
+case 105:
YY_RULE_SETUP
-#line 516 "lexer.l"
+#line 561 "lexer.l"
{
BEGIN(C_CODE);
parenth_depth=1;
return '{';
}
YY_BREAK
-case 102:
+case 106:
YY_RULE_SETUP
-#line 525 "lexer.l"
+#line 570 "lexer.l"
{
BEGIN(INITIAL);
return '}';
}
YY_BREAK
-case 103:
+case 107:
YY_RULE_SETUP
-#line 530 "lexer.l"
+#line 575 "lexer.l"
; /*ignore*/
YY_BREAK
-case 104:
+case 108:
YY_RULE_SETUP
-#line 532 "lexer.l"
+#line 577 "lexer.l"
{
yylval.line = line_no;
return yytext[0];
}
YY_BREAK
-case 105:
+case 109:
YY_RULE_SETUP
-#line 537 "lexer.l"
+#line 582 "lexer.l"
; /*ignore*/
YY_BREAK
-case 106:
+case 110:
YY_RULE_SETUP
-#line 539 "lexer.l"
+#line 584 "lexer.l"
ECHO;
YY_BREAK
-#line 2064 "lex.yy.c"
+#line 2166 "lex.yy.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(COMMENT):
case YY_STATE_EOF(C_CODE):
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 >= 471 )
+ if ( yy_current_state >= 508 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
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 >= 471 )
+ if ( yy_current_state >= 508 )
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 == 470);
+ yy_is_jam = (yy_current_state == 507);
if ( ! yy_is_jam )
*yy_state_ptr++ = yy_current_state;
}
-#ifndef YY_ALWAYS_INTERACTIVE
-#ifndef YY_NEVER_INTERACTIVE
-extern int isatty YY_PROTO(( int ));
-#endif
-#endif
#ifdef YY_USE_PROTOS
void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
return 0;
}
#endif
-#line 539 "lexer.l"
+#line 584 "lexer.l"
/* Ugly warning avoiding */
#include "config.h"
#include <glib.h>
#include <string.h>
+#include <ctype.h>
#include "treefuncs.h"
#include "parse.h"
static int look_for_includes = 0;
int line_no = 1;
+/* last filename parsed from a #line directive */
+char *hline_filename = NULL;
static void
clear_cbuf(void)
}
\/\/.*$ { ; /*comment, ignore*/ }
+
+<*>^#[ \t]*line[ \t]+[0-9]+([ \t]\"[^\n\r\f\"]*\")? {
+ char *p;
+ char *number;
+ char *filename;
+ char *str=g_strdup(yytext);
+
+ /* find first digit of line number */
+ p=str;
+ while(*p&&!isdigit(*p)) p++;
+ number=p;
+
+ /* find end of line number */
+ while(*p&&isdigit(*p)) p++;
+ if(*p) *p++=0;
+
+ /* find beginning of filename */
+ p=strchr(p,'"');
+ if(p) p++;
+ filename=p;
+
+ /* find end of filename */
+ if(p) p=strchr(p,'"');
+ if(p) *p=0;
+
+ /* stash number (minus one because we don't count this line) */
+ if(number) line_no=atoi(number)-1;
+
+ /* stash filename */
+ if(filename) {
+ if(hline_filename) g_free(hline_filename);
+ hline_filename=g_strdup(filename);
+ }
+
+ /* clean up */
+ g_free(str);
+}
+
<C_CODE>^#[ \t]*include[ \t][<"][^\n">]*[>"] {
if(look_for_includes==1) {
char *p;
return CLASS;
}
+error { return ERROR; }
+enum { return ENUM; }
+flags { return FLAGS; }
+
^[ \t]*requires[ \t]+[0-9]+\.[0-9]+\.[0-9]+[\t ]*$ {
int maj = 0, min = 0, pl = 0;
int rmaj = 0, rmin = 0, rpl = 0;
"(this is %s)\n"
"To upgrade your gob, see: "
"http://www.5z.com/jirka/gob.html",
- maj, VERSION);
+ effective_maj, VERSION);
}
}
return ')';
}
-<CLASS_CODE,CLASS_CODE_I,PROPERTY_CODE,PROPERTY_CODE_I>0|[1-9][0-9]*|0x[0-9a-fA-F]+|0[0-7]+|[0-9]*\.[0-9]+|\.[0-9][0-9]* {
+<CLASS_CODE,CLASS_CODE_I,PROPERTY_CODE,PROPERTY_CODE_I,INITIAL>0|[1-9][0-9]*|0x[0-9a-fA-F]+|0[0-7]+|[0-9]*\.[0-9]+|\.[0-9][0-9]* {
yylval.id = g_strdup(yytext);
return NUMBER;
}
-<CLASS_CODE,CLASS_CODE_I,PROPERTY_CODE,PROPERTY_CODE_I>[A-Za-z_][A-Za-z0-9_]*(:[A-Za-z0-9_]*)+ {
+<CLASS_CODE,CLASS_CODE_I,PROPERTY_CODE,PROPERTY_CODE_I,INITIAL>[A-Za-z_][A-Za-z0-9_]*(:[A-Za-z0-9_]*)+ {
/* this one is for a classname with a namespace */
yylval.id = g_strdup(yytext);
return TYPETOKEN;
}
-<CLASS_CODE,CLASS_CODE_I,PROPERTY_CODE,PROPERTY_CODE_I>:[A-Za-z_][A-Za-z0-9_]*(:[A-Za-z0-9_]*)* {
+<CLASS_CODE,CLASS_CODE_I,PROPERTY_CODE,PROPERTY_CODE_I,INITIAL>:[A-Za-z_][A-Za-z0-9_]*(:[A-Za-z0-9_]*)* {
/* this is for a classname with an empty namespace */
yylval.id = g_strdup(yytext);
return TYPETOKEN;
}
-<CLASS_CODE,CLASS_CODE_I,PROPERTY_CODE,PROPERTY_CODE_I>[A-Za-z_][A-Za-z0-9_]* {
+<CLASS_CODE,CLASS_CODE_I,PROPERTY_CODE,PROPERTY_CODE_I,INITIAL>[A-Za-z_][A-Za-z0-9_]* {
yylval.id = g_strdup(yytext);
return TOKEN;
}
-<CLASS_CODE,CLASS_CODE_I,PROPERTY_CODE,PROPERTY_CODE_I>\'\\.\'|\'.\' {
+<CLASS_CODE,CLASS_CODE_I,PROPERTY_CODE,PROPERTY_CODE_I,INITIAL>\'\\.\'|\'.\' {
yylval.id = g_strdup(yytext);
return SINGLE_CHAR;
}
return '}';
}
-<CLASS_CODE,CLASS_CODE_I,INITIAL,PROPERTY_CODE,PROPERTY_CODE_I>[\t ] ; /*ignore*/
+<CLASS_CODE,CLASS_CODE_I,INITIAL,PROPERTY_CODE,PROPERTY_CODE_I>[\f\t ] ; /*ignore*/
<*>. {
yylval.line = line_no;
extern FILE * yyin;
extern Node *class;
extern GList *nodes;
+extern GList *enums;
extern GList *include_files;
gboolean no_self_alias = FALSE;
gboolean always_private_struct = FALSE;
+gboolean use_m4 = FALSE; /* preprocess sources with m4 */
+gboolean use_m4_clean = FALSE; /* preprocess sources with m4, no m4 flags */
+char *m4_commandline = NULL;
+#define M4_INCLUDE_DIR PKGDATADIR "/m4"
+#define M4_BASE_FILENAME "gobm4.m4"
+#define M4_FLAGS "-P -s -I" M4_INCLUDE_DIR " -DGOBM4_GOB_VERSION=" VERSION " " M4_BASE_FILENAME
+#define M4_COMMANDLINE "m4"
+
int method_unique_id = 1;
static void
static void
put_signal_macro (const Method *m, gboolean gnu)
{
- char *id;
-
if(m->method != SIGNAL_LAST_METHOD &&
m->method != SIGNAL_FIRST_METHOD)
return;
- id = g_strdup (m->id);
- g_strup (id);
-
if ( ! gnu) {
- out_printf (outh, "#define %s_SIGNAL_%s(func)\t"
- "\"%s\",(GCallback)(func)\n",
- macrobase, id, m->id);
+ /* connect */
+ out_printf (outh, "#define %s_connect__%s(object,func,data)\t"
+ "g_signal_connect(%s(object),\"%s\","
+ "(GCallback)(func),(data))\n",
+ funcbase, m->id, macrobase, m->id);
+
+ /* connect_after */
+ out_printf (outh, "#define %s_connect_after__%s(object,func,data)\t"
+ "g_signal_connect_after(%s(object),\"%s\","
+ "(GCallback)(func),(data))\n",
+ funcbase, m->id, macrobase, m->id);
+
+ /* connect_data */
+ out_printf (outh, "#define %s_connect_data__%s"
+ "(object,func,data,destroy_data,flags)\t"
+ "g_signal_connect_data(%s(object),\"%s\","
+ "(GCallback)(func),(data),(destroy_data),(flags))\n",
+ funcbase, m->id, macrobase, m->id);
} else {
- out_printf (outh, "#define %s_SIGNAL_%s(func)\t"
- "\"%s\",(GCallback)(({",
- macrobase, id, m->id);
- print_method (outh, "", "(* ___", "", ") ", ", gpointer data ",
- " = func; ", m, FALSE, TRUE, TRUE);
- out_printf (outh, "___%s; }))\n", m->id);
-
+ /* connect */
+ out_printf (outh, "#define %s_connect__%s(object,func,data)\t"
+ "g_signal_connect("
+ "%s(({%s *___object = (object); ___object; })),"
+ "\"%s\","
+ "(GCallback)({",
+ funcbase, m->id, macrobase, typebase, m->id);
+ print_method (outh, "", "(* ___", "", ") ", ", gpointer ___data ",
+ " = (func); ", m, FALSE, TRUE, TRUE);
+ out_printf (outh, "___%s; }), (data))\n", m->id);
+
+ /* connect_after */
+ out_printf (outh, "#define %s_connect_after__%s(object,func,data)\t"
+ "g_signal_connect_after("
+ "%s(({%s *___object = (object); ___object; })),"
+ "\"%s\","
+ "(GCallback)({",
+ funcbase, m->id, macrobase, typebase, m->id);
+ print_method (outh, "", "(* ___", "", ") ", ", gpointer ___data ",
+ " = (func); ", m, FALSE, TRUE, TRUE);
+ out_printf (outh, "___%s; }), (data))\n", m->id);
+
+ /* connect_data */
+ out_printf (outh, "#define %s_connect_data__%s"
+ "(object,func,data,destroy_data,flags)\t"
+ "g_signal_connect_data("
+ "%s(({%s *___object = (object); ___object; })),"
+ "\"%s\","
+ "(GCallback)({",
+ funcbase, m->id, macrobase, typebase, m->id);
+ print_method (outh, "", "(* ___", "", ") ", ", gpointer ___data ",
+ " = (func); ", m, FALSE, TRUE, TRUE);
+ out_printf (outh, "___%s; }), (data), (destroy_data), (flags))\n", m->id);
}
- g_free (id);
}
static void
}
}
+static void
+put_local_signal_macro (const Method *m)
+{
+ if(m->method != SIGNAL_LAST_METHOD &&
+ m->method != SIGNAL_FIRST_METHOD)
+ return;
+
+ /* connect */
+ out_printf (out, "#define self_connect__%s(object,func,data)\t"
+ "%s_connect__%s((object),(func),(data))\n",
+ m->id, funcbase, m->id);
+
+ /* connect_after */
+ out_printf (out, "#define self_connect_after__%s(object,func,data)\t"
+ "%s_connect_after__%s((object),(func),(data))\n",
+ m->id, funcbase, m->id);
+
+ /* connect_data */
+ out_printf (out, "#define self_connect_data__%s(object,func,data,destroy_data,flags)\t"
+ "%s_connect_data__%s((object),(func),(data),(destroy_data),(flags))\n",
+ m->id, funcbase, m->id);
+}
+
+static void
+put_local_signal_macros (const Class *c)
+{
+ const GList *li;
+
+ if (signals < 0)
+ return;
+
+ for (li = c->nodes; li != NULL; li = li->next) {
+ const Node *n = li->data;
+ if (n->type == METHOD_NODE)
+ put_local_signal_macro ((Method *)n);
+ }
+}
+
static void
put_prot_method(const Method *m)
}
static GList *
-make_func_arg(char *typename, int is_class, char *name)
+make_func_arg (const char *typename, gboolean is_class, const char *name)
{
Node *node;
Node *type;
char *tn;
- if(is_class)
- tn = g_strconcat(typename, ":Class", NULL);
+ if (is_class)
+ tn = g_strconcat (typename, ":Class", NULL);
else
- tn = g_strdup(typename);
+ tn = g_strdup (typename);
type = node_new (TYPE_NODE,
"name:steal", tn,
NULL);
node = node_new (FUNCARG_NODE,
"atype:steal", (Type *)type,
- "name:steal", name,
+ "name", name,
NULL);
- return g_list_prepend(NULL, node);
+ return g_list_prepend (NULL, node);
}
static void
"method", CLASS_INIT_METHOD,
"mtype:steal", type,
"id", "class_init",
- "args:steal", make_func_arg (cl->otype, TRUE, g_strdup("c")),
+ "args:steal", make_func_arg (cl->otype,
+ TRUE /* is_class */,
+ "c" /* name */),
"unique_id", method_unique_id++,
NULL);
cl->nodes = g_list_prepend(cl->nodes, node);
"method", INIT_METHOD,
"mtype:steal", type,
"id", "init",
- "args:steal", make_func_arg (cl->otype, TRUE, g_strdup("o")),
+ "args:steal", make_func_arg (cl->otype,
+ FALSE /* is_class */,
+ "o" /* name */),
"unique_id", method_unique_id++,
NULL);
cl->nodes = g_list_prepend(cl->nodes, node);
out_printf(out, "static %sClass *parent_class = NULL;\n\n", ptypebase);
}
+static void
+add_interface_methods (Class *c, const char *interface)
+{
+ GList *li;
+ gboolean added_line = FALSE;
+
+ for (li = c->nodes; li != NULL; li = li->next) {
+ Node *n = li->data;
+ Method *m = (Method *)n;
+ if (n->type != METHOD_NODE ||
+ m->method == OVERRIDE_METHOD ||
+ m->interface == NULL ||
+ strcmp (m->interface, interface) != 0)
+ continue;
+
+ if (m->line_no > 0) {
+ out_addline_infile (out, m->line_no);
+ added_line = TRUE;
+ } else if (m->line_no == 0 &&
+ added_line) {
+ out_addline_outfile (out);
+ added_line = FALSE;
+ }
+ out_printf (out, "\tiface->%s = self_%s;\n",
+ m->id, m->id);
+ }
+ if (added_line)
+ out_addline_outfile (out);
+}
+
+static void
+add_interface_inits (Class *c)
+{
+ GList *li;
+
+ if (c->interfaces == NULL)
+ return;
+
+ out_printf(out, "\n");
+
+ for (li = c->interfaces; li != NULL; li = li->next) {
+ const char *interface = li->data;
+ char *name = replace_sep (interface, '_');
+ char *type = remove_sep (interface);
+
+ out_printf (out, "\nstatic void\n"
+ "___%s_init (%sIface *iface)\n"
+ "{\n",
+ name, type);
+
+ add_interface_methods (c, interface);
+
+ out_printf (out, "}\n\n");
+
+ g_free (name);
+ g_free (type);
+ }
+}
+
+static void
+add_interface_infos (void)
+{
+ GList *li;
+ for (li = ((Class *)class)->interfaces;
+ li != NULL;
+ li = li->next) {
+ char *name = replace_sep (li->data, '_');
+ out_printf (out,
+ "\t\tstatic const GInterfaceInfo %s_info = {\n"
+ "\t\t\t(GInterfaceInitFunc) ___%s_init,\n"
+ "\t\t\tNULL,\n"
+ "\t\t\tNULL\n"
+ "\t\t};\n\n",
+ name, name);
+ g_free (name);
+ }
+}
+
+static void
+add_interfaces (void)
+{
+ GList *li;
+ for (li = ((Class *)class)->interfaces;
+ li != NULL;
+ li = li->next) {
+ char *name = replace_sep (li->data, '_');
+ char *type = make_pre_macro (li->data, "TYPE");
+
+ out_printf (out,
+ "\t\tg_type_add_interface_static (type,\n"
+ "\t\t\t%s,\n"
+ "\t\t\t&%s_info);\n",
+ type,
+ name);
+
+ g_free (type);
+ g_free (name);
+ }
+}
+
static void
add_get_type(void)
{
"\t\t\tsizeof (%s),\n"
"\t\t\t0 /* n_preallocs */,\n"
"\t\t\t(GInstanceInitFunc) %s_init,\n"
- "\t\t};\n\n"
- "\t\ttype = g_type_register_static (%s, \"%s\", &info, (GTypeFlags)0);\n",
- funcbase, typebase, funcbase, typebase, funcbase,
- pmacrotype, typebase);
+ "\t\t};\n\n",
+ funcbase, typebase, funcbase, typebase, funcbase);
+
+ add_interface_infos ();
+
+ out_printf (out,
+ "\t\ttype = g_type_register_static (%s, \"%s\", &info, (GTypeFlags)0);\n",
+ pmacrotype, typebase);
+
+ add_interfaces ();
+
/*
if(chunk_size) {
out_printf(out,
}
static void
-add_bonobo_x_get_type (void)
+add_bonobo_object_get_type (void)
{
/* char *chunk_size = ((Class*)class)->chunk_size; */
+ /* _vicious_ spanks seth with a rusty nail
+ out_printf(out,
+ "\n#warning \"Bonobo isn't fully ported to glib 2.0 and "
+ "gob2 doesn't officially support it yet. It'd be safer "
+ "and a lot more fun to blow goats.\"\n");
+ */
+
+ out_printf (out,
+ "GType\n"
+ "%s_get_type (void)\n" /* 1 */
+ "{\n"
+ "\tstatic GType type = 0;\n\n"
+ "\tif (type == 0) {\n"
+ "\t\tstatic const GTypeInfo info = {\n"
+ "\t\t\tsizeof (%sClass),\n" /* 2 */
+ "\t\t\t(GBaseInitFunc) NULL,\n"
+ "\t\t\t(GBaseFinalizeFunc) NULL,\n"
+ "\t\t\t(GClassInitFunc) %s_class_init,\n" /* 3 */
+ "\t\t\tNULL, /* class_finalize */\n"
+ "\t\t\tNULL, /* class_data */\n"
+ "\t\t\tsizeof (%s),\n" /* 4 */
+ "\t\t\t0, /* n_preallocs */\n"
+ "\t\t\t(GInstanceInitFunc) %s_init,\n" /* 5 */
+ "\t\t\tNULL\n"
+ "\t\t};\n\n",
+ funcbase /* 1 */,
+ typebase /* 2 */,
+ funcbase /* 3 */,
+ typebase /* 4 */,
+ funcbase /* 5 */);
+
+ add_interface_infos ();
+
+ out_printf (out,
+ "\t\ttype = bonobo_type_unique (\n"
+ "\t\t\tBONOBO_OBJECT_TYPE,\n"
+ "\t\t\tPOA_%s__init, NULL,\n" /* 1 */
+ "\t\t\tG_STRUCT_OFFSET (%sClass, _epv),\n" /* 2 */
+ "\t\t\t&info, \"%s\");\n", /* 3 */
+ ((Class*)class)->bonobo_object_class /* 1 */,
+ typebase /* 2 */,
+ typebase /* 3 */);
+
+ add_interfaces ();
- out_printf(out,
- "\n#error \"BonoboX isn't ported to glib 2.0 and "
- "gob2 doesn't support it yet\"");
-
- out_printf(out,
- "GtkType\n"
- "%s_get_type (void)\n"
- "{\n"
- "\tstatic GtkType type = 0;\n\n"
- "\tif (type == 0) {\n"
- "\t\tstatic const GtkTypeInfo info = {\n"
- "\t\t\t\"%s\",\n"
- "\t\t\tsizeof (%s),\n"
- "\t\t\tsizeof (%sClass),\n"
- "\t\t\t(GtkClassInitFunc) %s_class_init,\n"
- "\t\t\t(GtkObjectInitFunc) %s_init,\n"
- "\t\t\t/* reserved_1 */ NULL,\n"
- "\t\t\t/* reserved_2 */ NULL,\n"
- "\t\t\t(GtkClassInitFunc) NULL\n"
- "\t\t};\n\n"
- "\t\ttype = bonobo_x_type_unique\n"
- "\t\t\t(%s_get_type (),\n"
- "\t\t\tPOA_%s__init, NULL,\n"
- "\t\t\tGTK_STRUCT_OFFSET (%sClass, _epv),\n"
- "\t\t\t&info);\n",
- funcbase, typebase, typebase, typebase,
- funcbase, funcbase, pfuncbase,
- ((Class*)class)->bonobo_x_class,
- typebase);
/*if(chunk_size) {
out_printf(out,
"#if %s > 0\n"
make_arguments(Class *c)
{
GList *li;
+ if (get_properties > 0)
+ out_printf(out, "\tg_object_class->get_property = ___object_get_property;\n");
+ if (set_properties > 0)
+ out_printf(out, "\tg_object_class->set_property = ___object_set_property;\n");
out_printf (out, " {\n"
"\tGParamSpec *param_spec;\n\n");
make_argument ((Argument *)n);
}
out_printf(out, " }\n");
-
- if (get_properties > 0)
- out_printf(out, "\tg_object_class->get_property = ___object_get_property;\n");
- if (set_properties > 0)
- out_printf(out, "\tg_object_class->set_property = ___object_set_property;\n");
}
static void
}
static void
-make_bonobo_x_epv (Class *c, const char *classname)
+make_bonobo_object_epv (Class *c, const char *classname)
{
GList *li;
gboolean added_line = FALSE;
m->method == OVERRIDE_METHOD)
continue;
- if (m->bonobo_x_func) {
+ if (m->bonobo_object_func) {
if(m->line_no > 0) {
out_addline_infile(out, m->line_no);
added_line = TRUE;
out_addline_outfile(out);
added_line = FALSE;
}
- out_printf (out, "\t%s->_epv.%s = %s;\n",
+ out_printf (out, "\t%s->_epv.%s = self_%s;\n",
classname, m->id, m->id);
}
}
if(get_properties > 0 || set_properties > 0)
make_arguments(c);
- if (c->bonobo_x_class != NULL) {
- make_bonobo_x_epv (c, ((FuncArg *)m->args->data)->name);
+ if (c->bonobo_object_class != NULL) {
+ make_bonobo_object_epv (c, ((FuncArg *)m->args->data)->name);
}
} else
continue;
out_printf (out, "\t\t}\n");
if ( ! is_set) {
if (strcmp (a->gtktype, "OBJECT") == 0)
- out_printf (out, "\t\tg_value_set_%s (VAL, G_OBJECT (ARG))\n",
+ out_printf (out, "\t\tg_value_set_%s (VAL, G_OBJECT (ARG));\n",
the_type_lower);
else
out_printf (out, "\t\t"
put_vs_method((Method *)n);
}
/* If BonoboX type class put down the epv */
- if (c->bonobo_x_class != NULL) {
+ if (c->bonobo_object_class != NULL) {
out_printf (outh,
"\t/* Bonobo object epv */\n"
"\tPOA_%s__epv _epv;\n",
- c->bonobo_x_class);
+ c->bonobo_object_class);
}
/* put class scope variables */
for (li = c->nodes; li != NULL; li = li->next) {
put_signal_macros (c, TRUE);
out_printf(outh, "#else /* __GNUC__ && !__STRICT_ANSI__ */\n");
put_signal_macros (c, FALSE);
- out_printf(outh, "#endif /* __GNUC__ && !__STRICT_ANSI__ */\n\n");
+ out_printf(outh, "#endif /* __GNUC__ && !__STRICT_ANSI__ */\n");
} else {
put_signal_macros (c, FALSE);
+ out_printf(outh, "\n");
}
+
+ out_printf (out, "\n/*\n"
+ " * Signal connection wrapper macro shortcuts\n"
+ " */\n");
+ put_local_signal_macros (c);
+ out_printf(outh, "\n");
}
/* argument wrapping macros */
}
}
- add_enums(c);
-
- if ( ! overrode_get_type) {
- if (c->bonobo_x_class != NULL)
- add_bonobo_x_get_type ();
- else
- add_get_type ();
- }
+ add_enums (c);
if(any_method_to_alias(c)) {
if( ! no_gnu) {
make_method_nongnu_aliases(c);
}
+ add_interface_inits (c);
+
+ if ( ! overrode_get_type) {
+ if (c->bonobo_object_class != NULL)
+ add_bonobo_object_get_type ();
+ else
+ add_get_type ();
+ }
+
out_printf (out, "/* a macro for creating a new object of our type */\n");
out_printf (out,
"#define GET_NEW ((%s *)g_object_new(%s_get_type(), NULL))\n\n",
GList *li;
/* mandatory includes */
- out_printf(outh, "#include <glib.h>\n");
- out_printf(outh, "#include <gobject/gobject.h>\n");
- out_printf(outh, "#include <gobject/gvaluetypes.h>\n");
- out_printf(outh, "#include <gobject/genums.h>\n");
- out_printf(outh, "#include <gobject/gboxed.h>\n");
- out_printf(outh, "#include <gobject/gparamspecs.h>\n\n");
+ out_printf (outh, "#include <glib.h>\n");
+ out_printf (outh, "#include <glib-object.h>\n");
/* print the HT_CCODE blocks */
for (li = nodes; li != NULL; li = li->next) {
Node *node = li->data;
- if(node->type == CCODE_NODE) {
+ if (node->type == CCODE_NODE) {
CCode *cc = (CCode *)node;
- if(cc->cctype == HT_CCODE)
- print_ccode_block((CCode *)node);
+ if (cc->cctype == HT_CCODE)
+ print_ccode_block ((CCode *)node);
}
}
}
+static void
+print_enum (EnumDef *enode)
+{
+ GList *li;
+ char *funcprefix;
+ char *type;
+ char *str;
+
+ funcprefix = replace_sep (enode->etype, '_');
+ g_strdown (funcprefix);
+ out_printf (out, "static const GEnumValue _%s_values[] = {\n",
+ funcprefix);
+ type = remove_sep (enode->etype);
+
+ out_printf (outh, "\ntypedef enum {\n");
+
+ for (li = enode->values; li != NULL; li = li->next) {
+ EnumValue *value = li->data;
+ char *p;
+ char *sname = g_strdown (g_strdup (value->name));
+
+ while ((p = strchr (sname, '_')) != NULL)
+ *p = '-';
+
+ out_printf (outh, "\t%s_%s", enode->prefix, value->name);
+ if (value->value != NULL)
+ out_printf (outh, " = %s", value->value);
+ if (li->next != NULL)
+ out_printf (outh, ",\n");
+ else
+ out_printf (outh, "\n");
+
+ out_printf (out, "\t{ %s_%s, \"%s_%s\", \"%s\" },\n",
+ enode->prefix, value->name,
+ enode->prefix, value->name,
+ sname);
+
+ g_free (sname);
+ }
+
+ out_printf (out, "\t{ 0, NULL, NULL }\n};\n\n");
+
+ out_printf (outh, "} %s;\n", type);
+
+ str = make_pre_macro (enode->etype, "TYPE");
+ out_printf (outh, "#define %s ", str);
+ g_free (str);
+
+ out_printf (outh, "%s_get_type()\n", funcprefix);
+ out_printf (outh, "GType %s_get_type (void);\n\n", funcprefix);
+
+ out_printf (out,
+ "GType\n%s_get_type (void)\n"
+ "{\n"
+ "\tstatic GType type = 0;\n"
+ "\tif (type == 0)\n"
+ "\t\ttype = g_enum_register_static (\"%s\", _%s_values);\n"
+ "\treturn type;\n"
+ "}\n\n",
+ funcprefix, type, funcprefix);
+
+ g_free (funcprefix);
+ g_free (type);
+}
+
+static void
+print_flags (Flags *fnode)
+{
+ GList *li;
+ char *funcprefix;
+ char *type;
+ char *str;
+ int i;
+
+ funcprefix = replace_sep (fnode->ftype, '_');
+ g_strdown (funcprefix);
+ out_printf (out, "static const GFlagsValue _%s_values[] = {\n",
+ funcprefix);
+ type = remove_sep (fnode->ftype);
+
+ out_printf (outh, "\ntypedef enum {\n");
+
+ for (i = 0, li = fnode->values; li != NULL; i++, li = li->next) {
+ const char *name = li->data;
+ char *p;
+ char *sname = g_strdown (g_strdup (name));
+
+ while ((p = strchr (sname, '_')) != NULL)
+ *p = '-';
+
+ out_printf (outh, "\t%s_%s = 1<<%d",
+ fnode->prefix, name, i);
+ if (li->next != NULL)
+ out_printf (outh, ",\n");
+ else
+ out_printf (outh, "\n");
+
+ out_printf (out, "\t{ %s_%s, \"%s_%s\", \"%s\" },\n",
+ fnode->prefix, name,
+ fnode->prefix, name,
+ sname);
+
+ g_free (sname);
+ }
+
+ out_printf (out, "\t{ 0, NULL, NULL }\n};\n\n");
+
+ out_printf (outh, "} %s;\n", type);
+
+ str = make_pre_macro (fnode->ftype, "TYPE");
+ out_printf (outh, "#define %s ", str);
+ g_free (str);
+
+ out_printf (outh, "%s_get_type()\n", funcprefix);
+ out_printf (outh, "GType %s_get_type (void);\n\n", funcprefix);
+
+ out_printf (out,
+ "GType\n%s_get_type (void)\n"
+ "{\n"
+ "\tstatic GType type = 0;\n"
+ "\tif (type == 0)\n"
+ "\t\ttype = g_flags_register_static (\"%s\", _%s_values);\n"
+ "\treturn type;\n"
+ "}\n\n",
+ funcprefix, type, funcprefix);
+
+ g_free (funcprefix);
+ g_free (type);
+}
+
+static void
+print_error (Error *enode)
+{
+ GList *li;
+ char *funcprefix;
+ char *type;
+ char *str;
+
+ funcprefix = replace_sep (enode->etype, '_');
+ g_strdown (funcprefix);
+ out_printf (out, "static const GEnumValue _%s_values[] = {\n",
+ funcprefix);
+ type = remove_sep (enode->etype);
+
+ out_printf (outh, "\ntypedef enum {\n");
+
+ for (li = enode->values; li != NULL; li = li->next) {
+ const char *name = li->data;
+ char *p;
+ char *sname = g_strdown (g_strdup (name));
+
+ while ((p = strchr (sname, '_')) != NULL)
+ *p = '-';
+
+ out_printf (outh, "\t%s_%s", enode->prefix, name);
+ if (li->next != NULL)
+ out_printf (outh, ",\n");
+ else
+ out_printf (outh, "\n");
+
+ out_printf (out, "\t{ %s_%s, \"%s_%s\", \"%s\" },\n",
+ enode->prefix, name,
+ enode->prefix, name,
+ sname);
+
+ g_free (sname);
+ }
+
+ out_printf (out, "\t{ 0, NULL, NULL }\n};\n\n");
+
+ out_printf (outh, "} %s;\n", type);
+
+ str = make_pre_macro (enode->etype, "TYPE");
+ out_printf (outh, "#define %s ", str);
+ g_free (str);
+
+ out_printf (outh, "%s_get_type ()\n", funcprefix);
+ out_printf (outh, "GType %s_get_type (void);\n\n", funcprefix);
+
+ out_printf (out,
+ "GType\n%s_get_type (void)\n"
+ "{\n"
+ "\tstatic GType type = 0;\n"
+ "\tif (type == 0)\n"
+ "\t\ttype = g_enum_register_static (\"%s\", _%s_values);\n"
+ "\treturn type;\n"
+ "}\n\n",
+ funcprefix, type, funcprefix);
+
+ out_printf (outh, "#define %s %s_quark ()\n", enode->prefix, funcprefix);
+ out_printf (outh, "GQuark %s_quark (void);\n\n", funcprefix);
+
+ str = replace_sep (enode->etype, '-');
+ g_strdown (str);
+
+ out_printf (out,
+ "GQuark\n%s_quark (void)\n"
+ "{\n"
+ "\tstatic GQuark q = 0;\n"
+ "\tif (q == 0)\n"
+ "\t\tq = g_quark_from_static_string (\"%s\");\n"
+ "\treturn q;\n"
+ "}\n\n",
+ funcprefix, str);
+
+ g_free (str);
+
+ g_free (funcprefix);
+ g_free (type);
+}
+
static void
generate_outfiles(void)
{
print_includes();
- for(li=nodes;li;li=g_list_next(li)) {
+ for (li = nodes; li != NULL; li = li->next) {
Node *node = li->data;
- if(node->type == CCODE_NODE) {
+ if (node->type == CCODE_NODE) {
CCode *cc = (CCode *)node;
- if(cc->cctype != HT_CCODE &&
- cc->cctype != AT_CCODE)
- print_ccode_block((CCode *)node);
- } else if(node->type == CLASS_NODE) {
- print_class_block((Class *)node);
- } else
+ if (cc->cctype != HT_CCODE &&
+ cc->cctype != AT_CCODE)
+ print_ccode_block ((CCode *)node);
+ } else if (node->type == CLASS_NODE) {
+ print_class_block ((Class *)node);
+ } else if (node->type == ENUMDEF_NODE) {
+ print_enum ((EnumDef *)node);
+ } else if (node->type == FLAGS_NODE) {
+ print_flags ((Flags *)node);
+ } else if (node->type == ERROR_NODE) {
+ print_error ((Error *)node);
+ } else {
g_assert_not_reached();
+ }
}
print_header_postfixes();
"\t--always-private-struct Always create a private pointer "
"in\n"
"\t the object structure\n"
+ "\t--m4 Preprocess source with m4. "
+ "Following args will\n"
+ "\t be passed to m4\n"
+ "\t--m4-dir Print directory that will be "
+ "searched for m4\n"
+ "\t files\n"
"\t--no-write,-n Don't write output files, just "
"check syntax\n"
"\t--no-lines Don't print '#line' to output\n"
int i;
int got_file = FALSE;
int no_opts = FALSE;
+ int m4_opts = FALSE; /* if we are just passing on args to m4 */
filename = NULL;
for(i = 1 ; i < argc; i++) {
- if(no_opts ||
+ if(m4_opts) {
+ char *new_commandline;
+ g_assert(m4_commandline!=NULL);
+
+ /* check whether this one looks like the filename */
+ if((!strcmp(argv[i],"-") || argv[i][0] != '-')
+ && !got_file) {
+ const gchar *m4_flags=use_m4_clean?"":M4_FLAGS;
+ filename = argv[i];
+ got_file = TRUE;
+
+ /* insert flags before the filename */
+ new_commandline=g_strconcat(m4_commandline,
+ " ",
+ m4_flags,
+ " ",
+ argv[i],
+ NULL);
+ }
+
+ /* just an ordinary option */
+ else
+ new_commandline=g_strconcat(m4_commandline,
+ " ",
+ argv[i],
+ NULL);
+
+ /* free old commandline */
+ g_free(m4_commandline);
+ m4_commandline=new_commandline;
+
+ } else if(no_opts ||
argv[i][0] != '-') {
/*must be a file*/
if(got_file) {
/* no op */;
} else if(strcmp(argv[i], "--always-private-struct")==0) {
always_private_struct = TRUE;
+ } else if(strcmp(argv[i], "--m4-dir")==0) {
+ printf("%s\n",M4_INCLUDE_DIR);
+ exit(0);
+ } else if(strcmp(argv[i], "--m4")==0) {
+ use_m4 = TRUE;
+ use_m4_clean=FALSE;
+ m4_opts = TRUE;
+ m4_commandline=g_strdup(M4_COMMANDLINE);
+ } else if(strcmp(argv[i], "--m4-clean")==0) {
+ use_m4 = TRUE;
+ use_m4_clean=TRUE;
+ m4_opts = TRUE;
+ m4_commandline=g_strdup(M4_COMMANDLINE);
} else if(strcmp(argv[i], "--")==0) {
/*further arguments are files*/
no_opts = TRUE;
}
}
}
+
+#if 0
+ /* if we are using m4, and got no filename, append m4 flags now */
+ if(!got_file && use_m4 && !use_m4_clean) {
+ char *new_commandline;
+ new_commandline=g_strconcat(m4_commandline,
+ " ",
+ M4_FLAGS,
+ NULL);
+ g_free(m4_commandline);
+ m4_commandline=new_commandline;
+ }
+#endif
}
/* this is a somewhat ugly hack, but it appears to work */
{
parse_options(argc, argv);
- if(filename) {
+ if(use_m4) {
+ yyin = popen(m4_commandline, "r");
+ if(!yyin) {
+ fprintf(stderr, "Error: can't open pipe from '%s'\n",
+ m4_commandline);
+ exit(1);
+ }
+ } else if(filename) {
yyin = fopen(filename, "r");
if(!yyin) {
fprintf(stderr, "Error: can't open file '%s'\n",
filename);
exit(1);
}
- } else
+ }
+
+ if(filename==NULL)
filename = "stdin";
/* This is where parsing is done */
if(yyparse() != 0)
g_error("Parsing errors, quitting");
+ /* close input file */
+ if(use_m4) pclose(yyin);
+ else fclose(yyin);
+ yyin=stdin;
+
if( ! class)
error_print(GOB_ERROR, 0, " no class defined");
#define MAXIMUM 296
#define MINIMUM 297
#define DEFAULT_VALUE 298
-#define FLAGS 299
-#define TYPE 300
-#define FLAGS_TYPE 301
-#define ENUM_TYPE 302
-#define PARAM_TYPE 303
-#define BOXED_TYPE 304
-#define OBJECT_TYPE 305
+#define ERROR 299
+#define FLAGS 300
+#define TYPE 301
+#define FLAGS_TYPE 302
+#define ENUM_TYPE 303
+#define PARAM_TYPE 304
+#define BOXED_TYPE 305
+#define OBJECT_TYPE 306
#line 22 "parse.y"
#include "main.h"
#include "util.h"
+/* FIXME: add gettext support */
#define _(x) (x)
GList *nodes = NULL;
static GList *class_nodes = NULL;
Node *class = NULL;
+GList *enums = NULL;
+static GList *enum_vals = NULL;
+static GList *flag_vals = NULL;
+static GList *error_vals = NULL;
static char *chunk_size = NULL;
-static char *bonobo_x_class = NULL;
+static char *bonobo_object_class = NULL;
+static GList *interfaces = NULL;
static GList *typestack = NULL;
static GList *funcargs = NULL;
static GList *checks = NULL;
}
if (strcmp (prop->gtktype, "STRING") == 0) {
- set = g_strdup_printf("g_free (%s->%s); "
- "%s->%s = g_value_dup_string (VAL);",
+ set = g_strdup_printf("{ char *old = %s->%s; "
+ "%s->%s = g_value_dup_string (VAL); g_free (old); }",
root, prop->name,
root, prop->name);
get = g_strdup_printf("g_value_set_string (VAL, %s->%s);",
}
-#line 570 "parse.y"
+#line 576 "parse.y"
typedef union {
char *id;
GString *cbuf;
-#define YYFINAL 340
+#define YYFINAL 393
#define YYFLAG -32768
-#define YYNTBASE 65
+#define YYNTBASE 66
-#define YYTRANSLATE(x) ((unsigned)(x) <= 305 ? yytranslate[x] : 110)
+#define YYTRANSLATE(x) ((unsigned)(x) <= 306 ? yytranslate[x] : 118)
static const char 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, 63, 2, 2, 2, 2, 2, 2, 54,
- 55, 60, 2, 58, 64, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 56, 62,
- 57, 61, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 64, 2, 2, 2, 2, 2, 2, 55,
+ 56, 61, 2, 59, 65, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 57, 63,
+ 58, 62, 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, 52, 59, 53, 2, 2, 2, 2, 2,
+ 2, 2, 53, 60, 54, 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,
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
+ 47, 48, 49, 50, 51, 52
};
#if YYDEBUG != 0
static const short yyprhs[] = { 0,
0, 4, 7, 10, 12, 14, 16, 18, 20, 22,
- 24, 27, 29, 34, 38, 44, 45, 51, 57, 60,
- 62, 64, 67, 69, 71, 73, 75, 77, 79, 81,
- 83, 86, 90, 93, 97, 100, 103, 105, 107, 108,
- 114, 121, 134, 144, 151, 155, 156, 168, 177, 183,
- 187, 188, 192, 194, 196, 201, 203, 205, 209, 213,
- 217, 221, 225, 229, 233, 237, 241, 245, 249, 253,
- 255, 261, 263, 267, 268, 272, 274, 277, 279, 281,
- 283, 286, 289, 292, 296, 300, 303, 306, 309, 311,
- 314, 316, 319, 321, 323, 325, 327, 329, 331, 333,
- 335, 337, 339, 341, 343, 345, 348, 351, 355, 358,
- 360, 364, 368, 371, 373, 378, 382, 384, 387, 389,
- 400, 412, 422, 432, 441, 453, 462, 468, 471, 476,
- 477, 479, 482, 484, 486, 489, 492, 496, 501, 506,
- 508, 512, 514, 518, 520, 523, 527, 534, 542, 545,
- 547, 549, 552, 555, 559, 563, 567, 571, 573, 576,
- 578
+ 24, 27, 30, 33, 36, 38, 40, 42, 44, 49,
+ 53, 59, 60, 66, 72, 78, 81, 83, 85, 88,
+ 92, 94, 96, 98, 100, 102, 104, 106, 108, 111,
+ 115, 118, 122, 125, 128, 130, 132, 133, 139, 146,
+ 159, 169, 176, 180, 181, 193, 202, 208, 212, 213,
+ 217, 219, 221, 226, 228, 230, 234, 238, 242, 246,
+ 250, 254, 258, 262, 266, 270, 274, 278, 280, 286,
+ 288, 292, 293, 297, 299, 302, 304, 306, 308, 311,
+ 314, 317, 321, 325, 328, 331, 334, 336, 339, 341,
+ 344, 346, 348, 350, 352, 354, 356, 358, 360, 362,
+ 364, 366, 368, 370, 373, 376, 380, 383, 385, 389,
+ 393, 396, 398, 403, 407, 409, 412, 414, 425, 437,
+ 447, 457, 466, 478, 487, 493, 496, 501, 502, 504,
+ 507, 509, 511, 514, 517, 521, 526, 531, 533, 537,
+ 539, 543, 545, 548, 552, 559, 567, 570, 572, 574,
+ 577, 580, 584, 588, 592, 596, 604, 613, 617, 619,
+ 623, 625, 633, 642, 646, 648, 656, 665, 669, 671,
+ 673, 676, 678
};
-static const short yyrhs[] = { 67,
- 68, 67, 0, 68, 67, 0, 67, 68, 0, 68,
+static const short yyrhs[] = { 68,
+ 69, 68, 0, 69, 68, 0, 68, 69, 0, 69,
0, 24, 0, 27, 0, 25, 0, 26, 0, 28,
- 0, 29, 0, 67, 66, 0, 66, 0, 69, 52,
- 71, 53, 0, 69, 52, 53, 0, 3, 21, 4,
- 21, 70, 0, 0, 54, 19, 19, 55, 70, 0,
- 54, 19, 20, 55, 70, 0, 71, 72, 0, 72,
- 0, 100, 0, 19, 100, 0, 77, 0, 78, 0,
- 80, 0, 56, 0, 31, 0, 32, 0, 33, 0,
- 34, 0, 19, 19, 0, 19, 52, 24, 0, 57,
- 109, 0, 57, 52, 24, 0, 74, 75, 0, 75,
- 74, 0, 75, 0, 74, 0, 0, 73, 89, 19,
- 76, 56, 0, 73, 89, 19, 22, 76, 56, 0,
- 36, 87, 86, 19, 79, 19, 52, 24, 19, 52,
- 24, 56, 0, 36, 87, 86, 19, 79, 19, 52,
- 24, 56, 0, 36, 87, 86, 19, 79, 19, 0,
- 54, 19, 55, 0, 0, 35, 19, 19, 81, 19,
- 52, 24, 19, 52, 24, 56, 0, 35, 19, 19,
- 81, 19, 52, 24, 56, 0, 35, 19, 19, 81,
- 56, 0, 54, 82, 55, 0, 0, 82, 58, 85,
- 0, 85, 0, 30, 0, 19, 54, 30, 55, 0,
- 109, 0, 83, 0, 40, 57, 83, 0, 41, 57,
- 83, 0, 42, 57, 109, 0, 43, 57, 109, 0,
- 44, 57, 84, 0, 45, 57, 88, 0, 46, 57,
- 89, 0, 47, 57, 19, 0, 48, 57, 19, 0,
- 49, 57, 19, 0, 50, 57, 19, 0, 51, 57,
- 19, 0, 19, 0, 19, 54, 19, 89, 55, 0,
- 19, 0, 54, 88, 55, 0, 0, 19, 59, 88,
- 0, 19, 0, 90, 94, 0, 90, 0, 91, 0,
- 19, 0, 5, 19, 0, 19, 5, 0, 93, 19,
- 0, 5, 93, 19, 0, 93, 19, 5, 0, 92,
- 91, 0, 21, 91, 0, 5, 91, 0, 21, 0,
- 21, 5, 0, 92, 0, 92, 5, 0, 6, 0,
- 18, 0, 14, 0, 15, 0, 13, 0, 16, 0,
- 17, 0, 11, 0, 12, 0, 7, 0, 8, 0,
- 9, 0, 60, 0, 60, 5, 0, 60, 94, 0,
- 60, 5, 94, 0, 19, 97, 0, 97, 0, 73,
- 19, 97, 0, 19, 73, 97, 0, 73, 97, 0,
- 95, 0, 19, 54, 98, 55, 0, 98, 58, 19,
- 0, 19, 0, 52, 24, 0, 56, 0, 38, 87,
- 96, 89, 19, 54, 103, 55, 101, 99, 0, 73,
- 38, 87, 95, 89, 19, 54, 103, 55, 101, 99,
- 0, 37, 73, 89, 19, 54, 103, 55, 101, 99,
- 0, 73, 37, 89, 19, 54, 103, 55, 101, 99,
- 0, 37, 89, 19, 54, 103, 55, 101, 99, 0,
- 39, 54, 21, 55, 89, 19, 54, 103, 55, 101,
- 99, 0, 73, 89, 19, 54, 103, 55, 101, 99,
- 0, 19, 54, 19, 55, 99, 0, 19, 102, 0,
- 19, 102, 19, 102, 0, 0, 109, 0, 52, 24,
- 0, 6, 0, 19, 0, 19, 5, 0, 5, 19,
- 0, 19, 58, 104, 0, 19, 5, 58, 104, 0,
- 5, 19, 58, 104, 0, 104, 0, 105, 58, 10,
- 0, 105, 0, 105, 58, 106, 0, 106, 0, 89,
- 19, 0, 89, 19, 22, 0, 89, 19, 54, 19,
- 107, 55, 0, 89, 19, 22, 54, 19, 107, 55,
- 0, 107, 108, 0, 108, 0, 19, 0, 61, 109,
- 0, 62, 109, 0, 61, 57, 109, 0, 62, 57,
- 109, 0, 57, 57, 109, 0, 63, 57, 109, 0,
- 20, 0, 64, 20, 0, 23, 0, 19, 0
+ 0, 29, 0, 68, 67, 0, 68, 110, 0, 68,
+ 113, 0, 68, 115, 0, 67, 0, 110, 0, 113,
+ 0, 115, 0, 70, 53, 72, 54, 0, 70, 53,
+ 54, 0, 3, 21, 4, 21, 71, 0, 0, 55,
+ 19, 19, 56, 71, 0, 55, 19, 21, 56, 71,
+ 0, 55, 19, 20, 56, 71, 0, 72, 73, 0,
+ 73, 0, 101, 0, 19, 101, 0, 19, 21, 101,
+ 0, 78, 0, 79, 0, 81, 0, 57, 0, 31,
+ 0, 32, 0, 33, 0, 34, 0, 19, 19, 0,
+ 19, 53, 24, 0, 58, 117, 0, 58, 53, 24,
+ 0, 75, 76, 0, 76, 75, 0, 76, 0, 75,
+ 0, 0, 74, 90, 19, 77, 57, 0, 74, 90,
+ 19, 22, 77, 57, 0, 36, 88, 87, 19, 80,
+ 19, 53, 24, 19, 53, 24, 57, 0, 36, 88,
+ 87, 19, 80, 19, 53, 24, 57, 0, 36, 88,
+ 87, 19, 80, 19, 0, 55, 19, 56, 0, 0,
+ 35, 19, 19, 82, 19, 53, 24, 19, 53, 24,
+ 57, 0, 35, 19, 19, 82, 19, 53, 24, 57,
+ 0, 35, 19, 19, 82, 57, 0, 55, 83, 56,
+ 0, 0, 83, 59, 86, 0, 86, 0, 30, 0,
+ 19, 55, 30, 56, 0, 117, 0, 84, 0, 40,
+ 58, 84, 0, 41, 58, 84, 0, 42, 58, 117,
+ 0, 43, 58, 117, 0, 44, 58, 85, 0, 46,
+ 58, 89, 0, 47, 58, 90, 0, 48, 58, 19,
+ 0, 49, 58, 19, 0, 50, 58, 19, 0, 51,
+ 58, 19, 0, 52, 58, 19, 0, 19, 0, 19,
+ 55, 19, 90, 56, 0, 19, 0, 55, 89, 56,
+ 0, 0, 19, 60, 89, 0, 19, 0, 91, 95,
+ 0, 91, 0, 92, 0, 19, 0, 5, 19, 0,
+ 19, 5, 0, 94, 19, 0, 5, 94, 19, 0,
+ 94, 19, 5, 0, 93, 92, 0, 21, 92, 0,
+ 5, 92, 0, 21, 0, 21, 5, 0, 93, 0,
+ 93, 5, 0, 6, 0, 18, 0, 14, 0, 15,
+ 0, 13, 0, 16, 0, 17, 0, 11, 0, 12,
+ 0, 7, 0, 8, 0, 9, 0, 61, 0, 61,
+ 5, 0, 61, 95, 0, 61, 5, 95, 0, 19,
+ 98, 0, 98, 0, 74, 19, 98, 0, 19, 74,
+ 98, 0, 74, 98, 0, 96, 0, 19, 55, 99,
+ 56, 0, 99, 59, 19, 0, 19, 0, 53, 24,
+ 0, 57, 0, 38, 88, 97, 90, 19, 55, 104,
+ 56, 102, 100, 0, 74, 38, 88, 96, 90, 19,
+ 55, 104, 56, 102, 100, 0, 37, 74, 90, 19,
+ 55, 104, 56, 102, 100, 0, 74, 37, 90, 19,
+ 55, 104, 56, 102, 100, 0, 37, 90, 19, 55,
+ 104, 56, 102, 100, 0, 39, 55, 21, 56, 90,
+ 19, 55, 104, 56, 102, 100, 0, 74, 90, 19,
+ 55, 104, 56, 102, 100, 0, 19, 55, 19, 56,
+ 100, 0, 19, 103, 0, 19, 103, 19, 103, 0,
+ 0, 117, 0, 53, 24, 0, 6, 0, 19, 0,
+ 19, 5, 0, 5, 19, 0, 19, 59, 105, 0,
+ 19, 5, 59, 105, 0, 5, 19, 59, 105, 0,
+ 105, 0, 106, 59, 10, 0, 106, 0, 106, 59,
+ 107, 0, 107, 0, 90, 19, 0, 90, 19, 22,
+ 0, 90, 19, 55, 19, 108, 56, 0, 90, 19,
+ 22, 55, 19, 108, 56, 0, 108, 109, 0, 109,
+ 0, 19, 0, 62, 117, 0, 63, 117, 0, 62,
+ 58, 117, 0, 63, 58, 117, 0, 58, 58, 117,
+ 0, 64, 58, 117, 0, 9, 19, 53, 111, 54,
+ 21, 57, 0, 9, 19, 53, 111, 59, 54, 21,
+ 57, 0, 111, 59, 112, 0, 112, 0, 19, 58,
+ 117, 0, 19, 0, 46, 19, 53, 114, 54, 21,
+ 57, 0, 46, 19, 53, 114, 59, 54, 21, 57,
+ 0, 114, 59, 19, 0, 19, 0, 45, 19, 53,
+ 116, 54, 21, 57, 0, 45, 19, 53, 116, 59,
+ 54, 21, 57, 0, 116, 59, 19, 0, 19, 0,
+ 20, 0, 65, 20, 0, 23, 0, 19, 0
};
#endif
#if YYDEBUG != 0
static const short yyrline[] = { 0,
- 591, 592, 593, 594, 597, 606, 615, 624, 633, 642,
- 653, 654, 657, 662, 669, 679, 680, 692, 706, 707,
- 710, 711, 719, 720, 721, 722, 725, 726, 727, 728,
- 731, 751, 775, 779, 787, 788, 789, 790, 791, 797,
- 800, 805, 873, 927, 1015, 1023, 1028, 1076, 1112, 1128,
- 1129, 1132, 1133, 1136, 1137, 1149, 1150, 1153, 1159, 1165,
- 1171, 1177, 1183, 1189, 1196, 1202, 1208, 1214, 1220, 1226,
- 1246, 1255, 1261, 1262, 1265, 1268, 1274, 1281, 1290, 1293,
- 1296, 1300, 1304, 1308, 1313, 1321, 1325, 1330, 1334, 1337,
- 1341, 1344, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356,
- 1357, 1360, 1361, 1362, 1365, 1366, 1367, 1371, 1378, 1390,
- 1396, 1408, 1420, 1423, 1429, 1434, 1437, 1442, 1443, 1447,
- 1463, 1479, 1495, 1511, 1522, 1528, 1538, 1561, 1572, 1591,
- 1597, 1598, 1604, 1605, 1616, 1627, 1638, 1648, 1658, 1668,
- 1671, 1672, 1675, 1676, 1679, 1682, 1685, 1693, 1703, 1704,
- 1707, 1724, 1731, 1738, 1745, 1752, 1759, 1768, 1769, 1773,
- 1774
+ 597, 598, 599, 600, 603, 612, 621, 630, 639, 648,
+ 659, 660, 661, 662, 663, 664, 665, 666, 669, 674,
+ 681, 695, 696, 708, 717, 731, 732, 735, 736, 745,
+ 757, 758, 759, 760, 763, 764, 765, 766, 769, 789,
+ 813, 817, 825, 826, 827, 828, 829, 835, 838, 843,
+ 911, 965, 1053, 1061, 1066, 1114, 1150, 1166, 1167, 1170,
+ 1171, 1174, 1175, 1187, 1188, 1191, 1197, 1203, 1209, 1215,
+ 1221, 1227, 1234, 1240, 1246, 1252, 1258, 1264, 1284, 1293,
+ 1299, 1300, 1303, 1306, 1312, 1319, 1328, 1331, 1334, 1338,
+ 1342, 1346, 1351, 1359, 1363, 1368, 1372, 1375, 1379, 1382,
+ 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1398,
+ 1399, 1400, 1403, 1404, 1405, 1409, 1416, 1428, 1434, 1446,
+ 1458, 1461, 1467, 1472, 1475, 1480, 1481, 1485, 1501, 1517,
+ 1533, 1549, 1560, 1566, 1576, 1599, 1610, 1629, 1635, 1636,
+ 1642, 1643, 1654, 1665, 1676, 1686, 1696, 1706, 1709, 1710,
+ 1713, 1714, 1717, 1720, 1723, 1731, 1741, 1742, 1745, 1762,
+ 1769, 1776, 1783, 1790, 1797, 1806, 1815, 1826, 1827, 1830,
+ 1850, 1860, 1869, 1880, 1883, 1888, 1897, 1908, 1911, 1917,
+ 1918, 1922, 1923
};
#endif
"LONG","SHORT","INT","FLOAT","DOUBLE","CHAR","TOKEN","NUMBER","TYPETOKEN","ARRAY_DIM",
"SINGLE_CHAR","CCODE","HTCODE","PHCODE","HCODE","ACODE","ATCODE","STRING","PUBLIC",
"PRIVATE","PROTECTED","CLASSWIDE","PROPERTY","ARGUMENT","VIRTUAL","SIGNAL","OVERRIDE",
-"NICK","BLURB","MAXIMUM","MINIMUM","DEFAULT_VALUE","FLAGS","TYPE","FLAGS_TYPE",
+"NICK","BLURB","MAXIMUM","MINIMUM","DEFAULT_VALUE","ERROR","FLAGS","TYPE","FLAGS_TYPE",
"ENUM_TYPE","PARAM_TYPE","BOXED_TYPE","OBJECT_TYPE","'{'","'}'","'('","')'",
"';'","'='","','","'|'","'*'","'>'","'<'","'!'","'-'","prog","ccode","ccodes",
"class","classdec","classflags","classcode","thing","scope","destructor","initializer",
"string","anyval","param_spec_value","argtype","flags","flaglist","type","specifier_list",
"spec_list","specifier","strunionenum","pointer","simplesigtype","fullsigtype",
"sigtype","tokenlist","codenocode","method","returnvals","retcode","funcargs",
-"arglist","arglist1","arg","checklist","check","numtok", NULL
+"arglist","arglist1","arg","checklist","check","enumcode","enumvals","enumval",
+"flagcode","flagvals","errorcode","errorvals","numtok", NULL
};
#endif
static const short yyr1[] = { 0,
- 65, 65, 65, 65, 66, 66, 66, 66, 66, 66,
- 67, 67, 68, 68, 69, 70, 70, 70, 71, 71,
- 72, 72, 72, 72, 72, 72, 73, 73, 73, 73,
- 74, 74, 75, 75, 76, 76, 76, 76, 76, 77,
- 77, 78, 78, 78, 79, 79, 80, 80, 80, 81,
- 81, 82, 82, 83, 83, 84, 84, 85, 85, 85,
- 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
- 86, 86, 87, 87, 88, 88, 89, 89, 90, 90,
- 90, 90, 90, 90, 90, 91, 91, 91, 91, 91,
- 91, 91, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 93, 93, 93, 94, 94, 94, 94, 95, 95,
- 96, 96, 96, 96, 97, 98, 98, 99, 99, 100,
- 100, 100, 100, 100, 100, 100, 100, 101, 101, 101,
- 102, 102, 103, 103, 103, 103, 103, 103, 103, 103,
- 104, 104, 105, 105, 106, 106, 106, 106, 107, 107,
- 108, 108, 108, 108, 108, 108, 108, 109, 109, 109,
- 109
+ 66, 66, 66, 66, 67, 67, 67, 67, 67, 67,
+ 68, 68, 68, 68, 68, 68, 68, 68, 69, 69,
+ 70, 71, 71, 71, 71, 72, 72, 73, 73, 73,
+ 73, 73, 73, 73, 74, 74, 74, 74, 75, 75,
+ 76, 76, 77, 77, 77, 77, 77, 78, 78, 79,
+ 79, 79, 80, 80, 81, 81, 81, 82, 82, 83,
+ 83, 84, 84, 85, 85, 86, 86, 86, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 87, 87,
+ 88, 88, 89, 89, 90, 90, 91, 91, 91, 91,
+ 91, 91, 91, 92, 92, 92, 92, 92, 92, 92,
+ 93, 93, 93, 93, 93, 93, 93, 93, 93, 94,
+ 94, 94, 95, 95, 95, 95, 96, 96, 97, 97,
+ 97, 97, 98, 99, 99, 100, 100, 101, 101, 101,
+ 101, 101, 101, 101, 101, 102, 102, 102, 103, 103,
+ 104, 104, 104, 104, 104, 104, 104, 104, 105, 105,
+ 106, 106, 107, 107, 107, 107, 108, 108, 109, 109,
+ 109, 109, 109, 109, 109, 110, 110, 111, 111, 112,
+ 112, 113, 113, 114, 114, 115, 115, 116, 116, 117,
+ 117, 117, 117
};
static const short yyr2[] = { 0,
3, 2, 2, 1, 1, 1, 1, 1, 1, 1,
- 2, 1, 4, 3, 5, 0, 5, 5, 2, 1,
- 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
- 2, 3, 2, 3, 2, 2, 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, 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, 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, 1, 2, 1,
- 1
+ 2, 2, 2, 2, 1, 1, 1, 1, 4, 3,
+ 5, 0, 5, 5, 5, 2, 1, 1, 2, 3,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
+ 2, 3, 2, 2, 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, 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, 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
};
static const short yydefact[] = { 0,
- 0, 5, 7, 8, 6, 9, 10, 12, 0, 4,
- 0, 0, 11, 3, 2, 0, 0, 1, 0, 27,
- 28, 29, 30, 0, 74, 0, 74, 0, 14, 26,
- 0, 20, 0, 23, 24, 25, 21, 16, 0, 0,
- 0, 22, 0, 0, 0, 0, 93, 102, 103, 104,
- 100, 101, 97, 95, 96, 98, 99, 94, 80, 89,
- 0, 0, 78, 79, 91, 0, 0, 0, 13, 19,
- 0, 74, 0, 0, 15, 0, 0, 51, 76, 0,
- 72, 0, 0, 81, 88, 0, 82, 90, 87, 0,
- 0, 105, 77, 92, 86, 83, 0, 0, 114, 0,
- 110, 0, 0, 0, 39, 0, 0, 0, 0, 0,
- 0, 73, 0, 46, 84, 0, 0, 106, 107, 85,
- 0, 0, 0, 109, 0, 113, 0, 0, 0, 0,
- 0, 0, 39, 0, 0, 38, 37, 0, 0, 0,
- 0, 119, 127, 70, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 53, 0, 49,
- 75, 0, 0, 0, 0, 0, 93, 80, 0, 0,
- 140, 142, 144, 108, 117, 0, 112, 111, 0, 0,
- 0, 0, 31, 0, 0, 0, 161, 158, 160, 0,
- 0, 33, 35, 36, 40, 16, 16, 118, 0, 0,
+ 0, 0, 5, 7, 8, 6, 9, 10, 0, 0,
+ 15, 0, 4, 0, 16, 17, 18, 0, 0, 0,
+ 0, 11, 3, 12, 13, 14, 2, 0, 0, 0,
+ 0, 0, 1, 0, 35, 36, 37, 38, 0, 82,
+ 0, 82, 0, 20, 34, 0, 27, 0, 31, 32,
+ 33, 28, 22, 171, 0, 169, 179, 0, 175, 0,
+ 0, 0, 0, 0, 29, 0, 0, 0, 0, 101,
+ 110, 111, 112, 108, 109, 105, 103, 104, 106, 107,
+ 102, 88, 97, 0, 0, 86, 87, 99, 0, 0,
+ 0, 19, 26, 0, 82, 0, 0, 21, 0, 0,
+ 0, 0, 0, 0, 0, 30, 0, 0, 59, 84,
+ 0, 80, 0, 0, 89, 96, 0, 90, 98, 95,
+ 0, 0, 113, 85, 100, 94, 91, 0, 0, 122,
+ 0, 118, 0, 0, 0, 47, 0, 183, 180, 182,
+ 0, 170, 0, 0, 168, 0, 178, 0, 0, 174,
+ 0, 0, 0, 0, 0, 0, 81, 0, 54, 92,
+ 0, 0, 114, 115, 93, 0, 0, 0, 117, 0,
+ 121, 0, 0, 0, 0, 0, 0, 47, 0, 0,
+ 46, 45, 0, 0, 0, 0, 181, 166, 0, 176,
+ 0, 172, 0, 0, 127, 135, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 50, 0, 0, 0, 0, 44, 0, 81, 82, 0,
- 145, 130, 0, 115, 0, 0, 0, 0, 0, 32,
- 41, 130, 34, 159, 17, 18, 0, 54, 58, 59,
- 60, 61, 161, 57, 62, 56, 63, 64, 65, 66,
- 67, 68, 69, 52, 0, 71, 45, 0, 130, 0,
- 0, 137, 146, 0, 0, 0, 141, 143, 116, 0,
- 0, 130, 0, 0, 0, 0, 48, 0, 0, 139,
- 138, 0, 0, 0, 128, 131, 124, 130, 0, 0,
- 0, 126, 0, 0, 0, 43, 122, 0, 151, 0,
- 0, 0, 0, 0, 150, 132, 0, 0, 130, 123,
- 130, 55, 0, 0, 0, 0, 0, 152, 0, 153,
- 0, 147, 149, 129, 120, 0, 0, 47, 0, 148,
- 156, 154, 155, 157, 125, 121, 42, 0, 0, 0
+ 61, 0, 57, 83, 0, 0, 0, 0, 0, 101,
+ 88, 0, 0, 148, 150, 152, 116, 125, 0, 120,
+ 119, 0, 0, 0, 0, 39, 0, 0, 0, 0,
+ 41, 43, 44, 48, 22, 22, 22, 167, 177, 173,
+ 126, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 58, 0, 0, 0, 0, 52, 0,
+ 89, 90, 0, 153, 138, 0, 123, 0, 0, 0,
+ 0, 0, 40, 49, 138, 42, 23, 25, 24, 0,
+ 62, 66, 67, 68, 69, 183, 65, 70, 64, 71,
+ 72, 73, 74, 75, 76, 77, 60, 0, 79, 53,
+ 0, 138, 0, 0, 145, 154, 0, 0, 0, 149,
+ 151, 124, 0, 0, 138, 0, 0, 0, 0, 56,
+ 0, 0, 147, 146, 0, 0, 0, 136, 139, 132,
+ 138, 0, 0, 0, 134, 0, 0, 0, 51, 130,
+ 0, 159, 0, 0, 0, 0, 0, 158, 140, 0,
+ 0, 138, 131, 138, 63, 0, 0, 0, 0, 0,
+ 160, 0, 161, 0, 155, 157, 137, 128, 0, 0,
+ 55, 0, 156, 164, 162, 163, 165, 133, 129, 50,
+ 0, 0, 0
};
-static const short yydefgoto[] = { 338,
- 8, 9, 10, 11, 75, 31, 32, 33, 136, 137,
- 138, 34, 35, 164, 36, 110, 157, 239, 245, 158,
- 82, 45, 80, 169, 63, 64, 65, 66, 93, 99,
- 100, 101, 176, 143, 37, 266, 285, 170, 171, 172,
- 173, 304, 305, 286
+static const short yydefgoto[] = { 391,
+ 11, 12, 13, 14, 98, 46, 47, 48, 181, 182,
+ 183, 49, 50, 217, 51, 155, 210, 292, 298, 211,
+ 113, 68, 111, 222, 86, 87, 88, 89, 124, 130,
+ 131, 132, 229, 196, 52, 319, 338, 223, 224, 225,
+ 226, 357, 358, 15, 55, 56, 16, 60, 17, 58,
+ 339
};
-static const short yypact[] = { 144,
- -7,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 144, 407,
- -21, 40,-32768, 407, 407, 121, 71, 407, 166,-32768,
--32768,-32768,-32768, 78, 45, 266, 45, 54,-32768,-32768,
- 156,-32768, 216,-32768,-32768,-32768,-32768, 92, 94, 97,
- 216,-32768, 157, 159, 160, 313,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 158, 381,
- 330, 164, 136,-32768, 395, 183, 257, 185,-32768,-32768,
- 330, 45, 200, 207,-32768, 184, 221, 187, 188, 189,
- 192, 223, 409,-32768,-32768, 229,-32768, 409,-32768, 230,
- 197, 1,-32768, 409,-32768, 247, 182, 236,-32768, 330,
--32768, 201, 238, 239, 68, 10, 61, 232, 219, 22,
- 159,-32768, 273, 240,-32768, 241, 347, 136,-32768,-32768,
- 242, 274, 297,-32768, -4,-32768, 304, 330, 279, -4,
- 330, 60, -9, 347, 0, 283, 331, 301, 312, 319,
- 360,-32768,-32768,-32768, 332, 333, 334, 346, 348, 361,
- 362, 371, 372, 380, 382, 383, 106,-32768, 336,-32768,
--32768, 330, 385, 398, 347, 364, 386, 7, 419, 387,
--32768, 388,-32768,-32768,-32768, 107,-32768,-32768, 389, 425,
- 347, 426,-32768, 423, 392, 394,-32768,-32768,-32768, 427,
- 430,-32768,-32768,-32768,-32768, 92, 92,-32768, 13, 13,
- 37, 37, 5, 159, 330, 433, 434, 435, 436, 437,
--32768, 219, 438, 402, 403, 408, 404, 152, 153, 330,
- 66, 442, 296,-32768, 444, 347, 410, 411, 413,-32768,
--32768, 442,-32768,-32768,-32768,-32768, 414,-32768,-32768,-32768,
--32768,-32768, 414,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768, 39,-32768,-32768, 441, 442, 330,
- 330,-32768, 415, 451, 19, 61,-32768,-32768,-32768, 416,
- 347, 442, 347, 61, 443, 420,-32768, 53, 61,-32768,
--32768, 455, 88, 452, 456,-32768,-32768, 442, 422, 61,
- 424,-32768, 428, 454, 429,-32768,-32768, 88,-32768, 431,
- 57, 62, 432, 72,-32768,-32768, 19, 61, 442,-32768,
- 442,-32768, 439, 458, 81, 37, 37,-32768, 37,-32768,
- 37,-32768,-32768,-32768,-32768, 61, 61,-32768, 440,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, 480, 484,-32768
+static const short yypact[] = { 168,
+ 18, 21,-32768,-32768,-32768,-32768,-32768,-32768, 41, 89,
+-32768, 168, 213, 56,-32768,-32768,-32768, 138, 77, 109,
+ 110,-32768, 213,-32768,-32768,-32768, 213, 167, 123, 153,
+ 155, 189, 213, 230,-32768,-32768,-32768,-32768, 190, 156,
+ 309, 156, 161,-32768,-32768, 196,-32768, 275,-32768,-32768,
+-32768,-32768, 162, 165, -17,-32768,-32768, -13,-32768, 91,
+ 164, 300, 201, 275,-32768, 206, 207, 217, 356,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768, 247, 424, 373, 235, 199,-32768, 438, 238, 443,
+ 244,-32768,-32768, 373, 156, 253, 255,-32768, 6, 245,
+ -1, 256, 26, 258, 73,-32768, 222, 276, 274, 242,
+ 254, 280, 292, 452,-32768,-32768, 317,-32768, 452,-32768,
+ 340, 311, 2,-32768, 452,-32768, 371, 157, 364,-32768,
+ 373,-32768, 337, 381, 391, 88, 224,-32768,-32768,-32768,
+ 397,-32768, 370, 410,-32768, 375,-32768, 412, 377,-32768,
+ 425, -34, 392, 257, -7, 207,-32768, 429, 405,-32768,
+ 406, 390, 199,-32768,-32768, 416, 453, 459,-32768, 14,
+-32768, 460, 373, 426, 14, 373, 13, 9, 390, 59,
+ 422, 463, 427, 430, 431, 432,-32768,-32768, 428,-32768,
+ 433,-32768, 434, 465,-32768,-32768,-32768, 435, 436, 437,
+ 439, 440, 441, 442, 444, 445, 446, 447, 448, 122,
+-32768, 454,-32768,-32768, 373, 464, 473, 390, 407, 455,
+ 5, 477, 456,-32768, 449,-32768,-32768,-32768, 124,-32768,
+-32768, 458, 482, 390, 490,-32768, 486, 457, 461, 491,
+-32768,-32768,-32768,-32768, 162, 162, 162,-32768,-32768,-32768,
+-32768, 84, 84, 6, 6, 64, 207, 373, 497, 499,
+ 500, 501, 502,-32768, 257, 498, 467, 468, 472, 470,
+ 126, 128, 373, 63, 508, 339,-32768, 509, 390, 474,
+ 475, 478,-32768,-32768, 508,-32768,-32768,-32768,-32768, 479,
+-32768,-32768,-32768,-32768,-32768, 479,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768, -2,-32768,-32768,
+ 506, 508, 373, 373,-32768, 480, 513, 70, -34,-32768,
+-32768,-32768, 481, 390, 508, 390, -34, 510, 483,-32768,
+ 16, -34,-32768,-32768, 519, 106, 515, 522,-32768,-32768,
+ 508, 487, -34, 488,-32768, 489, 518, 493,-32768,-32768,
+ 106,-32768, 492, 76, 82, 494, 57,-32768,-32768, 70,
+ -34, 508,-32768, 508,-32768, 496, 523, 103, 6, 6,
+-32768, 6,-32768, 6,-32768,-32768,-32768,-32768, -34, -34,
+-32768, 503,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+ 548, 549,-32768
};
static const short yypgoto[] = {-32768,
- 87, 118, 476,-32768, -66,-32768, 459, -8, 349, 351,
- 358,-32768,-32768,-32768,-32768,-32768,-32768, -85,-32768, 280,
--32768, -18, -106, -25,-32768, -43,-32768, -42, -65, 390,
--32768, 120,-32768, -253, 474, -225, 190, -132, -150,-32768,
- 275, 202, -211, -135
+ 99, 125, 539,-32768, 1,-32768, 511, -28, 372, 374,
+ 378,-32768,-32768,-32768,-32768,-32768,-32768, -46,-32768, 293,
+-32768, -27, -151, -40,-32768, -67,-32768, -66, -112, 450,
+-32768, -98,-32768, -305, -14, -276, 202, -175, -216,-32768,
+ 283, 210, -240, 104,-32768, 462, 127,-32768, 146,-32768,
+ -99
};
-#define YYLAST 500
-
-
-static const short yytable[] = { 192,
- 62, 186, 85, 86, 161, 118, 274, 73, 67, 132,
- 41, 219, 287, 12, 121, 77, 89, 61, 187, 188,
- 292, 95, 189, 243, 188, 297, 119, 189, 139, 140,
- 16, 237, 217, 279, 238, 90, 310, 187, 188, 85,
- 159, 189, 238, 17, 85, 103, 290, 135, 228, 122,
- 85, 190, 174, 104, 325, 187, 188, 276, 98, 189,
- 92, -134, 308, 191, 220, 241, 242, 246, 191, 262,
- 284, 295, 335, 336, 127, 187, 188, 160, 183, 189,
- 187, 188, 191, 326, 189, 327, 132, 263, 123, 133,
- 299, 38, 323, 270, 277, 13, 43, 247, 44, 299,
- 191, 13, 180, 323, 13, 182, 299, 68, 296, 280,
- 281, 184, 141, 317, 240, 76, 142, 244, 319, 264,
- 191, 134, 85, 86, 135, 191, 322, 15, 300, 235,
- 236, 18, 301, 302, 303, 330, 214, 300, 289, 19,
- 291, 301, 302, 303, 300, 74, 1, 40, 301, 302,
- 303, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 211, 224, 87, 212, 225, 318, 320, 2, 3, 4,
- 5, 6, 7, 29, 19, 78, 30, 79, 81, 248,
- 331, 332, 91, 333, 39, 334, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 92, 20, 21, 22, 23,
- 121, 96, 26, 27, 28, 102, -136, -135, 69, 260,
- 261, 30, 20, 21, 22, 23, 124, 126, 105, 40,
- 46, 47, 48, 49, 50, 106, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 122, 60, 144, 107, 108,
- 109, 114, 177, 112, 178, 113, 111, 115, 116, 124,
- 117, 120, 71, 72, 125, 128, 129, 130, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 46, 47, 48, 49, 50, 97, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 134, 60, 20, 21, 22,
- 23, 162, 175, 163, 165, 122, 20, 21, 22, 23,
- 46, 47, 48, 49, 50, 267, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 121, 60, 83, 47, 48,
- 49, 50, 179, 51, 52, 53, 54, 55, 56, 57,
- 58, 84, 181, 60, 46, 47, 48, 49, 50, 135,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 132,
- 60, 166, 167, 48, 49, 50, 195, 51, 52, 53,
- 54, 55, 56, 57, 58, 168, 196, 60, 83, 47,
- 48, 49, 50, 197, 51, 52, 53, 54, 55, 56,
- 57, 58, 218, 198, 60, 88, 47, 213, 199, 200,
- 201, 51, 52, 53, 54, 55, 56, 57, 58, 94,
- 47, 60, 202, 215, 203, 51, 52, 53, 54, 55,
- 56, 57, 58, 83, 47, 60, 216, 204, 205, 51,
- 52, 53, 54, 55, 56, 57, 58, 206, 207, 60,
- 2, 3, 4, 5, 6, 7, 208, 221, 209, 210,
- -133, 222, 226, 227, 229, 223, 230, 231, 232, 234,
- 233, 249, 250, 251, 252, 253, 256, 257, 259, 258,
- 265, 255, 269, 271, 278, 272, 273, 275, 282, 283,
- 288, 294, 293, 298, 307, 306, 309, 313, 311, 339,
- 314, 329, 312, 340, 14, 194, 193, 316, 321, 70,
- 185, 254, 42, 131, 328, 337, 324, 268, 0, 315
+#define YYLAST 585
+
+
+static const short yytable[] = { 142,
+ 85, 116, 117, 239, 214, 64, 163, 96, 327, 272,
+ 164, 212, 84, 340, 90, 120, 329, 54, 194, 65,
+ 126, 345, 195, 108, 138, 139, 350, 177, 140, 169,
+ 171, 236, 166, 64, 348, 332, 100, 363, 18, 19,
+ 102, 101, 270, 121, 147, 103, 116, 106, 343, 213,
+ 227, 116, 144, 134, 330, 378, 315, 116, 281, 20,
+ -142, 129, 123, 273, 361, 237, 180, 135, 167, 230,
+ 141, 231, 349, 388, 389, 352, 169, 138, 139, 148,
+ 241, 140, 296, 139, 316, 379, 140, 380, 138, 139,
+ 172, 150, 140, 291, 138, 139, 333, 334, 140, 168,
+ 138, 139, 290, 323, 140, 300, 177, 21, 28, 178,
+ 22, 240, 375, 291, 353, 24, 376, 317, 354, 355,
+ 356, 352, 337, 141, 352, 22, 151, 376, 141, 30,
+ 24, 22, 233, 370, 141, 235, 24, 27, 25, 372,
+ 141, 29, 179, 53, 104, 180, 141, 33, 342, 105,
+ 344, 116, 117, 25, 294, 295, 299, 26, 383, 25,
+ 353, 31, 32, 353, 354, 355, 356, 354, 355, 356,
+ 1, 54, 26, 57, 267, 166, 2, 264, 26, 277,
+ 265, -144, 278, -143, 313, 34, 314, 35, 36, 37,
+ 38, 3, 4, 5, 6, 7, 8, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 293, 59, 66, 297,
+ 67, 167, 9, 10, 34, 91, 97, 301, 63, 107,
+ 44, 2, 99, 45, 109, 110, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 112, 3, 4, 5, 6,
+ 7, 8, 184, 185, 186, 287, 288, 289, 61, 92,
+ 62, 118, 45, 122, 371, 373, 127, 9, 10, 123,
+ 35, 36, 37, 38, 133, 143, 41, 42, 43, 384,
+ 385, 136, 386, 137, 387, 197, 146, 152, 149, 69,
+ 70, 71, 72, 73, 63, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 153, 83, 198, 199, 200, 201,
+ 202, 156, 203, 204, 205, 206, 207, 208, 209, 157,
+ 159, 94, 95, 69, 70, 71, 72, 73, 61, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 154, 83,
+ 35, 36, 37, 38, 158, 160, 41, 42, 43, 35,
+ 36, 37, 38, 69, 70, 71, 72, 73, 320, 74,
+ 75, 76, 77, 78, 79, 80, 81, 82, 161, 83,
+ 114, 70, 71, 72, 73, 162, 74, 75, 76, 77,
+ 78, 79, 80, 81, 115, 165, 83, 69, 70, 71,
+ 72, 73, 170, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 173, 83, 219, 220, 71, 72, 73, 174,
+ 74, 75, 76, 77, 78, 79, 80, 81, 221, 175,
+ 83, 114, 70, 71, 72, 73, 187, 74, 75, 76,
+ 77, 78, 79, 80, 81, 271, 188, 83, 119, 70,
+ 189, 190, 191, 192, 74, 75, 76, 77, 78, 79,
+ 80, 81, 125, 70, 83, 193, 179, 215, 74, 75,
+ 76, 77, 78, 79, 80, 81, 114, 70, 83, 216,
+ 218, 128, 74, 75, 76, 77, 78, 79, 80, 81,
+ 167, 228, 83, 35, 36, 37, 38, 166, 232, 180,
+ 234, 177, 268, 244, 248, 245, 246, 247, 251, 249,
+ 250, 269, 252, 253, 254, 274, 255, 256, 257, 258,
+ 280, 259, 260, 261, 262, 263, 266, 276, 282, 283,
+ -141, 275, 279, 284, 286, 302, 285, 303, 304, 305,
+ 306, 308, 309, 310, 311, 312, 318, 322, 324, 331,
+ 325, 336, 326, 328, 335, 347, 341, 351, 359, 346,
+ 360, 366, 362, 364, 365, 367, 382, 392, 393, 369,
+ 23, 374, 381, 243, 242, 238, 93, 307, 321, 390,
+ 368, 377, 145, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 176
};
-static const short yycheck[] = { 135,
- 26, 134, 46, 46, 111, 5, 232, 33, 27, 19,
- 19, 5, 266, 21, 19, 41, 60, 26, 19, 20,
- 274, 65, 23, 19, 20, 279, 92, 23, 19, 20,
- 52, 19, 165, 259, 30, 61, 290, 19, 20, 83,
- 19, 23, 30, 4, 88, 71, 272, 57, 181, 54,
- 94, 52, 118, 72, 308, 19, 20, 19, 67, 23,
- 60, 55, 288, 64, 58, 201, 202, 203, 64, 220,
- 52, 19, 326, 327, 100, 19, 20, 56, 19, 23,
- 19, 20, 64, 309, 23, 311, 19, 22, 97, 22,
- 19, 21, 304, 226, 56, 9, 19, 204, 54, 19,
- 64, 15, 128, 315, 18, 131, 19, 54, 56, 260,
- 261, 52, 52, 57, 200, 19, 56, 203, 57, 54,
- 64, 54, 166, 166, 57, 64, 55, 10, 57, 196,
- 197, 14, 61, 62, 63, 55, 162, 57, 271, 19,
- 273, 61, 62, 63, 57, 54, 3, 54, 61, 62,
- 63, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 55, 55, 5, 58, 58, 301, 302, 24, 25, 26,
- 27, 28, 29, 53, 19, 19, 56, 19, 19, 205,
- 316, 317, 19, 319, 19, 321, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 60, 31, 32, 33, 34,
- 19, 19, 37, 38, 39, 21, 55, 55, 53, 58,
- 58, 56, 31, 32, 33, 34, 97, 98, 19, 54,
- 5, 6, 7, 8, 9, 19, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 54, 21, 19, 55, 19,
- 54, 19, 123, 55, 125, 54, 59, 19, 19, 130,
- 54, 5, 37, 38, 19, 55, 19, 19, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
- 5, 6, 7, 8, 9, 19, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 54, 21, 31, 32, 33,
- 34, 19, 19, 54, 54, 54, 31, 32, 33, 34,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 19, 21, 5, 6, 7,
+static const short yycheck[] = { 99,
+ 41, 69, 69, 179, 156, 34, 5, 48, 285, 5,
+ 123, 19, 41, 319, 42, 83, 19, 19, 53, 34,
+ 88, 327, 57, 64, 19, 20, 332, 19, 23, 128,
+ 129, 19, 19, 62, 19, 312, 54, 343, 21, 19,
+ 54, 59, 218, 84, 19, 59, 114, 62, 325, 57,
+ 163, 119, 54, 94, 57, 361, 273, 125, 234, 19,
+ 56, 90, 61, 59, 341, 53, 58, 95, 55, 168,
+ 65, 170, 57, 379, 380, 19, 175, 19, 20, 54,
+ 180, 23, 19, 20, 22, 362, 23, 364, 19, 20,
+ 131, 19, 23, 30, 19, 20, 313, 314, 23, 128,
+ 19, 20, 19, 279, 23, 257, 19, 19, 53, 22,
+ 12, 53, 56, 30, 58, 12, 357, 55, 62, 63,
+ 64, 19, 53, 65, 19, 27, 54, 368, 65, 53,
+ 27, 33, 173, 58, 65, 176, 33, 13, 12, 58,
+ 65, 4, 55, 21, 54, 58, 65, 23, 324, 59,
+ 326, 219, 219, 27, 254, 255, 256, 12, 56, 33,
+ 58, 53, 53, 58, 62, 63, 64, 62, 63, 64,
+ 3, 19, 27, 19, 215, 19, 9, 56, 33, 56,
+ 59, 56, 59, 56, 59, 19, 59, 31, 32, 33,
+ 34, 24, 25, 26, 27, 28, 29, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 253, 19, 19, 256,
+ 55, 55, 45, 46, 19, 55, 55, 258, 55, 19,
+ 54, 9, 58, 57, 19, 19, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 19, 24, 25, 26, 27,
+ 28, 29, 19, 20, 21, 245, 246, 247, 19, 54,
+ 21, 5, 57, 19, 354, 355, 19, 45, 46, 61,
+ 31, 32, 33, 34, 21, 21, 37, 38, 39, 369,
+ 370, 19, 372, 19, 374, 19, 21, 56, 21, 5,
+ 6, 7, 8, 9, 55, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 19, 21, 40, 41, 42, 43,
+ 44, 60, 46, 47, 48, 49, 50, 51, 52, 56,
+ 19, 37, 38, 5, 6, 7, 8, 9, 19, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 55, 21,
+ 31, 32, 33, 34, 55, 19, 37, 38, 39, 31,
+ 32, 33, 34, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 19, 21,
+ 5, 6, 7, 8, 9, 55, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 5, 21, 5, 6, 7,
8, 9, 19, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 54, 21, 5, 6, 7, 8, 9, 57,
+ 18, 19, 56, 21, 5, 6, 7, 8, 9, 19,
11, 12, 13, 14, 15, 16, 17, 18, 19, 19,
- 21, 5, 6, 7, 8, 9, 56, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 55, 21, 5, 6,
- 7, 8, 9, 55, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 24, 21, 5, 6, 52, 57, 57,
- 57, 11, 12, 13, 14, 15, 16, 17, 18, 5,
- 6, 21, 57, 19, 57, 11, 12, 13, 14, 15,
- 16, 17, 18, 5, 6, 21, 19, 57, 57, 11,
- 12, 13, 14, 15, 16, 17, 18, 57, 57, 21,
- 24, 25, 26, 27, 28, 29, 57, 19, 57, 57,
- 55, 55, 54, 19, 19, 58, 24, 56, 55, 20,
- 24, 19, 19, 19, 19, 19, 55, 55, 55, 52,
- 19, 24, 19, 54, 24, 55, 54, 54, 54, 19,
- 55, 52, 30, 19, 19, 24, 55, 24, 55, 0,
- 52, 24, 55, 0, 9, 137, 136, 57, 57, 31,
- 133, 212, 19, 104, 56, 56, 307, 223, -1, 298
+ 21, 5, 6, 7, 8, 9, 20, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 57, 21, 5, 6,
+ 21, 57, 21, 57, 11, 12, 13, 14, 15, 16,
+ 17, 18, 5, 6, 21, 21, 55, 19, 11, 12,
+ 13, 14, 15, 16, 17, 18, 5, 6, 21, 55,
+ 55, 19, 11, 12, 13, 14, 15, 16, 17, 18,
+ 55, 19, 21, 31, 32, 33, 34, 19, 19, 58,
+ 55, 19, 19, 57, 57, 56, 56, 56, 24, 57,
+ 57, 19, 58, 58, 58, 19, 58, 58, 58, 58,
+ 19, 58, 58, 58, 58, 58, 53, 59, 19, 24,
+ 56, 56, 55, 57, 24, 19, 56, 19, 19, 19,
+ 19, 24, 56, 56, 53, 56, 19, 19, 55, 24,
+ 56, 19, 55, 55, 55, 53, 56, 19, 24, 30,
+ 19, 24, 56, 56, 56, 53, 24, 0, 0, 58,
+ 12, 58, 57, 182, 181, 178, 46, 265, 276, 57,
+ 351, 360, 101, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 135
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/lib/bison.simple"
switch (yyn) {
case 1:
-#line 591 "parse.y"
+#line 597 "parse.y"
{ ; ;
break;}
case 2:
-#line 592 "parse.y"
+#line 598 "parse.y"
{ ; ;
break;}
case 3:
-#line 593 "parse.y"
+#line 599 "parse.y"
{ ; ;
break;}
case 4:
-#line 594 "parse.y"
+#line 600 "parse.y"
{ ; ;
break;}
case 5:
-#line 597 "parse.y"
+#line 603 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", C_CCODE,
;
break;}
case 6:
-#line 606 "parse.y"
+#line 612 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", H_CCODE,
;
break;}
case 7:
-#line 615 "parse.y"
+#line 621 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", HT_CCODE,
;
break;}
case 8:
-#line 624 "parse.y"
+#line 630 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", PH_CCODE,
;
break;}
case 9:
-#line 633 "parse.y"
+#line 639 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", A_CCODE,
;
break;}
case 10:
-#line 642 "parse.y"
+#line 648 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", AT_CCODE,
;
break;}
case 11:
-#line 653 "parse.y"
+#line 659 "parse.y"
{ ; ;
break;}
case 12:
-#line 654 "parse.y"
+#line 660 "parse.y"
{ ; ;
break;}
case 13:
-#line 657 "parse.y"
+#line 661 "parse.y"
+{ ; ;
+ break;}
+case 14:
+#line 662 "parse.y"
+{ ; ;
+ break;}
+case 15:
+#line 663 "parse.y"
+{ ; ;
+ break;}
+case 16:
+#line 664 "parse.y"
+{ ; ;
+ break;}
+case 17:
+#line 665 "parse.y"
+{ ; ;
+ break;}
+case 18:
+#line 666 "parse.y"
+{ ; ;
+ break;}
+case 19:
+#line 669 "parse.y"
{
((Class *)class)->nodes = class_nodes;
class_nodes = NULL;
nodes = g_list_append(nodes,class);
;
break;}
-case 14:
-#line 662 "parse.y"
+case 20:
+#line 674 "parse.y"
{
((Class *)class)->nodes = NULL;
class_nodes = NULL;
nodes = g_list_append(nodes,class);
;
break;}
-case 15:
-#line 669 "parse.y"
+case 21:
+#line 681 "parse.y"
{
class = node_new (CLASS_NODE,
"otype:steal", yyvsp[-3].id,
"ptype:steal", yyvsp[-1].id,
- "bonobo_x_class:steal", bonobo_x_class,
+ "bonobo_object_class:steal", bonobo_object_class,
+ "interfaces:steal", interfaces,
"chunk_size:steal", chunk_size,
NULL);
+ bonobo_object_class = NULL;
+ chunk_size = NULL;
+ interfaces = NULL;
;
break;}
-case 17:
-#line 680 "parse.y"
+case 23:
+#line 696 "parse.y"
{
if(strcmp(yyvsp[-3].id,"chunks") == 0) {
g_free (chunk_size);
chunk_size = g_strdup(yyvsp[-2].id);
- } else if(strcmp(yyvsp[-3].id,"BonoboX") == 0) {
- g_free (bonobo_x_class);
- bonobo_x_class = g_strdup(yyvsp[-2].id);
+ } else if(strcmp(yyvsp[-3].id,"BonoboObject") == 0) {
+ g_free (bonobo_object_class);
+ bonobo_object_class = g_strdup(yyvsp[-2].id);
} else {
yyerror(_("parse error"));
YYERROR;
}
;
break;}
-case 18:
-#line 692 "parse.y"
+case 24:
+#line 708 "parse.y"
+{
+ if (strcmp (yyvsp[-3].id, "interface") == 0) {
+ interfaces = g_list_append (interfaces,
+ g_strdup (yyvsp[-2].id));
+ } else {
+ yyerror(_("parse error"));
+ YYERROR;
+ }
+ ;
+ break;}
+case 25:
+#line 717 "parse.y"
{
if(strcmp(yyvsp[-3].id,"chunks") == 0) {
g_free (chunk_size);
}
;
break;}
-case 19:
-#line 706 "parse.y"
+case 26:
+#line 731 "parse.y"
{ ; ;
break;}
-case 20:
-#line 707 "parse.y"
+case 27:
+#line 732 "parse.y"
{ ; ;
break;}
-case 21:
-#line 710 "parse.y"
+case 28:
+#line 735 "parse.y"
{ ; ;
break;}
-case 22:
-#line 711 "parse.y"
+case 29:
+#line 736 "parse.y"
{
- if (strcmp (yyvsp[-1].id, "BonoboX") != 0) {
- g_free(yyvsp[-1].id);
- yyerror(_("parse error"));
+ if (strcmp (yyvsp[-1].id, "BonoboObject") != 0) {
+ g_free (yyvsp[-1].id);
+ yyerror (_("parse error"));
YYERROR;
}
- last_added_method->bonobo_x_func = TRUE;
+ g_free (yyvsp[-1].id);
+ last_added_method->bonobo_object_func = TRUE;
;
break;}
-case 23:
-#line 719 "parse.y"
+case 30:
+#line 745 "parse.y"
+{
+ if (strcmp (yyvsp[-2].id, "interface") != 0) {
+ g_free (yyvsp[-2].id);
+ g_free (yyvsp[-1].id);
+ yyerror (_("parse error"));
+ YYERROR;
+ }
+ g_free (yyvsp[-2].id);
+ node_set ((Node *)last_added_method,
+ "interface:steal", yyvsp[-1].id,
+ NULL);
+ ;
+ break;}
+case 31:
+#line 757 "parse.y"
{ ; ;
break;}
-case 24:
-#line 720 "parse.y"
+case 32:
+#line 758 "parse.y"
{ ; ;
break;}
-case 25:
-#line 721 "parse.y"
+case 33:
+#line 759 "parse.y"
{ ; ;
break;}
-case 26:
-#line 722 "parse.y"
+case 34:
+#line 760 "parse.y"
{ ; ;
break;}
-case 27:
-#line 725 "parse.y"
+case 35:
+#line 763 "parse.y"
{ the_scope = PUBLIC_SCOPE; ;
break;}
-case 28:
-#line 726 "parse.y"
+case 36:
+#line 764 "parse.y"
{ the_scope = PRIVATE_SCOPE; ;
break;}
-case 29:
-#line 727 "parse.y"
+case 37:
+#line 765 "parse.y"
{ the_scope = PROTECTED_SCOPE; ;
break;}
-case 30:
-#line 728 "parse.y"
+case 38:
+#line 766 "parse.y"
{ the_scope = CLASS_SCOPE; ;
break;}
-case 31:
-#line 731 "parse.y"
+case 39:
+#line 769 "parse.y"
{
if (strcmp (yyvsp[-1].id, "destroywith") == 0) {
g_free (yyvsp[-1].id);
}
;
break;}
-case 32:
-#line 751 "parse.y"
+case 40:
+#line 789 "parse.y"
{
if (strcmp (yyvsp[-2].id, "destroy") == 0) {
g_free(yyvsp[-2].id);
}
;
break;}
-case 33:
-#line 775 "parse.y"
+case 41:
+#line 813 "parse.y"
{
initializer = yyvsp[0].id;
initializer_line = ccode_line;
;
break;}
-case 34:
-#line 779 "parse.y"
+case 42:
+#line 817 "parse.y"
{
initializer = (yyvsp[0].cbuf)->str;
initializer_line = ccode_line;
g_string_free(yyvsp[0].cbuf, FALSE);
;
break;}
-case 35:
-#line 787 "parse.y"
+case 43:
+#line 825 "parse.y"
{ ; ;
break;}
-case 36:
-#line 788 "parse.y"
+case 44:
+#line 826 "parse.y"
{ ; ;
break;}
-case 37:
-#line 789 "parse.y"
+case 45:
+#line 827 "parse.y"
{ destructor = NULL; ;
break;}
-case 38:
-#line 790 "parse.y"
+case 46:
+#line 828 "parse.y"
{ initializer = NULL; ;
break;}
-case 39:
-#line 791 "parse.y"
+case 47:
+#line 829 "parse.y"
{
destructor = NULL;
initializer = NULL;
;
break;}
-case 40:
-#line 797 "parse.y"
+case 48:
+#line 835 "parse.y"
{
push_variable(yyvsp[-2].id, the_scope,yyvsp[-4].line, NULL);
;
break;}
-case 41:
-#line 800 "parse.y"
+case 49:
+#line 838 "parse.y"
{
push_variable(yyvsp[-3].id, the_scope, yyvsp[-5].line, yyvsp[-2].id);
;
break;}
-case 42:
-#line 805 "parse.y"
+case 50:
+#line 843 "parse.y"
{
Node *node = NULL;
if(strcmp(yyvsp[-6].id,"get")==0 &&
;
break;}
-case 43:
-#line 873 "parse.y"
+case 51:
+#line 911 "parse.y"
{
Node *node = NULL;
if(strcmp(yyvsp[-3].id, "get") == 0) {
}
;
break;}
-case 44:
-#line 927 "parse.y"
+case 52:
+#line 965 "parse.y"
{
Node *node;
char *get, *set = NULL;
class_nodes = g_list_append (class_nodes, node);
;
break;}
-case 45:
-#line 1015 "parse.y"
+case 53:
+#line 1053 "parse.y"
{
if (strcmp (yyvsp[-1].id, "export")!=0) {
g_free (yyvsp[-1].id);
yyval.id = yyvsp[-1].id;
;
break;}
-case 46:
-#line 1023 "parse.y"
+case 54:
+#line 1061 "parse.y"
{
yyval.id = NULL;
;
break;}
-case 47:
-#line 1028 "parse.y"
+case 55:
+#line 1066 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
;
break;}
-case 48:
-#line 1076 "parse.y"
+case 56:
+#line 1114 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
;
break;}
-case 49:
-#line 1112 "parse.y"
+case 57:
+#line 1150 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
;
break;}
-case 50:
-#line 1128 "parse.y"
+case 58:
+#line 1166 "parse.y"
{ ; ;
break;}
-case 51:
-#line 1129 "parse.y"
+case 59:
+#line 1167 "parse.y"
{ ; ;
break;}
-case 52:
-#line 1132 "parse.y"
+case 60:
+#line 1170 "parse.y"
{ ; ;
break;}
-case 53:
-#line 1133 "parse.y"
+case 61:
+#line 1171 "parse.y"
{ ; ;
break;}
-case 54:
-#line 1136 "parse.y"
+case 62:
+#line 1174 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
-case 55:
-#line 1137 "parse.y"
+case 63:
+#line 1175 "parse.y"
{
if (strcmp (yyvsp[-3].id, "_") != 0) {
g_free (yyvsp[-3].id);
g_free (yyvsp[-1].id);
;
break;}
-case 56:
-#line 1149 "parse.y"
+case 64:
+#line 1187 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
-case 57:
-#line 1150 "parse.y"
+case 65:
+#line 1188 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
-case 58:
-#line 1153 "parse.y"
+case 66:
+#line 1191 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
NULL);
;
break;}
-case 59:
-#line 1159 "parse.y"
+case 67:
+#line 1197 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
NULL);
;
break;}
-case 60:
-#line 1165 "parse.y"
+case 68:
+#line 1203 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
NULL);
;
break;}
-case 61:
-#line 1171 "parse.y"
+case 69:
+#line 1209 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
NULL);
;
break;}
-case 62:
-#line 1177 "parse.y"
+case 70:
+#line 1215 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
NULL);
;
break;}
-case 63:
-#line 1183 "parse.y"
+case 71:
+#line 1221 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
NULL);
;
break;}
-case 64:
-#line 1189 "parse.y"
+case 72:
+#line 1227 "parse.y"
{
Type *type = pop_type ();
ensure_property ();
NULL);
;
break;}
-case 65:
-#line 1196 "parse.y"
+case 73:
+#line 1234 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
NULL);
;
break;}
-case 66:
-#line 1202 "parse.y"
+case 74:
+#line 1240 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
NULL);
;
break;}
-case 67:
-#line 1208 "parse.y"
+case 75:
+#line 1246 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
NULL);
;
break;}
-case 68:
-#line 1214 "parse.y"
+case 76:
+#line 1252 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
NULL);
;
break;}
-case 69:
-#line 1220 "parse.y"
+case 77:
+#line 1258 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
NULL);
;
break;}
-case 70:
-#line 1226 "parse.y"
+case 78:
+#line 1264 "parse.y"
{
ensure_property ();
if (strcmp (yyvsp[0].id, "link") == 0) {
}
;
break;}
-case 71:
-#line 1246 "parse.y"
+case 79:
+#line 1284 "parse.y"
{
if(strcmp(yyvsp[-2].id,"type")!=0) {
g_free(yyvsp[-4].id);
yyval.id = debool (yyvsp[-4].id);
;
break;}
-case 72:
-#line 1255 "parse.y"
+case 80:
+#line 1293 "parse.y"
{
yyval.id = debool (yyvsp[0].id);
typestack = g_list_prepend(typestack,NULL);
;
break;}
-case 73:
-#line 1261 "parse.y"
+case 81:
+#line 1299 "parse.y"
{ yyval.list = yyvsp[-1].list; ;
break;}
-case 74:
-#line 1262 "parse.y"
+case 82:
+#line 1300 "parse.y"
{ yyval.list = NULL; ;
break;}
-case 75:
-#line 1265 "parse.y"
+case 83:
+#line 1303 "parse.y"
{
yyval.list = g_list_append(yyvsp[0].list,yyvsp[-2].id);
;
break;}
-case 76:
-#line 1268 "parse.y"
+case 84:
+#line 1306 "parse.y"
{
yyval.list = g_list_append(NULL,yyvsp[0].id);
;
break;}
-case 77:
-#line 1274 "parse.y"
+case 85:
+#line 1312 "parse.y"
{
Node *node = node_new (TYPE_NODE,
"name:steal", yyvsp[-1].id,
typestack = g_list_prepend(typestack,node);
;
break;}
-case 78:
-#line 1281 "parse.y"
+case 86:
+#line 1319 "parse.y"
{
Node *node = node_new (TYPE_NODE,
"name:steal", yyvsp[0].id,
typestack = g_list_prepend(typestack,node);
;
break;}
-case 79:
-#line 1290 "parse.y"
+case 87:
+#line 1328 "parse.y"
{
yyval.id = yyvsp[0].id;
;
break;}
-case 80:
-#line 1293 "parse.y"
+case 88:
+#line 1331 "parse.y"
{
yyval.id = yyvsp[0].id;
;
break;}
-case 81:
-#line 1296 "parse.y"
+case 89:
+#line 1334 "parse.y"
{
yyval.id = g_strconcat("const ", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
;
break;}
-case 82:
-#line 1300 "parse.y"
+case 90:
+#line 1338 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " const", NULL);
g_free(yyvsp[-1].id);
;
break;}
-case 83:
-#line 1304 "parse.y"
+case 91:
+#line 1342 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " ", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
;
break;}
-case 84:
-#line 1308 "parse.y"
+case 92:
+#line 1346 "parse.y"
{
yyval.id = g_strconcat("const ", yyvsp[-1].id, " ",
yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
;
break;}
-case 85:
-#line 1313 "parse.y"
+case 93:
+#line 1351 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-2].id, " ",
yyvsp[-1].id, " const", NULL);
g_free(yyvsp[-1].id);
;
break;}
-case 86:
-#line 1321 "parse.y"
+case 94:
+#line 1359 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " ", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
;
break;}
-case 87:
-#line 1325 "parse.y"
+case 95:
+#line 1363 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " ", yyvsp[0].id, NULL);
g_free(yyvsp[-1].id);
g_free(yyvsp[0].id);
;
break;}
-case 88:
-#line 1330 "parse.y"
+case 96:
+#line 1368 "parse.y"
{
yyval.id = g_strconcat("const ", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
;
break;}
-case 89:
-#line 1334 "parse.y"
+case 97:
+#line 1372 "parse.y"
{
yyval.id = yyvsp[0].id;
;
break;}
-case 90:
-#line 1337 "parse.y"
+case 98:
+#line 1375 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " const", NULL);
g_free(yyvsp[-1].id);
;
break;}
-case 91:
-#line 1341 "parse.y"
+case 99:
+#line 1379 "parse.y"
{
yyval.id = g_strdup(yyvsp[0].id);
;
break;}
-case 92:
-#line 1344 "parse.y"
+case 100:
+#line 1382 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " const", NULL);
;
break;}
-case 93:
-#line 1349 "parse.y"
+case 101:
+#line 1387 "parse.y"
{ yyval.id = "void"; ;
break;}
-case 94:
-#line 1350 "parse.y"
+case 102:
+#line 1388 "parse.y"
{ yyval.id = "char"; ;
break;}
-case 95:
-#line 1351 "parse.y"
+case 103:
+#line 1389 "parse.y"
{ yyval.id = "short"; ;
break;}
-case 96:
-#line 1352 "parse.y"
+case 104:
+#line 1390 "parse.y"
{ yyval.id = "int"; ;
break;}
-case 97:
-#line 1353 "parse.y"
+case 105:
+#line 1391 "parse.y"
{ yyval.id = "long"; ;
break;}
-case 98:
-#line 1354 "parse.y"
+case 106:
+#line 1392 "parse.y"
{ yyval.id = "float"; ;
break;}
-case 99:
-#line 1355 "parse.y"
+case 107:
+#line 1393 "parse.y"
{ yyval.id = "double"; ;
break;}
-case 100:
-#line 1356 "parse.y"
+case 108:
+#line 1394 "parse.y"
{ yyval.id = "signed"; ;
break;}
-case 101:
-#line 1357 "parse.y"
+case 109:
+#line 1395 "parse.y"
{ yyval.id = "unsigned"; ;
break;}
-case 102:
-#line 1360 "parse.y"
+case 110:
+#line 1398 "parse.y"
{ yyval.id = "struct"; ;
break;}
-case 103:
-#line 1361 "parse.y"
+case 111:
+#line 1399 "parse.y"
{ yyval.id = "union"; ;
break;}
-case 104:
-#line 1362 "parse.y"
+case 112:
+#line 1400 "parse.y"
{ yyval.id = "enum"; ;
break;}
-case 105:
-#line 1365 "parse.y"
+case 113:
+#line 1403 "parse.y"
{ yyval.id = g_strdup("*"); ;
break;}
-case 106:
-#line 1366 "parse.y"
+case 114:
+#line 1404 "parse.y"
{ yyval.id = g_strdup("* const"); ;
break;}
-case 107:
-#line 1367 "parse.y"
+case 115:
+#line 1405 "parse.y"
{
yyval.id = g_strconcat("*", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
;
break;}
-case 108:
-#line 1371 "parse.y"
+case 116:
+#line 1409 "parse.y"
{
yyval.id = g_strconcat("* const", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
;
break;}
-case 109:
-#line 1378 "parse.y"
+case 117:
+#line 1416 "parse.y"
{
if(strcmp(yyvsp[-1].id, "first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
g_free(yyvsp[-1].id);
;
break;}
-case 110:
-#line 1390 "parse.y"
+case 118:
+#line 1428 "parse.y"
{
yyval.sigtype = SIGNAL_LAST_METHOD;
;
break;}
-case 111:
-#line 1396 "parse.y"
+case 119:
+#line 1434 "parse.y"
{
if(strcmp(yyvsp[-1].id,"first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
g_free(yyvsp[-1].id);
;
break;}
-case 112:
-#line 1408 "parse.y"
+case 120:
+#line 1446 "parse.y"
{
if(strcmp(yyvsp[-2].id,"first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
g_free(yyvsp[-2].id);
;
break;}
-case 113:
-#line 1420 "parse.y"
+case 121:
+#line 1458 "parse.y"
{
yyval.sigtype = SIGNAL_LAST_METHOD;
;
break;}
-case 114:
-#line 1423 "parse.y"
+case 122:
+#line 1461 "parse.y"
{
/* the_scope was default thus public */
the_scope = PUBLIC_SCOPE;
;
break;}
-case 115:
-#line 1429 "parse.y"
+case 123:
+#line 1467 "parse.y"
{
gtktypes = g_list_prepend(gtktypes, debool (yyvsp[-3].id));
;
break;}
-case 116:
-#line 1434 "parse.y"
+case 124:
+#line 1472 "parse.y"
{
gtktypes = g_list_append(gtktypes, debool (yyvsp[0].id));
;
break;}
-case 117:
-#line 1437 "parse.y"
+case 125:
+#line 1475 "parse.y"
{
gtktypes = g_list_append(gtktypes, debool (yyvsp[0].id));
;
break;}
-case 118:
-#line 1442 "parse.y"
+case 126:
+#line 1480 "parse.y"
{ yyval.cbuf = yyvsp[0].cbuf; ;
break;}
-case 119:
-#line 1443 "parse.y"
+case 127:
+#line 1481 "parse.y"
{ yyval.cbuf = NULL; ;
break;}
-case 120:
-#line 1447 "parse.y"
+case 128:
+#line 1485 "parse.y"
{
if(!has_self) {
yyerror(_("signal without 'self' as "
ccode_line, vararg, yyvsp[-8].list);
;
break;}
-case 121:
-#line 1463 "parse.y"
+case 129:
+#line 1501 "parse.y"
{
if(!has_self) {
yyerror(_("signal without 'self' as "
ccode_line, vararg, yyvsp[-8].list);
;
break;}
-case 122:
-#line 1479 "parse.y"
+case 130:
+#line 1517 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
ccode_line, vararg, NULL);
;
break;}
-case 123:
-#line 1495 "parse.y"
+case 131:
+#line 1533 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
ccode_line, vararg, NULL);
;
break;}
-case 124:
-#line 1511 "parse.y"
+case 132:
+#line 1549 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
ccode_line, vararg, NULL);
;
break;}
-case 125:
-#line 1522 "parse.y"
+case 133:
+#line 1560 "parse.y"
{
push_function(NO_SCOPE, OVERRIDE_METHOD, yyvsp[-8].id,
yyvsp[-5].id, yyvsp[0].cbuf,
vararg, NULL);
;
break;}
-case 126:
-#line 1528 "parse.y"
+case 134:
+#line 1566 "parse.y"
{
if(the_scope == CLASS_SCOPE) {
yyerror(_("a method cannot be of class scope"));
vararg, NULL);
;
break;}
-case 127:
-#line 1538 "parse.y"
+case 135:
+#line 1576 "parse.y"
{
if(strcmp(yyvsp[-4].id, "init")==0) {
push_init_arg(yyvsp[-2].id,FALSE);
}
;
break;}
-case 128:
-#line 1561 "parse.y"
+case 136:
+#line 1599 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
g_free(yyvsp[-1].id);
;
break;}
-case 129:
-#line 1572 "parse.y"
+case 137:
+#line 1610 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
g_free(yyvsp[-1].id);
;
break;}
-case 130:
-#line 1591 "parse.y"
+case 138:
+#line 1629 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
;
break;}
-case 131:
-#line 1597 "parse.y"
+case 139:
+#line 1635 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
-case 132:
-#line 1598 "parse.y"
+case 140:
+#line 1636 "parse.y"
{
yyval.id = (yyvsp[1].cbuf)->str;
g_string_free(yyvsp[1].cbuf, FALSE);
;
break;}
-case 133:
-#line 1604 "parse.y"
+case 141:
+#line 1642 "parse.y"
{ vararg = FALSE; has_self = FALSE; ;
break;}
-case 134:
-#line 1605 "parse.y"
+case 142:
+#line 1643 "parse.y"
{
vararg = FALSE;
has_self = TRUE;
}
;
break;}
-case 135:
-#line 1616 "parse.y"
+case 143:
+#line 1654 "parse.y"
{
vararg = FALSE;
has_self = TRUE;
}
;
break;}
-case 136:
-#line 1627 "parse.y"
+case 144:
+#line 1665 "parse.y"
{
vararg = FALSE;
has_self = TRUE;
}
;
break;}
-case 137:
-#line 1638 "parse.y"
+case 145:
+#line 1676 "parse.y"
{
has_self = TRUE;
if(strcmp(yyvsp[-2].id,"self")==0)
}
;
break;}
-case 138:
-#line 1648 "parse.y"
+case 146:
+#line 1686 "parse.y"
{
has_self = TRUE;
if(strcmp(yyvsp[-3].id,"self")==0)
}
;
break;}
-case 139:
-#line 1658 "parse.y"
+case 147:
+#line 1696 "parse.y"
{
has_self = TRUE;
if(strcmp(yyvsp[-2].id,"self")==0)
}
;
break;}
-case 140:
-#line 1668 "parse.y"
+case 148:
+#line 1706 "parse.y"
{ has_self = FALSE; ;
break;}
-case 141:
-#line 1671 "parse.y"
+case 149:
+#line 1709 "parse.y"
{ vararg = TRUE; ;
break;}
-case 142:
-#line 1672 "parse.y"
+case 150:
+#line 1710 "parse.y"
{ vararg = FALSE; ;
break;}
-case 143:
-#line 1675 "parse.y"
+case 151:
+#line 1713 "parse.y"
{ ; ;
break;}
-case 144:
-#line 1676 "parse.y"
+case 152:
+#line 1714 "parse.y"
{ ; ;
break;}
-case 145:
-#line 1679 "parse.y"
+case 153:
+#line 1717 "parse.y"
{
push_funcarg(yyvsp[0].id,NULL);
;
break;}
-case 146:
-#line 1682 "parse.y"
+case 154:
+#line 1720 "parse.y"
{
push_funcarg(yyvsp[-1].id,yyvsp[0].id);
;
break;}
-case 147:
-#line 1685 "parse.y"
+case 155:
+#line 1723 "parse.y"
{
if(strcmp(yyvsp[-2].id,"check")!=0) {
yyerror(_("parse error"));
push_funcarg(yyvsp[-4].id,NULL);
;
break;}
-case 148:
-#line 1693 "parse.y"
+case 156:
+#line 1731 "parse.y"
{
if(strcmp(yyvsp[-2].id,"check")!=0) {
yyerror(_("parse error"));
push_funcarg(yyvsp[-5].id,yyvsp[-4].id);
;
break;}
-case 149:
-#line 1703 "parse.y"
+case 157:
+#line 1741 "parse.y"
{ ; ;
break;}
-case 150:
-#line 1704 "parse.y"
+case 158:
+#line 1742 "parse.y"
{ ; ;
break;}
-case 151:
-#line 1707 "parse.y"
+case 159:
+#line 1745 "parse.y"
{
if(strcmp(yyvsp[0].id,"type")==0) {
Node *node = node_new (CHECK_NODE,
g_free(yyvsp[0].id);
;
break;}
-case 152:
-#line 1724 "parse.y"
+case 160:
+#line 1762 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", GT_CHECK,
checks = g_list_append(checks,node);
;
break;}
-case 153:
-#line 1731 "parse.y"
+case 161:
+#line 1769 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", LT_CHECK,
checks = g_list_append(checks,node);
;
break;}
-case 154:
-#line 1738 "parse.y"
+case 162:
+#line 1776 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", GE_CHECK,
checks = g_list_append(checks,node);
;
break;}
-case 155:
-#line 1745 "parse.y"
+case 163:
+#line 1783 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", LE_CHECK,
checks = g_list_append(checks,node);
;
break;}
-case 156:
-#line 1752 "parse.y"
+case 164:
+#line 1790 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", EQ_CHECK,
checks = g_list_append(checks,node);
;
break;}
-case 157:
-#line 1759 "parse.y"
+case 165:
+#line 1797 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", NE_CHECK,
checks = g_list_append(checks,node);
;
break;}
-case 158:
-#line 1768 "parse.y"
+case 166:
+#line 1806 "parse.y"
+{
+ Node *node = node_new (ENUMDEF_NODE,
+ "etype:steal", yyvsp[-1].id,
+ "prefix:steal", yyvsp[-5].id,
+ "values:steal", enum_vals,
+ NULL);
+ enum_vals = NULL;
+ nodes = g_list_append (nodes, node);
+ ;
+ break;}
+case 167:
+#line 1815 "parse.y"
+{
+ Node *node = node_new (ENUMDEF_NODE,
+ "etype:steal", yyvsp[-1].id,
+ "prefix:steal", yyvsp[-6].id,
+ "values:steal", enum_vals,
+ NULL);
+ enum_vals = NULL;
+ nodes = g_list_append (nodes, node);
+ ;
+ break;}
+case 168:
+#line 1826 "parse.y"
+{;;
+ break;}
+case 169:
+#line 1827 "parse.y"
+{;;
+ break;}
+case 170:
+#line 1830 "parse.y"
+{
+ Node *node;
+ char *num = yyvsp[0].id;
+
+ /* A float value, that's a bad enum */
+ if (num[0] >= '0' &&
+ num[0] <= '9' &&
+ strchr (num, '.') != NULL) {
+ g_free (yyvsp[-2].id);
+ g_free (num);
+ yyerror(_("parse error (enumerator value not integer constant)"));
+ YYERROR;
+ }
+
+ node = node_new (ENUMVALUE_NODE,
+ "name:steal", yyvsp[-2].id,
+ "value:steal", num,
+ NULL);
+ enum_vals = g_list_append (enum_vals, node);
+ ;
+ break;}
+case 171:
+#line 1850 "parse.y"
+{
+ Node *node;
+
+ node = node_new (ENUMVALUE_NODE,
+ "name:steal", yyvsp[0].id,
+ NULL);
+ enum_vals = g_list_append (enum_vals, node);
+ ;
+ break;}
+case 172:
+#line 1860 "parse.y"
+{
+ Node *node = node_new (FLAGS_NODE,
+ "ftype:steal", yyvsp[-1].id,
+ "prefix:steal", yyvsp[-5].id,
+ "values:steal", flag_vals,
+ NULL);
+ flag_vals = NULL;
+ nodes = g_list_append (nodes, node);
+ ;
+ break;}
+case 173:
+#line 1869 "parse.y"
+{
+ Node *node = node_new (FLAGS_NODE,
+ "ftype:steal", yyvsp[-1].id,
+ "prefix:steal", yyvsp[-6].id,
+ "values:steal", flag_vals,
+ NULL);
+ flag_vals = NULL;
+ nodes = g_list_append (nodes, node);
+ ;
+ break;}
+case 174:
+#line 1880 "parse.y"
+{
+ flag_vals = g_list_append (flag_vals, yyvsp[0].id);
+ ;
+ break;}
+case 175:
+#line 1883 "parse.y"
+{
+ flag_vals = g_list_append (flag_vals, yyvsp[0].id);
+ ;
+ break;}
+case 176:
+#line 1888 "parse.y"
+{
+ Node *node = node_new (ERROR_NODE,
+ "etype:steal", yyvsp[-1].id,
+ "prefix:steal", yyvsp[-5].id,
+ "values:steal", error_vals,
+ NULL);
+ error_vals = NULL;
+ nodes = g_list_append (nodes, node);
+ ;
+ break;}
+case 177:
+#line 1897 "parse.y"
+{
+ Node *node = node_new (ERROR_NODE,
+ "etype:steal", yyvsp[-1].id,
+ "prefix:steal", yyvsp[-6].id,
+ "values:steal", error_vals,
+ NULL);
+ error_vals = NULL;
+ nodes = g_list_append (nodes, node);
+ ;
+ break;}
+case 178:
+#line 1908 "parse.y"
+{
+ error_vals = g_list_append (error_vals, yyvsp[0].id);
+ ;
+ break;}
+case 179:
+#line 1911 "parse.y"
+{
+ error_vals = g_list_append (error_vals, yyvsp[0].id);
+ ;
+ break;}
+case 180:
+#line 1917 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
-case 159:
-#line 1769 "parse.y"
+case 181:
+#line 1918 "parse.y"
{
yyval.id = g_strconcat("-",yyvsp[0].id,NULL);
g_free(yyvsp[0].id);
;
break;}
-case 160:
-#line 1773 "parse.y"
+case 182:
+#line 1922 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
-case 161:
-#line 1774 "parse.y"
+case 183:
+#line 1923 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
}
}
return 1;
}
-#line 1777 "parse.y"
+#line 1926 "parse.y"
#define MAXIMUM 296
#define MINIMUM 297
#define DEFAULT_VALUE 298
-#define FLAGS 299
-#define TYPE 300
-#define FLAGS_TYPE 301
-#define ENUM_TYPE 302
-#define PARAM_TYPE 303
-#define BOXED_TYPE 304
-#define OBJECT_TYPE 305
+#define ERROR 299
+#define FLAGS 300
+#define TYPE 301
+#define FLAGS_TYPE 302
+#define ENUM_TYPE 303
+#define PARAM_TYPE 304
+#define BOXED_TYPE 305
+#define OBJECT_TYPE 306
extern YYSTYPE yylval;
#include "main.h"
#include "util.h"
+/* FIXME: add gettext support */
#define _(x) (x)
GList *nodes = NULL;
static GList *class_nodes = NULL;
Node *class = NULL;
+GList *enums = NULL;
+static GList *enum_vals = NULL;
+static GList *flag_vals = NULL;
+static GList *error_vals = NULL;
static char *chunk_size = NULL;
-static char *bonobo_x_class = NULL;
+static char *bonobo_object_class = NULL;
+static GList *interfaces = NULL;
static GList *typestack = NULL;
static GList *funcargs = NULL;
static GList *checks = NULL;
}
if (strcmp (prop->gtktype, "STRING") == 0) {
- set = g_strdup_printf("g_free (%s->%s); "
- "%s->%s = g_value_dup_string (VAL);",
+ set = g_strdup_printf("{ char *old = %s->%s; "
+ "%s->%s = g_value_dup_string (VAL); g_free (old); }",
root, prop->name,
root, prop->name);
get = g_strdup_printf("g_value_set_string (VAL, %s->%s);",
%token <cbuf> CCODE 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 FLAGS TYPE
+%token <line> NICK BLURB MAXIMUM MINIMUM DEFAULT_VALUE ERROR FLAGS TYPE
%token <line> FLAGS_TYPE ENUM_TYPE PARAM_TYPE BOXED_TYPE OBJECT_TYPE
%%
;
ccodes: ccodes ccode { ; }
+ | ccodes enumcode { ; }
+ | ccodes flagcode { ; }
+ | ccodes errorcode { ; }
| ccode { ; }
+ | enumcode { ; }
+ | flagcode { ; }
+ | errorcode { ; }
;
class: classdec '{' classcode '}' {
class = node_new (CLASS_NODE,
"otype:steal", $<id>2,
"ptype:steal", $<id>4,
- "bonobo_x_class:steal", bonobo_x_class,
+ "bonobo_object_class:steal", bonobo_object_class,
+ "interfaces:steal", interfaces,
"chunk_size:steal", chunk_size,
NULL);
+ bonobo_object_class = NULL;
+ chunk_size = NULL;
+ interfaces = NULL;
}
;
if(strcmp($<id>2,"chunks") == 0) {
g_free (chunk_size);
chunk_size = g_strdup($<id>3);
- } else if(strcmp($<id>2,"BonoboX") == 0) {
- g_free (bonobo_x_class);
- bonobo_x_class = g_strdup($<id>3);
+ } else if(strcmp($<id>2,"BonoboObject") == 0) {
+ g_free (bonobo_object_class);
+ bonobo_object_class = g_strdup($<id>3);
+ } else {
+ yyerror(_("parse error"));
+ YYERROR;
+ }
+ }
+ | '(' TOKEN TYPETOKEN ')' classflags {
+ if (strcmp ($<id>2, "interface") == 0) {
+ interfaces = g_list_append (interfaces,
+ g_strdup ($<id>3));
} else {
yyerror(_("parse error"));
YYERROR;
thing: method { ; }
| TOKEN method {
- if (strcmp ($<id>1, "BonoboX") != 0) {
- g_free($<id>1);
- yyerror(_("parse error"));
+ if (strcmp ($<id>1, "BonoboObject") != 0) {
+ g_free ($<id>1);
+ yyerror (_("parse error"));
YYERROR;
}
- last_added_method->bonobo_x_func = TRUE;
+ g_free ($<id>1);
+ last_added_method->bonobo_object_func = TRUE;
+ }
+ | TOKEN TYPETOKEN method {
+ if (strcmp ($<id>1, "interface") != 0) {
+ g_free ($<id>1);
+ g_free ($<id>2);
+ yyerror (_("parse error"));
+ YYERROR;
+ }
+ g_free ($<id>1);
+ node_set ((Node *)last_added_method,
+ "interface:steal", $<id>2,
+ NULL);
}
| variable { ; }
| argument { ; }
checks = g_list_append(checks,node);
}
;
-
+
+enumcode: ENUM TOKEN '{' enumvals '}' TYPETOKEN ';' {
+ Node *node = node_new (ENUMDEF_NODE,
+ "etype:steal", $<id>6,
+ "prefix:steal", $<id>2,
+ "values:steal", enum_vals,
+ NULL);
+ enum_vals = NULL;
+ nodes = g_list_append (nodes, node);
+ }
+ | ENUM TOKEN '{' enumvals ',' '}' TYPETOKEN ';' {
+ Node *node = node_new (ENUMDEF_NODE,
+ "etype:steal", $<id>7,
+ "prefix:steal", $<id>2,
+ "values:steal", enum_vals,
+ NULL);
+ enum_vals = NULL;
+ nodes = g_list_append (nodes, node);
+ }
+ ;
+
+enumvals: enumvals ',' enumval {;}
+ | enumval {;}
+ ;
+
+enumval: TOKEN '=' numtok {
+ Node *node;
+ char *num = $<id>3;
+
+ /* A float value, that's a bad enum */
+ if (num[0] >= '0' &&
+ num[0] <= '9' &&
+ strchr (num, '.') != NULL) {
+ g_free ($<id>1);
+ g_free (num);
+ yyerror(_("parse error (enumerator value not integer constant)"));
+ YYERROR;
+ }
+
+ node = node_new (ENUMVALUE_NODE,
+ "name:steal", $<id>1,
+ "value:steal", num,
+ NULL);
+ enum_vals = g_list_append (enum_vals, node);
+ }
+ | TOKEN {
+ Node *node;
+
+ node = node_new (ENUMVALUE_NODE,
+ "name:steal", $<id>1,
+ NULL);
+ enum_vals = g_list_append (enum_vals, node);
+ }
+ ;
+
+flagcode: FLAGS TOKEN '{' flagvals '}' TYPETOKEN ';' {
+ Node *node = node_new (FLAGS_NODE,
+ "ftype:steal", $<id>6,
+ "prefix:steal", $<id>2,
+ "values:steal", flag_vals,
+ NULL);
+ flag_vals = NULL;
+ nodes = g_list_append (nodes, node);
+ }
+ | FLAGS TOKEN '{' flagvals ',' '}' TYPETOKEN ';' {
+ Node *node = node_new (FLAGS_NODE,
+ "ftype:steal", $<id>7,
+ "prefix:steal", $<id>2,
+ "values:steal", flag_vals,
+ NULL);
+ flag_vals = NULL;
+ nodes = g_list_append (nodes, node);
+ }
+ ;
+
+flagvals: flagvals ',' TOKEN {
+ flag_vals = g_list_append (flag_vals, $<id>3);
+ }
+ | TOKEN {
+ flag_vals = g_list_append (flag_vals, $<id>1);
+ }
+ ;
+
+errorcode: ERROR TOKEN '{' errorvals '}' TYPETOKEN ';' {
+ Node *node = node_new (ERROR_NODE,
+ "etype:steal", $<id>6,
+ "prefix:steal", $<id>2,
+ "values:steal", error_vals,
+ NULL);
+ error_vals = NULL;
+ nodes = g_list_append (nodes, node);
+ }
+ | ERROR TOKEN '{' errorvals ',' '}' TYPETOKEN ';' {
+ Node *node = node_new (ERROR_NODE,
+ "etype:steal", $<id>7,
+ "prefix:steal", $<id>2,
+ "values:steal", error_vals,
+ NULL);
+ error_vals = NULL;
+ nodes = g_list_append (nodes, node);
+ }
+ ;
+
+errorvals: errorvals ',' TOKEN {
+ error_vals = g_list_append (error_vals, $<id>3);
+ }
+ | TOKEN {
+ error_vals = g_list_append (error_vals, $<id>1);
+ }
+ ;
+
+
numtok: NUMBER { $<id>$ = $<id>1; }
| '-' NUMBER {
$<id>$ = g_strconcat("-",$<id>2,NULL);
%{
#include <stdio.h>
+#include <gtk/gtk.h>
/* the next line is not mandatory, but if gob finds an include in one of
the %{ %} sections above the class definitions, it will not put it in
the file itself. So you can this way select where the include file is
#define TEST_ARRAY 5
%}
-class Test:Object from G:Object {
+enum LAME_CLIENT {
+ IS_CONNECTED,
+ NONE = 9,
+ LAST
+} Test:Enum;
+
+flags BUGA_BUGA {
+ ONE,
+ TWO,
+ MANY,
+} Some:Flags;
+
+error TEST_OBJECT_ERROR {
+ BAD_THIS,
+ BAD_THAT
+} Test:Object:Error;
+
+class Test:Object from G:Object
+ (interface Gtk:Tree:Model)
+ /* We can add more interfaces by adding more lines like the above */
+ /* Note that there must exist a GtkTreeModelIface structure */
+{
+
+ /* function implemented for the Gtk:Tree:Model interface */
+ interface Gtk:Tree:Model
+ private GtkTreeModelFlags
+ get_flags (Gtk:Tree:Model *self (check null type))
+ {
+ /* FOO */
+ return (GtkTreeModelFlags)0;
+ }
+
+
public int test_array[TEST_ARRAY];
public int i;
}
private
- int
+ char *
test_handler (self, GObject *w, int h, gpointer data)
{
- return -1;
+ return NULL;
}
/**
signal last INT (POINTER, INT)
int bleh2(self, const G:Object * wid (check null type),
int h (check > 0)) {
- /*gtk_signal_connect (GTK_OBJECT (self),
- GTK_WEIRD_BUTTON_SIGNAL_BLEH (test_handler),
- NULL);*/
+
+ test_object_connect__bleh (self, self_test_handler, NULL);
+ self_connect__bleh (self, self_test_handler, NULL);
+ test_object_connect_after__bleh (self, self_test_handler, NULL);
+ self_connect_after__bleh (self, self_test_handler, NULL);
+ test_object_connect_data__bleh (self, self_test_handler, NULL, NULL, 0);
+ self_connect_data__bleh (self, self_test_handler, NULL, NULL, 0);
/* testing multiple marshaller support */
return 0;
copy_check (Check * self);
static Class *
copy_class (Class * self);
+static EnumDef *
+copy_enumdef (EnumDef * self);
+static EnumValue *
+copy_enumvalue (EnumValue * self);
+static Error *
+copy_error (Error * self);
+static Flags *
+copy_flags (Flags * self);
static FuncArg *
copy_funcarg (FuncArg * self);
static Method *
void
free_class (Class * self);
void
+free_enumdef (EnumDef * self);
+void
+free_enumvalue (EnumValue * self);
+void
+free_error (Error * self);
+void
+free_flags (Flags * self);
+void
free_funcarg (FuncArg * self);
void
free_method (Method * self);
static void
setv_class (Class * self, va_list __ap);
static void
+setv_enumdef (EnumDef * self, va_list __ap);
+static void
+setv_enumvalue (EnumValue * self, va_list __ap);
+static void
+setv_error (Error * self, va_list __ap);
+static void
+setv_flags (Flags * self, va_list __ap);
+static void
setv_funcarg (FuncArg * self, va_list __ap);
static void
setv_method (Method * self, va_list __ap);
QUARK_otype_STEAL,
QUARK_ptype,
QUARK_ptype_STEAL,
- QUARK_bonobo_x_class,
- QUARK_bonobo_x_class_STEAL,
+ QUARK_bonobo_object_class,
+ QUARK_bonobo_object_class_STEAL,
QUARK_chunk_size,
QUARK_chunk_size_STEAL,
+ QUARK_interfaces,
+ QUARK_interfaces_STEAL,
QUARK_nodes,
QUARK_nodes_STEAL,
QUARK_name,
QUARK_ccode_line,
QUARK_vararg,
QUARK_unique_id,
- QUARK_bonobo_x_func,
+ QUARK_bonobo_object_func,
+ QUARK_interface,
+ QUARK_interface_STEAL,
QUARK_vtype,
QUARK_vtype_STEAL,
QUARK_destructor_unref,
QUARK_initializer,
QUARK_initializer_STEAL,
QUARK_initializer_line,
+ QUARK_etype,
+ QUARK_etype_STEAL,
+ QUARK_prefix,
+ QUARK_prefix_STEAL,
+ QUARK_values,
+ QUARK_values_STEAL,
+ QUARK_value,
+ QUARK_value_STEAL,
+ QUARK_ftype,
+ QUARK_ftype_STEAL,
QUARK_LAST
};
g_hash_table_insert (quark_ht, "otype:steal", GINT_TO_POINTER (QUARK_otype_STEAL));
g_hash_table_insert (quark_ht, "ptype", GINT_TO_POINTER (QUARK_ptype));
g_hash_table_insert (quark_ht, "ptype:steal", GINT_TO_POINTER (QUARK_ptype_STEAL));
- g_hash_table_insert (quark_ht, "bonobo_x_class", GINT_TO_POINTER (QUARK_bonobo_x_class));
- g_hash_table_insert (quark_ht, "bonobo_x_class:steal", GINT_TO_POINTER (QUARK_bonobo_x_class_STEAL));
+ g_hash_table_insert (quark_ht, "bonobo_object_class", GINT_TO_POINTER (QUARK_bonobo_object_class));
+ g_hash_table_insert (quark_ht, "bonobo_object_class:steal", GINT_TO_POINTER (QUARK_bonobo_object_class_STEAL));
g_hash_table_insert (quark_ht, "chunk_size", GINT_TO_POINTER (QUARK_chunk_size));
g_hash_table_insert (quark_ht, "chunk_size:steal", GINT_TO_POINTER (QUARK_chunk_size_STEAL));
+ g_hash_table_insert (quark_ht, "interfaces", GINT_TO_POINTER (QUARK_interfaces));
+ g_hash_table_insert (quark_ht, "interfaces:steal", GINT_TO_POINTER (QUARK_interfaces_STEAL));
g_hash_table_insert (quark_ht, "nodes", GINT_TO_POINTER (QUARK_nodes));
g_hash_table_insert (quark_ht, "nodes:steal", GINT_TO_POINTER (QUARK_nodes_STEAL));
g_hash_table_insert (quark_ht, "name", GINT_TO_POINTER (QUARK_name));
g_hash_table_insert (quark_ht, "ccode_line", GINT_TO_POINTER (QUARK_ccode_line));
g_hash_table_insert (quark_ht, "vararg", GINT_TO_POINTER (QUARK_vararg));
g_hash_table_insert (quark_ht, "unique_id", GINT_TO_POINTER (QUARK_unique_id));
- g_hash_table_insert (quark_ht, "bonobo_x_func", GINT_TO_POINTER (QUARK_bonobo_x_func));
+ g_hash_table_insert (quark_ht, "bonobo_object_func", GINT_TO_POINTER (QUARK_bonobo_object_func));
+ g_hash_table_insert (quark_ht, "interface", GINT_TO_POINTER (QUARK_interface));
+ g_hash_table_insert (quark_ht, "interface:steal", GINT_TO_POINTER (QUARK_interface_STEAL));
g_hash_table_insert (quark_ht, "vtype", GINT_TO_POINTER (QUARK_vtype));
g_hash_table_insert (quark_ht, "vtype:steal", GINT_TO_POINTER (QUARK_vtype_STEAL));
g_hash_table_insert (quark_ht, "destructor_unref", GINT_TO_POINTER (QUARK_destructor_unref));
g_hash_table_insert (quark_ht, "initializer", GINT_TO_POINTER (QUARK_initializer));
g_hash_table_insert (quark_ht, "initializer:steal", GINT_TO_POINTER (QUARK_initializer_STEAL));
g_hash_table_insert (quark_ht, "initializer_line", GINT_TO_POINTER (QUARK_initializer_line));
+ g_hash_table_insert (quark_ht, "etype", GINT_TO_POINTER (QUARK_etype));
+ g_hash_table_insert (quark_ht, "etype:steal", GINT_TO_POINTER (QUARK_etype_STEAL));
+ g_hash_table_insert (quark_ht, "prefix", GINT_TO_POINTER (QUARK_prefix));
+ g_hash_table_insert (quark_ht, "prefix:steal", GINT_TO_POINTER (QUARK_prefix_STEAL));
+ g_hash_table_insert (quark_ht, "values", GINT_TO_POINTER (QUARK_values));
+ g_hash_table_insert (quark_ht, "values:steal", GINT_TO_POINTER (QUARK_values_STEAL));
+ g_hash_table_insert (quark_ht, "value", GINT_TO_POINTER (QUARK_value));
+ g_hash_table_insert (quark_ht, "value:steal", GINT_TO_POINTER (QUARK_value_STEAL));
+ g_hash_table_insert (quark_ht, "ftype", GINT_TO_POINTER (QUARK_ftype));
+ g_hash_table_insert (quark_ht, "ftype:steal", GINT_TO_POINTER (QUARK_ftype_STEAL));
}
static Argument *
new->type = CLASS_NODE;
new->otype = g_strdup (self->otype);
new->ptype = g_strdup (self->ptype);
- new->bonobo_x_class = g_strdup (self->bonobo_x_class);
+ new->bonobo_object_class = g_strdup (self->bonobo_object_class);
new->chunk_size = g_strdup (self->chunk_size);
+ new->interfaces = g_list_copy (self->interfaces); COPY_LIST_VALS(new->interfaces, g_strdup);
new->nodes = node_list_copy (self->nodes);
return new;
}
+static EnumDef *
+copy_enumdef (EnumDef * self)
+{
+ EnumDef * new;
+ g_return_val_if_fail (self != NULL, NULL);
+ g_return_val_if_fail (self->type == ENUMDEF_NODE, NULL);
+ new = g_new0(EnumDef, 1);
+ new->type = ENUMDEF_NODE;
+ new->etype = g_strdup (self->etype);
+ new->prefix = g_strdup (self->prefix);
+ new->values = node_list_copy (self->values);
+ return new;
+}
+
+static EnumValue *
+copy_enumvalue (EnumValue * self)
+{
+ EnumValue * new;
+ g_return_val_if_fail (self != NULL, NULL);
+ g_return_val_if_fail (self->type == ENUMVALUE_NODE, NULL);
+ new = g_new0(EnumValue, 1);
+ new->type = ENUMVALUE_NODE;
+ new->name = g_strdup (self->name);
+ new->value = g_strdup (self->value);
+ return new;
+}
+
+static Error *
+copy_error (Error * self)
+{
+ Error * new;
+ g_return_val_if_fail (self != NULL, NULL);
+ g_return_val_if_fail (self->type == ERROR_NODE, NULL);
+ new = g_new0(Error, 1);
+ new->type = ERROR_NODE;
+ new->etype = g_strdup (self->etype);
+ new->prefix = g_strdup (self->prefix);
+ new->values = g_list_copy (self->values); COPY_LIST_VALS(new->values, g_strdup);
+ return new;
+}
+
+static Flags *
+copy_flags (Flags * self)
+{
+ Flags * new;
+ g_return_val_if_fail (self != NULL, NULL);
+ g_return_val_if_fail (self->type == FLAGS_NODE, NULL);
+ new = g_new0(Flags, 1);
+ new->type = FLAGS_NODE;
+ new->ftype = g_strdup (self->ftype);
+ new->prefix = g_strdup (self->prefix);
+ new->values = g_list_copy (self->values); COPY_LIST_VALS(new->values, g_strdup);
+ return new;
+}
+
static FuncArg *
copy_funcarg (FuncArg * self)
{
new->ccode_line = self->ccode_line;
new->vararg = self->vararg;
new->unique_id = self->unique_id;
- new->bonobo_x_func = self->bonobo_x_func;
+ new->bonobo_object_func = self->bonobo_object_func;
+ new->interface = g_strdup (self->interface);
return new;
}
g_return_if_fail (self->type == CLASS_NODE);
g_free (self->otype);
g_free (self->ptype);
- g_free (self->bonobo_x_class);
+ g_free (self->bonobo_object_class);
g_free (self->chunk_size);
+ g_list_foreach (self->interfaces, (GFunc)g_free, NULL); g_list_free (self->interfaces);
node_list_free (self->nodes);
g_free (self);
}
+void
+free_enumdef (EnumDef * self)
+{
+ g_return_if_fail (self != NULL);
+ g_return_if_fail (self->type == ENUMDEF_NODE);
+ g_free (self->etype);
+ g_free (self->prefix);
+ node_list_free (self->values);
+ g_free (self);
+}
+
+void
+free_enumvalue (EnumValue * self)
+{
+ g_return_if_fail (self != NULL);
+ g_return_if_fail (self->type == ENUMVALUE_NODE);
+ g_free (self->name);
+ g_free (self->value);
+ g_free (self);
+}
+
+void
+free_error (Error * self)
+{
+ g_return_if_fail (self != NULL);
+ g_return_if_fail (self->type == ERROR_NODE);
+ g_free (self->etype);
+ g_free (self->prefix);
+ g_list_foreach (self->values, (GFunc)g_free, NULL); g_list_free (self->values);
+ g_free (self);
+}
+
+void
+free_flags (Flags * self)
+{
+ g_return_if_fail (self != NULL);
+ g_return_if_fail (self->type == FLAGS_NODE);
+ g_free (self->ftype);
+ g_free (self->prefix);
+ g_list_foreach (self->values, (GFunc)g_free, NULL); g_list_free (self->values);
+ g_free (self);
+}
+
void
free_funcarg (FuncArg * self)
{
g_free (self->onerror);
g_free (self->defreturn);
g_free (self->cbuf);
+ g_free (self->interface);
g_free (self);
}
self->ptype = ptype;
break;
}
- case QUARK_bonobo_x_class: {
- char * bonobo_x_class = va_arg (__ap, char *);
- char * __old_value = self->bonobo_x_class;
- self->bonobo_x_class = g_strdup (bonobo_x_class);
+ case QUARK_bonobo_object_class: {
+ char * bonobo_object_class = va_arg (__ap, char *);
+ char * __old_value = self->bonobo_object_class;
+ self->bonobo_object_class = g_strdup (bonobo_object_class);
g_free (__old_value);
break;
}
- case QUARK_bonobo_x_class_STEAL: {
- char * bonobo_x_class = va_arg (__ap, char *);
- self->bonobo_x_class = bonobo_x_class;
+ case QUARK_bonobo_object_class_STEAL: {
+ char * bonobo_object_class = va_arg (__ap, char *);
+ self->bonobo_object_class = bonobo_object_class;
break;
}
case QUARK_chunk_size: {
self->chunk_size = chunk_size;
break;
}
+ case QUARK_interfaces: {
+ GList * interfaces = va_arg (__ap, GList *);
+ GList * __old_value = self->interfaces;
+ self->interfaces = g_list_copy (interfaces); COPY_LIST_VALS(self->interfaces, g_strdup);
+ g_list_foreach (__old_value, (GFunc)g_free, NULL); g_list_free (__old_value);
+ break;
+ }
+ case QUARK_interfaces_STEAL: {
+ GList * interfaces = va_arg (__ap, GList *);
+ self->interfaces = interfaces;
+ break;
+ }
case QUARK_nodes: {
GList * nodes = va_arg (__ap, GList *);
GList * __old_value = self->nodes;
}
}
+static void
+setv_enumdef (EnumDef * self, va_list __ap)
+{
+ int quark;
+ const char *arg;
+ ensure_quarks ();
+ while ((arg = va_arg (__ap, char *)) != NULL) {
+ quark = GPOINTER_TO_INT (g_hash_table_lookup (quark_ht, arg));
+ switch (quark) {
+ case QUARK_etype: {
+ char * etype = va_arg (__ap, char *);
+ char * __old_value = self->etype;
+ self->etype = g_strdup (etype);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_etype_STEAL: {
+ char * etype = va_arg (__ap, char *);
+ self->etype = etype;
+ break;
+ }
+ case QUARK_prefix: {
+ char * prefix = va_arg (__ap, char *);
+ char * __old_value = self->prefix;
+ self->prefix = g_strdup (prefix);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_prefix_STEAL: {
+ char * prefix = va_arg (__ap, char *);
+ self->prefix = prefix;
+ break;
+ }
+ case QUARK_values: {
+ GList * values = va_arg (__ap, GList *);
+ GList * __old_value = self->values;
+ self->values = node_list_copy (values);
+ node_list_free (__old_value);
+ break;
+ }
+ case QUARK_values_STEAL: {
+ GList * values = va_arg (__ap, GList *);
+ self->values = values;
+ break;
+ }
+ default:
+ g_warning ("Argument named 'EnumDef::%s' does not exist", arg);
+ break;
+ }
+ }
+}
+
+static void
+setv_enumvalue (EnumValue * self, va_list __ap)
+{
+ int quark;
+ const char *arg;
+ ensure_quarks ();
+ while ((arg = va_arg (__ap, char *)) != NULL) {
+ quark = GPOINTER_TO_INT (g_hash_table_lookup (quark_ht, arg));
+ switch (quark) {
+ case QUARK_name: {
+ char * name = va_arg (__ap, char *);
+ char * __old_value = self->name;
+ self->name = g_strdup (name);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_name_STEAL: {
+ char * name = va_arg (__ap, char *);
+ self->name = name;
+ break;
+ }
+ case QUARK_value: {
+ char * value = va_arg (__ap, char *);
+ char * __old_value = self->value;
+ self->value = g_strdup (value);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_value_STEAL: {
+ char * value = va_arg (__ap, char *);
+ self->value = value;
+ break;
+ }
+ default:
+ g_warning ("Argument named 'EnumValue::%s' does not exist", arg);
+ break;
+ }
+ }
+}
+
+static void
+setv_error (Error * self, va_list __ap)
+{
+ int quark;
+ const char *arg;
+ ensure_quarks ();
+ while ((arg = va_arg (__ap, char *)) != NULL) {
+ quark = GPOINTER_TO_INT (g_hash_table_lookup (quark_ht, arg));
+ switch (quark) {
+ case QUARK_etype: {
+ char * etype = va_arg (__ap, char *);
+ char * __old_value = self->etype;
+ self->etype = g_strdup (etype);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_etype_STEAL: {
+ char * etype = va_arg (__ap, char *);
+ self->etype = etype;
+ break;
+ }
+ case QUARK_prefix: {
+ char * prefix = va_arg (__ap, char *);
+ char * __old_value = self->prefix;
+ self->prefix = g_strdup (prefix);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_prefix_STEAL: {
+ char * prefix = va_arg (__ap, char *);
+ self->prefix = prefix;
+ break;
+ }
+ case QUARK_values: {
+ GList * values = va_arg (__ap, GList *);
+ GList * __old_value = self->values;
+ self->values = g_list_copy (values); COPY_LIST_VALS(self->values, g_strdup);
+ g_list_foreach (__old_value, (GFunc)g_free, NULL); g_list_free (__old_value);
+ break;
+ }
+ case QUARK_values_STEAL: {
+ GList * values = va_arg (__ap, GList *);
+ self->values = values;
+ break;
+ }
+ default:
+ g_warning ("Argument named 'Error::%s' does not exist", arg);
+ break;
+ }
+ }
+}
+
+static void
+setv_flags (Flags * self, va_list __ap)
+{
+ int quark;
+ const char *arg;
+ ensure_quarks ();
+ while ((arg = va_arg (__ap, char *)) != NULL) {
+ quark = GPOINTER_TO_INT (g_hash_table_lookup (quark_ht, arg));
+ switch (quark) {
+ case QUARK_ftype: {
+ char * ftype = va_arg (__ap, char *);
+ char * __old_value = self->ftype;
+ self->ftype = g_strdup (ftype);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_ftype_STEAL: {
+ char * ftype = va_arg (__ap, char *);
+ self->ftype = ftype;
+ break;
+ }
+ case QUARK_prefix: {
+ char * prefix = va_arg (__ap, char *);
+ char * __old_value = self->prefix;
+ self->prefix = g_strdup (prefix);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_prefix_STEAL: {
+ char * prefix = va_arg (__ap, char *);
+ self->prefix = prefix;
+ break;
+ }
+ case QUARK_values: {
+ GList * values = va_arg (__ap, GList *);
+ GList * __old_value = self->values;
+ self->values = g_list_copy (values); COPY_LIST_VALS(self->values, g_strdup);
+ g_list_foreach (__old_value, (GFunc)g_free, NULL); g_list_free (__old_value);
+ break;
+ }
+ case QUARK_values_STEAL: {
+ GList * values = va_arg (__ap, GList *);
+ self->values = values;
+ break;
+ }
+ default:
+ g_warning ("Argument named 'Flags::%s' does not exist", arg);
+ break;
+ }
+ }
+}
+
static void
setv_funcarg (FuncArg * self, va_list __ap)
{
self->unique_id = unique_id;
break;
}
- case QUARK_bonobo_x_func: {
- gboolean bonobo_x_func = va_arg (__ap, gboolean);
- self->bonobo_x_func = bonobo_x_func;
+ case QUARK_bonobo_object_func: {
+ gboolean bonobo_object_func = va_arg (__ap, gboolean);
+ self->bonobo_object_func = bonobo_object_func;
+ break;
+ }
+ case QUARK_interface: {
+ char * interface = va_arg (__ap, char *);
+ char * __old_value = self->interface;
+ self->interface = g_strdup (interface);
+ g_free (__old_value);
+ break;
+ }
+ case QUARK_interface_STEAL: {
+ char * interface = va_arg (__ap, char *);
+ self->interface = interface;
break;
}
default:
case CCODE_NODE: return (Node *)copy_ccode ((CCode *)node);
case CHECK_NODE: return (Node *)copy_check ((Check *)node);
case CLASS_NODE: return (Node *)copy_class ((Class *)node);
+ case ENUMDEF_NODE: return (Node *)copy_enumdef ((EnumDef *)node);
+ case ENUMVALUE_NODE: return (Node *)copy_enumvalue ((EnumValue *)node);
+ case ERROR_NODE: return (Node *)copy_error ((Error *)node);
+ case FLAGS_NODE: return (Node *)copy_flags ((Flags *)node);
case FUNCARG_NODE: return (Node *)copy_funcarg ((FuncArg *)node);
case METHOD_NODE: return (Node *)copy_method ((Method *)node);
case PROPERTY_NODE: return (Node *)copy_property ((Property *)node);
case CCODE_NODE: setv_ccode ((CCode *)node, __ap); break;
case CHECK_NODE: setv_check ((Check *)node, __ap); break;
case CLASS_NODE: setv_class ((Class *)node, __ap); break;
+ case ENUMDEF_NODE: setv_enumdef ((EnumDef *)node, __ap); break;
+ case ENUMVALUE_NODE: setv_enumvalue ((EnumValue *)node, __ap); break;
+ case ERROR_NODE: setv_error ((Error *)node, __ap); break;
+ case FLAGS_NODE: setv_flags ((Flags *)node, __ap); break;
case FUNCARG_NODE: setv_funcarg ((FuncArg *)node, __ap); break;
case METHOD_NODE: setv_method ((Method *)node, __ap); break;
case PROPERTY_NODE: setv_property ((Property *)node, __ap); break;
node->type = type;
setv_class ((Class *)node, __ap);
break;
+ case ENUMDEF_NODE:
+ node = (Node *)g_new0 (EnumDef, 1);
+ node->type = type;
+ setv_enumdef ((EnumDef *)node, __ap);
+ break;
+ case ENUMVALUE_NODE:
+ node = (Node *)g_new0 (EnumValue, 1);
+ node->type = type;
+ setv_enumvalue ((EnumValue *)node, __ap);
+ break;
+ case ERROR_NODE:
+ node = (Node *)g_new0 (Error, 1);
+ node->type = type;
+ setv_error ((Error *)node, __ap);
+ break;
+ case FLAGS_NODE:
+ node = (Node *)g_new0 (Flags, 1);
+ node->type = type;
+ setv_flags ((Flags *)node, __ap);
+ break;
case FUNCARG_NODE:
node = (Node *)g_new0 (FuncArg, 1);
node->type = type;
case CCODE_NODE: free_ccode ((CCode *)node); return;
case CHECK_NODE: free_check ((Check *)node); return;
case CLASS_NODE: free_class ((Class *)node); return;
+ case ENUMDEF_NODE: free_enumdef ((EnumDef *)node); return;
+ case ENUMVALUE_NODE: free_enumvalue ((EnumValue *)node); return;
+ case ERROR_NODE: free_error ((Error *)node); return;
+ case FLAGS_NODE: free_flags ((Flags *)node); return;
case FUNCARG_NODE: free_funcarg ((FuncArg *)node); return;
case METHOD_NODE: free_method ((Method *)node); return;
case PROPERTY_NODE: free_property ((Property *)node); return;
+# Run ./generate_treefuncs.pl after modifying this to regenerate
+# treefuncs.[ch]
+
+# These are the parse tree definitions, eliminates typos
+
HEADER
/* for ccode type */
enum {
CLASS Class
STRING otype # this object class type
STRING ptype # parent class type
- STRING bonobo_x_class # Class for BonoboXObject
+ STRING bonobo_object_class # Class for BonoboObject
STRING chunk_size # if the object should be allocated with mem_chunks
+ STRINGLIST interfaces # GObject interfaces this class exports
NODELIST nodes
ENDCLASS
INT ccode_line
BOOL vararg
INT unique_id # A unique id for new methods
- BOOL bonobo_x_func # Function for BonoboXObject
+ BOOL bonobo_object_func # Function for BonoboObject
+ STRING interface # interface this belongs to
ENDCLASS
CLASS Variable
STRING initializer
INT initializer_line
ENDCLASS
+
+CLASS EnumDef
+ STRING etype
+ STRING prefix
+ NODELIST values
+ENDCLASS
+
+CLASS EnumValue
+ STRING name
+ STRING value
+ENDCLASS
+
+CLASS Flags
+ STRING ftype
+ STRING prefix
+ STRINGLIST values
+ENDCLASS
+
+CLASS Error
+ STRING etype
+ STRING prefix
+ STRINGLIST values
+ENDCLASS
PROPERTY_NODE,
METHOD_NODE,
VARIABLE_NODE,
+ ENUMDEF_NODE,
+ ENUMVALUE_NODE,
+ FLAGS_NODE,
+ ERROR_NODE,
LAST_NODE_TYPE
};
typedef struct _Property Property;
typedef struct _Method Method;
typedef struct _Variable Variable;
+typedef struct _EnumDef EnumDef;
+typedef struct _EnumValue EnumValue;
+typedef struct _Flags Flags;
+typedef struct _Error Error;
struct _Argument {
NodeType type;
char * otype;
char * ptype;
- char * bonobo_x_class;
+ char * bonobo_object_class;
char * chunk_size;
+ GList * interfaces;
GList * nodes;
};
+struct _EnumDef {
+ NodeType type;
+ char * etype;
+ char * prefix;
+ GList * values;
+};
+
+struct _EnumValue {
+ NodeType type;
+ char * name;
+ char * value;
+};
+
+struct _Error {
+ NodeType type;
+ char * etype;
+ char * prefix;
+ GList * values;
+};
+
+struct _Flags {
+ NodeType type;
+ char * ftype;
+ char * prefix;
+ GList * values;
+};
+
struct _FuncArg {
NodeType type;
Type * atype;
int ccode_line;
gboolean vararg;
int unique_id;
- gboolean bonobo_x_func;
+ gboolean bonobo_object_func;
+ char * interface;
};
struct _Property {
CCode ccode;
Check check;
Class class;
+ EnumDef enumdef;
+ EnumValue enumvalue;
+ Error error;
+ Flags flags;
FuncArg funcarg;
Method method;
Property property;