Changes in / [937e51d:eb50842]


Ignore:
Files:
179 added
425 deleted
122 edited

Legend:

Unmodified
Added
Removed
  • .gitignore

    r937e51d reb50842  
    11# build files
    2 *.[ao]
     2*.[ado]
    33
    44# generated by configure
     5Makefile
     6aclocal.m4
    57autom4te.cache
    68config.h
     
    810config.log
    911stamp-h1
    10 Makefile
    1112driver/Makefile
    1213libcfa/Makefile
     
    1415
    1516# build directories
    16 .deps
    17 .dirstamp
    1817bin
    1918lib
    2019
    2120# src executables, for lib and bin
    22 src/driver/cc1
    23 src/driver/cfa
     21driver/cc1
     22driver/cfa
    2423src/cfa-cpp
    25 src/libcfa/libcfa-prelude.c
     24libcfa/libcfa-prelude.c
    2625
    27 # generated by bison and lex from cfa.yy and lex.ll, respectively
    28 src/Parser/parser.output
     26# generated by bison and lex from cfa.y and lex.l, respectively
     27src/Parser/cfa.output
     28src/Parser/cfa.tab.cc
     29src/Parser/cfa.tab.h
     30src/Parser/lex.yy.cc
  • INSTALL

    r937e51d reb50842  
    33
    44Cforall is built using GNU Make and the GNU Autoconf system.  It also requires
    5 g++ version 4, bison and flex.  On systems where GNU Make is the default make
     5g++ version 3, bison and flex.  On systems where GNU Make is the default make
    66it may suffice to build the system by entering the commands
    77
     
    1717
    1818--prefix=/some/directory controls the path prefix common to all installed
    19   cfa-cc components.  Some components will be installed in /some/directory/bin,
    20   others in /some/directory/lib.  If unspecified, this defaults to /usr/local.
     19cfa-cc components.  Some components will be installed in /some/directory/bin,
     20others in /some/directory/lib.  If unspecified, this defaults to /usr/local.
    2121
    22 --with-backend-compiler=PROGRAM specifies the installed path of gcc.  It
    23   defaults to the first command named 'gcc' in the current PATH.
     22--with-backend-compiler=PROGRAM specifies the installed path of gcc 3.2.  It
     23defaults to the first command named 'gcc' in the current PATH.
    2424
    2525cfa-cc itself is built with the version of g++ specified by the environment
  • Makefile.am

    r937e51d reb50842  
    1 ######################## -*- Mode: Makefile-Automake -*- ######################
    2 ##
    3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    4 ##
    5 ## The contents of this file are covered under the licence agreement in the
    6 ## file "LICENCE" distributed with Cforall.
    7 ##
    8 ## Makefile.am --
    9 ##
    10 ## Author           : Peter A. Buhr
    11 ## Created On       : Sun May 31 22:14:18 2015
    12 ## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jun  1 20:20:40 2015
    14 ## Update Count     : 5
    15 ###############################################################################
     1SUBDIRS = driver libcfa src
    162
    17 AUTOMAKE_OPTIONS = foreign              # do not require all the GNU file names
    18 SUBDIRS = src/driver src src/libcfa     # order important, src before libcfa because cfa-cpp used to build prelude
    19 EXTRA_DIST = Docs                       # non-source files
    20 BACKEND_CC = @BACKEND_CC@               # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command
     3# non-source files
     4EXTRA_DIST = Docs
     5
     6BACKEND_CC = @BACKEND_CC@
  • Makefile.in

    r937e51d reb50842  
    1515
    1616@SET_MAKE@
    17 
    18 ######################## -*- Mode: Makefile-Automake -*- ######################
    19 ###############################################################################
    2017VPATH = @srcdir@
    2118pkgdatadir = $(datadir)/@PACKAGE@
     
    3835DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
    3936        $(srcdir)/Makefile.in $(srcdir)/config.h.in \
    40         $(top_srcdir)/configure INSTALL automake/compile \
    41         automake/depcomp automake/install-sh automake/missing \
    42         automake/ylwrap
     37        $(top_srcdir)/configure $(top_srcdir)/driver/Makefile.in \
     38        $(top_srcdir)/libcfa/Makefile.in $(top_srcdir)/src/Makefile.in \
     39        $(top_srcdir)/src/examples/Makefile.in AUTHORS INSTALL TODO \
     40        install-sh missing mkinstalldirs
    4341ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    44 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
     42am__aclocal_m4_deps = $(top_srcdir)/configure.in
    4543am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    4644        $(ACLOCAL_M4)
    4745am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
    4846 configure.lineno config.status.lineno
    49 mkinstalldirs = $(install_sh) -d
     47mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
    5048CONFIG_HEADER = config.h
    51 CONFIG_CLEAN_FILES =
     49CONFIG_CLEAN_FILES = src/Makefile driver/Makefile libcfa/Makefile \
     50        src/examples/Makefile
    5251CONFIG_CLEAN_VPATH_FILES =
    5352SOURCES =
     
    109108distcleancheck_listfiles = find . -type f -print
    110109ACLOCAL = @ACLOCAL@
    111 ALLOCA = @ALLOCA@
    112110AMTAR = @AMTAR@
    113111AUTOCONF = @AUTOCONF@
     
    115113AUTOMAKE = @AUTOMAKE@
    116114AWK = @AWK@
    117 BACKEND_CC = @BACKEND_CC@               # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command
     115BACKEND_CC = @BACKEND_CC@
    118116CC = @CC@
    119117CCDEPMODE = @CCDEPMODE@
     
    125123CPP = @CPP@
    126124CPPFLAGS = @CPPFLAGS@
     125CPP_PATH = @CPP_PATH@
    127126CXX = @CXX@
    128127CXXDEPMODE = @CXXDEPMODE@
     
    150149LIBS = @LIBS@
    151150LTLIBOBJS = @LTLIBOBJS@
    152 MAINT = @MAINT@
    153151MAKEINFO = @MAKEINFO@
    154152MKDIR_P = @MKDIR_P@
     
    162160PACKAGE_VERSION = @PACKAGE_VERSION@
    163161PATH_SEPARATOR = @PATH_SEPARATOR@
    164 RANLIB = @RANLIB@
    165162SET_MAKE = @SET_MAKE@
    166163SHELL = @SHELL@
     
    202199pdfdir = @pdfdir@
    203200prefix = @prefix@
     201preludedir = @preludedir@
    204202program_transform_name = @program_transform_name@
    205203psdir = @psdir@
     
    212210top_builddir = @top_builddir@
    213211top_srcdir = @top_srcdir@
    214 AUTOMAKE_OPTIONS = foreign              # do not require all the GNU file names
    215 SUBDIRS = src/driver src src/libcfa     # order important, src before libcfa because cfa-cpp used to build prelude
    216 EXTRA_DIST = Docs                       # non-source files
     212SUBDIRS = driver libcfa src
     213
     214# non-source files
     215EXTRA_DIST = Docs
    217216all: config.h
    218217        $(MAKE) $(AM_MAKEFLAGS) all-recursive
     
    221220am--refresh: Makefile
    222221        @:
    223 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
     222$(srcdir)/Makefile.in: $(srcdir)/Makefile.am  $(am__configure_deps)
    224223        @for dep in $?; do \
    225224          case '$(am__configure_deps)' in \
     
    248247        $(SHELL) ./config.status --recheck
    249248
    250 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
     249$(top_srcdir)/configure: $(am__configure_deps)
    251250        $(am__cd) $(srcdir) && $(AUTOCONF)
    252 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
     251$(ACLOCAL_M4): $(am__aclocal_m4_deps)
    253252        $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
    254253$(am__aclocal_m4_deps):
     
    261260        @rm -f stamp-h1
    262261        cd $(top_builddir) && $(SHELL) ./config.status config.h
    263 $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
     262$(srcdir)/config.h.in: $(am__configure_deps)
    264263        ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
    265264        rm -f stamp-h1
     
    268267distclean-hdr:
    269268        -rm -f config.h stamp-h1
     269src/Makefile: $(top_builddir)/config.status $(top_srcdir)/src/Makefile.in
     270        cd $(top_builddir) && $(SHELL) ./config.status $@
     271driver/Makefile: $(top_builddir)/config.status $(top_srcdir)/driver/Makefile.in
     272        cd $(top_builddir) && $(SHELL) ./config.status $@
     273libcfa/Makefile: $(top_builddir)/config.status $(top_srcdir)/libcfa/Makefile.in
     274        cd $(top_builddir) && $(SHELL) ./config.status $@
     275src/examples/Makefile: $(top_builddir)/config.status $(top_srcdir)/src/examples/Makefile.in
     276        cd $(top_builddir) && $(SHELL) ./config.status $@
    270277
    271278# This directory's subdirectories are mostly independent; you can cd
  • README

    r937e51d reb50842  
    22======================================
    33
    4 This is a PRE-RELEASE version of cfa-cc.  It exists solely for the purpose of
    5 private experimentation and scholarly research.  The authors disclaim all
    6 responsibility for the consequences of any malfunction of the software,
    7 including the malfunction of any programs compiled using the software.
     4This is a PRE-RELEASE version of cfa-cc.  It exists solely for the
     5purpose of private experimentation and scholarly research.  The authors
     6disclaim all responsibility for the consequences of any malfunction of
     7the software, including the malfunction of any programs compiled using
     8the software.
    89
    910What is Cforall?
    1011----------------
    11 Cforall is a language design extending ISO C. The purpose of the project is to
    12 engineer modern language features into C in an evolutionary rather than
    13 revolutionary way. Java is an example of the revolutionary approach of
    14 modernizing C/C++, resulting in a new language rather than an extension of its
    15 descendents. C++, Fortran 95 and Cobol 9X are examples of the evolutionary
    16 approach where modern language features are added and problems fixed within the
    17 framework of an existing language.
     12Cforall is a language design extending ISO C. The purpose of the
     13project is to engineer modern language features into C in an
     14evolutionary rather than revolutionary way. Java is an example of the
     15revolutionary approach of modernizing C/C++, resulting in a new
     16language rather than an extension of its descendents. C++, Fortran 95
     17and Cobol 9X are examples of the evolutionary approach where modern
     18language features are added and problems fixed within the framework of
     19an existing language.
    1820
    19 The goal of this project is to produce a largely backwards compatible version
    20 of C containing many modern language features and fixing some of the well known
    21 C problems. Without continued development of the language, C will be unable to
    22 cope with the needs of modern programming problems and programmers; as a
    23 result, it will fade into disuse.  Considering the large body of existing C
    24 code and programmers, there is a significant impetus to ensure C is transformed
    25 into a modern programming language.
     21The goal of this project is to produce a largely backwards compatible
     22version of C containing many modern language features and fixing some
     23of the well known C problems. Without continued development of the
     24language, C will be unable to cope with the needs of modern programming
     25problems and programmers; as a result, it will fade into disuse.
     26Considering the large body of existing C code and programmers, there is
     27a significant impetus to ensure C is transformed into a modern
     28programming language.
    2629
    2730What is cfa-cc?
    2831---------------
    29 cfa-cc is a collection of programs centred around a translator that takes
    30 Cforall code as input and outputs corresponding C code.  This is complemented
    31 by a compiler driver in the style of "gcc", which handles preprocessing,
    32 compiling, assembling, and linking and invokes the translator at appropriate
    33 moments.
     32cfa-cc is a collection of programs centred around a translator that
     33takes Cforall code as input and outputs corresponding C code.  This
     34is complemented by a compiler driver in the style of "gcc", which
     35handles preprocessing, compiling, assembling, and linking and invokes
     36the translator at appropriate moments.
    3437
    3538What is required in order to use cfa-cc?
    3639----------------------------------------
    37 Building cfa-cc requires GNU Make and gcc/g++ 4.  cfa-cc is written in C++.
     40Building cfa-cc requires GNU Make and gcc/g++ 3.  cfa-cc is written in
     41C++.
    3842
    39 The compiler driver uses an installed version of gcc to handle all aspects of
    40 the compilation process except for the Cforall->C translation.  Currently, only
    41 gcc 4.x is supported.
     43The compiler driver uses an installed version of gcc to handle all
     44aspects of the compilation process except for the Cforall->C translation.
     45Currently, only gcc 3.2 is supported.
    4246
    4347How is cfa-cc used?
    4448-------------------
    45 The compiler driver "cfa" accepts all of the arguments of gcc, and is used in
    46 the same way.  For example:
     49The compiler driver "cfa" accepts all of the arguments of gcc, and is
     50used in the same way.  For example:
    4751
    4852        cfa -c test.c
    4953        cfa test.o
    5054
    51 Cforall source files must end with '.c' in order to be compiled by the compiler
    52 driver.  In addition, the flag "-CFA" causes cfa to invoke the preprocessor and
    53 translator and send the translator output to standard output.
     55Cforall source files must end with '.c' in order to be compiled by the
     56compiler driver.  In addition, the flag "-CFA" causes cfa to invoke the
     57preprocessor and translator and send the translator output to standard
     58output.
    5459
    55 It is possible to invoke the translator directly.  The translator is installed
    56 by default as /usr/local/lib/cfa-cpp.  A typical invocation is:
     60In cases where the compiler driver is not useful (i.e., where gcc 3.2
     61is not available), it is still possible to invoke the translator
     62directly.  The translator is installed by default as
     63/usr/local/lib/cfa-cpp.  A typical invocation is:
    5764
    5865        /usr/local/lib/cfa-cpp -cp infile outfile
    5966
    60 If outfile is omitted, output goes to standard output; if infile is also
    61 omitted, input comes from standard input.  Options to the translator other than
    62 "-cp" will not produce valid C code and are only useful for debugging the
    63 translator.
     67If outfile is omitted, output goes to standard output; if infile is
     68also omitted, input comes from standard input.  Options to the
     69translator other than "-cp" will not produce valid C code and are only
     70useful for debugging the translator.
    6471
    6572How can C code be used with cfa-cc?
    6673-----------------------------------
    67 cfa-cc should be able to compile most ANSI C programs.  It is also possible to
    68 link against C libraries in most cases.  Since Cforall supports overloading,
    69 however, names used in Cforall code are mangled in the output C code.  This
    70 caused linker failures when the names refer to functions and objects in code
    71 compiled with a standard C compiler.  For this reason, it is necessary to
    72 enclose the declarations of these functions and objects in extern "C" {}
     74cfa-cc should be able to compile most ANSI C programs.  It is also
     75possible to link against C libraries in most cases.  Since Cforall
     76supports overloading, however, names used in Cforall code are
     77mangled in the output C code.  This will cause linker failures when
     78the names refer to functions and objects in code compiled with
     79a standard C compiler.  For this reason, it is necessary to enclose
     80the declarations of these functions and objects in extern "C" {}
    7381blocks.  For example:
    7482
     
    7987
    8088The extern "C" turns off name mangling for functions and objects declared
    81 within the block.  As a result, it is not possible to overload their names.
     89within the block.  As a result, it is not possible to overload their
     90names.
     91
     92It is our intention to have a transparent solution to this problem
     93in place for our first official release.
    8294
    8395What's wrong with cfa-cc?
    8496-------------------------
     97The authors consider this software to be in an unstable state.  It is
     98quite likely that there are many reasonable programs that will fail
     99to compile.  We encourage users to report their experiences to
     100cforall@plg.uwaterloo.ca, but we make no promises regarding support.
    85101
    86 The authors consider this software to be in an unstable state.  It is quite
    87 likely that there are many reasonable programs that will fail to compile.  We
    88 encourage users to report their experiences to cforall@plg.uwaterloo.ca, but we
    89 make no promises regarding support.
     102We have fixed most of the problems that we are aware of.  There are
     103some exceptions:
    90104
    91 We have fixed most of the problems that we are aware of.  There are some
    92 exceptions:
     105        - initializers are poorly implemented; in particular,
     106        file-scope initializers may result in the generation of invalid
     107        C code
    93108
    94 - initializers are poorly implemented; in particular, file-scope initializers
    95   may result in the generation of invalid C code
     109        - the ISO C99 designated initialization syntax '[n] = m' or
     110        '.n = m' is not supported; use a colon in place of the equal sign
     111       
     112        - some legitimate programs will produce warnings from the C
     113        compiler; these are harmless (in particular, the creation of
     114        libcfa.a in the build process should cause four warnings from
     115        gcc)
    96116
    97 - the ISO C99 designated initialization syntax '[n] = m' or '.n = m' is not
    98   supported; use a colon in place of the equal sign
     117        - abstract types introduced using the keyword 'type' are not
     118        implemented (although 'type' can be used to introduce type
     119        parameters)
    99120
    100 - some legitimate programs will produce warnings from the C compiler; these are
    101   harmless (in particular, the creation of libcfa.a in the build process should
    102   cause four warnings from gcc)
    103 
    104 - abstract types introduced using the keyword 'type' are not implemented
    105   (although 'type' can be used to introduce type parameters)
    106 
    107 - the implicit coercion of structure types to the type of their first member is
    108   not implemented
     121        - the implicit coercion of structure types to the type of their
     122        first member is not implemented
    109123       
    110124Who is responsible for cfa-cc?
  • aclocal.m4

    r937e51d reb50842  
    417417])
    418418
     419# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
     420# Free Software Foundation, Inc.
     421#
     422# This file is free software; the Free Software Foundation
     423# gives unlimited permission to copy and/or distribute it,
     424# with or without modifications, as long as this notice is preserved.
     425
     426# serial 8
     427
     428# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
     429AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
     430
    419431# Do all the work for Automake.                             -*- Autoconf -*-
    420432
     
    601613AC_SUBST([am__leading_dot])])
    602614
    603 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
    604 # From Jim Meyering
    605 
    606 # Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
    607 # 2011 Free Software Foundation, Inc.
     615# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005
     616# Free Software Foundation, Inc.
    608617#
    609618# This file is free software; the Free Software Foundation
     
    613622# serial 5
    614623
    615 # AM_MAINTAINER_MODE([DEFAULT-MODE])
    616 # ----------------------------------
    617 # Control maintainer-specific portions of Makefiles.
    618 # Default is to disable them, unless `enable' is passed literally.
    619 # For symmetry, `disable' may be passed as well.  Anyway, the user
    620 # can override the default with the --enable/--disable switch.
    621 AC_DEFUN([AM_MAINTAINER_MODE],
    622 [m4_case(m4_default([$1], [disable]),
    623        [enable], [m4_define([am_maintainer_other], [disable])],
    624        [disable], [m4_define([am_maintainer_other], [enable])],
    625        [m4_define([am_maintainer_other], [enable])
    626         m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
    627 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
    628   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
    629   AC_ARG_ENABLE([maintainer-mode],
    630 [  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
    631                           (and sometimes confusing) to the casual installer],
    632       [USE_MAINTAINER_MODE=$enableval],
    633       [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
    634   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
    635   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
    636   MAINT=$MAINTAINER_MODE_TRUE
    637   AC_SUBST([MAINT])dnl
    638 ]
    639 )
    640 
    641 AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
     624# AM_PROG_LEX
     625# -----------
     626# Autoconf leaves LEX=: if lex or flex can't be found.  Change that to a
     627# "missing" invocation, for better error output.
     628AC_DEFUN([AM_PROG_LEX],
     629[AC_PREREQ(2.50)dnl
     630AC_REQUIRE([AM_MISSING_HAS_RUN])dnl
     631AC_REQUIRE([AC_PROG_LEX])dnl
     632if test "$LEX" = :; then
     633  LEX=${am_missing_run}flex
     634fi])
    642635
    643636# Check to see how 'make' treats includes.                  -*- Autoconf -*-
     
    691684AC_MSG_RESULT([$_am_result])
    692685rm -f confinc confmf
    693 ])
    694 
    695 # Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
    696 # Free Software Foundation, Inc.
    697 #
    698 # This file is free software; the Free Software Foundation
    699 # gives unlimited permission to copy and/or distribute it,
    700 # with or without modifications, as long as this notice is preserved.
    701 
    702 # serial 6
    703 
    704 # AM_PROG_CC_C_O
    705 # --------------
    706 # Like AC_PROG_CC_C_O, but changed for automake.
    707 AC_DEFUN([AM_PROG_CC_C_O],
    708 [AC_REQUIRE([AC_PROG_CC_C_O])dnl
    709 AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
    710 AC_REQUIRE_AUX_FILE([compile])dnl
    711 # FIXME: we rely on the cache variable name because
    712 # there is no other way.
    713 set dummy $CC
    714 am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
    715 eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
    716 if test "$am_t" != yes; then
    717    # Losing compiler, so override with the script.
    718    # FIXME: It is wrong to rewrite CC.
    719    # But if we don't then we get into trouble of one sort or another.
    720    # A longer-term fix would be to have automake use am__CC in this case,
    721    # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
    722    CC="$am_aux_dir/compile $CC"
    723 fi
    724 dnl Make sure AC_PROG_CC is never called again, or it will override our
    725 dnl setting of CC.
    726 m4_define([AC_PROG_CC],
    727           [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
    728686])
    729687
  • config.h.in

    r937e51d reb50842  
    1 /* config.h.in.  Generated from configure.ac by autoheader.  */
     1/* config.h.in.  Generated from configure.in by autoheader.  */
    22
    33/* Location of cfa command. */
     
    1313#undef CFA_PREFIX
    1414
    15 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
    16    systems. This function is required for `alloca.c' support on those systems.
    17    */
    18 #undef CRAY_STACKSEG_END
    19 
    20 /* Define to 1 if using `alloca.c'. */
    21 #undef C_ALLOCA
     15/* Path/name of cpp preprocessor. */
     16#undef CPP_PATH
    2217
    2318/* Path/name of C compiler. */
    2419#undef GCC_PATH
    2520
    26 /* Define to 1 if you have `alloca', as a function or macro. */
    27 #undef HAVE_ALLOCA
    28 
    29 /* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
    30    */
    31 #undef HAVE_ALLOCA_H
    32 
    33 /* Define to 1 if you have the <fenv.h> header file. */
    34 #undef HAVE_FENV_H
    35 
    36 /* Define to 1 if you have the <float.h> header file. */
    37 #undef HAVE_FLOAT_H
    38 
    3921/* Define to 1 if you have the <inttypes.h> header file. */
    4022#undef HAVE_INTTYPES_H
    41 
    42 /* Define to 1 if you have the <libintl.h> header file. */
    43 #undef HAVE_LIBINTL_H
    44 
    45 /* Define to 1 if you have the <limits.h> header file. */
    46 #undef HAVE_LIMITS_H
    4723
    4824/* Define to 1 if you have the <malloc.h> header file. */
     
    5228#undef HAVE_MEMORY_H
    5329
    54 /* Define to 1 if you have the `memset' function. */
    55 #undef HAVE_MEMSET
    56 
    57 /* Define to 1 if you have the `putenv' function. */
    58 #undef HAVE_PUTENV
    59 
    60 /* Define to 1 if stdbool.h conforms to C99. */
    61 #undef HAVE_STDBOOL_H
    62 
    63 /* Define to 1 if you have the <stddef.h> header file. */
    64 #undef HAVE_STDDEF_H
    65 
    6630/* Define to 1 if you have the <stdint.h> header file. */
    6731#undef HAVE_STDINT_H
     
    7034#undef HAVE_STDLIB_H
    7135
    72 /* Define to 1 if you have the `strchr' function. */
    73 #undef HAVE_STRCHR
    74 
    7536/* Define to 1 if you have the <strings.h> header file. */
    7637#undef HAVE_STRINGS_H
     
    7839/* Define to 1 if you have the <string.h> header file. */
    7940#undef HAVE_STRING_H
    80 
    81 /* Define to 1 if you have the `strtol' function. */
    82 #undef HAVE_STRTOL
    8341
    8442/* Define to 1 if you have the <sys/stat.h> header file. */
     
    9048/* Define to 1 if you have the <unistd.h> header file. */
    9149#undef HAVE_UNISTD_H
    92 
    93 /* Define to 1 if the system has the type `_Bool'. */
    94 #undef HAVE__BOOL
    95 
    96 /* Define to 1 if your C compiler doesn't accept -c and -o together. */
    97 #undef NO_MINUS_C_MINUS_O
    9850
    9951/* Name of package */
     
    11870#undef PACKAGE_VERSION
    11971
    120 /* If using the C implementation of alloca, define if you know the
    121    direction of stack growth for your system; otherwise it will be
    122    automatically deduced at runtime.
    123         STACK_DIRECTION > 0 => grows toward higher addresses
    124         STACK_DIRECTION < 0 => grows toward lower addresses
    125         STACK_DIRECTION = 0 => direction of growth unknown */
    126 #undef STACK_DIRECTION
    127 
    12872/* Define to 1 if you have the ANSI C header files. */
    12973#undef STDC_HEADERS
     74
     75/* Define to 1 if your <sys/time.h> declares `struct tm'. */
     76#undef TM_IN_SYS_TIME
    13077
    13178/* Version number of package */
     
    13683#undef YYTEXT_POINTER
    13784
    138 /* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
    139    <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
    140    #define below would cause a syntax error. */
    141 #undef _UINT32_T
    142 
    143 /* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>,
    144    <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
    145    #define below would cause a syntax error. */
    146 #undef _UINT8_T
     85/* Define to empty if `const' does not conform to ANSI C. */
     86#undef const
    14787
    14888/* Define to `__inline__' or `__inline' if that's what the C compiler
     
    15191#undef inline
    15292#endif
    153 
    154 /* Define to the type of a signed integer type of width exactly 16 bits if
    155    such a type exists and the standard includes do not define it. */
    156 #undef int16_t
    157 
    158 /* Define to the type of a signed integer type of width exactly 32 bits if
    159    such a type exists and the standard includes do not define it. */
    160 #undef int32_t
    161 
    162 /* Define to the type of a signed integer type of width exactly 8 bits if such
    163    a type exists and the standard includes do not define it. */
    164 #undef int8_t
    165 
    166 /* Define to the equivalent of the C99 'restrict' keyword, or to
    167    nothing if this is not supported.  Do not define if restrict is
    168    supported directly.  */
    169 #undef restrict
    170 /* Work around a bug in Sun C++: it does not support _Restrict or
    171    __restrict__, even though the corresponding Sun C compiler ends up with
    172    "#define restrict _Restrict" or "#define restrict __restrict__" in the
    173    previous line.  Perhaps some future version of Sun C++ will work with
    174    restrict; if so, hopefully it defines __RESTRICT like Sun C does.  */
    175 #if defined __SUNPRO_CC && !defined __RESTRICT
    176 # define _Restrict
    177 # define __restrict__
    178 #endif
    179 
    180 /* Define to `unsigned int' if <sys/types.h> does not define. */
    181 #undef size_t
    182 
    183 /* Define to the type of an unsigned integer type of width exactly 16 bits if
    184    such a type exists and the standard includes do not define it. */
    185 #undef uint16_t
    186 
    187 /* Define to the type of an unsigned integer type of width exactly 32 bits if
    188    such a type exists and the standard includes do not define it. */
    189 #undef uint32_t
    190 
    191 /* Define to the type of an unsigned integer type of width exactly 8 bits if
    192    such a type exists and the standard includes do not define it. */
    193 #undef uint8_t
  • configure

    r937e51d reb50842  
    11#! /bin/sh
    22# Guess values for system-dependent variables and create Makefiles.
    3 # Generated by GNU Autoconf 2.68 for cfa-cc 1.0.0.
     3# Generated by GNU Autoconf 2.68 for cfa-cc 1.0.
    44#
    55# Report bugs to <cforall@plg.uwaterloo.ca>.
     
    561561PACKAGE_NAME='cfa-cc'
    562562PACKAGE_TARNAME='cfa-cc'
    563 PACKAGE_VERSION='1.0.0'
    564 PACKAGE_STRING='cfa-cc 1.0.0'
     563PACKAGE_VERSION='1.0'
     564PACKAGE_STRING='cfa-cc 1.0'
    565565PACKAGE_BUGREPORT='cforall@plg.uwaterloo.ca'
    566566PACKAGE_URL=''
     
    607607LTLIBOBJS
    608608LIBOBJS
    609 ALLOCA
     609CFA_LIBDIR
     610CFA_BINDIR
     611CFA_INCDIR
     612CFA_PREFIX
     613CPP_PATH
     614BACKEND_CC
     615GCC_PATH
     616preludedir
    610617EGREP
    611618GREP
    612619CPP
    613 RANLIB
    614620LEXLIB
    615621LEX_OUTPUT_ROOT
    616622LEX
    617 YFLAGS
    618 YACC
    619623am__fastdepCC_FALSE
    620624am__fastdepCC_TRUE
     
    640644CXXFLAGS
    641645CXX
    642 CFA_LIBDIR
    643 CFA_BINDIR
    644 CFA_INCDIR
    645 CFA_PREFIX
    646 BACKEND_CC
    647 GCC_PATH
    648 MAINT
    649 MAINTAINER_MODE_FALSE
    650 MAINTAINER_MODE_TRUE
     646YFLAGS
     647YACC
    651648am__untar
    652649am__tar
     
    713710ac_user_opts='
    714711enable_option_checking
    715 enable_maintainer_mode
     712enable_dependency_tracking
     713with_preludedir
    716714with_backend_compiler
    717 enable_dependency_tracking
    718715'
    719716      ac_precious_vars='build_alias
    720717host_alias
    721718target_alias
     719YACC
     720YFLAGS
    722721CXX
    723722CXXFLAGS
     
    728727CC
    729728CFLAGS
    730 YACC
    731 YFLAGS
    732729CPP'
    733730
     
    12731270  # This message is too long to be a string in the A/UX 3.1 sh.
    12741271  cat <<_ACEOF
    1275 \`configure' configures cfa-cc 1.0.0 to adapt to many kinds of systems.
     1272\`configure' configures cfa-cc 1.0 to adapt to many kinds of systems.
    12761273
    12771274Usage: $0 [OPTION]... [VAR=VALUE]...
     
    13391336if test -n "$ac_init_help"; then
    13401337  case $ac_init_help in
    1341      short | recursive ) echo "Configuration of cfa-cc 1.0.0:";;
     1338     short | recursive ) echo "Configuration of cfa-cc 1.0:";;
    13421339   esac
    13431340  cat <<\_ACEOF
     
    13471344  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
    13481345  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
    1349   --disable-maintainer-mode  disable make rules and dependencies not useful
    1350                           (and sometimes confusing) to the casual installer
    13511346  --disable-dependency-tracking  speeds up one-time build
    13521347  --enable-dependency-tracking   do not reject slow dependency extractors
     
    13551350  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
    13561351  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
     1352  --with-preludedir=DIR      DIR that contains prelude.cf and other necessary files
    13571353  --with-backend-compiler=PROGRAM     PROGRAM that performs the final code compilation (must be gcc-compatible)
    13581354
    13591355Some influential environment variables:
     1356  YACC        The `Yet Another Compiler Compiler' implementation to use.
     1357              Defaults to the first program found out of: `bison -y', `byacc',
     1358              `yacc'.
     1359  YFLAGS      The list of arguments that will be passed by default to $YACC.
     1360              This script will default YFLAGS to the empty string to avoid a
     1361              default value of `-d' given by some make applications.
    13601362  CXX         C++ compiler command
    13611363  CXXFLAGS    C++ compiler flags
     
    13671369  CC          C compiler command
    13681370  CFLAGS      C compiler flags
    1369   YACC        The `Yet Another Compiler Compiler' implementation to use.
    1370               Defaults to the first program found out of: `bison -y', `byacc',
    1371               `yacc'.
    1372   YFLAGS      The list of arguments that will be passed by default to $YACC.
    1373               This script will default YFLAGS to the empty string to avoid a
    1374               default value of `-d' given by some make applications.
    13751371  CPP         C preprocessor
    13761372
     
    14411437if $ac_init_version; then
    14421438  cat <<\_ACEOF
    1443 cfa-cc configure 1.0.0
     1439cfa-cc configure 1.0
    14441440generated by GNU Autoconf 2.68
    14451441
     
    15771573} # ac_fn_c_try_link
    15781574
    1579 # ac_fn_c_check_type LINENO TYPE VAR INCLUDES
    1580 # -------------------------------------------
    1581 # Tests whether TYPE exists after having included INCLUDES, setting cache
    1582 # variable VAR accordingly.
    1583 ac_fn_c_check_type ()
    1584 {
    1585   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    1586   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
    1587 $as_echo_n "checking for $2... " >&6; }
    1588 if eval \${$3+:} false; then :
    1589   $as_echo_n "(cached) " >&6
    1590 else
    1591   eval "$3=no"
    1592   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    1593 /* end confdefs.h.  */
    1594 $4
    1595 int
    1596 main ()
    1597 {
    1598 if (sizeof ($2))
    1599          return 0;
    1600   ;
    1601   return 0;
    1602 }
    1603 _ACEOF
    1604 if ac_fn_c_try_compile "$LINENO"; then :
    1605   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    1606 /* end confdefs.h.  */
    1607 $4
    1608 int
    1609 main ()
    1610 {
    1611 if (sizeof (($2)))
    1612             return 0;
    1613   ;
    1614   return 0;
    1615 }
    1616 _ACEOF
    1617 if ac_fn_c_try_compile "$LINENO"; then :
    1618 
    1619 else
    1620   eval "$3=yes"
    1621 fi
    1622 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    1623 fi
    1624 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    1625 fi
    1626 eval ac_res=\$$3
    1627                { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
    1628 $as_echo "$ac_res" >&6; }
    1629   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
    1630 
    1631 } # ac_fn_c_check_type
    1632 
    16331575# ac_fn_c_try_cpp LINENO
    16341576# ----------------------
     
    16671609
    16681610} # ac_fn_c_try_cpp
     1611
     1612# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
     1613# -------------------------------------------------------
     1614# Tests whether HEADER exists, giving a warning if it cannot be compiled using
     1615# the include files in INCLUDES and setting the cache variable VAR
     1616# accordingly.
     1617ac_fn_c_check_header_mongrel ()
     1618{
     1619  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     1620  if eval \${$3+:} false; then :
     1621  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
     1622$as_echo_n "checking for $2... " >&6; }
     1623if eval \${$3+:} false; then :
     1624  $as_echo_n "(cached) " >&6
     1625fi
     1626eval ac_res=\$$3
     1627               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
     1628$as_echo "$ac_res" >&6; }
     1629else
     1630  # Is the header compilable?
     1631{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
     1632$as_echo_n "checking $2 usability... " >&6; }
     1633cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     1634/* end confdefs.h.  */
     1635$4
     1636#include <$2>
     1637_ACEOF
     1638if ac_fn_c_try_compile "$LINENO"; then :
     1639  ac_header_compiler=yes
     1640else
     1641  ac_header_compiler=no
     1642fi
     1643rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     1644{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
     1645$as_echo "$ac_header_compiler" >&6; }
     1646
     1647# Is the header present?
     1648{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
     1649$as_echo_n "checking $2 presence... " >&6; }
     1650cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     1651/* end confdefs.h.  */
     1652#include <$2>
     1653_ACEOF
     1654if ac_fn_c_try_cpp "$LINENO"; then :
     1655  ac_header_preproc=yes
     1656else
     1657  ac_header_preproc=no
     1658fi
     1659rm -f conftest.err conftest.i conftest.$ac_ext
     1660{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
     1661$as_echo "$ac_header_preproc" >&6; }
     1662
     1663# So?  What about this header?
     1664case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
     1665  yes:no: )
     1666    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
     1667$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
     1668    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
     1669$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
     1670    ;;
     1671  no:yes:* )
     1672    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
     1673$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
     1674    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
     1675$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
     1676    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
     1677$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
     1678    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
     1679$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
     1680    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
     1681$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
     1682( $as_echo "## --------------------------------------- ##
     1683## Report this to cforall@plg.uwaterloo.ca ##
     1684## --------------------------------------- ##"
     1685     ) | sed "s/^/$as_me: WARNING:     /" >&2
     1686    ;;
     1687esac
     1688  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
     1689$as_echo_n "checking for $2... " >&6; }
     1690if eval \${$3+:} false; then :
     1691  $as_echo_n "(cached) " >&6
     1692else
     1693  eval "$3=\$ac_header_compiler"
     1694fi
     1695eval ac_res=\$$3
     1696               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
     1697$as_echo "$ac_res" >&6; }
     1698fi
     1699  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
     1700
     1701} # ac_fn_c_check_header_mongrel
    16691702
    16701703# ac_fn_c_try_run LINENO
     
    17401773
    17411774} # ac_fn_c_check_header_compile
    1742 
    1743 # ac_fn_c_check_func LINENO FUNC VAR
    1744 # ----------------------------------
    1745 # Tests whether FUNC exists, setting the cache variable VAR accordingly
    1746 ac_fn_c_check_func ()
    1747 {
    1748   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    1749   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
    1750 $as_echo_n "checking for $2... " >&6; }
    1751 if eval \${$3+:} false; then :
    1752   $as_echo_n "(cached) " >&6
    1753 else
    1754   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    1755 /* end confdefs.h.  */
    1756 /* Define $2 to an innocuous variant, in case <limits.h> declares $2.
    1757    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
    1758 #define $2 innocuous_$2
    1759 
    1760 /* System header to define __stub macros and hopefully few prototypes,
    1761     which can conflict with char $2 (); below.
    1762     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    1763     <limits.h> exists even on freestanding compilers.  */
    1764 
    1765 #ifdef __STDC__
    1766 # include <limits.h>
    1767 #else
    1768 # include <assert.h>
    1769 #endif
    1770 
    1771 #undef $2
    1772 
    1773 /* Override any GCC internal prototype to avoid an error.
    1774    Use char because int might match the return type of a GCC
    1775    builtin and then its argument prototype would still apply.  */
    1776 #ifdef __cplusplus
    1777 extern "C"
    1778 #endif
    1779 char $2 ();
    1780 /* The GNU C library defines this for functions which it implements
    1781     to always fail with ENOSYS.  Some functions are actually named
    1782     something starting with __ and the normal name is an alias.  */
    1783 #if defined __stub_$2 || defined __stub___$2
    1784 choke me
    1785 #endif
    1786 
    1787 int
    1788 main ()
    1789 {
    1790 return $2 ();
    1791   ;
    1792   return 0;
    1793 }
    1794 _ACEOF
    1795 if ac_fn_c_try_link "$LINENO"; then :
    1796   eval "$3=yes"
    1797 else
    1798   eval "$3=no"
    1799 fi
    1800 rm -f core conftest.err conftest.$ac_objext \
    1801     conftest$ac_exeext conftest.$ac_ext
    1802 fi
    1803 eval ac_res=\$$3
    1804                { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
    1805 $as_echo "$ac_res" >&6; }
    1806   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
    1807 
    1808 } # ac_fn_c_check_func
    1809 
    1810 # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
    1811 # -------------------------------------------------------
    1812 # Tests whether HEADER exists, giving a warning if it cannot be compiled using
    1813 # the include files in INCLUDES and setting the cache variable VAR
    1814 # accordingly.
    1815 ac_fn_c_check_header_mongrel ()
    1816 {
    1817   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    1818   if eval \${$3+:} false; then :
    1819   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
    1820 $as_echo_n "checking for $2... " >&6; }
    1821 if eval \${$3+:} false; then :
    1822   $as_echo_n "(cached) " >&6
    1823 fi
    1824 eval ac_res=\$$3
    1825                { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
    1826 $as_echo "$ac_res" >&6; }
    1827 else
    1828   # Is the header compilable?
    1829 { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
    1830 $as_echo_n "checking $2 usability... " >&6; }
    1831 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    1832 /* end confdefs.h.  */
    1833 $4
    1834 #include <$2>
    1835 _ACEOF
    1836 if ac_fn_c_try_compile "$LINENO"; then :
    1837   ac_header_compiler=yes
    1838 else
    1839   ac_header_compiler=no
    1840 fi
    1841 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    1842 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
    1843 $as_echo "$ac_header_compiler" >&6; }
    1844 
    1845 # Is the header present?
    1846 { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
    1847 $as_echo_n "checking $2 presence... " >&6; }
    1848 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    1849 /* end confdefs.h.  */
    1850 #include <$2>
    1851 _ACEOF
    1852 if ac_fn_c_try_cpp "$LINENO"; then :
    1853   ac_header_preproc=yes
    1854 else
    1855   ac_header_preproc=no
    1856 fi
    1857 rm -f conftest.err conftest.i conftest.$ac_ext
    1858 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
    1859 $as_echo "$ac_header_preproc" >&6; }
    1860 
    1861 # So?  What about this header?
    1862 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
    1863   yes:no: )
    1864     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
    1865 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
    1866     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
    1867 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
    1868     ;;
    1869   no:yes:* )
    1870     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
    1871 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
    1872     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
    1873 $as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
    1874     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
    1875 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
    1876     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
    1877 $as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
    1878     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
    1879 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
    1880 ( $as_echo "## --------------------------------------- ##
    1881 ## Report this to cforall@plg.uwaterloo.ca ##
    1882 ## --------------------------------------- ##"
    1883      ) | sed "s/^/$as_me: WARNING:     /" >&2
    1884     ;;
    1885 esac
    1886   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
    1887 $as_echo_n "checking for $2... " >&6; }
    1888 if eval \${$3+:} false; then :
    1889   $as_echo_n "(cached) " >&6
    1890 else
    1891   eval "$3=\$ac_header_compiler"
    1892 fi
    1893 eval ac_res=\$$3
    1894                { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
    1895 $as_echo "$ac_res" >&6; }
    1896 fi
    1897   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
    1898 
    1899 } # ac_fn_c_check_header_mongrel
    1900 
    1901 # ac_fn_c_find_intX_t LINENO BITS VAR
    1902 # -----------------------------------
    1903 # Finds a signed integer type with width BITS, setting cache variable VAR
    1904 # accordingly.
    1905 ac_fn_c_find_intX_t ()
    1906 {
    1907   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    1908   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for int$2_t" >&5
    1909 $as_echo_n "checking for int$2_t... " >&6; }
    1910 if eval \${$3+:} false; then :
    1911   $as_echo_n "(cached) " >&6
    1912 else
    1913   eval "$3=no"
    1914      # Order is important - never check a type that is potentially smaller
    1915      # than half of the expected target width.
    1916      for ac_type in int$2_t 'int' 'long int' \
    1917          'long long int' 'short int' 'signed char'; do
    1918        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    1919 /* end confdefs.h.  */
    1920 $ac_includes_default
    1921              enum { N = $2 / 2 - 1 };
    1922 int
    1923 main ()
    1924 {
    1925 static int test_array [1 - 2 * !(0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))];
    1926 test_array [0] = 0
    1927 
    1928   ;
    1929   return 0;
    1930 }
    1931 _ACEOF
    1932 if ac_fn_c_try_compile "$LINENO"; then :
    1933   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    1934 /* end confdefs.h.  */
    1935 $ac_includes_default
    1936                 enum { N = $2 / 2 - 1 };
    1937 int
    1938 main ()
    1939 {
    1940 static int test_array [1 - 2 * !(($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1)
    1941                  < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 2))];
    1942 test_array [0] = 0
    1943 
    1944   ;
    1945   return 0;
    1946 }
    1947 _ACEOF
    1948 if ac_fn_c_try_compile "$LINENO"; then :
    1949 
    1950 else
    1951   case $ac_type in #(
    1952   int$2_t) :
    1953     eval "$3=yes" ;; #(
    1954   *) :
    1955     eval "$3=\$ac_type" ;;
    1956 esac
    1957 fi
    1958 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    1959 fi
    1960 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    1961        if eval test \"x\$"$3"\" = x"no"; then :
    1962 
    1963 else
    1964   break
    1965 fi
    1966      done
    1967 fi
    1968 eval ac_res=\$$3
    1969                { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
    1970 $as_echo "$ac_res" >&6; }
    1971   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
    1972 
    1973 } # ac_fn_c_find_intX_t
    1974 
    1975 # ac_fn_c_find_uintX_t LINENO BITS VAR
    1976 # ------------------------------------
    1977 # Finds an unsigned integer type with width BITS, setting cache variable VAR
    1978 # accordingly.
    1979 ac_fn_c_find_uintX_t ()
    1980 {
    1981   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    1982   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5
    1983 $as_echo_n "checking for uint$2_t... " >&6; }
    1984 if eval \${$3+:} false; then :
    1985   $as_echo_n "(cached) " >&6
    1986 else
    1987   eval "$3=no"
    1988      # Order is important - never check a type that is potentially smaller
    1989      # than half of the expected target width.
    1990      for ac_type in uint$2_t 'unsigned int' 'unsigned long int' \
    1991          'unsigned long long int' 'unsigned short int' 'unsigned char'; do
    1992        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    1993 /* end confdefs.h.  */
    1994 $ac_includes_default
    1995 int
    1996 main ()
    1997 {
    1998 static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
    1999 test_array [0] = 0
    2000 
    2001   ;
    2002   return 0;
    2003 }
    2004 _ACEOF
    2005 if ac_fn_c_try_compile "$LINENO"; then :
    2006   case $ac_type in #(
    2007   uint$2_t) :
    2008     eval "$3=yes" ;; #(
    2009   *) :
    2010     eval "$3=\$ac_type" ;;
    2011 esac
    2012 fi
    2013 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    2014        if eval test \"x\$"$3"\" = x"no"; then :
    2015 
    2016 else
    2017   break
    2018 fi
    2019      done
    2020 fi
    2021 eval ac_res=\$$3
    2022                { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
    2023 $as_echo "$ac_res" >&6; }
    2024   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
    2025 
    2026 } # ac_fn_c_find_uintX_t
    20271775cat >config.log <<_ACEOF
    20281776This file contains any messages produced by compilers while
    20291777running configure, to aid debugging if configure makes a mistake.
    20301778
    2031 It was created by cfa-cc $as_me 1.0.0, which was
     1779It was created by cfa-cc $as_me 1.0, which was
    20321780generated by GNU Autoconf 2.68.  Invocation command line was
    20331781
     
    23772125
    23782126
     2127
     2128
     2129am__api_version='1.11'
     2130
    23792131ac_aux_dir=
    2380 for ac_dir in automake "$srcdir"/automake; do
     2132for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
    23812133  if test -f "$ac_dir/install-sh"; then
    23822134    ac_aux_dir=$ac_dir
     
    23942146done
    23952147if test -z "$ac_aux_dir"; then
    2396   as_fn_error $? "cannot find install-sh, install.sh, or shtool in automake \"$srcdir\"/automake" "$LINENO" 5
     2148  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
    23972149fi
    23982150
     
    24052157ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
    24062158
    2407 
    2408 
    2409 ac_config_headers="$ac_config_headers config.h"
    2410 
    2411 
    2412 am__api_version='1.11'
    24132159
    24142160# Find a good install program.  We prefer a C program (faster),
     
    28482594# Define the identity of the package.
    28492595 PACKAGE='cfa-cc'
    2850  VERSION='1.0.0'
     2596 VERSION='1.0'
    28512597
    28522598
     
    28872633
    28882634
    2889 
    2890 
    2891 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
    2892 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
    2893     # Check whether --enable-maintainer-mode was given.
    2894 if test "${enable_maintainer_mode+set}" = set; then :
    2895   enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
    2896 else
    2897   USE_MAINTAINER_MODE=yes
    2898 fi
    2899 
    2900   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
    2901 $as_echo "$USE_MAINTAINER_MODE" >&6; }
    2902    if test $USE_MAINTAINER_MODE = yes; then
    2903   MAINTAINER_MODE_TRUE=
    2904   MAINTAINER_MODE_FALSE='#'
    2905 else
    2906   MAINTAINER_MODE_TRUE='#'
    2907   MAINTAINER_MODE_FALSE=
    2908 fi
    2909 
    2910   MAINT=$MAINTAINER_MODE_TRUE
    2911 
    2912         # may require auto* software to be installed
    2913 
    2914 # Installation paths
    2915 
    2916 
    2917 # Check whether --with-backend-compiler was given.
    2918 if test "${with_backend_compiler+set}" = set; then :
    2919   withval=$with_backend_compiler; backcompiler=$withval
    2920 else
    2921   backcompiler=""
    2922 fi
    2923 
    2924   if test x$backcompiler != x; then
    2925         cat >>confdefs.h <<_ACEOF
    2926 #define GCC_PATH "${backcompiler}"
    2927 _ACEOF
    2928 
    2929         BACKEND_CC=${backcompiler}
    2930   else
    2931         # Extract the first word of "gcc", so it can be a program name with args.
    2932 set dummy gcc; ac_word=$2
     2635                # do not follow GNU standard
     2636ac_config_headers="$ac_config_headers config.h"
     2637
     2638
     2639for ac_prog in 'bison -y' byacc
     2640do
     2641  # Extract the first word of "$ac_prog", so it can be a program name with args.
     2642set dummy $ac_prog; ac_word=$2
    29332643{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
    29342644$as_echo_n "checking for $ac_word... " >&6; }
    2935 if ${ac_cv_path_GCC_PATH+:} false; then :
     2645if ${ac_cv_prog_YACC+:} false; then :
    29362646  $as_echo_n "(cached) " >&6
    29372647else
    2938   case $GCC_PATH in
    2939   [\\/]* | ?:[\\/]*)
    2940   ac_cv_path_GCC_PATH="$GCC_PATH" # Let the user override the test with a path.
    2941   ;;
    2942   *)
    2943   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     2648  if test -n "$YACC"; then
     2649  ac_cv_prog_YACC="$YACC" # Let the user override the test.
     2650else
     2651as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    29442652for as_dir in $PATH
    29452653do
     
    29482656    for ac_exec_ext in '' $ac_executable_extensions; do
    29492657  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
    2950     ac_cv_path_GCC_PATH="$as_dir/$ac_word$ac_exec_ext"
     2658    ac_cv_prog_YACC="$ac_prog"
    29512659    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    29522660    break 2
     
    29562664IFS=$as_save_IFS
    29572665
    2958   test -z "$ac_cv_path_GCC_PATH" && ac_cv_path_GCC_PATH="N/A"
    2959   ;;
    2960 esac
    2961 fi
    2962 GCC_PATH=$ac_cv_path_GCC_PATH
    2963 if test -n "$GCC_PATH"; then
    2964   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_PATH" >&5
    2965 $as_echo "$GCC_PATH" >&6; }
     2666fi
     2667fi
     2668YACC=$ac_cv_prog_YACC
     2669if test -n "$YACC"; then
     2670  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5
     2671$as_echo "$YACC" >&6; }
    29662672else
    29672673  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     
    29702676
    29712677
    2972         if test "$GCC_PATH" = "N/A"; then
    2973                 as_fn_error $? "some version of gcc is needed. Get it at ftp://ftp.gnu.org" "$LINENO" 5
    2974                 exit 1
    2975         fi
    2976 
    2977 cat >>confdefs.h <<_ACEOF
    2978 #define GCC_PATH "${GCC_PATH}"
    2979 _ACEOF
    2980 
    2981         BACKEND_CC=${GCC_PATH}
    2982   fi
    2983 
    2984 
    2985 if test "x$prefix" = "xNONE"; then
    2986         cfa_prefix=${ac_default_prefix}
    2987 else
    2988         cfa_prefix=${prefix}
    2989 fi
    2990 
    2991 cat >>confdefs.h <<_ACEOF
    2992 #define CFA_PREFIX "${cfa_prefix}"
    2993 _ACEOF
    2994 
    2995 CFA_PREFIX=${cfa_prefix}
    2996 
    2997 
    2998 if test "$includedir" = '${prefix}/include'; then
    2999         cfa_incdir="${cfa_prefix}/include"
    3000 else
    3001         cfa_incdir=${$includedir}
    3002 fi
    3003 
    3004 cat >>confdefs.h <<_ACEOF
    3005 #define CFA_INCDIR "${cfa_incdir}"
    3006 _ACEOF
    3007 
    3008 CFA_INCDIR=${cfa_incdir}
    3009 
    3010 
    3011 if test "$bindir" = '${exec_prefix}/bin'; then
    3012         cfa_bindir="${cfa_prefix}/bin"
    3013 else
    3014         cfa_bindir=${bindir}
    3015 fi
    3016 
    3017 cat >>confdefs.h <<_ACEOF
    3018 #define CFA_BINDIR "${cfa_bindir}"
    3019 _ACEOF
    3020 
    3021 CFA_BINDIR=${cfa_bindir}
    3022 
    3023 
    3024 if test "$libdir" = '${exec_prefix}/lib'; then
    3025         cfa_libdir=${cfa_prefix}/lib
    3026 else
    3027         cfa_libdir=${libdir}
    3028 fi
    3029 
    3030 cat >>confdefs.h <<_ACEOF
    3031 #define CFA_LIBDIR "${cfa_libdir}"
    3032 _ACEOF
    3033 
    3034 CFA_LIBDIR=${cfa_libdir}
    3035 
    3036 
    3037 # Checks for programs.
     2678  test -n "$YACC" && break
     2679done
     2680test -n "$YACC" || YACC="yacc"
     2681
    30382682ac_ext=cpp
    30392683ac_cpp='$CXXCPP $CPPFLAGS'
     
    44014045fi
    44024046
    4403 
    4404 if test "x$CC" != xcc; then
    4405   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
    4406 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
    4407 else
    4408   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
    4409 $as_echo_n "checking whether cc understands -c and -o together... " >&6; }
    4410 fi
    4411 set dummy $CC; ac_cc=`$as_echo "$2" |
    4412                       sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
    4413 if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
    4414   $as_echo_n "(cached) " >&6
    4415 else
    4416   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    4417 /* end confdefs.h.  */
    4418 
    4419 int
    4420 main ()
    4421 {
    4422 
    4423   ;
    4424   return 0;
    4425 }
    4426 _ACEOF
    4427 # Make sure it works both with $CC and with simple cc.
    4428 # We do the test twice because some compilers refuse to overwrite an
    4429 # existing .o file with -o, though they will create one.
    4430 ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
    4431 rm -f conftest2.*
    4432 if { { case "(($ac_try" in
    4433   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
    4434   *) ac_try_echo=$ac_try;;
    4435 esac
    4436 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
    4437 $as_echo "$ac_try_echo"; } >&5
    4438   (eval "$ac_try") 2>&5
    4439   ac_status=$?
    4440   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    4441   test $ac_status = 0; } &&
    4442    test -f conftest2.$ac_objext && { { case "(($ac_try" in
    4443   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
    4444   *) ac_try_echo=$ac_try;;
    4445 esac
    4446 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
    4447 $as_echo "$ac_try_echo"; } >&5
    4448   (eval "$ac_try") 2>&5
    4449   ac_status=$?
    4450   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    4451   test $ac_status = 0; };
    4452 then
    4453   eval ac_cv_prog_cc_${ac_cc}_c_o=yes
    4454   if test "x$CC" != xcc; then
    4455     # Test first that cc exists at all.
    4456     if { ac_try='cc -c conftest.$ac_ext >&5'
    4457   { { case "(($ac_try" in
    4458   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
    4459   *) ac_try_echo=$ac_try;;
    4460 esac
    4461 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
    4462 $as_echo "$ac_try_echo"; } >&5
    4463   (eval "$ac_try") 2>&5
    4464   ac_status=$?
    4465   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    4466   test $ac_status = 0; }; }; then
    4467       ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
    4468       rm -f conftest2.*
    4469       if { { case "(($ac_try" in
    4470   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
    4471   *) ac_try_echo=$ac_try;;
    4472 esac
    4473 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
    4474 $as_echo "$ac_try_echo"; } >&5
    4475   (eval "$ac_try") 2>&5
    4476   ac_status=$?
    4477   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    4478   test $ac_status = 0; } &&
    4479          test -f conftest2.$ac_objext && { { case "(($ac_try" in
    4480   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
    4481   *) ac_try_echo=$ac_try;;
    4482 esac
    4483 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
    4484 $as_echo "$ac_try_echo"; } >&5
    4485   (eval "$ac_try") 2>&5
    4486   ac_status=$?
    4487   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    4488   test $ac_status = 0; };
    4489       then
    4490         # cc works too.
    4491         :
    4492       else
    4493         # cc exists but doesn't like -o.
    4494         eval ac_cv_prog_cc_${ac_cc}_c_o=no
    4495       fi
    4496     fi
    4497   fi
    4498 else
    4499   eval ac_cv_prog_cc_${ac_cc}_c_o=no
    4500 fi
    4501 rm -f core conftest*
    4502 
    4503 fi
    4504 if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
    4505   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
    4506 $as_echo "yes" >&6; }
    4507 else
    4508   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    4509 $as_echo "no" >&6; }
    4510 
    4511 $as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
    4512 
    4513 fi
    4514 
    4515 # FIXME: we rely on the cache variable name because
    4516 # there is no other way.
    4517 set dummy $CC
    4518 am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
    4519 eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
    4520 if test "$am_t" != yes; then
    4521    # Losing compiler, so override with the script.
    4522    # FIXME: It is wrong to rewrite CC.
    4523    # But if we don't then we get into trouble of one sort or another.
    4524    # A longer-term fix would be to have automake use am__CC in this case,
    4525    # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
    4526    CC="$am_aux_dir/compile $CC"
    4527 fi
    4528 
    4529         # deprecated
    4530 # These are often not installed and people miss seeing the "no", so stop the configure.
    4531 for ac_prog in 'bison -y' byacc
    4532 do
    4533   # Extract the first word of "$ac_prog", so it can be a program name with args.
    4534 set dummy $ac_prog; ac_word=$2
    4535 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
    4536 $as_echo_n "checking for $ac_word... " >&6; }
    4537 if ${ac_cv_prog_YACC+:} false; then :
    4538   $as_echo_n "(cached) " >&6
    4539 else
    4540   if test -n "$YACC"; then
    4541   ac_cv_prog_YACC="$YACC" # Let the user override the test.
    4542 else
    4543 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    4544 for as_dir in $PATH
    4545 do
    4546   IFS=$as_save_IFS
    4547   test -z "$as_dir" && as_dir=.
    4548     for ac_exec_ext in '' $ac_executable_extensions; do
    4549   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
    4550     ac_cv_prog_YACC="$ac_prog"
    4551     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    4552     break 2
    4553   fi
    4554 done
    4555   done
    4556 IFS=$as_save_IFS
    4557 
    4558 fi
    4559 fi
    4560 YACC=$ac_cv_prog_YACC
    4561 if test -n "$YACC"; then
    4562   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5
    4563 $as_echo "$YACC" >&6; }
    4564 else
    4565   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    4566 $as_echo "no" >&6; }
    4567 fi
    4568 
    4569 
    4570   test -n "$YACC" && break
    4571 done
    4572 test -n "$YACC" || YACC="yacc"
    4573 
    4574 if test "${YACC}" = "yacc" ; then echo "Error: bison required." ; exit 1 ; fi
     4047 # ???
    45754048
    45764049for ac_prog in flex lex
     
    47324205
    47334206fi
    4734 if test "${LEX}" = "lex" ; then echo "Error: flex required." ; exit 1 ; fi
    4735 
     4207if test "$LEX" = :; then
     4208  LEX=${am_missing_run}flex
     4209fi
    47364210{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
    47374211$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
     
    47654239fi
    47664240
    4767 if test -n "$ac_tool_prefix"; then
    4768   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
    4769 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
    4770 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
    4771 $as_echo_n "checking for $ac_word... " >&6; }
    4772 if ${ac_cv_prog_RANLIB+:} false; then :
    4773   $as_echo_n "(cached) " >&6
    4774 else
    4775   if test -n "$RANLIB"; then
    4776   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
    4777 else
    4778 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    4779 for as_dir in $PATH
    4780 do
    4781   IFS=$as_save_IFS
    4782   test -z "$as_dir" && as_dir=.
    4783     for ac_exec_ext in '' $ac_executable_extensions; do
    4784   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
    4785     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
    4786     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    4787     break 2
    4788   fi
    4789 done
    4790   done
    4791 IFS=$as_save_IFS
    4792 
    4793 fi
    4794 fi
    4795 RANLIB=$ac_cv_prog_RANLIB
    4796 if test -n "$RANLIB"; then
    4797   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
    4798 $as_echo "$RANLIB" >&6; }
    4799 else
    4800   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    4801 $as_echo "no" >&6; }
    4802 fi
    4803 
    4804 
    4805 fi
    4806 if test -z "$ac_cv_prog_RANLIB"; then
    4807   ac_ct_RANLIB=$RANLIB
    4808   # Extract the first word of "ranlib", so it can be a program name with args.
    4809 set dummy ranlib; ac_word=$2
    4810 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
    4811 $as_echo_n "checking for $ac_word... " >&6; }
    4812 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
    4813   $as_echo_n "(cached) " >&6
    4814 else
    4815   if test -n "$ac_ct_RANLIB"; then
    4816   ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
    4817 else
    4818 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    4819 for as_dir in $PATH
    4820 do
    4821   IFS=$as_save_IFS
    4822   test -z "$as_dir" && as_dir=.
    4823     for ac_exec_ext in '' $ac_executable_extensions; do
    4824   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
    4825     ac_cv_prog_ac_ct_RANLIB="ranlib"
    4826     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    4827     break 2
    4828   fi
    4829 done
    4830   done
    4831 IFS=$as_save_IFS
    4832 
    4833 fi
    4834 fi
    4835 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
    4836 if test -n "$ac_ct_RANLIB"; then
    4837   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
    4838 $as_echo "$ac_ct_RANLIB" >&6; }
    4839 else
    4840   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    4841 $as_echo "no" >&6; }
    4842 fi
    4843 
    4844   if test "x$ac_ct_RANLIB" = x; then
    4845     RANLIB=":"
    4846   else
    4847     case $cross_compiling:$ac_tool_warned in
    4848 yes:)
    4849 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
    4850 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
    4851 ac_tool_warned=yes ;;
    4852 esac
    4853     RANLIB=$ac_ct_RANLIB
    4854   fi
    4855 else
    4856   RANLIB="$ac_cv_prog_RANLIB"
    4857 fi
    4858 
    4859 
    4860 # Checks for libraries.
    4861 
    4862 # Checks for header files.
     4241
     4242
     4243
    48634244ac_ext=c
    48644245ac_cpp='$CPP $CPPFLAGS'
     
    52584639
    52594640
    5260 ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
    5261 if test "x$ac_cv_type_size_t" = xyes; then :
    5262 
    5263 else
    5264 
    5265 cat >>confdefs.h <<_ACEOF
    5266 #define size_t unsigned int
    5267 _ACEOF
    5268 
    5269 fi
    5270 
    5271 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
    5272 # for constant arguments.  Useless!
    5273 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
    5274 $as_echo_n "checking for working alloca.h... " >&6; }
    5275 if ${ac_cv_working_alloca_h+:} false; then :
    5276   $as_echo_n "(cached) " >&6
    5277 else
    5278   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    5279 /* end confdefs.h.  */
    5280 #include <alloca.h>
    5281 int
    5282 main ()
    5283 {
    5284 char *p = (char *) alloca (2 * sizeof (int));
    5285                           if (p) return 0;
    5286   ;
    5287   return 0;
    5288 }
    5289 _ACEOF
    5290 if ac_fn_c_try_link "$LINENO"; then :
    5291   ac_cv_working_alloca_h=yes
    5292 else
    5293   ac_cv_working_alloca_h=no
    5294 fi
    5295 rm -f core conftest.err conftest.$ac_objext \
    5296     conftest$ac_exeext conftest.$ac_ext
    5297 fi
    5298 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
    5299 $as_echo "$ac_cv_working_alloca_h" >&6; }
    5300 if test $ac_cv_working_alloca_h = yes; then
    5301 
    5302 $as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
    5303 
    5304 fi
    5305 
    5306 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
    5307 $as_echo_n "checking for alloca... " >&6; }
    5308 if ${ac_cv_func_alloca_works+:} false; then :
    5309   $as_echo_n "(cached) " >&6
    5310 else
    5311   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    5312 /* end confdefs.h.  */
    5313 #ifdef __GNUC__
    5314 # define alloca __builtin_alloca
    5315 #else
    5316 # ifdef _MSC_VER
    5317 #  include <malloc.h>
    5318 #  define alloca _alloca
    5319 # else
    5320 #  ifdef HAVE_ALLOCA_H
    5321 #   include <alloca.h>
    5322 #  else
    5323 #   ifdef _AIX
    5324  #pragma alloca
    5325 #   else
    5326 #    ifndef alloca /* predefined by HP cc +Olibcalls */
    5327 void *alloca (size_t);
    5328 #    endif
    5329 #   endif
    5330 #  endif
    5331 # endif
    5332 #endif
    5333 
    5334 int
    5335 main ()
    5336 {
    5337 char *p = (char *) alloca (1);
    5338                                     if (p) return 0;
    5339   ;
    5340   return 0;
    5341 }
    5342 _ACEOF
    5343 if ac_fn_c_try_link "$LINENO"; then :
    5344   ac_cv_func_alloca_works=yes
    5345 else
    5346   ac_cv_func_alloca_works=no
    5347 fi
    5348 rm -f core conftest.err conftest.$ac_objext \
    5349     conftest$ac_exeext conftest.$ac_ext
    5350 fi
    5351 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
    5352 $as_echo "$ac_cv_func_alloca_works" >&6; }
    5353 
    5354 if test $ac_cv_func_alloca_works = yes; then
    5355 
    5356 $as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
    5357 
    5358 else
    5359   # The SVR3 libPW and SVR4 libucb both contain incompatible functions
    5360 # that cause trouble.  Some versions do not even contain alloca or
    5361 # contain a buggy version.  If you still want to use their alloca,
    5362 # use ar to extract alloca.o from them instead of compiling alloca.c.
    5363 
    5364 ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
    5365 
    5366 $as_echo "#define C_ALLOCA 1" >>confdefs.h
    5367 
    5368 
    5369 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
    5370 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
    5371 if ${ac_cv_os_cray+:} false; then :
    5372   $as_echo_n "(cached) " >&6
    5373 else
    5374   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    5375 /* end confdefs.h.  */
    5376 #if defined CRAY && ! defined CRAY2
    5377 webecray
    5378 #else
    5379 wenotbecray
    5380 #endif
    5381 
    5382 _ACEOF
    5383 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
    5384   $EGREP "webecray" >/dev/null 2>&1; then :
    5385   ac_cv_os_cray=yes
    5386 else
    5387   ac_cv_os_cray=no
    5388 fi
    5389 rm -f conftest*
    5390 
    5391 fi
    5392 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
    5393 $as_echo "$ac_cv_os_cray" >&6; }
    5394 if test $ac_cv_os_cray = yes; then
    5395   for ac_func in _getb67 GETB67 getb67; do
    5396     as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
    5397 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
    5398 if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
    5399 
    5400 cat >>confdefs.h <<_ACEOF
    5401 #define CRAY_STACKSEG_END $ac_func
    5402 _ACEOF
    5403 
    5404     break
    5405 fi
    5406 
    5407   done
    5408 fi
    5409 
    5410 { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
    5411 $as_echo_n "checking stack direction for C alloca... " >&6; }
    5412 if ${ac_cv_c_stack_direction+:} false; then :
    5413   $as_echo_n "(cached) " >&6
    5414 else
    5415   if test "$cross_compiling" = yes; then :
    5416   ac_cv_c_stack_direction=0
    5417 else
    5418   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    5419 /* end confdefs.h.  */
    5420 $ac_includes_default
    5421 int
    5422 find_stack_direction ()
    5423 {
    5424   static char *addr = 0;
    5425   auto char dummy;
    5426   if (addr == 0)
    5427     {
    5428       addr = &dummy;
    5429       return find_stack_direction ();
    5430     }
    5431   else
    5432     return (&dummy > addr) ? 1 : -1;
    5433 }
    5434 
    5435 int
    5436 main ()
    5437 {
    5438   return find_stack_direction () < 0;
    5439 }
    5440 _ACEOF
    5441 if ac_fn_c_try_run "$LINENO"; then :
    5442   ac_cv_c_stack_direction=1
    5443 else
    5444   ac_cv_c_stack_direction=-1
    5445 fi
    5446 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
    5447   conftest.$ac_objext conftest.beam conftest.$ac_ext
    5448 fi
    5449 
    5450 fi
    5451 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
    5452 $as_echo "$ac_cv_c_stack_direction" >&6; }
    5453 cat >>confdefs.h <<_ACEOF
    5454 #define STACK_DIRECTION $ac_cv_c_stack_direction
    5455 _ACEOF
    5456 
    5457 
    5458 fi
    5459 
    5460 for ac_header in fenv.h float.h inttypes.h libintl.h limits.h malloc.h stddef.h stdlib.h string.h unistd.h
     4641for ac_header in malloc.h unistd.h
    54614642do :
    54624643  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
     
    54724653
    54734654
    5474 # Checks for typedefs, structures, and compiler characteristics.
    5475 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
    5476 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
    5477 if ${ac_cv_header_stdbool_h+:} false; then :
     4655{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
     4656$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
     4657if ${ac_cv_c_const+:} false; then :
    54784658  $as_echo_n "(cached) " >&6
    54794659else
    54804660  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    54814661/* end confdefs.h.  */
    5482 
    5483 #include <stdbool.h>
    5484 #ifndef bool
    5485  "error: bool is not defined"
    5486 #endif
    5487 #ifndef false
    5488  "error: false is not defined"
    5489 #endif
    5490 #if false
    5491  "error: false is not 0"
    5492 #endif
    5493 #ifndef true
    5494  "error: true is not defined"
    5495 #endif
    5496 #if true != 1
    5497  "error: true is not 1"
    5498 #endif
    5499 #ifndef __bool_true_false_are_defined
    5500  "error: __bool_true_false_are_defined is not defined"
    5501 #endif
    5502 
    5503         struct s { _Bool s: 1; _Bool t; } s;
    5504 
    5505         char a[true == 1 ? 1 : -1];
    5506         char b[false == 0 ? 1 : -1];
    5507         char c[__bool_true_false_are_defined == 1 ? 1 : -1];
    5508         char d[(bool) 0.5 == true ? 1 : -1];
    5509         /* See body of main program for 'e'.  */
    5510         char f[(_Bool) 0.0 == false ? 1 : -1];
    5511         char g[true];
    5512         char h[sizeof (_Bool)];
    5513         char i[sizeof s.t];
    5514         enum { j = false, k = true, l = false * true, m = true * 256 };
    5515         /* The following fails for
    5516            HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
    5517         _Bool n[m];
    5518         char o[sizeof n == m * sizeof n[0] ? 1 : -1];
    5519         char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
    5520         /* Catch a bug in an HP-UX C compiler.  See
    5521            http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
    5522            http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
    5523          */
    5524         _Bool q = true;
    5525         _Bool *pq = &q;
    55264662
    55274663int
    55284664main ()
    55294665{
    5530 
    5531         bool e = &s;
    5532         *pq |= q;
    5533         *pq |= ! q;
    5534         /* Refer to every declared value, to avoid compiler optimizations.  */
    5535         return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
    5536                 + !m + !n + !o + !p + !q + !pq);
     4666/* FIXME: Include the comments suggested by Paul. */
     4667#ifndef __cplusplus
     4668  /* Ultrix mips cc rejects this.  */
     4669  typedef int charset[2];
     4670  const charset cs;
     4671  /* SunOS 4.1.1 cc rejects this.  */
     4672  char const *const *pcpcc;
     4673  char **ppc;
     4674  /* NEC SVR4.0.2 mips cc rejects this.  */
     4675  struct point {int x, y;};
     4676  static struct point const zero = {0,0};
     4677  /* AIX XL C 1.02.0.0 rejects this.
     4678     It does not let you subtract one const X* pointer from another in
     4679     an arm of an if-expression whose if-part is not a constant
     4680     expression */
     4681  const char *g = "string";
     4682  pcpcc = &g + (g ? g-g : 0);
     4683  /* HPUX 7.0 cc rejects these. */
     4684  ++pcpcc;
     4685  ppc = (char**) pcpcc;
     4686  pcpcc = (char const *const *) ppc;
     4687  { /* SCO 3.2v4 cc rejects this.  */
     4688    char *t;
     4689    char const *s = 0 ? (char *) 0 : (char const *) 0;
     4690
     4691    *t++ = 0;
     4692    if (s) return 0;
     4693  }
     4694  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
     4695    int x[] = {25, 17};
     4696    const int *foo = &x[0];
     4697    ++foo;
     4698  }
     4699  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
     4700    typedef const int *iptr;
     4701    iptr p = 0;
     4702    ++p;
     4703  }
     4704  { /* AIX XL C 1.02.0.0 rejects this saying
     4705       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
     4706    struct s { int j; const int *ap[3]; };
     4707    struct s *b; b->j = 5;
     4708  }
     4709  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
     4710    const int foo = 10;
     4711    if (!foo) return 0;
     4712  }
     4713  return !cs[0] && !zero.x;
     4714#endif
    55374715
    55384716  ;
     
    55414719_ACEOF
    55424720if ac_fn_c_try_compile "$LINENO"; then :
    5543   ac_cv_header_stdbool_h=yes
    5544 else
    5545   ac_cv_header_stdbool_h=no
     4721  ac_cv_c_const=yes
     4722else
     4723  ac_cv_c_const=no
    55464724fi
    55474725rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    55484726fi
    5549 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
    5550 $as_echo "$ac_cv_header_stdbool_h" >&6; }
    5551 ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
    5552 if test "x$ac_cv_type__Bool" = xyes; then :
    5553 
    5554 cat >>confdefs.h <<_ACEOF
    5555 #define HAVE__BOOL 1
    5556 _ACEOF
    5557 
    5558 
    5559 fi
    5560 
    5561 if test $ac_cv_header_stdbool_h = yes; then
    5562 
    5563 $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h
     4727{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
     4728$as_echo "$ac_cv_c_const" >&6; }
     4729if test $ac_cv_c_const = no; then
     4730
     4731$as_echo "#define const /**/" >>confdefs.h
    55644732
    55654733fi
     
    56074775esac
    56084776
    5609 ac_fn_c_find_intX_t "$LINENO" "16" "ac_cv_c_int16_t"
    5610 case $ac_cv_c_int16_t in #(
    5611   no|yes) ;; #(
    5612   *)
    5613 
    5614 cat >>confdefs.h <<_ACEOF
    5615 #define int16_t $ac_cv_c_int16_t
    5616 _ACEOF
    5617 ;;
    5618 esac
    5619 
    5620 ac_fn_c_find_intX_t "$LINENO" "32" "ac_cv_c_int32_t"
    5621 case $ac_cv_c_int32_t in #(
    5622   no|yes) ;; #(
    5623   *)
    5624 
    5625 cat >>confdefs.h <<_ACEOF
    5626 #define int32_t $ac_cv_c_int32_t
    5627 _ACEOF
    5628 ;;
    5629 esac
    5630 
    5631 ac_fn_c_find_intX_t "$LINENO" "8" "ac_cv_c_int8_t"
    5632 case $ac_cv_c_int8_t in #(
    5633   no|yes) ;; #(
    5634   *)
    5635 
    5636 cat >>confdefs.h <<_ACEOF
    5637 #define int8_t $ac_cv_c_int8_t
    5638 _ACEOF
    5639 ;;
    5640 esac
    5641 
    5642 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5
    5643 $as_echo_n "checking for C/C++ restrict keyword... " >&6; }
    5644 if ${ac_cv_c_restrict+:} false; then :
     4777{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5
     4778$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }
     4779if ${ac_cv_struct_tm+:} false; then :
    56454780  $as_echo_n "(cached) " >&6
    56464781else
    5647   ac_cv_c_restrict=no
    5648    # The order here caters to the fact that C++ does not require restrict.
    5649    for ac_kw in __restrict __restrict__ _Restrict restrict; do
    5650      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     4782  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    56514783/* end confdefs.h.  */
    5652 typedef int * int_ptr;
    5653         int foo (int_ptr $ac_kw ip) {
    5654         return ip[0];
    5655        }
     4784#include <sys/types.h>
     4785#include <time.h>
     4786
    56564787int
    56574788main ()
    56584789{
    5659 int s[1];
    5660         int * $ac_kw t = s;
    5661         t[0] = 0;
    5662         return foo(t)
     4790struct tm tm;
     4791                                     int *p = &tm.tm_sec;
     4792                                     return !p;
    56634793  ;
    56644794  return 0;
     
    56664796_ACEOF
    56674797if ac_fn_c_try_compile "$LINENO"; then :
    5668   ac_cv_c_restrict=$ac_kw
     4798  ac_cv_struct_tm=time.h
     4799else
     4800  ac_cv_struct_tm=sys/time.h
    56694801fi
    56704802rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    5671      test "$ac_cv_c_restrict" != no && break
    5672    done
    5673 
    5674 fi
    5675 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5
    5676 $as_echo "$ac_cv_c_restrict" >&6; }
    5677 
    5678  case $ac_cv_c_restrict in
    5679    restrict) ;;
    5680    no) $as_echo "#define restrict /**/" >>confdefs.h
    5681  ;;
    5682    *)  cat >>confdefs.h <<_ACEOF
    5683 #define restrict $ac_cv_c_restrict
    5684 _ACEOF
    5685  ;;
    5686  esac
    5687 
    5688 ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
    5689 if test "x$ac_cv_type_size_t" = xyes; then :
    5690 
    5691 else
     4803fi
     4804{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5
     4805$as_echo "$ac_cv_struct_tm" >&6; }
     4806if test $ac_cv_struct_tm = sys/time.h; then
     4807
     4808$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h
     4809
     4810fi
     4811
     4812
     4813test "${prefix}" != "NONE" || prefix=$ac_default_prefix
     4814
     4815preludedir=${prefix}/share/cfa
     4816
     4817# Check whether --with-preludedir was given.
     4818if test "${with_preludedir+set}" = set; then :
     4819  withval=$with_preludedir; preludedir=$withval
     4820fi
     4821
     4822
     4823
     4824
     4825# Check whether --with-backend-compiler was given.
     4826if test "${with_backend_compiler+set}" = set; then :
     4827  withval=$with_backend_compiler; backcompiler=$withval
     4828else
     4829  backcompiler=""
     4830fi
     4831
     4832  if test x$backcompiler != x; then
     4833     cat >>confdefs.h <<_ACEOF
     4834#define GCC_PATH "${backcompiler}"
     4835_ACEOF
     4836
     4837     BACKEND_CC=${backcompiler}
     4838  else
     4839     # Extract the first word of "gcc", so it can be a program name with args.
     4840set dummy gcc; ac_word=$2
     4841{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     4842$as_echo_n "checking for $ac_word... " >&6; }
     4843if ${ac_cv_path_GCC_PATH+:} false; then :
     4844  $as_echo_n "(cached) " >&6
     4845else
     4846  case $GCC_PATH in
     4847  [\\/]* | ?:[\\/]*)
     4848  ac_cv_path_GCC_PATH="$GCC_PATH" # Let the user override the test with a path.
     4849  ;;
     4850  *)
     4851  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     4852for as_dir in $PATH
     4853do
     4854  IFS=$as_save_IFS
     4855  test -z "$as_dir" && as_dir=.
     4856    for ac_exec_ext in '' $ac_executable_extensions; do
     4857  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     4858    ac_cv_path_GCC_PATH="$as_dir/$ac_word$ac_exec_ext"
     4859    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     4860    break 2
     4861  fi
     4862done
     4863  done
     4864IFS=$as_save_IFS
     4865
     4866  test -z "$ac_cv_path_GCC_PATH" && ac_cv_path_GCC_PATH="N/A"
     4867  ;;
     4868esac
     4869fi
     4870GCC_PATH=$ac_cv_path_GCC_PATH
     4871if test -n "$GCC_PATH"; then
     4872  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_PATH" >&5
     4873$as_echo "$GCC_PATH" >&6; }
     4874else
     4875  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     4876$as_echo "no" >&6; }
     4877fi
     4878
     4879
     4880     if test "$GCC_PATH" = "N/A"; then
     4881        as_fn_error $? "some version of gcc is needed. Get it at ftp://ftp.gnu.org" "$LINENO" 5
     4882        exit 1
     4883     fi
    56924884
    56934885cat >>confdefs.h <<_ACEOF
    5694 #define size_t unsigned int
    5695 _ACEOF
    5696 
    5697 fi
    5698 
    5699 ac_fn_c_find_uintX_t "$LINENO" "16" "ac_cv_c_uint16_t"
    5700 case $ac_cv_c_uint16_t in #(
    5701   no|yes) ;; #(
     4886#define GCC_PATH "${GCC_PATH}"
     4887_ACEOF
     4888
     4889     BACKEND_CC=${GCC_PATH}
     4890  fi
     4891
     4892
     4893# Extract the first word of "cpp", so it can be a program name with args.
     4894set dummy cpp; ac_word=$2
     4895{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     4896$as_echo_n "checking for $ac_word... " >&6; }
     4897if ${ac_cv_path_CPP_PATH+:} false; then :
     4898  $as_echo_n "(cached) " >&6
     4899else
     4900  case $CPP_PATH in
     4901  [\\/]* | ?:[\\/]*)
     4902  ac_cv_path_CPP_PATH="$CPP_PATH" # Let the user override the test with a path.
     4903  ;;
    57024904  *)
    5703 
     4905  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     4906for as_dir in $PATH
     4907do
     4908  IFS=$as_save_IFS
     4909  test -z "$as_dir" && as_dir=.
     4910    for ac_exec_ext in '' $ac_executable_extensions; do
     4911  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     4912    ac_cv_path_CPP_PATH="$as_dir/$ac_word$ac_exec_ext"
     4913    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     4914    break 2
     4915  fi
     4916done
     4917  done
     4918IFS=$as_save_IFS
     4919
     4920  test -z "$ac_cv_path_CPP_PATH" && ac_cv_path_CPP_PATH="N/A"
     4921  ;;
     4922esac
     4923fi
     4924CPP_PATH=$ac_cv_path_CPP_PATH
     4925if test -n "$CPP_PATH"; then
     4926  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP_PATH" >&5
     4927$as_echo "$CPP_PATH" >&6; }
     4928else
     4929  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     4930$as_echo "no" >&6; }
     4931fi
     4932
     4933
     4934if test "$CPP_PATH" = "N/A"; then
     4935   as_fn_error $? "cpp not found" "$LINENO" 5
     4936   exit 1
     4937fi
    57044938
    57054939cat >>confdefs.h <<_ACEOF
    5706 #define uint16_t $ac_cv_c_uint16_t
    5707 _ACEOF
    5708 ;;
    5709   esac
    5710 
    5711 ac_fn_c_find_uintX_t "$LINENO" "32" "ac_cv_c_uint32_t"
    5712 case $ac_cv_c_uint32_t in #(
    5713   no|yes) ;; #(
    5714   *)
    5715 
    5716 $as_echo "#define _UINT32_T 1" >>confdefs.h
    5717 
     4940#define CPP_PATH "${CPP_PATH}"
     4941_ACEOF
     4942
     4943
     4944# Purify instrumenting
     4945
     4946CFA_PREFIX=
     4947if test "x$prefix" = "xNONE"; then
     4948        cfa_prefix=${ac_default_prefix}
     4949else
     4950        cfa_prefix=${prefix}
     4951fi
    57184952
    57194953cat >>confdefs.h <<_ACEOF
    5720 #define uint32_t $ac_cv_c_uint32_t
    5721 _ACEOF
    5722 ;;
    5723   esac
    5724 
    5725 ac_fn_c_find_uintX_t "$LINENO" "8" "ac_cv_c_uint8_t"
    5726 case $ac_cv_c_uint8_t in #(
    5727   no|yes) ;; #(
    5728   *)
    5729 
    5730 $as_echo "#define _UINT8_T 1" >>confdefs.h
    5731 
     4954#define CFA_PREFIX "${cfa_prefix}"
     4955_ACEOF
     4956
     4957CFA_PREFIX=${cfa_prefix}
     4958
     4959
     4960CFA_INCDIR=
     4961if test "$includedir" = '${prefix}/include'; then
     4962        cfa_incdir="${cfa_prefix}/include"
     4963else
     4964        cfa_incdir=${$includedir}
     4965fi
    57324966
    57334967cat >>confdefs.h <<_ACEOF
    5734 #define uint8_t $ac_cv_c_uint8_t
    5735 _ACEOF
    5736 ;;
    5737   esac
    5738 
    5739 
    5740 # Checks for library functions.
    5741 for ac_func in memset putenv strchr strtol
    5742 do :
    5743   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
    5744 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
    5745 if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
    5746   cat >>confdefs.h <<_ACEOF
    5747 #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
    5748 _ACEOF
    5749 
    5750 fi
    5751 done
    5752 
    5753 
    5754 ac_config_files="$ac_config_files Makefile src/driver/Makefile src/Makefile src/examples/Makefile src/libcfa/Makefile"
    5755 
     4968#define CFA_INCDIR "${cfa_incdir}"
     4969_ACEOF
     4970
     4971CFA_INCDIR=${cfa_incdir}
     4972
     4973
     4974CFA_BINDIR=
     4975if test "$bindir" = '${exec_prefix}/bin'; then
     4976        cfa_bindir="${cfa_prefix}/bin"
     4977else
     4978        cfa_bindir=${bindir}
     4979fi
     4980
     4981cat >>confdefs.h <<_ACEOF
     4982#define CFA_BINDIR "${cfa_bindir}"
     4983_ACEOF
     4984
     4985CFA_BINDIR=${cfa_bindir}
     4986
     4987
     4988CFA_LIBDIR=
     4989if test "$libdir" = '${exec_prefix}/lib'; then
     4990        cfa_libdir=${cfa_prefix}/lib
     4991else
     4992        cfa_libdir=${libdir}
     4993fi
     4994
     4995cat >>confdefs.h <<_ACEOF
     4996#define CFA_LIBDIR "${cfa_libdir}"
     4997_ACEOF
     4998
     4999CFA_LIBDIR=${cfa_libdir}
     5000
     5001
     5002ac_config_files="$ac_config_files Makefile src/Makefile driver/Makefile libcfa/Makefile src/examples/Makefile"
    57565003
    57575004cat >confcache <<\_ACEOF
     
    58725119fi
    58735120
    5874 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
    5875   as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
    5876 Usually this means the macro was only invoked conditionally." "$LINENO" 5
    5877 fi
    58785121if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
    58795122  as_fn_error $? "conditional \"AMDEP\" was never defined.
     
    62975540# values after options handling.
    62985541ac_log="
    6299 This file was extended by cfa-cc $as_me 1.0.0, which was
     5542This file was extended by cfa-cc $as_me 1.0, which was
    63005543generated by GNU Autoconf 2.68.  Invocation command line was
    63015544
     
    63635606ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
    63645607ac_cs_version="\\
    6365 cfa-cc config.status 1.0.0
     5608cfa-cc config.status 1.0
    63665609configured by $0, generated by GNU Autoconf 2.68,
    63675610  with options \\"\$ac_cs_config\\"
     
    64955738    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
    64965739    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
    6497     "src/driver/Makefile") CONFIG_FILES="$CONFIG_FILES src/driver/Makefile" ;;
    64985740    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
     5741    "driver/Makefile") CONFIG_FILES="$CONFIG_FILES driver/Makefile" ;;
     5742    "libcfa/Makefile") CONFIG_FILES="$CONFIG_FILES libcfa/Makefile" ;;
    64995743    "src/examples/Makefile") CONFIG_FILES="$CONFIG_FILES src/examples/Makefile" ;;
    6500     "src/libcfa/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcfa/Makefile" ;;
    65015744
    65025745  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
     
    72286471
    72296472
    7230 # Final text
    7231 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Cforall configuraton completed. Type \"make -j 8 install\"." >&5
    7232 $as_echo "Cforall configuraton completed. Type \"make -j 8 install\"." >&6; }
     6473
     6474{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Cforall configuraton completed. Type \"make install\"." >&5
     6475$as_echo "Cforall configuraton completed. Type \"make install\"." >&6; }
  • src/ArgTweak/module.mk

    r937e51d reb50842  
    1 ######################### -*- Mode: Makefile-Gmake -*- ########################
    2 ##
    3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    4 ##
    5 ## The contents of this file are covered under the licence agreement in the
    6 ## file "LICENCE" distributed with Cforall.
    7 ##
    8 ## module.mk --
    9 ##
    10 ## Author           : Richard C. Bilson
    11 ## Created On       : Mon Jun  1 17:49:17 2015
    12 ## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jun  1 17:50:11 2015
    14 ## Update Count     : 1
    15 ###############################################################################
     1SRC +=  ArgTweak/Rewriter.cc \
     2#       ArgTweak/Mutate.cc \
     3        $(NULL)
    164
    17 #SRC +=  ArgTweak/Rewriter.cc \
    18 #       ArgTweak/Mutate.cc
  • src/CodeGen/GenType.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun  8 14:36:02 2015
    13 // Update Count     : 9
    14 //
    15 
    16 #include <sstream>
     12// Last Modified On : Mon May 18 23:38:22 2015
     13// Update Count     : 2
     14//
     15
     16#include <strstream>
    1717#include <cassert>
    1818
    1919#include "GenType.h"
    20 #include "CodeGenerator.h"
     20#include "CodeGenerator2.h"
    2121#include "SynTree/Visitor.h"
    2222#include "SynTree/Type.h"
     
    6868
    6969        void GenType::genArray( const Type::Qualifiers &qualifiers, Type *base, Expression *dimension, bool isVarLen, bool isStatic ) {
    70                 std::ostringstream os;
     70                std::ostrstream os;
    7171                if ( typeString != "" ) {
    7272                        if ( typeString[ 0 ] == '*' ) {
     
    9797                } // if
    9898                if ( dimension != 0 ) {
    99                         CodeGenerator cg( os );
     99                        CodeGenerator2 cg( os );
    100100                        dimension->accept( cg );
    101101                } // if
    102102                os << "]";
    103103
    104                 typeString = os.str();
     104                typeString = std::string( os.str(), os.pcount() );
    105105 
    106106                base->accept( *this );
     
    127127
    128128        void GenType::visit( FunctionType *funcType ) {
    129                 std::ostringstream os;
     129                std::ostrstream os;
    130130
    131131                if ( typeString != "" ) {
     
    148148                        } // if
    149149                } else {
    150                         CodeGenerator cg( os );
     150                        CodeGenerator2 cg( os );
    151151                        os << "(" ;
    152152
     
    159159                } // if
    160160 
    161                 typeString = os.str();
     161                typeString = std::string( os.str(), os.pcount() );
    162162
    163163                if ( funcType->get_returnVals().size() == 0 ) {
  • src/CodeGen/Generate.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jun  4 14:04:25 2015
    13 // Update Count     : 5
     12// Last Modified On : Mon May 18 23:39:24 2015
     13// Update Count     : 1
    1414//
    1515
     
    2121#include "Generate.h"
    2222#include "SynTree/Declaration.h"
    23 #include "CodeGenerator.h"
     23
     24#include "CodeGenerator2.h"
    2425
    2526using namespace std;
     
    2728namespace CodeGen {
    2829        void generate( std::list< Declaration* > translationUnit, std::ostream &os, bool doIntrinsics ) {
    29                 CodeGen::CodeGenerator cgv( os );
     30                CodeGen::CodeGenerator2 cgv( os );
    3031
    3132                for ( std::list<Declaration *>::iterator i = translationUnit.begin(); i != translationUnit.end();  i++ ) {
    3233                        if ( LinkageSpec::isGeneratable( (*i)->get_linkage() ) && (doIntrinsics || ! LinkageSpec::isBuiltin( (*i)->get_linkage() ) ) ) {
    3334                                (*i)->accept(cgv);
     35                                cgv.shift_left();
    3436                                if ( doSemicolon( *i ) ) {
    3537                                        os << ";";
  • src/CodeGen/OperatorTable.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jun 23 17:41:14 2015
    13 // Update Count     : 5
     12// Last Modified On : Mon May 18 23:42:07 2015
     13// Update Count     : 2
    1414//
    1515
     
    2020        namespace {
    2121                const OperatorInfo tableValues[] = {
    22                         {       "?[?]",         "",             "_operator_index",                              OT_INDEX                        },
    23                         {       "?()",          "",             "_operator_call",                               OT_CALL                         },
    24                         {       "?++",          "++",   "_operator_postincr",                   OT_POSTFIXASSIGN        },
    25                         {       "?--",          "--",   "_operator_postdecr",                   OT_POSTFIXASSIGN        },
    26                         {       "*?",           "*",    "_operator_deref",                              OT_PREFIX                       },
    27                         {       "+?",           "+",    "_operator_unaryplus",                  OT_PREFIX                       },
    28                         {       "-?",           "-",    "_operator_unaryminus",                 OT_PREFIX                       },
    29                         {       "~?",           "~",    "_operator_bitnot",                             OT_PREFIX                       },
    30                         {       "!?",           "!",    "_operator_lognot",                             OT_PREFIX                       },
    31                         {       "++?",          "++",   "_operator_preincr",                    OT_PREFIXASSIGN         },
    32                         {       "--?",          "--",   "_operator_predecr",                    OT_PREFIXASSIGN         },
    33                         {       "?*?",          "*",    "_operator_multiply",                   OT_INFIX                        },
    34                         {       "?/?",          "/",    "_operator_divide",                             OT_INFIX                        },
    35                         {       "?%?",          "%",    "_operator_modulus",                    OT_INFIX                        },
    36                         {       "?+?",          "+",    "_operator_add",                                OT_INFIX                        },
    37                         {       "?-?",          "-",    "_operator_subtract",                   OT_INFIX                        },
    38                         {       "?<<?",         "<<",   "_operator_shiftleft",                  OT_INFIX                        },
    39                         {       "?>>?",         ">>",   "_operator_shiftright",                 OT_INFIX                        },
    40                         {       "?<?",          "<",    "_operator_less",                               OT_INFIX                        },
    41                         {       "?>?",          ">",    "_operator_greater",                    OT_INFIX                        },
    42                         {       "?<=?",         "<=",   "_operator_lessequal",                  OT_INFIX                        },
    43                         {       "?>=?",         ">=",   "_operator_greaterequal",               OT_INFIX                        },
    44                         {       "?==?",         "==",   "_operator_equal",                              OT_INFIX                        },
    45                         {       "?!=?",         "!=",   "_operator_notequal",                   OT_INFIX                        },
    46                         {       "?&?",          "&",    "_operator_bitand",                             OT_INFIX                        },
    47                         {       "?^?",          "^",    "_operator_bitxor",                             OT_INFIX                        },
    48                         {       "?|?",          "|",    "_operator_bitor",                              OT_INFIX                        },
    49                         {       "?=?",          "=",    "_operator_assign",                             OT_INFIXASSIGN          },
    50                         {       "?*=?",         "*=",   "_operator_multassign",                 OT_INFIXASSIGN          },
    51                         {       "?/=?",         "/=",   "_operator_divassign",                  OT_INFIXASSIGN          },
    52                         {       "?%=?",         "%=",   "_operator_modassign",                  OT_INFIXASSIGN          },
    53                         {       "?+=?",         "+=",   "_operator_addassign",                  OT_INFIXASSIGN          },
    54                         {       "?-=?",         "-=",   "_operator_subassign",                  OT_INFIXASSIGN          },
     22                        {       "?[?]",         "",             "_operator_index",                      OT_INDEX                },
     23                        {       "?()",          "",             "_operator_call",                       OT_CALL                 },
     24                        {       "?++",          "++",   "_operator_postincr",           OT_POSTFIXASSIGN        },
     25                        {       "?--",          "--",   "_operator_postdecr",           OT_POSTFIXASSIGN        },
     26                        {       "*?",           "*",    "_operator_deref",                      OT_PREFIX               },
     27                        {       "+?",           "+",    "_operator_unaryplus",          OT_PREFIX               },
     28                        {       "-?",           "-",    "_operator_unaryminus",         OT_PREFIX               },
     29                        {       "~?",           "~",    "_operator_bitnot",                     OT_PREFIX               },
     30                        {       "!?",           "!",    "_operator_lognot",                     OT_PREFIX               },
     31                        {       "++?",          "++",   "_operator_preincr",            OT_PREFIXASSIGN         },
     32                        {       "--?",          "--",   "_operator_predecr",            OT_PREFIXASSIGN         },
     33                        {       "?*?",          "*",    "_operator_multiply",           OT_INFIX                },
     34                        {       "?/?",          "/",    "_operator_divide",                     OT_INFIX                },
     35                        {       "?%?",          "%",    "_operator_modulus",            OT_INFIX                },
     36                        {       "?+?",          "+",    "_operator_add",                        OT_INFIX                },
     37                        {       "?-?",          "-",    "_operator_subtract",           OT_INFIX                },
     38                        {       "?<<?",         "<<",   "_operator_shiftleft",          OT_INFIX                },
     39                        {       "?>>?",         ">>",   "_operator_shiftright",         OT_INFIX                },
     40                        {       "?<?",          "<",    "_operator_less",                       OT_INFIX                },
     41                        {       "?>?",          ">",    "_operator_greater",            OT_INFIX                },
     42                        {       "?<=?",         "<=",   "_operator_lessequal",          OT_INFIX                },
     43                        {       "?>=?",         ">=",   "_operator_greaterequal",       OT_INFIX                },
     44                        {       "?==?",         "==",   "_operator_equal",                      OT_INFIX                },
     45                        {       "?!=?",         "!=",   "_operator_notequal",           OT_INFIX                },
     46                        {       "?&?",          "&",    "_operator_bitand",                     OT_INFIX                },
     47                        {       "?^?",          "^",    "_operator_bitxor",                     OT_INFIX                },
     48                        {       "?|?",          "|",    "_operator_bitor",                      OT_INFIX                },
     49                        {       "?=?",          "=",    "_operator_assign",                     OT_INFIXASSIGN          },
     50                        {       "?*=?",         "*=",   "_operator_multassign",         OT_INFIXASSIGN          },
     51                        {       "?/=?",         "/=",   "_operator_divassign",          OT_INFIXASSIGN          },
     52                        {       "?%=?",         "%=",   "_operator_modassign",          OT_INFIXASSIGN          },
     53                        {       "?+=?",         "+=",   "_operator_addassign",          OT_INFIXASSIGN          },
     54                        {       "?-=?",         "-=",   "_operator_subassign",          OT_INFIXASSIGN          },
    5555                        {       "?<<=?",        "<<=",  "_operator_shiftleftassign",    OT_INFIXASSIGN          },
    5656                        {       "?>>=?",        ">>=",  "_operator_shiftrightassign",   OT_INFIXASSIGN          },
    57                         {       "?&=?",         "&=",   "_operator_bitandassign",               OT_INFIXASSIGN          },
    58                         {       "?^=?",         "^=",   "_operator_bitxorassign",               OT_INFIXASSIGN          },
    59                         {       "?|=?",         "|=",   "_operator_bitorassign",                OT_INFIXASSIGN          },
    60                         {       "&&",           "&&",   "&&",                                                   OT_LABELADDRESS         },
    61                         {       "0",            "0",    "_constant_zero",                               OT_CONSTANT                     },
    62                         {       "1",            "1",    "_constant_one",                                OT_CONSTANT                     }
     57                        {       "?&=?",         "&=",   "_operator_bitandassign",       OT_INFIXASSIGN          },
     58                        {       "?^=?",         "^=",   "_operator_bitxorassign",       OT_INFIXASSIGN          },
     59                        {       "?|=?",         "|=",   "_operator_bitorassign",        OT_INFIXASSIGN          },
     60                        {       "0",            "0",    "_constant_zero",                       OT_CONSTANT             },
     61                        {       "1",            "1",    "_constant_one",                        OT_CONSTANT             }
    6362                };
    6463
  • src/CodeGen/OperatorTable.h

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jun 23 16:09:27 2015
    13 // Update Count     : 3
     12// Last Modified On : Mon May 18 23:43:07 2015
     13// Update Count     : 2
    1414//
    1515
     
    2929                OT_POSTFIXASSIGN,
    3030                OT_INFIXASSIGN,
    31                 OT_LABELADDRESS,
    3231                OT_CONSTANT
    3332        };
  • src/CodeGen/module.mk

    r937e51d reb50842  
    1 ######################### -*- Mode: Makefile-Gmake -*- ########################
    2 ##
    3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    4 ##
    5 ## The contents of this file are covered under the licence agreement in the
    6 ## file "LICENCE" distributed with Cforall.
    7 ##
    8 ## module.mk --
    9 ##
    10 ## Author           : Richard C. Bilson
    11 ## Created On       : Mon Jun  1 17:49:17 2015
    12 ## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Tue Jun  2 11:17:02 2015
    14 ## Update Count     : 3
    15 ###############################################################################
    16 
    17 #SRC +=  ArgTweak/Rewriter.cc \
    18 #       ArgTweak/Mutate.cc
    19 
    201SRC +=  CodeGen/Generate.cc \
    21         CodeGen/CodeGenerator.cc \
     2        CodeGen/CodeGenerator2.cc \
    223        CodeGen/GenType.cc \
    234        CodeGen/FixNames.cc \
    24         CodeGen/OperatorTable.cc
     5        CodeGen/OperatorTable.cc \
     6        $(NULL)
  • src/Common/SemanticError.h

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun  8 14:38:53 2015
    13 // Update Count     : 4
     12// Last Modified On : Tue May 19 07:22:23 2015
     13// Update Count     : 1
    1414//
    1515
     
    1919#include <exception>
    2020#include <string>
    21 #include <sstream>
     21#include <strstream>
    2222#include <list>
    2323#include <iostream>
     
    4242template< typename T >
    4343SemanticError::SemanticError( const std::string &error, const T *obj ) {
    44         std::ostringstream os;
     44        std::ostrstream os;
    4545        os << "Error: " << error;
    4646        obj->print( os );
    47         errors.push_back( os.str() );
     47        errors.push_back( std::string( os.str(), os.pcount() ) );
    4848}
    4949
  • src/Common/UniqueName.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun  8 14:47:49 2015
    13 // Update Count     : 3
     12// Last Modified On : Tue May 19 07:23:41 2015
     13// Update Count     : 1
    1414//
    1515
    1616#include <string>
    17 #include <sstream>
     17#include <strstream>
    1818
    1919#include "UniqueName.h"
     
    2323
    2424std::string UniqueName::newName( const std::string &additional ) {
    25         std::ostringstream os;
     25        std::ostrstream os;
    2626        os << base << additional << count++;
    27         return os.str();
     27        return std::string( os.str(), os.pcount() );
    2828}
    2929
  • src/Common/module.mk

    r937e51d reb50842  
    1 ######################### -*- Mode: Makefile-Gmake -*- ########################
    2 ##
    3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    4 ##
    5 ## The contents of this file are covered under the licence agreement in the
    6 ## file "LICENCE" distributed with Cforall.
    7 ##
    8 ## module.mk --
    9 ##
    10 ## Author           : Richard C. Bilson
    11 ## Created On       : Mon Jun  1 17:49:17 2015
    12 ## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jun  1 17:51:23 2015
    14 ## Update Count     : 1
    15 ###############################################################################
    16 
    171SRC += Common/SemanticError.cc \
    182       Common/UniqueName.cc
  • src/Common/utility.h

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun  8 14:43:54 2015
    13 // Update Count     : 13
     12// Last Modified On : Tue May 19 15:34:57 2015
     13// Update Count     : 3
    1414//
    1515
     
    1818
    1919#include <iostream>
    20 #include <sstream>
     20#include <strstream>
    2121#include <iterator>
    2222#include <string>
     
    6060        for ( typename Container::const_iterator i = container.begin(); i != container.end(); ++i ) {
    6161                if ( *i ) {
    62                         os << std::string( indent,  ' ' );
     62                        os << std::string(indent,  ' ');
    6363                        (*i)->print( os, indent + 2 );
    6464                        os << std::endl;
     
    130130template < typename T >
    131131std::string toString ( T value ) {
    132         std::ostringstream os;
     132        std::ostrstream os;
     133 
    133134        os << value; // << std::ends;
    134         return os.str();
     135        os.freeze( false );
     136
     137        return std::string(os.str(), os.pcount());
    135138}
    136139
     
    148151template< typename T >
    149152void replace( std::list< T > &org, typename std::list< T >::iterator pos, std::list< T > &with ) {
     153        // TIter should secretly be a typename std::list< T >::iterator
     154        //   ( g++ 3.2 issues a 'is implicitly a typename' warning if I make this explicit )
    150155        typename std::list< T >::iterator next = pos; advance( next, 1 );
    151156
     
    191196        while ( b1 != e1 && b2 != e2 )
    192197                *out++ = func(*b1++, *b2++);
    193 }
    194 
    195 // it's nice to actually be able to increment iterators by an arbitrary amount
    196 template< typename Iterator >
    197 Iterator operator+(Iterator i, int inc) {
    198         while ( inc > 0 ) {
    199                 ++i;
    200                 --inc;
    201         }
    202         return i;
    203198}
    204199
  • src/ControlStruct/ChooseMutator.cc

    r937e51d reb50842  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Wed Jun 03 15:30:20 2015
    13 // Update Count     : 5
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue May 19 15:31:39 2015
     13// Update Count     : 2
    1414//
    1515
     
    4444                std::list< Statement * > &stmts = caseStmt->get_statements();
    4545
    46                 // the difference between switch and choose is that switch has an implicit fallthrough
    47                 // to the next case, whereas choose has an implicit break at the end of the current case.
    48                 // thus to transform a choose statement into a switch, we only need to insert breaks at the
    49                 // end of any case that doesn't already end in a break and that doesn't end in a fallthru
    50 
    5146                if ( insideChoose ) {
    5247                        BranchStmt *posBrk;
  • src/ControlStruct/LabelFixer.cc

    r937e51d reb50842  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Wed Jun 24 16:24:34 2015
    13 // Update Count     : 141
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue May 19 15:25:59 2015
     13// Update Count     : 1
    1414//
    1515
     
    1919#include "LabelFixer.h"
    2020#include "MLEMutator.h"
    21 #include "SynTree/Expression.h"
    2221#include "SynTree/Statement.h"
    2322#include "SynTree/Declaration.h"
    2423#include "utility.h"
    2524
    26 #include <iostream>
    27 
    2825namespace ControlStruct {
    2926        LabelFixer::Entry::Entry( Statement *to, Statement *from ) : definition ( to ) {
    30                 if ( from != 0 ) {
    31                         UsageLoc loc; loc.stmt = from;
    32                         usage.push_back( loc );
    33                 }
     27                if ( from != 0 )
     28                        usage.push_back( from );
    3429        }
    35 
    36         LabelFixer::Entry::Entry( Statement *to, Expression *from ) : definition ( to ) {
    37                 if ( from != 0 ) {
    38                         UsageLoc loc; loc.expr = from;
    39                         usage.push_back( loc );
    40                 }
    41         }
    42 
    4330
    4431        bool LabelFixer::Entry::insideLoop() {
    4532                return ( dynamic_cast< ForStmt * > ( definition ) ||
    46                         dynamic_cast< WhileStmt * > ( definition )  );
    47         }
    48 
    49         void LabelFixer::Entry::UsageLoc::accept( Visitor & visitor ) {
    50                 if ( dynamic_cast< Statement * >( stmt ) ) {
    51                         stmt->accept( visitor );
    52                 } else {
    53                         expr->accept( visitor );
    54                 }
     33                                 dynamic_cast< WhileStmt * > ( definition )  );
    5534        }
    5635
     
    6140
    6241        void LabelFixer::visit( FunctionDecl *functionDecl ) {
    63                 maybeAccept( functionDecl->get_statements(), *this );
     42                if ( functionDecl->get_statements() != 0 )
     43                        functionDecl->get_statements()->accept( *this );
    6444
    6545                MLEMutator mlemut( resolveJumps(), generator );
     
    6747        }
    6848
    69         // prune to at most one label definition for each statement
    7049        void LabelFixer::visit( Statement *stmt ) {
    71                 currentStatement = stmt;
    7250                std::list< Label > &labels = stmt->get_labels();
    7351
    7452                if ( ! labels.empty() ) {
    75                         // only remember one label for each statement
    7653                        Label current = setLabelsDef( labels, stmt );
    7754                        labels.clear();
     
    8158
    8259        void LabelFixer::visit( BranchStmt *branchStmt ) {
    83                 visit ( ( Statement * )branchStmt );
     60                visit ( ( Statement * )branchStmt );  // the labels this statement might have
    8461
    85                 // for labeled branches, add an entry to the label table
    86                 Label target = branchStmt->get_target();
    87                 if ( target != "" ) {
     62                Label target;
     63                if ( (target = branchStmt->get_target()) != "" ) {
    8864                        setLabelsUsg( target, branchStmt );
    89                 }
     65                } //else       /* computed goto or normal exit-loop statements */
    9066        }
    9167
    92         void LabelFixer::visit( UntypedExpr *untyped ) {
    93                 if ( NameExpr * func = dynamic_cast< NameExpr * >( untyped->get_function() ) ) {
    94                         if ( func->get_name() == "&&" ) {
    95                                 NameExpr * arg = dynamic_cast< NameExpr * >( untyped->get_args().front() );
    96                                 Label target = arg->get_name();
    97                                 assert( target != "" );
    98                                 setLabelsUsg( target, untyped );
    99                         } else {
    100                                 Visitor::visit( untyped );
    101                         }
    102                 }
     68        Label LabelFixer::setLabelsDef( std::list< Label > &llabel, Statement *definition ) {
     69                assert( definition != 0 );
     70                Entry *entry = new Entry( definition );
     71                bool used = false;
     72
     73                for ( std::list< Label >::iterator i = llabel.begin(); i != llabel.end(); i++ )
     74                        if ( labelTable.find( *i ) == labelTable.end() )
     75                                { used = true; labelTable[ *i ] = entry; } // undefined and unused
     76                        else
     77                                if ( labelTable[ *i ]->defined() )
     78                                        throw SemanticError( "Duplicate definition of label: " + *i );
     79                                else
     80                                        labelTable[ *i ]->set_definition( definition );
     81
     82                if ( ! used ) delete entry;
     83
     84                return labelTable[ llabel.front() ]->get_label();  // this *must* exist
    10385        }
    10486
     87        Label LabelFixer::setLabelsUsg( Label orgValue, Statement *use ) {
     88                assert( use != 0 );
    10589
    106         // sets the definition of the labelTable entry to be the provided
    107         // statement for every label in the list parameter. Happens for every kind of statement
    108         Label LabelFixer::setLabelsDef( std::list< Label > &llabel, Statement *definition ) {
    109                 assert( definition != 0 );
    110                 assert( llabel.size() > 0 );
     90                if ( labelTable.find( orgValue ) != labelTable.end() )
     91                        labelTable[ orgValue ]->add_use( use );         // the label has been defined or used before
     92                else
     93                        labelTable[ orgValue ] = new Entry( 0, use );
    11194
    112                 Entry * e = new Entry( definition );
    113 
    114                 for ( std::list< Label >::iterator i = llabel.begin(); i != llabel.end(); i++ ) {
    115                         if ( labelTable.find( *i ) == labelTable.end() ) {
    116                                 // all labels on this statement need to use the same entry, so this should only be created once
    117                                 // undefined and unused until now, add an entry
    118                                 labelTable[ *i ] =  e;
    119                         } else if ( labelTable[ *i ]->defined() ) {
    120                                 // defined twice, error
    121                                 throw SemanticError( "Duplicate definition of label: " + *i );
    122                         }       else {
    123                                 // used previously, but undefined until now -> link with this entry
    124                                 Entry * oldEntry = labelTable[ *i ];
    125                                 e->add_uses( *oldEntry );
    126                                 labelTable[ *i ] = e;
    127                         } // if
    128                 } // for
    129 
    130                 // produce one of the labels attached to this statement to be
    131                 // temporarily used as the canonical label
    132                 return labelTable[ llabel.front() ]->get_label();
     95                return labelTable[ orgValue ]->get_label();
    13396        }
    13497
    135         // Remember all uses of a label.
    136         template< typename UsageNode >
    137         void LabelFixer::setLabelsUsg( Label orgValue, UsageNode *use ) {
    138                 assert( use != 0 );
    139 
    140                 if ( labelTable.find( orgValue ) != labelTable.end() ) {
    141                         // the label has been defined or used before
    142                         labelTable[ orgValue ]->add_use( use );
    143                 } else {
    144                         labelTable[ orgValue ] = new Entry( 0, use );
    145                 }
    146         }
    147 
    148         class LabelGetter : public Visitor {
    149                 public:
    150                 LabelGetter( Label &label ) : label( label ) {}
    151 
    152                 virtual void visit( BranchStmt * branchStmt ) {
    153                         label = branchStmt->get_target();
    154                 }
    155 
    156                 virtual void visit( UntypedExpr * untyped ) {
    157                         NameExpr * name = dynamic_cast< NameExpr * >( untyped->get_function() );
    158                         assert( name );
    159                         assert( name->get_name() == "&&" );
    160                         NameExpr * arg = dynamic_cast< NameExpr * >( untyped->get_args().front() );
    161                         assert( arg );
    162                         label = arg->get_name();
    163                 }               
    164 
    165                 private:
    166                         Label &label;
    167         };
    168 
    169         class LabelSetter : public Visitor {
    170                 public:
    171                 LabelSetter( Label label ) : label( label ) {}
    172 
    173                 virtual void visit( BranchStmt * branchStmt ) {
    174                         branchStmt->set_target( label );
    175                 }
    176 
    177                 virtual void visit( UntypedExpr * untyped ) {
    178                         NameExpr * name = dynamic_cast< NameExpr * >( untyped->get_function() );
    179                         assert( name );
    180                         assert( name->get_name() == "&&" );
    181                         NameExpr * arg = dynamic_cast< NameExpr * >( untyped->get_args().front() );
    182                         assert( arg );
    183                         arg->set_name( label );
    184                 }
    185 
    186         private:
    187                 Label label;
    188         };
    189 
    190         // Ultimately builds a table that maps a label to its defining statement.
    191         // In the process,
    19298        std::map<Label, Statement * > *LabelFixer::resolveJumps() throw ( SemanticError ) {
    19399                std::map< Statement *, Entry * > def_us;
    194100
    195                 // combine the entries for all labels that target the same location
    196                 for ( std::map< Label, Entry *>::iterator i = labelTable.begin(); i != labelTable.end(); ++i ) {
     101                for ( std::map< Label, Entry *>::iterator i = labelTable.begin(); i != labelTable.end(); i++ ) {
    197102                        Entry *e = i->second;
    198103
    199                         if ( def_us.find ( e->get_definition() ) == def_us.end() ) {
     104                        if ( def_us.find ( e->get_definition() ) == def_us.end() )
    200105                                def_us[ e->get_definition() ] = e;
    201                         } else if ( e->used() ) {
    202                                 def_us[ e->get_definition() ]->add_uses( *e );
    203                         }
     106                        else
     107                                if ( e->used() )
     108                                        def_us[ e->get_definition() ]->add_uses( e->get_uses() );
    204109                }
    205110
    206                 // create a unique label for each target location.
    207                 for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); ++i ) {
     111                // get rid of labelTable
     112                for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); i++ ) {
    208113                        Statement *to = (*i).first;
    209                         Entry * entry = (*i).second;
    210                         std::list< Entry::UsageLoc > &from = entry->get_uses();
     114                        std::list< Statement *> &from = (*i).second->get_uses();
     115                        Label finalLabel = generator->newLabel();
     116                        (*i).second->set_label( finalLabel );
    211117
    212                         // no label definition found
    213118                        if ( to == 0 ) {
    214                                 Label undef;
    215                                 LabelGetter getLabel( undef );
    216                                 from.back().accept( getLabel );
    217                                 // Label undef = getLabel( from.back()->get_target() );
     119                                BranchStmt *first_use = dynamic_cast<BranchStmt *>(from.back());
     120                                Label undef("");
     121                                if ( first_use != 0 )
     122                                        undef = first_use->get_target();
    218123                                throw SemanticError ( "'" + undef + "' label not defined");
    219                         } // if
    220 
    221                         // generate a new label, and attach it to its defining statement as the only label on that statement
    222                         Label finalLabel = generator->newLabel( to->get_labels().back() );
    223                         entry->set_label( finalLabel );
     124                        }
    224125
    225126                        to->get_labels().clear();
    226127                        to->get_labels().push_back( finalLabel );
    227128
    228                         // redirect each of the source branch statements to the new target label
    229                         for ( std::list< Entry::UsageLoc >::iterator j = from.begin(); j != from.end(); ++j ) {
    230                                 LabelSetter setLabel( finalLabel );
    231                                 (*j).accept( setLabel );
    232                                 // setLabel( *j, finalLabel );
    233 
    234                                 // BranchStmt *jump = *j;
    235                                 // assert( jump != 0 );
    236                                 // jump->set_target( finalLabel );
     129                        for ( std::list< Statement *>::iterator j = from.begin(); j != from.end(); j++ ) {
     130                                BranchStmt *jumpTo = dynamic_cast< BranchStmt * > ( *j );
     131                                assert( jumpTo != 0 );
     132                                jumpTo->set_target( finalLabel );
    237133                        } // for
    238134                } // for
    239135
    240                 // create a table where each label maps to its defining statement
     136                // reverse table
    241137                std::map< Label, Statement * > *ret = new std::map< Label, Statement * >();
    242                 for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); ++i ) {
     138                for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); i++ )
    243139                        (*ret)[ (*i).second->get_label() ] = (*i).first;
    244                 }
    245140
    246141                return ret;
  • src/ControlStruct/LabelFixer.h

    r937e51d reb50842  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Tue Jun 23 15:47:25 2015
    13 // Update Count     : 28
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue May 19 15:31:55 2015
     13// Update Count     : 3
    1414//
    1515
     
    5353                virtual void visit( DeclStmt *stmt ) { visit( (Statement *)stmt ); return Parent::visit( stmt ); }
    5454                virtual void visit( BranchStmt *branchStmt );
    55                 virtual void visit( UntypedExpr *untyped );
    5655
    5756                Label setLabelsDef( std::list< Label > &, Statement *definition );
    58                 template< typename UsageNode >
    59                 void setLabelsUsg( Label, UsageNode *usage = 0 );
     57                Label setLabelsUsg( Label, Statement *usage = 0 );
    6058
    6159          private:
    6260                class Entry {
    63                         public:
    64                         union UsageLoc {
    65                                 Statement * stmt;
    66                                 Expression * expr;
    67 
    68                                 void accept( Visitor &visitor );
    69                         };
    70 
    71                         Entry( Statement *to ) : definition( to ) {}
    72                         Entry( Statement *to, Statement *from );
    73                         Entry( Statement *to, Expression *from );
     61                  public:
     62                        Entry( Statement *to = 0, Statement *from = 0 );
    7463                        bool used() { return ( usage.empty() ); }
    7564                        bool defined() { return ( definition != 0 ); }
     
    7766
    7867                        Label get_label() const { return label; }
    79                         void set_label( Label lab ) { label = lab; }
     68                        Statement *get_definition() const { return definition; }
     69                        std::list< Statement *> &get_uses() { return usage; }
    8070
    81                         Statement *get_definition() const { return definition; }
     71                        void add_use ( Statement *use ) { usage.push_back( use ); }
     72                        void add_uses ( std::list<Statement *> uses ) { usage.insert( usage.end(), uses.begin(), uses.end() ); }
    8273                        void set_definition( Statement *def ) { definition = def; }
    8374
    84                         std::list< UsageLoc > &get_uses() { return usage; }
    85                         void add_use( Statement *use ) {
    86                                 UsageLoc loc;
    87                                 loc.stmt = use;
    88                                 usage.push_back( loc );
    89                         }
    90                         void add_use( Expression *use ) {
    91                                 UsageLoc loc;
    92                                 loc.expr = use;
    93                                 usage.push_back( loc );                                 
    94                         }
    95 
    96                         void add_uses ( Entry &other ) { usage.insert( usage.end(), other.usage.begin(), usage.end() ); }
     75                        void set_label( Label lab ) { label = lab; }
     76                        Label gset_label() const { return label; }
    9777                  private:
    9878                        Label label; 
    9979                        Statement *definition;
    100                         std::list<UsageLoc> usage;
     80                        std::list<Statement *> usage;
    10181                };
    10282                 
    10383                std::map < Label, Entry *> labelTable;
    10484                LabelGenerator *generator;
    105                 Statement * currentStatement;
    10685        };
    10786} // namespace ControlStruct
  • src/ControlStruct/LabelGenerator.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jun 23 12:18:34 2015
    13 // Update Count     : 13
     12// Last Modified On : Tue May 19 15:32:04 2015
     13// Update Count     : 2
    1414//
    1515
    1616#include <iostream>
    17 #include <sstream>
     17#include <strstream>
    1818
    1919#include "LabelGenerator.h"
     
    2929        }
    3030
    31         Label LabelGenerator::newLabel( std::string suffix ) {
    32                 std::ostringstream os;
    33                 os << "__L" << current++ << "__" << suffix;
    34                 std::string ret = os.str();
     31        Label LabelGenerator::newLabel() {
     32                std::ostrstream os;
     33                os << "__L" << current++ << "__";// << std::ends;
     34                os.freeze( false );
     35                std::string ret = std::string (os.str(), os.pcount());
    3536                return Label( ret );
    3637        }
  • src/ControlStruct/LabelGenerator.h

    r937e51d reb50842  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Wed Jun 03 14:16:26 2015
    13 // Update Count     : 5
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue May 19 15:33:20 2015
     13// Update Count     : 3
    1414//
    1515
     
    1818
    1919#include "SynTree/SynTree.h"
    20 #include <string>
    2120
    2221namespace ControlStruct {
     
    2423          public:
    2524                static LabelGenerator *getGenerator();
    26                 Label newLabel(std::string suffix = "");
     25                Label newLabel();
    2726                void reset() { current = 0; }
    2827                void rewind() { current--; }
  • src/ControlStruct/LabelTypeChecker.cc

    r937e51d reb50842  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Wed Jun 24 16:24:48 2015
    13 // Update Count     : 3
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue May 19 15:32:15 2015
     13// Update Count     : 2
    1414//
    1515
     
    2929                NameExpr *fname;
    3030                if ( ((fname = dynamic_cast<NameExpr *>(untypedExpr->get_function())) != 0)
    31                          && fname->get_name() == std::string("&&") )
     31                         && fname->get_name() == std::string("LabAddress") )
    3232                        std::cerr << "Taking the label of an address." << std::endl;
    3333                else {
  • src/ControlStruct/MLEMutator.cc

    r937e51d reb50842  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Thu Jun 04 15:12:33 2015
    13 // Update Count     : 173
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue May 19 15:32:26 2015
     13// Update Count     : 2
    1414//
    1515
     
    1919#include "MLEMutator.h"
    2020#include "SynTree/Statement.h"
    21 #include "SynTree/Expression.h"
    2221
    2322namespace ControlStruct {
     
    2726        }
    2827
    29         // break labels have to come after the statement they break out of,
    30         // so mutate a statement, then if they inform us through the breakLabel field
    31         // tha they need a place to jump to on a break statement, add the break label
    32         // to the body of statements
    33         void MLEMutator::fixBlock( std::list< Statement * > &kids ) {
     28        CompoundStmt* MLEMutator::mutate( CompoundStmt *cmpndStmt ) {
     29                bool labeledBlock = false;
     30                if ( !((cmpndStmt->get_labels()).empty()) ) {
     31                        labeledBlock = true;
     32                        enclosingBlocks.push_back( Entry( cmpndStmt ) );
     33                } // if
     34
     35                std::list< Statement * > &kids = cmpndStmt->get_kids();
    3436                for ( std::list< Statement * >::iterator k = kids.begin(); k != kids.end(); k++ ) {
    3537                        *k = (*k)->acceptMutator(*this);
    3638
    3739                        if ( ! get_breakLabel().empty() ) {
    38                                 std::list< Statement * >::iterator next = k+1;
     40                                std::list< Statement * >::iterator next = k; next++;
    3941                                if ( next == kids.end() ) {
    4042                                        std::list<Label> ls; ls.push_back( get_breakLabel() );
    4143                                        kids.push_back( new NullStmt( ls ) );
    42                                 } else {
     44                                } else
    4345                                        (*next)->get_labels().push_back( get_breakLabel() );
    44                                 }
    4546
    4647                                set_breakLabel("");
    4748                        } // if
    4849                } // for
    49         }
    50 
    51         CompoundStmt* MLEMutator::mutate( CompoundStmt *cmpndStmt ) {
    52                 bool labeledBlock = !(cmpndStmt->get_labels().empty());
    53                 if ( labeledBlock ) {
    54                         Label brkLabel = generator->newLabel("blockBreak");
    55                         enclosingBlocks.push_back( Entry( cmpndStmt, brkLabel ) );
    56                 } // if
    57 
    58                 // a child statement may set the break label
    59                 // - if they do, attach it to the next statement
    60                 std::list< Statement * > &kids = cmpndStmt->get_kids();
    61                 fixBlock( kids );
    6250
    6351                if ( labeledBlock ) {
    6452                        assert( ! enclosingBlocks.empty() );
    65                         if ( ! enclosingBlocks.back().useBreakExit().empty() ) {
    66                                 set_breakLabel( enclosingBlocks.back().useBreakExit() );
    67                         }
     53                        if ( ! enclosingBlocks.back().get_breakExit().empty() )
     54                                set_breakLabel( enclosingBlocks.back().get_breakExit() );
    6855                        enclosingBlocks.pop_back();
    6956                } // if
    7057
     58                //mutateAll( cmpndStmt->get_kids(), *this );
    7159                return cmpndStmt;
    7260        }
    7361
    74         template< typename LoopClass >
    75         Statement *MLEMutator::handleLoopStmt( LoopClass *loopStmt ) {
    76                 // remember this as the most recent enclosing loop, then mutate
    77                 // the body of the loop -- this will determine whether brkLabel
    78                 // and contLabel are used with branch statements
    79                 // and will recursively do the same to nested loops
    80                 Label brkLabel = generator->newLabel("loopBreak");
    81                 Label contLabel = generator->newLabel("loopContinue");
    82                 enclosingLoops.push_back( Entry( loopStmt, brkLabel, contLabel ) );
    83                 loopStmt->set_body ( loopStmt->get_body()->acceptMutator( *this ) );
    84 
    85                 // sanity check that the enclosing loops have been popped correctly
     62        Statement *MLEMutator::mutate( WhileStmt *whileStmt ) {
     63                enclosingLoops.push_back( Entry( whileStmt ) );
     64                whileStmt->set_body ( whileStmt->get_body()->acceptMutator( *this ) );
     65
    8666                Entry &e = enclosingLoops.back();
    87                 assert ( e == loopStmt );
    88 
    89                 // this will take the necessary steps to add definitions of the previous
    90                 // two labels, if they are used.
    91                 loopStmt->set_body( mutateLoop( loopStmt->get_body(), e ) );
     67                assert ( e == whileStmt );
     68                whileStmt->set_body( mutateLoop( whileStmt->get_body(), e ) );
    9269                enclosingLoops.pop_back();
    9370
    94                 return loopStmt;
    95         }
    96 
    97         Statement *MLEMutator::mutate( CaseStmt *caseStmt ) {
    98                 caseStmt->set_condition( maybeMutate( caseStmt->get_condition(), *this ) );
    99                 fixBlock( caseStmt->get_statements() );
    100 
    101                 return caseStmt;
    102         }
    103 
    104         template< typename SwitchClass >
    105         Statement *MLEMutator::handleSwitchStmt( SwitchClass *switchStmt ) {
    106                 // generate a label for breaking out of a labeled switch
    107                 Label brkLabel = generator->newLabel("switchBreak");
    108                 enclosingSwitches.push_back( Entry(switchStmt, brkLabel) );
    109                 mutateAll( switchStmt->get_branches(), *this );
    110 
    111                 Entry &e = enclosingSwitches.back();
    112                 assert ( e == switchStmt );
    113 
    114                 // only generate break label if labeled break is used
    115                 if (e.isBreakUsed()) {
    116                         // for the purposes of keeping switch statements uniform (i.e. all statements that are
    117                         // direct children of a switch should be CastStmts), append the exit label + break to the
    118                         // last case statement; create a default case if there are no cases
    119                         std::list< Statement * > &branches = switchStmt->get_branches();
    120                         if ( branches.empty() ) {
    121                                 branches.push_back( CaseStmt::makeDefault() );
    122                         }
    123 
    124                         if ( CaseStmt * c = dynamic_cast< CaseStmt * >( branches.back() ) ) {
    125                                 std::list<Label> temp; temp.push_back( brkLabel );
    126                                 c->get_statements().push_back( new BranchStmt( temp, Label(""), BranchStmt::Break ) );
    127                         } else assert(0); // as of this point, all branches of a switch are still CaseStmts
    128                 }
    129 
    130                 assert ( enclosingSwitches.back() == switchStmt );
    131                 enclosingSwitches.pop_back();
    132                 return switchStmt;
     71                return whileStmt;
     72        }
     73
     74        Statement *MLEMutator::mutate( ForStmt *forStmt ) {
     75                enclosingLoops.push_back( Entry( forStmt ) );
     76                maybeMutate( forStmt->get_body(), *this );
     77
     78                Entry &e = enclosingLoops.back();
     79                assert ( e == forStmt );
     80                forStmt->set_body( mutateLoop( forStmt->get_body(), e ) );
     81                enclosingLoops.pop_back();
     82
     83                return forStmt;
    13384        }
    13485
    13586        Statement *MLEMutator::mutate( BranchStmt *branchStmt ) throw ( SemanticError ) {
    136                 std::string originalTarget = branchStmt->get_originalTarget();
    137 
    13887                if ( branchStmt->get_type() == BranchStmt::Goto )
    13988                        return branchStmt;
    14089
    14190                // test if continue target is a loop
    142                 if ( branchStmt->get_type() == BranchStmt::Continue) {
    143                         if ( enclosingLoops.empty() ) {
    144                                 throw SemanticError( "'continue' outside a loop" );
    145                         } else if ( std::find( enclosingLoops.begin(), enclosingLoops.end(), (*targetTable)[branchStmt->get_target()] ) == enclosingLoops.end() ) {
    146                                 throw SemanticError( "'continue' target label must be an enclosing loop: " + originalTarget );
    147                         }
    148                 }
     91                if ( branchStmt->get_type() == BranchStmt::Continue && enclosingLoops.empty() )
     92                        throw SemanticError( "'continue' outside a loop" );
    14993
    15094                if ( branchStmt->get_type() == BranchStmt::Break && (enclosingLoops.empty() && enclosingSwitches.empty() && enclosingBlocks.empty() ) )
     
    15498
    15599                if ( targetTable->find( branchStmt->get_target() ) == targetTable->end() )
    156                         throw SemanticError("The label defined in the exit loop statement does not exist: " + originalTarget );  // shouldn't happen (since that's already checked)
     100                        throw SemanticError("The label defined in the exit loop statement does not exist." );  // shouldn't happen (since that's already checked)
    157101
    158102                std::list< Entry >::iterator check;
     
    162106                                // neither in loop nor in block, checking if in switch/choose
    163107                                if ( (check = std::find( enclosingSwitches.begin(), enclosingSwitches.end(), (*targetTable)[branchStmt->get_target()] )) == enclosingSwitches.end() )
    164                                         throw SemanticError("The target specified in the exit loop statement does not correspond to an enclosing control structure: " + originalTarget );
    165 
    166                 // what about exiting innermost block or switch???
     108                                        throw SemanticError("The target specified in the exit loop statement does not correspond to an enclosing loop.");
     109
    167110                if ( enclosingLoops.back() == (*check) )
    168111                        return branchStmt;                              // exit the innermost loop (labels unnecessary)
    169112
    170                 // branch error checks, get the appropriate label name and create a goto
    171                 Label exitLabel;
     113                Label newLabel;
    172114                switch ( branchStmt->get_type() ) {
    173115                  case BranchStmt::Break:
    174                                 assert( check->useBreakExit() != "");
    175                                 exitLabel = check->useBreakExit();
    176                                 break;
     116                        if ( check->get_breakExit() != "" )
     117                                newLabel = check->get_breakExit();
     118                        else {
     119                                newLabel = generator->newLabel();
     120                                check->set_breakExit( newLabel );
     121                        } // if
     122                        break;
    177123                  case BranchStmt::Continue:
    178                                 assert( check->useContExit() != "");
    179                                 exitLabel = check->useContExit();
    180                                 break;
     124                        if ( check->get_contExit() != "" )
     125                                newLabel = check->get_contExit();
     126                        else {
     127                                newLabel = generator->newLabel();
     128                                check->set_contExit( newLabel );
     129                        } // if
     130                        break;
    181131                  default:
    182                                 assert(0);                                      // shouldn't be here
     132                        return 0;                                       // shouldn't be here
    183133                } // switch
    184134
    185                 return new BranchStmt( std::list<Label>(), exitLabel, BranchStmt::Goto );
     135                return new BranchStmt( std::list<Label>(), newLabel, BranchStmt::Goto );
     136        }
     137
     138
     139        Statement *MLEMutator::mutate( SwitchStmt *switchStmt ) {
     140                Label brkLabel = generator->newLabel();
     141                enclosingSwitches.push_back( Entry(switchStmt, "", brkLabel) );
     142                mutateAll( switchStmt->get_branches(), *this ); {
     143                        // check if this is necessary (if there is a break to this point, otherwise do not generate
     144                        std::list<Label> temp; temp.push_back( brkLabel );
     145                        switchStmt->get_branches().push_back( new BranchStmt( temp, Label(""), BranchStmt::Break ) );
     146                }
     147                assert ( enclosingSwitches.back() == switchStmt );
     148                enclosingSwitches.pop_back();
     149                return switchStmt;
     150        }
     151
     152        Statement *MLEMutator::mutate( ChooseStmt *switchStmt ) {
     153                Label brkLabel = generator->newLabel();
     154                enclosingSwitches.push_back( Entry(switchStmt,"", brkLabel) );
     155                mutateAll( switchStmt->get_branches(), *this ); {
     156                        // check if this is necessary (if there is a break to this point, otherwise do not generate
     157                        std::list<Label> temp; temp.push_back( brkLabel );
     158                        switchStmt->get_branches().push_back( new BranchStmt( temp, Label(""), BranchStmt::Break ) );
     159                }
     160                assert ( enclosingSwitches.back() == switchStmt );
     161                enclosingSwitches.pop_back();
     162                return switchStmt;
    186163        }
    187164
    188165        Statement *MLEMutator::mutateLoop( Statement *bodyLoop, Entry &e ) {
    189                 // ensure loop body is a block
    190166                CompoundStmt *newBody;
    191167                if ( ! (newBody = dynamic_cast<CompoundStmt *>( bodyLoop )) ) {
     
    194170                } // if
    195171
    196                 // only generate these when needed
    197 
    198                 if ( e.isContUsed() ) {
    199                         // continue label goes in the body as the last statement
    200                         std::list< Label > labels; labels.push_back( e.useContExit() );
    201                         newBody->get_kids().push_back( new NullStmt( labels ) );                       
    202                 }
    203 
    204                 if ( e.isBreakUsed() ) {
    205                         // break label goes after the loop -- it'll get set by the
    206                         // outer mutator if we do this
    207                         set_breakLabel( e.useBreakExit() );                     
    208                 }
     172                Label endLabel = e.get_contExit();
     173
     174                if ( e.get_breakExit() != "" ) {
     175                        if ( endLabel == "" ) endLabel = generator->newLabel();
     176                        // check for whether this label is used or not, so as to not generate extraneous gotos
     177                        if (e.breakExitUsed)
     178                                newBody->get_kids().push_back( new BranchStmt( std::list< Label >(), endLabel, BranchStmt::Goto ) );
     179                        // xxx
     180                        //std::list< Label > ls; ls.push_back( e.get_breakExit() );
     181                        set_breakLabel( e.get_breakExit() );
     182                        //newBody->get_kids().push_back( new BranchStmt( ls, "", BranchStmt::Break ) );
     183                } // if
     184
     185                if ( e.get_breakExit() != "" || e.get_contExit() != "" ) {
     186                        if (dynamic_cast< NullStmt *>( newBody->get_kids().back() ))
     187                                newBody->get_kids().back()->get_labels().push_back( endLabel );
     188                        else {
     189                                std::list < Label > ls; ls.push_back( endLabel );
     190                                newBody->get_kids().push_back( new NullStmt( ls ) );
     191                        } // if
     192                } // if
    209193
    210194                return newBody;
    211195        }
    212196
    213         Statement *MLEMutator::mutate( WhileStmt *whileStmt ) {
    214                 return handleLoopStmt( whileStmt );
    215         }
    216 
    217         Statement *MLEMutator::mutate( ForStmt *forStmt ) {
    218                 return handleLoopStmt( forStmt );
    219         }
    220 
    221         Statement *MLEMutator::mutate( SwitchStmt *switchStmt ) {
    222                 return handleSwitchStmt( switchStmt );
    223         }
    224 
    225         Statement *MLEMutator::mutate( ChooseStmt *switchStmt ) {
    226                 return handleSwitchStmt( switchStmt );         
    227         }
    228 
     197        //*** Entry's methods
     198        void MLEMutator::Entry::set_contExit( Label l ) {
     199                assert ( contExit == "" || contExit == l );
     200                contExit = l;
     201        }
     202
     203        void MLEMutator::Entry::set_breakExit( Label l ) {
     204                assert ( breakExit == "" || breakExit == l );
     205                breakExit = l;
     206        }
    229207} // namespace ControlStruct
    230208
  • src/ControlStruct/MLEMutator.h

    r937e51d reb50842  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Wed Jun 03 15:06:36 2015
    13 // Update Count     : 25
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue May 19 15:32:39 2015
     13// Update Count     : 3
    1414//
    1515
     
    3838                Statement *mutate( BranchStmt *branchStmt ) throw ( SemanticError );
    3939
    40                 Statement *mutate( CaseStmt *caseStmt );
    4140                Statement *mutate( SwitchStmt *switchStmt );
    4241                Statement *mutate( ChooseStmt *switchStmt );
     
    4948                class Entry {
    5049                  public:
    51                         explicit Entry( Statement *_loop, Label _breakExit, Label _contExit = Label("") ) :
    52                                 loop( _loop ), breakExit( _breakExit ), contExit( _contExit ), breakUsed(false), contUsed(false) {}
     50                        explicit Entry( Statement *_loop = 0, Label _contExit = Label(""), Label _breakExit = Label("") ) :
     51                                loop( _loop ), contExit( _contExit ), breakExit( _breakExit ), contExitUsed( false ), breakExitUsed( false ) {}
    5352
    5453                        bool operator==( const Statement *stmt ) { return ( loop == stmt ); }
     
    5958                        Statement *get_loop() const { return loop; }
    6059
    61                         Label useContExit() { contUsed = true; return contExit; }
    62                         Label useBreakExit() { breakUsed = true; return breakExit; }
     60                        Label get_contExit() const { return contExit; }
     61                        void set_contExit( Label );
    6362
    64                         bool isContUsed() const { return contUsed; }
    65                         bool isBreakUsed() const { return breakUsed; }
     63                        Label get_breakExit() const { return breakExit; }
     64                        void set_breakExit( Label );
    6665
    6766                  private:
    6867                        Statement *loop;
    69                         Label breakExit, contExit;
    70                         bool breakUsed, contUsed;
     68                        Label contExit, breakExit;
     69                  public: // hack, provide proper [sg]etters
     70                        bool contExitUsed, breakExitUsed;
    7171                };
    7272
     
    7575                Label breakLabel;
    7676                LabelGenerator *generator;
    77 
    78                 template< typename LoopClass >
    79                 Statement *handleLoopStmt( LoopClass *loopStmt );
    80 
    81                 template< typename SwitchClass >
    82                 Statement *handleSwitchStmt( SwitchClass *switchStmt );
    83 
    84                 void fixBlock( std::list< Statement * > &kids );
    8577        };
    8678} // namespace ControlStruct
  • src/ControlStruct/Mutate.cc

    r937e51d reb50842  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Wed Jun 03 23:08:43 2015
    13 // Update Count     : 5
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue May 19 15:32:52 2015
     13// Update Count     : 2
    1414//
    1515
     
    3737        void mutate( std::list< Declaration * > translationUnit ) {
    3838                // ForExprMutator formut;
    39 
    40                 // normalizes label definitions and generates multi-level
    41                 // exit labels
    4239                LabelFixer lfix;
    43 
    44                 // transform choose statements into switch statements
    4540                ChooseMutator chmut;
    46 
    47                 // expand case ranges and turn fallthru into a null statement
    4841                CaseRangeMutator ranges;  // has to run after ChooseMutator
    49 
    5042                //ExceptMutator exc;
    5143                // LabelTypeChecker lbl;
  • src/ControlStruct/module.mk

    r937e51d reb50842  
    1 ######################### -*- Mode: Makefile-Gmake -*- ########################
    2 ##
    3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    4 ##
    5 ## The contents of this file are covered under the licence agreement in the
    6 ## file "LICENCE" distributed with Cforall.
    7 ##
    8 ## module.mk --
    9 ##
    10 ## Author           : Richard C. Bilson
    11 ## Created On       : Mon Jun  1 17:49:17 2015
    12 ## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jun  1 17:51:45 2015
    14 ## Update Count     : 1
    15 ###############################################################################
    16 
    171SRC +=  ControlStruct/LabelGenerator.cc \
    18         ControlStruct/LabelFixer.cc \
     2        ControlStruct/LabelFixer.cc \
    193        ControlStruct/MLEMutator.cc \
    204        ControlStruct/CaseRangeMutator.cc \
     
    226        ControlStruct/ChooseMutator.cc \
    237        ControlStruct/ForExprMutator.cc \
    24         ControlStruct/LabelTypeChecker.cc
     8        ControlStruct/LabelTypeChecker.cc \
     9        $(NULL)
    2510
  • src/Designators/module.mk

    r937e51d reb50842  
    1 ######################### -*- Mode: Makefile-Gmake -*- ########################
    2 ##
    3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    4 ##
    5 ## The contents of this file are covered under the licence agreement in the
    6 ## file "LICENCE" distributed with Cforall.
    7 ##
    8 ## module.mk --
    9 ##
    10 ## Author           : Richard C. Bilson
    11 ## Created On       : Mon Jun  1 17:49:17 2015
    12 ## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jun  1 17:52:06 2015
    14 ## Update Count     : 1
    15 ###############################################################################
    16 
    17 SRC += Designators/Processor.cc
     1SRC +=  Designators/Processor.cc \
     2        $(NULL)
  • src/GenPoly/Box.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 09:12:19 2015
    13 // Update Count     : 4
     12// Last Modified On : Tue May 19 07:31:41 2015
     13// Update Count     : 1
    1414//
    1515
     
    2626#include "ScrubTyVars.h"
    2727
    28 #include "Parser/ParseNode.h"
    29 
     28#include "SynTree/Declaration.h"
    3029#include "SynTree/Type.h"
    3130#include "SynTree/Expression.h"
     
    3332#include "SynTree/Statement.h"
    3433#include "SynTree/Mutator.h"
    35 
    3634#include "ResolvExpr/TypeEnvironment.h"
    37 
    3835#include "SymTab/Mangler.h"
    3936
     
    285282
    286283                ObjectDecl *Pass1::makeTemporary( Type *type ) {
    287                         ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, type, 0 );
     284                        ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), Declaration::NoStorageClass, LinkageSpec::C, 0, type, 0 );
    288285                        stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) );
    289286                        return newObj;
     
    365362                                        arg = new AddressExpr( arg );
    366363                                } else {
    367                                         ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, arg->get_results().front()->clone(), 0 );
     364                                        ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), Declaration::NoStorageClass, LinkageSpec::C, 0, arg->get_results().front()->clone(), 0 );
    368365                                        newObj->get_type()->get_qualifiers() = Type::Qualifiers();
    369366                                        stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) );
     
    436433                                makeRetParm( adapter );
    437434                        } // if
    438                         adapter->get_parameters().push_front( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ) );
     435                        adapter->get_parameters().push_front( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ) );
    439436                        return adapter;
    440437                }
     
    524521                        adapterBody->get_kids().push_back( bodyStmt );
    525522                        std::string adapterName = makeAdapterName( mangleName );
    526                         return new FunctionDecl( adapterName, DeclarationNode::NoStorageClass, LinkageSpec::C, adapterType, adapterBody, false, false );
     523                        return new FunctionDecl( adapterName, Declaration::NoStorageClass, LinkageSpec::C, adapterType, adapterBody, false );
    527524                }
    528525
     
    905902                                if ( adaptersDone.find( mangleName ) == adaptersDone.end() ) {
    906903                                        std::string adapterName = makeAdapterName( mangleName );
    907                                         paramList.push_front( new ObjectDecl( adapterName, DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), 0 ) );
     904                                        paramList.push_front( new ObjectDecl( adapterName, Declaration::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), 0 ) );
    908905                                        adaptersDone.insert( adaptersDone.begin(), mangleName );
    909906                                }
     
    964961                        std::list< DeclarationWithType *>::iterator last = funcType->get_parameters().begin();
    965962                        std::list< DeclarationWithType *> inferredParams;
    966                         ObjectDecl *newObj = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ), 0 );
    967 ///   ObjectDecl *newFunPtr = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 );
     963                        ObjectDecl *newObj = new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt ), 0 );
     964///   ObjectDecl *newFunPtr = new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 );
    968965                        for ( std::list< TypeDecl *>::const_iterator tyParm = funcType->get_forall().begin(); tyParm != funcType->get_forall().end(); ++tyParm ) {
    969966                                ObjectDecl *thisParm;
  • src/GenPoly/Specialize.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 15:54:07 2015
    13 // Update Count     : 6
     12// Last Modified On : Tue May 19 07:55:09 2015
     13// Update Count     : 4
    1414//
    1515
     
    1919#include "PolyMutator.h"
    2020
    21 #include "Parser/ParseNode.h"
    22 
     21#include "SynTree/Declaration.h"
     22#include "SynTree/Statement.h"
    2323#include "SynTree/Expression.h"
    24 #include "SynTree/Statement.h"
    2524#include "SynTree/Type.h"
    2625#include "SynTree/TypeSubstitution.h"
     
    9796                                        newEnv.applyFree( newType );
    9897                                } // if
    99                                 FunctionDecl *thunkFunc = new FunctionDecl( thunkNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, newType, new CompoundStmt( std::list< std::string >() ), false, false );
     98                                FunctionDecl *thunkFunc = new FunctionDecl( thunkNamer.newName(), Declaration::NoStorageClass, LinkageSpec::C, newType, new CompoundStmt( std::list< std::string >() ), false );
    10099                                thunkFunc->fixUniqueId();
    101100
  • src/GenPoly/module.mk

    r937e51d reb50842  
    1 ######################### -*- Mode: Makefile-Gmake -*- ########################
    2 ##
    3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    4 ##
    5 ## The contents of this file are covered under the licence agreement in the
    6 ## file "LICENCE" distributed with Cforall.
    7 ##
    8 ## module.mk --
    9 ##
    10 ## Author           : Richard C. Bilson
    11 ## Created On       : Mon Jun  1 17:49:17 2015
    12 ## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jun  1 17:52:30 2015
    14 ## Update Count     : 1
    15 ###############################################################################
    16 
    171SRC += GenPoly/Box.cc \
    182       GenPoly/GenPoly.cc \
     
    237       GenPoly/CopyParams.cc \
    248       GenPoly/FindFunction.cc
     9       
  • src/InitTweak/module.mk

    r937e51d reb50842  
    1 ######################### -*- Mode: Makefile-Gmake -*- ########################
    2 ##
    3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    4 ##
    5 ## The contents of this file are covered under the licence agreement in the
    6 ## file "LICENCE" distributed with Cforall.
    7 ##
    8 ## module.mk --
    9 ##
    10 ## Author           : Richard C. Bilson
    11 ## Created On       : Mon Jun  1 17:49:17 2015
    12 ## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jun  1 17:52:49 2015
    14 ## Update Count     : 1
    15 ###############################################################################
    16 
    171SRC += InitTweak/InitModel.cc \
    182       InitTweak/InitExpander.cc \
    19        InitTweak/Mutate.cc \
    20        InitTweak/Association.cc \
    21        InitTweak/RemoveInit.cc
     3       InitTweak/Mutate.cc     \
     4       InitTweak/Association.cc     \
     5       InitTweak/RemoveInit.cc     \
     6        $(NULL)
    227
  • src/Makefile.in

    r937e51d reb50842  
    1 # Makefile.in generated by automake 1.11.3 from Makefile.am.
    2 # @configure_input@
    3 
    4 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    5 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
    6 # Foundation, Inc.
    7 # This Makefile.in is free software; the Free Software Foundation
    8 # gives unlimited permission to copy and/or distribute it,
    9 # with or without modifications, as long as this notice is preserved.
    10 
    11 # This program is distributed in the hope that it will be useful,
    12 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
    13 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
    14 # PARTICULAR PURPOSE.
    15 
    16 @SET_MAKE@
    17 
    18 ######################## -*- Mode: Makefile-Automake -*- ######################
     1######################### -*- Mode: Makefile-Gmake -*- ########################
     2##
     3## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
     4##
     5## The contents of this file are covered under the licence agreement in the
     6## file "LICENCE" distributed with Cforall.
     7##
     8## Makefile.in --
     9##
     10## Author           : Richard C. Bilson
     11## Created On       : Sat May 16 08:37:37 2015
     12## Last Modified By : Peter A. Buhr
     13## Last Modified On : Thu May 21 21:17:32 2015
     14## Update Count     : 3
    1915###############################################################################
    2016
    21 ######################### -*- Mode: Makefile-Gmake -*- ########################
    22 ###############################################################################
     17# This makefile is adapted from Peter Miller's article "Recursive Make Considered Harmful"
    2318
    24 ######################### -*- Mode: Makefile-Gmake -*- ########################
    25 ###############################################################################
     19MODULES := Common Parser SynTree SymTab ResolvExpr CodeGen ControlStruct GenPoly Tuples InitTweak Designators # Try ArgTweak Explain
     20TARGET := cfa-cpp
    2621
    27 #SRC +=  ArgTweak/Rewriter.cc \
    28 #       ArgTweak/Mutate.cc
     22all: ${TARGET}
    2923
    30 ######################### -*- Mode: Makefile-Gmake -*- ########################
    31 ###############################################################################
     24# look for include files in each of the modules
     25CXX := @CXX@
     26CXXFLAGS += -Wno-deprecated -Wall -g -DDEBUG_ALL -I. -I Common -MMD
     27INSTALL=@INSTALL@
    3228
    33 ######################### -*- Mode: Makefile-Gmake -*- ########################
    34 ###############################################################################
     29# this is the back-end compiler, used to compile libcfa & builtins to link with user code
     30BACKEND_CC := @BACKEND_CC@
    3531
    36 ######################### -*- Mode: Makefile-Gmake -*- ########################
    37 ###############################################################################
     32# extra libraries if required
     33LIBS :=
    3834
    39 ######################### -*- Mode: Makefile-Gmake -*- ########################
    40 ###############################################################################
     35# each module will add to this
     36SRC := main.cc MakeLibCfa.cc
    4137
    42 ######################### -*- Mode: Makefile-Gmake -*- ########################
    43 ###############################################################################
     38# other things that ought to be cleaned up
     39EXTRA_OUTPUT := core
    4440
    45 ######################### -*- Mode: Makefile-Gmake -*- ########################
    46 ###############################################################################
     41# include the description for each module
     42include ${patsubst %,%/module.mk,${MODULES}}
    4743
    48 ######################### -*- Mode: Makefile-Gmake -*- ########################
    49 ###############################################################################
     44# determine the object files
     45OBJ := ${patsubst %.cc,%.o,${filter %.cc,${SRC}}} \
     46       ${patsubst %.y,%.tab.o,${filter %.y,${SRC}}} \
     47       ${patsubst %.l,%.yy.o,${filter %.l,${SRC}}}
    5048
    51 ######################### -*- Mode: Makefile-Gmake -*- ########################
    52 ###############################################################################
     49# include the C include dependencies
     50DEPS := ${OBJ:.o=.d}
     51-include ${DEPS}
    5352
    54 ######################### -*- Mode: Makefile-Gmake -*- ########################
    55 ###############################################################################
     53# link the program
     54${TARGET}: ${OBJ}
     55        ${PURIFY} ${CXX} -o $@ ${OBJ} ${LIBS}
    5656
    57 ######################### -*- Mode: Makefile-Gmake -*- ########################
    58 ###############################################################################
     57#installing
     58install: ${TARGET}
     59        ${INSTALL} -d @CFA_LIBDIR@
     60        ${INSTALL} ${TARGET} @CFA_LIBDIR@
    5961
    60 VPATH = @srcdir@
    61 pkgdatadir = $(datadir)/@PACKAGE@
    62 pkgincludedir = $(includedir)/@PACKAGE@
    63 pkglibdir = $(libdir)/@PACKAGE@
    64 pkglibexecdir = $(libexecdir)/@PACKAGE@
    65 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
    66 install_sh_DATA = $(install_sh) -c -m 644
    67 install_sh_PROGRAM = $(install_sh) -c
    68 install_sh_SCRIPT = $(install_sh) -c
    69 INSTALL_HEADER = $(INSTALL_DATA)
    70 transform = $(program_transform_name)
    71 NORMAL_INSTALL = :
    72 PRE_INSTALL = :
    73 POST_INSTALL = :
    74 NORMAL_UNINSTALL = :
    75 PRE_UNINSTALL = :
    76 POST_UNINSTALL = :
    77 DIST_COMMON = $(srcdir)/ArgTweak/module.mk $(srcdir)/CodeGen/module.mk \
    78         $(srcdir)/Common/module.mk $(srcdir)/ControlStruct/module.mk \
    79         $(srcdir)/Designators/module.mk $(srcdir)/GenPoly/module.mk \
    80         $(srcdir)/InitTweak/module.mk $(srcdir)/Makefile.am \
    81         $(srcdir)/Makefile.in $(srcdir)/Parser/module.mk \
    82         $(srcdir)/ResolvExpr/module.mk $(srcdir)/SymTab/module.mk \
    83         $(srcdir)/SynTree/module.mk $(srcdir)/Tuples/module.mk \
    84         Parser/lex.cc Parser/parser.cc Parser/parser.h
    85 cfa_cpplib_PROGRAMS = cfa-cpp$(EXEEXT)
    86 subdir = src
    87 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    88 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
    89 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    90         $(ACLOCAL_M4)
    91 mkinstalldirs = $(install_sh) -d
    92 CONFIG_HEADER = $(top_builddir)/config.h
    93 CONFIG_CLEAN_FILES =
    94 CONFIG_CLEAN_VPATH_FILES =
    95 am__installdirs = "$(DESTDIR)$(cfa_cpplibdir)"
    96 PROGRAMS = $(cfa_cpplib_PROGRAMS)
    97 am__dirstamp = $(am__leading_dot)dirstamp
    98 am__objects_1 = cfa_cpp-main.$(OBJEXT) cfa_cpp-MakeLibCfa.$(OBJEXT) \
    99         CodeGen/cfa_cpp-Generate.$(OBJEXT) \
    100         CodeGen/cfa_cpp-CodeGenerator.$(OBJEXT) \
    101         CodeGen/cfa_cpp-GenType.$(OBJEXT) \
    102         CodeGen/cfa_cpp-FixNames.$(OBJEXT) \
    103         CodeGen/cfa_cpp-OperatorTable.$(OBJEXT) \
    104         Common/cfa_cpp-SemanticError.$(OBJEXT) \
    105         Common/cfa_cpp-UniqueName.$(OBJEXT) \
    106         ControlStruct/cfa_cpp-LabelGenerator.$(OBJEXT) \
    107         ControlStruct/cfa_cpp-LabelFixer.$(OBJEXT) \
    108         ControlStruct/cfa_cpp-MLEMutator.$(OBJEXT) \
    109         ControlStruct/cfa_cpp-CaseRangeMutator.$(OBJEXT) \
    110         ControlStruct/cfa_cpp-Mutate.$(OBJEXT) \
    111         ControlStruct/cfa_cpp-ChooseMutator.$(OBJEXT) \
    112         ControlStruct/cfa_cpp-ForExprMutator.$(OBJEXT) \
    113         ControlStruct/cfa_cpp-LabelTypeChecker.$(OBJEXT) \
    114         Designators/cfa_cpp-Processor.$(OBJEXT) \
    115         GenPoly/cfa_cpp-Box.$(OBJEXT) \
    116         GenPoly/cfa_cpp-GenPoly.$(OBJEXT) \
    117         GenPoly/cfa_cpp-PolyMutator.$(OBJEXT) \
    118         GenPoly/cfa_cpp-ScrubTyVars.$(OBJEXT) \
    119         GenPoly/cfa_cpp-Lvalue.$(OBJEXT) \
    120         GenPoly/cfa_cpp-Specialize.$(OBJEXT) \
    121         GenPoly/cfa_cpp-CopyParams.$(OBJEXT) \
    122         GenPoly/cfa_cpp-FindFunction.$(OBJEXT) \
    123         InitTweak/cfa_cpp-InitModel.$(OBJEXT) \
    124         InitTweak/cfa_cpp-InitExpander.$(OBJEXT) \
    125         InitTweak/cfa_cpp-Mutate.$(OBJEXT) \
    126         InitTweak/cfa_cpp-Association.$(OBJEXT) \
    127         InitTweak/cfa_cpp-RemoveInit.$(OBJEXT) \
    128         Parser/cfa_cpp-parser.$(OBJEXT) Parser/cfa_cpp-lex.$(OBJEXT) \
    129         Parser/cfa_cpp-TypedefTable.$(OBJEXT) \
    130         Parser/cfa_cpp-ParseNode.$(OBJEXT) \
    131         Parser/cfa_cpp-DeclarationNode.$(OBJEXT) \
    132         Parser/cfa_cpp-ExpressionNode.$(OBJEXT) \
    133         Parser/cfa_cpp-StatementNode.$(OBJEXT) \
    134         Parser/cfa_cpp-InitializerNode.$(OBJEXT) \
    135         Parser/cfa_cpp-TypeData.$(OBJEXT) \
    136         Parser/cfa_cpp-LinkageSpec.$(OBJEXT) \
    137         Parser/cfa_cpp-parseutility.$(OBJEXT) \
    138         Parser/cfa_cpp-Parser.$(OBJEXT) \
    139         ResolvExpr/cfa_cpp-AlternativeFinder.$(OBJEXT) \
    140         ResolvExpr/cfa_cpp-Alternative.$(OBJEXT) \
    141         ResolvExpr/cfa_cpp-Unify.$(OBJEXT) \
    142         ResolvExpr/cfa_cpp-PtrsAssignable.$(OBJEXT) \
    143         ResolvExpr/cfa_cpp-CommonType.$(OBJEXT) \
    144         ResolvExpr/cfa_cpp-ConversionCost.$(OBJEXT) \
    145         ResolvExpr/cfa_cpp-CastCost.$(OBJEXT) \
    146         ResolvExpr/cfa_cpp-PtrsCastable.$(OBJEXT) \
    147         ResolvExpr/cfa_cpp-AdjustExprType.$(OBJEXT) \
    148         ResolvExpr/cfa_cpp-AlternativePrinter.$(OBJEXT) \
    149         ResolvExpr/cfa_cpp-Resolver.$(OBJEXT) \
    150         ResolvExpr/cfa_cpp-ResolveTypeof.$(OBJEXT) \
    151         ResolvExpr/cfa_cpp-RenameVars.$(OBJEXT) \
    152         ResolvExpr/cfa_cpp-FindOpenVars.$(OBJEXT) \
    153         ResolvExpr/cfa_cpp-PolyCost.$(OBJEXT) \
    154         ResolvExpr/cfa_cpp-Occurs.$(OBJEXT) \
    155         ResolvExpr/cfa_cpp-TypeEnvironment.$(OBJEXT) \
    156         SymTab/cfa_cpp-IdTable.$(OBJEXT) \
    157         SymTab/cfa_cpp-Indexer.$(OBJEXT) \
    158         SymTab/cfa_cpp-Mangler.$(OBJEXT) \
    159         SymTab/cfa_cpp-Validate.$(OBJEXT) \
    160         SymTab/cfa_cpp-FixFunction.$(OBJEXT) \
    161         SymTab/cfa_cpp-ImplementationType.$(OBJEXT) \
    162         SynTree/cfa_cpp-Type.$(OBJEXT) \
    163         SynTree/cfa_cpp-VoidType.$(OBJEXT) \
    164         SynTree/cfa_cpp-BasicType.$(OBJEXT) \
    165         SynTree/cfa_cpp-PointerType.$(OBJEXT) \
    166         SynTree/cfa_cpp-ArrayType.$(OBJEXT) \
    167         SynTree/cfa_cpp-FunctionType.$(OBJEXT) \
    168         SynTree/cfa_cpp-ReferenceToType.$(OBJEXT) \
    169         SynTree/cfa_cpp-TupleType.$(OBJEXT) \
    170         SynTree/cfa_cpp-TypeofType.$(OBJEXT) \
    171         SynTree/cfa_cpp-AttrType.$(OBJEXT) \
    172         SynTree/cfa_cpp-Constant.$(OBJEXT) \
    173         SynTree/cfa_cpp-Expression.$(OBJEXT) \
    174         SynTree/cfa_cpp-TupleExpr.$(OBJEXT) \
    175         SynTree/cfa_cpp-CommaExpr.$(OBJEXT) \
    176         SynTree/cfa_cpp-TypeExpr.$(OBJEXT) \
    177         SynTree/cfa_cpp-ApplicationExpr.$(OBJEXT) \
    178         SynTree/cfa_cpp-AddressExpr.$(OBJEXT) \
    179         SynTree/cfa_cpp-Statement.$(OBJEXT) \
    180         SynTree/cfa_cpp-CompoundStmt.$(OBJEXT) \
    181         SynTree/cfa_cpp-DeclStmt.$(OBJEXT) \
    182         SynTree/cfa_cpp-Declaration.$(OBJEXT) \
    183         SynTree/cfa_cpp-DeclarationWithType.$(OBJEXT) \
    184         SynTree/cfa_cpp-ObjectDecl.$(OBJEXT) \
    185         SynTree/cfa_cpp-FunctionDecl.$(OBJEXT) \
    186         SynTree/cfa_cpp-AggregateDecl.$(OBJEXT) \
    187         SynTree/cfa_cpp-NamedTypeDecl.$(OBJEXT) \
    188         SynTree/cfa_cpp-TypeDecl.$(OBJEXT) \
    189         SynTree/cfa_cpp-Initializer.$(OBJEXT) \
    190         SynTree/cfa_cpp-Visitor.$(OBJEXT) \
    191         SynTree/cfa_cpp-Mutator.$(OBJEXT) \
    192         SynTree/cfa_cpp-CodeGenVisitor.$(OBJEXT) \
    193         SynTree/cfa_cpp-TypeSubstitution.$(OBJEXT) \
    194         Tuples/cfa_cpp-Mutate.$(OBJEXT) \
    195         Tuples/cfa_cpp-AssignExpand.$(OBJEXT) \
    196         Tuples/cfa_cpp-FunctionFixer.$(OBJEXT) \
    197         Tuples/cfa_cpp-TupleAssignment.$(OBJEXT) \
    198         Tuples/cfa_cpp-FunctionChecker.$(OBJEXT) \
    199         Tuples/cfa_cpp-NameMatcher.$(OBJEXT)
    200 am_cfa_cpp_OBJECTS = $(am__objects_1)
    201 cfa_cpp_OBJECTS = $(am_cfa_cpp_OBJECTS)
    202 am__DEPENDENCIES_1 =
    203 cfa_cpp_DEPENDENCIES = $(am__DEPENDENCIES_1)
    204 cfa_cpp_LINK = $(CXXLD) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
    205         $(LDFLAGS) -o $@
    206 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
    207 depcomp = $(SHELL) $(top_srcdir)/automake/depcomp
    208 am__depfiles_maybe = depfiles
    209 am__mv = mv -f
    210 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
    211         $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
    212 CXXLD = $(CXX)
    213 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
    214         -o $@
    215 @MAINTAINER_MODE_FALSE@am__skiplex = test -f $@ ||
    216 LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS)
    217 YLWRAP = $(top_srcdir)/automake/ylwrap
    218 @MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ ||
    219 YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS)
    220 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
    221         $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
    222 CCLD = $(CC)
    223 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
    224 SOURCES = $(cfa_cpp_SOURCES)
    225 DIST_SOURCES = $(cfa_cpp_SOURCES)
    226 ETAGS = etags
    227 CTAGS = ctags
    228 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
    229 ACLOCAL = @ACLOCAL@
    230 ALLOCA = @ALLOCA@
    231 AMTAR = @AMTAR@
    232 AUTOCONF = @AUTOCONF@
    233 AUTOHEADER = @AUTOHEADER@
    234 AUTOMAKE = @AUTOMAKE@
    235 AWK = @AWK@
    236 BACKEND_CC = @BACKEND_CC@
    237 CC = @CC@
    238 CCDEPMODE = @CCDEPMODE@
    239 CFA_BINDIR = @CFA_BINDIR@
    240 CFA_INCDIR = @CFA_INCDIR@
    241 CFA_LIBDIR = @CFA_LIBDIR@
    242 CFA_PREFIX = @CFA_PREFIX@
    243 CFLAGS = @CFLAGS@
    244 CPP = @CPP@
    245 CPPFLAGS = @CPPFLAGS@
    246 CXX = @CXX@
    247 CXXDEPMODE = @CXXDEPMODE@
    248 CXXFLAGS = -g   # remove default -O2 to allow better debugging
    249 CYGPATH_W = @CYGPATH_W@
    250 DEFS = @DEFS@
    251 DEPDIR = @DEPDIR@
    252 ECHO_C = @ECHO_C@
    253 ECHO_N = @ECHO_N@
    254 ECHO_T = @ECHO_T@
    255 EGREP = @EGREP@
    256 EXEEXT = @EXEEXT@
    257 GCC_PATH = @GCC_PATH@
    258 GREP = @GREP@
    259 INSTALL = @INSTALL@
    260 INSTALL_DATA = @INSTALL_DATA@
    261 INSTALL_PROGRAM = @INSTALL_PROGRAM@
    262 INSTALL_SCRIPT = @INSTALL_SCRIPT@
    263 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    264 LDFLAGS = @LDFLAGS@
    265 LEX = @LEX@
    266 LEXLIB = @LEXLIB@
    267 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
    268 LIBOBJS = @LIBOBJS@
    269 LIBS = @LIBS@
    270 LTLIBOBJS = @LTLIBOBJS@
    271 MAINT = @MAINT@
    272 MAKEINFO = @MAKEINFO@
    273 MKDIR_P = @MKDIR_P@
    274 OBJEXT = @OBJEXT@
    275 PACKAGE = @PACKAGE@
    276 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
    277 PACKAGE_NAME = @PACKAGE_NAME@
    278 PACKAGE_STRING = @PACKAGE_STRING@
    279 PACKAGE_TARNAME = @PACKAGE_TARNAME@
    280 PACKAGE_URL = @PACKAGE_URL@
    281 PACKAGE_VERSION = @PACKAGE_VERSION@
    282 PATH_SEPARATOR = @PATH_SEPARATOR@
    283 RANLIB = @RANLIB@
    284 SET_MAKE = @SET_MAKE@
    285 SHELL = @SHELL@
    286 STRIP = @STRIP@
    287 VERSION = @VERSION@
    288 YACC = @YACC@
    289 YFLAGS = @YFLAGS@
    290 abs_builddir = @abs_builddir@
    291 abs_srcdir = @abs_srcdir@
    292 abs_top_builddir = @abs_top_builddir@
    293 abs_top_srcdir = @abs_top_srcdir@
    294 ac_ct_CC = @ac_ct_CC@
    295 ac_ct_CXX = @ac_ct_CXX@
    296 am__include = @am__include@
    297 am__leading_dot = @am__leading_dot@
    298 am__quote = @am__quote@
    299 am__tar = @am__tar@
    300 am__untar = @am__untar@
    301 bindir = @bindir@
    302 build_alias = @build_alias@
    303 builddir = @builddir@
    304 datadir = @datadir@
    305 datarootdir = @datarootdir@
    306 docdir = @docdir@
    307 dvidir = @dvidir@
    308 exec_prefix = @exec_prefix@
    309 host_alias = @host_alias@
    310 htmldir = @htmldir@
    311 includedir = @includedir@
    312 infodir = @infodir@
    313 install_sh = @install_sh@
    314 libdir = @libdir@
    315 libexecdir = @libexecdir@
    316 localedir = @localedir@
    317 localstatedir = @localstatedir@
    318 mandir = @mandir@
    319 mkdir_p = @mkdir_p@
    320 oldincludedir = @oldincludedir@
    321 pdfdir = @pdfdir@
    322 prefix = @prefix@
    323 program_transform_name = @program_transform_name@
    324 psdir = @psdir@
    325 sbindir = @sbindir@
    326 sharedstatedir = @sharedstatedir@
    327 srcdir = @srcdir@
    328 sysconfdir = @sysconfdir@
    329 target_alias = @target_alias@
    330 top_build_prefix = @top_build_prefix@
    331 top_builddir = @top_builddir@
    332 top_srcdir = @top_srcdir@
     62# clean-up rule
     63clean:
     64        rm -f ${OBJ} ${DEPS} ${TARGET} tags ${EXTRA_OUTPUT}
     65        find . -name "Expected*" -prune -o \( -name "*.tst" -o -name "report" \) -print | xargs rm -f
     66        find . -name "core*" -print | xargs rm -f
    33367
    334 # create object files in directory with source files
    335 AUTOMAKE_OPTIONS = subdir-objects
    336 SRC = main.cc MakeLibCfa.cc CodeGen/Generate.cc \
    337         CodeGen/CodeGenerator.cc CodeGen/GenType.cc \
    338         CodeGen/FixNames.cc CodeGen/OperatorTable.cc \
    339         Common/SemanticError.cc Common/UniqueName.cc \
    340         ControlStruct/LabelGenerator.cc ControlStruct/LabelFixer.cc \
    341         ControlStruct/MLEMutator.cc ControlStruct/CaseRangeMutator.cc \
    342         ControlStruct/Mutate.cc ControlStruct/ChooseMutator.cc \
    343         ControlStruct/ForExprMutator.cc \
    344         ControlStruct/LabelTypeChecker.cc Designators/Processor.cc \
    345         GenPoly/Box.cc GenPoly/GenPoly.cc GenPoly/PolyMutator.cc \
    346         GenPoly/ScrubTyVars.cc GenPoly/Lvalue.cc GenPoly/Specialize.cc \
    347         GenPoly/CopyParams.cc GenPoly/FindFunction.cc \
    348         InitTweak/InitModel.cc InitTweak/InitExpander.cc \
    349         InitTweak/Mutate.cc InitTweak/Association.cc \
    350         InitTweak/RemoveInit.cc Parser/parser.yy Parser/lex.ll \
    351         Parser/TypedefTable.cc Parser/ParseNode.cc \
    352         Parser/DeclarationNode.cc Parser/ExpressionNode.cc \
    353         Parser/StatementNode.cc Parser/InitializerNode.cc \
    354         Parser/TypeData.cc Parser/LinkageSpec.cc \
    355         Parser/parseutility.cc Parser/Parser.cc \
    356         ResolvExpr/AlternativeFinder.cc ResolvExpr/Alternative.cc \
    357         ResolvExpr/Unify.cc ResolvExpr/PtrsAssignable.cc \
    358         ResolvExpr/CommonType.cc ResolvExpr/ConversionCost.cc \
    359         ResolvExpr/CastCost.cc ResolvExpr/PtrsCastable.cc \
    360         ResolvExpr/AdjustExprType.cc ResolvExpr/AlternativePrinter.cc \
    361         ResolvExpr/Resolver.cc ResolvExpr/ResolveTypeof.cc \
    362         ResolvExpr/RenameVars.cc ResolvExpr/FindOpenVars.cc \
    363         ResolvExpr/PolyCost.cc ResolvExpr/Occurs.cc \
    364         ResolvExpr/TypeEnvironment.cc SymTab/IdTable.cc \
    365         SymTab/Indexer.cc SymTab/Mangler.cc SymTab/Validate.cc \
    366         SymTab/FixFunction.cc SymTab/ImplementationType.cc \
    367         SynTree/Type.cc SynTree/VoidType.cc SynTree/BasicType.cc \
    368         SynTree/PointerType.cc SynTree/ArrayType.cc \
    369         SynTree/FunctionType.cc SynTree/ReferenceToType.cc \
    370         SynTree/TupleType.cc SynTree/TypeofType.cc SynTree/AttrType.cc \
    371         SynTree/Constant.cc SynTree/Expression.cc SynTree/TupleExpr.cc \
    372         SynTree/CommaExpr.cc SynTree/TypeExpr.cc \
    373         SynTree/ApplicationExpr.cc SynTree/AddressExpr.cc \
    374         SynTree/Statement.cc SynTree/CompoundStmt.cc \
    375         SynTree/DeclStmt.cc SynTree/Declaration.cc \
    376         SynTree/DeclarationWithType.cc SynTree/ObjectDecl.cc \
    377         SynTree/FunctionDecl.cc SynTree/AggregateDecl.cc \
    378         SynTree/NamedTypeDecl.cc SynTree/TypeDecl.cc \
    379         SynTree/Initializer.cc SynTree/Visitor.cc SynTree/Mutator.cc \
    380         SynTree/CodeGenVisitor.cc SynTree/TypeSubstitution.cc \
    381         Tuples/Mutate.cc Tuples/AssignExpand.cc \
    382         Tuples/FunctionFixer.cc Tuples/TupleAssignment.cc \
    383         Tuples/FunctionChecker.cc Tuples/NameMatcher.cc
    384 BUILT_SOURCES = Parser/parser.h
    385 AM_YFLAGS = -d -t -v
    386 cfa_cpp_LDADD = ${LEXLIB}       # yywrap
    387 MAINTAINERCLEANFILES = Parser/parser.output
    388 
    389 # Is there a way to use a variable for the directory names?
    390 
    391 # put into lib for now
    392 cfa_cpplibdir = ${libdir}
    393 cfa_cpp_SOURCES = ${SRC}
    394 # need files Common/utility.h
    395 cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${srcdir}/Common
    396 all: $(BUILT_SOURCES)
    397         $(MAKE) $(AM_MAKEFLAGS) all-am
    398 
    399 .SUFFIXES:
    400 .SUFFIXES: .cc .ll .o .obj .yy
    401 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/ArgTweak/module.mk $(srcdir)/CodeGen/module.mk $(srcdir)/Common/module.mk $(srcdir)/ControlStruct/module.mk $(srcdir)/Designators/module.mk $(srcdir)/GenPoly/module.mk $(srcdir)/InitTweak/module.mk $(srcdir)/Parser/module.mk $(srcdir)/ResolvExpr/module.mk $(srcdir)/SymTab/module.mk $(srcdir)/SynTree/module.mk $(srcdir)/Tuples/module.mk $(am__configure_deps)
    402         @for dep in $?; do \
    403           case '$(am__configure_deps)' in \
    404             *$$dep*) \
    405               ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
    406                 && { if test -f $@; then exit 0; else break; fi; }; \
    407               exit 1;; \
    408           esac; \
    409         done; \
    410         echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
    411         $(am__cd) $(top_srcdir) && \
    412           $(AUTOMAKE) --gnu src/Makefile
    413 .PRECIOUS: Makefile
    414 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
    415         @case '$?' in \
    416           *config.status*) \
    417             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
    418           *) \
    419             echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
    420             cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
    421         esac;
    422 $(srcdir)/ArgTweak/module.mk $(srcdir)/CodeGen/module.mk $(srcdir)/Common/module.mk $(srcdir)/ControlStruct/module.mk $(srcdir)/Designators/module.mk $(srcdir)/GenPoly/module.mk $(srcdir)/InitTweak/module.mk $(srcdir)/Parser/module.mk $(srcdir)/ResolvExpr/module.mk $(srcdir)/SymTab/module.mk $(srcdir)/SynTree/module.mk $(srcdir)/Tuples/module.mk:
    423 
    424 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
    425         cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    426 
    427 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
    428         cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    429 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
    430         cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    431 $(am__aclocal_m4_deps):
    432 install-cfa_cpplibPROGRAMS: $(cfa_cpplib_PROGRAMS)
    433         @$(NORMAL_INSTALL)
    434         test -z "$(cfa_cpplibdir)" || $(MKDIR_P) "$(DESTDIR)$(cfa_cpplibdir)"
    435         @list='$(cfa_cpplib_PROGRAMS)'; test -n "$(cfa_cpplibdir)" || list=; \
    436         for p in $$list; do echo "$$p $$p"; done | \
    437         sed 's/$(EXEEXT)$$//' | \
    438         while read p p1; do if test -f $$p; \
    439           then echo "$$p"; echo "$$p"; else :; fi; \
    440         done | \
    441         sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
    442             -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
    443         sed 'N;N;N;s,\n, ,g' | \
    444         $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
    445           { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
    446             if ($$2 == $$4) files[d] = files[d] " " $$1; \
    447             else { print "f", $$3 "/" $$4, $$1; } } \
    448           END { for (d in files) print "f", d, files[d] }' | \
    449         while read type dir files; do \
    450             if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
    451             test -z "$$files" || { \
    452               echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cfa_cpplibdir)$$dir'"; \
    453               $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cfa_cpplibdir)$$dir" || exit $$?; \
    454             } \
    455         ; done
    456 
    457 uninstall-cfa_cpplibPROGRAMS:
    458         @$(NORMAL_UNINSTALL)
    459         @list='$(cfa_cpplib_PROGRAMS)'; test -n "$(cfa_cpplibdir)" || list=; \
    460         files=`for p in $$list; do echo "$$p"; done | \
    461           sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
    462               -e 's/$$/$(EXEEXT)/' `; \
    463         test -n "$$list" || exit 0; \
    464         echo " ( cd '$(DESTDIR)$(cfa_cpplibdir)' && rm -f" $$files ")"; \
    465         cd "$(DESTDIR)$(cfa_cpplibdir)" && rm -f $$files
    466 
    467 clean-cfa_cpplibPROGRAMS:
    468         -test -z "$(cfa_cpplib_PROGRAMS)" || rm -f $(cfa_cpplib_PROGRAMS)
    469 CodeGen/$(am__dirstamp):
    470         @$(MKDIR_P) CodeGen
    471         @: > CodeGen/$(am__dirstamp)
    472 CodeGen/$(DEPDIR)/$(am__dirstamp):
    473         @$(MKDIR_P) CodeGen/$(DEPDIR)
    474         @: > CodeGen/$(DEPDIR)/$(am__dirstamp)
    475 CodeGen/cfa_cpp-Generate.$(OBJEXT): CodeGen/$(am__dirstamp) \
    476         CodeGen/$(DEPDIR)/$(am__dirstamp)
    477 CodeGen/cfa_cpp-CodeGenerator.$(OBJEXT): CodeGen/$(am__dirstamp) \
    478         CodeGen/$(DEPDIR)/$(am__dirstamp)
    479 CodeGen/cfa_cpp-GenType.$(OBJEXT): CodeGen/$(am__dirstamp) \
    480         CodeGen/$(DEPDIR)/$(am__dirstamp)
    481 CodeGen/cfa_cpp-FixNames.$(OBJEXT): CodeGen/$(am__dirstamp) \
    482         CodeGen/$(DEPDIR)/$(am__dirstamp)
    483 CodeGen/cfa_cpp-OperatorTable.$(OBJEXT): CodeGen/$(am__dirstamp) \
    484         CodeGen/$(DEPDIR)/$(am__dirstamp)
    485 Common/$(am__dirstamp):
    486         @$(MKDIR_P) Common
    487         @: > Common/$(am__dirstamp)
    488 Common/$(DEPDIR)/$(am__dirstamp):
    489         @$(MKDIR_P) Common/$(DEPDIR)
    490         @: > Common/$(DEPDIR)/$(am__dirstamp)
    491 Common/cfa_cpp-SemanticError.$(OBJEXT): Common/$(am__dirstamp) \
    492         Common/$(DEPDIR)/$(am__dirstamp)
    493 Common/cfa_cpp-UniqueName.$(OBJEXT): Common/$(am__dirstamp) \
    494         Common/$(DEPDIR)/$(am__dirstamp)
    495 ControlStruct/$(am__dirstamp):
    496         @$(MKDIR_P) ControlStruct
    497         @: > ControlStruct/$(am__dirstamp)
    498 ControlStruct/$(DEPDIR)/$(am__dirstamp):
    499         @$(MKDIR_P) ControlStruct/$(DEPDIR)
    500         @: > ControlStruct/$(DEPDIR)/$(am__dirstamp)
    501 ControlStruct/cfa_cpp-LabelGenerator.$(OBJEXT):  \
    502         ControlStruct/$(am__dirstamp) \
    503         ControlStruct/$(DEPDIR)/$(am__dirstamp)
    504 ControlStruct/cfa_cpp-LabelFixer.$(OBJEXT):  \
    505         ControlStruct/$(am__dirstamp) \
    506         ControlStruct/$(DEPDIR)/$(am__dirstamp)
    507 ControlStruct/cfa_cpp-MLEMutator.$(OBJEXT):  \
    508         ControlStruct/$(am__dirstamp) \
    509         ControlStruct/$(DEPDIR)/$(am__dirstamp)
    510 ControlStruct/cfa_cpp-CaseRangeMutator.$(OBJEXT):  \
    511         ControlStruct/$(am__dirstamp) \
    512         ControlStruct/$(DEPDIR)/$(am__dirstamp)
    513 ControlStruct/cfa_cpp-Mutate.$(OBJEXT): ControlStruct/$(am__dirstamp) \
    514         ControlStruct/$(DEPDIR)/$(am__dirstamp)
    515 ControlStruct/cfa_cpp-ChooseMutator.$(OBJEXT):  \
    516         ControlStruct/$(am__dirstamp) \
    517         ControlStruct/$(DEPDIR)/$(am__dirstamp)
    518 ControlStruct/cfa_cpp-ForExprMutator.$(OBJEXT):  \
    519         ControlStruct/$(am__dirstamp) \
    520         ControlStruct/$(DEPDIR)/$(am__dirstamp)
    521 ControlStruct/cfa_cpp-LabelTypeChecker.$(OBJEXT):  \
    522         ControlStruct/$(am__dirstamp) \
    523         ControlStruct/$(DEPDIR)/$(am__dirstamp)
    524 Designators/$(am__dirstamp):
    525         @$(MKDIR_P) Designators
    526         @: > Designators/$(am__dirstamp)
    527 Designators/$(DEPDIR)/$(am__dirstamp):
    528         @$(MKDIR_P) Designators/$(DEPDIR)
    529         @: > Designators/$(DEPDIR)/$(am__dirstamp)
    530 Designators/cfa_cpp-Processor.$(OBJEXT): Designators/$(am__dirstamp) \
    531         Designators/$(DEPDIR)/$(am__dirstamp)
    532 GenPoly/$(am__dirstamp):
    533         @$(MKDIR_P) GenPoly
    534         @: > GenPoly/$(am__dirstamp)
    535 GenPoly/$(DEPDIR)/$(am__dirstamp):
    536         @$(MKDIR_P) GenPoly/$(DEPDIR)
    537         @: > GenPoly/$(DEPDIR)/$(am__dirstamp)
    538 GenPoly/cfa_cpp-Box.$(OBJEXT): GenPoly/$(am__dirstamp) \
    539         GenPoly/$(DEPDIR)/$(am__dirstamp)
    540 GenPoly/cfa_cpp-GenPoly.$(OBJEXT): GenPoly/$(am__dirstamp) \
    541         GenPoly/$(DEPDIR)/$(am__dirstamp)
    542 GenPoly/cfa_cpp-PolyMutator.$(OBJEXT): GenPoly/$(am__dirstamp) \
    543         GenPoly/$(DEPDIR)/$(am__dirstamp)
    544 GenPoly/cfa_cpp-ScrubTyVars.$(OBJEXT): GenPoly/$(am__dirstamp) \
    545         GenPoly/$(DEPDIR)/$(am__dirstamp)
    546 GenPoly/cfa_cpp-Lvalue.$(OBJEXT): GenPoly/$(am__dirstamp) \
    547         GenPoly/$(DEPDIR)/$(am__dirstamp)
    548 GenPoly/cfa_cpp-Specialize.$(OBJEXT): GenPoly/$(am__dirstamp) \
    549         GenPoly/$(DEPDIR)/$(am__dirstamp)
    550 GenPoly/cfa_cpp-CopyParams.$(OBJEXT): GenPoly/$(am__dirstamp) \
    551         GenPoly/$(DEPDIR)/$(am__dirstamp)
    552 GenPoly/cfa_cpp-FindFunction.$(OBJEXT): GenPoly/$(am__dirstamp) \
    553         GenPoly/$(DEPDIR)/$(am__dirstamp)
    554 InitTweak/$(am__dirstamp):
    555         @$(MKDIR_P) InitTweak
    556         @: > InitTweak/$(am__dirstamp)
    557 InitTweak/$(DEPDIR)/$(am__dirstamp):
    558         @$(MKDIR_P) InitTweak/$(DEPDIR)
    559         @: > InitTweak/$(DEPDIR)/$(am__dirstamp)
    560 InitTweak/cfa_cpp-InitModel.$(OBJEXT): InitTweak/$(am__dirstamp) \
    561         InitTweak/$(DEPDIR)/$(am__dirstamp)
    562 InitTweak/cfa_cpp-InitExpander.$(OBJEXT): InitTweak/$(am__dirstamp) \
    563         InitTweak/$(DEPDIR)/$(am__dirstamp)
    564 InitTweak/cfa_cpp-Mutate.$(OBJEXT): InitTweak/$(am__dirstamp) \
    565         InitTweak/$(DEPDIR)/$(am__dirstamp)
    566 InitTweak/cfa_cpp-Association.$(OBJEXT): InitTweak/$(am__dirstamp) \
    567         InitTweak/$(DEPDIR)/$(am__dirstamp)
    568 InitTweak/cfa_cpp-RemoveInit.$(OBJEXT): InitTweak/$(am__dirstamp) \
    569         InitTweak/$(DEPDIR)/$(am__dirstamp)
    570 Parser/parser.h: Parser/parser.cc
    571         @if test ! -f $@; then rm -f Parser/parser.cc; else :; fi
    572         @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) Parser/parser.cc; else :; fi
    573 Parser/$(am__dirstamp):
    574         @$(MKDIR_P) Parser
    575         @: > Parser/$(am__dirstamp)
    576 Parser/$(DEPDIR)/$(am__dirstamp):
    577         @$(MKDIR_P) Parser/$(DEPDIR)
    578         @: > Parser/$(DEPDIR)/$(am__dirstamp)
    579 Parser/cfa_cpp-parser.$(OBJEXT): Parser/$(am__dirstamp) \
    580         Parser/$(DEPDIR)/$(am__dirstamp)
    581 Parser/cfa_cpp-lex.$(OBJEXT): Parser/$(am__dirstamp) \
    582         Parser/$(DEPDIR)/$(am__dirstamp)
    583 Parser/cfa_cpp-TypedefTable.$(OBJEXT): Parser/$(am__dirstamp) \
    584         Parser/$(DEPDIR)/$(am__dirstamp)
    585 Parser/cfa_cpp-ParseNode.$(OBJEXT): Parser/$(am__dirstamp) \
    586         Parser/$(DEPDIR)/$(am__dirstamp)
    587 Parser/cfa_cpp-DeclarationNode.$(OBJEXT): Parser/$(am__dirstamp) \
    588         Parser/$(DEPDIR)/$(am__dirstamp)
    589 Parser/cfa_cpp-ExpressionNode.$(OBJEXT): Parser/$(am__dirstamp) \
    590         Parser/$(DEPDIR)/$(am__dirstamp)
    591 Parser/cfa_cpp-StatementNode.$(OBJEXT): Parser/$(am__dirstamp) \
    592         Parser/$(DEPDIR)/$(am__dirstamp)
    593 Parser/cfa_cpp-InitializerNode.$(OBJEXT): Parser/$(am__dirstamp) \
    594         Parser/$(DEPDIR)/$(am__dirstamp)
    595 Parser/cfa_cpp-TypeData.$(OBJEXT): Parser/$(am__dirstamp) \
    596         Parser/$(DEPDIR)/$(am__dirstamp)
    597 Parser/cfa_cpp-LinkageSpec.$(OBJEXT): Parser/$(am__dirstamp) \
    598         Parser/$(DEPDIR)/$(am__dirstamp)
    599 Parser/cfa_cpp-parseutility.$(OBJEXT): Parser/$(am__dirstamp) \
    600         Parser/$(DEPDIR)/$(am__dirstamp)
    601 Parser/cfa_cpp-Parser.$(OBJEXT): Parser/$(am__dirstamp) \
    602         Parser/$(DEPDIR)/$(am__dirstamp)
    603 ResolvExpr/$(am__dirstamp):
    604         @$(MKDIR_P) ResolvExpr
    605         @: > ResolvExpr/$(am__dirstamp)
    606 ResolvExpr/$(DEPDIR)/$(am__dirstamp):
    607         @$(MKDIR_P) ResolvExpr/$(DEPDIR)
    608         @: > ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    609 ResolvExpr/cfa_cpp-AlternativeFinder.$(OBJEXT):  \
    610         ResolvExpr/$(am__dirstamp) \
    611         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    612 ResolvExpr/cfa_cpp-Alternative.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    613         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    614 ResolvExpr/cfa_cpp-Unify.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    615         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    616 ResolvExpr/cfa_cpp-PtrsAssignable.$(OBJEXT):  \
    617         ResolvExpr/$(am__dirstamp) \
    618         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    619 ResolvExpr/cfa_cpp-CommonType.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    620         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    621 ResolvExpr/cfa_cpp-ConversionCost.$(OBJEXT):  \
    622         ResolvExpr/$(am__dirstamp) \
    623         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    624 ResolvExpr/cfa_cpp-CastCost.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    625         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    626 ResolvExpr/cfa_cpp-PtrsCastable.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    627         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    628 ResolvExpr/cfa_cpp-AdjustExprType.$(OBJEXT):  \
    629         ResolvExpr/$(am__dirstamp) \
    630         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    631 ResolvExpr/cfa_cpp-AlternativePrinter.$(OBJEXT):  \
    632         ResolvExpr/$(am__dirstamp) \
    633         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    634 ResolvExpr/cfa_cpp-Resolver.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    635         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    636 ResolvExpr/cfa_cpp-ResolveTypeof.$(OBJEXT):  \
    637         ResolvExpr/$(am__dirstamp) \
    638         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    639 ResolvExpr/cfa_cpp-RenameVars.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    640         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    641 ResolvExpr/cfa_cpp-FindOpenVars.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    642         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    643 ResolvExpr/cfa_cpp-PolyCost.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    644         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    645 ResolvExpr/cfa_cpp-Occurs.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
    646         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    647 ResolvExpr/cfa_cpp-TypeEnvironment.$(OBJEXT):  \
    648         ResolvExpr/$(am__dirstamp) \
    649         ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    650 SymTab/$(am__dirstamp):
    651         @$(MKDIR_P) SymTab
    652         @: > SymTab/$(am__dirstamp)
    653 SymTab/$(DEPDIR)/$(am__dirstamp):
    654         @$(MKDIR_P) SymTab/$(DEPDIR)
    655         @: > SymTab/$(DEPDIR)/$(am__dirstamp)
    656 SymTab/cfa_cpp-IdTable.$(OBJEXT): SymTab/$(am__dirstamp) \
    657         SymTab/$(DEPDIR)/$(am__dirstamp)
    658 SymTab/cfa_cpp-Indexer.$(OBJEXT): SymTab/$(am__dirstamp) \
    659         SymTab/$(DEPDIR)/$(am__dirstamp)
    660 SymTab/cfa_cpp-Mangler.$(OBJEXT): SymTab/$(am__dirstamp) \
    661         SymTab/$(DEPDIR)/$(am__dirstamp)
    662 SymTab/cfa_cpp-Validate.$(OBJEXT): SymTab/$(am__dirstamp) \
    663         SymTab/$(DEPDIR)/$(am__dirstamp)
    664 SymTab/cfa_cpp-FixFunction.$(OBJEXT): SymTab/$(am__dirstamp) \
    665         SymTab/$(DEPDIR)/$(am__dirstamp)
    666 SymTab/cfa_cpp-ImplementationType.$(OBJEXT): SymTab/$(am__dirstamp) \
    667         SymTab/$(DEPDIR)/$(am__dirstamp)
    668 SynTree/$(am__dirstamp):
    669         @$(MKDIR_P) SynTree
    670         @: > SynTree/$(am__dirstamp)
    671 SynTree/$(DEPDIR)/$(am__dirstamp):
    672         @$(MKDIR_P) SynTree/$(DEPDIR)
    673         @: > SynTree/$(DEPDIR)/$(am__dirstamp)
    674 SynTree/cfa_cpp-Type.$(OBJEXT): SynTree/$(am__dirstamp) \
    675         SynTree/$(DEPDIR)/$(am__dirstamp)
    676 SynTree/cfa_cpp-VoidType.$(OBJEXT): SynTree/$(am__dirstamp) \
    677         SynTree/$(DEPDIR)/$(am__dirstamp)
    678 SynTree/cfa_cpp-BasicType.$(OBJEXT): SynTree/$(am__dirstamp) \
    679         SynTree/$(DEPDIR)/$(am__dirstamp)
    680 SynTree/cfa_cpp-PointerType.$(OBJEXT): SynTree/$(am__dirstamp) \
    681         SynTree/$(DEPDIR)/$(am__dirstamp)
    682 SynTree/cfa_cpp-ArrayType.$(OBJEXT): SynTree/$(am__dirstamp) \
    683         SynTree/$(DEPDIR)/$(am__dirstamp)
    684 SynTree/cfa_cpp-FunctionType.$(OBJEXT): SynTree/$(am__dirstamp) \
    685         SynTree/$(DEPDIR)/$(am__dirstamp)
    686 SynTree/cfa_cpp-ReferenceToType.$(OBJEXT): SynTree/$(am__dirstamp) \
    687         SynTree/$(DEPDIR)/$(am__dirstamp)
    688 SynTree/cfa_cpp-TupleType.$(OBJEXT): SynTree/$(am__dirstamp) \
    689         SynTree/$(DEPDIR)/$(am__dirstamp)
    690 SynTree/cfa_cpp-TypeofType.$(OBJEXT): SynTree/$(am__dirstamp) \
    691         SynTree/$(DEPDIR)/$(am__dirstamp)
    692 SynTree/cfa_cpp-AttrType.$(OBJEXT): SynTree/$(am__dirstamp) \
    693         SynTree/$(DEPDIR)/$(am__dirstamp)
    694 SynTree/cfa_cpp-Constant.$(OBJEXT): SynTree/$(am__dirstamp) \
    695         SynTree/$(DEPDIR)/$(am__dirstamp)
    696 SynTree/cfa_cpp-Expression.$(OBJEXT): SynTree/$(am__dirstamp) \
    697         SynTree/$(DEPDIR)/$(am__dirstamp)
    698 SynTree/cfa_cpp-TupleExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
    699         SynTree/$(DEPDIR)/$(am__dirstamp)
    700 SynTree/cfa_cpp-CommaExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
    701         SynTree/$(DEPDIR)/$(am__dirstamp)
    702 SynTree/cfa_cpp-TypeExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
    703         SynTree/$(DEPDIR)/$(am__dirstamp)
    704 SynTree/cfa_cpp-ApplicationExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
    705         SynTree/$(DEPDIR)/$(am__dirstamp)
    706 SynTree/cfa_cpp-AddressExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
    707         SynTree/$(DEPDIR)/$(am__dirstamp)
    708 SynTree/cfa_cpp-Statement.$(OBJEXT): SynTree/$(am__dirstamp) \
    709         SynTree/$(DEPDIR)/$(am__dirstamp)
    710 SynTree/cfa_cpp-CompoundStmt.$(OBJEXT): SynTree/$(am__dirstamp) \
    711         SynTree/$(DEPDIR)/$(am__dirstamp)
    712 SynTree/cfa_cpp-DeclStmt.$(OBJEXT): SynTree/$(am__dirstamp) \
    713         SynTree/$(DEPDIR)/$(am__dirstamp)
    714 SynTree/cfa_cpp-Declaration.$(OBJEXT): SynTree/$(am__dirstamp) \
    715         SynTree/$(DEPDIR)/$(am__dirstamp)
    716 SynTree/cfa_cpp-DeclarationWithType.$(OBJEXT):  \
    717         SynTree/$(am__dirstamp) SynTree/$(DEPDIR)/$(am__dirstamp)
    718 SynTree/cfa_cpp-ObjectDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
    719         SynTree/$(DEPDIR)/$(am__dirstamp)
    720 SynTree/cfa_cpp-FunctionDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
    721         SynTree/$(DEPDIR)/$(am__dirstamp)
    722 SynTree/cfa_cpp-AggregateDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
    723         SynTree/$(DEPDIR)/$(am__dirstamp)
    724 SynTree/cfa_cpp-NamedTypeDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
    725         SynTree/$(DEPDIR)/$(am__dirstamp)
    726 SynTree/cfa_cpp-TypeDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
    727         SynTree/$(DEPDIR)/$(am__dirstamp)
    728 SynTree/cfa_cpp-Initializer.$(OBJEXT): SynTree/$(am__dirstamp) \
    729         SynTree/$(DEPDIR)/$(am__dirstamp)
    730 SynTree/cfa_cpp-Visitor.$(OBJEXT): SynTree/$(am__dirstamp) \
    731         SynTree/$(DEPDIR)/$(am__dirstamp)
    732 SynTree/cfa_cpp-Mutator.$(OBJEXT): SynTree/$(am__dirstamp) \
    733         SynTree/$(DEPDIR)/$(am__dirstamp)
    734 SynTree/cfa_cpp-CodeGenVisitor.$(OBJEXT): SynTree/$(am__dirstamp) \
    735         SynTree/$(DEPDIR)/$(am__dirstamp)
    736 SynTree/cfa_cpp-TypeSubstitution.$(OBJEXT): SynTree/$(am__dirstamp) \
    737         SynTree/$(DEPDIR)/$(am__dirstamp)
    738 Tuples/$(am__dirstamp):
    739         @$(MKDIR_P) Tuples
    740         @: > Tuples/$(am__dirstamp)
    741 Tuples/$(DEPDIR)/$(am__dirstamp):
    742         @$(MKDIR_P) Tuples/$(DEPDIR)
    743         @: > Tuples/$(DEPDIR)/$(am__dirstamp)
    744 Tuples/cfa_cpp-Mutate.$(OBJEXT): Tuples/$(am__dirstamp) \
    745         Tuples/$(DEPDIR)/$(am__dirstamp)
    746 Tuples/cfa_cpp-AssignExpand.$(OBJEXT): Tuples/$(am__dirstamp) \
    747         Tuples/$(DEPDIR)/$(am__dirstamp)
    748 Tuples/cfa_cpp-FunctionFixer.$(OBJEXT): Tuples/$(am__dirstamp) \
    749         Tuples/$(DEPDIR)/$(am__dirstamp)
    750 Tuples/cfa_cpp-TupleAssignment.$(OBJEXT): Tuples/$(am__dirstamp) \
    751         Tuples/$(DEPDIR)/$(am__dirstamp)
    752 Tuples/cfa_cpp-FunctionChecker.$(OBJEXT): Tuples/$(am__dirstamp) \
    753         Tuples/$(DEPDIR)/$(am__dirstamp)
    754 Tuples/cfa_cpp-NameMatcher.$(OBJEXT): Tuples/$(am__dirstamp) \
    755         Tuples/$(DEPDIR)/$(am__dirstamp)
    756 cfa-cpp$(EXEEXT): $(cfa_cpp_OBJECTS) $(cfa_cpp_DEPENDENCIES) $(EXTRA_cfa_cpp_DEPENDENCIES)
    757         @rm -f cfa-cpp$(EXEEXT)
    758         $(cfa_cpp_LINK) $(cfa_cpp_OBJECTS) $(cfa_cpp_LDADD) $(LIBS)
    759 
    760 mostlyclean-compile:
    761         -rm -f *.$(OBJEXT)
    762         -rm -f CodeGen/cfa_cpp-CodeGenerator.$(OBJEXT)
    763         -rm -f CodeGen/cfa_cpp-FixNames.$(OBJEXT)
    764         -rm -f CodeGen/cfa_cpp-GenType.$(OBJEXT)
    765         -rm -f CodeGen/cfa_cpp-Generate.$(OBJEXT)
    766         -rm -f CodeGen/cfa_cpp-OperatorTable.$(OBJEXT)
    767         -rm -f Common/cfa_cpp-SemanticError.$(OBJEXT)
    768         -rm -f Common/cfa_cpp-UniqueName.$(OBJEXT)
    769         -rm -f ControlStruct/cfa_cpp-CaseRangeMutator.$(OBJEXT)
    770         -rm -f ControlStruct/cfa_cpp-ChooseMutator.$(OBJEXT)
    771         -rm -f ControlStruct/cfa_cpp-ForExprMutator.$(OBJEXT)
    772         -rm -f ControlStruct/cfa_cpp-LabelFixer.$(OBJEXT)
    773         -rm -f ControlStruct/cfa_cpp-LabelGenerator.$(OBJEXT)
    774         -rm -f ControlStruct/cfa_cpp-LabelTypeChecker.$(OBJEXT)
    775         -rm -f ControlStruct/cfa_cpp-MLEMutator.$(OBJEXT)
    776         -rm -f ControlStruct/cfa_cpp-Mutate.$(OBJEXT)
    777         -rm -f Designators/cfa_cpp-Processor.$(OBJEXT)
    778         -rm -f GenPoly/cfa_cpp-Box.$(OBJEXT)
    779         -rm -f GenPoly/cfa_cpp-CopyParams.$(OBJEXT)
    780         -rm -f GenPoly/cfa_cpp-FindFunction.$(OBJEXT)
    781         -rm -f GenPoly/cfa_cpp-GenPoly.$(OBJEXT)
    782         -rm -f GenPoly/cfa_cpp-Lvalue.$(OBJEXT)
    783         -rm -f GenPoly/cfa_cpp-PolyMutator.$(OBJEXT)
    784         -rm -f GenPoly/cfa_cpp-ScrubTyVars.$(OBJEXT)
    785         -rm -f GenPoly/cfa_cpp-Specialize.$(OBJEXT)
    786         -rm -f InitTweak/cfa_cpp-Association.$(OBJEXT)
    787         -rm -f InitTweak/cfa_cpp-InitExpander.$(OBJEXT)
    788         -rm -f InitTweak/cfa_cpp-InitModel.$(OBJEXT)
    789         -rm -f InitTweak/cfa_cpp-Mutate.$(OBJEXT)
    790         -rm -f InitTweak/cfa_cpp-RemoveInit.$(OBJEXT)
    791         -rm -f Parser/cfa_cpp-DeclarationNode.$(OBJEXT)
    792         -rm -f Parser/cfa_cpp-ExpressionNode.$(OBJEXT)
    793         -rm -f Parser/cfa_cpp-InitializerNode.$(OBJEXT)
    794         -rm -f Parser/cfa_cpp-LinkageSpec.$(OBJEXT)
    795         -rm -f Parser/cfa_cpp-ParseNode.$(OBJEXT)
    796         -rm -f Parser/cfa_cpp-Parser.$(OBJEXT)
    797         -rm -f Parser/cfa_cpp-StatementNode.$(OBJEXT)
    798         -rm -f Parser/cfa_cpp-TypeData.$(OBJEXT)
    799         -rm -f Parser/cfa_cpp-TypedefTable.$(OBJEXT)
    800         -rm -f Parser/cfa_cpp-lex.$(OBJEXT)
    801         -rm -f Parser/cfa_cpp-parser.$(OBJEXT)
    802         -rm -f Parser/cfa_cpp-parseutility.$(OBJEXT)
    803         -rm -f ResolvExpr/cfa_cpp-AdjustExprType.$(OBJEXT)
    804         -rm -f ResolvExpr/cfa_cpp-Alternative.$(OBJEXT)
    805         -rm -f ResolvExpr/cfa_cpp-AlternativeFinder.$(OBJEXT)
    806         -rm -f ResolvExpr/cfa_cpp-AlternativePrinter.$(OBJEXT)
    807         -rm -f ResolvExpr/cfa_cpp-CastCost.$(OBJEXT)
    808         -rm -f ResolvExpr/cfa_cpp-CommonType.$(OBJEXT)
    809         -rm -f ResolvExpr/cfa_cpp-ConversionCost.$(OBJEXT)
    810         -rm -f ResolvExpr/cfa_cpp-FindOpenVars.$(OBJEXT)
    811         -rm -f ResolvExpr/cfa_cpp-Occurs.$(OBJEXT)
    812         -rm -f ResolvExpr/cfa_cpp-PolyCost.$(OBJEXT)
    813         -rm -f ResolvExpr/cfa_cpp-PtrsAssignable.$(OBJEXT)
    814         -rm -f ResolvExpr/cfa_cpp-PtrsCastable.$(OBJEXT)
    815         -rm -f ResolvExpr/cfa_cpp-RenameVars.$(OBJEXT)
    816         -rm -f ResolvExpr/cfa_cpp-ResolveTypeof.$(OBJEXT)
    817         -rm -f ResolvExpr/cfa_cpp-Resolver.$(OBJEXT)
    818         -rm -f ResolvExpr/cfa_cpp-TypeEnvironment.$(OBJEXT)
    819         -rm -f ResolvExpr/cfa_cpp-Unify.$(OBJEXT)
    820         -rm -f SymTab/cfa_cpp-FixFunction.$(OBJEXT)
    821         -rm -f SymTab/cfa_cpp-IdTable.$(OBJEXT)
    822         -rm -f SymTab/cfa_cpp-ImplementationType.$(OBJEXT)
    823         -rm -f SymTab/cfa_cpp-Indexer.$(OBJEXT)
    824         -rm -f SymTab/cfa_cpp-Mangler.$(OBJEXT)
    825         -rm -f SymTab/cfa_cpp-Validate.$(OBJEXT)
    826         -rm -f SynTree/cfa_cpp-AddressExpr.$(OBJEXT)
    827         -rm -f SynTree/cfa_cpp-AggregateDecl.$(OBJEXT)
    828         -rm -f SynTree/cfa_cpp-ApplicationExpr.$(OBJEXT)
    829         -rm -f SynTree/cfa_cpp-ArrayType.$(OBJEXT)
    830         -rm -f SynTree/cfa_cpp-AttrType.$(OBJEXT)
    831         -rm -f SynTree/cfa_cpp-BasicType.$(OBJEXT)
    832         -rm -f SynTree/cfa_cpp-CodeGenVisitor.$(OBJEXT)
    833         -rm -f SynTree/cfa_cpp-CommaExpr.$(OBJEXT)
    834         -rm -f SynTree/cfa_cpp-CompoundStmt.$(OBJEXT)
    835         -rm -f SynTree/cfa_cpp-Constant.$(OBJEXT)
    836         -rm -f SynTree/cfa_cpp-DeclStmt.$(OBJEXT)
    837         -rm -f SynTree/cfa_cpp-Declaration.$(OBJEXT)
    838         -rm -f SynTree/cfa_cpp-DeclarationWithType.$(OBJEXT)
    839         -rm -f SynTree/cfa_cpp-Expression.$(OBJEXT)
    840         -rm -f SynTree/cfa_cpp-FunctionDecl.$(OBJEXT)
    841         -rm -f SynTree/cfa_cpp-FunctionType.$(OBJEXT)
    842         -rm -f SynTree/cfa_cpp-Initializer.$(OBJEXT)
    843         -rm -f SynTree/cfa_cpp-Mutator.$(OBJEXT)
    844         -rm -f SynTree/cfa_cpp-NamedTypeDecl.$(OBJEXT)
    845         -rm -f SynTree/cfa_cpp-ObjectDecl.$(OBJEXT)
    846         -rm -f SynTree/cfa_cpp-PointerType.$(OBJEXT)
    847         -rm -f SynTree/cfa_cpp-ReferenceToType.$(OBJEXT)
    848         -rm -f SynTree/cfa_cpp-Statement.$(OBJEXT)
    849         -rm -f SynTree/cfa_cpp-TupleExpr.$(OBJEXT)
    850         -rm -f SynTree/cfa_cpp-TupleType.$(OBJEXT)
    851         -rm -f SynTree/cfa_cpp-Type.$(OBJEXT)
    852         -rm -f SynTree/cfa_cpp-TypeDecl.$(OBJEXT)
    853         -rm -f SynTree/cfa_cpp-TypeExpr.$(OBJEXT)
    854         -rm -f SynTree/cfa_cpp-TypeSubstitution.$(OBJEXT)
    855         -rm -f SynTree/cfa_cpp-TypeofType.$(OBJEXT)
    856         -rm -f SynTree/cfa_cpp-Visitor.$(OBJEXT)
    857         -rm -f SynTree/cfa_cpp-VoidType.$(OBJEXT)
    858         -rm -f Tuples/cfa_cpp-AssignExpand.$(OBJEXT)
    859         -rm -f Tuples/cfa_cpp-FunctionChecker.$(OBJEXT)
    860         -rm -f Tuples/cfa_cpp-FunctionFixer.$(OBJEXT)
    861         -rm -f Tuples/cfa_cpp-Mutate.$(OBJEXT)
    862         -rm -f Tuples/cfa_cpp-NameMatcher.$(OBJEXT)
    863         -rm -f Tuples/cfa_cpp-TupleAssignment.$(OBJEXT)
    864 
    865 distclean-compile:
    866         -rm -f *.tab.c
    867 
    868 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfa_cpp-MakeLibCfa.Po@am__quote@
    869 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfa_cpp-main.Po@am__quote@
    870 @AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Po@am__quote@
    871 @AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Po@am__quote@
    872 @AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-GenType.Po@am__quote@
    873 @AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-Generate.Po@am__quote@
    874 @AMDEP_TRUE@@am__include@ @am__quote@CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Po@am__quote@
    875 @AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/cfa_cpp-SemanticError.Po@am__quote@
    876 @AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/cfa_cpp-UniqueName.Po@am__quote@
    877 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Po@am__quote@
    878 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Po@am__quote@
    879 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Po@am__quote@
    880 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Po@am__quote@
    881 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Po@am__quote@
    882 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Po@am__quote@
    883 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Po@am__quote@
    884 @AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Po@am__quote@
    885 @AMDEP_TRUE@@am__include@ @am__quote@Designators/$(DEPDIR)/cfa_cpp-Processor.Po@am__quote@
    886 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-Box.Po@am__quote@
    887 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Po@am__quote@
    888 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Po@am__quote@
    889 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Po@am__quote@
    890 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Po@am__quote@
    891 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Po@am__quote@
    892 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Po@am__quote@
    893 @AMDEP_TRUE@@am__include@ @am__quote@GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Po@am__quote@
    894 @AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-Association.Po@am__quote@
    895 @AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Po@am__quote@
    896 @AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Po@am__quote@
    897 @AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Po@am__quote@
    898 @AMDEP_TRUE@@am__include@ @am__quote@InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Po@am__quote@
    899 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Po@am__quote@
    900 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Po@am__quote@
    901 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Po@am__quote@
    902 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Po@am__quote@
    903 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-ParseNode.Po@am__quote@
    904 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-Parser.Po@am__quote@
    905 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-StatementNode.Po@am__quote@
    906 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-TypeData.Po@am__quote@
    907 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Po@am__quote@
    908 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-lex.Po@am__quote@
    909 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-parser.Po@am__quote@
    910 @AMDEP_TRUE@@am__include@ @am__quote@Parser/$(DEPDIR)/cfa_cpp-parseutility.Po@am__quote@
    911 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Po@am__quote@
    912 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Po@am__quote@
    913 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Po@am__quote@
    914 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Po@am__quote@
    915 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Po@am__quote@
    916 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Po@am__quote@
    917 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Po@am__quote@
    918 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Po@am__quote@
    919 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Po@am__quote@
    920 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Po@am__quote@
    921 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Po@am__quote@
    922 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Po@am__quote@
    923 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Po@am__quote@
    924 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Po@am__quote@
    925 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Po@am__quote@
    926 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Po@am__quote@
    927 @AMDEP_TRUE@@am__include@ @am__quote@ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Po@am__quote@
    928 @AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Po@am__quote@
    929 @AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-IdTable.Po@am__quote@
    930 @AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Po@am__quote@
    931 @AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-Indexer.Po@am__quote@
    932 @AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-Mangler.Po@am__quote@
    933 @AMDEP_TRUE@@am__include@ @am__quote@SymTab/$(DEPDIR)/cfa_cpp-Validate.Po@am__quote@
    934 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Po@am__quote@
    935 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Po@am__quote@
    936 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Po@am__quote@
    937 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Po@am__quote@
    938 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-AttrType.Po@am__quote@
    939 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-BasicType.Po@am__quote@
    940 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Po@am__quote@
    941 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Po@am__quote@
    942 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Po@am__quote@
    943 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Constant.Po@am__quote@
    944 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Po@am__quote@
    945 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Declaration.Po@am__quote@
    946 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Po@am__quote@
    947 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Expression.Po@am__quote@
    948 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Po@am__quote@
    949 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Po@am__quote@
    950 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Initializer.Po@am__quote@
    951 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Mutator.Po@am__quote@
    952 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Po@am__quote@
    953 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Po@am__quote@
    954 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-PointerType.Po@am__quote@
    955 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Po@am__quote@
    956 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Statement.Po@am__quote@
    957 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Po@am__quote@
    958 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TupleType.Po@am__quote@
    959 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Type.Po@am__quote@
    960 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Po@am__quote@
    961 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Po@am__quote@
    962 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Po@am__quote@
    963 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Po@am__quote@
    964 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-Visitor.Po@am__quote@
    965 @AMDEP_TRUE@@am__include@ @am__quote@SynTree/$(DEPDIR)/cfa_cpp-VoidType.Po@am__quote@
    966 @AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Po@am__quote@
    967 @AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Po@am__quote@
    968 @AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Po@am__quote@
    969 @AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-Mutate.Po@am__quote@
    970 @AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Po@am__quote@
    971 @AMDEP_TRUE@@am__include@ @am__quote@Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Po@am__quote@
    972 
    973 .cc.o:
    974 @am__fastdepCXX_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
    975 @am__fastdepCXX_TRUE@   $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
    976 @am__fastdepCXX_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
    977 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
    978 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    979 @am__fastdepCXX_FALSE@  $(CXXCOMPILE) -c -o $@ $<
    980 
    981 .cc.obj:
    982 @am__fastdepCXX_TRUE@   depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
    983 @am__fastdepCXX_TRUE@   $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
    984 @am__fastdepCXX_TRUE@   $(am__mv) $$depbase.Tpo $$depbase.Po
    985 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
    986 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    987 @am__fastdepCXX_FALSE@  $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
    988 
    989 cfa_cpp-main.o: main.cc
    990 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT cfa_cpp-main.o -MD -MP -MF $(DEPDIR)/cfa_cpp-main.Tpo -c -o cfa_cpp-main.o `test -f 'main.cc' || echo '$(srcdir)/'`main.cc
    991 @am__fastdepCXX_TRUE@   $(am__mv) $(DEPDIR)/cfa_cpp-main.Tpo $(DEPDIR)/cfa_cpp-main.Po
    992 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='main.cc' object='cfa_cpp-main.o' libtool=no @AMDEPBACKSLASH@
    993 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    994 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o cfa_cpp-main.o `test -f 'main.cc' || echo '$(srcdir)/'`main.cc
    995 
    996 cfa_cpp-main.obj: main.cc
    997 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT cfa_cpp-main.obj -MD -MP -MF $(DEPDIR)/cfa_cpp-main.Tpo -c -o cfa_cpp-main.obj `if test -f 'main.cc'; then $(CYGPATH_W) 'main.cc'; else $(CYGPATH_W) '$(srcdir)/main.cc'; fi`
    998 @am__fastdepCXX_TRUE@   $(am__mv) $(DEPDIR)/cfa_cpp-main.Tpo $(DEPDIR)/cfa_cpp-main.Po
    999 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='main.cc' object='cfa_cpp-main.obj' libtool=no @AMDEPBACKSLASH@
    1000 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1001 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o cfa_cpp-main.obj `if test -f 'main.cc'; then $(CYGPATH_W) 'main.cc'; else $(CYGPATH_W) '$(srcdir)/main.cc'; fi`
    1002 
    1003 cfa_cpp-MakeLibCfa.o: MakeLibCfa.cc
    1004 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT cfa_cpp-MakeLibCfa.o -MD -MP -MF $(DEPDIR)/cfa_cpp-MakeLibCfa.Tpo -c -o cfa_cpp-MakeLibCfa.o `test -f 'MakeLibCfa.cc' || echo '$(srcdir)/'`MakeLibCfa.cc
    1005 @am__fastdepCXX_TRUE@   $(am__mv) $(DEPDIR)/cfa_cpp-MakeLibCfa.Tpo $(DEPDIR)/cfa_cpp-MakeLibCfa.Po
    1006 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='MakeLibCfa.cc' object='cfa_cpp-MakeLibCfa.o' libtool=no @AMDEPBACKSLASH@
    1007 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1008 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o cfa_cpp-MakeLibCfa.o `test -f 'MakeLibCfa.cc' || echo '$(srcdir)/'`MakeLibCfa.cc
    1009 
    1010 cfa_cpp-MakeLibCfa.obj: MakeLibCfa.cc
    1011 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT cfa_cpp-MakeLibCfa.obj -MD -MP -MF $(DEPDIR)/cfa_cpp-MakeLibCfa.Tpo -c -o cfa_cpp-MakeLibCfa.obj `if test -f 'MakeLibCfa.cc'; then $(CYGPATH_W) 'MakeLibCfa.cc'; else $(CYGPATH_W) '$(srcdir)/MakeLibCfa.cc'; fi`
    1012 @am__fastdepCXX_TRUE@   $(am__mv) $(DEPDIR)/cfa_cpp-MakeLibCfa.Tpo $(DEPDIR)/cfa_cpp-MakeLibCfa.Po
    1013 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='MakeLibCfa.cc' object='cfa_cpp-MakeLibCfa.obj' libtool=no @AMDEPBACKSLASH@
    1014 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1015 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o cfa_cpp-MakeLibCfa.obj `if test -f 'MakeLibCfa.cc'; then $(CYGPATH_W) 'MakeLibCfa.cc'; else $(CYGPATH_W) '$(srcdir)/MakeLibCfa.cc'; fi`
    1016 
    1017 CodeGen/cfa_cpp-Generate.o: CodeGen/Generate.cc
    1018 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-Generate.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-Generate.Tpo -c -o CodeGen/cfa_cpp-Generate.o `test -f 'CodeGen/Generate.cc' || echo '$(srcdir)/'`CodeGen/Generate.cc
    1019 @am__fastdepCXX_TRUE@   $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-Generate.Tpo CodeGen/$(DEPDIR)/cfa_cpp-Generate.Po
    1020 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='CodeGen/Generate.cc' object='CodeGen/cfa_cpp-Generate.o' libtool=no @AMDEPBACKSLASH@
    1021 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1022 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-Generate.o `test -f 'CodeGen/Generate.cc' || echo '$(srcdir)/'`CodeGen/Generate.cc
    1023 
    1024 CodeGen/cfa_cpp-Generate.obj: CodeGen/Generate.cc
    1025 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-Generate.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-Generate.Tpo -c -o CodeGen/cfa_cpp-Generate.obj `if test -f 'CodeGen/Generate.cc'; then $(CYGPATH_W) 'CodeGen/Generate.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/Generate.cc'; fi`
    1026 @am__fastdepCXX_TRUE@   $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-Generate.Tpo CodeGen/$(DEPDIR)/cfa_cpp-Generate.Po
    1027 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='CodeGen/Generate.cc' object='CodeGen/cfa_cpp-Generate.obj' libtool=no @AMDEPBACKSLASH@
    1028 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1029 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-Generate.obj `if test -f 'CodeGen/Generate.cc'; then $(CYGPATH_W) 'CodeGen/Generate.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/Generate.cc'; fi`
    1030 
    1031 CodeGen/cfa_cpp-CodeGenerator.o: CodeGen/CodeGenerator.cc
    1032 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-CodeGenerator.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Tpo -c -o CodeGen/cfa_cpp-CodeGenerator.o `test -f 'CodeGen/CodeGenerator.cc' || echo '$(srcdir)/'`CodeGen/CodeGenerator.cc
    1033 @am__fastdepCXX_TRUE@   $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Tpo CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Po
    1034 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='CodeGen/CodeGenerator.cc' object='CodeGen/cfa_cpp-CodeGenerator.o' libtool=no @AMDEPBACKSLASH@
    1035 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1036 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-CodeGenerator.o `test -f 'CodeGen/CodeGenerator.cc' || echo '$(srcdir)/'`CodeGen/CodeGenerator.cc
    1037 
    1038 CodeGen/cfa_cpp-CodeGenerator.obj: CodeGen/CodeGenerator.cc
    1039 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-CodeGenerator.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Tpo -c -o CodeGen/cfa_cpp-CodeGenerator.obj `if test -f 'CodeGen/CodeGenerator.cc'; then $(CYGPATH_W) 'CodeGen/CodeGenerator.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/CodeGenerator.cc'; fi`
    1040 @am__fastdepCXX_TRUE@   $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Tpo CodeGen/$(DEPDIR)/cfa_cpp-CodeGenerator.Po
    1041 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='CodeGen/CodeGenerator.cc' object='CodeGen/cfa_cpp-CodeGenerator.obj' libtool=no @AMDEPBACKSLASH@
    1042 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1043 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-CodeGenerator.obj `if test -f 'CodeGen/CodeGenerator.cc'; then $(CYGPATH_W) 'CodeGen/CodeGenerator.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/CodeGenerator.cc'; fi`
    1044 
    1045 CodeGen/cfa_cpp-GenType.o: CodeGen/GenType.cc
    1046 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-GenType.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-GenType.Tpo -c -o CodeGen/cfa_cpp-GenType.o `test -f 'CodeGen/GenType.cc' || echo '$(srcdir)/'`CodeGen/GenType.cc
    1047 @am__fastdepCXX_TRUE@   $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-GenType.Tpo CodeGen/$(DEPDIR)/cfa_cpp-GenType.Po
    1048 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='CodeGen/GenType.cc' object='CodeGen/cfa_cpp-GenType.o' libtool=no @AMDEPBACKSLASH@
    1049 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1050 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-GenType.o `test -f 'CodeGen/GenType.cc' || echo '$(srcdir)/'`CodeGen/GenType.cc
    1051 
    1052 CodeGen/cfa_cpp-GenType.obj: CodeGen/GenType.cc
    1053 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-GenType.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-GenType.Tpo -c -o CodeGen/cfa_cpp-GenType.obj `if test -f 'CodeGen/GenType.cc'; then $(CYGPATH_W) 'CodeGen/GenType.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/GenType.cc'; fi`
    1054 @am__fastdepCXX_TRUE@   $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-GenType.Tpo CodeGen/$(DEPDIR)/cfa_cpp-GenType.Po
    1055 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='CodeGen/GenType.cc' object='CodeGen/cfa_cpp-GenType.obj' libtool=no @AMDEPBACKSLASH@
    1056 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1057 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-GenType.obj `if test -f 'CodeGen/GenType.cc'; then $(CYGPATH_W) 'CodeGen/GenType.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/GenType.cc'; fi`
    1058 
    1059 CodeGen/cfa_cpp-FixNames.o: CodeGen/FixNames.cc
    1060 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-FixNames.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Tpo -c -o CodeGen/cfa_cpp-FixNames.o `test -f 'CodeGen/FixNames.cc' || echo '$(srcdir)/'`CodeGen/FixNames.cc
    1061 @am__fastdepCXX_TRUE@   $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Tpo CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Po
    1062 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='CodeGen/FixNames.cc' object='CodeGen/cfa_cpp-FixNames.o' libtool=no @AMDEPBACKSLASH@
    1063 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1064 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-FixNames.o `test -f 'CodeGen/FixNames.cc' || echo '$(srcdir)/'`CodeGen/FixNames.cc
    1065 
    1066 CodeGen/cfa_cpp-FixNames.obj: CodeGen/FixNames.cc
    1067 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-FixNames.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Tpo -c -o CodeGen/cfa_cpp-FixNames.obj `if test -f 'CodeGen/FixNames.cc'; then $(CYGPATH_W) 'CodeGen/FixNames.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/FixNames.cc'; fi`
    1068 @am__fastdepCXX_TRUE@   $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Tpo CodeGen/$(DEPDIR)/cfa_cpp-FixNames.Po
    1069 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='CodeGen/FixNames.cc' object='CodeGen/cfa_cpp-FixNames.obj' libtool=no @AMDEPBACKSLASH@
    1070 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1071 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-FixNames.obj `if test -f 'CodeGen/FixNames.cc'; then $(CYGPATH_W) 'CodeGen/FixNames.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/FixNames.cc'; fi`
    1072 
    1073 CodeGen/cfa_cpp-OperatorTable.o: CodeGen/OperatorTable.cc
    1074 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-OperatorTable.o -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Tpo -c -o CodeGen/cfa_cpp-OperatorTable.o `test -f 'CodeGen/OperatorTable.cc' || echo '$(srcdir)/'`CodeGen/OperatorTable.cc
    1075 @am__fastdepCXX_TRUE@   $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Tpo CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Po
    1076 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='CodeGen/OperatorTable.cc' object='CodeGen/cfa_cpp-OperatorTable.o' libtool=no @AMDEPBACKSLASH@
    1077 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1078 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-OperatorTable.o `test -f 'CodeGen/OperatorTable.cc' || echo '$(srcdir)/'`CodeGen/OperatorTable.cc
    1079 
    1080 CodeGen/cfa_cpp-OperatorTable.obj: CodeGen/OperatorTable.cc
    1081 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT CodeGen/cfa_cpp-OperatorTable.obj -MD -MP -MF CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Tpo -c -o CodeGen/cfa_cpp-OperatorTable.obj `if test -f 'CodeGen/OperatorTable.cc'; then $(CYGPATH_W) 'CodeGen/OperatorTable.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/OperatorTable.cc'; fi`
    1082 @am__fastdepCXX_TRUE@   $(am__mv) CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Tpo CodeGen/$(DEPDIR)/cfa_cpp-OperatorTable.Po
    1083 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='CodeGen/OperatorTable.cc' object='CodeGen/cfa_cpp-OperatorTable.obj' libtool=no @AMDEPBACKSLASH@
    1084 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1085 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o CodeGen/cfa_cpp-OperatorTable.obj `if test -f 'CodeGen/OperatorTable.cc'; then $(CYGPATH_W) 'CodeGen/OperatorTable.cc'; else $(CYGPATH_W) '$(srcdir)/CodeGen/OperatorTable.cc'; fi`
    1086 
    1087 Common/cfa_cpp-SemanticError.o: Common/SemanticError.cc
    1088 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/cfa_cpp-SemanticError.o -MD -MP -MF Common/$(DEPDIR)/cfa_cpp-SemanticError.Tpo -c -o Common/cfa_cpp-SemanticError.o `test -f 'Common/SemanticError.cc' || echo '$(srcdir)/'`Common/SemanticError.cc
    1089 @am__fastdepCXX_TRUE@   $(am__mv) Common/$(DEPDIR)/cfa_cpp-SemanticError.Tpo Common/$(DEPDIR)/cfa_cpp-SemanticError.Po
    1090 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Common/SemanticError.cc' object='Common/cfa_cpp-SemanticError.o' libtool=no @AMDEPBACKSLASH@
    1091 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1092 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/cfa_cpp-SemanticError.o `test -f 'Common/SemanticError.cc' || echo '$(srcdir)/'`Common/SemanticError.cc
    1093 
    1094 Common/cfa_cpp-SemanticError.obj: Common/SemanticError.cc
    1095 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/cfa_cpp-SemanticError.obj -MD -MP -MF Common/$(DEPDIR)/cfa_cpp-SemanticError.Tpo -c -o Common/cfa_cpp-SemanticError.obj `if test -f 'Common/SemanticError.cc'; then $(CYGPATH_W) 'Common/SemanticError.cc'; else $(CYGPATH_W) '$(srcdir)/Common/SemanticError.cc'; fi`
    1096 @am__fastdepCXX_TRUE@   $(am__mv) Common/$(DEPDIR)/cfa_cpp-SemanticError.Tpo Common/$(DEPDIR)/cfa_cpp-SemanticError.Po
    1097 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Common/SemanticError.cc' object='Common/cfa_cpp-SemanticError.obj' libtool=no @AMDEPBACKSLASH@
    1098 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1099 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/cfa_cpp-SemanticError.obj `if test -f 'Common/SemanticError.cc'; then $(CYGPATH_W) 'Common/SemanticError.cc'; else $(CYGPATH_W) '$(srcdir)/Common/SemanticError.cc'; fi`
    1100 
    1101 Common/cfa_cpp-UniqueName.o: Common/UniqueName.cc
    1102 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/cfa_cpp-UniqueName.o -MD -MP -MF Common/$(DEPDIR)/cfa_cpp-UniqueName.Tpo -c -o Common/cfa_cpp-UniqueName.o `test -f 'Common/UniqueName.cc' || echo '$(srcdir)/'`Common/UniqueName.cc
    1103 @am__fastdepCXX_TRUE@   $(am__mv) Common/$(DEPDIR)/cfa_cpp-UniqueName.Tpo Common/$(DEPDIR)/cfa_cpp-UniqueName.Po
    1104 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Common/UniqueName.cc' object='Common/cfa_cpp-UniqueName.o' libtool=no @AMDEPBACKSLASH@
    1105 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1106 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/cfa_cpp-UniqueName.o `test -f 'Common/UniqueName.cc' || echo '$(srcdir)/'`Common/UniqueName.cc
    1107 
    1108 Common/cfa_cpp-UniqueName.obj: Common/UniqueName.cc
    1109 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/cfa_cpp-UniqueName.obj -MD -MP -MF Common/$(DEPDIR)/cfa_cpp-UniqueName.Tpo -c -o Common/cfa_cpp-UniqueName.obj `if test -f 'Common/UniqueName.cc'; then $(CYGPATH_W) 'Common/UniqueName.cc'; else $(CYGPATH_W) '$(srcdir)/Common/UniqueName.cc'; fi`
    1110 @am__fastdepCXX_TRUE@   $(am__mv) Common/$(DEPDIR)/cfa_cpp-UniqueName.Tpo Common/$(DEPDIR)/cfa_cpp-UniqueName.Po
    1111 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Common/UniqueName.cc' object='Common/cfa_cpp-UniqueName.obj' libtool=no @AMDEPBACKSLASH@
    1112 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1113 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Common/cfa_cpp-UniqueName.obj `if test -f 'Common/UniqueName.cc'; then $(CYGPATH_W) 'Common/UniqueName.cc'; else $(CYGPATH_W) '$(srcdir)/Common/UniqueName.cc'; fi`
    1114 
    1115 ControlStruct/cfa_cpp-LabelGenerator.o: ControlStruct/LabelGenerator.cc
    1116 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelGenerator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Tpo -c -o ControlStruct/cfa_cpp-LabelGenerator.o `test -f 'ControlStruct/LabelGenerator.cc' || echo '$(srcdir)/'`ControlStruct/LabelGenerator.cc
    1117 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Po
    1118 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/LabelGenerator.cc' object='ControlStruct/cfa_cpp-LabelGenerator.o' libtool=no @AMDEPBACKSLASH@
    1119 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1120 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelGenerator.o `test -f 'ControlStruct/LabelGenerator.cc' || echo '$(srcdir)/'`ControlStruct/LabelGenerator.cc
    1121 
    1122 ControlStruct/cfa_cpp-LabelGenerator.obj: ControlStruct/LabelGenerator.cc
    1123 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelGenerator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Tpo -c -o ControlStruct/cfa_cpp-LabelGenerator.obj `if test -f 'ControlStruct/LabelGenerator.cc'; then $(CYGPATH_W) 'ControlStruct/LabelGenerator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelGenerator.cc'; fi`
    1124 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelGenerator.Po
    1125 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/LabelGenerator.cc' object='ControlStruct/cfa_cpp-LabelGenerator.obj' libtool=no @AMDEPBACKSLASH@
    1126 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1127 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelGenerator.obj `if test -f 'ControlStruct/LabelGenerator.cc'; then $(CYGPATH_W) 'ControlStruct/LabelGenerator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelGenerator.cc'; fi`
    1128 
    1129 ControlStruct/cfa_cpp-LabelFixer.o: ControlStruct/LabelFixer.cc
    1130 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelFixer.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Tpo -c -o ControlStruct/cfa_cpp-LabelFixer.o `test -f 'ControlStruct/LabelFixer.cc' || echo '$(srcdir)/'`ControlStruct/LabelFixer.cc
    1131 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Po
    1132 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/LabelFixer.cc' object='ControlStruct/cfa_cpp-LabelFixer.o' libtool=no @AMDEPBACKSLASH@
    1133 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1134 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelFixer.o `test -f 'ControlStruct/LabelFixer.cc' || echo '$(srcdir)/'`ControlStruct/LabelFixer.cc
    1135 
    1136 ControlStruct/cfa_cpp-LabelFixer.obj: ControlStruct/LabelFixer.cc
    1137 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelFixer.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Tpo -c -o ControlStruct/cfa_cpp-LabelFixer.obj `if test -f 'ControlStruct/LabelFixer.cc'; then $(CYGPATH_W) 'ControlStruct/LabelFixer.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelFixer.cc'; fi`
    1138 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelFixer.Po
    1139 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/LabelFixer.cc' object='ControlStruct/cfa_cpp-LabelFixer.obj' libtool=no @AMDEPBACKSLASH@
    1140 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1141 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelFixer.obj `if test -f 'ControlStruct/LabelFixer.cc'; then $(CYGPATH_W) 'ControlStruct/LabelFixer.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelFixer.cc'; fi`
    1142 
    1143 ControlStruct/cfa_cpp-MLEMutator.o: ControlStruct/MLEMutator.cc
    1144 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-MLEMutator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Tpo -c -o ControlStruct/cfa_cpp-MLEMutator.o `test -f 'ControlStruct/MLEMutator.cc' || echo '$(srcdir)/'`ControlStruct/MLEMutator.cc
    1145 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Po
    1146 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/MLEMutator.cc' object='ControlStruct/cfa_cpp-MLEMutator.o' libtool=no @AMDEPBACKSLASH@
    1147 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1148 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-MLEMutator.o `test -f 'ControlStruct/MLEMutator.cc' || echo '$(srcdir)/'`ControlStruct/MLEMutator.cc
    1149 
    1150 ControlStruct/cfa_cpp-MLEMutator.obj: ControlStruct/MLEMutator.cc
    1151 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-MLEMutator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Tpo -c -o ControlStruct/cfa_cpp-MLEMutator.obj `if test -f 'ControlStruct/MLEMutator.cc'; then $(CYGPATH_W) 'ControlStruct/MLEMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/MLEMutator.cc'; fi`
    1152 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-MLEMutator.Po
    1153 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/MLEMutator.cc' object='ControlStruct/cfa_cpp-MLEMutator.obj' libtool=no @AMDEPBACKSLASH@
    1154 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1155 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-MLEMutator.obj `if test -f 'ControlStruct/MLEMutator.cc'; then $(CYGPATH_W) 'ControlStruct/MLEMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/MLEMutator.cc'; fi`
    1156 
    1157 ControlStruct/cfa_cpp-CaseRangeMutator.o: ControlStruct/CaseRangeMutator.cc
    1158 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-CaseRangeMutator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Tpo -c -o ControlStruct/cfa_cpp-CaseRangeMutator.o `test -f 'ControlStruct/CaseRangeMutator.cc' || echo '$(srcdir)/'`ControlStruct/CaseRangeMutator.cc
    1159 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Po
    1160 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/CaseRangeMutator.cc' object='ControlStruct/cfa_cpp-CaseRangeMutator.o' libtool=no @AMDEPBACKSLASH@
    1161 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1162 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-CaseRangeMutator.o `test -f 'ControlStruct/CaseRangeMutator.cc' || echo '$(srcdir)/'`ControlStruct/CaseRangeMutator.cc
    1163 
    1164 ControlStruct/cfa_cpp-CaseRangeMutator.obj: ControlStruct/CaseRangeMutator.cc
    1165 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-CaseRangeMutator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Tpo -c -o ControlStruct/cfa_cpp-CaseRangeMutator.obj `if test -f 'ControlStruct/CaseRangeMutator.cc'; then $(CYGPATH_W) 'ControlStruct/CaseRangeMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/CaseRangeMutator.cc'; fi`
    1166 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-CaseRangeMutator.Po
    1167 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/CaseRangeMutator.cc' object='ControlStruct/cfa_cpp-CaseRangeMutator.obj' libtool=no @AMDEPBACKSLASH@
    1168 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1169 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-CaseRangeMutator.obj `if test -f 'ControlStruct/CaseRangeMutator.cc'; then $(CYGPATH_W) 'ControlStruct/CaseRangeMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/CaseRangeMutator.cc'; fi`
    1170 
    1171 ControlStruct/cfa_cpp-Mutate.o: ControlStruct/Mutate.cc
    1172 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-Mutate.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o ControlStruct/cfa_cpp-Mutate.o `test -f 'ControlStruct/Mutate.cc' || echo '$(srcdir)/'`ControlStruct/Mutate.cc
    1173 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Po
    1174 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/Mutate.cc' object='ControlStruct/cfa_cpp-Mutate.o' libtool=no @AMDEPBACKSLASH@
    1175 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1176 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-Mutate.o `test -f 'ControlStruct/Mutate.cc' || echo '$(srcdir)/'`ControlStruct/Mutate.cc
    1177 
    1178 ControlStruct/cfa_cpp-Mutate.obj: ControlStruct/Mutate.cc
    1179 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-Mutate.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o ControlStruct/cfa_cpp-Mutate.obj `if test -f 'ControlStruct/Mutate.cc'; then $(CYGPATH_W) 'ControlStruct/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/Mutate.cc'; fi`
    1180 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-Mutate.Po
    1181 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/Mutate.cc' object='ControlStruct/cfa_cpp-Mutate.obj' libtool=no @AMDEPBACKSLASH@
    1182 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1183 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-Mutate.obj `if test -f 'ControlStruct/Mutate.cc'; then $(CYGPATH_W) 'ControlStruct/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/Mutate.cc'; fi`
    1184 
    1185 ControlStruct/cfa_cpp-ChooseMutator.o: ControlStruct/ChooseMutator.cc
    1186 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-ChooseMutator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Tpo -c -o ControlStruct/cfa_cpp-ChooseMutator.o `test -f 'ControlStruct/ChooseMutator.cc' || echo '$(srcdir)/'`ControlStruct/ChooseMutator.cc
    1187 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Po
    1188 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/ChooseMutator.cc' object='ControlStruct/cfa_cpp-ChooseMutator.o' libtool=no @AMDEPBACKSLASH@
    1189 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1190 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-ChooseMutator.o `test -f 'ControlStruct/ChooseMutator.cc' || echo '$(srcdir)/'`ControlStruct/ChooseMutator.cc
    1191 
    1192 ControlStruct/cfa_cpp-ChooseMutator.obj: ControlStruct/ChooseMutator.cc
    1193 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-ChooseMutator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Tpo -c -o ControlStruct/cfa_cpp-ChooseMutator.obj `if test -f 'ControlStruct/ChooseMutator.cc'; then $(CYGPATH_W) 'ControlStruct/ChooseMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/ChooseMutator.cc'; fi`
    1194 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-ChooseMutator.Po
    1195 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/ChooseMutator.cc' object='ControlStruct/cfa_cpp-ChooseMutator.obj' libtool=no @AMDEPBACKSLASH@
    1196 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1197 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-ChooseMutator.obj `if test -f 'ControlStruct/ChooseMutator.cc'; then $(CYGPATH_W) 'ControlStruct/ChooseMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/ChooseMutator.cc'; fi`
    1198 
    1199 ControlStruct/cfa_cpp-ForExprMutator.o: ControlStruct/ForExprMutator.cc
    1200 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-ForExprMutator.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Tpo -c -o ControlStruct/cfa_cpp-ForExprMutator.o `test -f 'ControlStruct/ForExprMutator.cc' || echo '$(srcdir)/'`ControlStruct/ForExprMutator.cc
    1201 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Po
    1202 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/ForExprMutator.cc' object='ControlStruct/cfa_cpp-ForExprMutator.o' libtool=no @AMDEPBACKSLASH@
    1203 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1204 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-ForExprMutator.o `test -f 'ControlStruct/ForExprMutator.cc' || echo '$(srcdir)/'`ControlStruct/ForExprMutator.cc
    1205 
    1206 ControlStruct/cfa_cpp-ForExprMutator.obj: ControlStruct/ForExprMutator.cc
    1207 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-ForExprMutator.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Tpo -c -o ControlStruct/cfa_cpp-ForExprMutator.obj `if test -f 'ControlStruct/ForExprMutator.cc'; then $(CYGPATH_W) 'ControlStruct/ForExprMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/ForExprMutator.cc'; fi`
    1208 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-ForExprMutator.Po
    1209 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/ForExprMutator.cc' object='ControlStruct/cfa_cpp-ForExprMutator.obj' libtool=no @AMDEPBACKSLASH@
    1210 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1211 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-ForExprMutator.obj `if test -f 'ControlStruct/ForExprMutator.cc'; then $(CYGPATH_W) 'ControlStruct/ForExprMutator.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/ForExprMutator.cc'; fi`
    1212 
    1213 ControlStruct/cfa_cpp-LabelTypeChecker.o: ControlStruct/LabelTypeChecker.cc
    1214 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelTypeChecker.o -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Tpo -c -o ControlStruct/cfa_cpp-LabelTypeChecker.o `test -f 'ControlStruct/LabelTypeChecker.cc' || echo '$(srcdir)/'`ControlStruct/LabelTypeChecker.cc
    1215 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Po
    1216 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/LabelTypeChecker.cc' object='ControlStruct/cfa_cpp-LabelTypeChecker.o' libtool=no @AMDEPBACKSLASH@
    1217 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1218 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelTypeChecker.o `test -f 'ControlStruct/LabelTypeChecker.cc' || echo '$(srcdir)/'`ControlStruct/LabelTypeChecker.cc
    1219 
    1220 ControlStruct/cfa_cpp-LabelTypeChecker.obj: ControlStruct/LabelTypeChecker.cc
    1221 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ControlStruct/cfa_cpp-LabelTypeChecker.obj -MD -MP -MF ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Tpo -c -o ControlStruct/cfa_cpp-LabelTypeChecker.obj `if test -f 'ControlStruct/LabelTypeChecker.cc'; then $(CYGPATH_W) 'ControlStruct/LabelTypeChecker.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelTypeChecker.cc'; fi`
    1222 @am__fastdepCXX_TRUE@   $(am__mv) ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Tpo ControlStruct/$(DEPDIR)/cfa_cpp-LabelTypeChecker.Po
    1223 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ControlStruct/LabelTypeChecker.cc' object='ControlStruct/cfa_cpp-LabelTypeChecker.obj' libtool=no @AMDEPBACKSLASH@
    1224 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1225 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ControlStruct/cfa_cpp-LabelTypeChecker.obj `if test -f 'ControlStruct/LabelTypeChecker.cc'; then $(CYGPATH_W) 'ControlStruct/LabelTypeChecker.cc'; else $(CYGPATH_W) '$(srcdir)/ControlStruct/LabelTypeChecker.cc'; fi`
    1226 
    1227 Designators/cfa_cpp-Processor.o: Designators/Processor.cc
    1228 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Designators/cfa_cpp-Processor.o -MD -MP -MF Designators/$(DEPDIR)/cfa_cpp-Processor.Tpo -c -o Designators/cfa_cpp-Processor.o `test -f 'Designators/Processor.cc' || echo '$(srcdir)/'`Designators/Processor.cc
    1229 @am__fastdepCXX_TRUE@   $(am__mv) Designators/$(DEPDIR)/cfa_cpp-Processor.Tpo Designators/$(DEPDIR)/cfa_cpp-Processor.Po
    1230 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Designators/Processor.cc' object='Designators/cfa_cpp-Processor.o' libtool=no @AMDEPBACKSLASH@
    1231 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1232 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Designators/cfa_cpp-Processor.o `test -f 'Designators/Processor.cc' || echo '$(srcdir)/'`Designators/Processor.cc
    1233 
    1234 Designators/cfa_cpp-Processor.obj: Designators/Processor.cc
    1235 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Designators/cfa_cpp-Processor.obj -MD -MP -MF Designators/$(DEPDIR)/cfa_cpp-Processor.Tpo -c -o Designators/cfa_cpp-Processor.obj `if test -f 'Designators/Processor.cc'; then $(CYGPATH_W) 'Designators/Processor.cc'; else $(CYGPATH_W) '$(srcdir)/Designators/Processor.cc'; fi`
    1236 @am__fastdepCXX_TRUE@   $(am__mv) Designators/$(DEPDIR)/cfa_cpp-Processor.Tpo Designators/$(DEPDIR)/cfa_cpp-Processor.Po
    1237 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Designators/Processor.cc' object='Designators/cfa_cpp-Processor.obj' libtool=no @AMDEPBACKSLASH@
    1238 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1239 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Designators/cfa_cpp-Processor.obj `if test -f 'Designators/Processor.cc'; then $(CYGPATH_W) 'Designators/Processor.cc'; else $(CYGPATH_W) '$(srcdir)/Designators/Processor.cc'; fi`
    1240 
    1241 GenPoly/cfa_cpp-Box.o: GenPoly/Box.cc
    1242 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Box.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Box.Tpo -c -o GenPoly/cfa_cpp-Box.o `test -f 'GenPoly/Box.cc' || echo '$(srcdir)/'`GenPoly/Box.cc
    1243 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Box.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Box.Po
    1244 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/Box.cc' object='GenPoly/cfa_cpp-Box.o' libtool=no @AMDEPBACKSLASH@
    1245 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1246 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Box.o `test -f 'GenPoly/Box.cc' || echo '$(srcdir)/'`GenPoly/Box.cc
    1247 
    1248 GenPoly/cfa_cpp-Box.obj: GenPoly/Box.cc
    1249 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Box.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Box.Tpo -c -o GenPoly/cfa_cpp-Box.obj `if test -f 'GenPoly/Box.cc'; then $(CYGPATH_W) 'GenPoly/Box.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Box.cc'; fi`
    1250 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Box.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Box.Po
    1251 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/Box.cc' object='GenPoly/cfa_cpp-Box.obj' libtool=no @AMDEPBACKSLASH@
    1252 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1253 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Box.obj `if test -f 'GenPoly/Box.cc'; then $(CYGPATH_W) 'GenPoly/Box.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Box.cc'; fi`
    1254 
    1255 GenPoly/cfa_cpp-GenPoly.o: GenPoly/GenPoly.cc
    1256 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-GenPoly.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Tpo -c -o GenPoly/cfa_cpp-GenPoly.o `test -f 'GenPoly/GenPoly.cc' || echo '$(srcdir)/'`GenPoly/GenPoly.cc
    1257 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Tpo GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Po
    1258 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/GenPoly.cc' object='GenPoly/cfa_cpp-GenPoly.o' libtool=no @AMDEPBACKSLASH@
    1259 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1260 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-GenPoly.o `test -f 'GenPoly/GenPoly.cc' || echo '$(srcdir)/'`GenPoly/GenPoly.cc
    1261 
    1262 GenPoly/cfa_cpp-GenPoly.obj: GenPoly/GenPoly.cc
    1263 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-GenPoly.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Tpo -c -o GenPoly/cfa_cpp-GenPoly.obj `if test -f 'GenPoly/GenPoly.cc'; then $(CYGPATH_W) 'GenPoly/GenPoly.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/GenPoly.cc'; fi`
    1264 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Tpo GenPoly/$(DEPDIR)/cfa_cpp-GenPoly.Po
    1265 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/GenPoly.cc' object='GenPoly/cfa_cpp-GenPoly.obj' libtool=no @AMDEPBACKSLASH@
    1266 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1267 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-GenPoly.obj `if test -f 'GenPoly/GenPoly.cc'; then $(CYGPATH_W) 'GenPoly/GenPoly.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/GenPoly.cc'; fi`
    1268 
    1269 GenPoly/cfa_cpp-PolyMutator.o: GenPoly/PolyMutator.cc
    1270 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-PolyMutator.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Tpo -c -o GenPoly/cfa_cpp-PolyMutator.o `test -f 'GenPoly/PolyMutator.cc' || echo '$(srcdir)/'`GenPoly/PolyMutator.cc
    1271 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Tpo GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Po
    1272 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/PolyMutator.cc' object='GenPoly/cfa_cpp-PolyMutator.o' libtool=no @AMDEPBACKSLASH@
    1273 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1274 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-PolyMutator.o `test -f 'GenPoly/PolyMutator.cc' || echo '$(srcdir)/'`GenPoly/PolyMutator.cc
    1275 
    1276 GenPoly/cfa_cpp-PolyMutator.obj: GenPoly/PolyMutator.cc
    1277 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-PolyMutator.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Tpo -c -o GenPoly/cfa_cpp-PolyMutator.obj `if test -f 'GenPoly/PolyMutator.cc'; then $(CYGPATH_W) 'GenPoly/PolyMutator.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/PolyMutator.cc'; fi`
    1278 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Tpo GenPoly/$(DEPDIR)/cfa_cpp-PolyMutator.Po
    1279 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/PolyMutator.cc' object='GenPoly/cfa_cpp-PolyMutator.obj' libtool=no @AMDEPBACKSLASH@
    1280 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1281 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-PolyMutator.obj `if test -f 'GenPoly/PolyMutator.cc'; then $(CYGPATH_W) 'GenPoly/PolyMutator.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/PolyMutator.cc'; fi`
    1282 
    1283 GenPoly/cfa_cpp-ScrubTyVars.o: GenPoly/ScrubTyVars.cc
    1284 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-ScrubTyVars.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Tpo -c -o GenPoly/cfa_cpp-ScrubTyVars.o `test -f 'GenPoly/ScrubTyVars.cc' || echo '$(srcdir)/'`GenPoly/ScrubTyVars.cc
    1285 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Tpo GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Po
    1286 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/ScrubTyVars.cc' object='GenPoly/cfa_cpp-ScrubTyVars.o' libtool=no @AMDEPBACKSLASH@
    1287 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1288 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-ScrubTyVars.o `test -f 'GenPoly/ScrubTyVars.cc' || echo '$(srcdir)/'`GenPoly/ScrubTyVars.cc
    1289 
    1290 GenPoly/cfa_cpp-ScrubTyVars.obj: GenPoly/ScrubTyVars.cc
    1291 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-ScrubTyVars.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Tpo -c -o GenPoly/cfa_cpp-ScrubTyVars.obj `if test -f 'GenPoly/ScrubTyVars.cc'; then $(CYGPATH_W) 'GenPoly/ScrubTyVars.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/ScrubTyVars.cc'; fi`
    1292 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Tpo GenPoly/$(DEPDIR)/cfa_cpp-ScrubTyVars.Po
    1293 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/ScrubTyVars.cc' object='GenPoly/cfa_cpp-ScrubTyVars.obj' libtool=no @AMDEPBACKSLASH@
    1294 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1295 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-ScrubTyVars.obj `if test -f 'GenPoly/ScrubTyVars.cc'; then $(CYGPATH_W) 'GenPoly/ScrubTyVars.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/ScrubTyVars.cc'; fi`
    1296 
    1297 GenPoly/cfa_cpp-Lvalue.o: GenPoly/Lvalue.cc
    1298 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Lvalue.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Tpo -c -o GenPoly/cfa_cpp-Lvalue.o `test -f 'GenPoly/Lvalue.cc' || echo '$(srcdir)/'`GenPoly/Lvalue.cc
    1299 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Po
    1300 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/Lvalue.cc' object='GenPoly/cfa_cpp-Lvalue.o' libtool=no @AMDEPBACKSLASH@
    1301 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1302 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Lvalue.o `test -f 'GenPoly/Lvalue.cc' || echo '$(srcdir)/'`GenPoly/Lvalue.cc
    1303 
    1304 GenPoly/cfa_cpp-Lvalue.obj: GenPoly/Lvalue.cc
    1305 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Lvalue.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Tpo -c -o GenPoly/cfa_cpp-Lvalue.obj `if test -f 'GenPoly/Lvalue.cc'; then $(CYGPATH_W) 'GenPoly/Lvalue.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Lvalue.cc'; fi`
    1306 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Lvalue.Po
    1307 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/Lvalue.cc' object='GenPoly/cfa_cpp-Lvalue.obj' libtool=no @AMDEPBACKSLASH@
    1308 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1309 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Lvalue.obj `if test -f 'GenPoly/Lvalue.cc'; then $(CYGPATH_W) 'GenPoly/Lvalue.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Lvalue.cc'; fi`
    1310 
    1311 GenPoly/cfa_cpp-Specialize.o: GenPoly/Specialize.cc
    1312 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Specialize.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Tpo -c -o GenPoly/cfa_cpp-Specialize.o `test -f 'GenPoly/Specialize.cc' || echo '$(srcdir)/'`GenPoly/Specialize.cc
    1313 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Po
    1314 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/Specialize.cc' object='GenPoly/cfa_cpp-Specialize.o' libtool=no @AMDEPBACKSLASH@
    1315 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1316 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Specialize.o `test -f 'GenPoly/Specialize.cc' || echo '$(srcdir)/'`GenPoly/Specialize.cc
    1317 
    1318 GenPoly/cfa_cpp-Specialize.obj: GenPoly/Specialize.cc
    1319 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-Specialize.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Tpo -c -o GenPoly/cfa_cpp-Specialize.obj `if test -f 'GenPoly/Specialize.cc'; then $(CYGPATH_W) 'GenPoly/Specialize.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Specialize.cc'; fi`
    1320 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Tpo GenPoly/$(DEPDIR)/cfa_cpp-Specialize.Po
    1321 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/Specialize.cc' object='GenPoly/cfa_cpp-Specialize.obj' libtool=no @AMDEPBACKSLASH@
    1322 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1323 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-Specialize.obj `if test -f 'GenPoly/Specialize.cc'; then $(CYGPATH_W) 'GenPoly/Specialize.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/Specialize.cc'; fi`
    1324 
    1325 GenPoly/cfa_cpp-CopyParams.o: GenPoly/CopyParams.cc
    1326 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-CopyParams.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Tpo -c -o GenPoly/cfa_cpp-CopyParams.o `test -f 'GenPoly/CopyParams.cc' || echo '$(srcdir)/'`GenPoly/CopyParams.cc
    1327 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Tpo GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Po
    1328 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/CopyParams.cc' object='GenPoly/cfa_cpp-CopyParams.o' libtool=no @AMDEPBACKSLASH@
    1329 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1330 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-CopyParams.o `test -f 'GenPoly/CopyParams.cc' || echo '$(srcdir)/'`GenPoly/CopyParams.cc
    1331 
    1332 GenPoly/cfa_cpp-CopyParams.obj: GenPoly/CopyParams.cc
    1333 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-CopyParams.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Tpo -c -o GenPoly/cfa_cpp-CopyParams.obj `if test -f 'GenPoly/CopyParams.cc'; then $(CYGPATH_W) 'GenPoly/CopyParams.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/CopyParams.cc'; fi`
    1334 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Tpo GenPoly/$(DEPDIR)/cfa_cpp-CopyParams.Po
    1335 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/CopyParams.cc' object='GenPoly/cfa_cpp-CopyParams.obj' libtool=no @AMDEPBACKSLASH@
    1336 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1337 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-CopyParams.obj `if test -f 'GenPoly/CopyParams.cc'; then $(CYGPATH_W) 'GenPoly/CopyParams.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/CopyParams.cc'; fi`
    1338 
    1339 GenPoly/cfa_cpp-FindFunction.o: GenPoly/FindFunction.cc
    1340 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-FindFunction.o -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Tpo -c -o GenPoly/cfa_cpp-FindFunction.o `test -f 'GenPoly/FindFunction.cc' || echo '$(srcdir)/'`GenPoly/FindFunction.cc
    1341 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Tpo GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Po
    1342 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/FindFunction.cc' object='GenPoly/cfa_cpp-FindFunction.o' libtool=no @AMDEPBACKSLASH@
    1343 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1344 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-FindFunction.o `test -f 'GenPoly/FindFunction.cc' || echo '$(srcdir)/'`GenPoly/FindFunction.cc
    1345 
    1346 GenPoly/cfa_cpp-FindFunction.obj: GenPoly/FindFunction.cc
    1347 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT GenPoly/cfa_cpp-FindFunction.obj -MD -MP -MF GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Tpo -c -o GenPoly/cfa_cpp-FindFunction.obj `if test -f 'GenPoly/FindFunction.cc'; then $(CYGPATH_W) 'GenPoly/FindFunction.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/FindFunction.cc'; fi`
    1348 @am__fastdepCXX_TRUE@   $(am__mv) GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Tpo GenPoly/$(DEPDIR)/cfa_cpp-FindFunction.Po
    1349 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='GenPoly/FindFunction.cc' object='GenPoly/cfa_cpp-FindFunction.obj' libtool=no @AMDEPBACKSLASH@
    1350 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1351 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o GenPoly/cfa_cpp-FindFunction.obj `if test -f 'GenPoly/FindFunction.cc'; then $(CYGPATH_W) 'GenPoly/FindFunction.cc'; else $(CYGPATH_W) '$(srcdir)/GenPoly/FindFunction.cc'; fi`
    1352 
    1353 InitTweak/cfa_cpp-InitModel.o: InitTweak/InitModel.cc
    1354 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-InitModel.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Tpo -c -o InitTweak/cfa_cpp-InitModel.o `test -f 'InitTweak/InitModel.cc' || echo '$(srcdir)/'`InitTweak/InitModel.cc
    1355 @am__fastdepCXX_TRUE@   $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Tpo InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Po
    1356 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='InitTweak/InitModel.cc' object='InitTweak/cfa_cpp-InitModel.o' libtool=no @AMDEPBACKSLASH@
    1357 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1358 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-InitModel.o `test -f 'InitTweak/InitModel.cc' || echo '$(srcdir)/'`InitTweak/InitModel.cc
    1359 
    1360 InitTweak/cfa_cpp-InitModel.obj: InitTweak/InitModel.cc
    1361 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-InitModel.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Tpo -c -o InitTweak/cfa_cpp-InitModel.obj `if test -f 'InitTweak/InitModel.cc'; then $(CYGPATH_W) 'InitTweak/InitModel.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/InitModel.cc'; fi`
    1362 @am__fastdepCXX_TRUE@   $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Tpo InitTweak/$(DEPDIR)/cfa_cpp-InitModel.Po
    1363 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='InitTweak/InitModel.cc' object='InitTweak/cfa_cpp-InitModel.obj' libtool=no @AMDEPBACKSLASH@
    1364 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1365 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-InitModel.obj `if test -f 'InitTweak/InitModel.cc'; then $(CYGPATH_W) 'InitTweak/InitModel.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/InitModel.cc'; fi`
    1366 
    1367 InitTweak/cfa_cpp-InitExpander.o: InitTweak/InitExpander.cc
    1368 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-InitExpander.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Tpo -c -o InitTweak/cfa_cpp-InitExpander.o `test -f 'InitTweak/InitExpander.cc' || echo '$(srcdir)/'`InitTweak/InitExpander.cc
    1369 @am__fastdepCXX_TRUE@   $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Tpo InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Po
    1370 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='InitTweak/InitExpander.cc' object='InitTweak/cfa_cpp-InitExpander.o' libtool=no @AMDEPBACKSLASH@
    1371 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1372 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-InitExpander.o `test -f 'InitTweak/InitExpander.cc' || echo '$(srcdir)/'`InitTweak/InitExpander.cc
    1373 
    1374 InitTweak/cfa_cpp-InitExpander.obj: InitTweak/InitExpander.cc
    1375 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-InitExpander.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Tpo -c -o InitTweak/cfa_cpp-InitExpander.obj `if test -f 'InitTweak/InitExpander.cc'; then $(CYGPATH_W) 'InitTweak/InitExpander.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/InitExpander.cc'; fi`
    1376 @am__fastdepCXX_TRUE@   $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Tpo InitTweak/$(DEPDIR)/cfa_cpp-InitExpander.Po
    1377 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='InitTweak/InitExpander.cc' object='InitTweak/cfa_cpp-InitExpander.obj' libtool=no @AMDEPBACKSLASH@
    1378 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1379 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-InitExpander.obj `if test -f 'InitTweak/InitExpander.cc'; then $(CYGPATH_W) 'InitTweak/InitExpander.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/InitExpander.cc'; fi`
    1380 
    1381 InitTweak/cfa_cpp-Mutate.o: InitTweak/Mutate.cc
    1382 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-Mutate.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o InitTweak/cfa_cpp-Mutate.o `test -f 'InitTweak/Mutate.cc' || echo '$(srcdir)/'`InitTweak/Mutate.cc
    1383 @am__fastdepCXX_TRUE@   $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Tpo InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Po
    1384 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='InitTweak/Mutate.cc' object='InitTweak/cfa_cpp-Mutate.o' libtool=no @AMDEPBACKSLASH@
    1385 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1386 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-Mutate.o `test -f 'InitTweak/Mutate.cc' || echo '$(srcdir)/'`InitTweak/Mutate.cc
    1387 
    1388 InitTweak/cfa_cpp-Mutate.obj: InitTweak/Mutate.cc
    1389 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-Mutate.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o InitTweak/cfa_cpp-Mutate.obj `if test -f 'InitTweak/Mutate.cc'; then $(CYGPATH_W) 'InitTweak/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/Mutate.cc'; fi`
    1390 @am__fastdepCXX_TRUE@   $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Tpo InitTweak/$(DEPDIR)/cfa_cpp-Mutate.Po
    1391 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='InitTweak/Mutate.cc' object='InitTweak/cfa_cpp-Mutate.obj' libtool=no @AMDEPBACKSLASH@
    1392 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1393 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-Mutate.obj `if test -f 'InitTweak/Mutate.cc'; then $(CYGPATH_W) 'InitTweak/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/Mutate.cc'; fi`
    1394 
    1395 InitTweak/cfa_cpp-Association.o: InitTweak/Association.cc
    1396 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-Association.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-Association.Tpo -c -o InitTweak/cfa_cpp-Association.o `test -f 'InitTweak/Association.cc' || echo '$(srcdir)/'`InitTweak/Association.cc
    1397 @am__fastdepCXX_TRUE@   $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-Association.Tpo InitTweak/$(DEPDIR)/cfa_cpp-Association.Po
    1398 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='InitTweak/Association.cc' object='InitTweak/cfa_cpp-Association.o' libtool=no @AMDEPBACKSLASH@
    1399 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1400 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-Association.o `test -f 'InitTweak/Association.cc' || echo '$(srcdir)/'`InitTweak/Association.cc
    1401 
    1402 InitTweak/cfa_cpp-Association.obj: InitTweak/Association.cc
    1403 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-Association.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-Association.Tpo -c -o InitTweak/cfa_cpp-Association.obj `if test -f 'InitTweak/Association.cc'; then $(CYGPATH_W) 'InitTweak/Association.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/Association.cc'; fi`
    1404 @am__fastdepCXX_TRUE@   $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-Association.Tpo InitTweak/$(DEPDIR)/cfa_cpp-Association.Po
    1405 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='InitTweak/Association.cc' object='InitTweak/cfa_cpp-Association.obj' libtool=no @AMDEPBACKSLASH@
    1406 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1407 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-Association.obj `if test -f 'InitTweak/Association.cc'; then $(CYGPATH_W) 'InitTweak/Association.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/Association.cc'; fi`
    1408 
    1409 InitTweak/cfa_cpp-RemoveInit.o: InitTweak/RemoveInit.cc
    1410 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-RemoveInit.o -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Tpo -c -o InitTweak/cfa_cpp-RemoveInit.o `test -f 'InitTweak/RemoveInit.cc' || echo '$(srcdir)/'`InitTweak/RemoveInit.cc
    1411 @am__fastdepCXX_TRUE@   $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Tpo InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Po
    1412 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='InitTweak/RemoveInit.cc' object='InitTweak/cfa_cpp-RemoveInit.o' libtool=no @AMDEPBACKSLASH@
    1413 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1414 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-RemoveInit.o `test -f 'InitTweak/RemoveInit.cc' || echo '$(srcdir)/'`InitTweak/RemoveInit.cc
    1415 
    1416 InitTweak/cfa_cpp-RemoveInit.obj: InitTweak/RemoveInit.cc
    1417 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT InitTweak/cfa_cpp-RemoveInit.obj -MD -MP -MF InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Tpo -c -o InitTweak/cfa_cpp-RemoveInit.obj `if test -f 'InitTweak/RemoveInit.cc'; then $(CYGPATH_W) 'InitTweak/RemoveInit.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/RemoveInit.cc'; fi`
    1418 @am__fastdepCXX_TRUE@   $(am__mv) InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Tpo InitTweak/$(DEPDIR)/cfa_cpp-RemoveInit.Po
    1419 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='InitTweak/RemoveInit.cc' object='InitTweak/cfa_cpp-RemoveInit.obj' libtool=no @AMDEPBACKSLASH@
    1420 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1421 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o InitTweak/cfa_cpp-RemoveInit.obj `if test -f 'InitTweak/RemoveInit.cc'; then $(CYGPATH_W) 'InitTweak/RemoveInit.cc'; else $(CYGPATH_W) '$(srcdir)/InitTweak/RemoveInit.cc'; fi`
    1422 
    1423 Parser/cfa_cpp-parser.o: Parser/parser.cc
    1424 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-parser.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-parser.Tpo -c -o Parser/cfa_cpp-parser.o `test -f 'Parser/parser.cc' || echo '$(srcdir)/'`Parser/parser.cc
    1425 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-parser.Tpo Parser/$(DEPDIR)/cfa_cpp-parser.Po
    1426 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/parser.cc' object='Parser/cfa_cpp-parser.o' libtool=no @AMDEPBACKSLASH@
    1427 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1428 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-parser.o `test -f 'Parser/parser.cc' || echo '$(srcdir)/'`Parser/parser.cc
    1429 
    1430 Parser/cfa_cpp-parser.obj: Parser/parser.cc
    1431 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-parser.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-parser.Tpo -c -o Parser/cfa_cpp-parser.obj `if test -f 'Parser/parser.cc'; then $(CYGPATH_W) 'Parser/parser.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/parser.cc'; fi`
    1432 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-parser.Tpo Parser/$(DEPDIR)/cfa_cpp-parser.Po
    1433 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/parser.cc' object='Parser/cfa_cpp-parser.obj' libtool=no @AMDEPBACKSLASH@
    1434 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1435 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-parser.obj `if test -f 'Parser/parser.cc'; then $(CYGPATH_W) 'Parser/parser.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/parser.cc'; fi`
    1436 
    1437 Parser/cfa_cpp-lex.o: Parser/lex.cc
    1438 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-lex.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-lex.Tpo -c -o Parser/cfa_cpp-lex.o `test -f 'Parser/lex.cc' || echo '$(srcdir)/'`Parser/lex.cc
    1439 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-lex.Tpo Parser/$(DEPDIR)/cfa_cpp-lex.Po
    1440 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/lex.cc' object='Parser/cfa_cpp-lex.o' libtool=no @AMDEPBACKSLASH@
    1441 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1442 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-lex.o `test -f 'Parser/lex.cc' || echo '$(srcdir)/'`Parser/lex.cc
    1443 
    1444 Parser/cfa_cpp-lex.obj: Parser/lex.cc
    1445 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-lex.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-lex.Tpo -c -o Parser/cfa_cpp-lex.obj `if test -f 'Parser/lex.cc'; then $(CYGPATH_W) 'Parser/lex.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/lex.cc'; fi`
    1446 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-lex.Tpo Parser/$(DEPDIR)/cfa_cpp-lex.Po
    1447 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/lex.cc' object='Parser/cfa_cpp-lex.obj' libtool=no @AMDEPBACKSLASH@
    1448 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1449 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-lex.obj `if test -f 'Parser/lex.cc'; then $(CYGPATH_W) 'Parser/lex.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/lex.cc'; fi`
    1450 
    1451 Parser/cfa_cpp-TypedefTable.o: Parser/TypedefTable.cc
    1452 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-TypedefTable.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Tpo -c -o Parser/cfa_cpp-TypedefTable.o `test -f 'Parser/TypedefTable.cc' || echo '$(srcdir)/'`Parser/TypedefTable.cc
    1453 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Tpo Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Po
    1454 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/TypedefTable.cc' object='Parser/cfa_cpp-TypedefTable.o' libtool=no @AMDEPBACKSLASH@
    1455 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1456 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-TypedefTable.o `test -f 'Parser/TypedefTable.cc' || echo '$(srcdir)/'`Parser/TypedefTable.cc
    1457 
    1458 Parser/cfa_cpp-TypedefTable.obj: Parser/TypedefTable.cc
    1459 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-TypedefTable.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Tpo -c -o Parser/cfa_cpp-TypedefTable.obj `if test -f 'Parser/TypedefTable.cc'; then $(CYGPATH_W) 'Parser/TypedefTable.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/TypedefTable.cc'; fi`
    1460 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Tpo Parser/$(DEPDIR)/cfa_cpp-TypedefTable.Po
    1461 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/TypedefTable.cc' object='Parser/cfa_cpp-TypedefTable.obj' libtool=no @AMDEPBACKSLASH@
    1462 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1463 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-TypedefTable.obj `if test -f 'Parser/TypedefTable.cc'; then $(CYGPATH_W) 'Parser/TypedefTable.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/TypedefTable.cc'; fi`
    1464 
    1465 Parser/cfa_cpp-ParseNode.o: Parser/ParseNode.cc
    1466 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-ParseNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-ParseNode.Tpo -c -o Parser/cfa_cpp-ParseNode.o `test -f 'Parser/ParseNode.cc' || echo '$(srcdir)/'`Parser/ParseNode.cc
    1467 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-ParseNode.Tpo Parser/$(DEPDIR)/cfa_cpp-ParseNode.Po
    1468 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/ParseNode.cc' object='Parser/cfa_cpp-ParseNode.o' libtool=no @AMDEPBACKSLASH@
    1469 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1470 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-ParseNode.o `test -f 'Parser/ParseNode.cc' || echo '$(srcdir)/'`Parser/ParseNode.cc
    1471 
    1472 Parser/cfa_cpp-ParseNode.obj: Parser/ParseNode.cc
    1473 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-ParseNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-ParseNode.Tpo -c -o Parser/cfa_cpp-ParseNode.obj `if test -f 'Parser/ParseNode.cc'; then $(CYGPATH_W) 'Parser/ParseNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/ParseNode.cc'; fi`
    1474 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-ParseNode.Tpo Parser/$(DEPDIR)/cfa_cpp-ParseNode.Po
    1475 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/ParseNode.cc' object='Parser/cfa_cpp-ParseNode.obj' libtool=no @AMDEPBACKSLASH@
    1476 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1477 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-ParseNode.obj `if test -f 'Parser/ParseNode.cc'; then $(CYGPATH_W) 'Parser/ParseNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/ParseNode.cc'; fi`
    1478 
    1479 Parser/cfa_cpp-DeclarationNode.o: Parser/DeclarationNode.cc
    1480 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-DeclarationNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Tpo -c -o Parser/cfa_cpp-DeclarationNode.o `test -f 'Parser/DeclarationNode.cc' || echo '$(srcdir)/'`Parser/DeclarationNode.cc
    1481 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Tpo Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Po
    1482 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/DeclarationNode.cc' object='Parser/cfa_cpp-DeclarationNode.o' libtool=no @AMDEPBACKSLASH@
    1483 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1484 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-DeclarationNode.o `test -f 'Parser/DeclarationNode.cc' || echo '$(srcdir)/'`Parser/DeclarationNode.cc
    1485 
    1486 Parser/cfa_cpp-DeclarationNode.obj: Parser/DeclarationNode.cc
    1487 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-DeclarationNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Tpo -c -o Parser/cfa_cpp-DeclarationNode.obj `if test -f 'Parser/DeclarationNode.cc'; then $(CYGPATH_W) 'Parser/DeclarationNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/DeclarationNode.cc'; fi`
    1488 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Tpo Parser/$(DEPDIR)/cfa_cpp-DeclarationNode.Po
    1489 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/DeclarationNode.cc' object='Parser/cfa_cpp-DeclarationNode.obj' libtool=no @AMDEPBACKSLASH@
    1490 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1491 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-DeclarationNode.obj `if test -f 'Parser/DeclarationNode.cc'; then $(CYGPATH_W) 'Parser/DeclarationNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/DeclarationNode.cc'; fi`
    1492 
    1493 Parser/cfa_cpp-ExpressionNode.o: Parser/ExpressionNode.cc
    1494 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-ExpressionNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Tpo -c -o Parser/cfa_cpp-ExpressionNode.o `test -f 'Parser/ExpressionNode.cc' || echo '$(srcdir)/'`Parser/ExpressionNode.cc
    1495 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Tpo Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Po
    1496 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/ExpressionNode.cc' object='Parser/cfa_cpp-ExpressionNode.o' libtool=no @AMDEPBACKSLASH@
    1497 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1498 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-ExpressionNode.o `test -f 'Parser/ExpressionNode.cc' || echo '$(srcdir)/'`Parser/ExpressionNode.cc
    1499 
    1500 Parser/cfa_cpp-ExpressionNode.obj: Parser/ExpressionNode.cc
    1501 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-ExpressionNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Tpo -c -o Parser/cfa_cpp-ExpressionNode.obj `if test -f 'Parser/ExpressionNode.cc'; then $(CYGPATH_W) 'Parser/ExpressionNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/ExpressionNode.cc'; fi`
    1502 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Tpo Parser/$(DEPDIR)/cfa_cpp-ExpressionNode.Po
    1503 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/ExpressionNode.cc' object='Parser/cfa_cpp-ExpressionNode.obj' libtool=no @AMDEPBACKSLASH@
    1504 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1505 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-ExpressionNode.obj `if test -f 'Parser/ExpressionNode.cc'; then $(CYGPATH_W) 'Parser/ExpressionNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/ExpressionNode.cc'; fi`
    1506 
    1507 Parser/cfa_cpp-StatementNode.o: Parser/StatementNode.cc
    1508 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-StatementNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-StatementNode.Tpo -c -o Parser/cfa_cpp-StatementNode.o `test -f 'Parser/StatementNode.cc' || echo '$(srcdir)/'`Parser/StatementNode.cc
    1509 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-StatementNode.Tpo Parser/$(DEPDIR)/cfa_cpp-StatementNode.Po
    1510 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/StatementNode.cc' object='Parser/cfa_cpp-StatementNode.o' libtool=no @AMDEPBACKSLASH@
    1511 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1512 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-StatementNode.o `test -f 'Parser/StatementNode.cc' || echo '$(srcdir)/'`Parser/StatementNode.cc
    1513 
    1514 Parser/cfa_cpp-StatementNode.obj: Parser/StatementNode.cc
    1515 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-StatementNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-StatementNode.Tpo -c -o Parser/cfa_cpp-StatementNode.obj `if test -f 'Parser/StatementNode.cc'; then $(CYGPATH_W) 'Parser/StatementNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/StatementNode.cc'; fi`
    1516 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-StatementNode.Tpo Parser/$(DEPDIR)/cfa_cpp-StatementNode.Po
    1517 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/StatementNode.cc' object='Parser/cfa_cpp-StatementNode.obj' libtool=no @AMDEPBACKSLASH@
    1518 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1519 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-StatementNode.obj `if test -f 'Parser/StatementNode.cc'; then $(CYGPATH_W) 'Parser/StatementNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/StatementNode.cc'; fi`
    1520 
    1521 Parser/cfa_cpp-InitializerNode.o: Parser/InitializerNode.cc
    1522 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-InitializerNode.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Tpo -c -o Parser/cfa_cpp-InitializerNode.o `test -f 'Parser/InitializerNode.cc' || echo '$(srcdir)/'`Parser/InitializerNode.cc
    1523 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Tpo Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Po
    1524 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/InitializerNode.cc' object='Parser/cfa_cpp-InitializerNode.o' libtool=no @AMDEPBACKSLASH@
    1525 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1526 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-InitializerNode.o `test -f 'Parser/InitializerNode.cc' || echo '$(srcdir)/'`Parser/InitializerNode.cc
    1527 
    1528 Parser/cfa_cpp-InitializerNode.obj: Parser/InitializerNode.cc
    1529 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-InitializerNode.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Tpo -c -o Parser/cfa_cpp-InitializerNode.obj `if test -f 'Parser/InitializerNode.cc'; then $(CYGPATH_W) 'Parser/InitializerNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/InitializerNode.cc'; fi`
    1530 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Tpo Parser/$(DEPDIR)/cfa_cpp-InitializerNode.Po
    1531 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/InitializerNode.cc' object='Parser/cfa_cpp-InitializerNode.obj' libtool=no @AMDEPBACKSLASH@
    1532 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1533 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-InitializerNode.obj `if test -f 'Parser/InitializerNode.cc'; then $(CYGPATH_W) 'Parser/InitializerNode.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/InitializerNode.cc'; fi`
    1534 
    1535 Parser/cfa_cpp-TypeData.o: Parser/TypeData.cc
    1536 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-TypeData.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-TypeData.Tpo -c -o Parser/cfa_cpp-TypeData.o `test -f 'Parser/TypeData.cc' || echo '$(srcdir)/'`Parser/TypeData.cc
    1537 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-TypeData.Tpo Parser/$(DEPDIR)/cfa_cpp-TypeData.Po
    1538 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/TypeData.cc' object='Parser/cfa_cpp-TypeData.o' libtool=no @AMDEPBACKSLASH@
    1539 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1540 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-TypeData.o `test -f 'Parser/TypeData.cc' || echo '$(srcdir)/'`Parser/TypeData.cc
    1541 
    1542 Parser/cfa_cpp-TypeData.obj: Parser/TypeData.cc
    1543 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-TypeData.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-TypeData.Tpo -c -o Parser/cfa_cpp-TypeData.obj `if test -f 'Parser/TypeData.cc'; then $(CYGPATH_W) 'Parser/TypeData.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/TypeData.cc'; fi`
    1544 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-TypeData.Tpo Parser/$(DEPDIR)/cfa_cpp-TypeData.Po
    1545 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/TypeData.cc' object='Parser/cfa_cpp-TypeData.obj' libtool=no @AMDEPBACKSLASH@
    1546 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1547 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-TypeData.obj `if test -f 'Parser/TypeData.cc'; then $(CYGPATH_W) 'Parser/TypeData.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/TypeData.cc'; fi`
    1548 
    1549 Parser/cfa_cpp-LinkageSpec.o: Parser/LinkageSpec.cc
    1550 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-LinkageSpec.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Tpo -c -o Parser/cfa_cpp-LinkageSpec.o `test -f 'Parser/LinkageSpec.cc' || echo '$(srcdir)/'`Parser/LinkageSpec.cc
    1551 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Tpo Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Po
    1552 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/LinkageSpec.cc' object='Parser/cfa_cpp-LinkageSpec.o' libtool=no @AMDEPBACKSLASH@
    1553 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1554 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-LinkageSpec.o `test -f 'Parser/LinkageSpec.cc' || echo '$(srcdir)/'`Parser/LinkageSpec.cc
    1555 
    1556 Parser/cfa_cpp-LinkageSpec.obj: Parser/LinkageSpec.cc
    1557 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-LinkageSpec.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Tpo -c -o Parser/cfa_cpp-LinkageSpec.obj `if test -f 'Parser/LinkageSpec.cc'; then $(CYGPATH_W) 'Parser/LinkageSpec.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/LinkageSpec.cc'; fi`
    1558 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Tpo Parser/$(DEPDIR)/cfa_cpp-LinkageSpec.Po
    1559 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/LinkageSpec.cc' object='Parser/cfa_cpp-LinkageSpec.obj' libtool=no @AMDEPBACKSLASH@
    1560 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1561 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-LinkageSpec.obj `if test -f 'Parser/LinkageSpec.cc'; then $(CYGPATH_W) 'Parser/LinkageSpec.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/LinkageSpec.cc'; fi`
    1562 
    1563 Parser/cfa_cpp-parseutility.o: Parser/parseutility.cc
    1564 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-parseutility.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-parseutility.Tpo -c -o Parser/cfa_cpp-parseutility.o `test -f 'Parser/parseutility.cc' || echo '$(srcdir)/'`Parser/parseutility.cc
    1565 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-parseutility.Tpo Parser/$(DEPDIR)/cfa_cpp-parseutility.Po
    1566 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/parseutility.cc' object='Parser/cfa_cpp-parseutility.o' libtool=no @AMDEPBACKSLASH@
    1567 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1568 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-parseutility.o `test -f 'Parser/parseutility.cc' || echo '$(srcdir)/'`Parser/parseutility.cc
    1569 
    1570 Parser/cfa_cpp-parseutility.obj: Parser/parseutility.cc
    1571 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-parseutility.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-parseutility.Tpo -c -o Parser/cfa_cpp-parseutility.obj `if test -f 'Parser/parseutility.cc'; then $(CYGPATH_W) 'Parser/parseutility.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/parseutility.cc'; fi`
    1572 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-parseutility.Tpo Parser/$(DEPDIR)/cfa_cpp-parseutility.Po
    1573 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/parseutility.cc' object='Parser/cfa_cpp-parseutility.obj' libtool=no @AMDEPBACKSLASH@
    1574 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1575 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-parseutility.obj `if test -f 'Parser/parseutility.cc'; then $(CYGPATH_W) 'Parser/parseutility.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/parseutility.cc'; fi`
    1576 
    1577 Parser/cfa_cpp-Parser.o: Parser/Parser.cc
    1578 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-Parser.o -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-Parser.Tpo -c -o Parser/cfa_cpp-Parser.o `test -f 'Parser/Parser.cc' || echo '$(srcdir)/'`Parser/Parser.cc
    1579 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-Parser.Tpo Parser/$(DEPDIR)/cfa_cpp-Parser.Po
    1580 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/Parser.cc' object='Parser/cfa_cpp-Parser.o' libtool=no @AMDEPBACKSLASH@
    1581 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1582 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-Parser.o `test -f 'Parser/Parser.cc' || echo '$(srcdir)/'`Parser/Parser.cc
    1583 
    1584 Parser/cfa_cpp-Parser.obj: Parser/Parser.cc
    1585 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Parser/cfa_cpp-Parser.obj -MD -MP -MF Parser/$(DEPDIR)/cfa_cpp-Parser.Tpo -c -o Parser/cfa_cpp-Parser.obj `if test -f 'Parser/Parser.cc'; then $(CYGPATH_W) 'Parser/Parser.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/Parser.cc'; fi`
    1586 @am__fastdepCXX_TRUE@   $(am__mv) Parser/$(DEPDIR)/cfa_cpp-Parser.Tpo Parser/$(DEPDIR)/cfa_cpp-Parser.Po
    1587 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Parser/Parser.cc' object='Parser/cfa_cpp-Parser.obj' libtool=no @AMDEPBACKSLASH@
    1588 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1589 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Parser/cfa_cpp-Parser.obj `if test -f 'Parser/Parser.cc'; then $(CYGPATH_W) 'Parser/Parser.cc'; else $(CYGPATH_W) '$(srcdir)/Parser/Parser.cc'; fi`
    1590 
    1591 ResolvExpr/cfa_cpp-AlternativeFinder.o: ResolvExpr/AlternativeFinder.cc
    1592 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AlternativeFinder.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Tpo -c -o ResolvExpr/cfa_cpp-AlternativeFinder.o `test -f 'ResolvExpr/AlternativeFinder.cc' || echo '$(srcdir)/'`ResolvExpr/AlternativeFinder.cc
    1593 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Po
    1594 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/AlternativeFinder.cc' object='ResolvExpr/cfa_cpp-AlternativeFinder.o' libtool=no @AMDEPBACKSLASH@
    1595 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1596 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AlternativeFinder.o `test -f 'ResolvExpr/AlternativeFinder.cc' || echo '$(srcdir)/'`ResolvExpr/AlternativeFinder.cc
    1597 
    1598 ResolvExpr/cfa_cpp-AlternativeFinder.obj: ResolvExpr/AlternativeFinder.cc
    1599 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AlternativeFinder.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Tpo -c -o ResolvExpr/cfa_cpp-AlternativeFinder.obj `if test -f 'ResolvExpr/AlternativeFinder.cc'; then $(CYGPATH_W) 'ResolvExpr/AlternativeFinder.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AlternativeFinder.cc'; fi`
    1600 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativeFinder.Po
    1601 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/AlternativeFinder.cc' object='ResolvExpr/cfa_cpp-AlternativeFinder.obj' libtool=no @AMDEPBACKSLASH@
    1602 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1603 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AlternativeFinder.obj `if test -f 'ResolvExpr/AlternativeFinder.cc'; then $(CYGPATH_W) 'ResolvExpr/AlternativeFinder.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AlternativeFinder.cc'; fi`
    1604 
    1605 ResolvExpr/cfa_cpp-Alternative.o: ResolvExpr/Alternative.cc
    1606 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Alternative.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Tpo -c -o ResolvExpr/cfa_cpp-Alternative.o `test -f 'ResolvExpr/Alternative.cc' || echo '$(srcdir)/'`ResolvExpr/Alternative.cc
    1607 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Po
    1608 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/Alternative.cc' object='ResolvExpr/cfa_cpp-Alternative.o' libtool=no @AMDEPBACKSLASH@
    1609 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1610 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Alternative.o `test -f 'ResolvExpr/Alternative.cc' || echo '$(srcdir)/'`ResolvExpr/Alternative.cc
    1611 
    1612 ResolvExpr/cfa_cpp-Alternative.obj: ResolvExpr/Alternative.cc
    1613 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Alternative.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Tpo -c -o ResolvExpr/cfa_cpp-Alternative.obj `if test -f 'ResolvExpr/Alternative.cc'; then $(CYGPATH_W) 'ResolvExpr/Alternative.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Alternative.cc'; fi`
    1614 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Alternative.Po
    1615 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/Alternative.cc' object='ResolvExpr/cfa_cpp-Alternative.obj' libtool=no @AMDEPBACKSLASH@
    1616 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1617 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Alternative.obj `if test -f 'ResolvExpr/Alternative.cc'; then $(CYGPATH_W) 'ResolvExpr/Alternative.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Alternative.cc'; fi`
    1618 
    1619 ResolvExpr/cfa_cpp-Unify.o: ResolvExpr/Unify.cc
    1620 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Unify.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Tpo -c -o ResolvExpr/cfa_cpp-Unify.o `test -f 'ResolvExpr/Unify.cc' || echo '$(srcdir)/'`ResolvExpr/Unify.cc
    1621 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Po
    1622 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/Unify.cc' object='ResolvExpr/cfa_cpp-Unify.o' libtool=no @AMDEPBACKSLASH@
    1623 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1624 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Unify.o `test -f 'ResolvExpr/Unify.cc' || echo '$(srcdir)/'`ResolvExpr/Unify.cc
    1625 
    1626 ResolvExpr/cfa_cpp-Unify.obj: ResolvExpr/Unify.cc
    1627 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Unify.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Tpo -c -o ResolvExpr/cfa_cpp-Unify.obj `if test -f 'ResolvExpr/Unify.cc'; then $(CYGPATH_W) 'ResolvExpr/Unify.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Unify.cc'; fi`
    1628 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Unify.Po
    1629 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/Unify.cc' object='ResolvExpr/cfa_cpp-Unify.obj' libtool=no @AMDEPBACKSLASH@
    1630 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1631 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Unify.obj `if test -f 'ResolvExpr/Unify.cc'; then $(CYGPATH_W) 'ResolvExpr/Unify.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Unify.cc'; fi`
    1632 
    1633 ResolvExpr/cfa_cpp-PtrsAssignable.o: ResolvExpr/PtrsAssignable.cc
    1634 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PtrsAssignable.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Tpo -c -o ResolvExpr/cfa_cpp-PtrsAssignable.o `test -f 'ResolvExpr/PtrsAssignable.cc' || echo '$(srcdir)/'`ResolvExpr/PtrsAssignable.cc
    1635 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Po
    1636 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/PtrsAssignable.cc' object='ResolvExpr/cfa_cpp-PtrsAssignable.o' libtool=no @AMDEPBACKSLASH@
    1637 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1638 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PtrsAssignable.o `test -f 'ResolvExpr/PtrsAssignable.cc' || echo '$(srcdir)/'`ResolvExpr/PtrsAssignable.cc
    1639 
    1640 ResolvExpr/cfa_cpp-PtrsAssignable.obj: ResolvExpr/PtrsAssignable.cc
    1641 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PtrsAssignable.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Tpo -c -o ResolvExpr/cfa_cpp-PtrsAssignable.obj `if test -f 'ResolvExpr/PtrsAssignable.cc'; then $(CYGPATH_W) 'ResolvExpr/PtrsAssignable.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PtrsAssignable.cc'; fi`
    1642 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsAssignable.Po
    1643 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/PtrsAssignable.cc' object='ResolvExpr/cfa_cpp-PtrsAssignable.obj' libtool=no @AMDEPBACKSLASH@
    1644 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1645 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PtrsAssignable.obj `if test -f 'ResolvExpr/PtrsAssignable.cc'; then $(CYGPATH_W) 'ResolvExpr/PtrsAssignable.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PtrsAssignable.cc'; fi`
    1646 
    1647 ResolvExpr/cfa_cpp-CommonType.o: ResolvExpr/CommonType.cc
    1648 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-CommonType.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Tpo -c -o ResolvExpr/cfa_cpp-CommonType.o `test -f 'ResolvExpr/CommonType.cc' || echo '$(srcdir)/'`ResolvExpr/CommonType.cc
    1649 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Po
    1650 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/CommonType.cc' object='ResolvExpr/cfa_cpp-CommonType.o' libtool=no @AMDEPBACKSLASH@
    1651 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1652 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-CommonType.o `test -f 'ResolvExpr/CommonType.cc' || echo '$(srcdir)/'`ResolvExpr/CommonType.cc
    1653 
    1654 ResolvExpr/cfa_cpp-CommonType.obj: ResolvExpr/CommonType.cc
    1655 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-CommonType.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Tpo -c -o ResolvExpr/cfa_cpp-CommonType.obj `if test -f 'ResolvExpr/CommonType.cc'; then $(CYGPATH_W) 'ResolvExpr/CommonType.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/CommonType.cc'; fi`
    1656 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-CommonType.Po
    1657 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/CommonType.cc' object='ResolvExpr/cfa_cpp-CommonType.obj' libtool=no @AMDEPBACKSLASH@
    1658 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1659 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-CommonType.obj `if test -f 'ResolvExpr/CommonType.cc'; then $(CYGPATH_W) 'ResolvExpr/CommonType.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/CommonType.cc'; fi`
    1660 
    1661 ResolvExpr/cfa_cpp-ConversionCost.o: ResolvExpr/ConversionCost.cc
    1662 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-ConversionCost.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Tpo -c -o ResolvExpr/cfa_cpp-ConversionCost.o `test -f 'ResolvExpr/ConversionCost.cc' || echo '$(srcdir)/'`ResolvExpr/ConversionCost.cc
    1663 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Po
    1664 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/ConversionCost.cc' object='ResolvExpr/cfa_cpp-ConversionCost.o' libtool=no @AMDEPBACKSLASH@
    1665 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1666 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-ConversionCost.o `test -f 'ResolvExpr/ConversionCost.cc' || echo '$(srcdir)/'`ResolvExpr/ConversionCost.cc
    1667 
    1668 ResolvExpr/cfa_cpp-ConversionCost.obj: ResolvExpr/ConversionCost.cc
    1669 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-ConversionCost.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Tpo -c -o ResolvExpr/cfa_cpp-ConversionCost.obj `if test -f 'ResolvExpr/ConversionCost.cc'; then $(CYGPATH_W) 'ResolvExpr/ConversionCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/ConversionCost.cc'; fi`
    1670 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-ConversionCost.Po
    1671 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/ConversionCost.cc' object='ResolvExpr/cfa_cpp-ConversionCost.obj' libtool=no @AMDEPBACKSLASH@
    1672 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1673 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-ConversionCost.obj `if test -f 'ResolvExpr/ConversionCost.cc'; then $(CYGPATH_W) 'ResolvExpr/ConversionCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/ConversionCost.cc'; fi`
    1674 
    1675 ResolvExpr/cfa_cpp-CastCost.o: ResolvExpr/CastCost.cc
    1676 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-CastCost.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Tpo -c -o ResolvExpr/cfa_cpp-CastCost.o `test -f 'ResolvExpr/CastCost.cc' || echo '$(srcdir)/'`ResolvExpr/CastCost.cc
    1677 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Po
    1678 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/CastCost.cc' object='ResolvExpr/cfa_cpp-CastCost.o' libtool=no @AMDEPBACKSLASH@
    1679 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1680 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-CastCost.o `test -f 'ResolvExpr/CastCost.cc' || echo '$(srcdir)/'`ResolvExpr/CastCost.cc
    1681 
    1682 ResolvExpr/cfa_cpp-CastCost.obj: ResolvExpr/CastCost.cc
    1683 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-CastCost.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Tpo -c -o ResolvExpr/cfa_cpp-CastCost.obj `if test -f 'ResolvExpr/CastCost.cc'; then $(CYGPATH_W) 'ResolvExpr/CastCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/CastCost.cc'; fi`
    1684 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-CastCost.Po
    1685 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/CastCost.cc' object='ResolvExpr/cfa_cpp-CastCost.obj' libtool=no @AMDEPBACKSLASH@
    1686 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1687 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-CastCost.obj `if test -f 'ResolvExpr/CastCost.cc'; then $(CYGPATH_W) 'ResolvExpr/CastCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/CastCost.cc'; fi`
    1688 
    1689 ResolvExpr/cfa_cpp-PtrsCastable.o: ResolvExpr/PtrsCastable.cc
    1690 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PtrsCastable.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Tpo -c -o ResolvExpr/cfa_cpp-PtrsCastable.o `test -f 'ResolvExpr/PtrsCastable.cc' || echo '$(srcdir)/'`ResolvExpr/PtrsCastable.cc
    1691 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Po
    1692 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/PtrsCastable.cc' object='ResolvExpr/cfa_cpp-PtrsCastable.o' libtool=no @AMDEPBACKSLASH@
    1693 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1694 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PtrsCastable.o `test -f 'ResolvExpr/PtrsCastable.cc' || echo '$(srcdir)/'`ResolvExpr/PtrsCastable.cc
    1695 
    1696 ResolvExpr/cfa_cpp-PtrsCastable.obj: ResolvExpr/PtrsCastable.cc
    1697 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PtrsCastable.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Tpo -c -o ResolvExpr/cfa_cpp-PtrsCastable.obj `if test -f 'ResolvExpr/PtrsCastable.cc'; then $(CYGPATH_W) 'ResolvExpr/PtrsCastable.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PtrsCastable.cc'; fi`
    1698 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PtrsCastable.Po
    1699 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/PtrsCastable.cc' object='ResolvExpr/cfa_cpp-PtrsCastable.obj' libtool=no @AMDEPBACKSLASH@
    1700 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1701 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PtrsCastable.obj `if test -f 'ResolvExpr/PtrsCastable.cc'; then $(CYGPATH_W) 'ResolvExpr/PtrsCastable.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PtrsCastable.cc'; fi`
    1702 
    1703 ResolvExpr/cfa_cpp-AdjustExprType.o: ResolvExpr/AdjustExprType.cc
    1704 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AdjustExprType.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Tpo -c -o ResolvExpr/cfa_cpp-AdjustExprType.o `test -f 'ResolvExpr/AdjustExprType.cc' || echo '$(srcdir)/'`ResolvExpr/AdjustExprType.cc
    1705 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Po
    1706 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/AdjustExprType.cc' object='ResolvExpr/cfa_cpp-AdjustExprType.o' libtool=no @AMDEPBACKSLASH@
    1707 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1708 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AdjustExprType.o `test -f 'ResolvExpr/AdjustExprType.cc' || echo '$(srcdir)/'`ResolvExpr/AdjustExprType.cc
    1709 
    1710 ResolvExpr/cfa_cpp-AdjustExprType.obj: ResolvExpr/AdjustExprType.cc
    1711 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AdjustExprType.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Tpo -c -o ResolvExpr/cfa_cpp-AdjustExprType.obj `if test -f 'ResolvExpr/AdjustExprType.cc'; then $(CYGPATH_W) 'ResolvExpr/AdjustExprType.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AdjustExprType.cc'; fi`
    1712 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AdjustExprType.Po
    1713 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/AdjustExprType.cc' object='ResolvExpr/cfa_cpp-AdjustExprType.obj' libtool=no @AMDEPBACKSLASH@
    1714 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1715 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AdjustExprType.obj `if test -f 'ResolvExpr/AdjustExprType.cc'; then $(CYGPATH_W) 'ResolvExpr/AdjustExprType.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AdjustExprType.cc'; fi`
    1716 
    1717 ResolvExpr/cfa_cpp-AlternativePrinter.o: ResolvExpr/AlternativePrinter.cc
    1718 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AlternativePrinter.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Tpo -c -o ResolvExpr/cfa_cpp-AlternativePrinter.o `test -f 'ResolvExpr/AlternativePrinter.cc' || echo '$(srcdir)/'`ResolvExpr/AlternativePrinter.cc
    1719 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Po
    1720 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/AlternativePrinter.cc' object='ResolvExpr/cfa_cpp-AlternativePrinter.o' libtool=no @AMDEPBACKSLASH@
    1721 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1722 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AlternativePrinter.o `test -f 'ResolvExpr/AlternativePrinter.cc' || echo '$(srcdir)/'`ResolvExpr/AlternativePrinter.cc
    1723 
    1724 ResolvExpr/cfa_cpp-AlternativePrinter.obj: ResolvExpr/AlternativePrinter.cc
    1725 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-AlternativePrinter.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Tpo -c -o ResolvExpr/cfa_cpp-AlternativePrinter.obj `if test -f 'ResolvExpr/AlternativePrinter.cc'; then $(CYGPATH_W) 'ResolvExpr/AlternativePrinter.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AlternativePrinter.cc'; fi`
    1726 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-AlternativePrinter.Po
    1727 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/AlternativePrinter.cc' object='ResolvExpr/cfa_cpp-AlternativePrinter.obj' libtool=no @AMDEPBACKSLASH@
    1728 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1729 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-AlternativePrinter.obj `if test -f 'ResolvExpr/AlternativePrinter.cc'; then $(CYGPATH_W) 'ResolvExpr/AlternativePrinter.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/AlternativePrinter.cc'; fi`
    1730 
    1731 ResolvExpr/cfa_cpp-Resolver.o: ResolvExpr/Resolver.cc
    1732 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Resolver.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Tpo -c -o ResolvExpr/cfa_cpp-Resolver.o `test -f 'ResolvExpr/Resolver.cc' || echo '$(srcdir)/'`ResolvExpr/Resolver.cc
    1733 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Po
    1734 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/Resolver.cc' object='ResolvExpr/cfa_cpp-Resolver.o' libtool=no @AMDEPBACKSLASH@
    1735 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1736 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Resolver.o `test -f 'ResolvExpr/Resolver.cc' || echo '$(srcdir)/'`ResolvExpr/Resolver.cc
    1737 
    1738 ResolvExpr/cfa_cpp-Resolver.obj: ResolvExpr/Resolver.cc
    1739 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Resolver.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Tpo -c -o ResolvExpr/cfa_cpp-Resolver.obj `if test -f 'ResolvExpr/Resolver.cc'; then $(CYGPATH_W) 'ResolvExpr/Resolver.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Resolver.cc'; fi`
    1740 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Resolver.Po
    1741 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/Resolver.cc' object='ResolvExpr/cfa_cpp-Resolver.obj' libtool=no @AMDEPBACKSLASH@
    1742 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1743 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Resolver.obj `if test -f 'ResolvExpr/Resolver.cc'; then $(CYGPATH_W) 'ResolvExpr/Resolver.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Resolver.cc'; fi`
    1744 
    1745 ResolvExpr/cfa_cpp-ResolveTypeof.o: ResolvExpr/ResolveTypeof.cc
    1746 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-ResolveTypeof.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Tpo -c -o ResolvExpr/cfa_cpp-ResolveTypeof.o `test -f 'ResolvExpr/ResolveTypeof.cc' || echo '$(srcdir)/'`ResolvExpr/ResolveTypeof.cc
    1747 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Po
    1748 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/ResolveTypeof.cc' object='ResolvExpr/cfa_cpp-ResolveTypeof.o' libtool=no @AMDEPBACKSLASH@
    1749 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1750 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-ResolveTypeof.o `test -f 'ResolvExpr/ResolveTypeof.cc' || echo '$(srcdir)/'`ResolvExpr/ResolveTypeof.cc
    1751 
    1752 ResolvExpr/cfa_cpp-ResolveTypeof.obj: ResolvExpr/ResolveTypeof.cc
    1753 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-ResolveTypeof.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Tpo -c -o ResolvExpr/cfa_cpp-ResolveTypeof.obj `if test -f 'ResolvExpr/ResolveTypeof.cc'; then $(CYGPATH_W) 'ResolvExpr/ResolveTypeof.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/ResolveTypeof.cc'; fi`
    1754 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-ResolveTypeof.Po
    1755 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/ResolveTypeof.cc' object='ResolvExpr/cfa_cpp-ResolveTypeof.obj' libtool=no @AMDEPBACKSLASH@
    1756 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1757 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-ResolveTypeof.obj `if test -f 'ResolvExpr/ResolveTypeof.cc'; then $(CYGPATH_W) 'ResolvExpr/ResolveTypeof.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/ResolveTypeof.cc'; fi`
    1758 
    1759 ResolvExpr/cfa_cpp-RenameVars.o: ResolvExpr/RenameVars.cc
    1760 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-RenameVars.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Tpo -c -o ResolvExpr/cfa_cpp-RenameVars.o `test -f 'ResolvExpr/RenameVars.cc' || echo '$(srcdir)/'`ResolvExpr/RenameVars.cc
    1761 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Po
    1762 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/RenameVars.cc' object='ResolvExpr/cfa_cpp-RenameVars.o' libtool=no @AMDEPBACKSLASH@
    1763 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1764 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-RenameVars.o `test -f 'ResolvExpr/RenameVars.cc' || echo '$(srcdir)/'`ResolvExpr/RenameVars.cc
    1765 
    1766 ResolvExpr/cfa_cpp-RenameVars.obj: ResolvExpr/RenameVars.cc
    1767 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-RenameVars.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Tpo -c -o ResolvExpr/cfa_cpp-RenameVars.obj `if test -f 'ResolvExpr/RenameVars.cc'; then $(CYGPATH_W) 'ResolvExpr/RenameVars.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/RenameVars.cc'; fi`
    1768 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-RenameVars.Po
    1769 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/RenameVars.cc' object='ResolvExpr/cfa_cpp-RenameVars.obj' libtool=no @AMDEPBACKSLASH@
    1770 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1771 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-RenameVars.obj `if test -f 'ResolvExpr/RenameVars.cc'; then $(CYGPATH_W) 'ResolvExpr/RenameVars.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/RenameVars.cc'; fi`
    1772 
    1773 ResolvExpr/cfa_cpp-FindOpenVars.o: ResolvExpr/FindOpenVars.cc
    1774 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-FindOpenVars.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Tpo -c -o ResolvExpr/cfa_cpp-FindOpenVars.o `test -f 'ResolvExpr/FindOpenVars.cc' || echo '$(srcdir)/'`ResolvExpr/FindOpenVars.cc
    1775 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Po
    1776 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/FindOpenVars.cc' object='ResolvExpr/cfa_cpp-FindOpenVars.o' libtool=no @AMDEPBACKSLASH@
    1777 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1778 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-FindOpenVars.o `test -f 'ResolvExpr/FindOpenVars.cc' || echo '$(srcdir)/'`ResolvExpr/FindOpenVars.cc
    1779 
    1780 ResolvExpr/cfa_cpp-FindOpenVars.obj: ResolvExpr/FindOpenVars.cc
    1781 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-FindOpenVars.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Tpo -c -o ResolvExpr/cfa_cpp-FindOpenVars.obj `if test -f 'ResolvExpr/FindOpenVars.cc'; then $(CYGPATH_W) 'ResolvExpr/FindOpenVars.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/FindOpenVars.cc'; fi`
    1782 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-FindOpenVars.Po
    1783 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/FindOpenVars.cc' object='ResolvExpr/cfa_cpp-FindOpenVars.obj' libtool=no @AMDEPBACKSLASH@
    1784 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1785 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-FindOpenVars.obj `if test -f 'ResolvExpr/FindOpenVars.cc'; then $(CYGPATH_W) 'ResolvExpr/FindOpenVars.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/FindOpenVars.cc'; fi`
    1786 
    1787 ResolvExpr/cfa_cpp-PolyCost.o: ResolvExpr/PolyCost.cc
    1788 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PolyCost.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Tpo -c -o ResolvExpr/cfa_cpp-PolyCost.o `test -f 'ResolvExpr/PolyCost.cc' || echo '$(srcdir)/'`ResolvExpr/PolyCost.cc
    1789 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Po
    1790 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/PolyCost.cc' object='ResolvExpr/cfa_cpp-PolyCost.o' libtool=no @AMDEPBACKSLASH@
    1791 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1792 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PolyCost.o `test -f 'ResolvExpr/PolyCost.cc' || echo '$(srcdir)/'`ResolvExpr/PolyCost.cc
    1793 
    1794 ResolvExpr/cfa_cpp-PolyCost.obj: ResolvExpr/PolyCost.cc
    1795 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-PolyCost.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Tpo -c -o ResolvExpr/cfa_cpp-PolyCost.obj `if test -f 'ResolvExpr/PolyCost.cc'; then $(CYGPATH_W) 'ResolvExpr/PolyCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PolyCost.cc'; fi`
    1796 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-PolyCost.Po
    1797 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/PolyCost.cc' object='ResolvExpr/cfa_cpp-PolyCost.obj' libtool=no @AMDEPBACKSLASH@
    1798 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1799 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-PolyCost.obj `if test -f 'ResolvExpr/PolyCost.cc'; then $(CYGPATH_W) 'ResolvExpr/PolyCost.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/PolyCost.cc'; fi`
    1800 
    1801 ResolvExpr/cfa_cpp-Occurs.o: ResolvExpr/Occurs.cc
    1802 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Occurs.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Tpo -c -o ResolvExpr/cfa_cpp-Occurs.o `test -f 'ResolvExpr/Occurs.cc' || echo '$(srcdir)/'`ResolvExpr/Occurs.cc
    1803 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Po
    1804 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/Occurs.cc' object='ResolvExpr/cfa_cpp-Occurs.o' libtool=no @AMDEPBACKSLASH@
    1805 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1806 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Occurs.o `test -f 'ResolvExpr/Occurs.cc' || echo '$(srcdir)/'`ResolvExpr/Occurs.cc
    1807 
    1808 ResolvExpr/cfa_cpp-Occurs.obj: ResolvExpr/Occurs.cc
    1809 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-Occurs.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Tpo -c -o ResolvExpr/cfa_cpp-Occurs.obj `if test -f 'ResolvExpr/Occurs.cc'; then $(CYGPATH_W) 'ResolvExpr/Occurs.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Occurs.cc'; fi`
    1810 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-Occurs.Po
    1811 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/Occurs.cc' object='ResolvExpr/cfa_cpp-Occurs.obj' libtool=no @AMDEPBACKSLASH@
    1812 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1813 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-Occurs.obj `if test -f 'ResolvExpr/Occurs.cc'; then $(CYGPATH_W) 'ResolvExpr/Occurs.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/Occurs.cc'; fi`
    1814 
    1815 ResolvExpr/cfa_cpp-TypeEnvironment.o: ResolvExpr/TypeEnvironment.cc
    1816 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-TypeEnvironment.o -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Tpo -c -o ResolvExpr/cfa_cpp-TypeEnvironment.o `test -f 'ResolvExpr/TypeEnvironment.cc' || echo '$(srcdir)/'`ResolvExpr/TypeEnvironment.cc
    1817 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Po
    1818 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/TypeEnvironment.cc' object='ResolvExpr/cfa_cpp-TypeEnvironment.o' libtool=no @AMDEPBACKSLASH@
    1819 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1820 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-TypeEnvironment.o `test -f 'ResolvExpr/TypeEnvironment.cc' || echo '$(srcdir)/'`ResolvExpr/TypeEnvironment.cc
    1821 
    1822 ResolvExpr/cfa_cpp-TypeEnvironment.obj: ResolvExpr/TypeEnvironment.cc
    1823 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT ResolvExpr/cfa_cpp-TypeEnvironment.obj -MD -MP -MF ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Tpo -c -o ResolvExpr/cfa_cpp-TypeEnvironment.obj `if test -f 'ResolvExpr/TypeEnvironment.cc'; then $(CYGPATH_W) 'ResolvExpr/TypeEnvironment.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/TypeEnvironment.cc'; fi`
    1824 @am__fastdepCXX_TRUE@   $(am__mv) ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Tpo ResolvExpr/$(DEPDIR)/cfa_cpp-TypeEnvironment.Po
    1825 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ResolvExpr/TypeEnvironment.cc' object='ResolvExpr/cfa_cpp-TypeEnvironment.obj' libtool=no @AMDEPBACKSLASH@
    1826 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1827 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o ResolvExpr/cfa_cpp-TypeEnvironment.obj `if test -f 'ResolvExpr/TypeEnvironment.cc'; then $(CYGPATH_W) 'ResolvExpr/TypeEnvironment.cc'; else $(CYGPATH_W) '$(srcdir)/ResolvExpr/TypeEnvironment.cc'; fi`
    1828 
    1829 SymTab/cfa_cpp-IdTable.o: SymTab/IdTable.cc
    1830 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-IdTable.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-IdTable.Tpo -c -o SymTab/cfa_cpp-IdTable.o `test -f 'SymTab/IdTable.cc' || echo '$(srcdir)/'`SymTab/IdTable.cc
    1831 @am__fastdepCXX_TRUE@   $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-IdTable.Tpo SymTab/$(DEPDIR)/cfa_cpp-IdTable.Po
    1832 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SymTab/IdTable.cc' object='SymTab/cfa_cpp-IdTable.o' libtool=no @AMDEPBACKSLASH@
    1833 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1834 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-IdTable.o `test -f 'SymTab/IdTable.cc' || echo '$(srcdir)/'`SymTab/IdTable.cc
    1835 
    1836 SymTab/cfa_cpp-IdTable.obj: SymTab/IdTable.cc
    1837 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-IdTable.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-IdTable.Tpo -c -o SymTab/cfa_cpp-IdTable.obj `if test -f 'SymTab/IdTable.cc'; then $(CYGPATH_W) 'SymTab/IdTable.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/IdTable.cc'; fi`
    1838 @am__fastdepCXX_TRUE@   $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-IdTable.Tpo SymTab/$(DEPDIR)/cfa_cpp-IdTable.Po
    1839 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SymTab/IdTable.cc' object='SymTab/cfa_cpp-IdTable.obj' libtool=no @AMDEPBACKSLASH@
    1840 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1841 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-IdTable.obj `if test -f 'SymTab/IdTable.cc'; then $(CYGPATH_W) 'SymTab/IdTable.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/IdTable.cc'; fi`
    1842 
    1843 SymTab/cfa_cpp-Indexer.o: SymTab/Indexer.cc
    1844 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Indexer.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Indexer.Tpo -c -o SymTab/cfa_cpp-Indexer.o `test -f 'SymTab/Indexer.cc' || echo '$(srcdir)/'`SymTab/Indexer.cc
    1845 @am__fastdepCXX_TRUE@   $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Indexer.Tpo SymTab/$(DEPDIR)/cfa_cpp-Indexer.Po
    1846 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SymTab/Indexer.cc' object='SymTab/cfa_cpp-Indexer.o' libtool=no @AMDEPBACKSLASH@
    1847 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1848 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Indexer.o `test -f 'SymTab/Indexer.cc' || echo '$(srcdir)/'`SymTab/Indexer.cc
    1849 
    1850 SymTab/cfa_cpp-Indexer.obj: SymTab/Indexer.cc
    1851 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Indexer.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Indexer.Tpo -c -o SymTab/cfa_cpp-Indexer.obj `if test -f 'SymTab/Indexer.cc'; then $(CYGPATH_W) 'SymTab/Indexer.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Indexer.cc'; fi`
    1852 @am__fastdepCXX_TRUE@   $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Indexer.Tpo SymTab/$(DEPDIR)/cfa_cpp-Indexer.Po
    1853 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SymTab/Indexer.cc' object='SymTab/cfa_cpp-Indexer.obj' libtool=no @AMDEPBACKSLASH@
    1854 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1855 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Indexer.obj `if test -f 'SymTab/Indexer.cc'; then $(CYGPATH_W) 'SymTab/Indexer.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Indexer.cc'; fi`
    1856 
    1857 SymTab/cfa_cpp-Mangler.o: SymTab/Mangler.cc
    1858 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Mangler.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Mangler.Tpo -c -o SymTab/cfa_cpp-Mangler.o `test -f 'SymTab/Mangler.cc' || echo '$(srcdir)/'`SymTab/Mangler.cc
    1859 @am__fastdepCXX_TRUE@   $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Mangler.Tpo SymTab/$(DEPDIR)/cfa_cpp-Mangler.Po
    1860 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SymTab/Mangler.cc' object='SymTab/cfa_cpp-Mangler.o' libtool=no @AMDEPBACKSLASH@
    1861 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1862 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Mangler.o `test -f 'SymTab/Mangler.cc' || echo '$(srcdir)/'`SymTab/Mangler.cc
    1863 
    1864 SymTab/cfa_cpp-Mangler.obj: SymTab/Mangler.cc
    1865 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Mangler.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Mangler.Tpo -c -o SymTab/cfa_cpp-Mangler.obj `if test -f 'SymTab/Mangler.cc'; then $(CYGPATH_W) 'SymTab/Mangler.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Mangler.cc'; fi`
    1866 @am__fastdepCXX_TRUE@   $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Mangler.Tpo SymTab/$(DEPDIR)/cfa_cpp-Mangler.Po
    1867 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SymTab/Mangler.cc' object='SymTab/cfa_cpp-Mangler.obj' libtool=no @AMDEPBACKSLASH@
    1868 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1869 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Mangler.obj `if test -f 'SymTab/Mangler.cc'; then $(CYGPATH_W) 'SymTab/Mangler.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Mangler.cc'; fi`
    1870 
    1871 SymTab/cfa_cpp-Validate.o: SymTab/Validate.cc
    1872 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Validate.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Validate.Tpo -c -o SymTab/cfa_cpp-Validate.o `test -f 'SymTab/Validate.cc' || echo '$(srcdir)/'`SymTab/Validate.cc
    1873 @am__fastdepCXX_TRUE@   $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Validate.Tpo SymTab/$(DEPDIR)/cfa_cpp-Validate.Po
    1874 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SymTab/Validate.cc' object='SymTab/cfa_cpp-Validate.o' libtool=no @AMDEPBACKSLASH@
    1875 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1876 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Validate.o `test -f 'SymTab/Validate.cc' || echo '$(srcdir)/'`SymTab/Validate.cc
    1877 
    1878 SymTab/cfa_cpp-Validate.obj: SymTab/Validate.cc
    1879 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-Validate.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-Validate.Tpo -c -o SymTab/cfa_cpp-Validate.obj `if test -f 'SymTab/Validate.cc'; then $(CYGPATH_W) 'SymTab/Validate.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Validate.cc'; fi`
    1880 @am__fastdepCXX_TRUE@   $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-Validate.Tpo SymTab/$(DEPDIR)/cfa_cpp-Validate.Po
    1881 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SymTab/Validate.cc' object='SymTab/cfa_cpp-Validate.obj' libtool=no @AMDEPBACKSLASH@
    1882 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1883 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-Validate.obj `if test -f 'SymTab/Validate.cc'; then $(CYGPATH_W) 'SymTab/Validate.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/Validate.cc'; fi`
    1884 
    1885 SymTab/cfa_cpp-FixFunction.o: SymTab/FixFunction.cc
    1886 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-FixFunction.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Tpo -c -o SymTab/cfa_cpp-FixFunction.o `test -f 'SymTab/FixFunction.cc' || echo '$(srcdir)/'`SymTab/FixFunction.cc
    1887 @am__fastdepCXX_TRUE@   $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Tpo SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Po
    1888 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SymTab/FixFunction.cc' object='SymTab/cfa_cpp-FixFunction.o' libtool=no @AMDEPBACKSLASH@
    1889 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1890 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-FixFunction.o `test -f 'SymTab/FixFunction.cc' || echo '$(srcdir)/'`SymTab/FixFunction.cc
    1891 
    1892 SymTab/cfa_cpp-FixFunction.obj: SymTab/FixFunction.cc
    1893 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-FixFunction.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Tpo -c -o SymTab/cfa_cpp-FixFunction.obj `if test -f 'SymTab/FixFunction.cc'; then $(CYGPATH_W) 'SymTab/FixFunction.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/FixFunction.cc'; fi`
    1894 @am__fastdepCXX_TRUE@   $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Tpo SymTab/$(DEPDIR)/cfa_cpp-FixFunction.Po
    1895 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SymTab/FixFunction.cc' object='SymTab/cfa_cpp-FixFunction.obj' libtool=no @AMDEPBACKSLASH@
    1896 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1897 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-FixFunction.obj `if test -f 'SymTab/FixFunction.cc'; then $(CYGPATH_W) 'SymTab/FixFunction.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/FixFunction.cc'; fi`
    1898 
    1899 SymTab/cfa_cpp-ImplementationType.o: SymTab/ImplementationType.cc
    1900 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-ImplementationType.o -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Tpo -c -o SymTab/cfa_cpp-ImplementationType.o `test -f 'SymTab/ImplementationType.cc' || echo '$(srcdir)/'`SymTab/ImplementationType.cc
    1901 @am__fastdepCXX_TRUE@   $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Tpo SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Po
    1902 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SymTab/ImplementationType.cc' object='SymTab/cfa_cpp-ImplementationType.o' libtool=no @AMDEPBACKSLASH@
    1903 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1904 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-ImplementationType.o `test -f 'SymTab/ImplementationType.cc' || echo '$(srcdir)/'`SymTab/ImplementationType.cc
    1905 
    1906 SymTab/cfa_cpp-ImplementationType.obj: SymTab/ImplementationType.cc
    1907 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SymTab/cfa_cpp-ImplementationType.obj -MD -MP -MF SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Tpo -c -o SymTab/cfa_cpp-ImplementationType.obj `if test -f 'SymTab/ImplementationType.cc'; then $(CYGPATH_W) 'SymTab/ImplementationType.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/ImplementationType.cc'; fi`
    1908 @am__fastdepCXX_TRUE@   $(am__mv) SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Tpo SymTab/$(DEPDIR)/cfa_cpp-ImplementationType.Po
    1909 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SymTab/ImplementationType.cc' object='SymTab/cfa_cpp-ImplementationType.obj' libtool=no @AMDEPBACKSLASH@
    1910 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1911 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SymTab/cfa_cpp-ImplementationType.obj `if test -f 'SymTab/ImplementationType.cc'; then $(CYGPATH_W) 'SymTab/ImplementationType.cc'; else $(CYGPATH_W) '$(srcdir)/SymTab/ImplementationType.cc'; fi`
    1912 
    1913 SynTree/cfa_cpp-Type.o: SynTree/Type.cc
    1914 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Type.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Type.Tpo -c -o SynTree/cfa_cpp-Type.o `test -f 'SynTree/Type.cc' || echo '$(srcdir)/'`SynTree/Type.cc
    1915 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Type.Tpo SynTree/$(DEPDIR)/cfa_cpp-Type.Po
    1916 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Type.cc' object='SynTree/cfa_cpp-Type.o' libtool=no @AMDEPBACKSLASH@
    1917 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1918 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Type.o `test -f 'SynTree/Type.cc' || echo '$(srcdir)/'`SynTree/Type.cc
    1919 
    1920 SynTree/cfa_cpp-Type.obj: SynTree/Type.cc
    1921 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Type.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Type.Tpo -c -o SynTree/cfa_cpp-Type.obj `if test -f 'SynTree/Type.cc'; then $(CYGPATH_W) 'SynTree/Type.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Type.cc'; fi`
    1922 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Type.Tpo SynTree/$(DEPDIR)/cfa_cpp-Type.Po
    1923 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Type.cc' object='SynTree/cfa_cpp-Type.obj' libtool=no @AMDEPBACKSLASH@
    1924 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1925 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Type.obj `if test -f 'SynTree/Type.cc'; then $(CYGPATH_W) 'SynTree/Type.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Type.cc'; fi`
    1926 
    1927 SynTree/cfa_cpp-VoidType.o: SynTree/VoidType.cc
    1928 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-VoidType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-VoidType.Tpo -c -o SynTree/cfa_cpp-VoidType.o `test -f 'SynTree/VoidType.cc' || echo '$(srcdir)/'`SynTree/VoidType.cc
    1929 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-VoidType.Tpo SynTree/$(DEPDIR)/cfa_cpp-VoidType.Po
    1930 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/VoidType.cc' object='SynTree/cfa_cpp-VoidType.o' libtool=no @AMDEPBACKSLASH@
    1931 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1932 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-VoidType.o `test -f 'SynTree/VoidType.cc' || echo '$(srcdir)/'`SynTree/VoidType.cc
    1933 
    1934 SynTree/cfa_cpp-VoidType.obj: SynTree/VoidType.cc
    1935 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-VoidType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-VoidType.Tpo -c -o SynTree/cfa_cpp-VoidType.obj `if test -f 'SynTree/VoidType.cc'; then $(CYGPATH_W) 'SynTree/VoidType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/VoidType.cc'; fi`
    1936 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-VoidType.Tpo SynTree/$(DEPDIR)/cfa_cpp-VoidType.Po
    1937 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/VoidType.cc' object='SynTree/cfa_cpp-VoidType.obj' libtool=no @AMDEPBACKSLASH@
    1938 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1939 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-VoidType.obj `if test -f 'SynTree/VoidType.cc'; then $(CYGPATH_W) 'SynTree/VoidType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/VoidType.cc'; fi`
    1940 
    1941 SynTree/cfa_cpp-BasicType.o: SynTree/BasicType.cc
    1942 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-BasicType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-BasicType.Tpo -c -o SynTree/cfa_cpp-BasicType.o `test -f 'SynTree/BasicType.cc' || echo '$(srcdir)/'`SynTree/BasicType.cc
    1943 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-BasicType.Tpo SynTree/$(DEPDIR)/cfa_cpp-BasicType.Po
    1944 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/BasicType.cc' object='SynTree/cfa_cpp-BasicType.o' libtool=no @AMDEPBACKSLASH@
    1945 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1946 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-BasicType.o `test -f 'SynTree/BasicType.cc' || echo '$(srcdir)/'`SynTree/BasicType.cc
    1947 
    1948 SynTree/cfa_cpp-BasicType.obj: SynTree/BasicType.cc
    1949 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-BasicType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-BasicType.Tpo -c -o SynTree/cfa_cpp-BasicType.obj `if test -f 'SynTree/BasicType.cc'; then $(CYGPATH_W) 'SynTree/BasicType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/BasicType.cc'; fi`
    1950 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-BasicType.Tpo SynTree/$(DEPDIR)/cfa_cpp-BasicType.Po
    1951 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/BasicType.cc' object='SynTree/cfa_cpp-BasicType.obj' libtool=no @AMDEPBACKSLASH@
    1952 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1953 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-BasicType.obj `if test -f 'SynTree/BasicType.cc'; then $(CYGPATH_W) 'SynTree/BasicType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/BasicType.cc'; fi`
    1954 
    1955 SynTree/cfa_cpp-PointerType.o: SynTree/PointerType.cc
    1956 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-PointerType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-PointerType.Tpo -c -o SynTree/cfa_cpp-PointerType.o `test -f 'SynTree/PointerType.cc' || echo '$(srcdir)/'`SynTree/PointerType.cc
    1957 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-PointerType.Tpo SynTree/$(DEPDIR)/cfa_cpp-PointerType.Po
    1958 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/PointerType.cc' object='SynTree/cfa_cpp-PointerType.o' libtool=no @AMDEPBACKSLASH@
    1959 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1960 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-PointerType.o `test -f 'SynTree/PointerType.cc' || echo '$(srcdir)/'`SynTree/PointerType.cc
    1961 
    1962 SynTree/cfa_cpp-PointerType.obj: SynTree/PointerType.cc
    1963 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-PointerType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-PointerType.Tpo -c -o SynTree/cfa_cpp-PointerType.obj `if test -f 'SynTree/PointerType.cc'; then $(CYGPATH_W) 'SynTree/PointerType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/PointerType.cc'; fi`
    1964 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-PointerType.Tpo SynTree/$(DEPDIR)/cfa_cpp-PointerType.Po
    1965 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/PointerType.cc' object='SynTree/cfa_cpp-PointerType.obj' libtool=no @AMDEPBACKSLASH@
    1966 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1967 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-PointerType.obj `if test -f 'SynTree/PointerType.cc'; then $(CYGPATH_W) 'SynTree/PointerType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/PointerType.cc'; fi`
    1968 
    1969 SynTree/cfa_cpp-ArrayType.o: SynTree/ArrayType.cc
    1970 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ArrayType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Tpo -c -o SynTree/cfa_cpp-ArrayType.o `test -f 'SynTree/ArrayType.cc' || echo '$(srcdir)/'`SynTree/ArrayType.cc
    1971 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Tpo SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Po
    1972 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/ArrayType.cc' object='SynTree/cfa_cpp-ArrayType.o' libtool=no @AMDEPBACKSLASH@
    1973 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1974 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ArrayType.o `test -f 'SynTree/ArrayType.cc' || echo '$(srcdir)/'`SynTree/ArrayType.cc
    1975 
    1976 SynTree/cfa_cpp-ArrayType.obj: SynTree/ArrayType.cc
    1977 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ArrayType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Tpo -c -o SynTree/cfa_cpp-ArrayType.obj `if test -f 'SynTree/ArrayType.cc'; then $(CYGPATH_W) 'SynTree/ArrayType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ArrayType.cc'; fi`
    1978 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Tpo SynTree/$(DEPDIR)/cfa_cpp-ArrayType.Po
    1979 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/ArrayType.cc' object='SynTree/cfa_cpp-ArrayType.obj' libtool=no @AMDEPBACKSLASH@
    1980 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1981 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ArrayType.obj `if test -f 'SynTree/ArrayType.cc'; then $(CYGPATH_W) 'SynTree/ArrayType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ArrayType.cc'; fi`
    1982 
    1983 SynTree/cfa_cpp-FunctionType.o: SynTree/FunctionType.cc
    1984 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-FunctionType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Tpo -c -o SynTree/cfa_cpp-FunctionType.o `test -f 'SynTree/FunctionType.cc' || echo '$(srcdir)/'`SynTree/FunctionType.cc
    1985 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Tpo SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Po
    1986 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/FunctionType.cc' object='SynTree/cfa_cpp-FunctionType.o' libtool=no @AMDEPBACKSLASH@
    1987 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1988 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-FunctionType.o `test -f 'SynTree/FunctionType.cc' || echo '$(srcdir)/'`SynTree/FunctionType.cc
    1989 
    1990 SynTree/cfa_cpp-FunctionType.obj: SynTree/FunctionType.cc
    1991 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-FunctionType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Tpo -c -o SynTree/cfa_cpp-FunctionType.obj `if test -f 'SynTree/FunctionType.cc'; then $(CYGPATH_W) 'SynTree/FunctionType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/FunctionType.cc'; fi`
    1992 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Tpo SynTree/$(DEPDIR)/cfa_cpp-FunctionType.Po
    1993 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/FunctionType.cc' object='SynTree/cfa_cpp-FunctionType.obj' libtool=no @AMDEPBACKSLASH@
    1994 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    1995 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-FunctionType.obj `if test -f 'SynTree/FunctionType.cc'; then $(CYGPATH_W) 'SynTree/FunctionType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/FunctionType.cc'; fi`
    1996 
    1997 SynTree/cfa_cpp-ReferenceToType.o: SynTree/ReferenceToType.cc
    1998 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ReferenceToType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Tpo -c -o SynTree/cfa_cpp-ReferenceToType.o `test -f 'SynTree/ReferenceToType.cc' || echo '$(srcdir)/'`SynTree/ReferenceToType.cc
    1999 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Tpo SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Po
    2000 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/ReferenceToType.cc' object='SynTree/cfa_cpp-ReferenceToType.o' libtool=no @AMDEPBACKSLASH@
    2001 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2002 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ReferenceToType.o `test -f 'SynTree/ReferenceToType.cc' || echo '$(srcdir)/'`SynTree/ReferenceToType.cc
    2003 
    2004 SynTree/cfa_cpp-ReferenceToType.obj: SynTree/ReferenceToType.cc
    2005 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ReferenceToType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Tpo -c -o SynTree/cfa_cpp-ReferenceToType.obj `if test -f 'SynTree/ReferenceToType.cc'; then $(CYGPATH_W) 'SynTree/ReferenceToType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ReferenceToType.cc'; fi`
    2006 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Tpo SynTree/$(DEPDIR)/cfa_cpp-ReferenceToType.Po
    2007 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/ReferenceToType.cc' object='SynTree/cfa_cpp-ReferenceToType.obj' libtool=no @AMDEPBACKSLASH@
    2008 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2009 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ReferenceToType.obj `if test -f 'SynTree/ReferenceToType.cc'; then $(CYGPATH_W) 'SynTree/ReferenceToType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ReferenceToType.cc'; fi`
    2010 
    2011 SynTree/cfa_cpp-TupleType.o: SynTree/TupleType.cc
    2012 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TupleType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TupleType.Tpo -c -o SynTree/cfa_cpp-TupleType.o `test -f 'SynTree/TupleType.cc' || echo '$(srcdir)/'`SynTree/TupleType.cc
    2013 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TupleType.Tpo SynTree/$(DEPDIR)/cfa_cpp-TupleType.Po
    2014 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/TupleType.cc' object='SynTree/cfa_cpp-TupleType.o' libtool=no @AMDEPBACKSLASH@
    2015 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2016 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TupleType.o `test -f 'SynTree/TupleType.cc' || echo '$(srcdir)/'`SynTree/TupleType.cc
    2017 
    2018 SynTree/cfa_cpp-TupleType.obj: SynTree/TupleType.cc
    2019 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TupleType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TupleType.Tpo -c -o SynTree/cfa_cpp-TupleType.obj `if test -f 'SynTree/TupleType.cc'; then $(CYGPATH_W) 'SynTree/TupleType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TupleType.cc'; fi`
    2020 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TupleType.Tpo SynTree/$(DEPDIR)/cfa_cpp-TupleType.Po
    2021 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/TupleType.cc' object='SynTree/cfa_cpp-TupleType.obj' libtool=no @AMDEPBACKSLASH@
    2022 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2023 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TupleType.obj `if test -f 'SynTree/TupleType.cc'; then $(CYGPATH_W) 'SynTree/TupleType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TupleType.cc'; fi`
    2024 
    2025 SynTree/cfa_cpp-TypeofType.o: SynTree/TypeofType.cc
    2026 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeofType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Tpo -c -o SynTree/cfa_cpp-TypeofType.o `test -f 'SynTree/TypeofType.cc' || echo '$(srcdir)/'`SynTree/TypeofType.cc
    2027 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Po
    2028 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/TypeofType.cc' object='SynTree/cfa_cpp-TypeofType.o' libtool=no @AMDEPBACKSLASH@
    2029 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2030 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeofType.o `test -f 'SynTree/TypeofType.cc' || echo '$(srcdir)/'`SynTree/TypeofType.cc
    2031 
    2032 SynTree/cfa_cpp-TypeofType.obj: SynTree/TypeofType.cc
    2033 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeofType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Tpo -c -o SynTree/cfa_cpp-TypeofType.obj `if test -f 'SynTree/TypeofType.cc'; then $(CYGPATH_W) 'SynTree/TypeofType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeofType.cc'; fi`
    2034 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeofType.Po
    2035 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/TypeofType.cc' object='SynTree/cfa_cpp-TypeofType.obj' libtool=no @AMDEPBACKSLASH@
    2036 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2037 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeofType.obj `if test -f 'SynTree/TypeofType.cc'; then $(CYGPATH_W) 'SynTree/TypeofType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeofType.cc'; fi`
    2038 
    2039 SynTree/cfa_cpp-AttrType.o: SynTree/AttrType.cc
    2040 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AttrType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AttrType.Tpo -c -o SynTree/cfa_cpp-AttrType.o `test -f 'SynTree/AttrType.cc' || echo '$(srcdir)/'`SynTree/AttrType.cc
    2041 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AttrType.Tpo SynTree/$(DEPDIR)/cfa_cpp-AttrType.Po
    2042 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/AttrType.cc' object='SynTree/cfa_cpp-AttrType.o' libtool=no @AMDEPBACKSLASH@
    2043 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2044 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AttrType.o `test -f 'SynTree/AttrType.cc' || echo '$(srcdir)/'`SynTree/AttrType.cc
    2045 
    2046 SynTree/cfa_cpp-AttrType.obj: SynTree/AttrType.cc
    2047 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AttrType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AttrType.Tpo -c -o SynTree/cfa_cpp-AttrType.obj `if test -f 'SynTree/AttrType.cc'; then $(CYGPATH_W) 'SynTree/AttrType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AttrType.cc'; fi`
    2048 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AttrType.Tpo SynTree/$(DEPDIR)/cfa_cpp-AttrType.Po
    2049 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/AttrType.cc' object='SynTree/cfa_cpp-AttrType.obj' libtool=no @AMDEPBACKSLASH@
    2050 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2051 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AttrType.obj `if test -f 'SynTree/AttrType.cc'; then $(CYGPATH_W) 'SynTree/AttrType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AttrType.cc'; fi`
    2052 
    2053 SynTree/cfa_cpp-Constant.o: SynTree/Constant.cc
    2054 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Constant.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Constant.Tpo -c -o SynTree/cfa_cpp-Constant.o `test -f 'SynTree/Constant.cc' || echo '$(srcdir)/'`SynTree/Constant.cc
    2055 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Constant.Tpo SynTree/$(DEPDIR)/cfa_cpp-Constant.Po
    2056 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Constant.cc' object='SynTree/cfa_cpp-Constant.o' libtool=no @AMDEPBACKSLASH@
    2057 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2058 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Constant.o `test -f 'SynTree/Constant.cc' || echo '$(srcdir)/'`SynTree/Constant.cc
    2059 
    2060 SynTree/cfa_cpp-Constant.obj: SynTree/Constant.cc
    2061 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Constant.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Constant.Tpo -c -o SynTree/cfa_cpp-Constant.obj `if test -f 'SynTree/Constant.cc'; then $(CYGPATH_W) 'SynTree/Constant.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Constant.cc'; fi`
    2062 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Constant.Tpo SynTree/$(DEPDIR)/cfa_cpp-Constant.Po
    2063 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Constant.cc' object='SynTree/cfa_cpp-Constant.obj' libtool=no @AMDEPBACKSLASH@
    2064 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2065 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Constant.obj `if test -f 'SynTree/Constant.cc'; then $(CYGPATH_W) 'SynTree/Constant.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Constant.cc'; fi`
    2066 
    2067 SynTree/cfa_cpp-Expression.o: SynTree/Expression.cc
    2068 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Expression.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Expression.Tpo -c -o SynTree/cfa_cpp-Expression.o `test -f 'SynTree/Expression.cc' || echo '$(srcdir)/'`SynTree/Expression.cc
    2069 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Expression.Tpo SynTree/$(DEPDIR)/cfa_cpp-Expression.Po
    2070 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Expression.cc' object='SynTree/cfa_cpp-Expression.o' libtool=no @AMDEPBACKSLASH@
    2071 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2072 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Expression.o `test -f 'SynTree/Expression.cc' || echo '$(srcdir)/'`SynTree/Expression.cc
    2073 
    2074 SynTree/cfa_cpp-Expression.obj: SynTree/Expression.cc
    2075 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Expression.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Expression.Tpo -c -o SynTree/cfa_cpp-Expression.obj `if test -f 'SynTree/Expression.cc'; then $(CYGPATH_W) 'SynTree/Expression.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Expression.cc'; fi`
    2076 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Expression.Tpo SynTree/$(DEPDIR)/cfa_cpp-Expression.Po
    2077 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Expression.cc' object='SynTree/cfa_cpp-Expression.obj' libtool=no @AMDEPBACKSLASH@
    2078 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2079 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Expression.obj `if test -f 'SynTree/Expression.cc'; then $(CYGPATH_W) 'SynTree/Expression.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Expression.cc'; fi`
    2080 
    2081 SynTree/cfa_cpp-TupleExpr.o: SynTree/TupleExpr.cc
    2082 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TupleExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Tpo -c -o SynTree/cfa_cpp-TupleExpr.o `test -f 'SynTree/TupleExpr.cc' || echo '$(srcdir)/'`SynTree/TupleExpr.cc
    2083 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Po
    2084 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/TupleExpr.cc' object='SynTree/cfa_cpp-TupleExpr.o' libtool=no @AMDEPBACKSLASH@
    2085 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2086 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TupleExpr.o `test -f 'SynTree/TupleExpr.cc' || echo '$(srcdir)/'`SynTree/TupleExpr.cc
    2087 
    2088 SynTree/cfa_cpp-TupleExpr.obj: SynTree/TupleExpr.cc
    2089 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TupleExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Tpo -c -o SynTree/cfa_cpp-TupleExpr.obj `if test -f 'SynTree/TupleExpr.cc'; then $(CYGPATH_W) 'SynTree/TupleExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TupleExpr.cc'; fi`
    2090 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-TupleExpr.Po
    2091 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/TupleExpr.cc' object='SynTree/cfa_cpp-TupleExpr.obj' libtool=no @AMDEPBACKSLASH@
    2092 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2093 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TupleExpr.obj `if test -f 'SynTree/TupleExpr.cc'; then $(CYGPATH_W) 'SynTree/TupleExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TupleExpr.cc'; fi`
    2094 
    2095 SynTree/cfa_cpp-CommaExpr.o: SynTree/CommaExpr.cc
    2096 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CommaExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Tpo -c -o SynTree/cfa_cpp-CommaExpr.o `test -f 'SynTree/CommaExpr.cc' || echo '$(srcdir)/'`SynTree/CommaExpr.cc
    2097 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Po
    2098 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/CommaExpr.cc' object='SynTree/cfa_cpp-CommaExpr.o' libtool=no @AMDEPBACKSLASH@
    2099 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2100 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CommaExpr.o `test -f 'SynTree/CommaExpr.cc' || echo '$(srcdir)/'`SynTree/CommaExpr.cc
    2101 
    2102 SynTree/cfa_cpp-CommaExpr.obj: SynTree/CommaExpr.cc
    2103 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CommaExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Tpo -c -o SynTree/cfa_cpp-CommaExpr.obj `if test -f 'SynTree/CommaExpr.cc'; then $(CYGPATH_W) 'SynTree/CommaExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CommaExpr.cc'; fi`
    2104 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-CommaExpr.Po
    2105 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/CommaExpr.cc' object='SynTree/cfa_cpp-CommaExpr.obj' libtool=no @AMDEPBACKSLASH@
    2106 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2107 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CommaExpr.obj `if test -f 'SynTree/CommaExpr.cc'; then $(CYGPATH_W) 'SynTree/CommaExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CommaExpr.cc'; fi`
    2108 
    2109 SynTree/cfa_cpp-TypeExpr.o: SynTree/TypeExpr.cc
    2110 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Tpo -c -o SynTree/cfa_cpp-TypeExpr.o `test -f 'SynTree/TypeExpr.cc' || echo '$(srcdir)/'`SynTree/TypeExpr.cc
    2111 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Po
    2112 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/TypeExpr.cc' object='SynTree/cfa_cpp-TypeExpr.o' libtool=no @AMDEPBACKSLASH@
    2113 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2114 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeExpr.o `test -f 'SynTree/TypeExpr.cc' || echo '$(srcdir)/'`SynTree/TypeExpr.cc
    2115 
    2116 SynTree/cfa_cpp-TypeExpr.obj: SynTree/TypeExpr.cc
    2117 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Tpo -c -o SynTree/cfa_cpp-TypeExpr.obj `if test -f 'SynTree/TypeExpr.cc'; then $(CYGPATH_W) 'SynTree/TypeExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeExpr.cc'; fi`
    2118 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeExpr.Po
    2119 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/TypeExpr.cc' object='SynTree/cfa_cpp-TypeExpr.obj' libtool=no @AMDEPBACKSLASH@
    2120 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2121 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeExpr.obj `if test -f 'SynTree/TypeExpr.cc'; then $(CYGPATH_W) 'SynTree/TypeExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeExpr.cc'; fi`
    2122 
    2123 SynTree/cfa_cpp-ApplicationExpr.o: SynTree/ApplicationExpr.cc
    2124 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ApplicationExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Tpo -c -o SynTree/cfa_cpp-ApplicationExpr.o `test -f 'SynTree/ApplicationExpr.cc' || echo '$(srcdir)/'`SynTree/ApplicationExpr.cc
    2125 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Po
    2126 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/ApplicationExpr.cc' object='SynTree/cfa_cpp-ApplicationExpr.o' libtool=no @AMDEPBACKSLASH@
    2127 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2128 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ApplicationExpr.o `test -f 'SynTree/ApplicationExpr.cc' || echo '$(srcdir)/'`SynTree/ApplicationExpr.cc
    2129 
    2130 SynTree/cfa_cpp-ApplicationExpr.obj: SynTree/ApplicationExpr.cc
    2131 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ApplicationExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Tpo -c -o SynTree/cfa_cpp-ApplicationExpr.obj `if test -f 'SynTree/ApplicationExpr.cc'; then $(CYGPATH_W) 'SynTree/ApplicationExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ApplicationExpr.cc'; fi`
    2132 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-ApplicationExpr.Po
    2133 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/ApplicationExpr.cc' object='SynTree/cfa_cpp-ApplicationExpr.obj' libtool=no @AMDEPBACKSLASH@
    2134 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2135 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ApplicationExpr.obj `if test -f 'SynTree/ApplicationExpr.cc'; then $(CYGPATH_W) 'SynTree/ApplicationExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ApplicationExpr.cc'; fi`
    2136 
    2137 SynTree/cfa_cpp-AddressExpr.o: SynTree/AddressExpr.cc
    2138 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AddressExpr.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Tpo -c -o SynTree/cfa_cpp-AddressExpr.o `test -f 'SynTree/AddressExpr.cc' || echo '$(srcdir)/'`SynTree/AddressExpr.cc
    2139 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Po
    2140 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/AddressExpr.cc' object='SynTree/cfa_cpp-AddressExpr.o' libtool=no @AMDEPBACKSLASH@
    2141 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2142 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AddressExpr.o `test -f 'SynTree/AddressExpr.cc' || echo '$(srcdir)/'`SynTree/AddressExpr.cc
    2143 
    2144 SynTree/cfa_cpp-AddressExpr.obj: SynTree/AddressExpr.cc
    2145 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AddressExpr.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Tpo -c -o SynTree/cfa_cpp-AddressExpr.obj `if test -f 'SynTree/AddressExpr.cc'; then $(CYGPATH_W) 'SynTree/AddressExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AddressExpr.cc'; fi`
    2146 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Tpo SynTree/$(DEPDIR)/cfa_cpp-AddressExpr.Po
    2147 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/AddressExpr.cc' object='SynTree/cfa_cpp-AddressExpr.obj' libtool=no @AMDEPBACKSLASH@
    2148 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2149 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AddressExpr.obj `if test -f 'SynTree/AddressExpr.cc'; then $(CYGPATH_W) 'SynTree/AddressExpr.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AddressExpr.cc'; fi`
    2150 
    2151 SynTree/cfa_cpp-Statement.o: SynTree/Statement.cc
    2152 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Statement.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Statement.Tpo -c -o SynTree/cfa_cpp-Statement.o `test -f 'SynTree/Statement.cc' || echo '$(srcdir)/'`SynTree/Statement.cc
    2153 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Statement.Tpo SynTree/$(DEPDIR)/cfa_cpp-Statement.Po
    2154 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Statement.cc' object='SynTree/cfa_cpp-Statement.o' libtool=no @AMDEPBACKSLASH@
    2155 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2156 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Statement.o `test -f 'SynTree/Statement.cc' || echo '$(srcdir)/'`SynTree/Statement.cc
    2157 
    2158 SynTree/cfa_cpp-Statement.obj: SynTree/Statement.cc
    2159 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Statement.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Statement.Tpo -c -o SynTree/cfa_cpp-Statement.obj `if test -f 'SynTree/Statement.cc'; then $(CYGPATH_W) 'SynTree/Statement.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Statement.cc'; fi`
    2160 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Statement.Tpo SynTree/$(DEPDIR)/cfa_cpp-Statement.Po
    2161 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Statement.cc' object='SynTree/cfa_cpp-Statement.obj' libtool=no @AMDEPBACKSLASH@
    2162 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2163 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Statement.obj `if test -f 'SynTree/Statement.cc'; then $(CYGPATH_W) 'SynTree/Statement.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Statement.cc'; fi`
    2164 
    2165 SynTree/cfa_cpp-CompoundStmt.o: SynTree/CompoundStmt.cc
    2166 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CompoundStmt.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Tpo -c -o SynTree/cfa_cpp-CompoundStmt.o `test -f 'SynTree/CompoundStmt.cc' || echo '$(srcdir)/'`SynTree/CompoundStmt.cc
    2167 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Tpo SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Po
    2168 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/CompoundStmt.cc' object='SynTree/cfa_cpp-CompoundStmt.o' libtool=no @AMDEPBACKSLASH@
    2169 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2170 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CompoundStmt.o `test -f 'SynTree/CompoundStmt.cc' || echo '$(srcdir)/'`SynTree/CompoundStmt.cc
    2171 
    2172 SynTree/cfa_cpp-CompoundStmt.obj: SynTree/CompoundStmt.cc
    2173 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CompoundStmt.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Tpo -c -o SynTree/cfa_cpp-CompoundStmt.obj `if test -f 'SynTree/CompoundStmt.cc'; then $(CYGPATH_W) 'SynTree/CompoundStmt.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CompoundStmt.cc'; fi`
    2174 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Tpo SynTree/$(DEPDIR)/cfa_cpp-CompoundStmt.Po
    2175 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/CompoundStmt.cc' object='SynTree/cfa_cpp-CompoundStmt.obj' libtool=no @AMDEPBACKSLASH@
    2176 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2177 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CompoundStmt.obj `if test -f 'SynTree/CompoundStmt.cc'; then $(CYGPATH_W) 'SynTree/CompoundStmt.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CompoundStmt.cc'; fi`
    2178 
    2179 SynTree/cfa_cpp-DeclStmt.o: SynTree/DeclStmt.cc
    2180 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-DeclStmt.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Tpo -c -o SynTree/cfa_cpp-DeclStmt.o `test -f 'SynTree/DeclStmt.cc' || echo '$(srcdir)/'`SynTree/DeclStmt.cc
    2181 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Tpo SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Po
    2182 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/DeclStmt.cc' object='SynTree/cfa_cpp-DeclStmt.o' libtool=no @AMDEPBACKSLASH@
    2183 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2184 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-DeclStmt.o `test -f 'SynTree/DeclStmt.cc' || echo '$(srcdir)/'`SynTree/DeclStmt.cc
    2185 
    2186 SynTree/cfa_cpp-DeclStmt.obj: SynTree/DeclStmt.cc
    2187 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-DeclStmt.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Tpo -c -o SynTree/cfa_cpp-DeclStmt.obj `if test -f 'SynTree/DeclStmt.cc'; then $(CYGPATH_W) 'SynTree/DeclStmt.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/DeclStmt.cc'; fi`
    2188 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Tpo SynTree/$(DEPDIR)/cfa_cpp-DeclStmt.Po
    2189 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/DeclStmt.cc' object='SynTree/cfa_cpp-DeclStmt.obj' libtool=no @AMDEPBACKSLASH@
    2190 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2191 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-DeclStmt.obj `if test -f 'SynTree/DeclStmt.cc'; then $(CYGPATH_W) 'SynTree/DeclStmt.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/DeclStmt.cc'; fi`
    2192 
    2193 SynTree/cfa_cpp-Declaration.o: SynTree/Declaration.cc
    2194 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Declaration.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Declaration.Tpo -c -o SynTree/cfa_cpp-Declaration.o `test -f 'SynTree/Declaration.cc' || echo '$(srcdir)/'`SynTree/Declaration.cc
    2195 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Declaration.Tpo SynTree/$(DEPDIR)/cfa_cpp-Declaration.Po
    2196 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Declaration.cc' object='SynTree/cfa_cpp-Declaration.o' libtool=no @AMDEPBACKSLASH@
    2197 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2198 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Declaration.o `test -f 'SynTree/Declaration.cc' || echo '$(srcdir)/'`SynTree/Declaration.cc
    2199 
    2200 SynTree/cfa_cpp-Declaration.obj: SynTree/Declaration.cc
    2201 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Declaration.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Declaration.Tpo -c -o SynTree/cfa_cpp-Declaration.obj `if test -f 'SynTree/Declaration.cc'; then $(CYGPATH_W) 'SynTree/Declaration.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Declaration.cc'; fi`
    2202 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Declaration.Tpo SynTree/$(DEPDIR)/cfa_cpp-Declaration.Po
    2203 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Declaration.cc' object='SynTree/cfa_cpp-Declaration.obj' libtool=no @AMDEPBACKSLASH@
    2204 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2205 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Declaration.obj `if test -f 'SynTree/Declaration.cc'; then $(CYGPATH_W) 'SynTree/Declaration.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Declaration.cc'; fi`
    2206 
    2207 SynTree/cfa_cpp-DeclarationWithType.o: SynTree/DeclarationWithType.cc
    2208 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-DeclarationWithType.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Tpo -c -o SynTree/cfa_cpp-DeclarationWithType.o `test -f 'SynTree/DeclarationWithType.cc' || echo '$(srcdir)/'`SynTree/DeclarationWithType.cc
    2209 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Tpo SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Po
    2210 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/DeclarationWithType.cc' object='SynTree/cfa_cpp-DeclarationWithType.o' libtool=no @AMDEPBACKSLASH@
    2211 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2212 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-DeclarationWithType.o `test -f 'SynTree/DeclarationWithType.cc' || echo '$(srcdir)/'`SynTree/DeclarationWithType.cc
    2213 
    2214 SynTree/cfa_cpp-DeclarationWithType.obj: SynTree/DeclarationWithType.cc
    2215 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-DeclarationWithType.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Tpo -c -o SynTree/cfa_cpp-DeclarationWithType.obj `if test -f 'SynTree/DeclarationWithType.cc'; then $(CYGPATH_W) 'SynTree/DeclarationWithType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/DeclarationWithType.cc'; fi`
    2216 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Tpo SynTree/$(DEPDIR)/cfa_cpp-DeclarationWithType.Po
    2217 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/DeclarationWithType.cc' object='SynTree/cfa_cpp-DeclarationWithType.obj' libtool=no @AMDEPBACKSLASH@
    2218 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2219 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-DeclarationWithType.obj `if test -f 'SynTree/DeclarationWithType.cc'; then $(CYGPATH_W) 'SynTree/DeclarationWithType.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/DeclarationWithType.cc'; fi`
    2220 
    2221 SynTree/cfa_cpp-ObjectDecl.o: SynTree/ObjectDecl.cc
    2222 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ObjectDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Tpo -c -o SynTree/cfa_cpp-ObjectDecl.o `test -f 'SynTree/ObjectDecl.cc' || echo '$(srcdir)/'`SynTree/ObjectDecl.cc
    2223 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Po
    2224 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/ObjectDecl.cc' object='SynTree/cfa_cpp-ObjectDecl.o' libtool=no @AMDEPBACKSLASH@
    2225 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2226 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ObjectDecl.o `test -f 'SynTree/ObjectDecl.cc' || echo '$(srcdir)/'`SynTree/ObjectDecl.cc
    2227 
    2228 SynTree/cfa_cpp-ObjectDecl.obj: SynTree/ObjectDecl.cc
    2229 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-ObjectDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Tpo -c -o SynTree/cfa_cpp-ObjectDecl.obj `if test -f 'SynTree/ObjectDecl.cc'; then $(CYGPATH_W) 'SynTree/ObjectDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ObjectDecl.cc'; fi`
    2230 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-ObjectDecl.Po
    2231 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/ObjectDecl.cc' object='SynTree/cfa_cpp-ObjectDecl.obj' libtool=no @AMDEPBACKSLASH@
    2232 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2233 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-ObjectDecl.obj `if test -f 'SynTree/ObjectDecl.cc'; then $(CYGPATH_W) 'SynTree/ObjectDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/ObjectDecl.cc'; fi`
    2234 
    2235 SynTree/cfa_cpp-FunctionDecl.o: SynTree/FunctionDecl.cc
    2236 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-FunctionDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Tpo -c -o SynTree/cfa_cpp-FunctionDecl.o `test -f 'SynTree/FunctionDecl.cc' || echo '$(srcdir)/'`SynTree/FunctionDecl.cc
    2237 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Po
    2238 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/FunctionDecl.cc' object='SynTree/cfa_cpp-FunctionDecl.o' libtool=no @AMDEPBACKSLASH@
    2239 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2240 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-FunctionDecl.o `test -f 'SynTree/FunctionDecl.cc' || echo '$(srcdir)/'`SynTree/FunctionDecl.cc
    2241 
    2242 SynTree/cfa_cpp-FunctionDecl.obj: SynTree/FunctionDecl.cc
    2243 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-FunctionDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Tpo -c -o SynTree/cfa_cpp-FunctionDecl.obj `if test -f 'SynTree/FunctionDecl.cc'; then $(CYGPATH_W) 'SynTree/FunctionDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/FunctionDecl.cc'; fi`
    2244 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-FunctionDecl.Po
    2245 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/FunctionDecl.cc' object='SynTree/cfa_cpp-FunctionDecl.obj' libtool=no @AMDEPBACKSLASH@
    2246 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2247 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-FunctionDecl.obj `if test -f 'SynTree/FunctionDecl.cc'; then $(CYGPATH_W) 'SynTree/FunctionDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/FunctionDecl.cc'; fi`
    2248 
    2249 SynTree/cfa_cpp-AggregateDecl.o: SynTree/AggregateDecl.cc
    2250 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AggregateDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Tpo -c -o SynTree/cfa_cpp-AggregateDecl.o `test -f 'SynTree/AggregateDecl.cc' || echo '$(srcdir)/'`SynTree/AggregateDecl.cc
    2251 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Po
    2252 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/AggregateDecl.cc' object='SynTree/cfa_cpp-AggregateDecl.o' libtool=no @AMDEPBACKSLASH@
    2253 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2254 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AggregateDecl.o `test -f 'SynTree/AggregateDecl.cc' || echo '$(srcdir)/'`SynTree/AggregateDecl.cc
    2255 
    2256 SynTree/cfa_cpp-AggregateDecl.obj: SynTree/AggregateDecl.cc
    2257 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-AggregateDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Tpo -c -o SynTree/cfa_cpp-AggregateDecl.obj `if test -f 'SynTree/AggregateDecl.cc'; then $(CYGPATH_W) 'SynTree/AggregateDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AggregateDecl.cc'; fi`
    2258 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-AggregateDecl.Po
    2259 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/AggregateDecl.cc' object='SynTree/cfa_cpp-AggregateDecl.obj' libtool=no @AMDEPBACKSLASH@
    2260 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2261 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-AggregateDecl.obj `if test -f 'SynTree/AggregateDecl.cc'; then $(CYGPATH_W) 'SynTree/AggregateDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/AggregateDecl.cc'; fi`
    2262 
    2263 SynTree/cfa_cpp-NamedTypeDecl.o: SynTree/NamedTypeDecl.cc
    2264 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-NamedTypeDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Tpo -c -o SynTree/cfa_cpp-NamedTypeDecl.o `test -f 'SynTree/NamedTypeDecl.cc' || echo '$(srcdir)/'`SynTree/NamedTypeDecl.cc
    2265 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Po
    2266 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/NamedTypeDecl.cc' object='SynTree/cfa_cpp-NamedTypeDecl.o' libtool=no @AMDEPBACKSLASH@
    2267 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2268 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-NamedTypeDecl.o `test -f 'SynTree/NamedTypeDecl.cc' || echo '$(srcdir)/'`SynTree/NamedTypeDecl.cc
    2269 
    2270 SynTree/cfa_cpp-NamedTypeDecl.obj: SynTree/NamedTypeDecl.cc
    2271 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-NamedTypeDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Tpo -c -o SynTree/cfa_cpp-NamedTypeDecl.obj `if test -f 'SynTree/NamedTypeDecl.cc'; then $(CYGPATH_W) 'SynTree/NamedTypeDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/NamedTypeDecl.cc'; fi`
    2272 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-NamedTypeDecl.Po
    2273 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/NamedTypeDecl.cc' object='SynTree/cfa_cpp-NamedTypeDecl.obj' libtool=no @AMDEPBACKSLASH@
    2274 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2275 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-NamedTypeDecl.obj `if test -f 'SynTree/NamedTypeDecl.cc'; then $(CYGPATH_W) 'SynTree/NamedTypeDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/NamedTypeDecl.cc'; fi`
    2276 
    2277 SynTree/cfa_cpp-TypeDecl.o: SynTree/TypeDecl.cc
    2278 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeDecl.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Tpo -c -o SynTree/cfa_cpp-TypeDecl.o `test -f 'SynTree/TypeDecl.cc' || echo '$(srcdir)/'`SynTree/TypeDecl.cc
    2279 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Po
    2280 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/TypeDecl.cc' object='SynTree/cfa_cpp-TypeDecl.o' libtool=no @AMDEPBACKSLASH@
    2281 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2282 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeDecl.o `test -f 'SynTree/TypeDecl.cc' || echo '$(srcdir)/'`SynTree/TypeDecl.cc
    2283 
    2284 SynTree/cfa_cpp-TypeDecl.obj: SynTree/TypeDecl.cc
    2285 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeDecl.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Tpo -c -o SynTree/cfa_cpp-TypeDecl.obj `if test -f 'SynTree/TypeDecl.cc'; then $(CYGPATH_W) 'SynTree/TypeDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeDecl.cc'; fi`
    2286 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeDecl.Po
    2287 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/TypeDecl.cc' object='SynTree/cfa_cpp-TypeDecl.obj' libtool=no @AMDEPBACKSLASH@
    2288 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2289 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeDecl.obj `if test -f 'SynTree/TypeDecl.cc'; then $(CYGPATH_W) 'SynTree/TypeDecl.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeDecl.cc'; fi`
    2290 
    2291 SynTree/cfa_cpp-Initializer.o: SynTree/Initializer.cc
    2292 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Initializer.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Initializer.Tpo -c -o SynTree/cfa_cpp-Initializer.o `test -f 'SynTree/Initializer.cc' || echo '$(srcdir)/'`SynTree/Initializer.cc
    2293 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Initializer.Tpo SynTree/$(DEPDIR)/cfa_cpp-Initializer.Po
    2294 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Initializer.cc' object='SynTree/cfa_cpp-Initializer.o' libtool=no @AMDEPBACKSLASH@
    2295 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2296 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Initializer.o `test -f 'SynTree/Initializer.cc' || echo '$(srcdir)/'`SynTree/Initializer.cc
    2297 
    2298 SynTree/cfa_cpp-Initializer.obj: SynTree/Initializer.cc
    2299 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Initializer.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Initializer.Tpo -c -o SynTree/cfa_cpp-Initializer.obj `if test -f 'SynTree/Initializer.cc'; then $(CYGPATH_W) 'SynTree/Initializer.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Initializer.cc'; fi`
    2300 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Initializer.Tpo SynTree/$(DEPDIR)/cfa_cpp-Initializer.Po
    2301 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Initializer.cc' object='SynTree/cfa_cpp-Initializer.obj' libtool=no @AMDEPBACKSLASH@
    2302 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2303 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Initializer.obj `if test -f 'SynTree/Initializer.cc'; then $(CYGPATH_W) 'SynTree/Initializer.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Initializer.cc'; fi`
    2304 
    2305 SynTree/cfa_cpp-Visitor.o: SynTree/Visitor.cc
    2306 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Visitor.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Visitor.Tpo -c -o SynTree/cfa_cpp-Visitor.o `test -f 'SynTree/Visitor.cc' || echo '$(srcdir)/'`SynTree/Visitor.cc
    2307 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Visitor.Tpo SynTree/$(DEPDIR)/cfa_cpp-Visitor.Po
    2308 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Visitor.cc' object='SynTree/cfa_cpp-Visitor.o' libtool=no @AMDEPBACKSLASH@
    2309 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2310 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Visitor.o `test -f 'SynTree/Visitor.cc' || echo '$(srcdir)/'`SynTree/Visitor.cc
    2311 
    2312 SynTree/cfa_cpp-Visitor.obj: SynTree/Visitor.cc
    2313 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Visitor.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Visitor.Tpo -c -o SynTree/cfa_cpp-Visitor.obj `if test -f 'SynTree/Visitor.cc'; then $(CYGPATH_W) 'SynTree/Visitor.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Visitor.cc'; fi`
    2314 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Visitor.Tpo SynTree/$(DEPDIR)/cfa_cpp-Visitor.Po
    2315 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Visitor.cc' object='SynTree/cfa_cpp-Visitor.obj' libtool=no @AMDEPBACKSLASH@
    2316 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2317 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Visitor.obj `if test -f 'SynTree/Visitor.cc'; then $(CYGPATH_W) 'SynTree/Visitor.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Visitor.cc'; fi`
    2318 
    2319 SynTree/cfa_cpp-Mutator.o: SynTree/Mutator.cc
    2320 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Mutator.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Mutator.Tpo -c -o SynTree/cfa_cpp-Mutator.o `test -f 'SynTree/Mutator.cc' || echo '$(srcdir)/'`SynTree/Mutator.cc
    2321 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Mutator.Tpo SynTree/$(DEPDIR)/cfa_cpp-Mutator.Po
    2322 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Mutator.cc' object='SynTree/cfa_cpp-Mutator.o' libtool=no @AMDEPBACKSLASH@
    2323 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2324 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Mutator.o `test -f 'SynTree/Mutator.cc' || echo '$(srcdir)/'`SynTree/Mutator.cc
    2325 
    2326 SynTree/cfa_cpp-Mutator.obj: SynTree/Mutator.cc
    2327 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-Mutator.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-Mutator.Tpo -c -o SynTree/cfa_cpp-Mutator.obj `if test -f 'SynTree/Mutator.cc'; then $(CYGPATH_W) 'SynTree/Mutator.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Mutator.cc'; fi`
    2328 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-Mutator.Tpo SynTree/$(DEPDIR)/cfa_cpp-Mutator.Po
    2329 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/Mutator.cc' object='SynTree/cfa_cpp-Mutator.obj' libtool=no @AMDEPBACKSLASH@
    2330 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2331 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-Mutator.obj `if test -f 'SynTree/Mutator.cc'; then $(CYGPATH_W) 'SynTree/Mutator.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/Mutator.cc'; fi`
    2332 
    2333 SynTree/cfa_cpp-CodeGenVisitor.o: SynTree/CodeGenVisitor.cc
    2334 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CodeGenVisitor.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Tpo -c -o SynTree/cfa_cpp-CodeGenVisitor.o `test -f 'SynTree/CodeGenVisitor.cc' || echo '$(srcdir)/'`SynTree/CodeGenVisitor.cc
    2335 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Tpo SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Po
    2336 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/CodeGenVisitor.cc' object='SynTree/cfa_cpp-CodeGenVisitor.o' libtool=no @AMDEPBACKSLASH@
    2337 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2338 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CodeGenVisitor.o `test -f 'SynTree/CodeGenVisitor.cc' || echo '$(srcdir)/'`SynTree/CodeGenVisitor.cc
    2339 
    2340 SynTree/cfa_cpp-CodeGenVisitor.obj: SynTree/CodeGenVisitor.cc
    2341 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-CodeGenVisitor.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Tpo -c -o SynTree/cfa_cpp-CodeGenVisitor.obj `if test -f 'SynTree/CodeGenVisitor.cc'; then $(CYGPATH_W) 'SynTree/CodeGenVisitor.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CodeGenVisitor.cc'; fi`
    2342 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Tpo SynTree/$(DEPDIR)/cfa_cpp-CodeGenVisitor.Po
    2343 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/CodeGenVisitor.cc' object='SynTree/cfa_cpp-CodeGenVisitor.obj' libtool=no @AMDEPBACKSLASH@
    2344 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2345 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-CodeGenVisitor.obj `if test -f 'SynTree/CodeGenVisitor.cc'; then $(CYGPATH_W) 'SynTree/CodeGenVisitor.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/CodeGenVisitor.cc'; fi`
    2346 
    2347 SynTree/cfa_cpp-TypeSubstitution.o: SynTree/TypeSubstitution.cc
    2348 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeSubstitution.o -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Tpo -c -o SynTree/cfa_cpp-TypeSubstitution.o `test -f 'SynTree/TypeSubstitution.cc' || echo '$(srcdir)/'`SynTree/TypeSubstitution.cc
    2349 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Po
    2350 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/TypeSubstitution.cc' object='SynTree/cfa_cpp-TypeSubstitution.o' libtool=no @AMDEPBACKSLASH@
    2351 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2352 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeSubstitution.o `test -f 'SynTree/TypeSubstitution.cc' || echo '$(srcdir)/'`SynTree/TypeSubstitution.cc
    2353 
    2354 SynTree/cfa_cpp-TypeSubstitution.obj: SynTree/TypeSubstitution.cc
    2355 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT SynTree/cfa_cpp-TypeSubstitution.obj -MD -MP -MF SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Tpo -c -o SynTree/cfa_cpp-TypeSubstitution.obj `if test -f 'SynTree/TypeSubstitution.cc'; then $(CYGPATH_W) 'SynTree/TypeSubstitution.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeSubstitution.cc'; fi`
    2356 @am__fastdepCXX_TRUE@   $(am__mv) SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Tpo SynTree/$(DEPDIR)/cfa_cpp-TypeSubstitution.Po
    2357 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='SynTree/TypeSubstitution.cc' object='SynTree/cfa_cpp-TypeSubstitution.obj' libtool=no @AMDEPBACKSLASH@
    2358 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2359 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o SynTree/cfa_cpp-TypeSubstitution.obj `if test -f 'SynTree/TypeSubstitution.cc'; then $(CYGPATH_W) 'SynTree/TypeSubstitution.cc'; else $(CYGPATH_W) '$(srcdir)/SynTree/TypeSubstitution.cc'; fi`
    2360 
    2361 Tuples/cfa_cpp-Mutate.o: Tuples/Mutate.cc
    2362 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-Mutate.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o Tuples/cfa_cpp-Mutate.o `test -f 'Tuples/Mutate.cc' || echo '$(srcdir)/'`Tuples/Mutate.cc
    2363 @am__fastdepCXX_TRUE@   $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-Mutate.Tpo Tuples/$(DEPDIR)/cfa_cpp-Mutate.Po
    2364 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Tuples/Mutate.cc' object='Tuples/cfa_cpp-Mutate.o' libtool=no @AMDEPBACKSLASH@
    2365 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2366 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-Mutate.o `test -f 'Tuples/Mutate.cc' || echo '$(srcdir)/'`Tuples/Mutate.cc
    2367 
    2368 Tuples/cfa_cpp-Mutate.obj: Tuples/Mutate.cc
    2369 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-Mutate.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-Mutate.Tpo -c -o Tuples/cfa_cpp-Mutate.obj `if test -f 'Tuples/Mutate.cc'; then $(CYGPATH_W) 'Tuples/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/Mutate.cc'; fi`
    2370 @am__fastdepCXX_TRUE@   $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-Mutate.Tpo Tuples/$(DEPDIR)/cfa_cpp-Mutate.Po
    2371 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Tuples/Mutate.cc' object='Tuples/cfa_cpp-Mutate.obj' libtool=no @AMDEPBACKSLASH@
    2372 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2373 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-Mutate.obj `if test -f 'Tuples/Mutate.cc'; then $(CYGPATH_W) 'Tuples/Mutate.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/Mutate.cc'; fi`
    2374 
    2375 Tuples/cfa_cpp-AssignExpand.o: Tuples/AssignExpand.cc
    2376 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-AssignExpand.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Tpo -c -o Tuples/cfa_cpp-AssignExpand.o `test -f 'Tuples/AssignExpand.cc' || echo '$(srcdir)/'`Tuples/AssignExpand.cc
    2377 @am__fastdepCXX_TRUE@   $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Tpo Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Po
    2378 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Tuples/AssignExpand.cc' object='Tuples/cfa_cpp-AssignExpand.o' libtool=no @AMDEPBACKSLASH@
    2379 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2380 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-AssignExpand.o `test -f 'Tuples/AssignExpand.cc' || echo '$(srcdir)/'`Tuples/AssignExpand.cc
    2381 
    2382 Tuples/cfa_cpp-AssignExpand.obj: Tuples/AssignExpand.cc
    2383 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-AssignExpand.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Tpo -c -o Tuples/cfa_cpp-AssignExpand.obj `if test -f 'Tuples/AssignExpand.cc'; then $(CYGPATH_W) 'Tuples/AssignExpand.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/AssignExpand.cc'; fi`
    2384 @am__fastdepCXX_TRUE@   $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Tpo Tuples/$(DEPDIR)/cfa_cpp-AssignExpand.Po
    2385 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Tuples/AssignExpand.cc' object='Tuples/cfa_cpp-AssignExpand.obj' libtool=no @AMDEPBACKSLASH@
    2386 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2387 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-AssignExpand.obj `if test -f 'Tuples/AssignExpand.cc'; then $(CYGPATH_W) 'Tuples/AssignExpand.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/AssignExpand.cc'; fi`
    2388 
    2389 Tuples/cfa_cpp-FunctionFixer.o: Tuples/FunctionFixer.cc
    2390 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-FunctionFixer.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Tpo -c -o Tuples/cfa_cpp-FunctionFixer.o `test -f 'Tuples/FunctionFixer.cc' || echo '$(srcdir)/'`Tuples/FunctionFixer.cc
    2391 @am__fastdepCXX_TRUE@   $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Tpo Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Po
    2392 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Tuples/FunctionFixer.cc' object='Tuples/cfa_cpp-FunctionFixer.o' libtool=no @AMDEPBACKSLASH@
    2393 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2394 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-FunctionFixer.o `test -f 'Tuples/FunctionFixer.cc' || echo '$(srcdir)/'`Tuples/FunctionFixer.cc
    2395 
    2396 Tuples/cfa_cpp-FunctionFixer.obj: Tuples/FunctionFixer.cc
    2397 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-FunctionFixer.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Tpo -c -o Tuples/cfa_cpp-FunctionFixer.obj `if test -f 'Tuples/FunctionFixer.cc'; then $(CYGPATH_W) 'Tuples/FunctionFixer.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/FunctionFixer.cc'; fi`
    2398 @am__fastdepCXX_TRUE@   $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Tpo Tuples/$(DEPDIR)/cfa_cpp-FunctionFixer.Po
    2399 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Tuples/FunctionFixer.cc' object='Tuples/cfa_cpp-FunctionFixer.obj' libtool=no @AMDEPBACKSLASH@
    2400 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2401 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-FunctionFixer.obj `if test -f 'Tuples/FunctionFixer.cc'; then $(CYGPATH_W) 'Tuples/FunctionFixer.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/FunctionFixer.cc'; fi`
    2402 
    2403 Tuples/cfa_cpp-TupleAssignment.o: Tuples/TupleAssignment.cc
    2404 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-TupleAssignment.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Tpo -c -o Tuples/cfa_cpp-TupleAssignment.o `test -f 'Tuples/TupleAssignment.cc' || echo '$(srcdir)/'`Tuples/TupleAssignment.cc
    2405 @am__fastdepCXX_TRUE@   $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Tpo Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Po
    2406 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Tuples/TupleAssignment.cc' object='Tuples/cfa_cpp-TupleAssignment.o' libtool=no @AMDEPBACKSLASH@
    2407 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2408 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-TupleAssignment.o `test -f 'Tuples/TupleAssignment.cc' || echo '$(srcdir)/'`Tuples/TupleAssignment.cc
    2409 
    2410 Tuples/cfa_cpp-TupleAssignment.obj: Tuples/TupleAssignment.cc
    2411 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-TupleAssignment.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Tpo -c -o Tuples/cfa_cpp-TupleAssignment.obj `if test -f 'Tuples/TupleAssignment.cc'; then $(CYGPATH_W) 'Tuples/TupleAssignment.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/TupleAssignment.cc'; fi`
    2412 @am__fastdepCXX_TRUE@   $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Tpo Tuples/$(DEPDIR)/cfa_cpp-TupleAssignment.Po
    2413 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Tuples/TupleAssignment.cc' object='Tuples/cfa_cpp-TupleAssignment.obj' libtool=no @AMDEPBACKSLASH@
    2414 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2415 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-TupleAssignment.obj `if test -f 'Tuples/TupleAssignment.cc'; then $(CYGPATH_W) 'Tuples/TupleAssignment.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/TupleAssignment.cc'; fi`
    2416 
    2417 Tuples/cfa_cpp-FunctionChecker.o: Tuples/FunctionChecker.cc
    2418 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-FunctionChecker.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Tpo -c -o Tuples/cfa_cpp-FunctionChecker.o `test -f 'Tuples/FunctionChecker.cc' || echo '$(srcdir)/'`Tuples/FunctionChecker.cc
    2419 @am__fastdepCXX_TRUE@   $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Tpo Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Po
    2420 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Tuples/FunctionChecker.cc' object='Tuples/cfa_cpp-FunctionChecker.o' libtool=no @AMDEPBACKSLASH@
    2421 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2422 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-FunctionChecker.o `test -f 'Tuples/FunctionChecker.cc' || echo '$(srcdir)/'`Tuples/FunctionChecker.cc
    2423 
    2424 Tuples/cfa_cpp-FunctionChecker.obj: Tuples/FunctionChecker.cc
    2425 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-FunctionChecker.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Tpo -c -o Tuples/cfa_cpp-FunctionChecker.obj `if test -f 'Tuples/FunctionChecker.cc'; then $(CYGPATH_W) 'Tuples/FunctionChecker.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/FunctionChecker.cc'; fi`
    2426 @am__fastdepCXX_TRUE@   $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Tpo Tuples/$(DEPDIR)/cfa_cpp-FunctionChecker.Po
    2427 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Tuples/FunctionChecker.cc' object='Tuples/cfa_cpp-FunctionChecker.obj' libtool=no @AMDEPBACKSLASH@
    2428 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2429 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-FunctionChecker.obj `if test -f 'Tuples/FunctionChecker.cc'; then $(CYGPATH_W) 'Tuples/FunctionChecker.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/FunctionChecker.cc'; fi`
    2430 
    2431 Tuples/cfa_cpp-NameMatcher.o: Tuples/NameMatcher.cc
    2432 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-NameMatcher.o -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Tpo -c -o Tuples/cfa_cpp-NameMatcher.o `test -f 'Tuples/NameMatcher.cc' || echo '$(srcdir)/'`Tuples/NameMatcher.cc
    2433 @am__fastdepCXX_TRUE@   $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Tpo Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Po
    2434 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Tuples/NameMatcher.cc' object='Tuples/cfa_cpp-NameMatcher.o' libtool=no @AMDEPBACKSLASH@
    2435 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2436 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-NameMatcher.o `test -f 'Tuples/NameMatcher.cc' || echo '$(srcdir)/'`Tuples/NameMatcher.cc
    2437 
    2438 Tuples/cfa_cpp-NameMatcher.obj: Tuples/NameMatcher.cc
    2439 @am__fastdepCXX_TRUE@   $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Tuples/cfa_cpp-NameMatcher.obj -MD -MP -MF Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Tpo -c -o Tuples/cfa_cpp-NameMatcher.obj `if test -f 'Tuples/NameMatcher.cc'; then $(CYGPATH_W) 'Tuples/NameMatcher.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/NameMatcher.cc'; fi`
    2440 @am__fastdepCXX_TRUE@   $(am__mv) Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Tpo Tuples/$(DEPDIR)/cfa_cpp-NameMatcher.Po
    2441 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='Tuples/NameMatcher.cc' object='Tuples/cfa_cpp-NameMatcher.obj' libtool=no @AMDEPBACKSLASH@
    2442 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    2443 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Tuples/cfa_cpp-NameMatcher.obj `if test -f 'Tuples/NameMatcher.cc'; then $(CYGPATH_W) 'Tuples/NameMatcher.cc'; else $(CYGPATH_W) '$(srcdir)/Tuples/NameMatcher.cc'; fi`
    2444 
    2445 .ll.cc:
    2446         $(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)
    2447 
    2448 .yy.cc:
    2449         $(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
    2450 
    2451 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
    2452         list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
    2453         unique=`for i in $$list; do \
    2454             if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
    2455           done | \
    2456           $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
    2457               END { if (nonempty) { for (i in files) print i; }; }'`; \
    2458         mkid -fID $$unique
    2459 tags: TAGS
    2460 
    2461 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
    2462                 $(TAGS_FILES) $(LISP)
    2463         set x; \
    2464         here=`pwd`; \
    2465         list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
    2466         unique=`for i in $$list; do \
    2467             if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
    2468           done | \
    2469           $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
    2470               END { if (nonempty) { for (i in files) print i; }; }'`; \
    2471         shift; \
    2472         if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
    2473           test -n "$$unique" || unique=$$empty_fix; \
    2474           if test $$# -gt 0; then \
    2475             $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
    2476               "$$@" $$unique; \
    2477           else \
    2478             $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
    2479               $$unique; \
    2480           fi; \
    2481         fi
    2482 ctags: CTAGS
    2483 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
    2484                 $(TAGS_FILES) $(LISP)
    2485         list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
    2486         unique=`for i in $$list; do \
    2487             if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
    2488           done | \
    2489           $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
    2490               END { if (nonempty) { for (i in files) print i; }; }'`; \
    2491         test -z "$(CTAGS_ARGS)$$unique" \
    2492           || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
    2493              $$unique
    2494 
    2495 GTAGS:
    2496         here=`$(am__cd) $(top_builddir) && pwd` \
    2497           && $(am__cd) $(top_srcdir) \
    2498           && gtags -i $(GTAGS_ARGS) "$$here"
    2499 
    2500 distclean-tags:
    2501         -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
    2502 
    2503 distdir: $(DISTFILES)
    2504         @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
    2505         topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
    2506         list='$(DISTFILES)'; \
    2507           dist_files=`for file in $$list; do echo $$file; done | \
    2508           sed -e "s|^$$srcdirstrip/||;t" \
    2509               -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
    2510         case $$dist_files in \
    2511           */*) $(MKDIR_P) `echo "$$dist_files" | \
    2512                            sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
    2513                            sort -u` ;; \
    2514         esac; \
    2515         for file in $$dist_files; do \
    2516           if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
    2517           if test -d $$d/$$file; then \
    2518             dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    2519             if test -d "$(distdir)/$$file"; then \
    2520               find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    2521             fi; \
    2522             if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
    2523               cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
    2524               find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    2525             fi; \
    2526             cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
    2527           else \
    2528             test -f "$(distdir)/$$file" \
    2529             || cp -p $$d/$$file "$(distdir)/$$file" \
    2530             || exit 1; \
    2531           fi; \
    2532         done
    2533 check-am: all-am
    2534 check: $(BUILT_SOURCES)
    2535         $(MAKE) $(AM_MAKEFLAGS) check-am
    2536 all-am: Makefile $(PROGRAMS)
    2537 installdirs:
    2538         for dir in "$(DESTDIR)$(cfa_cpplibdir)"; do \
    2539           test -z "$$dir" || $(MKDIR_P) "$$dir"; \
    2540         done
    2541 install: $(BUILT_SOURCES)
    2542         $(MAKE) $(AM_MAKEFLAGS) install-am
    2543 install-exec: install-exec-am
    2544 install-data: install-data-am
    2545 uninstall: uninstall-am
    2546 
    2547 install-am: all-am
    2548         @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
    2549 
    2550 installcheck: installcheck-am
    2551 install-strip:
    2552         if test -z '$(STRIP)'; then \
    2553           $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
    2554             install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
    2555               install; \
    2556         else \
    2557           $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
    2558             install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
    2559             "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
    2560         fi
    2561 mostlyclean-generic:
    2562 
    2563 clean-generic:
    2564 
    2565 distclean-generic:
    2566         -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
    2567         -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
    2568         -rm -f CodeGen/$(DEPDIR)/$(am__dirstamp)
    2569         -rm -f CodeGen/$(am__dirstamp)
    2570         -rm -f Common/$(DEPDIR)/$(am__dirstamp)
    2571         -rm -f Common/$(am__dirstamp)
    2572         -rm -f ControlStruct/$(DEPDIR)/$(am__dirstamp)
    2573         -rm -f ControlStruct/$(am__dirstamp)
    2574         -rm -f Designators/$(DEPDIR)/$(am__dirstamp)
    2575         -rm -f Designators/$(am__dirstamp)
    2576         -rm -f GenPoly/$(DEPDIR)/$(am__dirstamp)
    2577         -rm -f GenPoly/$(am__dirstamp)
    2578         -rm -f InitTweak/$(DEPDIR)/$(am__dirstamp)
    2579         -rm -f InitTweak/$(am__dirstamp)
    2580         -rm -f Parser/$(DEPDIR)/$(am__dirstamp)
    2581         -rm -f Parser/$(am__dirstamp)
    2582         -rm -f ResolvExpr/$(DEPDIR)/$(am__dirstamp)
    2583         -rm -f ResolvExpr/$(am__dirstamp)
    2584         -rm -f SymTab/$(DEPDIR)/$(am__dirstamp)
    2585         -rm -f SymTab/$(am__dirstamp)
    2586         -rm -f SynTree/$(DEPDIR)/$(am__dirstamp)
    2587         -rm -f SynTree/$(am__dirstamp)
    2588         -rm -f Tuples/$(DEPDIR)/$(am__dirstamp)
    2589         -rm -f Tuples/$(am__dirstamp)
    2590 
    2591 maintainer-clean-generic:
    2592         @echo "This command is intended for maintainers to use"
    2593         @echo "it deletes files that may require special tools to rebuild."
    2594         -rm -f Parser/lex.cc
    2595         -rm -f Parser/parser.cc
    2596         -rm -f Parser/parser.h
    2597         -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
    2598         -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
    2599 clean: clean-am
    2600 
    2601 clean-am: clean-cfa_cpplibPROGRAMS clean-generic mostlyclean-am
    2602 
    2603 distclean: distclean-am
    2604         -rm -rf ./$(DEPDIR) CodeGen/$(DEPDIR) Common/$(DEPDIR) ControlStruct/$(DEPDIR) Designators/$(DEPDIR) GenPoly/$(DEPDIR) InitTweak/$(DEPDIR) Parser/$(DEPDIR) ResolvExpr/$(DEPDIR) SymTab/$(DEPDIR) SynTree/$(DEPDIR) Tuples/$(DEPDIR)
    2605         -rm -f Makefile
    2606 distclean-am: clean-am distclean-compile distclean-generic \
    2607         distclean-tags
    2608 
    2609 dvi: dvi-am
    2610 
    2611 dvi-am:
    2612 
    2613 html: html-am
    2614 
    2615 html-am:
    2616 
    2617 info: info-am
    2618 
    2619 info-am:
    2620 
    2621 install-data-am: install-cfa_cpplibPROGRAMS
    2622 
    2623 install-dvi: install-dvi-am
    2624 
    2625 install-dvi-am:
    2626 
    2627 install-exec-am:
    2628 
    2629 install-html: install-html-am
    2630 
    2631 install-html-am:
    2632 
    2633 install-info: install-info-am
    2634 
    2635 install-info-am:
    2636 
    2637 install-man:
    2638 
    2639 install-pdf: install-pdf-am
    2640 
    2641 install-pdf-am:
    2642 
    2643 install-ps: install-ps-am
    2644 
    2645 install-ps-am:
    2646 
    2647 installcheck-am:
    2648 
    2649 maintainer-clean: maintainer-clean-am
    2650         -rm -rf ./$(DEPDIR) CodeGen/$(DEPDIR) Common/$(DEPDIR) ControlStruct/$(DEPDIR) Designators/$(DEPDIR) GenPoly/$(DEPDIR) InitTweak/$(DEPDIR) Parser/$(DEPDIR) ResolvExpr/$(DEPDIR) SymTab/$(DEPDIR) SynTree/$(DEPDIR) Tuples/$(DEPDIR)
    2651         -rm -f Makefile
    2652 maintainer-clean-am: distclean-am maintainer-clean-generic
    2653 
    2654 mostlyclean: mostlyclean-am
    2655 
    2656 mostlyclean-am: mostlyclean-compile mostlyclean-generic
    2657 
    2658 pdf: pdf-am
    2659 
    2660 pdf-am:
    2661 
    2662 ps: ps-am
    2663 
    2664 ps-am:
    2665 
    2666 uninstall-am: uninstall-cfa_cpplibPROGRAMS
    2667 
    2668 .MAKE: all check install install-am install-strip
    2669 
    2670 .PHONY: CTAGS GTAGS all all-am check check-am clean \
    2671         clean-cfa_cpplibPROGRAMS clean-generic ctags distclean \
    2672         distclean-compile distclean-generic distclean-tags distdir dvi \
    2673         dvi-am html html-am info info-am install install-am \
    2674         install-cfa_cpplibPROGRAMS install-data install-data-am \
    2675         install-dvi install-dvi-am install-exec install-exec-am \
    2676         install-html install-html-am install-info install-info-am \
    2677         install-man install-pdf install-pdf-am install-ps \
    2678         install-ps-am install-strip installcheck installcheck-am \
    2679         installdirs maintainer-clean maintainer-clean-generic \
    2680         mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
    2681         ps ps-am tags uninstall uninstall-am \
    2682         uninstall-cfa_cpplibPROGRAMS
    2683 
    2684 
    2685 #SRC +=  ArgTweak/Rewriter.cc \
    2686 #       ArgTweak/Mutate.cc
    2687 
    2688 #       Tuples/MultipleAssign.cc \
    2689 #       Tuples/FlattenTuple.cc \
    2690 #       Tuples/MultRet.cc \
    2691 #       Tuples/FixReturn.cc \
    2692 #       Tuples/MassAssignment.cc \
    2693 #       Tuples/TupleFixer.cc
    2694 
    2695 # Tell versions [3.59,3.63) of GNU make to not export all variables.
    2696 # Otherwise a system limit (for SysV at least) may be exceeded.
    2697 .NOEXPORT:
     68distclean: clean
  • src/Parser/DeclarationNode.cc

    r937e51d reb50842  
    1010// Created On       : Sat May 16 12:34:05 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jun 24 15:29:19 2015
    13 // Update Count     : 86
     12// Last Modified On : Thu May 21 09:28:54 2015
     13// Update Count     : 13
    1414//
    1515
     
    2121
    2222#include "TypeData.h"
    23 
    24 #include "SynTree/Declaration.h"
    2523#include "SynTree/Expression.h"
    2624
    27 #include "Parser.h"
    28 #include "TypedefTable.h"
    29 extern TypedefTable typedefTable;
    3025
    3126using namespace std;
    3227
    3328// These must remain in the same order as the corresponding DeclarationNode enumerations.
    34 const char *DeclarationNode::storageName[] = { "extern", "static", "auto", "register", "inline", "fortran", "_Noreturn", "_Thread_local", "" };
    3529const char *DeclarationNode::qualifierName[] = { "const", "restrict", "volatile", "lvalue", "_Atomic" };
    3630const char *DeclarationNode::basicTypeName[] = { "char", "int", "float", "double", "void", "_Bool", "_Complex", "_Imaginary" };
    37 const char *DeclarationNode::modifierName[]  = { "signed", "unsigned", "short", "long" };
    38 const char *DeclarationNode::aggregateName[] = { "struct", "union", "context" };
     31const char *DeclarationNode::modifierName[] = { "signed", "unsigned", "short", "long" };
     32const char *DeclarationNode::tyConName[] = { "struct", "union", "context" };
    3933const char *DeclarationNode::typeClassName[] = { "type", "dtype", "ftype" };
    4034
     
    6963}
    7064
     65const char *storageClassName[] = {
     66        // order must correspond with DeclarationNode::StorageClass
     67        "extern",
     68        "static",
     69        "auto",
     70        "register",
     71        "inline",
     72        "fortran",
     73};
     74
    7175void DeclarationNode::print( std::ostream &os, int indent ) const {
    72         os << string( indent, ' ' );
     76        os << string(indent, ' ' );
    7377        if ( name == "" ) {
    7478                os << "unnamed: ";
    7579        } else {
    7680                os << name << ": ";
    77         } // if
     81        }
    7882
    7983        if ( linkage != LinkageSpec::Cforall ) {
    8084                os << LinkageSpec::toString( linkage ) << " ";
    81         } // if
    82 
    83         printEnums( storageClasses.begin(), storageClasses.end(), DeclarationNode::storageName, os );
     85        }
     86
     87        printEnums( storageClasses.begin(), storageClasses.end(), storageClassName, os );
    8488        if ( type ) {
    8589                type->print( os, indent );
    8690        } else {
    8791                os << "untyped entity ";
    88         } // if
     92        }
    8993
    9094        if ( bitfieldWidth ) {
    91                 os << endl << string( indent + 2, ' ' ) << "with bitfield width ";
     95                os << endl << string(indent+2,  ' ') << "with bitfield width ";
    9296                bitfieldWidth->printOneLine( os );
    93         } // if
     97        }
    9498
    9599        if ( initializer != 0 ) {
    96                 os << endl << string( indent + 2, ' ' ) << "with initializer ";
     100                os << endl << string(indent+2,  ' ') << "with initializer ";
    97101                initializer->printOneLine( os );
    98         } // if
     102        }
    99103
    100104        os << endl;
     
    105109        if ( hasEllipsis ) {
    106110                os << string( indent, ' ' )  << "and a variable number of other arguments" << endl;
    107         } // if
     111        }
    108112}
    109113
     
    119123        if ( body ) {
    120124                newnode->type->function->hasBody = true;
    121         } // if
     125        }
    122126
    123127        if ( ret ) {
     
    125129                ret->type = 0;
    126130                delete ret;
    127         } // if
     131        }
    128132
    129133        return newnode;
     
    137141}
    138142
    139 DeclarationNode *DeclarationNode::newStorageClass( DeclarationNode::StorageClass sc ) {
     143DeclarationNode *DeclarationNode::newStorageClass( StorageClass sc ) {
    140144        DeclarationNode *newnode = new DeclarationNode;
    141145        newnode->storageClasses.push_back( sc );
     
    157161}
    158162
    159 DeclarationNode *DeclarationNode::newForall( DeclarationNode *forall ) {
     163DeclarationNode *DeclarationNode::newForall( DeclarationNode* forall ) {
    160164        DeclarationNode *newnode = new DeclarationNode;
    161165        newnode->type = new TypeData( TypeData::Unknown );
     
    164168}
    165169
    166 DeclarationNode *DeclarationNode::newFromTypedef( std::string *name ) {
     170DeclarationNode *DeclarationNode::newFromTypedef( std::string* name ) {
    167171        DeclarationNode *newnode = new DeclarationNode;
    168172        newnode->type = new TypeData( TypeData::SymbolicInst );
     
    173177}
    174178
    175 DeclarationNode *DeclarationNode::newAggregate( Aggregate kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ) {
     179DeclarationNode *DeclarationNode::newAggregate( TyCon kind, std::string* name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ) {
    176180        DeclarationNode *newnode = new DeclarationNode;
    177181        newnode->type = new TypeData( TypeData::Aggregate );
     
    180184        if ( newnode->type->aggregate->name == "" ) {
    181185                newnode->type->aggregate->name = DeclarationNode::anonymous.newName();
    182         } // if
    183 
    184         // SKULLDUGGERY: generate a typedef for the aggregate name so that the aggregate does not have to be qualified by
    185         // "struct"
    186         typedefTable.addToEnclosingScope( newnode->type->aggregate->name, TypedefTable::TD );
    187         DeclarationNode *typedf = new DeclarationNode;
    188         typedf->name = newnode->type->aggregate->name;
    189         newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() );
    190 
     186        }
    191187        newnode->type->aggregate->params = formals;
    192188        newnode->type->aggregate->actuals = actuals;
     
    202198        if ( newnode->type->enumeration->name == "" ) {
    203199                newnode->type->enumeration->name = DeclarationNode::anonymous.newName();
    204         } // if
    205 
    206         // SKULLDUGGERY: generate a typedef for the enumeration name so that the enumeration does not have to be qualified
    207         // by "enum"
    208         typedefTable.addToEnclosingScope( newnode->type->enumeration->name, TypedefTable::TD );
    209         DeclarationNode *typedf = new DeclarationNode;
    210         typedf->name = newnode->type->enumeration->name;
    211         newnode->appendList( typedf->addType( newnode->clone() )->addTypedef() );
    212 
     200        }
    213201        newnode->type->enumeration->constants = constants;
    214202        return newnode;
    215203}
    216204
    217 DeclarationNode *DeclarationNode::newEnumConstant( std::string *name, ExpressionNode *constant ) {
     205DeclarationNode *DeclarationNode::newEnumConstant( std::string* name, ExpressionNode *constant ) {
    218206        DeclarationNode *newnode = new DeclarationNode;
    219207        newnode->name = assign_strptr( name );
     
    222210}
    223211
    224 DeclarationNode *DeclarationNode::newName( std::string *name ) {
     212DeclarationNode *DeclarationNode::newName( std::string* name ) {
    225213        DeclarationNode *newnode = new DeclarationNode;
    226214        newnode->name = assign_strptr( name );
     
    228216}
    229217
    230 DeclarationNode *DeclarationNode::newFromTypeGen( std::string *name, ExpressionNode *params ) {
     218DeclarationNode *DeclarationNode::newFromTypeGen( std::string* name, ExpressionNode *params ) {
    231219        DeclarationNode *newnode = new DeclarationNode;
    232220        newnode->type = new TypeData( TypeData::SymbolicInst );
     
    237225}
    238226
    239 DeclarationNode *DeclarationNode::newTypeParam( TypeClass tc, std::string *name ) {
     227DeclarationNode *DeclarationNode::newTypeParam( TypeClass tc, std::string* name ) {
    240228        DeclarationNode *newnode = new DeclarationNode;
    241229        newnode->name = assign_strptr( name );
     
    343331                        } else {
    344332                                dst->forall = src->forall;
    345                         } // if
     333                        }
    346334                        src->forall = 0;
    347                 } // if
     335                }
    348336                if ( dst->base ) {
    349337                        addQualifiersToType( src, dst->base );
     
    353341                } else {
    354342                        dst->qualifiers.splice( dst->qualifiers.end(), src->qualifiers );
    355                 } // if
    356         } // if
     343                }
     344        }
    357345}
    358346         
     
    363351                        if ( ! type ) {
    364352                                type = new TypeData;
    365                         } // if
     353                        }
    366354                        addQualifiersToType( q->type, type );
    367355                        if ( q->type && q->type->forall ) {
     
    369357                                        type->forall->appendList( q->type->forall );
    370358                                } else {
    371                                         if ( type->kind == TypeData::Aggregate ) {
    372                                                 type->aggregate->params = q->type->forall;
    373                                         } else {
    374                                                 type->forall = q->type->forall;
    375                                         } // if
    376                                 } // if
     359                                        type->forall = q->type->forall;
     360                                }
    377361                                q->type->forall = 0;
    378                         } // if
    379                 } // if
    380         } // if
     362                        }
     363                }
     364        }
    381365        delete q;
    382366        return this;
     
    395379                        } else {
    396380                                dst->forall = src->forall;
    397                         } // if
     381                        }
    398382                        src->forall = 0;
    399                 } // if
     383                }
    400384                if ( dst->base ) {
    401385                        addTypeToType( src, dst->base );
     
    414398                                        dst->basic->modifiers.splice( dst->basic->modifiers.end(), src->basic->modifiers );
    415399                                        dst->basic->typeSpec.splice( dst->basic->typeSpec.end(), src->basic->typeSpec );
    416                                 } // if
     400                                }
    417401                                break;
    418402
     
    425409                                        if ( src->kind == TypeData::Aggregate ) {
    426410                                                dst->base->aggInst->params = maybeClone( src->aggregate->actuals );
    427                                         } // if
     411                                        }
    428412                                        dst->base->qualifiers.splice( dst->base->qualifiers.end(), src->qualifiers );
    429413                                        src = 0;
     
    435419                                        } else {
    436420                                                dst->forall = src->forall;
    437                                         } // if
     421                                        }
    438422                                        src->forall = 0;
    439423                                        dst->base = src;
    440424                                        src = 0;
    441                                 } // switch
    442                         } // switch
    443                 } // if
    444         } // if
     425                                }
     426                        }
     427                }
     428        }
    445429}
    446430
     
    455439                                        if ( o->type->kind == TypeData::Aggregate ) {
    456440                                                type->aggInst->params = maybeClone( o->type->aggregate->actuals );
    457                                         } // if
     441                                        }
    458442                                        type->qualifiers.splice( type->qualifiers.end(), o->type->qualifiers );
    459443                                } else {
    460444                                        type = o->type;
    461                                 } // if
     445                                }
    462446                                o->type = 0;
    463447                        } else {
    464448                                addTypeToType( o->type, type );
    465                         } // if
    466                 } // if
     449                        }
     450                }
    467451                if ( o->bitfieldWidth ) {
    468452                        bitfieldWidth = o->bitfieldWidth;
    469                 } // if
    470         } // if
     453                }
     454        }
    471455        delete o;
    472456        return this;
     
    483467}
    484468
    485 DeclarationNode *DeclarationNode::addAssertions( DeclarationNode *assertions ) {
     469DeclarationNode *DeclarationNode::addAssertions( DeclarationNode* assertions ) {
    486470        assert( type );
    487471        switch ( type->kind ) {
     
    491475                } else {
    492476                        type->symbolic->assertions = assertions;
    493                 } // if
     477                }
    494478                break;
     479       
    495480          case TypeData::Variable:
    496481                if ( type->variable->assertions ) {
     
    498483                } else {
    499484                        type->variable->assertions = assertions;
    500                 } // if
     485                }
    501486                break;
     487       
    502488          default:
    503489                assert( false );
    504         } // switch
     490        }
    505491       
    506492        return this;
    507493}
    508494
    509 DeclarationNode *DeclarationNode::addName( std::string *newname ) {
     495DeclarationNode *DeclarationNode::addName( std::string* newname ) {
    510496        name = assign_strptr( newname );
    511497        return this;
     
    540526}
    541527
    542 static void setBase( TypeData *&type, TypeData *newType ) {
     528static void
     529setBase( TypeData *&type, TypeData *newType ) {
    543530        if ( type ) {
    544531                TypeData *prevBase = type;
     
    547534                        prevBase = curBase;
    548535                        curBase = curBase->base;
    549                 } // while
     536                }
    550537                prevBase->base = newType;
    551538        } else {
    552539                type = newType;
    553         } // if
     540        }
    554541}
    555542
     
    560547                p->type = 0;
    561548                delete p;
    562         } // if
     549        }
    563550        return this;
    564551}
     
    570557                a->type = 0;
    571558                delete a;
    572         } // if
     559        }
    573560        return this;
    574561}
     
    585572                                if ( type->kind == TypeData::Aggregate ) {
    586573                                        p->type->base->aggInst->params = maybeClone( type->aggregate->actuals );
    587                                 } // if
     574                                }
    588575                                p->type->base->qualifiers.splice( p->type->base->qualifiers.end(), type->qualifiers );
    589576                                break;
     
    591578                          default:
    592579                                p->type->base = type;
    593                         } // switch
     580                        }
    594581                        type = 0;
    595                 } // if
     582                }
    596583                delete this;
    597584                return p;
    598585        } else {
    599586                return this;
    600         } // if
     587        }
    601588}
    602589
     
    606593        while ( cur->base ) {
    607594                cur = cur->base;
    608         } // while
     595        }
    609596        return cur;
    610597}
     
    622609                                if ( type->kind == TypeData::Aggregate ) {
    623610                                        lastArray->base->aggInst->params = maybeClone( type->aggregate->actuals );
    624                                 } // if
     611                                }
    625612                                lastArray->base->qualifiers.splice( lastArray->base->qualifiers.end(), type->qualifiers );
    626613                                break;
    627614                          default:
    628615                                lastArray->base = type;
    629                         } // switch
     616                        }
    630617                        type = 0;
    631                 } // if
     618                }
    632619                delete this;
    633620                return a;
    634621        } else {
    635622                return this;
    636         } // if
     623        }
    637624}
    638625
     
    650637                } else {
    651638                        type->function->idList = ids;
    652                 } // if
     639                }
    653640                return type;
    654641        } else {
     
    656643                newtype->function->idList = ids;
    657644                return newtype;
    658         } // if
     645        }
    659646}
    660647       
     
    675662        while ( srcType->base ) {
    676663                srcType = srcType->base;
    677         } // while
     664        }
    678665        newnode->type = maybeClone( srcType );
    679666        if ( newnode->type->kind == TypeData::AggregateInst ) {
     
    686673                        delete newnode->type->aggInst->aggregate->aggregate->members;
    687674                        newnode->type->aggInst->aggregate->aggregate->members = 0;
    688                 } // if
    689         } // if
     675                }
     676        }
    690677        newnode->type->forall = maybeClone( type->forall );
    691678        newnode->storageClasses = storageClasses;
     
    701688                        while ( srcType->base ) {
    702689                                srcType = srcType->base;
    703                         } // while
     690                        }
    704691                        TypeData *newType = srcType->clone();
    705692                        if ( newType->kind == TypeData::AggregateInst ) {
     
    712699                                        delete newType->aggInst->aggregate->aggregate->members;
    713700                                        newType->aggInst->aggregate->aggregate->members = 0;
    714                                 } // if
    715                         } // if
     701                                }
     702                        }
    716703                        newType->forall = maybeClone( type->forall );
    717704                        if ( ! o->type ) {
     
    720707                                addTypeToType( newType, o->type );
    721708                                delete newType;
    722                         } // if
    723                 } // if
    724         } // if
     709                        }
     710                }
     711        }
    725712        return o;
    726713}
     
    744731                                addTypeToType( newType, o->type );
    745732                                delete newType;
    746                         } // if
    747                 } // if
    748         } // if
     733                        }
     734                }
     735        }
    749736        return o;
    750737}
     
    753740        if ( node != 0 ) {
    754741                set_link( node );
    755         } // if
     742        }
    756743        return this;
    757744}
     
    769756}
    770757
    771 void buildList( const DeclarationNode *firstNode, std::list< Declaration * > &outputList ) {
     758void buildList( const DeclarationNode *firstNode, std::list< Declaration* > &outputList ) {
    772759        SemanticError errors;
    773         std::back_insert_iterator< std::list< Declaration *> > out( outputList );
     760        std::back_insert_iterator< std::list< Declaration* > > out( outputList );
    774761        const DeclarationNode *cur = firstNode;
    775762        while ( cur ) {
     
    789776                        errors.append( e );
    790777                } // try
    791                 cur = dynamic_cast< DeclarationNode *>( cur->get_link() );
     778                cur = dynamic_cast< DeclarationNode* >( cur->get_link() );
    792779        } // while
    793780        if ( ! errors.isEmpty() ) {
     
    796783}
    797784
    798 void buildList( const DeclarationNode *firstNode, std::list< DeclarationWithType *> &outputList ) {
     785void buildList( const DeclarationNode *firstNode, std::list< DeclarationWithType* > &outputList ) {
    799786        SemanticError errors;
    800         std::back_insert_iterator< std::list< DeclarationWithType *> > out( outputList );
     787        std::back_insert_iterator< std::list< DeclarationWithType* > > out( outputList );
    801788        const DeclarationNode *cur = firstNode;
    802789        while ( cur ) {
     
    812799                        Declaration *decl = cur->build();
    813800                        if ( decl ) {
    814                                 if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType *>( decl ) ) {
     801                                if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType* >( decl ) ) {
    815802                                        *out++ = dwt;
    816                                 } else if ( StructDecl *agg = dynamic_cast< StructDecl *>( decl ) ) {
     803                                } else if ( StructDecl *agg = dynamic_cast< StructDecl* >( decl ) ) {
    817804                                        StructInstType *inst = new StructInstType( Type::Qualifiers(), agg->get_name() );
    818                                         *out++ = new ObjectDecl( "", DeclarationNode::NoStorageClass, linkage, 0, inst, 0 );
     805                                        *out++ = new ObjectDecl( "", Declaration::NoStorageClass, linkage, 0, inst, 0 );
    819806                                        delete agg;
    820                                 } else if ( UnionDecl *agg = dynamic_cast< UnionDecl *>( decl ) ) {
     807                                } else if ( UnionDecl *agg = dynamic_cast< UnionDecl* >( decl ) ) {
    821808                                        UnionInstType *inst = new UnionInstType( Type::Qualifiers(), agg->get_name() );
    822                                         *out++ = new ObjectDecl( "", DeclarationNode::NoStorageClass, linkage, 0, inst, 0 );
     809                                        *out++ = new ObjectDecl( "", Declaration::NoStorageClass, linkage, 0, inst, 0 );
    823810                                } // if
    824811                        } // if
     
    826813                        errors.append( e );
    827814                } // try
    828                 cur = dynamic_cast< DeclarationNode *>( cur->get_link() );
     815                cur = dynamic_cast< DeclarationNode* >( cur->get_link() );
    829816        } // while
    830817        if ( ! errors.isEmpty() ) {
     
    833820}
    834821
    835 void buildTypeList( const DeclarationNode *firstNode, std::list< Type *> &outputList ) {
     822void buildTypeList( const DeclarationNode *firstNode, std::list< Type* > &outputList ) {
    836823        SemanticError errors;
    837         std::back_insert_iterator< std::list< Type *> > out( outputList );
     824        std::back_insert_iterator< std::list< Type* > > out( outputList );
    838825        const DeclarationNode *cur = firstNode;
    839826        while ( cur ) {
     
    843830                        errors.append( e );
    844831                } // try
    845                 cur = dynamic_cast< DeclarationNode *>( cur->get_link() );
     832                cur = dynamic_cast< DeclarationNode* >( cur->get_link() );
    846833        } // while
    847834        if ( ! errors.isEmpty() ) {
     
    852839Declaration *DeclarationNode::build() const {
    853840        if ( type ) {
    854                 Declaration *newDecl = type->buildDecl( name, buildStorageClass(), maybeBuild< Expression >( bitfieldWidth ), buildFuncSpecifier( Inline ), buildFuncSpecifier( Noreturn ), linkage, maybeBuild< Initializer >(initializer) );
     841                Declaration *newDecl = type->buildDecl( name, buildStorageClass(), maybeBuild< Expression >( bitfieldWidth ), buildInline(), linkage, maybeBuild< Initializer >(initializer) );
    855842                return newDecl;
    856843        } // if
    857         if ( ! buildFuncSpecifier( Inline ) && ! buildFuncSpecifier( Noreturn ) ) {
     844        if ( ! buildInline() ) {
    858845                return new ObjectDecl( name, buildStorageClass(), linkage, maybeBuild< Expression >( bitfieldWidth ), 0, maybeBuild< Initializer >( initializer ) );
    859846        } // if
    860         throw SemanticError( "invalid function specifier in declaration of ", this );
     847        throw SemanticError( "invalid inline specification in declaration of ", this );
    861848}
    862849
     
    895882}
    896883
    897 DeclarationNode::StorageClass DeclarationNode::buildStorageClass() const {
    898         DeclarationNode::StorageClass ret = DeclarationNode::NoStorageClass;
    899         for ( std::list< DeclarationNode::StorageClass >::const_iterator i = storageClasses.begin(); i != storageClasses.end(); ++i ) {
    900           if ( *i == DeclarationNode::Inline || *i == DeclarationNode::Noreturn ) continue; // ignore function specifiers
    901           if ( ret != DeclarationNode::NoStorageClass ) {       // already have a valid storage class ?
     884Declaration::StorageClass DeclarationNode::buildStorageClass() const {
     885        static const Declaration::StorageClass scMap[] = { 
     886                Declaration::Extern,
     887                Declaration::Static,
     888                Declaration::Auto,
     889                Declaration::Register,
     890                Declaration::Inline,
     891                Declaration::Fortran
     892        }; 
     893 
     894        Declaration::StorageClass ret = Declaration::NoStorageClass;
     895        for ( std::list< StorageClass >::const_iterator i = storageClasses.begin(); i != storageClasses.end(); ++i ) {
     896                assert( unsigned( *i ) < sizeof( scMap ) / sizeof( scMap[0] ) );
     897          if ( *i == Inline ) continue;
     898          if ( ret != Declaration::NoStorageClass ) {
    902899                        throw SemanticError( "invalid combination of storage classes in declaration of ", this );
    903                 } // if
    904                 ret = *i;
    905         } // for
     900                }
     901                ret = scMap[ *i ];
     902        }
    906903        return ret;
    907904}
    908905
    909 bool DeclarationNode::buildFuncSpecifier( DeclarationNode::StorageClass key ) const {
    910         std::list< DeclarationNode::StorageClass >::const_iterator first = std::find( storageClasses.begin(), storageClasses.end(), key );
    911   if ( first == storageClasses.end() ) return false;    // not found
    912         first = std::find( ++first, storageClasses.end(), key ); // found
    913   if ( first == storageClasses.end() ) return true;             // not found again
    914         throw SemanticError( "duplicate function specifier in declaration of ", this );
     906bool DeclarationNode::buildInline() const {
     907        std::list< StorageClass >::const_iterator first = std::find( storageClasses.begin(), storageClasses.end(), Inline );
     908  if ( first == storageClasses.end() ) return false;
     909        std::list< StorageClass >::const_iterator next = std::find( ++first, storageClasses.end(), Inline );
     910  if ( next == storageClasses.end() ) return true;
     911        throw SemanticError( "duplicate inline specification in declaration of ", this );
    915912}
    916913
  • src/Parser/ExpressionNode.cc

    r937e51d reb50842  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Sat May 16 13:17:07 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Wed Jun 24 16:20:00 2015
    13 // Update Count     : 158
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Sat May 16 13:19:35 2015
     13// Update Count     : 2
    1414//
    1515
     
    1717#include <cctype>
    1818#include <algorithm>
    19 #include <sstream>
    20 #include <cstdio>
    21 #include <climits>
    2219
    2320#include "ParseNode.h"
     21#include "SynTree/Type.h"
    2422#include "SynTree/Constant.h"
    2523#include "SynTree/Expression.h"
     24#include "SynTree/Declaration.h"
    2625#include "UnimplementedError.h"
    2726#include "parseutility.h"
     
    3231ExpressionNode::ExpressionNode() : ParseNode(), argName( 0 ) {}
    3332
    34 ExpressionNode::ExpressionNode( const string *name_ ) : ParseNode( name_ ), argName( 0 ) {}
     33ExpressionNode::ExpressionNode( string *name_) : ParseNode( *name_ ), argName( 0 ) {
     34        delete name_;
     35}
    3536
    3637ExpressionNode::ExpressionNode( const ExpressionNode &other ) : ParseNode( other.name ) {
     
    4243}
    4344
    44 ExpressionNode * ExpressionNode::set_asArgName( const std::string *aName ) {
     45ExpressionNode * ExpressionNode::set_asArgName( std::string *aName ) {
    4546        argName = new VarRefNode( aName );
    4647        return this;
     
    5455void ExpressionNode::printDesignation( std::ostream &os, int indent ) const {
    5556        if ( argName ) {
    56                 os << string( indent, ' ' ) << "(designated by:  ";
     57                os << string(' ', indent ) << "(designated by:  ";
    5758                argName->printOneLine( os, indent );
    5859                os << ")" << std::endl;
     
    6061}
    6162
    62 //##############################################################################
    63 
    6463NullExprNode::NullExprNode() {}
    6564
     
    8685}
    8786
    88 //##############################################################################
    89 
    90 static inline bool checkU( char c ) { return c == 'u' || c == 'U'; }
    91 static inline bool checkL( char c ) { return c == 'l' || c == 'L'; }
    92 static inline bool checkF( char c ) { return c == 'f' || c == 'F'; }
    93 static inline bool checkX( char c ) { return c == 'x' || c == 'X'; }
    94 
    95 // Difficult to separate extra parts of constants during lexing because actions are not allow in the middle of patterns:
    96 //
    97 //              prefix action constant action suffix
    98 //
    99 // Alternatively, breaking a pattern using BEGIN does not work if the following pattern can be empty:
    100 //
    101 //              constant BEGIN CONT ...
    102 //              <CONT>(...)? BEGIN 0 ... // possible empty suffix
    103 //
    104 // because the CONT rule is NOT triggered if the pattern is empty. Hence, constants are reparsed here to determine their
    105 // type.
    106 
    107 ConstantNode::ConstantNode( Type t, string *inVal ) : type( t ), value( *inVal ) {
    108         // lexing divides constants into 4 kinds
     87//  enum ConstantNode::Type =  { Integer, Float, Character, String, Range }
     88
     89ConstantNode::ConstantNode( void ) : ExpressionNode(), sign( true ), longs(0), size(0) {}
     90
     91ConstantNode::ConstantNode( string *name_) : ExpressionNode( name_), sign( true ), longs(0), size(0) {}
     92
     93ConstantNode::ConstantNode( Type t, string *inVal ) : type( t ), sign( true ), longs(0), size(0) {
     94        if ( inVal ) {
     95                value = *inVal;
     96                delete inVal;
     97        } else {
     98                value = "";
     99        } // if
     100
     101        classify( value );
     102}
     103
     104ConstantNode::ConstantNode( const ConstantNode &other ) : ExpressionNode( other ), type( other.type ), value( other.value ), sign( other.sign ),
     105                                                                                                                  base( other.base ), longs( other.longs ), size( other.size ) {
     106}
     107
     108// for some reason, std::tolower doesn't work as an argument to std::transform in g++ 3.1
     109inline char tolower_hack( char c ) {
     110        return std::tolower( c );
     111}
     112
     113void ConstantNode::classify( std::string &str ) {
    109114        switch ( type ) {
    110115          case Integer:
    111                 {
    112                         static const BasicType::Kind kind[2][3] = {
    113                                 { BasicType::SignedInt, BasicType::LongSignedInt, BasicType::LongLongSignedInt },
    114                                 { BasicType::UnsignedInt, BasicType::LongUnsignedInt, BasicType::LongLongUnsignedInt },
    115                         };
    116                         size_t last = value.length() - 1;                       // last character of constant
    117                         unsigned long long v;                                           // converted integral value
    118                         bool dec = true, Unsigned = false;                      // decimal, unsigned constant
    119                         int size;                                                                       // 0 => int, 1 => long, 2 => long long
    120 
    121                         if ( value[0] == '0' ) {                                        // octal constant ?
    122                                 dec = false;
    123                                 if ( last != 0 && checkX( value[1] ) ) { // hex constant ?
    124                                         sscanf( (char *)value.c_str(), "%llx", &v );
    125                                         //printf( "%llx %llu\n", v, v );
    126                                 } else {
    127                                         sscanf( (char *)value.c_str(), "%llo", &v );
    128                                         //printf( "%llo %llu\n", v, v );
    129                                 } // if
    130                         } else {                                                                        // decimal constant ?
    131                                 sscanf( (char *)value.c_str(), "%llu", &v );
    132                                 //printf( "%llu %llu\n", v, v );
    133                         } // if
    134 
    135                         if ( v <= INT_MAX ) {                                           // signed int
    136                                 size = 0;
    137                         } else if ( v <= UINT_MAX && ! dec ) {          // unsigned int
    138                                 size = 0;
    139                                 Unsigned = true;                                                // unsigned
    140                         } else if ( v <= LONG_MAX ) {                           // signed long int
    141                                 size = 1;
    142                         } else if ( v <= ULONG_MAX && ( ! dec || LONG_MAX == LLONG_MAX ) ) { // signed long int
    143                                 size = 1;
    144                                 Unsigned = true;                                                // unsigned long int
    145                         } else if ( v <= LLONG_MAX ) {                          // signed long long int
    146                                 size = 2;
    147                         } else {                                                                        // unsigned long long int
    148                                 size = 2;
    149                                 Unsigned = true;                                                // unsigned long long int
    150                         } // if
    151 
    152                         if ( checkU( value[last] ) ) {                          // suffix 'u' ?
    153                                 Unsigned = true;
    154                                 if ( last > 0 && checkL( value[ last - 1 ] ) ) { // suffix 'l' ?
    155                                         size = 1;
    156                                         if ( last > 1 && checkL( value[ last - 2 ] ) ) { // suffix 'll' ?
    157                                                 size = 2;
    158                                         } // if
    159                                 } // if
    160                         } else if ( checkL( value[ last ] ) ) {         // suffix 'l' ?
    161                                 size = 1;
    162                                 if ( last > 0 && checkL( value[ last - 1 ] ) ) { // suffix 'll' ?
    163                                         size = 2;
    164                                         if ( last > 1 && checkU( value[ last - 2 ] ) ) { // suffix 'u' ?
    165                                                 Unsigned = true;
    166                                         } // if
    167                                 } else {
    168                                         if ( last > 0 && checkU( value[ last - 1 ] ) ) { // suffix 'u' ?
    169                                                 Unsigned = true;
    170                                         } // if
    171                                 } // if
    172                         } // if
    173                         btype = kind[Unsigned][size];                           // lookup constant type
    174                         break;
    175                 }
    176116          case Float:
    177117                {
    178                         size_t len = value.length() - 1;
    179 
    180                         btype = BasicType::Double;                                      // default
    181                         if ( checkF( value[len] ) ) {                           // float ?
    182                                 btype = BasicType::Float;
     118                        std::string sfx("");
     119                        char c;
     120                        int i = str.length() - 1;
     121
     122                        while ( i >= 0 && ! isxdigit( c = str.at( i--)) )
     123                                sfx += c;
     124
     125                        value = str.substr( 0, i + 2 );
     126
     127                        // get rid of underscores
     128                        value.erase( remove( value.begin(), value.end(), '_'), value.end());
     129
     130                        std::transform( sfx.begin(), sfx.end(), sfx.begin(), tolower_hack );
     131
     132                        if ( sfx.find("ll") != string::npos ) {
     133                                longs = 2;
     134                        } else if ( sfx.find("l") != string::npos ) {
     135                                longs = 1;
    183136                        } // if
    184                         if ( checkL( value[len] ) ) {                           // long double ?
    185                                 btype = BasicType::LongDouble;
    186                         } // if
     137
     138                        assert(( longs >= 0) && ( longs <= 2));
     139
     140                        if ( sfx.find("u") != string::npos )
     141                                sign = false;
     142
    187143                        break;
    188144                }
    189145          case Character:
    190                 btype = BasicType::Char;                                                // default
    191                 if ( string( "LUu" ).find( value[0] ) != string::npos ) {
    192                         // ???
    193                 } // if
     146                {
     147                        // remove underscores from hex and oct escapes
     148                        if ( str.substr(1,2) == "\\x")
     149                                value.erase( remove( value.begin(), value.end(), '_'), value.end());
     150
     151                        break;
     152                }
     153          default:
     154                // shouldn't be here
     155                ;
     156        }
     157}
     158
     159ConstantNode::Type ConstantNode::get_type( void ) const {
     160        return type;
     161}
     162
     163ConstantNode *ConstantNode::append( std::string *newValue ) {
     164        if ( newValue ) {
     165                if ( type == String ) {
     166                        std::string temp = *newValue;
     167                        value.resize( value.size() - 1 );
     168                        value += newValue->substr(1, newValue->size());
     169                } else
     170                        value += *newValue;
     171
     172                delete newValue;
     173        } // if
     174        return this;
     175}
     176
     177void ConstantNode::printOneLine( std::ostream &os, int indent ) const {
     178        os << string( indent, ' ');
     179        printDesignation( os );
     180
     181        switch ( type ) {
     182                /* integers */
     183          case Integer:
     184                os << value ;
    194185                break;
    195           case String:
    196                 // array of char
    197                 if ( string( "LUu" ).find( value[0] ) != string::npos ) {
    198                         if ( value[0] == 'u' && value[1] == '8' ) {
    199                                 // ???
    200                         } else {
    201                                 // ???
    202                         } // if
    203                 } // if
    204                 break;
    205         } // switch
    206 } // ConstantNode::ConstantNode
    207 
    208 ConstantNode *ConstantNode::appendstr( const std::string *newValue ) {
    209         assert( newValue != 0 );
    210         assert( type == String );
    211 
    212         // "abc" "def" "ghi" => "abcdefghi", so remove new text from quotes and insert before last quote in old string.
    213         value.insert( value.length() - 1, newValue->substr( 1, newValue->length() - 2 ) );
    214        
    215         delete newValue;                                                                        // allocated by lexer
    216         return this;
    217 }
    218 
    219 void ConstantNode::printOneLine( std::ostream &os, int indent ) const {
    220         os << string( indent, ' ' );
    221         printDesignation( os );
    222 
    223         switch ( type ) {
    224           case Integer:
    225186          case Float:
    226187                os << value ;
    227188                break;
     189
    228190          case Character:
    229191                os << "'" << value << "'";
    230192                break;
     193
    231194          case String:
    232195                os << '"' << value << '"';
    233196                break;
    234         } // switch
     197        }
    235198
    236199        os << ' ';
     
    243206
    244207Expression *ConstantNode::build() const {
    245         ::Type::Qualifiers q;                                                           // no qualifiers on constants
    246 
    247         switch ( get_type() ) {
     208        ::Type::Qualifiers q;
     209        BasicType *bt;
     210
     211        switch ( get_type()) {
     212          case Integer:
     213                /* Cfr. standard 6.4.4.1 */
     214                //bt.set_kind( BasicType::SignedInt );
     215                bt = new BasicType( q, BasicType::SignedInt );
     216                break;
     217          case Float:
     218                bt = new BasicType( q, BasicType::Float );
     219                break;
     220          case Character:
     221                bt = new BasicType( q, BasicType::Char );
     222                break;
    248223          case String:
    249                 {
    250                         // string should probably be a primitive type
    251                         ArrayType *at = new ArrayType( q, new BasicType( q, BasicType::Char ),
    252                                                                                    new ConstantExpr(
    253                                                                                            Constant( new BasicType( q, BasicType::UnsignedInt ),
    254                                                                                                                  toString( value.size()+1-2 ) ) ),  // +1 for '\0' and -2 for '"'
    255                                                                                    false, false );
    256                         return new ConstantExpr( Constant( at, value ), maybeBuild< Expression >( get_argName() ) );
    257                 }
    258           default:
    259                 return new ConstantExpr( Constant( new BasicType( q, btype ), get_value() ), maybeBuild< Expression >( get_argName() ) );
     224                // string should probably be a primitive type
     225                ArrayType *at;
     226                std::string value = get_value();
     227                at = new ArrayType( q, new BasicType( q, BasicType::Char ),
     228                                                        new ConstantExpr( Constant( new BasicType( q, BasicType::SignedInt ),
     229                                                                                                                toString( value.size() - 1 ) ) ),  // account for '\0'
     230                                                        false, false );
     231                return new ConstantExpr( Constant( at, value ), maybeBuild< Expression >( get_argName() ) );
    260232        }
    261 }
    262 
    263 //##############################################################################
     233        return new ConstantExpr(  Constant( bt, get_value()),  maybeBuild< Expression >( get_argName() ) );
     234}
    264235
    265236VarRefNode::VarRefNode() : isLabel( false ) {}
    266237
    267 VarRefNode::VarRefNode( const string *name_, bool labelp ) : ExpressionNode( name_ ), isLabel( labelp ) {}
     238VarRefNode::VarRefNode( string *name_, bool labelp ) : ExpressionNode( name_), isLabel( labelp ) {}
    268239
    269240VarRefNode::VarRefNode( const VarRefNode &other ) : ExpressionNode( other ), isLabel( other.isLabel ) {
     
    281252void VarRefNode::print( std::ostream &os, int indent ) const {
    282253        printDesignation( os );
    283         os << string( indent, ' ' ) << "Referencing: ";
     254        os << '\r' << string( indent, ' ') << "Referencing: ";
    284255        os << "Variable: " << get_name();
    285256        os << endl;
    286257}
    287258
    288 //##############################################################################
    289 
    290259OperatorNode::OperatorNode( Type t ) : type( t ) {}
    291260
     
    306275void OperatorNode::print( std::ostream &os, int indent ) const{
    307276        printDesignation( os );
    308         os << string( indent, ' ' ) << "Operator: " << OpName[type] << endl;
     277        os << '\r' << string( indent, ' ') << "Operator: " << OpName[type] << endl;
    309278        return;
    310279}
    311280
    312 const char *OperatorNode::get_typename( void ) const{
    313         return OpName[ type ];
     281std::string OperatorNode::get_typename( void ) const{
     282        return string( OpName[ type ]);
    314283}
    315284
     
    319288        "Cond",   "NCond",
    320289        // diadic
    321         "SizeOf",     "AlignOf", "Attr", "CompLit", "Plus",    "Minus",   "Mul",     "Div",     "Mod",      "Or",
     290        "SizeOf",      "AlignOf", "Attr", "CompLit", "Plus",    "Minus",   "Mul",     "Div",     "Mod",      "Or",
    322291        "And",       "BitOr",   "BitAnd",  "Xor",     "Cast",    "LShift",  "RShift",  "LThan",   "GThan",
    323292        "LEThan",    "GEThan", "Eq",      "Neq",     "Assign",  "MulAssn", "DivAssn", "ModAssn", "PlusAssn",
     
    328297};
    329298
    330 //##############################################################################
    331 
    332299CompositeExprNode::CompositeExprNode( void ) : ExpressionNode(), function( 0 ), arguments( 0 ) {
    333300}
    334301
    335 CompositeExprNode::CompositeExprNode( const string *name_ ) : ExpressionNode( name_ ), function( 0 ), arguments( 0 ) {
     302CompositeExprNode::CompositeExprNode( string *name_) : ExpressionNode( name_), function( 0 ), arguments( 0 ) {
    336303}
    337304
     
    364331// the names that users use to define operator functions
    365332static const char *opFuncName[] = {
    366         "",             "",             "",
    367         "",             "",
    368         //diadic
    369         "",             "",             "",             "",             "?+?",          "?-?",  "?*?",  "?/?",  "?%?",  "",              "",
    370         "?|?",          "?&?",          "?^?",  "",             "?<<?", "?>>?", "?<?",  "?>?",  "?<=?",
    371         "?>=?",         "?==?",         "?!=?", "?=?",  "?*=?", "?/=?", "?%=?", "?+=?", "?-=?",
    372         "?<<=?",        "?>>=?",        "?&=?", "?^=?", "?|=?", "?[?]", "",             "",             "Range",
    373         //monadic
    374         "+?",           "-?",           "",             "*?",   "!?",   "~?",   "++?",  "?++",  "--?",  "?--",  "&&"
     333        "",  "", "",
     334        "",   "",
     335        // diadic
     336        "",   "", "", "", "?+?",    "?-?",   "?*?",     "?/?",     "?%?",     "",      "",
     337        "?|?",  "?&?",  "?^?",     "",    "?<<?",  "?>>?",  "?<?",   "?>?",    "?<=?",
     338        "?>=?", "?==?",      "?!=?",     "?=?",  "?*=?", "?/=?", "?%=?", "?+=?", "?-=?",
     339        "?<<=?", "?>>=?",  "?&=?", "?^=?",  "?|=?",  "?[?]",   "","","Range",
     340        // monadic
     341        "+?", "-?", "", "*?", "!?", "~?", "++?", "?++", "--?", "?--", "LabAddress"
    375342};
    376343
     
    383350        buildList( get_args(), args );
    384351
    385         if ( ! ( op = dynamic_cast<OperatorNode *>( function ) ) ) { // function as opposed to operator
     352        if ( ! ( op = dynamic_cast<OperatorNode *>( function )) ) {
     353                // a function as opposed to an operator
    386354                return new UntypedExpr( function->build(), args, maybeBuild< Expression >( get_argName() ));
    387         } // if
    388 
    389         switch ( op->get_type()) {
    390           case OperatorNode::Incr:
    391           case OperatorNode::Decr:
    392           case OperatorNode::IncrPost:
    393           case OperatorNode::DecrPost:
    394           case OperatorNode::Assign:
    395           case OperatorNode::MulAssn:
    396           case OperatorNode::DivAssn:
    397           case OperatorNode::ModAssn:
    398           case OperatorNode::PlusAssn:
    399           case OperatorNode::MinusAssn:
    400           case OperatorNode::LSAssn:
    401           case OperatorNode::RSAssn:
    402           case OperatorNode::AndAssn:
    403           case OperatorNode::ERAssn:
    404           case OperatorNode::OrAssn:
    405                 // the rewrite rules for these expressions specify that the first argument has its address taken
    406                 assert( ! args.empty() );
    407                 args.front() = new AddressExpr( args.front() );
    408                 break;
    409           default:
    410                 /* do nothing */
    411                 ;
    412         }
    413 
    414         switch ( op->get_type() ) {
    415           case OperatorNode::Incr:
    416           case OperatorNode::Decr:
    417           case OperatorNode::IncrPost:
    418           case OperatorNode::DecrPost:
    419           case OperatorNode::Assign:
    420           case OperatorNode::MulAssn:
    421           case OperatorNode::DivAssn:
    422           case OperatorNode::ModAssn:
    423           case OperatorNode::PlusAssn:
    424           case OperatorNode::MinusAssn:
    425           case OperatorNode::LSAssn:
    426           case OperatorNode::RSAssn:
    427           case OperatorNode::AndAssn:
    428           case OperatorNode::ERAssn:
    429           case OperatorNode::OrAssn:
    430           case OperatorNode::Plus:
    431           case OperatorNode::Minus:
    432           case OperatorNode::Mul:
    433           case OperatorNode::Div:
    434           case OperatorNode::Mod:
    435           case OperatorNode::BitOr:
    436           case OperatorNode::BitAnd:
    437           case OperatorNode::Xor:
    438           case OperatorNode::LShift:
    439           case OperatorNode::RShift:
    440           case OperatorNode::LThan:
    441           case OperatorNode::GThan:
    442           case OperatorNode::LEThan:
    443           case OperatorNode::GEThan:
    444           case OperatorNode::Eq:
    445           case OperatorNode::Neq:
    446           case OperatorNode::Index:
    447           case OperatorNode::Range:
    448           case OperatorNode::UnPlus:
    449           case OperatorNode::UnMinus:
    450           case OperatorNode::PointTo:
    451           case OperatorNode::Neg:
    452           case OperatorNode::BitNeg:
    453           case OperatorNode::LabelAddress:
    454                 return new UntypedExpr( new NameExpr( opFuncName[ op->get_type() ] ), args );
    455           case OperatorNode::AddressOf:
    456                 assert( args.size() == 1 );
    457                 assert( args.front() );
    458 
    459                 return new AddressExpr( args.front() );
    460           case OperatorNode::Cast:
    461                 {
    462                         TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args());
    463                         assert( arg );
    464 
    465                         DeclarationNode *decl_node = arg->get_decl();
    466                         ExpressionNode *expr_node = dynamic_cast<ExpressionNode *>( arg->get_link());
    467 
    468                         Type *targetType = decl_node->buildType();
    469                         if ( dynamic_cast< VoidType* >( targetType ) ) {
    470                                 delete targetType;
    471                                 return new CastExpr( expr_node->build(), maybeBuild< Expression >( get_argName() ) );
    472                         } else {
    473                                 return new CastExpr( expr_node->build(),targetType, maybeBuild< Expression >( get_argName() ) );
    474                         } // if
     355        } else {
     356                switch ( op->get_type()) {
     357                  case OperatorNode::Incr:
     358                  case OperatorNode::Decr:
     359                  case OperatorNode::IncrPost:
     360                  case OperatorNode::DecrPost:
     361                  case OperatorNode::Assign:
     362                  case OperatorNode::MulAssn:
     363                  case OperatorNode::DivAssn:
     364                  case OperatorNode::ModAssn:
     365                  case OperatorNode::PlusAssn:
     366                  case OperatorNode::MinusAssn:
     367                  case OperatorNode::LSAssn:
     368                  case OperatorNode::RSAssn:
     369                  case OperatorNode::AndAssn:
     370                  case OperatorNode::ERAssn:
     371                  case OperatorNode::OrAssn:
     372                        // the rewrite rules for these expressions specify that the first argument has its address taken
     373                        assert( ! args.empty() );
     374                        args.front() = new AddressExpr( args.front() );
     375                        break;
     376                  default:
     377                        /* do nothing */
     378                        ;
    475379                }
    476           case OperatorNode::FieldSel:
    477                 {
    478                         assert( args.size() == 2 );
    479 
    480                         NameExpr *member = dynamic_cast<NameExpr *>( args.back());
    481                         // TupleExpr *memberTup = dynamic_cast<TupleExpr *>( args.back());
    482 
    483                         if ( member != 0 ) {
    484                                 UntypedMemberExpr *ret = new UntypedMemberExpr( member->get_name(), args.front());
     380
     381                switch ( op->get_type() ) {
     382                  case OperatorNode::Incr:
     383                  case OperatorNode::Decr:
     384                  case OperatorNode::IncrPost:
     385                  case OperatorNode::DecrPost:
     386                  case OperatorNode::Assign:
     387                  case OperatorNode::MulAssn:
     388                  case OperatorNode::DivAssn:
     389                  case OperatorNode::ModAssn:
     390                  case OperatorNode::PlusAssn:
     391                  case OperatorNode::MinusAssn:
     392                  case OperatorNode::LSAssn:
     393                  case OperatorNode::RSAssn:
     394                  case OperatorNode::AndAssn:
     395                  case OperatorNode::ERAssn:
     396                  case OperatorNode::OrAssn:
     397                  case OperatorNode::Plus:
     398                  case OperatorNode::Minus:
     399                  case OperatorNode::Mul:
     400                  case OperatorNode::Div:
     401                  case OperatorNode::Mod:
     402                  case OperatorNode::BitOr:
     403                  case OperatorNode::BitAnd:
     404                  case OperatorNode::Xor:
     405                  case OperatorNode::LShift:
     406                  case OperatorNode::RShift:
     407                  case OperatorNode::LThan:
     408                  case OperatorNode::GThan:
     409                  case OperatorNode::LEThan:
     410                  case OperatorNode::GEThan:
     411                  case OperatorNode::Eq:
     412                  case OperatorNode::Neq:
     413                  case OperatorNode::Index:
     414                  case OperatorNode::Range:
     415                  case OperatorNode::UnPlus:
     416                  case OperatorNode::UnMinus:
     417                  case OperatorNode::PointTo:
     418                  case OperatorNode::Neg:
     419                  case OperatorNode::BitNeg:
     420                  case OperatorNode::LabelAddress:
     421                        return new UntypedExpr( new NameExpr( opFuncName[ op->get_type() ] ), args );
     422                  case OperatorNode::AddressOf:
     423                        assert( args.size() == 1 );
     424                        assert( args.front() );
     425
     426                        return new AddressExpr( args.front() );
     427                  case OperatorNode::Cast:
     428                        {
     429                                TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args());
     430                                assert( arg );
     431
     432                                DeclarationNode *decl_node = arg->get_decl();
     433                                ExpressionNode *expr_node = dynamic_cast<ExpressionNode *>( arg->get_link());
     434
     435                                Type *targetType = decl_node->buildType();
     436                                if ( dynamic_cast< VoidType* >( targetType ) ) {
     437                                        delete targetType;
     438                                        return new CastExpr( expr_node->build(), maybeBuild< Expression >( get_argName() ) );
     439                                } else {
     440                                        return new CastExpr( expr_node->build(),targetType, maybeBuild< Expression >( get_argName() ) );
     441                                } // if
     442                        }
     443                  case OperatorNode::FieldSel:
     444                        {
     445                                assert( args.size() == 2 );
     446
     447                                NameExpr *member = dynamic_cast<NameExpr *>( args.back());
     448                                // TupleExpr *memberTup = dynamic_cast<TupleExpr *>( args.back());
     449
     450                                if ( member != 0 ) {
     451                                        UntypedMemberExpr *ret = new UntypedMemberExpr( member->get_name(), args.front());
     452                                        delete member;
     453                                        return ret;
     454                                        /* else if ( memberTup != 0 )
     455                                           {
     456                                           UntypedMemberExpr *ret = new UntypedMemberExpr( memberTup->get_name(), args.front());
     457                                           delete member;
     458                                           return ret;
     459                                           } */
     460                                } else
     461                                        assert( false );
     462                        }
     463                  case OperatorNode::PFieldSel:
     464                        {
     465                                assert( args.size() == 2 );
     466
     467                                NameExpr *member = dynamic_cast<NameExpr *>( args.back());  // modify for Tuples   xxx
     468                                assert( member != 0 );
     469
     470                                UntypedExpr *deref = new UntypedExpr( new NameExpr( "*?" ) );
     471                                deref->get_args().push_back( args.front() );
     472
     473                                UntypedMemberExpr *ret = new UntypedMemberExpr( member->get_name(), deref );
    485474                                delete member;
    486475                                return ret;
    487                                 /* else if ( memberTup != 0 )
    488                                    {
    489                                    UntypedMemberExpr *ret = new UntypedMemberExpr( memberTup->get_name(), args.front());
    490                                    delete member;
    491                                    return ret;
    492                                    } */
    493                         } else
    494                                 assert( false );
     476                        }
     477                  case OperatorNode::AlignOf:
     478                  case OperatorNode::SizeOf:
     479                        {
     480///     bool isSizeOf = ( op->get_type() == OperatorNode::SizeOf );
     481
     482                                if ( TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args()) ) {
     483                                        return new SizeofExpr( arg->get_decl()->buildType());
     484                                } else {
     485                                        return new SizeofExpr( args.front());
     486                                } // if
     487                        }
     488                  case OperatorNode::Attr:
     489                        {
     490                                VarRefNode *var = dynamic_cast<VarRefNode *>( get_args());
     491                                assert( var );
     492                                if ( ! get_args()->get_link() ) {
     493                                        return new AttrExpr( var->build(), ( Expression*)0);
     494                                } else if ( TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args()->get_link()) ) {
     495                                        return new AttrExpr( var->build(), arg->get_decl()->buildType());
     496                                } else {
     497                                        return new AttrExpr( var->build(), args.back());
     498                                } // if
     499                        }
     500                  case OperatorNode::CompLit:
     501                        throw UnimplementedError( "C99 compound literals" );
     502                        // the short-circuited operators
     503                  case OperatorNode::Or:
     504                  case OperatorNode::And:
     505                        assert( args.size() == 2);
     506                        return new LogicalExpr( notZeroExpr( args.front() ), notZeroExpr( args.back() ), ( op->get_type() == OperatorNode::And ) );
     507                  case OperatorNode::Cond:
     508                        {
     509                                assert( args.size() == 3);
     510                                std::list< Expression* >::const_iterator i = args.begin();
     511                                Expression *arg1 = notZeroExpr( *i++ );
     512                                Expression *arg2 = *i++;
     513                                Expression *arg3 = *i++;
     514                                return new ConditionalExpr( arg1, arg2, arg3 );
     515                        }
     516                  case OperatorNode::NCond:
     517                        throw UnimplementedError( "GNU 2-argument conditional expression" );
     518                  case OperatorNode::Comma:
     519                        {
     520                                assert( args.size() == 2);
     521                                std::list< Expression* >::const_iterator i = args.begin();
     522                                Expression *ret = *i++;
     523                                while ( i != args.end() ) {
     524                                        ret = new CommaExpr( ret, *i++ );
     525                                }
     526                                return ret;
     527                        }
     528                        // Tuples
     529                  case OperatorNode::TupleC:
     530                        {
     531                                TupleExpr *ret = new TupleExpr();
     532                                std::copy( args.begin(), args.end(), back_inserter( ret->get_exprs() ) );
     533                                return ret;
     534                        }
     535                  default:
     536                        // shouldn't happen
     537                        return 0;
    495538                }
    496           case OperatorNode::PFieldSel:
    497                 {
    498                         assert( args.size() == 2 );
    499 
    500                         NameExpr *member = dynamic_cast<NameExpr *>( args.back());  // modify for Tuples   xxx
    501                         assert( member != 0 );
    502 
    503                         UntypedExpr *deref = new UntypedExpr( new NameExpr( "*?" ) );
    504                         deref->get_args().push_back( args.front() );
    505 
    506                         UntypedMemberExpr *ret = new UntypedMemberExpr( member->get_name(), deref );
    507                         delete member;
    508                         return ret;
    509                 }
    510           case OperatorNode::AlignOf:
    511           case OperatorNode::SizeOf:
    512                 {
    513 ///     bool isSizeOf = ( op->get_type() == OperatorNode::SizeOf );
    514 
    515                         if ( TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args()) ) {
    516                                 return new SizeofExpr( arg->get_decl()->buildType());
    517                         } else {
    518                                 return new SizeofExpr( args.front());
    519                         } // if
    520                 }
    521           case OperatorNode::Attr:
    522                 {
    523                         VarRefNode *var = dynamic_cast<VarRefNode *>( get_args());
    524                         assert( var );
    525                         if ( ! get_args()->get_link() ) {
    526                                 return new AttrExpr( var->build(), ( Expression*)0);
    527                         } else if ( TypeValueNode * arg = dynamic_cast<TypeValueNode *>( get_args()->get_link()) ) {
    528                                 return new AttrExpr( var->build(), arg->get_decl()->buildType());
    529                         } else {
    530                                 return new AttrExpr( var->build(), args.back());
    531                         } // if
    532                 }
    533           case OperatorNode::CompLit:
    534                 throw UnimplementedError( "C99 compound literals" );
    535                 // the short-circuited operators
    536           case OperatorNode::Or:
    537           case OperatorNode::And:
    538                 assert( args.size() == 2);
    539                 return new LogicalExpr( notZeroExpr( args.front() ), notZeroExpr( args.back() ), ( op->get_type() == OperatorNode::And ) );
    540           case OperatorNode::Cond:
    541                 {
    542                         assert( args.size() == 3);
    543                         std::list< Expression* >::const_iterator i = args.begin();
    544                         Expression *arg1 = notZeroExpr( *i++ );
    545                         Expression *arg2 = *i++;
    546                         Expression *arg3 = *i++;
    547                         return new ConditionalExpr( arg1, arg2, arg3 );
    548                 }
    549           case OperatorNode::NCond:
    550                 throw UnimplementedError( "GNU 2-argument conditional expression" );
    551           case OperatorNode::Comma:
    552                 {
    553                         assert( args.size() == 2);
    554                         std::list< Expression* >::const_iterator i = args.begin();
    555                         Expression *ret = *i++;
    556                         while ( i != args.end() ) {
    557                                 ret = new CommaExpr( ret, *i++ );
    558                         }
    559                         return ret;
    560                 }
    561                 // Tuples
    562           case OperatorNode::TupleC:
    563                 {
    564                         TupleExpr *ret = new TupleExpr();
    565                         std::copy( args.begin(), args.end(), back_inserter( ret->get_exprs() ) );
    566                         return ret;
    567                 }
    568           default:
    569                 // shouldn't happen
    570                 return 0;
    571         } // switch
     539        }
    572540}
    573541
     
    584552void CompositeExprNode::print( std::ostream &os, int indent ) const {
    585553        printDesignation( os );
    586         os << string( indent, ' ' ) << "Application of: " << endl;
     554        os << '\r' << string( indent, ' ') << "Application of: " << endl;
    587555        function->print( os, indent + ParseNode::indent_by );
    588556
    589         os << string( indent, ' ' ) ;
     557        os << '\r' << string( indent, ' ') ;
    590558        if ( arguments ) {
    591559                os << "... on arguments: " << endl;
     
    618586}
    619587
    620 //##############################################################################
    621 
    622588CommaExprNode::CommaExprNode(): CompositeExprNode( new OperatorNode( OperatorNode::Comma )) {}
    623589
     
    637603}
    638604
    639 //##############################################################################
    640 
    641605ValofExprNode::ValofExprNode( StatementNode *s ): body( s ) {}
    642606
     
    650614void ValofExprNode::print( std::ostream &os, int indent ) const {
    651615        printDesignation( os );
    652         os << string( indent, ' ' ) << "Valof Expression:" << std::endl;
     616        os << string( indent, ' ') << "Valof Expression:" << std::endl;
    653617        get_body()->print( os, indent + 4);
    654618}
     
    661625        return new UntypedValofExpr ( get_body()->build(), maybeBuild< Expression >( get_argName() ) );
    662626}
    663 
    664 //##############################################################################
    665627
    666628ForCtlExprNode::ForCtlExprNode( ParseNode *init_, ExpressionNode *cond, ExpressionNode *incr ) throw ( SemanticError ) : condition( cond ), change( incr ) {
     
    671633                ExpressionNode *exp;
    672634
    673                 if (( decl = dynamic_cast<DeclarationNode *>(init_) ) != 0)
     635                if (( decl = dynamic_cast<DeclarationNode *>( init_)) != 0)
    674636                        init = new StatementNode( decl );
    675637                else if (( exp = dynamic_cast<ExpressionNode *>( init_)) != 0)
     
    697659
    698660void ForCtlExprNode::print( std::ostream &os, int indent ) const{
    699         os << string( indent,' ' ) << "For Control Expression -- :" << endl;
    700 
    701         os << string( indent + 2, ' ' ) << "initialization:" << endl;
    702         if ( init != 0 )
    703                 init->printList( os, indent + 4 );
    704 
    705         os << string( indent + 2, ' ' ) << "condition: " << endl;
    706         if ( condition != 0 )
    707                 condition->print( os, indent + 4 );
    708         os << string( indent + 2, ' ' ) << "increment: " << endl;
    709         if ( change != 0 )
    710                 change->print( os, indent + 4 );
     661        os << string( indent,' ') << "For Control Expression -- : " << endl;
     662
     663        os << "\r" << string( indent + 2,' ') << "initialization: ";
     664        if ( init != 0)
     665                init->print( os, indent + 4);
     666
     667        os << "\n\r" << string( indent + 2,' ') << "condition: ";
     668        if ( condition != 0)
     669                condition->print( os, indent + 4);
     670        os << "\n\r" << string( indent + 2,' ') << "increment: ";
     671        if ( change != 0)
     672                change->print( os, indent + 4);
    711673}
    712674
     
    715677}
    716678
    717 //##############################################################################
    718 
    719 TypeValueNode::TypeValueNode( DeclarationNode *decl ) : decl( decl ) {
    720 }
    721 
    722 TypeValueNode::TypeValueNode( const TypeValueNode &other ) : ExpressionNode( other ), decl( maybeClone( other.decl ) ) {
     679TypeValueNode::TypeValueNode( DeclarationNode *decl )
     680        : decl( decl ) {
     681}
     682
     683TypeValueNode::TypeValueNode( const TypeValueNode &other )
     684        : ExpressionNode( other ), decl( maybeClone( other.decl ) ) {
    723685}
    724686
     
    738700
    739701ExpressionNode *flattenCommas( ExpressionNode *list ) {
    740         if ( CompositeExprNode *composite = dynamic_cast< CompositeExprNode * >( list ) ) {
    741                 OperatorNode *op;
    742                 if ( ( op = dynamic_cast< OperatorNode * >( composite->get_function() )) && ( op->get_type() == OperatorNode::Comma ) ) {
    743                         if ( ExpressionNode *next = dynamic_cast< ExpressionNode * >( list->get_link() ) )
    744                                 composite->add_arg( next );
    745                         return flattenCommas( composite->get_args() );
    746                 } // if
    747         } // if
     702        if ( CompositeExprNode *composite = dynamic_cast< CompositeExprNode * >( list ) )
     703                {
     704                        OperatorNode *op;
     705                        if ( ( op = dynamic_cast< OperatorNode * >( composite->get_function() )) && ( op->get_type() == OperatorNode::Comma ) )
     706                                {
     707                                        if ( ExpressionNode *next = dynamic_cast< ExpressionNode * >( list->get_link() ) )
     708                                                composite->add_arg( next );
     709                                        return flattenCommas( composite->get_args() );
     710                                }
     711                }
    748712
    749713        if ( ExpressionNode *next = dynamic_cast< ExpressionNode * >( list->get_link() ) )
     
    758722                if ( ( op = dynamic_cast< OperatorNode * >( composite->get_function() )) && ( op->get_type() == OperatorNode::TupleC ) )
    759723                        return composite->get_args();
    760         } // if
     724        }
    761725        return tuple;
    762726}
  • src/Parser/InitializerNode.cc

    r937e51d reb50842  
    1010// Created On       : Sat May 16 13:20:24 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun  6 15:49:42 2015
    13 // Update Count     : 3
     12// Last Modified On : Sat May 16 13:21:40 2015
     13// Update Count     : 2
    1414//
    1515
     
    4848
    4949void InitializerNode::print( std::ostream &os, int indent ) const {
    50         os << std::string( indent, ' ' ) << "Initializer expression" << std::endl;
     50        os << std::string(indent, ' ') << "Initializer expression" << std::endl;
    5151}
    5252
  • src/Parser/ParseNode.cc

    r937e51d reb50842  
    1010// Created On       : Sat May 16 13:26:29 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun  6 20:17:58 2015
    13 // Update Count     : 23
     12// Last Modified On : Tue May 19 16:48:30 2015
     13// Update Count     : 3
    1414//
    1515
     
    2020int ParseNode::indent_by = 4;
    2121
    22 ParseNode::ParseNode() : name( 0 ), next( 0 ) {};
    23 ParseNode::ParseNode( const string *name_ ) : name( name_ ), next( 0 ) {}
     22ParseNode::ParseNode( void ) : next( 0 ) {};
     23ParseNode::ParseNode( string _name ) : name( _name ), next( 0 ) {}
    2424
    25 ParseNode::~ParseNode() {
     25ParseNode *ParseNode::set_name( string _name ) {
     26        name = _name;
     27        return this;
     28}
     29
     30ParseNode *ParseNode::set_name( string *_name ) {
     31        name = *_name; // deep copy
     32        delete _name;
     33
     34        return this;
     35}
     36
     37ParseNode::~ParseNode( void ) {
    2638        delete next;
    2739};
    2840
    29 ParseNode *ParseNode::get_link() const {
     41string ParseNode::get_name( void ) {
     42        return name;
     43}
     44
     45ParseNode *ParseNode::get_link( void ) const {
    3046        return next;
    3147}
    3248
    33 ParseNode *ParseNode::get_last() {
     49ParseNode *ParseNode::get_last(void) {
    3450        ParseNode *current = this;
    3551
     
    4056}
    4157
    42 ParseNode *ParseNode::set_link( ParseNode *next_ ) {
     58ParseNode *ParseNode::set_link(ParseNode *_next) {
    4359        ParseNode *follow;
    4460
    45         if ( next_ == 0 ) return this;
     61        if ( _next == 0 ) return this;
    4662
    4763        for ( follow = this; follow->next != 0; follow = follow->next );
    48         follow->next = next_;
     64        follow->next = _next;
    4965
    5066        return this;
    5167}
    5268
    53 void ParseNode::print( std::ostream &os, int indent ) const {}
     69const string ParseNode::get_name(void) const {
     70        return name;
     71}
     72
     73void ParseNode::print(std::ostream &os, int indent) const {}
    5474
    5575
     
    5878
    5979        if ( next ) {
    60                 next->printList( os, indent );
    61         } // if
     80        next->printList( os, indent );
     81        }
    6282}
    6383
  • src/Parser/ParseNode.h

    r937e51d reb50842  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jun 24 14:09:51 2015
    13 // Update Count     : 81
     12// Last Modified On : Sat May 16 13:30:24 2015
     13// Update Count     : 3
    1414//
    1515
     
    2222
    2323#include "utility.h"
    24 #include "Parser/LinkageSpec.h"
    25 #include "SynTree/Type.h"
    26 //#include "SynTree/Declaration.h"
     24#include "SynTree/Declaration.h"
    2725#include "UniqueName.h"
    2826
     
    3836class ParseNode {
    3937  public:
    40         ParseNode();
    41         ParseNode( const std::string * );
    42         virtual ~ParseNode();
    43 
    44         ParseNode *get_link() const;
    45         ParseNode *get_last();
     38        ParseNode( void );
     39        ParseNode ( std::string );
     40        virtual ~ParseNode( void );
     41
     42        ParseNode *set_name ( std::string ) ;
     43        ParseNode *set_name ( std::string * ) ;
     44
     45        std::string get_name( void );
     46
     47        ParseNode *get_link( void ) const;
     48        ParseNode *get_last( void );
    4649        ParseNode *set_link( ParseNode * );
    4750        void set_next( ParseNode *newlink ) { next = newlink; }
     
    4952        virtual ParseNode *clone() const { return 0; };
    5053
    51         const std::string &get_name() const { return *name; }
     54        const std::string get_name( void ) const;
    5255        virtual void print( std::ostream &, int indent = 0 ) const;
    5356        virtual void printList( std::ostream &, int indent = 0 ) const;
     
    5558        ParseNode &operator,( ParseNode &);
    5659  protected:
    57         const std::string *name;
     60        std::string name;
    5861        ParseNode *next;
    5962        static int indent_by;
     
    6568  public:
    6669        ExpressionNode();
    67         ExpressionNode( const std::string * );
     70        ExpressionNode( std::string * );
    6871        ExpressionNode( const ExpressionNode &other );
    6972        virtual ~ExpressionNode() {} // cannot delete asArgName because it might be referenced elsewhere
     
    7477
    7578        ExpressionNode *get_argName() const { return argName; }
    76         ExpressionNode *set_asArgName( const std::string *aName );
     79        ExpressionNode *set_asArgName( std::string *aName );
    7780        ExpressionNode *set_asArgName( ExpressionNode *aDesignator );
    7881
     
    102105class ConstantNode : public ExpressionNode {
    103106  public:
    104         enum Type { Integer, Float, Character, String };
    105 
     107        enum Type {
     108                Integer, Float, Character, String /* , Range, EnumConstant  */
     109        };
     110
     111        ConstantNode( void );
     112        ConstantNode( std::string * );
    106113        ConstantNode( Type, std::string * );
     114        ConstantNode( const ConstantNode &other );
    107115
    108116        virtual ConstantNode *clone() const { return new ConstantNode( *this ); }
    109         Type get_type( void ) const { return type; }
     117
     118        Type get_type( void ) const ;
    110119        virtual void print( std::ostream &, int indent = 0) const;
    111120        virtual void printOneLine( std::ostream &, int indent = 0) const;
    112121
    113         const std::string &get_value() const { return value; }
    114         ConstantNode *appendstr( const std::string *newValue );
     122        std::string get_value() const { return value; }
     123        ConstantNode *append( std::string *newValue );
    115124
    116125        Expression *build() const;
    117126  private:
     127        void classify( std::string &);
    118128        Type type;
    119         BasicType::Kind btype;
    120         std::string &value;
     129        std::string value;
     130        bool sign;
     131        short base;
     132        int longs, size;
    121133};
    122134
     
    124136  public:
    125137        VarRefNode();
    126         VarRefNode( const std::string *, bool isLabel = false );
     138        VarRefNode( std::string *, bool isLabel = false );
    127139        VarRefNode( const VarRefNode &other );
    128140
     
    131143        virtual VarRefNode *clone() const { return new VarRefNode( *this ); }
    132144
    133         virtual void print( std::ostream &, int indent = 0 ) const;
    134         virtual void printOneLine( std::ostream &, int indent = 0 ) const;
     145        virtual void print( std::ostream &, int indent = 0) const;
     146        virtual void printOneLine( std::ostream &, int indent = 0) const;
    135147  private:
    136148        bool isLabel;
     
    171183        virtual OperatorNode *clone() const { return new OperatorNode( *this ); }
    172184
    173         Type get_type() const;
    174         const char *get_typename() const;
     185        Type get_type( void ) const;
     186        std::string get_typename( void ) const;
    175187
    176188        virtual void print( std::ostream &, int indent = 0) const;
     
    186198class CompositeExprNode : public ExpressionNode {
    187199  public:
    188         CompositeExprNode();
    189         CompositeExprNode( const std::string * );
     200        CompositeExprNode( void );
     201        CompositeExprNode( std::string * );
    190202        CompositeExprNode( ExpressionNode *f, ExpressionNode *args = 0 );
    191203        CompositeExprNode( ExpressionNode *f, ExpressionNode *arg1, ExpressionNode *arg2 );
     
    266278  public:
    267279        enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic, Attribute };
    268         enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran, Noreturn, Threadlocal, NoStorageClass, };
     280        enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran };
    269281        enum BasicType { Char, Int, Float, Double, Void, Bool, Complex, Imaginary };
    270         enum Modifier  { Signed, Unsigned, Short, Long };
    271         enum Aggregate { Struct, Union, Context };
     282        enum Modifier { Signed, Unsigned, Short, Long };
     283        enum TyCon { Struct, Union, Context };
    272284        enum TypeClass { Type, Dtype, Ftype };
    273285
    274         static const char *storageName[]; 
    275286        static const char *qualifierName[];
    276287        static const char *basicTypeName[];
    277288        static const char *modifierName[];
    278         static const char *aggregateName[];
     289        static const char *tyConName[];
    279290        static const char *typeClassName[];
    280291
     
    287298        static DeclarationNode *newForall( DeclarationNode *);
    288299        static DeclarationNode *newFromTypedef( std::string *);
    289         static DeclarationNode *newAggregate( Aggregate kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields );
     300        static DeclarationNode *newAggregate( TyCon kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields );
    290301        static DeclarationNode *newEnum( std::string *name, DeclarationNode *constants );
    291302        static DeclarationNode *newEnumConstant( std::string *name, ExpressionNode *constant );
    292303        static DeclarationNode *newName( std::string *);
    293         static DeclarationNode *newFromTypeGen( std::string *, ExpressionNode *params );
     304        static DeclarationNode *newFromTypeGen( std::string*, ExpressionNode *params );
    294305        static DeclarationNode *newTypeParam( TypeClass, std::string *);
    295306        static DeclarationNode *newContext( std::string *name, DeclarationNode *params, DeclarationNode *asserts );
     
    302313        static DeclarationNode *newTuple( DeclarationNode *members );
    303314        static DeclarationNode *newTypeof( ExpressionNode *expr );
    304         static DeclarationNode *newAttr( std::string *, ExpressionNode *expr );
    305         static DeclarationNode *newAttr( std::string *, DeclarationNode *type );
     315        static DeclarationNode *newAttr( std::string*, ExpressionNode *expr );
     316        static DeclarationNode *newAttr( std::string*, DeclarationNode *type );
    306317
    307318        DeclarationNode *addQualifiers( DeclarationNode *);
     
    329340        DeclarationNode *cloneBaseType( DeclarationNode *newdecl );
    330341
    331         DeclarationNode *appendList( DeclarationNode * );
     342        DeclarationNode *appendList( DeclarationNode  *);
    332343
    333344        DeclarationNode *clone() const;
     
    339350
    340351        bool get_hasEllipsis() const;
    341         const std::string &get_name() const { return name; }
     352        std::string get_name() const { return name; }
    342353        LinkageSpec::Type get_linkage() const { return linkage; }
    343354        DeclarationNode *extractAggregate() const;
     
    346357        ~DeclarationNode();
    347358  private:
    348         StorageClass buildStorageClass() const;
    349         bool buildFuncSpecifier( StorageClass key ) const;
     359        Declaration::StorageClass buildStorageClass() const;
     360        bool buildInline() const;
    350361
    351362        TypeData *type;
     
    369380        };
    370381
    371         StatementNode();
    372         StatementNode( const std::string * );
     382        StatementNode( void );
     383        StatementNode( std::string );
    373384        StatementNode( Type, ExpressionNode *e = 0, StatementNode *s = 0 );
    374385        StatementNode( Type, std::string *target );
     
    376387
    377388
    378         ~StatementNode();
    379 
    380         static StatementNode *newCatchStmt( DeclarationNode *d = 0, StatementNode *s = 0, bool catchRestP = false );
     389        ~StatementNode( void );
     390
     391        static StatementNode  *newCatchStmt( DeclarationNode *d = 0, StatementNode *s = 0, bool catchRestP = false );
    381392
    382393        void set_control( ExpressionNode * );
     
    385396        ExpressionNode *get_control() const ;
    386397        StatementNode *get_block() const;
    387         StatementNode::Type get_type() const;
    388 
    389         StatementNode *add_label( const std::string * );
     398        StatementNode::Type get_type( void ) const;
     399
     400        StatementNode *add_label( std::string * );
    390401        std::list<std::string> *get_labels() const;
    391402
     
    418429class CompoundStmtNode : public StatementNode {
    419430  public:
    420         CompoundStmtNode();
    421         CompoundStmtNode( const std::string * );
     431        CompoundStmtNode( void );
     432        CompoundStmtNode( std::string * );
    422433        CompoundStmtNode( StatementNode * );
    423434        ~CompoundStmtNode();
     
    488499
    489500// in DeclarationNode.cc
    490 void buildList( const DeclarationNode *firstNode, std::list< Declaration * > &outputList );
     501void buildList( const DeclarationNode *firstNode, std::list< Declaration *> &outputList );
    491502void buildList( const DeclarationNode *firstNode, std::list< DeclarationWithType *> &outputList );
    492 void buildTypeList( const DeclarationNode *firstNode, std::list< Type * > &outputList );
     503void buildTypeList( const DeclarationNode *firstNode, std::list< Type *> &outputList );
    493504
    494505// in ExpressionNode.cc
  • src/Parser/Parser.cc

    r937e51d reb50842  
    1010// Created On       : Sat May 16 14:54:28 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun May 31 23:45:19 2015
    13 // Update Count     : 4
     12// Last Modified On : Sat May 16 14:55:59 2015
     13// Update Count     : 2
    1414//
    1515
     
    1717#include "TypedefTable.h"
    1818#include "lex.h"
    19 #include "parser.h"
     19#include "cfa.tab.h"
    2020
    2121// global variables in cfa.y
  • src/Parser/StatementNode.cc

    r937e51d reb50842  
    1010// Created On       : Sat May 16 14:59:41 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun  6 23:25:41 2015
    13 // Update Count     : 19
     12// Last Modified On : Sat May 16 15:10:45 2015
     13// Update Count     : 7
    1414//
    1515
     
    3636StatementNode::StatementNode() : ParseNode(), control( 0 ), block( 0 ), labels( 0 ), target( 0 ), decl( 0 ), isCatchRest ( false ) {}
    3737
    38 StatementNode::StatementNode( const string *name_ ) : ParseNode( name_ ), control( 0 ), block( 0 ), labels( 0 ), target( 0 ), decl( 0 ), isCatchRest ( false ) {}
     38StatementNode::StatementNode( string name_) : ParseNode( name_), control( 0 ), block( 0 ), labels( 0 ), target( 0 ), decl( 0 ), isCatchRest ( false ) {}
    3939
    4040StatementNode::StatementNode( DeclarationNode *decl ) : type( Decl ), control( 0 ), block( 0 ), labels( 0 ), target( 0 ), isCatchRest ( false ) {
     
    4949                                next->set_next( new StatementNode( dynamic_cast< DeclarationNode* >( decl->get_link() ) ) );
    5050                                decl->set_next( 0 );
    51                         } // if
     51                        }
    5252                } else {
    5353                        if ( decl->get_link() ) {
    5454                                next = new StatementNode( dynamic_cast< DeclarationNode* >( decl->get_link() ) );
    5555                                decl->set_next( 0 );
    56                         } // if
     56                        }
    5757                        this->decl = decl;
    58                 } // if
    59         } // if
     58                }
     59        }
    6060}
    6161
     
    6767
    6868StatementNode::StatementNode( Type t, string *_target ) :
    69                 type( t ), control( 0 ), block( 0 ), labels( 0 ), target(_target ), decl( 0 ), isCatchRest ( false ) {}
     69                type( t ), control( 0 ), block( 0 ),   labels( 0 ), target(_target ), decl( 0 ), isCatchRest ( false ) {}
    7070
    7171StatementNode::~StatementNode() {
     
    9898        } else {
    9999                newnode->target = 0;
    100         } // if
     100        }
    101101        newnode->decl = maybeClone( decl );
    102102        return newnode;
     
    125125}
    126126
    127 StatementNode *StatementNode::add_label( const std::string *l ) {
     127StatementNode *StatementNode::add_label( std::string *l ) {
    128128        if ( l != 0 ) {
    129129                if ( labels == 0 )
     
    132132                labels->push_front(*l );
    133133                delete l;
    134         } // if
     134        }
    135135        return this;
    136136}
     
    151151                else
    152152                        block->set_link( stmt );
    153         } // if
     153        }
    154154        return this;
    155155}
     
    165165                        else
    166166                                block->set_link( stmt );
    167         } // if
     167        }
    168168        return this;
    169169}
    170170
    171171void StatementNode::print( std::ostream &os, int indent ) const {
    172         if ( labels != 0 ) {
     172        if ( labels != 0 )
    173173                if ( ! labels->empty()) {
    174174                        std::list<std::string>::const_iterator i;
    175175
    176                         os << string( indent, ' ' );
     176                        os << '\r' << string( indent, ' ');
    177177                        for ( i = labels->begin(); i != labels->end(); i++ )
    178178                                os << *i << ":";
    179179                        os << endl;
    180                 } // if
    181         } // if
     180                }
    182181
    183182        switch ( type ) {
     
    194193                break;
    195194          default:
    196                 os << string( indent, ' ' ) << StatementNode::StType[type] << endl;
     195                os << '\r' << string( indent, ' ') << StatementNode::StType[type] << endl;
    197196                if ( type == Catch ) {
    198197                        if ( decl ) {
    199                                 os << string( indent + ParseNode::indent_by, ' ' ) << "Declaration: " << endl;
     198                                os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Declaration: " << endl;
    200199                                decl->print( os, indent + 2*ParseNode::indent_by );
    201200                        } else if ( isCatchRest ) {
    202                                 os << string( indent + ParseNode::indent_by, ' ' ) << "Catches the rest " << endl;
     201                                os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Catches the rest " << endl;
    203202                        } else {
    204203                                ; // should never reach here
    205                         } // if
    206                 } // if
     204                        }
     205                }
    207206                if ( control ) {
    208                         os << string( indent + ParseNode::indent_by, ' ' ) << "Expression: " << endl;
     207                        os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Expression: " << endl;
    209208                        control->printList( os, indent + 2*ParseNode::indent_by );
    210                 } // if
     209                }
    211210                if ( block ) {
    212                         os << string( indent + ParseNode::indent_by, ' ' ) << "Branches of execution: " << endl;
     211                        os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Branches of execution: " << endl;
    213212                        block->printList( os, indent + 2*ParseNode::indent_by ); 
    214                 } // if
     213                }
    215214                if ( target ) {
    216                         os << string( indent + ParseNode::indent_by, ' ' ) << "Target: " << get_target() << endl;
    217                 } // if
     215                        os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Target: " << get_target() << endl;
     216                }
    218217                break;
    219         } // switch
     218        }
    220219}
    221220
     
    228227                std::back_insert_iterator< std::list<Label> > lab_it( labs );
    229228                copy( labels->begin(), labels->end(), lab_it );
    230         } // if
     229        }
    231230
    232231        // try {
     
    255254                                elseb = branches.front();
    256255                                branches.pop_front();
    257                         } // if
     256                        }
    258257                        return new IfStmt( labs, notZeroExpr( get_control()->build() ), thenb, elseb );
    259258                }
     
    300299                                assert( get_control() != 0 );
    301300                                return new BranchStmt( labs, get_control()->build(), BranchStmt::Goto );
    302                         } // if
     301                        }
    303302
    304303                        return new BranchStmt( labs, get_target(), BranchStmt::Goto );
     
    323322                        if ( ( finallyBlock = dynamic_cast<FinallyStmt *>( branches.back())) ) {
    324323                                branches.pop_back();
    325                         } // if
     324                        }
    326325                        return new TryStmt( labs, tryBlock, branches, finallyBlock );
    327326                }
     
    343342                // shouldn't be here
    344343                return 0;
    345         } // switch
    346 }
    347 
    348 CompoundStmtNode::CompoundStmtNode() : first( 0 ), last( 0 ) {}
    349 
    350 CompoundStmtNode::CompoundStmtNode( const string *name_ ) : StatementNode( name_ ), first( 0 ), last( 0 ) {}
    351 
    352 CompoundStmtNode::CompoundStmtNode( StatementNode *stmt ) : first( stmt ) {
     344        }
     345}
     346
     347CompoundStmtNode::CompoundStmtNode() : first( 0 ), last( 0 ) {
     348}
     349
     350CompoundStmtNode::CompoundStmtNode( string *name_) : StatementNode(*name_), first( 0 ), last( 0 ) {
     351}
     352
     353CompoundStmtNode::CompoundStmtNode( StatementNode *stmt ): first( stmt ) {
    353354        if ( first ) {
    354355                last = ( StatementNode *)( stmt->get_last());
    355356        } else {
    356357                last = 0;
    357         } // if
     358        }
    358359}
    359360
     
    366367                last->set_link( stmt );
    367368                last = ( StatementNode *)( stmt->get_link());
    368         } // if
     369        }
    369370}
    370371
     
    372373        if ( first ) {
    373374                first->printList( os, indent+2 );
    374         } // if
     375        }
    375376}
    376377
     
    382383                std::back_insert_iterator< std::list<Label> > lab_it( labs );
    383384                copy( labels->begin(), labels->end(), lab_it );
    384         } // if
     385        }
    385386
    386387        CompoundStmt *cs = new CompoundStmt( labs );
     
    390391
    391392void NullStmtNode::print( ostream &os, int indent ) const {
    392         os << string( indent, ' ' ) << "Null Statement:" << endl;
     393        os << "\r" << string( indent, ' ') << "Null Statement:" << endl;
    393394}
    394395
  • src/Parser/TypeData.cc

    r937e51d reb50842  
    1010// Created On       : Sat May 16 15:12:51 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jun 18 22:06:23 2015
    13 // Update Count     : 21
     12// Last Modified On : Sat May 16 15:17:56 2015
     13// Update Count     : 4
    1414//
    1515
     
    8989                attr->type = 0;
    9090                break;
    91         } // switch
     91        }
    9292}
    9393
     
    155155                delete attr;
    156156                break;
    157         } // switch
     157        }
    158158}
    159159
     
    225225                newtype->attr->type = maybeClone( attr->type );
    226226                break;
    227         } // switch
     227        }
    228228        return newtype;
    229229}
     
    238238                os << "forall " << endl;
    239239                forall->printList( os, indent+4 );
    240         } // if
     240        }
    241241
    242242        switch ( kind ) {
     
    249249                        os << "to ";
    250250                        base->print( os, indent );
    251                 } // if
     251                }
    252252                break;
    253253          case EnumConstant:
     
    261261                if ( array->isStatic ) {
    262262                        os << "static ";
    263                 } // if
     263                }
    264264                if ( array->dimension ) {
    265265                        os << "array of ";
     
    269269                } else {
    270270                        os << "open array of ";
    271                 } // if
     271                }
    272272                if ( base ) {
    273273                        base->print( os, indent );
    274                 } // if
     274                }
    275275                break;
    276276          case Function:
     
    281281                } else {
    282282                        os << string( indent+2, ' ' ) << "with no parameters " << endl;
    283                 } // if
     283                }
    284284                if ( function->idList ) {
    285285                        os << string( indent+2, ' ' ) << "with old-style identifier list " << endl;
    286286                        function->idList->printList( os, indent+4 );
    287                 } // if
     287                }
    288288                if ( function->oldDeclList ) {
    289289                        os << string( indent+2, ' ' ) << "with old-style declaration list " << endl;
    290290                        function->oldDeclList->printList( os, indent+4 );
    291                 } // if
     291                }
    292292                os << string( indent+2, ' ' ) << "returning ";
    293293                if ( base ) {
     
    295295                } else {
    296296                        os << "nothing ";
    297                 } // if
     297                }
    298298                os << endl;
    299299                if ( function->hasBody ) {
    300300                        os << string( indent+2, ' ' ) << "with body " << endl;
    301                 } // if
     301                }
    302302                if ( function->body ) {
    303303                        function->body->printList( os, indent+2 );
    304                 } // if
     304                }
    305305                break;
    306306          case Aggregate:
    307                 os << DeclarationNode::aggregateName[ aggregate->kind ] << ' ' << aggregate->name << endl;
     307                os << DeclarationNode::tyConName[ aggregate->kind ] << ' ' << aggregate->name << endl;
    308308                if ( aggregate->params ) {
    309309                        os << string( indent+2, ' ' ) << "with type parameters " << endl;
    310310                        aggregate->params->printList( os, indent+4 );
    311                 } // if
     311                }
    312312                if ( aggregate->actuals ) {
    313313                        os << string( indent+2, ' ' ) << "instantiated with actual parameters " << endl;
    314314                        aggregate->actuals->printList( os, indent+4 );
    315                 } // if
     315                }
    316316                if ( aggregate->members ) {
    317317                        os << string( indent+2, ' ' ) << "with members " << endl;
     
    319319///     } else {
    320320///       os << string( indent+2, ' ' ) << "with no members " << endl;
    321                 } // if
     321                }
    322322                break;
    323323          case AggregateInst:
     
    327327                } else {
    328328                        os << "instance of an unspecified aggregate ";
    329                 } // if
     329                }
    330330                if ( aggInst->params ) {
    331331                        os << string( indent+2, ' ' ) << "with parameters " << endl;
    332332                        aggInst->params->printList( os, indent+2 );
    333                 } // if
     333                }
    334334                break;
    335335          case Enum:
     
    338338                        os << "with constants" << endl;
    339339                        enumeration->constants->printList( os, indent+2 );
    340                 } // if
     340                }
    341341                break;
    342342          case SymbolicInst:
     
    345345                        os << " with parameters" << endl;
    346346                        symbolic->actuals->printList( os, indent + 2 );
    347                 } // if
     347                }
    348348                break;
    349349          case Symbolic:
     
    352352                } else {
    353353                        os << "type definition ";
    354                 } // if
     354                }
    355355                if ( symbolic->params ) {
    356356                        os << endl << string( indent+2, ' ' ) << "with parameters" << endl;
    357357                        symbolic->params->printList( os, indent + 2 );
    358                 } // if
     358                }
    359359                if ( symbolic->assertions ) {
    360360                        os << endl << string( indent+2, ' ' ) << "with assertions" << endl;
    361361                        symbolic->assertions->printList( os, indent + 4 );
    362362                        os << string( indent+2, ' ' );
    363                 } // if
     363                }
    364364                if ( base ) {
    365365                        os << "for ";
    366366                        base->print( os, indent + 2 );
    367                 } // if
     367                }
    368368                break;
    369369          case Variable:
     
    373373                        variable->assertions->printList( os, indent + 4 );
    374374                        os << string( indent+2, ' ' );
    375                 } // if
     375                }
    376376                break;
    377377          case Tuple:
     
    380380                        os << "with members " << endl;
    381381                        tuple->members->printList( os, indent + 2 );
    382                 } // if
     382                }
    383383                break;
    384384          case Typeof:
     
    386386                if ( typeexpr->expr ) {
    387387                        typeexpr->expr->print( os, indent + 2 );
    388                 } // if
     388                }
    389389                break;
    390390          case Attr:
     
    392392                if ( attr->expr ) {
    393393                        attr->expr->print( os, indent + 2 );
    394                 } // if
     394                }
    395395                if ( attr->type ) {
    396396                        attr->type->print( os, indent + 2 );
    397                 } // if
    398                 break;
    399         } // switch
     397                }
     398                break;
     399        }
    400400}
    401401
     
    408408                        ret = clone();
    409409                        ret->qualifiers.clear();
    410                 } // if
     410                }
    411411                break;
    412412          case Enum:
     
    414414                        ret = clone();
    415415                        ret->qualifiers.clear();
    416                 } // if
     416                }
    417417                break;
    418418          case AggregateInst:
    419419                if ( aggInst->aggregate ) {
    420420                        ret = aggInst->aggregate->extractAggregate( false );
    421                 } // if
     421                }
    422422                break;
    423423          default:
    424424                if ( base ) {
    425425                        ret = base->extractAggregate( false );
    426                 } // if
    427         } // switch
     426                }
     427        }
    428428        return ret;
    429429}
     
    434434                if ( (*i)->get_kind() == TypeDecl::Any ) {
    435435                        FunctionType *assignType = new FunctionType( Type::Qualifiers(), false );
    436                         assignType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ) ), 0 ) );
    437                         assignType->get_parameters().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) );
    438                         assignType->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) );
    439                         (*i)->get_assertions().push_front( new FunctionDecl( "?=?", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, assignType, 0, false, false ) );
    440                 } // if
    441         } // for
    442 }
    443 
    444 Declaration *TypeData::buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression *bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Type linkage, Initializer *init ) const {
     436                        assignType->get_parameters().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ) ), 0 ) );
     437                        assignType->get_parameters().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) );
     438                        assignType->get_returnVals().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new TypeInstType( Type::Qualifiers(), (*i)->get_name(), *i ), 0 ) );
     439                        (*i)->get_assertions().push_front( new FunctionDecl( "?=?", Declaration::NoStorageClass, LinkageSpec::Cforall, assignType, 0, false ) );
     440                }
     441        }
     442}
     443
     444Declaration *TypeData::buildDecl( std::string name, Declaration::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init ) const {
    445445        if ( kind == TypeData::Function ) {
    446446                FunctionDecl *decl;
     
    450450                                CompoundStmt *body = dynamic_cast< CompoundStmt* >( stmt );
    451451                                assert( body );
    452                                 decl = new FunctionDecl( name, sc, linkage, buildFunction(), body, isInline, isNoreturn );
     452                                decl = new FunctionDecl( name, sc, linkage, buildFunction(), body, isInline );
    453453                        } else {
    454454                                // std::list<Label> ls;
    455                                 decl = new FunctionDecl( name, sc, linkage, buildFunction(), new CompoundStmt( std::list<Label>() ), isInline, isNoreturn );
    456                         } // if
     455                                decl = new FunctionDecl( name, sc, linkage, buildFunction(), new CompoundStmt( std::list<Label>() ), isInline );
     456                        }
    457457                } else {
    458                         decl = new FunctionDecl( name, sc, linkage, buildFunction(), 0, isInline, isNoreturn );
    459                 } // if
     458                        decl = new FunctionDecl( name, sc, linkage, buildFunction(), 0, isInline );
     459                }
    460460                for ( DeclarationNode *cur = function->idList; cur != 0; cur = dynamic_cast< DeclarationNode* >( cur->get_link() ) ) {
    461461                        if ( cur->get_name() != "" ) {
    462462                                decl->get_oldIdents().insert( decl->get_oldIdents().end(), cur->get_name() );
    463                         } // if
    464                 } // for
     463                        }
     464                }
    465465                buildList( function->oldDeclList, decl->get_oldDecls() );
    466466                return decl;
     
    474474                return buildVariable();
    475475        } else {
    476                 if ( isInline || isNoreturn ) {
    477                         throw SemanticError( "invalid inline or _Noreturn specification in declaration of ", this );
     476                if ( isInline ) {
     477                        throw SemanticError( "invalid inline specification in declaration of ", this );
    478478                } else {
    479479                        return new ObjectDecl( name, sc, linkage, bitfieldWidth, build(), init );
    480                 } // if
    481         } // if
     480                }
     481        }
    482482        return 0;
    483483}
     
    514514          case Variable:
    515515                assert( false );
    516         } // switch
     516        }
    517517
    518518        return 0;
     
    541541                        q.isAttribute = true;
    542542                        break;
    543                 } // switch
    544         } // for
     543                }
     544        }
    545545        return q;
    546546}
     
    563563                                } else {
    564564                                        return new VoidType( buildQualifiers() );
    565                                 } // if
     565                                }
    566566                        } else {
    567567                                ret = kindMap[ *i ];
    568                         } // if
     568                        }
    569569                } else {
    570570                        switch ( *i ) {
     
    582582                                          default:
    583583                                                throw SemanticError( "invalid type specifier \"float\" in type: ", this );
    584                                         } // switch
    585                                 } // if
     584                                        }
     585                                }
    586586                                break;
    587587                          case DeclarationNode::Double:
     
    595595                                          default:
    596596                                                throw SemanticError( "invalid type specifier \"double\" in type: ", this );
    597                                         } // switch
    598                                 } // if
     597                                        }
     598                                }
    599599                                break;
     600       
    600601                          case DeclarationNode::Complex:
    601602                                switch ( ret ) {
     
    608609                                  default:
    609610                                        throw SemanticError( "invalid type specifier \"_Complex\" in type: ", this );
    610                                 } // switch
     611                                }
    611612                                break;
    612613                          case DeclarationNode::Imaginary:
     
    620621                                  default:
    621622                                        throw SemanticError( "invalid type specifier \"_Imaginary\" in type: ", this );
    622                                 } // switch
     623                                }
    623624                                break;
    624625                          default:
    625626                                throw SemanticError( std::string( "invalid type specifier \"" ) + DeclarationNode::basicTypeName[ *i ] + "\" in type: ", this );
    626                         } // switch
    627                 } // if
     627                        }
     628                }
    628629                if ( *i == DeclarationNode::Double ) {
    629630                        sawDouble = true;
    630                 } // if
    631         } // for
     631                }
     632        }
    632633
    633634        for ( std::list< DeclarationNode::Modifier >::const_iterator i = basic->modifiers.begin(); i != basic->modifiers.end(); ++i ) {
     
    662663                                  default:
    663664                                        throw SemanticError( "invalid type modifier \"long\" in type: ", this );
    664                                 } // switch
    665                         } // if
     665                                }
     666                        }
    666667                        break;
    667668                  case DeclarationNode::Short:
     
    679680                                  default:
    680681                                        throw SemanticError( "invalid type modifier \"short\" in type: ", this );
    681                                 } // switch
    682                         } // if
     682                                }
     683                        }
    683684                        break;
    684685                  case DeclarationNode::Signed:
     
    690691                        } else {
    691692                                switch ( ret ) {
    692                                   case BasicType::LongLongSignedInt:
     693                                  case BasicType::LongLongSignedInt:    // PAB
    693694                                        ret = BasicType::LongLongUnsignedInt;
    694695                                        break;
     
    704705                                  default:
    705706                                        throw SemanticError( "invalid type modifer \"signed\" in type: ", this );
    706                                 } // switch
    707                         } // if
     707                                }
     708                        }
    708709                        break;
    709710                  case DeclarationNode::Unsigned:
     
    715716                        } else {
    716717                                switch ( ret ) {
    717                                   case BasicType::LongLongSignedInt:
     718                                  case BasicType::LongLongSignedInt:    // PAB
    718719                                        ret = BasicType::LongLongUnsignedInt;
    719720                                        break;
     
    732733                                  default:
    733734                                        throw SemanticError( "invalid type modifer \"unsigned\" in type: ", this );
    734                                 } // switch
    735                         } // if
    736                         break;
    737                 } // switch
     735                                }
     736                        }
     737                        break;
     738                }
    738739
    739740                if ( *i == DeclarationNode::Signed ) {
    740741                        sawSigned = true;
    741                 } // if
    742         } // for
     742                }
     743        }
    743744
    744745        BasicType *bt;
     
    747748        } else {
    748749                bt = new BasicType( buildQualifiers(), ret );
    749         } // if
     750        }
    750751        buildForall( forall, bt->get_forall() );
    751752        return bt;
     
    759760        } else {
    760761                pt = new PointerType( buildQualifiers(), new BasicType( Type::Qualifiers(), BasicType::SignedInt ) );
    761         } // if
     762        }
    762763        buildForall( forall, pt->get_forall() );
    763764        return pt;
     
    772773                at = new ArrayType( buildQualifiers(), new BasicType( Type::Qualifiers(), BasicType::SignedInt ),
    773774                                                        maybeBuild< Expression >( array->dimension ), array->isVarLen, array->isStatic );
    774         } // if
     775        }
    775776        buildForall( forall, at->get_forall() );
    776777        return at;
     
    790791                        break;
    791792                  default:
    792                         ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( base->buildDecl( "", DeclarationNode::NoStorageClass, 0, false, false, LinkageSpec::Cforall ) ) );
    793                 } // switch
     793                        ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( base->buildDecl( "", Declaration::NoStorageClass, 0, false, LinkageSpec::Cforall ) ) );
     794                }
    794795        } else {
    795                 ft->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 ) );
    796         } // if
     796                ft->get_returnVals().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 ) );
     797        }
    797798        return ft;
    798799}
     
    805806                at = new StructDecl( aggregate->name );
    806807                break;
     808       
    807809          case DeclarationNode::Union:
    808810                at = new UnionDecl( aggregate->name );
    809811                break;
     812       
    810813          case DeclarationNode::Context:
    811814                at = new ContextDecl( aggregate->name );
    812815                break;
     816       
    813817          default:
    814818                assert( false );
    815         } // switch
     819        }
    816820        buildList( aggregate->params, at->get_parameters() );
    817821        buildList( aggregate->members, at->get_members() );
     
    834838ReferenceToType *TypeData::buildAggInst() const {
    835839        assert( kind == AggregateInst );
     840        std::string name;
    836841
    837842        ReferenceToType *ret;
     
    852857                  default:
    853858                        assert( false );
    854                 } // switch
    855         } // if
     859                }
     860        }
    856861        buildList( aggInst->params, ret->get_parameters() );
    857862        buildForall( forall, ret->get_forall() );
     
    859864}
    860865
    861 NamedTypeDecl *TypeData::buildSymbolic( const std::string &name, DeclarationNode::StorageClass sc ) const {
     866NamedTypeDecl *TypeData::buildSymbolic( const std::string &name, Declaration::StorageClass sc ) const {
    862867        assert( kind == Symbolic );
    863868        NamedTypeDecl *ret;
     
    866871        } else {
    867872                ret = new TypeDecl( name, sc, maybeBuild< Type >( base ), TypeDecl::Any );
    868         } // if
     873        }
    869874        buildList( symbolic->params, ret->get_parameters() );
    870875        buildList( symbolic->assertions, ret->get_assertions() );
     
    876881        static const TypeDecl::Kind kindMap[] = { TypeDecl::Any, TypeDecl::Ftype, TypeDecl::Dtype };
    877882
    878         TypeDecl *ret = new TypeDecl( variable->name, DeclarationNode::NoStorageClass, 0, kindMap[ variable->tyClass ] );
     883        TypeDecl *ret = new TypeDecl( variable->name, Declaration::NoStorageClass, 0, kindMap[ variable->tyClass ] );
    879884        buildList( variable->assertions, ret->get_assertions() );
     885       
    880886        return ret;
    881887}
     
    885891        EnumDecl *ret = new EnumDecl( enumeration->name );
    886892        buildList( enumeration->constants, ret->get_members() );
     893
    887894        return ret;
    888895}
     
    893900        buildList( symbolic->actuals, ret->get_parameters() );
    894901        buildForall( forall, ret->get_forall() );
     902
    895903        return ret;
    896904}
     
    901909        buildTypeList( tuple->members, ret->get_types() );
    902910        buildForall( forall, ret->get_forall() );
     911
    903912        return ret;
    904913}
     
    909918        assert( typeexpr->expr );
    910919        TypeofType *ret = new TypeofType( buildQualifiers(), typeexpr->expr->build() );
     920
    911921        return ret;
    912922}
     
    921931                assert( attr->type );
    922932                ret = new AttrType( buildQualifiers(), attr->name, attr->type->buildType() );
    923         } // if
     933        }
     934
    924935        return ret;
    925936}
  • src/Parser/TypeData.h

    r937e51d reb50842  
    1010// Created On       : Sat May 16 15:18:36 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jun 18 21:03:18 2015
    13 // Update Count     : 7
     12// Last Modified On : Sat May 16 15:20:00 2015
     13// Update Count     : 2
    1414//
    1515
     
    4444
    4545        struct Aggregate_t {
    46                 DeclarationNode::Aggregate kind;
     46                DeclarationNode::TyCon kind;
    4747                std::string name;
    4848                DeclarationNode *params;
     
    120120        TypeData *extractAggregate( bool toplevel = true ) const;
    121121        // helper function for DeclNodeImpl::build
    122         Declaration * buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression *bitfieldWidth, bool isInline, bool isNoreturn, LinkageSpec::Type linkage, Initializer *init = 0 ) const;
     122        Declaration * buildDecl( std::string name, Declaration::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init = 0 ) const;
    123123        // helper functions for build()
    124124        Type::Qualifiers buildQualifiers() const;
    125         Type * buildBasicType() const;
     125        Type *buildBasicType() const;
    126126        PointerType * buildPointer() const;
    127127        ArrayType * buildArray() const;
    128128        AggregateDecl * buildAggregate() const;
    129129        ReferenceToType * buildAggInst() const;
    130         NamedTypeDecl * buildSymbolic( const std::string &name, DeclarationNode::StorageClass sc ) const;
     130        NamedTypeDecl * buildSymbolic( const std::string &name, Declaration::StorageClass sc ) const;
    131131        TypeDecl* buildVariable() const;
    132132        EnumDecl* buildEnum() const;
  • src/Parser/TypedefTable.cc

    r937e51d reb50842  
    1010// Created On       : Sat May 16 15:20:13 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Jun 21 11:46:15 2015
    13 // Update Count     : 7
     12// Last Modified On : Sat May 16 15:24:03 2015
     13// Update Count     : 2
    1414//
    1515
     
    2929TypedefTable::TypedefTable() : currentScope( 0 ) {}
    3030
    31 bool TypedefTable::isKind( const string &identifier, kind_t kind ) const {
     31bool TypedefTable::isKind( string identifier, kind_t kind ) const {
    3232        tableType::const_iterator id_pos = table.find( identifier );
    33         if ( id_pos == table.end() ) {
     33        if ( id_pos == table.end()) {
    3434                return true;
    3535        } else {
    3636                return (*((*id_pos ).second.begin())).kind == kind;
    37         } // if
     37        }
    3838}
    3939
    40 bool TypedefTable::isIdentifier( const string &identifier ) const {
     40bool TypedefTable::isIdentifier( string identifier ) const {
    4141        return isKind( identifier, ID );
    4242}
    4343
    44 bool TypedefTable::isTypedef( const string &identifier ) const {
     44bool TypedefTable::isTypedef( string identifier ) const {
    4545        return isKind( identifier, TD );
    4646}
    4747
    48 bool TypedefTable::isTypegen( const string &identifier ) const {
     48bool TypedefTable::isTypegen( string identifier ) const {
    4949        return isKind( identifier, TG );
    5050}
     
    6666                        while ( listPos != (*curPos ).second.end() && listPos->scope > scope ) {
    6767                                listPos++;
    68                         } // while
     68                        }
    6969                        (*curPos ).second.insert( listPos, newEntry );
    70                 } // if
    71         } // if
     70                }
     71        }
    7272}
    7373
     
    102102}
    103103
    104 void TypedefTable::openContext( const std::string &contextName ) {
     104void TypedefTable::openContext( std::string contextName ) {
    105105        map< string, deferListType >::iterator i = contexts.find( contextName );
    106106        if ( i != contexts.end() ) {
     
    108108                for ( deferListType::iterator i = entries.begin(); i != entries.end(); i++) {
    109109                        addToEnclosingScope( i->identifier, i->kind );
    110                 } // for
    111         } // if
     110                }
     111        }
    112112}
    113113
    114 void TypedefTable::enterScope() {
     114void TypedefTable::enterScope( void ) {
    115115        currentScope += 1;
    116116        deferListStack.push( deferListType() );
     
    119119}
    120120
    121 void TypedefTable::leaveScope() {
     121void TypedefTable::leaveScope( void ) {
    122122        debugPrint( "Leaving scope " << currentScope << endl );
    123123        for ( tableType::iterator i = table.begin(); i != table.end(); ) {
     
    129129                        table.erase( i++ );
    130130                } else ++i;
    131         } // for
     131        }
    132132        currentScope -= 1;
    133133        for ( deferListType::iterator i = deferListStack.top().begin(); i != deferListStack.top().end(); i++) {
    134134                addToCurrentScope( i->identifier, i->kind );
    135         } // for
     135        }
    136136        deferListStack.pop();
    137137        debugPrint( "nextIdentifiers size is " << nextIdentifiers.size() << " top is " << nextIdentifiers.top() << endl );
     
    139139}
    140140
    141 void TypedefTable::enterContext( const std::string &contextName ) {
     141void TypedefTable::enterContext( std::string contextName ) {
    142142        currentContext = contextName;
    143143        contextScope = currentScope;
    144144}
    145145
    146 void TypedefTable::leaveContext() {
     146void TypedefTable::leaveContext( void ) {
    147147        currentContext = "";
    148148}
     
    156156                }
    157157                debugPrint( endl );
    158         } // for
     158        }
    159159}
    160160
  • src/Parser/TypedefTable.h

    r937e51d reb50842  
    1010// Created On       : Sat May 16 15:24:36 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jun 18 21:03:17 2015
    13 // Update Count     : 7
     12// Last Modified On : Sat May 16 15:25:59 2015
     13// Update Count     : 3
    1414//
    1515
     
    4949        std::stack< std::string > nextIdentifiers;
    5050
    51         bool isKind( const std::string &identifier, kind_t kind ) const;
     51        bool isKind( std::string identifier, kind_t kind ) const;
    5252        void addToScope( const std::string &identifier, kind_t kind, int scope );
    5353  public:
    5454        TypedefTable();
    5555
    56         bool isIdentifier( const std::string &identifier ) const;
    57         bool isTypedef( const std::string &identifier ) const;
    58         bool isTypegen( const std::string &identifier ) const;
     56        bool isIdentifier( std::string identifier ) const;
     57        bool isTypedef( std::string identifier ) const;
     58        bool isTypegen( std::string identifier ) const;
    5959       
    60         // "addToCurrentScope" adds the identifier/type pair to the current scope. This does less than you think it does,
     60        // "addToCurrentScope" adds the identifier/type pair to the current scope This does less than you think it does,
    6161        // since each declaration is within its own scope.  Mostly useful for type parameters.
    6262        void addToCurrentScope( const std::string &identifier, kind_t kind );
     
    7777       
    7878        // dump the definitions from a pre-defined context into the current scope
    79         void openContext( const std::string &contextName );
     79        void openContext( std::string contextName );
    8080       
    8181        void enterScope();
    8282        void leaveScope();
    83         void enterContext( const std::string &contextName );
     83        void enterContext( std::string contextName );
    8484        void leaveContext();
    8585
  • src/Parser/lex.h

    r937e51d reb50842  
    1010// Created On       : Sat Sep 22 08:58:10 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun  8 20:28:48 2015
    13 // Update Count     : 341
     12// Last Modified On : Sat May 16 12:18:48 2015
     13// Update Count     : 334
    1414//
    1515
     
    1818
    1919int yylex();
    20 void yyerror( const char * );
     20void yyerror(char *);
    2121
    2222// External declarations for information sharing between lexer and scanner
     
    3535class Token {
    3636  public:
    37     std::string *str;                                                                   // must be pointer as used in union
     37    std::string *str;
    3838    Location loc;
    3939
     
    4444
    4545// Local Variables: //
     46// fill-column: 110 //
    4647// tab-width: 4 //
    4748// mode: c++ //
  • src/Parser/module.mk

    r937e51d reb50842  
    88## module.mk --
    99##
    10 ## Author           : Peter A. Buhr
     10## Author           : Richard C. Bilson
    1111## Created On       : Sat May 16 15:29:09 2015
    1212## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jun  8 20:23:47 2015
    14 ## Update Count     : 87
     13## Last Modified On : Thu May 21 21:17:07 2015
     14## Update Count     : 2
    1515###############################################################################
    1616
    17 BUILT_SOURCES = Parser/parser.h
     17YACC=bison
     18YFLAGS=-d --debug -v
     19LEX=flex
     20LFLAGS=
    1821
    19 AM_YFLAGS = -d -t -v
    20 cfa_cpp_LDADD = ${LEXLIB}       # yywrap
    21 MAINTAINERCLEANFILES = Parser/parser.output
    22 
    23 SRC += Parser/parser.yy \
    24        Parser/lex.ll \
     22SRC += Parser/cfa.y \
     23       Parser/lex.l \
    2524       Parser/TypedefTable.cc \
    2625       Parser/ParseNode.cc \
     
    3332       Parser/parseutility.cc \
    3433       Parser/Parser.cc
     34
     35EXTRA_OUTPUT += Parser/cfa.tab.cc \
     36                Parser/cfa.tab.h \
     37                Parser/lex.yy.cc \
     38                Parser/cfa.output
     39
     40LIBS += -lfl
     41
     42Parser/Parser.cc: Parser/cfa.tab.h
     43
     44Parser/cfa.tab.cc: Parser/cfa.y
     45        $(YACC) $(YFLAGS) $< --file-prefix=Parser/cfa
     46        -mv Parser/cfa.tab.c Parser/cfa.tab.cc
     47
     48Parser/cfa.tab.h: Parser/cfa.tab.cc
     49
     50Parser/lex.yy.cc: Parser/lex.l Parser/cfa.tab.h Parser/TypedefTable.h
     51        $(LEX) $(LFLAGS) -o$@ $<
     52
     53Parser/lex.yy.o: Parser/lex.yy.cc Parser/ParseNode.h
     54        $(CXX) $(CXXFLAGS) -Wno-unused -c -o $@ $<
  • src/ResolvExpr/AlternativeFinder.cc

    r937e51d reb50842  
    1010// Created On       : Sat May 16 23:52:08 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun 22 17:19:54 2015
    13 // Update Count     : 17
     12// Last Modified On : Sat May 16 23:55:30 2015
     13// Update Count     : 3
    1414//
    1515
     
    108108                                                PRINT(
    109109                                                        std::cout << "cost " << candidate->cost << " beats " << mapPlace->second.candidate->cost << std::endl;
    110                                                 )
     110                                                        )
    111111                                                selected[ mangleName ] = current;
    112112                                        } else if ( candidate->cost == mapPlace->second.candidate->cost ) {
    113113                                                PRINT(
    114114                                                        std::cout << "marking ambiguous" << std::endl;
    115                                                 )
     115                                                        )
    116116                                                mapPlace->second.isAmbiguous = true;
    117117                                        }
     
    123123                        PRINT(
    124124                                std::cout << "there are " << selected.size() << " alternatives before elimination" << std::endl;
    125                         )
     125                                )
    126126
    127127                        // accept the alternatives that were unambiguous
     
    184184                                std::cout << "findSubExprs" << std::endl;
    185185                                printAlts( finder.alternatives, std::cout );
    186                         )
     186                                )
    187187                        *out++ = finder;
    188188                }
     
    206206                        std::cout << "alternatives before prune:" << std::endl;
    207207                        printAlts( alternatives, std::cout );
    208                 )
     208                        )
    209209                AltList::iterator oldBegin = alternatives.begin();
    210210                pruneAlternatives( alternatives.begin(), alternatives.end(), front_inserter( alternatives ), indexer );
    211211                if ( alternatives.begin() == oldBegin ) {
    212                         std::ostringstream stream;
     212                        std::ostrstream stream;
    213213                        stream << "Can't choose between alternatives for expression ";
    214214                        expr->print( stream );
     
    217217                        findMinCost( alternatives.begin(), alternatives.end(), back_inserter( winners ) );
    218218                        printAlts( winners, stream, 8 );
    219                         throw SemanticError( stream.str() );
     219                        throw SemanticError( std::string( stream.str(), stream.pcount() ) );
    220220                }
    221221                alternatives.erase( oldBegin, alternatives.end() );
    222222                PRINT(
    223223                        std::cout << "there are " << alternatives.size() << " alternatives after elimination" << std::endl;
    224                 )
     224                        )
    225225        }
    226226
     
    265265                                std::cout << "--- results are" << std::endl;
    266266                                printAll( (*actualExpr)->get_results(), std::cout, 8 );
    267                         )
    268                         std::list< DeclarationWithType* >::iterator startFormal = formal;
     267                                )
     268                                std::list< DeclarationWithType* >::iterator startFormal = formal;
    269269                        Cost actualCost;
    270270                        for ( std::list< Type* >::iterator actual = (*actualExpr)->get_results().begin(); actual != (*actualExpr)->get_results().end(); ++actual ) {
     
    282282                                        std::cout << std::endl << " to ";
    283283                                        (*formal)->get_type()->print( std::cout, 8 );
    284                                 )
    285                                 Cost newCost = conversionCost( *actual, (*formal)->get_type(), indexer, alt.env );
     284                                        )
     285                                        Cost newCost = conversionCost( *actual, (*formal)->get_type(), indexer, alt.env );
    286286                                PRINT(
    287287                                        std::cout << std::endl << "cost is" << newCost << std::endl;
    288                                 )
    289 
    290                                 if ( newCost == Cost::infinity ) {
    291                                         return newCost;
    292                                 }
     288                                        )
     289
     290                                        if ( newCost == Cost::infinity ) {
     291                                                return newCost;
     292                                        }
    293293                                convCost += newCost;
    294294                                actualCost += newCost;
     
    381381                                        (*actual)->print( std::cerr );
    382382                                        std::cerr << std::endl;
    383                                 )
     383                                        )
    384384                                if ( ! unify( (*formal)->get_type(), *actual, resultEnv, resultNeed, resultHave, openVars, indexer ) ) {
    385385                                        return false;
     
    429429                                        std::cerr << "recursing with new set:" << std::endl;
    430430                                        printAssertionSet( newNeed, std::cerr, 8 );
    431                                 )
     431                                        )
    432432                                inferRecursive( newNeed.begin(), newNeed.end(), newAlt, openVars, decls, newerNeed, level+1, indexer, out );
    433433                                return;
     
    444444                        curDecl->print( std::cerr );
    445445                        std::cerr << std::endl;
    446                 )
     446                        )
    447447                std::list< DeclarationWithType* > candidates;
    448448                decls.lookupId( curDecl->get_name(), candidates );
     
    453453                                (*candidate)->print( std::cout );
    454454                                std::cout << std::endl;
    455                         )
     455                                )
    456456                        AssertionSet newHave, newerNeed( newNeed );
    457457                        TypeEnvironment newEnv( newAlt.env );
     
    466466                                adjType->print( std::cerr );
    467467                                std::cerr << std::endl;
    468                         )
     468                                )
    469469                        if ( unify( curDecl->get_type(), adjType, newEnv, newerNeed, newHave, newOpenVars, indexer ) ) {
    470470                                PRINT(
    471471                                        std::cerr << "success!" << std::endl;
    472                                 )
     472                                        )
    473473                                SymTab::Indexer newDecls( decls );
    474474                                addToIndexer( newHave, newDecls );
     
    486486                                        (*candidate)->print( std::cout );
    487487                                        std::cout << std::endl;
    488                                 )
     488                                        )
    489489                                ApplicationExpr *appExpr = static_cast< ApplicationExpr* >( newerAlt.expr );
    490490                                // XXX: this is a memory leak, but adjType can't be deleted because it might contain assertions
     
    509509                        std::cout << "============= new indexer" << std::endl;
    510510                        decls.print( std::cout );
    511                 )
     511                        )
    512512                addToIndexer( have, decls );
    513513                AssertionSet newNeed;
     
    533533                                std::cout << "need assertions:" << std::endl;
    534534                                printAssertionSet( resultNeed, std::cout, 8 );
    535                         )
     535                                )
    536536                        inferParameters( resultNeed, resultHave, newAlt, openVars, out );
    537537                }
     
    542542                AlternativeFinder funcOpFinder( indexer, env );
    543543
    544                 AlternativeFinder funcFinder( indexer, env ); {
     544                AlternativeFinder funcFinder( indexer, env );
     545
     546                {
    545547                        NameExpr *fname;
    546548                        if ( ( fname = dynamic_cast<NameExpr *>( untypedExpr->get_function()))
    547                                  && ( fname->get_name() == std::string("&&")) ) {
    548                                 alternatives.push_back( Alternative( untypedExpr->clone(), env, Cost()) );
     549                                 && ( fname->get_name() == std::string("LabAddress")) ) {
     550                                alternatives.push_back( Alternative( untypedExpr, env, Cost()) );
    549551                                return;
    550552                        }
     
    560562                Tuples::TupleAssignSpotter tassign( this );
    561563                if ( tassign.isTupleAssignment( untypedExpr, possibilities ) ) {
    562                         // take care of possible tuple assignments, or discard expression
     564                        // TODO take care of possible tuple assignments, or discard expression
    563565                        return;
    564566                } // else ...
     
    570572                                std::cout << "working on alternative: " << std::endl;
    571573                                func->print( std::cout, 8 );
    572                         )
     574                                )
    573575                        // check if the type is pointer to function
    574576                        PointerType *pointer;
     
    603605                                                std::cout << "known function ops:" << std::endl;
    604606                                                printAlts( funcOpFinder.alternatives, std::cout, 8 );
    605                                         )
     607                                                )
    606608                                }
    607609
     
    642644                                withFunc->env.print( std::cout, 8 );
    643645                                std::cout << "cost of conversion is:" << cvtCost << std::endl;
    644                         )
    645                         if ( cvtCost != Cost::infinity ) {
    646                                 withFunc->cvtCost = cvtCost;
    647                                 alternatives.push_back( *withFunc );
    648                         } // if
     646                                )
     647                                if ( cvtCost != Cost::infinity ) {
     648                                        withFunc->cvtCost = cvtCost;
     649                                        alternatives.push_back( *withFunc );
     650                                } // if
    649651                } // for
    650652                candidates.clear();
     
    747749                                newExpr.print( std::cerr );
    748750                                std::cerr << std::endl;
    749                         )
     751                                )
    750752                        renameTypes( alternatives.back().expr );
    751753                        if ( StructInstType *structInst = dynamic_cast< StructInstType* >( (*i)->get_type() ) ) {
     
    794796                        argType->print( std::cout );
    795797                        std::cout << std::endl;
    796                 )
    797                 if ( typesCompatibleIgnoreQualifiers( argType, function->get_parameters().front()->get_type(), indexer, env ) ) {
    798                         alternatives.push_back( Alternative( new AttrExpr( new VariableExpr( funcDecl ), argType->clone() ), env, Cost::zero ) );
    799                         for ( std::list< DeclarationWithType* >::iterator i = function->get_returnVals().begin(); i != function->get_returnVals().end(); ++i ) {
    800                                 alternatives.back().expr->get_results().push_back( (*i)->get_type()->clone() );
    801                         } // for
    802                 } // if
     798                        )
     799                        if ( typesCompatibleIgnoreQualifiers( argType, function->get_parameters().front()->get_type(), indexer, env ) ) {
     800                                alternatives.push_back( Alternative( new AttrExpr( new VariableExpr( funcDecl ), argType->clone() ), env, Cost::zero ) );
     801                                for ( std::list< DeclarationWithType* >::iterator i = function->get_returnVals().begin(); i != function->get_returnVals().end(); ++i ) {
     802                                        alternatives.back().expr->get_results().push_back( (*i)->get_type()->clone() );
     803                                } // for
     804                        } // if
    803805        }
    804806
  • src/ResolvExpr/RenameVars.cc

    r937e51d reb50842  
    1010// Created On       : Sun May 17 12:05:18 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun  8 14:51:35 2015
    13 // Update Count     : 4
     12// Last Modified On : Sun May 17 12:07:59 2015
     13// Update Count     : 2
    1414//
    1515
    16 #include <sstream>
     16#include <strstream>
    1717
    1818#include "RenameVars.h"
     
    122122                        // renames all "forall" type names to `_${level}_${name}'
    123123                        for ( std::list< TypeDecl* >::iterator i = type->get_forall().begin(); i != type->get_forall().end(); ++i ) {
    124                                 std::ostringstream output;
     124                                std::ostrstream output;
    125125                                output << "_" << level << "_" << (*i)->get_name();
    126                                 std::string newname( output.str() );
     126                                std::string newname( output.str(), output.pcount() );
    127127                                mapStack.front()[ (*i)->get_name() ] = newname;
    128128                                (*i)->set_name( newname );
  • src/ResolvExpr/Resolver.cc

    r937e51d reb50842  
    99// Author           : Richard C. Bilson
    1010// Created On       : Sun May 17 12:17:01 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Wed Jun 24 16:20:35 2015
    13 // Update Count     : 156
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Sun May 17 12:18:17 2015
     13// Update Count     : 2
    1414//
    1515
     
    3838                virtual void visit( TypeDecl *typeDecl );
    3939
    40                 virtual void visit( ArrayType * at );
    41 
    4240                virtual void visit( ExprStmt *exprStmt );
    4341                virtual void visit( IfStmt *ifStmt );
     
    4745                virtual void visit( ChooseStmt *switchStmt );
    4846                virtual void visit( CaseStmt *caseStmt );
    49                 virtual void visit( BranchStmt *branchStmt );
    5047                virtual void visit( ReturnStmt *returnStmt );
    5148
     
    5350                virtual void visit( ListInit *listInit );
    5451          private:
    55         typedef std::list< Initializer * >::iterator InitIterator;
    56 
    57           void resolveAggrInit( AggregateDecl *, InitIterator &, InitIterator & );
    58           void resolveSingleAggrInit( Declaration *, InitIterator &, InitIterator & );
    59 
    6052                std::list< Type * > functionReturn;
    6153                Type *initContext;
     
    166158                SymTab::Indexer::visit( objectDecl );
    167159        }
    168 
    169         void Resolver::visit( ArrayType * at ) {
    170                 if ( at->get_dimension() ) {
    171                         BasicType arrayLenType = BasicType( Type::Qualifiers(), BasicType::LongUnsignedInt );
    172                         CastExpr *castExpr = new CastExpr( at->get_dimension(), arrayLenType.clone() );
    173                         Expression *newExpr = findSingleExpression( castExpr, *this );
    174                         delete at->get_dimension();
    175                         at->set_dimension( newExpr );
    176                 }
    177                 Visitor::visit( at );
    178         }
    179 
     160 
    180161        void Resolver::visit( TypeDecl *typeDecl ) {
    181162                if ( typeDecl->get_base() ) {
     
    185166                SymTab::Indexer::visit( typeDecl );
    186167        }
    187 
     168 
    188169        void Resolver::visit( FunctionDecl *functionDecl ) {
    189170#if 0
     
    271252        }
    272253
    273         void Resolver::visit( BranchStmt *branchStmt ) {
    274                 // must resolve the argument for a computed goto
    275                 if ( branchStmt->get_type() == BranchStmt::Goto ) { // check for computed goto statement
    276                         if ( NameExpr * arg = dynamic_cast< NameExpr * >( branchStmt->get_computedTarget() ) ) {
    277                                 VoidType v = Type::Qualifiers();                // cast to void * for the alternative finder
    278                                 PointerType pt( Type::Qualifiers(), v.clone() );
    279                                 CastExpr * castExpr = new CastExpr( arg, pt.clone() );
    280                                 Expression * newExpr = findSingleExpression( castExpr, *this ); // find best expression
    281                                 branchStmt->set_target( newExpr );
    282                         } // if
    283                 } // if
    284         }
    285 
    286254        void Resolver::visit( ReturnStmt *returnStmt ) {
    287255                if ( returnStmt->get_expr() ) {
     
    292260                        returnStmt->set_expr( newExpr );
    293261                } // if
    294         }
    295 
    296         template< typename T >
    297         bool isCharType( T t ) {
    298                 if ( BasicType * bt = dynamic_cast< BasicType * >( t ) ) {
    299                         return bt->get_kind() == BasicType::Char || bt->get_kind() == BasicType::SignedChar ||
    300                                 bt->get_kind() == BasicType::UnsignedChar;
    301                 }
    302                 return false;
    303262        }
    304263
     
    327286                        delete castExpr;
    328287                        singleInit->set_value( newExpr );
    329 
    330                         // check if initializing type is char[]
    331                         if ( ArrayType * at = dynamic_cast< ArrayType * >( initContext ) ) {
    332                                 if ( isCharType( at->get_base() ) ) {
    333                                         // check if the resolved type is char *
    334                                         if ( PointerType * pt = dynamic_cast< PointerType *>( newExpr->get_results().front() ) ) {
    335                                                 if ( isCharType( pt->get_base() ) ) {
    336                                                         // strip cast if we're initializing a char[] with a char *, e.g.
    337                                                         // char x[] = "hello";
    338                                                         CastExpr *ce = dynamic_cast< CastExpr * >( newExpr );
    339                                                         singleInit->set_value( ce->get_arg() );
    340                                                         ce->set_arg( NULL );
    341                                                         delete ce;                                                                     
    342                                                 }
    343                                         }
    344                                 }
    345                         }
    346288                } // if
    347289//      singleInit->get_value()->accept( *this );
    348290        }
    349291
    350         void Resolver::resolveSingleAggrInit( Declaration * dcl, InitIterator & init, InitIterator & initEnd ) {
    351                 DeclarationWithType * dt = dynamic_cast< DeclarationWithType * >( dcl );
    352                 assert( dt );
    353                 initContext = dt->get_type();
    354                 try {
    355                         if ( init == initEnd ) return; // stop when there are no more initializers
    356                         (*init)->accept( *this );
    357                         ++init; // made it past an initializer
    358                 } catch( SemanticError & ) {
    359                         // need to delve deeper, if you can
    360                         if ( StructInstType * sit = dynamic_cast< StructInstType * >( dt->get_type() ) ) {
    361                                 resolveAggrInit( sit->get_baseStruct(), init, initEnd );
    362                         } else if ( UnionInstType * uit = dynamic_cast< UnionInstType * >( dt->get_type() ) ) {
    363                                 resolveAggrInit( uit->get_baseUnion(), init, initEnd );
    364                         } else {
    365                                 // member is not an aggregate type, so can't go any deeper
    366 
    367                                 // might need to rethink what is being thrown
    368                                 throw;
    369                         } // if
    370                 }
    371         }
    372 
    373         void Resolver::resolveAggrInit( AggregateDecl * aggr, InitIterator & init, InitIterator & initEnd ) {
    374                 if ( StructDecl * st = dynamic_cast< StructDecl * >( aggr ) ) {
    375                         // want to resolve each initializer to the members of the struct,
    376                         // but if there are more initializers than members we should stop
    377                         list< Declaration * >::iterator it = st->get_members().begin();
    378                         for ( ; it != st->get_members().end(); ++it) {
    379                                 resolveSingleAggrInit( *it, init, initEnd );
    380                         }
    381                 } else if ( UnionDecl * un = dynamic_cast< UnionDecl * >( aggr ) ) {
    382                         // only resolve to the first member of a union
    383                         resolveSingleAggrInit( *un->get_members().begin(), init, initEnd );
    384                 } // if
    385         }
    386 
    387         void Resolver::visit( ListInit * listInit ) {
    388                 InitIterator iter = listInit->begin_initializers();
    389                 InitIterator end = listInit->end_initializers();
    390 
    391                 if ( ArrayType * at = dynamic_cast< ArrayType * >( initContext ) ) {
    392                         // resolve each member to the base type of the array
    393                         for ( ; iter != end; ++iter ) {
    394                                 initContext = at->get_base();
    395                                 (*iter)->accept( *this );
    396                         } // for
    397                 } else if ( StructInstType * st = dynamic_cast< StructInstType * >( initContext ) ) {
    398                         resolveAggrInit( st->get_baseStruct(), iter, end );
    399                 } else if ( UnionInstType *st = dynamic_cast< UnionInstType * >( initContext ) ) {
    400                         resolveAggrInit( st->get_baseUnion(), iter, end );
    401                 } else {
    402                         // basic types are handled here
    403                         Visitor::visit( listInit );
    404                 }
    405 
     292        void Resolver::visit( ListInit *listInit ) {
     293                Visitor::visit(listInit);
    406294#if 0
    407295                if ( ArrayType *at = dynamic_cast<ArrayType*>(initContext) ) {
  • src/ResolvExpr/module.mk

    r937e51d reb50842  
    1 ######################### -*- Mode: Makefile-Gmake -*- ########################
    2 ##
    3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    4 ##
    5 ## The contents of this file are covered under the licence agreement in the
    6 ## file "LICENCE" distributed with Cforall.
    7 ##
    8 ## module.mk --
    9 ##
    10 ## Author           : Richard C. Bilson
    11 ## Created On       : Mon Jun  1 17:49:17 2015
    12 ## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jun  1 17:53:28 2015
    14 ## Update Count     : 1
    15 ###############################################################################
    16 
    171SRC += ResolvExpr/AlternativeFinder.cc \
    18        ResolvExpr/Alternative.cc \
     2      ResolvExpr/Alternative.cc \
    193       ResolvExpr/Unify.cc \
    204       ResolvExpr/PtrsAssignable.cc \
     
    3216       ResolvExpr/Occurs.cc \
    3317       ResolvExpr/TypeEnvironment.cc
     18       
  • src/SymTab/Indexer.cc

    r937e51d reb50842  
    1010// Created On       : Sun May 17 21:37:33 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Jun  5 08:05:17 2015
    13 // Update Count     : 5
     12// Last Modified On : Tue May 19 16:49:55 2015
     13// Update Count     : 3
    1414//
    1515
     
    5151        }
    5252
    53 
    54 // A NOTE ON THE ORDER OF TRAVERSAL
    55 //
    56 // Types and typedefs have their base types visited before they are added to the type table.  This is ok, since there is
    57 // no such thing as a recursive type or typedef.
    58 //
    59 //             typedef struct { T *x; } T; // never allowed
    60 //
    61 // for structs/unions, it is possible to have recursion, so the decl should be added as if it's incomplete to begin, the
    62 // members are traversed, and then the complete type should be added (assuming the type is completed by this particular
    63 // declaration).
    64 //
    65 //             struct T { struct T *x; }; // allowed
    66 //
    67 // It is important to add the complete type to the symbol table *after* the members/base has been traversed, since that
    68 // traversal may modify the definition of the type and these modifications should be visible when the symbol table is
    69 // queried later in this pass.
    70 //
    71 // TODO: figure out whether recursive contexts are sensible/possible/reasonable.
    72 
     53/********
     54 * A NOTE ON THE ORDER OF TRAVERSAL
     55 *
     56 * Types and typedefs have their base types visited before they are added to the type table.
     57 * This is ok, since there is no such thing as a recursive type or typedef.
     58 *             typedef struct { T *x; } T; // never allowed
     59 *
     60 * for structs/unions, it is possible to have recursion, so the decl should be added as if it's
     61 * incomplete to begin, the members are traversed, and then the complete type should be added
     62 * (assuming the type is completed by this particular declaration).
     63 *             struct T { struct T *x; }; // allowed
     64 *
     65 * It's important to add the complete type to the symbol table *after* the members/base has been
     66 * traversed, since that traversal may modify the definition of the type and these modifications
     67 * should be visible when the symbol table is queried later in this pass.
     68 *
     69 * TODO: figure out whether recursive contexts are sensible/possible/reasonable.
     70 */
    7371
    7472        void Indexer::visit( TypeDecl *typeDecl ) {
    7573                // see A NOTE ON THE ORDER OF TRAVERSAL, above
    76                 // note that assertions come after the type is added to the symtab, since they are not part of the type proper
    77                 // and may depend on the type itself
     74                // note that assertions come after the type is added to the symtab, since they aren't part
     75                // of the type proper and may depend on the type itself
    7876                enterScope();
    7977                acceptAll( typeDecl->get_parameters(), *this );
  • src/SymTab/Mangler.cc

    r937e51d reb50842  
    1010// Created On       : Sun May 17 21:40:29 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun  8 15:12:12 2015
    13 // Update Count     : 8
     12// Last Modified On : Tue May 19 16:50:47 2015
     13// Update Count     : 3
    1414//
    1515
     
    160160                } else {
    161161                        printQualifiers( typeInst );
    162                         std::ostringstream numStream;
     162                        std::ostrstream numStream;
    163163                        numStream << varNum->second.first;
     164                        mangleName << (numStream.pcount() + 1);
    164165                        switch ( (TypeDecl::Kind )varNum->second.second ) {
    165166                          case TypeDecl::Any:
     
    173174                                break;
    174175                        } // switch
    175                         mangleName << numStream.str();
     176                        mangleName << std::string( numStream.str(), numStream.pcount() );
    176177                } // if
    177178        }
     
    219220                                        sub_mangler.varNums = varNums;
    220221                                        (*assert)->accept( sub_mangler );
    221                                         assertionNames.push_back( sub_mangler.mangleName.str() );
     222                                        assertionNames.push_back( std::string( sub_mangler.mangleName.str(), sub_mangler.mangleName.pcount() ) );
    222223                                } // for
    223224                        } // for
  • src/SymTab/Mangler.h

    r937e51d reb50842  
    1010// Created On       : Sun May 17 21:44:03 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun  8 14:47:14 2015
    13 // Update Count     : 5
     12// Last Modified On : Tue May 19 16:49:21 2015
     13// Update Count     : 3
    1414//
    1515
     
    1717#define MANGLER_H
    1818
    19 #include <sstream>
     19#include <strstream>
    2020#include "SynTree/SynTree.h"
    2121#include "SynTree/Visitor.h"
     
    4343                virtual void visit( TupleType *tupleType );
    4444 
    45                 std::string get_mangleName() { return mangleName.str(); }
     45                std::string get_mangleName() { return std::string( mangleName.str(), mangleName.pcount() ); }
    4646          private:
    47                 std::ostringstream mangleName;
     47                std::ostrstream mangleName;
    4848                typedef std::map< std::string, std::pair< int, int > > VarMapType;
    4949                VarMapType varNums;
  • src/SymTab/Validate.cc

    r937e51d reb50842  
    99// Author           : Richard C. Bilson
    1010// Created On       : Sun May 17 21:50:04 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Wed Jun 24 16:20:50 2015
    13 // Update Count     : 30
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue May 19 16:50:09 2015
     13// Update Count     : 3
    1414//
    1515
     
    4545#include "SynTree/Type.h"
    4646#include "SynTree/Statement.h"
     47#include "Indexer.h"
    4748#include "SynTree/TypeSubstitution.h"
    48 #include "Indexer.h"
    4949#include "FixFunction.h"
    5050#include "ImplementationType.h"
     
    176176                acceptAll( translationUnit, pass1 );
    177177                acceptAll( translationUnit, pass2 );
    178                 // need to collect all of the assignment operators prior to
    179                 // this point and only generate assignment operators if one doesn't exist
    180178                AddStructAssignment::addStructAssignment( translationUnit );
    181179                acceptAll( translationUnit, pass3 );
     
    508506                if ( ! array->get_dimension() ) return;
    509507 
    510                 ObjectDecl *index = new ObjectDecl( indexName.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 );
     508                ObjectDecl *index = new ObjectDecl( indexName.newName(), Declaration::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 );
    511509                *out++ = new DeclStmt( noLabels, index );
    512510 
     
    546544                FunctionType *assignType = new FunctionType( Type::Qualifiers(), false );
    547545 
    548                 ObjectDecl *returnVal = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );
     546                ObjectDecl *returnVal = new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );
    549547                assignType->get_returnVals().push_back( returnVal );
    550548 
    551                 ObjectDecl *dstParam = new ObjectDecl( "_dst", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );
     549                ObjectDecl *dstParam = new ObjectDecl( "_dst", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );
    552550                assignType->get_parameters().push_back( dstParam );
    553551 
    554                 ObjectDecl *srcParam = new ObjectDecl( "_src", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );
     552                ObjectDecl *srcParam = new ObjectDecl( "_src", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );
    555553                assignType->get_parameters().push_back( srcParam );
    556554
    557555                // Routines at global scope marked "static" to prevent multiple definitions is separate translation units
    558556                // because each unit generates copies of the default routines for each aggregate.
    559                 FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true, false );
     557                FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? Declaration::NoStorageClass : Declaration::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true );
    560558                assignDecl->fixUniqueId();
    561559 
    562560                for ( std::list< Declaration * >::const_iterator member = aggregateDecl->get_members().begin(); member != aggregateDecl->get_members().end(); ++member ) {
    563561                        if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType * >( *member ) ) {
    564                                 // query the type qualifiers of this field and skip assigning it if it is marked const.
    565                                 // If it is an array type, we need to strip off the array layers to find its qualifiers.
    566                                 Type * type = dwt->get_type();
    567                                 while ( ArrayType * at = dynamic_cast< ArrayType * >( type ) ) {
    568                                         type = at->get_base();
    569                                 }
    570 
    571                                 if ( type->get_qualifiers().isConst ) {
    572                                         // don't assign const members
    573                                         continue;
    574                                 }
    575 
    576562                                if ( ArrayType *array = dynamic_cast< ArrayType * >( dwt->get_type() ) ) {
    577563                                        makeArrayAssignment( srcParam, dstParam, dwt, array, back_inserter( assignDecl->get_statements()->get_kids() ) );
     
    589575                FunctionType *assignType = new FunctionType( Type::Qualifiers(), false );
    590576 
    591                 ObjectDecl *returnVal = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );
     577                ObjectDecl *returnVal = new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );
    592578                assignType->get_returnVals().push_back( returnVal );
    593579 
    594                 ObjectDecl *dstParam = new ObjectDecl( "_dst", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );
     580                ObjectDecl *dstParam = new ObjectDecl( "_dst", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );
    595581                assignType->get_parameters().push_back( dstParam );
    596582 
    597                 ObjectDecl *srcParam = new ObjectDecl( "_src", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );
     583                ObjectDecl *srcParam = new ObjectDecl( "_src", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );
    598584                assignType->get_parameters().push_back( srcParam );
    599585 
    600586                // Routines at global scope marked "static" to prevent multiple definitions is separate translation units
    601587                // because each unit generates copies of the default routines for each aggregate.
    602                 FunctionDecl *assignDecl = new FunctionDecl( "?=?",  functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true, false );
     588                FunctionDecl *assignDecl = new FunctionDecl( "?=?",  functionNesting > 0 ? Declaration::NoStorageClass : Declaration::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true );
    603589                assignDecl->fixUniqueId();
    604590 
     
    635621                TypeInstType *typeInst = new TypeInstType( Type::Qualifiers(), typeDecl->get_name(), false );
    636622                typeInst->set_baseType( typeDecl );
    637                 ObjectDecl *src = new ObjectDecl( "_src", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, typeInst->clone(), 0 );
    638                 ObjectDecl *dst = new ObjectDecl( "_dst", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), typeInst->clone() ), 0 );
     623                ObjectDecl *src = new ObjectDecl( "_src", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, typeInst->clone(), 0 );
     624                ObjectDecl *dst = new ObjectDecl( "_dst", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), typeInst->clone() ), 0 );
    639625                if ( typeDecl->get_base() ) {
    640626                        stmts = new CompoundStmt( std::list< Label >() );
     
    645631                } // if
    646632                FunctionType *type = new FunctionType( Type::Qualifiers(), false );
    647                 type->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, typeInst, 0 ) );
     633                type->get_returnVals().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, typeInst, 0 ) );
    648634                type->get_parameters().push_back( dst );
    649635                type->get_parameters().push_back( src );
    650                 FunctionDecl *func = new FunctionDecl( "?=?", DeclarationNode::NoStorageClass, LinkageSpec::AutoGen, type, stmts, false, false );
     636                FunctionDecl *func = new FunctionDecl( "?=?", Declaration::NoStorageClass, LinkageSpec::AutoGen, type, stmts, false );
    651637                declsToAdd.push_back( func );
    652638        }
    653639
    654640        void addDecls( std::list< Declaration * > &declsToAdd, std::list< Statement * > &statements, std::list< Statement * >::iterator i ) {
    655                 for ( std::list< Declaration * >::iterator decl = declsToAdd.begin(); decl != declsToAdd.end(); ++decl ) {
    656                         statements.insert( i, new DeclStmt( noLabels, *decl ) );
    657                 } // for
    658                 declsToAdd.clear();
     641                if ( ! declsToAdd.empty() ) {
     642                        for ( std::list< Declaration * >::iterator decl = declsToAdd.begin(); decl != declsToAdd.end(); ++decl ) {
     643                                statements.insert( i, new DeclStmt( noLabels, *decl ) );
     644                        } // for
     645                        declsToAdd.clear();
     646                } // if
    659647        }
    660648
  • src/SymTab/module.mk

    r937e51d reb50842  
    1 ######################### -*- Mode: Makefile-Gmake -*- ########################
    2 ##
    3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    4 ##
    5 ## The contents of this file are covered under the licence agreement in the
    6 ## file "LICENCE" distributed with Cforall.
    7 ##
    8 ## module.mk --
    9 ##
    10 ## Author           : Richard C. Bilson
    11 ## Created On       : Mon Jun  1 17:49:17 2015
    12 ## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jun  1 17:53:50 2015
    14 ## Update Count     : 1
    15 ###############################################################################
    16 
    171SRC += SymTab/IdTable.cc \
    182       SymTab/Indexer.cc \
  • src/SynTree/AggregateDecl.cc

    r937e51d reb50842  
    1010// Created On       : Sun May 17 23:56:39 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 08:12:49 2015
    13 // Update Count     : 6
     12// Last Modified On : Tue May 19 16:52:08 2015
     13// Update Count     : 5
    1414//
    1515
     
    1919
    2020
    21 AggregateDecl::AggregateDecl( const std::string &name ) : Parent( name, DeclarationNode::NoStorageClass, LinkageSpec::Cforall ) {
     21AggregateDecl::AggregateDecl( const std::string &name ) : Parent( name, Declaration::NoStorageClass, LinkageSpec::Cforall ) {
    2222}
    2323
  • src/SynTree/ArrayType.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun  6 14:11:48 2015
    13 // Update Count     : 9
     12// Last Modified On : Mon May 18 07:52:08 2015
     13// Update Count     : 2
    1414//
    1515
     
    2525
    2626ArrayType::ArrayType( const ArrayType &other )
    27                 : Type( other ), base( maybeClone( other.base ) ), dimension( maybeClone( other.dimension ) ),
    28                   isVarLen( other.isVarLen ), isStatic( other.isStatic ) {
     27        : Type( other ), base( maybeClone( other.base ) ), dimension( maybeClone( other.dimension ) ),
     28          isVarLen( other.isVarLen ), isStatic( other.isStatic ) {
    2929}
    3030
     
    4343        } else if ( dimension ) {
    4444                os << "array of ";
     45                dimension->print( os, indent );
    4546        } else {
    4647                os << "open array of ";
     
    4849        if ( base ) {
    4950                base->print( os, indent );
    50         } // if
    51         if ( dimension ) {
    52                 os << "with dimension of ";
    53                 dimension->print( os, indent );
    5451        } // if
    5552}
  • src/SynTree/BasicType.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Jun  7 08:44:36 2015
    13 // Update Count     : 5
     12// Last Modified On : Mon May 18 07:55:16 2015
     13// Update Count     : 1
    1414//
    1515
  • src/SynTree/CompoundStmt.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jun 23 11:37:49 2015
    13 // Update Count     : 3
     12// Last Modified On : Mon May 18 08:11:02 2015
     13// Update Count     : 1
    1414//
    1515
     
    3333}
    3434
    35 void CompoundStmt::print( std::ostream &os, int indent ) const {
    36         os << string( indent, ' ' ) << "CompoundStmt" << endl ;
    37         printAll( kids, os, indent + 2 );
     35void CompoundStmt::print( std::ostream &os, int indent ) {
     36        os << "\r" << string(indent, ' ') << "CompoundStmt" << endl ;
     37        printAll( kids, os, indent+2 );
    3838}
    3939
  • src/SynTree/Constant.cc

    r937e51d reb50842  
    99// Author           : Richard C. Bilson
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Wed Jun 10 14:41:03 2015
    13 // Update Count     : 8
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Mon May 18 08:13:25 2015
     13// Update Count     : 1
    1414//
    1515
     
    2020#include "Type.h"
    2121
    22 Constant::Constant( Type *type_, std::string value_ ) : type( type_ ), value( value_ ) {}
     22Constant::Constant( Type *_type, std::string _value ) : type(_type), value(_value) {}
    2323
    2424Constant::~Constant() {}
     
    2727
    2828void Constant::print( std::ostream &os ) const {
    29         os << "(" << value;
     29        os << value;
    3030        if ( type ) {
    31                 os << ": ";
     31                os << " (type: ";
    3232                type->print( os );
     33                os << ")";
    3334        } // if
    34   os << ")";
    3535}
    3636
  • src/SynTree/DeclStmt.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jun 23 11:38:15 2015
    13 // Update Count     : 4
     12// Last Modified On : Mon May 18 08:16:03 2015
     13// Update Count     : 2
    1414//
    1515
     
    2828}
    2929
    30 void DeclStmt::print( std::ostream &os, int indent ) const {
    31         assert( decl != 0 );
     30void DeclStmt::print( std::ostream &os, int indent ) {
    3231        os << "Declaration of ";
    33         decl->print( os, indent );
     32        if ( decl ) {
     33                decl->print( os, indent );
     34        } // if
    3435}
    3536
  • src/SynTree/Declaration.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 08:07:20 2015
    13 // Update Count     : 9
     12// Last Modified On : Mon May 18 08:18:35 2015
     13// Update Count     : 2
    1414//
    1515
     
    2222#include "utility.h"
    2323
     24const char* Declaration::storageClassName[] = { "", "auto", "static", "extern", "register" }; 
     25
    2426static UniqueId lastUniqueId = 0;
    2527typedef std::map< UniqueId, Declaration* > IdMapType;
    2628static IdMapType idMap;
    2729
    28 Declaration::Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage )
    29                 : name( name ), storageClass( sc ), linkage( linkage ), uniqueId( 0 ) {
     30Declaration::Declaration( const std::string &name, StorageClass sc, LinkageSpec::Type linkage )
     31        : name( name ), storageClass( sc ), linkage( linkage ), uniqueId( 0 ) {
    3032}
    3133
    3234Declaration::Declaration( const Declaration &other )
    33                 : name( other.name ), storageClass( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) {
     35        : name( other.name ), storageClass( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) {
    3436}
    3537
     
    4244}
    4345
     46/* static class method */
    4447Declaration *Declaration::declFromId( UniqueId id ) {
    4548        IdMapType::const_iterator i = idMap.find( id );
    46         return i != idMap.end() ? i->second : 0;
     49        if ( i != idMap.end() ) {
     50                return i->second;
     51        } else {
     52                return 0;
     53        } // if
    4754}
    4855
     56/* static class method */
    4957void Declaration::dumpIds( std::ostream &os ) {
    5058        for ( IdMapType::const_iterator i = idMap.begin(); i != idMap.end(); ++i ) {
  • src/SynTree/Declaration.h

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 09:10:31 2015
    13 // Update Count     : 25
     12// Last Modified On : Mon May 18 08:46:25 2015
     13// Update Count     : 2
    1414//
    1515
     
    2121#include "Mutator.h"
    2222#include "Parser/LinkageSpec.h"
    23 #include "Parser/ParseNode.h"
    2423
    2524class Declaration {
    2625  public:
    27         Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage );
     26        enum StorageClass { 
     27                NoStorageClass,
     28                Extern,
     29                Static,
     30                Auto,
     31                Register,
     32                Inline,
     33                Fortran,
     34        };     
     35
     36        Declaration( const std::string &name, StorageClass sc, LinkageSpec::Type linkage );
    2837        Declaration( const Declaration &other );
    2938        virtual ~Declaration();
    3039
    31         const std::string &get_name() const { return name; }
     40        std::string get_name() const { return name; }
    3241        void set_name( std::string newValue ) { name = newValue; }
    33         DeclarationNode::StorageClass get_storageClass() const { return storageClass; }
    34         void set_storageClass( DeclarationNode::StorageClass newValue ) { storageClass = newValue; }
     42        StorageClass get_storageClass() const { return storageClass; }
     43        void set_storageClass( StorageClass newValue ) { storageClass = newValue; }
    3544        LinkageSpec::Type get_linkage() const { return linkage; }
    3645        void set_linkage( LinkageSpec::Type newValue ) { linkage = newValue; }
     
    4453        virtual void printShort( std::ostream &os, int indent = 0 ) const = 0;
    4554
     55        static const char* storageClassName[]; 
     56
    4657        static void dumpIds( std::ostream &os );
    4758        static Declaration *declFromId( UniqueId id );
    4859  private:
    4960        std::string name;
    50         DeclarationNode::StorageClass storageClass;
     61        StorageClass storageClass;
    5162        LinkageSpec::Type linkage;
    5263        UniqueId uniqueId;
     
    5566class DeclarationWithType : public Declaration {
    5667  public:
    57         DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage );
     68        DeclarationWithType( const std::string &name, StorageClass sc, LinkageSpec::Type linkage );
    5869        DeclarationWithType( const DeclarationWithType &other );
    5970        virtual ~DeclarationWithType();
     
    7586        typedef DeclarationWithType Parent;
    7687  public:
    77         ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init );
     88        ObjectDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init );
    7889        ObjectDecl( const ObjectDecl &other );
    7990        virtual ~ObjectDecl();
     
    101112        typedef DeclarationWithType Parent;
    102113  public:
    103         FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline, bool isNoreturn );
     114        FunctionDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline );
    104115        FunctionDecl( const FunctionDecl &other );
    105116        virtual ~FunctionDecl();
     
    112123        CompoundStmt *get_statements() const { return statements; }
    113124        void set_statements( CompoundStmt *newValue ) { statements = newValue; }
    114         bool get_isInline() const { return isInline; }
    115         bool get_isNoreturn() const { return isNoreturn; }
     125//    bool get_isInline() const { return isInline; }
     126//    void set_isInline( bool newValue ) { isInline = newValue; }
    116127        std::list< std::string >& get_oldIdents() { return oldIdents; }
    117128        std::list< Declaration* >& get_oldDecls() { return oldDecls; }
     
    125136        FunctionType *type;
    126137        CompoundStmt *statements;
    127         bool isInline, isNoreturn;
     138        bool isInline;
    128139        std::list< std::string > oldIdents;
    129140        std::list< Declaration* > oldDecls;
     
    133144        typedef Declaration Parent;
    134145  public:
    135         NamedTypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type );
     146        NamedTypeDecl( const std::string &name, StorageClass sc, Type *type );
    136147        NamedTypeDecl( const TypeDecl &other );
    137148        virtual ~NamedTypeDecl();
     
    158169        enum Kind { Any, Dtype, Ftype };
    159170
    160         TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind );
     171        TypeDecl( const std::string &name, StorageClass sc, Type *type, Kind kind );
    161172        TypeDecl( const TypeDecl &other );
    162173
     
    174185        typedef NamedTypeDecl Parent;
    175186  public:
    176         TypedefDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type ) : Parent( name, sc, type ) {}
     187        TypedefDecl( const std::string &name, StorageClass sc, Type *type ) : Parent( name, sc, type ) {}
    177188        TypedefDecl( const TypedefDecl &other ) : Parent( other ) {}
    178189
  • src/SynTree/DeclarationWithType.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 08:08:07 2015
    13 // Update Count     : 3
     12// Last Modified On : Mon May 18 08:20:23 2015
     13// Update Count     : 2
    1414//
    1515
     
    1818#include "utility.h"
    1919
    20 DeclarationWithType::DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage )
     20DeclarationWithType::DeclarationWithType( const std::string &name, StorageClass sc, LinkageSpec::Type linkage )
    2121                : Declaration( name, sc, linkage ) {
    2222}
  • src/SynTree/Expression.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Jun  7 08:40:46 2015
    13 // Update Count     : 16
     12// Last Modified On : Mon May 18 08:27:07 2015
     13// Update Count     : 2
    1414//
    1515
     
    5050}
    5151
    52 void Expression::print( std::ostream &os, int indent ) const {
     52void Expression::print(std::ostream &os, int indent) const {
    5353        if ( env ) {
    54                 os << std::string( indent, ' ' ) << "with environment:" << std::endl;
     54                os << std::string(indent, ' ') << "with environment:" << std::endl;
    5555                env->print( os, indent+2 );
    5656        } // if
    5757
    5858        if ( argName ) {
    59                 os << std::string( indent, ' ' ) << "with designator:";
     59                os << std::string(indent, ' ') << "with designator:";
    6060                argName->print( os, indent+2 );
    6161        } // if
     
    7272
    7373void ConstantExpr::print( std::ostream &os, int indent ) const {
    74         os << "constant expression " ;
    75         constant.print( os );
     74        os << std::string(indent, ' ') << "Constant Expression: " ;
     75        constant.print(os);
     76        os << std::endl;
    7677        Expression::print( os, indent );
    7778}
     
    9293
    9394void VariableExpr::print( std::ostream &os, int indent ) const {
    94         os << std::string( indent, ' ' ) << "Variable Expression: ";
     95        os << std::string(indent, ' ') << "Variable Expression: ";
    9596
    9697        Declaration *decl = get_var();
     
    121122
    122123void SizeofExpr::print( std::ostream &os, int indent) const {
    123         os << std::string( indent, ' ' ) << "Sizeof Expression on: ";
     124        os << std::string(indent, ' ') << "Sizeof Expression on: ";
    124125
    125126        if (isType)
     
    151152
    152153void AttrExpr::print( std::ostream &os, int indent) const {
    153         os << std::string( indent, ' ' ) << "Attr ";
     154        os << std::string(indent, ' ') << "Attr ";
    154155        attr->print( os, indent + 2 );
    155156        if ( isType || expr ) {
     
    183184
    184185void CastExpr::print( std::ostream &os, int indent ) const {
    185         os << std::string( indent, ' ' ) << "Cast of:" << std::endl;
     186        os << std::string(indent, ' ') << "Cast of:" << std::endl;
    186187        arg->print(os, indent+2);
    187         os << std::endl << std::string( indent, ' ' ) << "to:" << std::endl;
     188        os << std::endl << std::string(indent, ' ') << "to:" << std::endl;
    188189        if ( results.empty() ) {
    189                 os << std::string( indent+2, ' ' ) << "nothing" << std::endl;
     190                os << std::string(indent+2, ' ') << "nothing" << std::endl;
    190191        } else {
    191192                printAll(results, os, indent+2);
     
    206207
    207208void UntypedMemberExpr::print( std::ostream &os, int indent ) const {
    208         os << std::string( indent, ' ' ) << "Member Expression, with field: " << get_member();
     209        os << std::string(indent, ' ') << "Member Expression, with field: " << get_member();
    209210
    210211        Expression *agg = get_aggregate();
    211         os << std::string( indent, ' ' ) << "from aggregate: ";
     212        os << std::string(indent, ' ') << "from aggregate: ";
    212213        if (agg != 0) agg->print(os, indent + 2);
    213214        Expression::print( os, indent );
     
    233234
    234235void MemberExpr::print( std::ostream &os, int indent ) const {
    235         os << std::string( indent, ' ' ) << "Member Expression, with field: " << std::endl;
     236        os << std::string(indent, ' ') << "Member Expression, with field: " << std::endl;
    236237
    237238        assert( member );
    238         os << std::string( indent + 2, ' ' );
     239        os << std::string(indent + 2, ' ');
    239240        member->print( os, indent + 2 );
    240241        os << std::endl;
    241242
    242243        Expression *agg = get_aggregate();
    243         os << std::string( indent, ' ' ) << "from aggregate: " << std::endl;
     244        os << std::string(indent, ' ') << "from aggregate: " << std::endl;
    244245        if (agg != 0) agg->print(os, indent + 2);
    245246        Expression::print( os, indent );
     
    260261
    261262void UntypedExpr::print( std::ostream &os, int indent ) const {
    262         os << std::string( indent, ' ' ) << "Applying untyped: " << std::endl;
     263        os << std::string(indent, ' ') << "Applying untyped: " << std::endl;
    263264        function->print(os, indent + 4);
    264         os << std::string( indent, ' ' ) << "...to: " << std::endl;
     265        os << "\r" << std::string(indent, ' ') << "...to: " << std::endl;
    265266        printArgs(os, indent + 4);
    266267        Expression::print( os, indent );
     
    281282
    282283void NameExpr::print( std::ostream &os, int indent ) const {
    283         os << std::string( indent, ' ' ) << "Name: " << get_name() << std::endl;
     284        os << std::string(indent, ' ') << "Name: " << get_name() << std::endl;
    284285        Expression::print( os, indent );
    285286}
     
    300301
    301302void LogicalExpr::print( std::ostream &os, int indent )const {
    302         os << std::string( indent, ' ' ) << "Short-circuited operation (" << (isAnd?"and":"or") << ") on: ";
     303        os << std::string(indent, ' ') << "Short-circuited operation (" << (isAnd?"and":"or") << ") on: ";
    303304        arg1->print(os);
    304305        os << " and ";
     
    322323
    323324void ConditionalExpr::print( std::ostream &os, int indent ) const {
    324         os << std::string( indent, ' ' ) << "Conditional expression on: " << std::endl;
     325        os << std::string(indent, ' ') << "Conditional expression on: " << std::endl;
    325326        arg1->print( os, indent+2 );
    326         os << std::string( indent, ' ' ) << "First alternative:" << std::endl;
     327        os << std::string(indent, ' ') << "First alternative:" << std::endl;
    327328        arg2->print( os, indent+2 );
    328         os << std::string( indent, ' ' ) << "Second alternative:" << std::endl;
     329        os << std::string(indent, ' ') << "Second alternative:" << std::endl;
    329330        arg3->print( os, indent+2 );
    330331        os << std::endl;
     
    333334
    334335void UntypedValofExpr::print( std::ostream &os, int indent ) const {
    335         os << std::string( indent, ' ' ) << "Valof Expression: " << std::endl;
     336        os << std::string(indent, ' ') << "Valof Expression: " << std::endl;
    336337        if ( get_body() != 0 )
    337338                get_body()->print( os, indent + 2 );
  • src/SynTree/Expression.h

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Jun  7 22:03:44 2015
    13 // Update Count     : 4
     12// Last Modified On : Mon May 18 08:46:15 2015
     13// Update Count     : 3
    1414//
    1515
     
    125125        virtual ~NameExpr();
    126126
    127         const std::string &get_name() const { return name; }
     127        std::string get_name() const { return name; }
    128128        void set_name( std::string newValue ) { name = newValue; }
    129129
  • src/SynTree/FunctionDecl.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 09:10:32 2015
    13 // Update Count     : 16
     12// Last Modified On : Thu May 21 21:31:16 2015
     13// Update Count     : 11
    1414//
    1515
     
    2121#include "utility.h"
    2222
    23 FunctionDecl::FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline, bool isNoreturn )
    24                 : Parent( name, sc, linkage ), type( type ), statements( statements ), isInline( isInline ), isNoreturn( isNoreturn ) {
     23FunctionDecl::FunctionDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline )
     24                : Parent( name, sc, linkage ), type( type ), statements( statements ), isInline( isInline ) {
    2525        // this is a brazen hack to force the function "main" to have C linkage
    2626        if ( name == "main" ) {
     
    3030
    3131FunctionDecl::FunctionDecl( const FunctionDecl &other )
    32         : Parent( other ), type( maybeClone( other.type ) ), statements( maybeClone( other.statements ) ), isInline( other.isInline ), isNoreturn( other.isNoreturn ) {
     32                : Parent( other ), type( maybeClone( other.type ) ), statements( maybeClone( other.statements ) ), isInline( other.isInline ) {
    3333}
    3434
     
    5252       
    5353        if ( get_name() != "" ) {
    54                 os << get_name() << ": ";
     54                os << get_name() << ": a ";
    5555        } // if
    5656        if ( get_linkage() != LinkageSpec::Cforall ) {
     
    6060                os << "inline ";
    6161        } // if
    62         if ( isNoreturn ) {
    63                 os << "_Noreturn ";
    64         } // if
    65         if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
    66                 os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
     62        if ( get_storageClass() != NoStorageClass ) {
     63                os << storageClassName[ get_storageClass() ] << ' ';
    6764        } // if
    6865        if ( get_type() ) {
     
    7370
    7471        if ( ! oldIdents.empty() ) {
    75                 os << string( indent + 2, ' ' ) << "with parameter names" << endl;
     72                os << string( indent+2, ' ' ) << "with parameter names" << endl;
    7673                for ( std::list< std::string >::const_iterator i = oldIdents.begin(); i != oldIdents.end(); ++i ) {
    77                         os << string( indent + 4, ' ' ) << *i << endl;
     74                        os << string( indent+4, ' ' ) << *i << endl;
    7875                } // for
    7976        } // if
    8077
    8178        if ( ! oldDecls.empty() ) {
    82                 os << string( indent + 2, ' ' ) << "with parameter declarations" << endl;
    83                 printAll( oldDecls, os, indent + 4 );
     79                os << string( indent+2, ' ' ) << "with parameter declarations" << endl;
     80                printAll( oldDecls, os, indent+4 );
    8481        } // if
    8582        if ( statements ) {
    86                 os << string( indent + 2, ' ' ) << "with body " << endl;
    87                 statements->print( os, indent + 4 );
     83                os << string( indent+2, ' ' ) << "with body " << endl;
     84                statements->print( os, indent+4 );
    8885        } // if
    8986}
     
    9491       
    9592        if ( get_name() != "" ) {
    96                 os << get_name() << ": ";
     93                os << get_name() << ": a ";
    9794        } // if
    9895        if ( isInline ) {
    9996                os << "inline ";
    10097        } // if
    101         if ( isNoreturn ) {
    102                 os << "_Noreturn ";
    103         } // if
    104         if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
    105                 os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
     98        if ( get_storageClass() != NoStorageClass ) {
     99                os << storageClassName[ get_storageClass() ] << ' ';
    106100        } // if
    107101        if ( get_type() ) {
  • src/SynTree/Mutator.h

    r937e51d reb50842  
    99// Author           : Richard C. Bilson
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Fri May 29 16:34:08 2015
    13 // Update Count     : 4
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Mon May 18 10:12:28 2015
     13// Update Count     : 3
    1414//
    1515#include <cassert>
     
    104104                assert( newnode );
    105105                return newnode;
     106///         return tree->acceptMutator( mutator );
    106107        } else {
    107108                return 0;
  • src/SynTree/NamedTypeDecl.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 08:13:55 2015
    13 // Update Count     : 3
     12// Last Modified On : Mon May 18 10:13:19 2015
     13// Update Count     : 1
    1414//
    1515
     
    1818#include "utility.h"
    1919
    20 NamedTypeDecl::NamedTypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *base )
     20NamedTypeDecl::NamedTypeDecl( const std::string &name, StorageClass sc, Type *base )
    2121        : Parent( name, sc, LinkageSpec::Cforall ), base( base ) {}
    2222
     
    3737       
    3838        if ( get_name() != "" ) {
    39                 os << get_name() << ": ";
     39                os << get_name() << ": a ";
    4040        } // if
    41         if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
    42                 os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
     41        if ( get_storageClass() != NoStorageClass ) {
     42                os << storageClassName[ get_storageClass() ] << ' ';
    4343        } // if
    4444        os << typeString();
     
    6161       
    6262        if ( get_name() != "" ) {
    63                 os << get_name() << ": ";
     63                os << get_name() << ": a ";
    6464        } // if
    65         if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
    66                 os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
     65        if ( get_storageClass() != NoStorageClass ) {
     66                os << storageClassName[ get_storageClass() ] << ' ';
    6767        } // if
    6868        os << typeString();
  • src/SynTree/ObjectDecl.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 08:10:16 2015
    13 // Update Count     : 15
     12// Last Modified On : Mon May 18 10:14:18 2015
     13// Update Count     : 2
    1414//
    1515
     
    2020#include "utility.h"
    2121
    22 ObjectDecl::ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init )
     22ObjectDecl::ObjectDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init )
    2323        : Parent( name, sc, linkage ), type( type ), init( init ), bitfieldWidth( bitfieldWidth ) {
    2424}
     
    3636void ObjectDecl::print( std::ostream &os, int indent ) const {
    3737        if ( get_name() != "" ) {
    38                 os << get_name() << ": ";
     38                os << get_name() << ": a ";
    3939        } // if
    4040
     
    4343        } // if
    4444
    45         if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
    46                 os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
     45        if ( get_storageClass() != NoStorageClass ) {
     46                os << storageClassName[ get_storageClass() ] << ' ';
    4747        } // if
    4848
     
    6565
    6666void ObjectDecl::printShort( std::ostream &os, int indent ) const {
    67 #if 0
    68         if ( get_mangleName() != "") {
    69                 os << get_mangleName() << ": ";
    70         } else
    71 #endif
    7267        if ( get_name() != "" ) {
    73                 os << get_name() << ": ";
     68                os << get_name() << ": a ";
    7469        } // if
    7570
    76         if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
    77                 os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
     71        if ( get_storageClass() != NoStorageClass ) {
     72                os << storageClassName[ get_storageClass() ] << ' ';
    7873        } // if
    7974
  • src/SynTree/ReferenceToType.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Jun  7 08:31:48 2015
    13 // Update Count     : 4
     12// Last Modified On : Tue May 19 16:52:40 2015
     13// Update Count     : 3
    1414//
    1515
     
    101101       
    102102        Type::print( os, indent );
    103         os << "instance of " << typeString() << " " << get_name() << " (" << ( isFtype ? "" : "not" ) << " function type) ";
     103        os << "instance of " << typeString() << " " << get_name() << " (" << ( isFtype ? "" : "not" ) << " a function type) ";
    104104        if ( ! parameters.empty() ) {
    105105                os << endl << std::string( indent, ' ' ) << "with parameters" << endl;
  • src/SynTree/Statement.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jun 23 11:42:09 2015
    13 // Update Count     : 21
     12// Last Modified On : Mon May 18 10:55:19 2015
     13// Update Count     : 2
    1414//
    1515
     
    3030Statement::Statement( std::list<Label> _labels ) : labels(_labels ) {}
    3131
    32 void Statement::print( std::ostream &, int indent ) const {}
     32void Statement::print( std::ostream &, int indent ) {}
    3333
    3434Statement::~Statement() {}
     
    3838ExprStmt::~ExprStmt() {}
    3939
    40 void ExprStmt::print( std::ostream &os, int indent ) const {
    41         os << string( indent, ' ' ) << "Expression Statement:" << endl;
     40void ExprStmt::print( std::ostream &os, int indent ) {
     41        os << "\r" << string(indent, ' ') << "Expression Statement:" << endl;
    4242        expr->print( os, indent + 2 );
    4343}
     
    4646
    4747BranchStmt::BranchStmt( std::list<Label> labels, Label _target, Type _type ) throw ( SemanticError ) :
    48         Statement( labels ), originalTarget(_target ), target(_target ), type(_type ) {
     48        Statement( labels ), target(_target ), type(_type ) {
    4949        //actually this is a syntactic error signaled by the parser
    5050        if ( type == BranchStmt::Goto && target.size() == 0 )
     
    5858}
    5959
    60 void BranchStmt::print( std::ostream &os, int indent ) const {
    61         os << string( indent, ' ' ) << "Branch (" << brType[type] << ")" << endl ;
     60void BranchStmt::print( std::ostream &os, int indent ) {
     61        os << "\r" << string( indent, ' ') << "Branch (" << brType[type] << ")" << endl ;
    6262}
    6363
     
    6868}
    6969
    70 void ReturnStmt::print( std::ostream &os, int indent ) const {
    71         os << std::string( indent, ' ' ) << string ( isThrow? "Throw":"Return" ) << " Statement, returning: ";
     70void ReturnStmt::print( std::ostream &os, int indent ) {
     71        os << "\r" << std::string( indent, ' ') << string ( isThrow? "Throw":"Return" ) << " Statement, returning: ";
    7272        if ( expr != 0 ) expr->print( os );
    7373        os << endl;
     
    7979IfStmt::~IfStmt() {}
    8080
    81 void IfStmt::print( std::ostream &os, int indent ) const {
    82         os << string( indent, ' ' ) << "If on condition: " << endl ;
     81void IfStmt::print( std::ostream &os, int indent ) {
     82        os << "\r" << string( indent, ' ') << "If on condition: " << endl ;
    8383        condition->print( os, indent + 4 );
    8484
    85         os << string( indent, ' ' ) << ".... and branches: " << endl;
     85        os << string( indent, ' ') << ".... and branches: " << endl;
    8686
    8787        thenPart->print( os, indent + 4 );
     
    103103void SwitchStmt::add_case( CaseStmt *c ) {}
    104104
    105 void SwitchStmt::print( std::ostream &os, int indent ) const {
    106         os << string( indent, ' ' ) << "Switch on condition: ";
     105void SwitchStmt::print( std::ostream &os, int indent ) {
     106        os << "\r" << string( indent, ' ') << "Switch on condition: ";
    107107        condition->print( os );
    108108        os << endl;
    109109
    110110        // branches
    111         std::list<Statement *>::const_iterator i;
     111        std::list<Statement *>::iterator i;
    112112        for ( i = branches.begin(); i != branches.end(); i++)
    113                 (*i)->print( os, indent + 4 );
     113                (*i )->print( os, indent + 4 );
    114114
    115115        //for_each( branches.begin(), branches.end(), mem_fun( bind1st(&Statement::print ), os ));
     
    126126}
    127127
    128 CaseStmt * CaseStmt::makeDefault( std::list<Label> labels, std::list<Statement *> branches ) {
    129         return new CaseStmt( labels, 0, branches, true );
    130 }
    131 
    132 void CaseStmt::print( std::ostream &os, int indent ) const {
    133         os << string( indent, ' ' );
    134 
    135         if ( isDefault() )
     128void CaseStmt::print( std::ostream &os, int indent ) {
     129        os << "\r" << string( indent, ' ');
     130
     131        if ( isDefault())
    136132                os << "Default ";
    137133        else {
     
    142138        os << endl;
    143139
    144         std::list<Statement *>::const_iterator i;
     140        std::list<Statement *>::iterator i;
    145141        for ( i = stmts.begin(); i != stmts.end(); i++)
    146142                (*i )->print( os, indent + 4 );
     
    158154void ChooseStmt::add_case( CaseStmt *c ) {}
    159155
    160 void ChooseStmt::print( std::ostream &os, int indent ) const {
    161         os << string( indent, ' ' ) << "Choose on condition: ";
     156void ChooseStmt::print( std::ostream &os, int indent ) {
     157        os << "\r" << string( indent, ' ') << "Choose on condition: ";
    162158        condition->print( os );
    163159        os << endl;
    164160
    165161        // branches
    166         std::list<Statement *>::const_iterator i;
     162        std::list<Statement *>::iterator i;
    167163        for ( i = branches.begin(); i != branches.end(); i++)
    168164                (*i )->print( os, indent + 4 );
     
    171167}
    172168
    173 void FallthruStmt::print( std::ostream &os, int indent ) const {
    174         os << string( indent, ' ' ) << "Fall-through statement" << endl;
     169void FallthruStmt::print( std::ostream &os, int indent ) {
     170        os << "\r" << string( indent, ' ') << "Fall-through statement" << endl;
    175171}
    176172
     
    183179}
    184180
    185 void WhileStmt::print( std::ostream &os, int indent ) const {
    186         os << string( indent, ' ' ) << "While on condition: " << endl ;
     181void WhileStmt::print( std::ostream &os, int indent ) {
     182        os << "\r" << string( indent, ' ') << "While on condition: " << endl ;
    187183        condition->print( os, indent + 4 );
    188184
    189         os << string( indent, ' ' ) << ".... with body: " << endl;
     185        os << string( indent, ' ') << ".... with body: " << endl;
    190186
    191187        if ( body != 0 ) body->print( os, indent + 4 );
     
    203199}
    204200
    205 void ForStmt::print( std::ostream &os, int indent ) const {
    206         os << string( indent, ' ' ) << "Labels: {";
    207         for ( std::list<Label>::const_iterator it = get_labels().begin(); it != get_labels().end(); ++it) {
    208                 os << *it << ",";
    209         }
    210         os << "}" << endl;
    211 
    212         os << string( indent, ' ' ) << "For Statement" << endl ;
    213 
    214         os << string( indent + 2, ' ' ) << "initialization: \n";
     201void ForStmt::print( std::ostream &os, int indent ) {
     202        os << "\r" << string( indent, ' ') << "For Statement" << endl ;
     203
     204        os << "\r" << string( indent + 2, ' ') << "initialization: \n";
    215205        if ( initialization != 0 )
    216206                initialization->print( os, indent + 4 );
    217207
    218         os << "\n" << string( indent + 2, ' ' ) << "condition: \n";
     208        os << "\n\r" << string( indent + 2, ' ') << "condition: \n";
    219209        if ( condition != 0 )
    220210                condition->print( os, indent + 4 );
    221211
    222         os << "\n" << string( indent + 2, ' ' ) << "increment: \n";
     212        os << "\n\r" << string( indent + 2, ' ') << "increment: \n";
    223213        if ( increment != 0 )
    224214                increment->print( os, indent + 4 );
    225215
    226         os << "\n" << string( indent + 2, ' ' ) << "statement block: \n";
     216        os << "\n\r" << string( indent + 2, ' ') << "statement block: \n";
    227217        if ( body != 0 )
    228218                body->print( os, indent + 4 );
     
    245235}
    246236
    247 void TryStmt::print( std::ostream &os, int indent ) const {
    248         os << string( indent, ' ' ) << "Try Statement" << endl;
    249         os << string( indent + 2, ' ' ) << "with block: " << endl;
     237void TryStmt::print( std::ostream &os, int indent ) {
     238        os << "\r" << string( indent, ' ') << "Try Statement" << endl;
     239        os << string( indent + 2, ' ') << "with block: " << endl;
    250240        block->print( os, indent + 4 );
    251241
    252242        // handlers
    253         os << string( indent + 2, ' ' ) << "and handlers: " << endl;
    254         for ( std::list<Statement *>::const_iterator i = handlers.begin(); i != handlers.end(); i++)
     243        os << string( indent + 2, ' ') << "and handlers: " << endl;
     244        std::list<Statement *>::iterator i;
     245        for ( i = handlers.begin(); i != handlers.end(); i++)
    255246                (*i )->print( os, indent + 4 );
    256247
    257248        // finally block
    258249        if ( finallyBlock != 0 ) {
    259                 os << string( indent + 2, ' ' ) << "Finally block: " << endl;
     250                os << string( indent + 2, ' ') << "Finally block: " << endl;
    260251                finallyBlock->print( os, indent + 4 );
    261252        } // if
     
    271262}
    272263
    273 void CatchStmt::print( std::ostream &os, int indent ) const {
    274         os << string( indent, ' ' ) << "Catch Statement" << endl;
    275 
    276         os << string( indent, ' ' ) << "... catching" << endl;
     264void CatchStmt::print( std::ostream &os, int indent ) {
     265        os << "\r" << string( indent, ' ') << "Catch Statement" << endl;
     266
     267        os << "\r" << string( indent, ' ') << "... catching" << endl;
    277268        if ( decl ) {
    278269                decl->printShort( os, indent + 4 );
    279270                os << endl;
    280271        } else if ( catchRest )
    281                 os << string( indent + 4 , ' ' ) << "the rest" << endl;
     272                os << "\r" << string( indent + 4 , ' ') << "the rest" << endl;
    282273        else
    283                 os << string( indent + 4 , ' ' ) << ">>> Error:  this catch clause must have a declaration <<<" << endl;
     274                os << "\r" << string( indent + 4 , ' ') << ">>> Error:  this catch clause must have a declaration <<<" << endl;
    284275}
    285276
     
    293284}
    294285
    295 void FinallyStmt::print( std::ostream &os, int indent ) const {
    296         os << string( indent, ' ' ) << "Finally Statement" << endl;
    297         os << string( indent + 2, ' ' ) << "with block: " << endl;
     286void FinallyStmt::print( std::ostream &os, int indent ) {
     287        os << "\r" << string( indent, ' ') << "Finally Statement" << endl;
     288        os << string( indent + 2, ' ') << "with block: " << endl;
    298289        block->print( os, indent + 4 );
    299290}
     
    303294NullStmt::~NullStmt() {}
    304295
    305 void NullStmt::print( std::ostream &os, int indent ) const {
    306         os << string( indent, ' ' ) << "Null Statement" << endl ;
     296void NullStmt::print( std::ostream &os, int indent ) {
     297        os << "\r" << string( indent, ' ') << "Null Statement" << endl ;
    307298}
    308299
  • src/SynTree/Statement.h

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jun 23 11:44:27 2015
    13 // Update Count     : 20
     12// Last Modified On : Mon May 18 10:57:40 2015
     13// Update Count     : 2
    1414//
    1515
     
    2828
    2929        std::list<Label> & get_labels() { return labels; }
    30         const std::list<Label> & get_labels() const { return labels; }
    3130
    3231        virtual Statement *clone() const = 0;
    3332        virtual void accept( Visitor &v ) = 0;
    3433        virtual Statement *acceptMutator( Mutator &m ) = 0;
    35         virtual void print( std::ostream &os, int indent = 0 ) const;
     34        virtual void print( std::ostream &os, int indent = 0 );
    3635  protected:
    3736        std::list<Label> labels;
     
    4948        virtual void accept( Visitor &v ) { v.visit( this ); }
    5049        virtual CompoundStmt *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    51         virtual void print( std::ostream &os, int indent = 0 ) const;
     50        virtual void print( std::ostream &os, int indent = 0 );
    5251  private:
    5352        std::list<Statement*> kids;
     
    6564        virtual void accept( Visitor &v ) { v.visit( this ); }
    6665        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    67         virtual void print( std::ostream &os, int indent = 0 ) const;
     66        virtual void print( std::ostream &os, int indent = 0 );
    6867  private:
    6968        Expression *expr;
     
    8584        virtual void accept( Visitor &v ) { v.visit( this ); }
    8685        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    87         virtual void print( std::ostream &os, int indent = 0 ) const;
     86        virtual void print( std::ostream &os, int indent = 0 );
    8887  private:
    8988        Expression *condition;
     
    107106
    108107        virtual SwitchStmt *clone() const { return new SwitchStmt( *this ); }
    109         virtual void print( std::ostream &os, int indent = 0 ) const;
     108        virtual void print( std::ostream &os, int indent = 0 );
    110109  private:
    111110        Expression * condition;
     
    128127
    129128        virtual ChooseStmt *clone() const { return new ChooseStmt( *this ); }
    130         virtual void print( std::ostream &os, int indent = 0 ) const;
     129        virtual void print( std::ostream &os, int indent = 0 );
    131130  private:
    132131        Expression *condition;
     
    142141
    143142        virtual FallthruStmt *clone() const { return new FallthruStmt( *this ); }
    144         virtual void print( std::ostream &os, int indent = 0 ) const;
     143        virtual void print( std::ostream &os, int indent = 0 );
    145144};
    146145
     
    151150        virtual ~CaseStmt();
    152151
    153         static CaseStmt * makeDefault( std::list<Label> labels = std::list<Label>(),
    154                 std::list<Statement *> stmts = std::list<Statement *>() );
    155 
    156         bool isDefault() const { return _isDefault; }
     152        bool isDefault() { return _isDefault; }
    157153        void set_default(bool b) { _isDefault = b; }
    158154
     
    167163
    168164        virtual CaseStmt *clone() const { return new CaseStmt( *this ); }
    169         virtual void print( std::ostream &os, int indent = 0 ) const;
     165        virtual void print( std::ostream &os, int indent = 0 );
    170166  private:
    171167        Expression * condition;
     
    190186        virtual void accept( Visitor &v ) { v.visit( this ); }
    191187        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    192         virtual void print( std::ostream &os, int indent = 0 ) const;
     188        virtual void print( std::ostream &os, int indent = 0 );
    193189  private:
    194190        Expression *condition;
     
    215211        virtual void accept( Visitor &v ) { v.visit( this ); }
    216212        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    217         virtual void print( std::ostream &os, int indent = 0 ) const;
     213        virtual void print( std::ostream &os, int indent = 0 );
    218214  private:
    219215        Statement *initialization;
     
    225221class BranchStmt : public Statement {
    226222  public:
    227         enum Type { Goto = 0, Break, Continue };
     223        enum Type { Goto = 0 , Break, Continue };
    228224
    229225        BranchStmt( std::list<Label> labels, Label target, Type ) throw (SemanticError);
     
    231227        virtual ~BranchStmt() {}
    232228
    233         Label get_originalTarget() { return originalTarget; }
    234229        Label get_target() { return target; }
    235230        void set_target( Label newValue ) { target = newValue; }
     
    244239        virtual void accept( Visitor &v ) { v.visit( this ); }
    245240        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    246         virtual void print( std::ostream &os, int indent = 0 ) const;
     241        virtual void print( std::ostream &os, int indent = 0 );
    247242  private:
    248243        static const char *brType[];
    249         Label originalTarget;  // can give better error messages if we remember the label name that the user entered
    250244        Label target;
    251245        Expression *computedTarget;
     
    264258        virtual void accept( Visitor &v ) { v.visit( this ); }
    265259        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    266         virtual void print( std::ostream &os, int indent = 0 ) const;
     260        virtual void print( std::ostream &os, int indent = 0 );
    267261  private:
    268262        Expression *expr;
     
    280274        virtual void accept( Visitor &v ) { v.visit( this ); }
    281275        virtual NullStmt *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    282         virtual void print( std::ostream &os, int indent = 0 ) const;
     276        virtual void print( std::ostream &os, int indent = 0 );
    283277       
    284278  private:
     
    301295        virtual void accept( Visitor &v ) { v.visit( this ); }
    302296        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    303         virtual void print( std::ostream &os, int indent = 0 ) const;
     297        virtual void print( std::ostream &os, int indent = 0 );
    304298       
    305299  private:
     
    323317        virtual void accept( Visitor &v ) { v.visit( this ); }
    324318        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    325         virtual void print( std::ostream &os, int indent = 0 ) const;
     319        virtual void print( std::ostream &os, int indent = 0 );
    326320       
    327321  private:
     
    342336        virtual void accept( Visitor &v ) { v.visit( this ); }
    343337        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    344         virtual void print( std::ostream &os, int indent = 0 ) const;
     338        virtual void print( std::ostream &os, int indent = 0 );
    345339  private:
    346340        CompoundStmt *block;
     
    361355        virtual void accept( Visitor &v ) { v.visit( this ); }
    362356        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    363         virtual void print( std::ostream &os, int indent = 0 ) const;
     357        virtual void print( std::ostream &os, int indent = 0 );
    364358  private:
    365359        Declaration *decl;
  • src/SynTree/Type.h

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Jun  7 21:50:38 2015
    13 // Update Count     : 12
     12// Last Modified On : Mon May 18 11:01:40 2015
     13// Update Count     : 1
    1414//
    1515
     
    110110        }; 
    111111
    112         static const char *typeNames[];                                         // string names for basic types, MUST MATCH with Kind
     112        static const char *typeNames[];                 // string names for basic types, MUST MATCH with Kind
    113113
    114114        BasicType( const Type::Qualifiers &tq, Kind bt );
     
    214214        virtual ~ReferenceToType();
    215215
    216         const std::string &get_name() const { return name; }
     216        std::string get_name() const { return name; }
    217217        void set_name( std::string newValue ) { name = newValue; }
    218218        std::list< Expression* >& get_parameters() { return parameters; }
     
    372372        virtual ~AttrType();
    373373
    374         const std::string &get_name() const { return name; }
     374        std::string get_name() const { return name; }
    375375        void set_name( const std::string &newValue ) { name = newValue; }
    376376        Expression *get_expr() const { return expr; }
  • src/SynTree/TypeDecl.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 08:14:35 2015
    13 // Update Count     : 2
     12// Last Modified On : Mon May 18 11:02:11 2015
     13// Update Count     : 1
    1414//
    1515
     
    1818#include "utility.h"
    1919
    20 TypeDecl::TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind ) : Parent( name, sc, type ), kind( kind ) {
     20TypeDecl::TypeDecl( const std::string &name, StorageClass sc, Type *type, Kind kind ) : Parent( name, sc, type ), kind( kind ) {
    2121}
    2222
  • src/SynTree/module.mk

    r937e51d reb50842  
    1 ######################### -*- Mode: Makefile-Gmake -*- ########################
    2 ##
    3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    4 ##
    5 ## The contents of this file are covered under the licence agreement in the
    6 ## file "LICENCE" distributed with Cforall.
    7 ##
    8 ## module.mk --
    9 ##
    10 ## Author           : Richard C. Bilson
    11 ## Created On       : Mon Jun  1 17:49:17 2015
    12 ## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jun  1 17:54:09 2015
    14 ## Update Count     : 1
    15 ###############################################################################
    16 
    171SRC += SynTree/Type.cc \
    182       SynTree/VoidType.cc \
     
    4630       SynTree/Mutator.cc \
    4731       SynTree/CodeGenVisitor.cc \
    48        SynTree/TypeSubstitution.cc
     32       SynTree/TypeSubstitution.cc \
     33        $(NULL)
    4934
  • src/Tuples/AssignExpand.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 08:16:39 2015
    13 // Update Count     : 4
     12// Last Modified On : Mon May 18 11:24:47 2015
     13// Update Count     : 2
    1414//
    1515
     
    2323#include "AssignExpand.h"
    2424
    25 #include "Parser/ParseNode.h"
    26 
    2725#include "SynTree/Type.h"
     26#include "SynTree/Statement.h"
     27#include "SynTree/Expression.h"
    2828#include "SynTree/Declaration.h"
    29 #include "SynTree/Expression.h"
    30 #include "SynTree/Statement.h"
    3129
    3230namespace Tuples {
     
    102100                                        assert( rhsT->get_results().size() == 1 );
    103101                                        // declare temporaries
    104                                         ObjectDecl *lhs = new ObjectDecl( temporaryNamer.newName("_lhs_"), DeclarationNode::NoStorageClass, LinkageSpec::Intrinsic, 0,
     102                                        ObjectDecl *lhs = new ObjectDecl( temporaryNamer.newName("_lhs_"), Declaration::NoStorageClass, LinkageSpec::Intrinsic, 0,
    105103                                                                                                          lhsT->get_results().front(), 0 );
    106104                                        decls.push_back( new DeclStmt( std::list< Label >(), lhs ) );
    107                                         ObjectDecl *rhs = new ObjectDecl( temporaryNamer.newName("_rhs_"), DeclarationNode::NoStorageClass, LinkageSpec::Intrinsic, 0,
     105                                        ObjectDecl *rhs = new ObjectDecl( temporaryNamer.newName("_rhs_"), Declaration::NoStorageClass, LinkageSpec::Intrinsic, 0,
    108106                                                                                                          rhsT->get_results().front(), 0);
    109107                                        decls.push_back( new DeclStmt( std::list< Label >(), rhs ));
  • src/Tuples/FunctionChecker.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jun 13 08:17:19 2015
    13 // Update Count     : 4
     12// Last Modified On : Mon May 18 11:59:55 2015
     13// Update Count     : 3
    1414//
    1515
     
    7575                if ( applicationExpr->get_results().size() > 1 ) {
    7676                        for ( std::list< Type *>::iterator res = applicationExpr->get_results().begin(); res != applicationExpr->get_results().end(); res++ )
    77                                 temporaries.push_back( new ObjectDecl( nameGen->newName(), DeclarationNode::Auto, LinkageSpec::AutoGen, 0, (*res )->clone(), 0 ) );
     77                                temporaries.push_back( new ObjectDecl( nameGen->newName(),Declaration::Auto,LinkageSpec::AutoGen, 0, (*res )->clone(), 0 ) );
    7878
    7979                        assert( ! temporaries.empty() );
  • src/Tuples/MultRet.cc

    r937e51d reb50842  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun  8 14:54:44 2015
    13 // Update Count     : 2
     12// Last Modified On : Mon May 18 12:37:57 2015
     13// Update Count     : 1
    1414//
    1515
     
    141141        // Auxiliary function to generate new names for the `output' parameters
    142142        DeclStmt *MVRMutator::newVar( DeclarationWithType *reqDecl ) {
    143                 // std::ostringstream os;
     143                // std::ostrstream os;
    144144                // os << "__" << curVal++ << "__";// << std::ends;
     145                // os.freeze( false );
    145146
    146147                ObjectDecl *decl;
  • src/Tuples/module.mk

    r937e51d reb50842  
    1 ######################### -*- Mode: Makefile-Gmake -*- ########################
    2 ##
    3 ## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    4 ##
    5 ## The contents of this file are covered under the licence agreement in the
    6 ## file "LICENCE" distributed with Cforall.
    7 ##
    8 ## module.mk --
    9 ##
    10 ## Author           : Richard C. Bilson
    11 ## Created On       : Mon Jun  1 17:49:17 2015
    12 ## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Mon Jun  1 17:54:33 2015
    14 ## Update Count     : 1
    15 ###############################################################################
    16 
    171SRC +=  Tuples/Mutate.cc \
    182        Tuples/AssignExpand.cc \
     
    204        Tuples/TupleAssignment.cc \
    215        Tuples/FunctionChecker.cc \
    22         Tuples/NameMatcher.cc
    23 
     6        Tuples/NameMatcher.cc \
    247#       Tuples/MultipleAssign.cc \
    258#       Tuples/FlattenTuple.cc \
     
    2710#       Tuples/FixReturn.cc \
    2811#       Tuples/MassAssignment.cc \
    29 #       Tuples/TupleFixer.cc
     12#       Tuples/TupleFixer.cc \
     13        $(NULL)
     14
  • src/examples/Makefile.in

    r937e51d reb50842  
    1 # Makefile.in generated by automake 1.11.3 from Makefile.am.
    2 # @configure_input@
    3 
    4 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
    5 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
    6 # Foundation, Inc.
    7 # This Makefile.in is free software; the Free Software Foundation
    8 # gives unlimited permission to copy and/or distribute it,
    9 # with or without modifications, as long as this notice is preserved.
    10 
    11 # This program is distributed in the hope that it will be useful,
    12 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
    13 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
    14 # PARTICULAR PURPOSE.
    15 
    16 @SET_MAKE@
    17 
    18 ######################## -*- Mode: Makefile-Automake -*- ######################
     1######################### -*- Mode: Makefile-Gmake -*- ########################
     2##
     3## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
     4##
     5## The contents of this file are covered under the licence agreement in the
     6## file "LICENCE" distributed with Cforall.
     7##
     8## Makefile.in --
     9##
     10## Author           : Peter A. Buhr
     11## Created On       : Sat May 16 11:34:24 2015
     12## Last Modified By : Peter A. Buhr
     13## Last Modified On : Sat May 16 11:35:25 2015
     14## Update Count     : 2
    1915###############################################################################
    2016
    21 VPATH = @srcdir@
    22 pkgdatadir = $(datadir)/@PACKAGE@
    23 pkgincludedir = $(includedir)/@PACKAGE@
    24 pkglibdir = $(libdir)/@PACKAGE@
    25 pkglibexecdir = $(libexecdir)/@PACKAGE@
    26 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
    27 install_sh_DATA = $(install_sh) -c -m 644
    28 install_sh_PROGRAM = $(install_sh) -c
    29 install_sh_SCRIPT = $(install_sh) -c
    30 INSTALL_HEADER = $(INSTALL_DATA)
    31 transform = $(program_transform_name)
    32 NORMAL_INSTALL = :
    33 PRE_INSTALL = :
    34 POST_INSTALL = :
    35 NORMAL_UNINSTALL = :
    36 PRE_UNINSTALL = :
    37 POST_UNINSTALL = :
    38 noinst_PROGRAMS = fstream_test$(EXEEXT) vector_test$(EXEEXT)
    39 subdir = src/examples
    40 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
    41 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    42 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
    43 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    44         $(ACLOCAL_M4)
    45 mkinstalldirs = $(install_sh) -d
    46 CONFIG_HEADER = $(top_builddir)/config.h
    47 CONFIG_CLEAN_FILES =
    48 CONFIG_CLEAN_VPATH_FILES =
    49 PROGRAMS = $(noinst_PROGRAMS)
    50 am_fstream_test_OBJECTS = iostream.$(OBJEXT) fstream.$(OBJEXT) \
    51         fstream_test.$(OBJEXT)
    52 fstream_test_OBJECTS = $(am_fstream_test_OBJECTS)
    53 fstream_test_LDADD = $(LDADD)
    54 am_vector_test_OBJECTS = vector_int.$(OBJEXT) fstream.$(OBJEXT) \
    55         iostream.$(OBJEXT) array.$(OBJEXT) iterator.$(OBJEXT) \
    56         vector_test.$(OBJEXT)
    57 vector_test_OBJECTS = $(am_vector_test_OBJECTS)
    58 vector_test_LDADD = $(LDADD)
    59 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
    60 depcomp = $(SHELL) $(top_srcdir)/automake/depcomp
    61 am__depfiles_maybe = depfiles
    62 am__mv = mv -f
    63 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
    64         $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
    65 CCLD = $(CC)
    66 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
    67 SOURCES = $(fstream_test_SOURCES) $(vector_test_SOURCES)
    68 DIST_SOURCES = $(fstream_test_SOURCES) $(vector_test_SOURCES)
    69 ETAGS = etags
    70 CTAGS = ctags
    71 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
    72 ACLOCAL = @ACLOCAL@
    73 ALLOCA = @ALLOCA@
    74 AMTAR = @AMTAR@
    75 AUTOCONF = @AUTOCONF@
    76 AUTOHEADER = @AUTOHEADER@
    77 AUTOMAKE = @AUTOMAKE@
    78 AWK = @AWK@
    79 BACKEND_CC = @BACKEND_CC@
    80 CC = @CFA_BINDIR@/cfa
    81 CCDEPMODE = @CCDEPMODE@
    82 CFA_BINDIR = @CFA_BINDIR@
    83 CFA_INCDIR = @CFA_INCDIR@
    84 CFA_LIBDIR = @CFA_LIBDIR@
    85 CFA_PREFIX = @CFA_PREFIX@
     17CC := @CFA_BINDIR@/cfa
     18CFLAGS = -g -Wall -Wno-unused-function -MMD
     19MAKEFILE_NAME = ${firstword ${MAKEFILE_LIST}}   # makefile name
    8620
    87 # applies to both programs
    88 CFLAGS = -g -Wall -Wno-unused-function # TEMPORARY: does not build with -O2
    89 CPP = @CPP@
    90 CPPFLAGS = @CPPFLAGS@
    91 CXX = @CXX@
    92 CXXDEPMODE = @CXXDEPMODE@
    93 CXXFLAGS = @CXXFLAGS@
    94 CYGPATH_W = @CYGPATH_W@
    95 DEFS = @DEFS@
    96 DEPDIR = @DEPDIR@
    97 ECHO_C = @ECHO_C@
    98 ECHO_N = @ECHO_N@
    99 ECHO_T = @ECHO_T@
    100 EGREP = @EGREP@
    101 EXEEXT = @EXEEXT@
    102 GCC_PATH = @GCC_PATH@
    103 GREP = @GREP@
    104 INSTALL = @INSTALL@
    105 INSTALL_DATA = @INSTALL_DATA@
    106 INSTALL_PROGRAM = @INSTALL_PROGRAM@
    107 INSTALL_SCRIPT = @INSTALL_SCRIPT@
    108 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
    109 LDFLAGS = @LDFLAGS@
    110 LEX = @LEX@
    111 LEXLIB = @LEXLIB@
    112 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
    113 LIBOBJS = @LIBOBJS@
    114 LIBS = @LIBS@
    115 LTLIBOBJS = @LTLIBOBJS@
    116 MAINT = @MAINT@
    117 MAKEINFO = @MAKEINFO@
    118 MKDIR_P = @MKDIR_P@
    119 OBJEXT = @OBJEXT@
    120 PACKAGE = @PACKAGE@
    121 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
    122 PACKAGE_NAME = @PACKAGE_NAME@
    123 PACKAGE_STRING = @PACKAGE_STRING@
    124 PACKAGE_TARNAME = @PACKAGE_TARNAME@
    125 PACKAGE_URL = @PACKAGE_URL@
    126 PACKAGE_VERSION = @PACKAGE_VERSION@
    127 PATH_SEPARATOR = @PATH_SEPARATOR@
    128 RANLIB = @RANLIB@
    129 SET_MAKE = @SET_MAKE@
    130 SHELL = @SHELL@
    131 STRIP = @STRIP@
    132 VERSION = @VERSION@
    133 YACC = @YACC@
    134 YFLAGS = @YFLAGS@
    135 abs_builddir = @abs_builddir@
    136 abs_srcdir = @abs_srcdir@
    137 abs_top_builddir = @abs_top_builddir@
    138 abs_top_srcdir = @abs_top_srcdir@
    139 ac_ct_CC = @ac_ct_CC@
    140 ac_ct_CXX = @ac_ct_CXX@
    141 am__include = @am__include@
    142 am__leading_dot = @am__leading_dot@
    143 am__quote = @am__quote@
    144 am__tar = @am__tar@
    145 am__untar = @am__untar@
    146 bindir = @bindir@
    147 build_alias = @build_alias@
    148 builddir = @builddir@
    149 datadir = @datadir@
    150 datarootdir = @datarootdir@
    151 docdir = @docdir@
    152 dvidir = @dvidir@
    153 exec_prefix = @exec_prefix@
    154 host_alias = @host_alias@
    155 htmldir = @htmldir@
    156 includedir = @includedir@
    157 infodir = @infodir@
    158 install_sh = @install_sh@
    159 libdir = @libdir@
    160 libexecdir = @libexecdir@
    161 localedir = @localedir@
    162 localstatedir = @localstatedir@
    163 mandir = @mandir@
    164 mkdir_p = @mkdir_p@
    165 oldincludedir = @oldincludedir@
    166 pdfdir = @pdfdir@
    167 prefix = @prefix@
    168 program_transform_name = @program_transform_name@
    169 psdir = @psdir@
    170 sbindir = @sbindir@
    171 sharedstatedir = @sharedstatedir@
    172 srcdir = @srcdir@
    173 sysconfdir = @sysconfdir@
    174 target_alias = @target_alias@
    175 top_build_prefix = @top_build_prefix@
    176 top_builddir = @top_builddir@
    177 top_srcdir = @top_srcdir@
    178 fstream_test_SOURCES = iostream.c fstream.c fstream_test.c
    179 vector_test_SOURCES = vector_int.c fstream.c iostream.c array.c iterator.c vector_test.c
    180 all: all-am
     21OBJECTS1 = iostream.o fstream.o fstream_test.o
     22EXEC1 = fstream_test
    18123
    182 .SUFFIXES:
    183 .SUFFIXES: .c .o .obj
    184 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
    185         @for dep in $?; do \
    186           case '$(am__configure_deps)' in \
    187             *$$dep*) \
    188               ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
    189                 && { if test -f $@; then exit 0; else break; fi; }; \
    190               exit 1;; \
    191           esac; \
    192         done; \
    193         echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/examples/Makefile'; \
    194         $(am__cd) $(top_srcdir) && \
    195           $(AUTOMAKE) --gnu src/examples/Makefile
    196 .PRECIOUS: Makefile
    197 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
    198         @case '$?' in \
    199           *config.status*) \
    200             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
    201           *) \
    202             echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
    203             cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
    204         esac;
     24OBJECTS2 = vector_int.o fstream.o iostream.o array.o iterator.o vector_test.o
     25EXEC2 = vector_test
    20526
    206 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
    207         cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
     27OBJECTS = ${OBJECTS1} ${OBJECTS2}               # all object files
     28DEPENDS = ${OBJECTS:.o=.d}                      # substitute ".o" with ".d"
     29EXECS = ${EXEC1} ${EXEC2}                       # all executables
    20830
    209 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
    210         cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    211 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
    212         cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
    213 $(am__aclocal_m4_deps):
     31########## Targets ##########
    21432
    215 clean-noinstPROGRAMS:
    216         -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
    217 fstream_test$(EXEEXT): $(fstream_test_OBJECTS) $(fstream_test_DEPENDENCIES) $(EXTRA_fstream_test_DEPENDENCIES)
    218         @rm -f fstream_test$(EXEEXT)
    219         $(LINK) $(fstream_test_OBJECTS) $(fstream_test_LDADD) $(LIBS)
    220 vector_test$(EXEEXT): $(vector_test_OBJECTS) $(vector_test_DEPENDENCIES) $(EXTRA_vector_test_DEPENDENCIES)
    221         @rm -f vector_test$(EXEEXT)
    222         $(LINK) $(vector_test_OBJECTS) $(vector_test_LDADD) $(LIBS)
     33.PHONY : all clean                              # not file names
    22334
    224 mostlyclean-compile:
    225         -rm -f *.$(OBJEXT)
     35all : ${EXECS}                                  # build all executables
    22636
    227 distclean-compile:
    228         -rm -f *.tab.c
     37${EXEC1} : ${OBJECTS1}                          # link step 1st executable
     38        ${CC} ${CFLAGS} $^ -o $@                # additional object files before $^
    22939
    230 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/array.Po@am__quote@
    231 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstream.Po@am__quote@
    232 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstream_test.Po@am__quote@
    233 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iostream.Po@am__quote@
    234 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iterator.Po@am__quote@
    235 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vector_int.Po@am__quote@
    236 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vector_test.Po@am__quote@
     40${EXEC2} : ${OBJECTS2}                          # link step 2nd executable
     41        ${CC} ${CFLAGS} $^ -o $@                # additional object files before $^
    23742
    238 .c.o:
    239 @am__fastdepCC_TRUE@    $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
    240 @am__fastdepCC_TRUE@    $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
    241 @AMDEP_TRUE@@am__fastdepCC_FALSE@       source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
    242 @AMDEP_TRUE@@am__fastdepCC_FALSE@       DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    243 @am__fastdepCC_FALSE@   $(COMPILE) -c $<
     43${OBJECTS} : ${MAKEFILE_NAME}                   # OPTIONAL : changes to this file => recompile
    24444
    245 .c.obj:
    246 @am__fastdepCC_TRUE@    $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
    247 @am__fastdepCC_TRUE@    $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
    248 @AMDEP_TRUE@@am__fastdepCC_FALSE@       source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
    249 @AMDEP_TRUE@@am__fastdepCC_FALSE@       DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    250 @am__fastdepCC_FALSE@   $(COMPILE) -c `$(CYGPATH_W) '$<'`
     45-include ${DEPENDS}                             # include *.d files containing program dependences
    25146
    252 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
    253         list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
    254         unique=`for i in $$list; do \
    255             if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
    256           done | \
    257           $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
    258               END { if (nonempty) { for (i in files) print i; }; }'`; \
    259         mkid -fID $$unique
    260 tags: TAGS
     47clean :                                         # remove files that can be regenerated
     48        rm -f ${DEPENDS} ${OBJECTS} ${EXECS} *.class
    26149
    262 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
    263                 $(TAGS_FILES) $(LISP)
    264         set x; \
    265         here=`pwd`; \
    266         list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
    267         unique=`for i in $$list; do \
    268             if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
    269           done | \
    270           $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
    271               END { if (nonempty) { for (i in files) print i; }; }'`; \
    272         shift; \
    273         if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
    274           test -n "$$unique" || unique=$$empty_fix; \
    275           if test $$# -gt 0; then \
    276             $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
    277               "$$@" $$unique; \
    278           else \
    279             $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
    280               $$unique; \
    281           fi; \
    282         fi
    283 ctags: CTAGS
    284 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
    285                 $(TAGS_FILES) $(LISP)
    286         list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
    287         unique=`for i in $$list; do \
    288             if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
    289           done | \
    290           $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
    291               END { if (nonempty) { for (i in files) print i; }; }'`; \
    292         test -z "$(CTAGS_ARGS)$$unique" \
    293           || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
    294              $$unique
    295 
    296 GTAGS:
    297         here=`$(am__cd) $(top_builddir) && pwd` \
    298           && $(am__cd) $(top_srcdir) \
    299           && gtags -i $(GTAGS_ARGS) "$$here"
    300 
    301 distclean-tags:
    302         -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
    303 
    304 distdir: $(DISTFILES)
    305         @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
    306         topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
    307         list='$(DISTFILES)'; \
    308           dist_files=`for file in $$list; do echo $$file; done | \
    309           sed -e "s|^$$srcdirstrip/||;t" \
    310               -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
    311         case $$dist_files in \
    312           */*) $(MKDIR_P) `echo "$$dist_files" | \
    313                            sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
    314                            sort -u` ;; \
    315         esac; \
    316         for file in $$dist_files; do \
    317           if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
    318           if test -d $$d/$$file; then \
    319             dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
    320             if test -d "$(distdir)/$$file"; then \
    321               find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    322             fi; \
    323             if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
    324               cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
    325               find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
    326             fi; \
    327             cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
    328           else \
    329             test -f "$(distdir)/$$file" \
    330             || cp -p $$d/$$file "$(distdir)/$$file" \
    331             || exit 1; \
    332           fi; \
    333         done
    334 check-am: all-am
    335 check: check-am
    336 all-am: Makefile $(PROGRAMS)
    337 installdirs:
    338 install: install-am
    339 install-exec: install-exec-am
    340 install-data: install-data-am
    341 uninstall: uninstall-am
    342 
    343 install-am: all-am
    344         @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
    345 
    346 installcheck: installcheck-am
    347 install-strip:
    348         if test -z '$(STRIP)'; then \
    349           $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
    350             install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
    351               install; \
    352         else \
    353           $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
    354             install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
    355             "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
    356         fi
    357 mostlyclean-generic:
    358 
    359 clean-generic:
    360 
    361 distclean-generic:
    362         -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
    363         -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
    364 
    365 maintainer-clean-generic:
    366         @echo "This command is intended for maintainers to use"
    367         @echo "it deletes files that may require special tools to rebuild."
    368 clean: clean-am
    369 
    370 clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
    371 
    372 distclean: distclean-am
    373         -rm -rf ./$(DEPDIR)
    374         -rm -f Makefile
    375 distclean-am: clean-am distclean-compile distclean-generic \
    376         distclean-tags
    377 
    378 dvi: dvi-am
    379 
    380 dvi-am:
    381 
    382 html: html-am
    383 
    384 html-am:
    385 
    386 info: info-am
    387 
    388 info-am:
    389 
    390 install-data-am:
    391 
    392 install-dvi: install-dvi-am
    393 
    394 install-dvi-am:
    395 
    396 install-exec-am:
    397 
    398 install-html: install-html-am
    399 
    400 install-html-am:
    401 
    402 install-info: install-info-am
    403 
    404 install-info-am:
    405 
    406 install-man:
    407 
    408 install-pdf: install-pdf-am
    409 
    410 install-pdf-am:
    411 
    412 install-ps: install-ps-am
    413 
    414 install-ps-am:
    415 
    416 installcheck-am:
    417 
    418 maintainer-clean: maintainer-clean-am
    419         -rm -rf ./$(DEPDIR)
    420         -rm -f Makefile
    421 maintainer-clean-am: distclean-am maintainer-clean-generic
    422 
    423 mostlyclean: mostlyclean-am
    424 
    425 mostlyclean-am: mostlyclean-compile mostlyclean-generic
    426 
    427 pdf: pdf-am
    428 
    429 pdf-am:
    430 
    431 ps: ps-am
    432 
    433 ps-am:
    434 
    435 uninstall-am:
    436 
    437 .MAKE: install-am install-strip
    438 
    439 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
    440         clean-noinstPROGRAMS ctags distclean distclean-compile \
    441         distclean-generic distclean-tags distdir dvi dvi-am html \
    442         html-am info info-am install install-am install-data \
    443         install-data-am install-dvi install-dvi-am install-exec \
    444         install-exec-am install-html install-html-am install-info \
    445         install-info-am install-man install-pdf install-pdf-am \
    446         install-ps install-ps-am install-strip installcheck \
    447         installcheck-am installdirs maintainer-clean \
    448         maintainer-clean-generic mostlyclean mostlyclean-compile \
    449         mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
    450         uninstall-am
    451 
    452 
    453 # Tell versions [3.59,3.63) of GNU make to not export all variables.
    454 # Otherwise a system limit (for SysV at least) may be exceeded.
    455 .NOEXPORT:
     50distclean : clean
  • src/examples/abstype.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // abstype.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:10:01 2015
    13 // Update Count     : 4
    14 //
     1// "cfa-cpp -nx Abstype.c"
    152
    163type T | { T x( T ); };
    174
    185T y( T t ) {
    19         T t_instance;
    20         return x( t );
     6    T t_instance;
     7    return x( t );
    218}
    229
     
    2916
    3017U x( U u ) {
    31         U u_instance = u;
    32         (*u)++;
    33         return u;
     18    U u_instance = u;
     19    (*u)++;
     20    return u;
    3421}
    3522
    3623int *break_abstraction( U u ) {
    37         return u;
     24    return u;
    3825}
    39 
    40 // Local Variables: //
    41 // tab-width: 4 //
    42 // compile-command: "cfa abstype.c" //
    43 // End: //
  • src/examples/array.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // array.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:10:13 2015
    13 // Update Count     : 2
    14 //
     1// "cfa -c -o array.o array.c"
     2// "cfa -CFA array.c > array_out.c"
     3// "gcc32 array_out.c ../LibCfa/libcfa.a"
    154
    165#include "array.h"
     
    2716forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) )
    2817elt_type * begin( array_type array ) {
    29         return &array[ 0 ];
     18    return &array[ 0 ];
    3019}
    3120
     
    3322forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) )
    3423elt_type * end( array_type array ) {
    35         return &array[ last( array ) ] + 1;
     24    return &array[ last( array ) ] + 1;
    3625}
    37 
    38 // Local Variables: //
    39 // tab-width: 4 //
    40 // compile-command: "cfa array.c" //
    41 // End: //
  • src/examples/array.h

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // array.h --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:10:32 2015
    13 // Update Count     : 2
    14 //
    15 
    161#ifndef ARRAY_H
    172#define ARRAY_H
     
    227// element has index 0.
    238context array( type array_type, type elt_type ) {
    24         lvalue elt_type ?[?]( array_type, int );
     9    lvalue elt_type ?[?]( array_type, int );
    2510};
    2611
    2712// A bounded array is an array that carries its maximum index with it.
    2813context bounded_array( type array_type, type elt_type | array( array_type, elt_type ) ) {
    29         int last( array_type );
     14    int last( array_type );
    3015};
    3116
     
    4732
    4833#endif // ARRAY_H
    49 
    50 // Local Variables: //
    51 // tab-width: 4 //
    52 // compile-command: "cfa array.c" //
    53 // End: //
  • src/examples/constants.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // constants.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun  8 20:44:48 2015
    13 // Update Count     : 75
    14 //
    15 
    161int foo() {
    17         1_234_Ul;
    18         -0_177;
    19         017_777_777_777;
    20         037_777_777_777;
    21         0x_7f_FF_ff_FF;
    22         0x_ff_FF_ff_FF;
    23         2_147_483_647;
    24         4_294_967_295;
    25         4_294_967_296;
    26         4_294_967_296U;
    27         0_777_777_777_777_777_777_777;
    28         01_777_777_777_777_777_777_777;
    29         0;
    30         0L;
    31         0LL;
    32         1;
    33         1L;
    34         1LL;
    35         10;
    36         10L;
    37         10LL;
    38         2U;
    39         2UL;
    40         2ULL;
    41         2LU;
    42         2LLU;
    43         0x_7f_FF_ff_FF_ff_FF_ff_FF;
    44         0x_ff_FF_ff_FF_ff_FF_ff_FF;
    45         9_223_372_036_854_775_807;
    46         18_446_744_073_709_551_615;
    47         3.141_59f;
    48         3.14159;
    49         12.123_333_E_27L;
    50         0X_1.ff_ff_ff_ff_ff_fff_P_1023;
    51         '\0';
    52         '\1_2_3';
    53         L'\x_ff_ee';
    54         L_"\x_ff_ee";
    55         L"a_b\r\Qyc\u_00_40  x_y_z\xff_AA";
    56         L_"a_b\r\Qyc\u_00_40\   
    57   x_y_z\xff_AA";
    58         "abc" "def" "ghi";
     2    1_234_Ul;
     3    -0_177;
     4    0x_ff_FF_ff_FF;
     5    +9_223_372_036_854_775_807;
     6    12.123_333_E_27;
     7    0X_1.ff_ff_ff_ff_ff_fff_P_1023;
     8    '\0';
     9    '\1_2_3';
     10    L_'\x_ff_ee';
     11    L"a_bc\u_00_40xyz\xff_AA";
     12    "a_bc\\
     13  u_00_40xyz";
    5914}
    6015
    6116// Local Variables: //
    62 // tab-width: 4 //
    63 // compile-command: "cfa constants.c" //
     17// compile-command: "../../bin/cfa -std=c99 constants.c" //
    6418// End: //
  • src/examples/control_structures.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // control_structures.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Jun  4 14:02:50 2015
    13 // Update Count     : 24
    14 //
    15 
    161int main() {
    17         L1: {
    18                 L2:     switch ( 3_333_333 ) {                                          // underscores in constant
    19                   case 1,2,3:                                                                   // CFA
    20                   case 4~8:                                                                             // CFA
    21                   case 9 ... 10:                                                                // gcc, must have spaces
    22                                 L3: for ( ;; ) {
    23                                         L4: for ( ;; ) {
    24                                                 break L1;                                               // labelled break
    25                                                 break L2;
    26                                                 break L3;
    27                                                 break L4;
    28                                                 //continue L1;                                  // labelled continue - should be an error
    29                                                 //continue L2;                                  // should be an error
    30                                                 continue L3;
    31                                                 continue L4;
    32                                         } // for
    33                                 } // for
    34                                 break;
    35                         default:
    36                                 break L1;
    37                 } // switch
    38                 3;
    39                 int i, j;
    40                 choose ( 7 ) {
    41                   case 1,2,3:
    42                         i = 3;
    43                         4;
    44                         fallthru;
    45                   case 4,5,6:
    46                         j = 3;
    47                   default: ;
    48                 } // choose
    49         } // block
     2  L1: {
     3      L2: switch ( 3_333_333 ) {        // underscores in constant
     4          case 1,2,3:                   // 4~8, 4...8 not working
     5          L3: for ( ;; ) {
     6              L4: for ( ;; ) {
     7                    break L1;           // labelled break
     8                    break L2;
     9                    break L3;
     10                    break L4;
     11#if 0
     12                    continue L1;        // labelled continue
     13                    continue L2;
     14                    continue L3;
     15                    continue L4;
     16#endif
     17                } // for
     18            } // for
     19            break;
     20          default:
     21            break L1;
     22        } // switch
     23        3;
     24        int i, j;
     25        choose ( 7 ) {
     26          case 1,2,3:
     27            i = 3;
     28            fallthru;
     29          case 4,5,6:
     30            j = 3;
     31          default: ;
     32        } // choose
     33    } // block
    5034
    5135#if 0
    52         try {
    53                 int i = 3;
    54         } catch( int ) {
    55         } catch( double ) {
    56         } catch( ... ) {
    57         } finally {
    58         } // try
     36    try {
     37        int i = 3;
     38    } catch( int ) {
     39    } catch( double ) {
     40    } catch( ... ) {
     41    } finally {
     42    } // try
    5943#endif
    6044
     
    6246
    6347// Local Variables: //
    64 // tab-width: 4 //
    65 // compile-command: "cfa control_structures.c" //
     48// compile-command: "../../bin/cfa control_structures.c" //
    6649// End: //
  • src/examples/ctxts.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // ctxts.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:11:19 2015
    13 // Update Count     : 2
    14 //
    15 
    161context has_f( type T ) {
    17         T f( T );
     2    T f( T );
    183};
    194
    205context has_g( type U | has_f( U ) ) {
    21         U g( U );
     6    U g( U );
    227};
    238
    249forall( type V | has_g( V ) ) void h( V );
    25 
    26 // Local Variables: //
    27 // tab-width: 4 //
    28 // compile-command: "cfa ctxts.c" //
    29 // End: //
  • src/examples/esskaykay.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // esskaykay.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:11:45 2015
    13 // Update Count     : 2
    14 //
     1// "./cfa-cpp -cn esskaykay.c"
    152
    163// forall (type A, type B, type C) C ess (C (*f) (A,B), B (*g) (A), A x) { return f(x,g(x)); }
     
    2310
    2411forall (type A) A esskaykay (A x) { ess (kay, kay, x); }
    25 
    26 // Local Variables: //
    27 // tab-width: 4 //
    28 // compile-command: "cfa esskaykay.c" //
    29 // End: //
  • src/examples/forward.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // forward.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:11:57 2015
    13 // Update Count     : 2
    14 //
    15 
    161forall(type T) lvalue T *?( T* );
    172int ?=?( int*, int );
     
    216
    227void f() {
    23         *x;
     8    *x;
    249}
    2510
    2611// Local Variables: //
    27 // tab-width: 4 //
    28 // compile-command: "cfa forward.c" //
     12// compile-command: "../../bin/cfa forward.c" //
    2913// End: //
  • src/examples/fstream.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // fstream.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:12:33 2015
    13 // Update Count     : 2
    14 //
    15 
    161#include "fstream.h"
    172
     
    227
    238struct ofstream {
    24         FILE *file;
    25         int fail;
     9    FILE *file;
     10    int fail;
    2611};
    2712
    2813ofstream *write( ofstream *os, const char *data, streamsize_type size ) {
    29         if ( ! os->fail ) {
    30                 fwrite( data, size, 1, os->file );
    31                 os->fail = ferror( os->file );
    32         }
    33         return os;
     14    if ( ! os->fail ) {
     15        fwrite( data, size, 1, os->file );
     16        os->fail = ferror( os->file );
     17    }
     18    return os;
    3419}
    3520
    3621int fail( ofstream *os ) {
    37         return os->fail;
     22    return os->fail;
    3823}
    3924
    4025static ofstream *make_ofstream() {
    41         ofstream *new_stream = malloc( sizeof( ofstream ) );
    42         new_stream->fail = 0;
    43         return new_stream;
     26    ofstream *new_stream = malloc( sizeof( ofstream ) );
     27    new_stream->fail = 0;
     28    return new_stream;
    4429}
    4530
    4631ofstream *ofstream_stdout() {
    47         ofstream *stdout_stream = make_ofstream();
    48         stdout_stream->file = stdout;
    49         return stdout_stream;
     32    ofstream *stdout_stream = make_ofstream();
     33    stdout_stream->file = stdout;
     34    return stdout_stream;
    5035}
    5136
    5237ofstream *ofstream_stderr() {
    53         ofstream *stderr_stream = make_ofstream();
    54         stderr_stream->file = stderr;
    55         return stderr_stream;
     38    ofstream *stderr_stream = make_ofstream();
     39    stderr_stream->file = stderr;
     40    return stderr_stream;
    5641}
    5742
    5843ofstream *ofstream_fromfile( const char *name ) {
    59         ofstream *file_stream = make_ofstream();
    60         file_stream->file = fopen( name, "w" );
    61         file_stream->fail = file_stream->file == 0;
    62         return file_stream;
     44    ofstream *file_stream = make_ofstream();
     45    file_stream->file = fopen( name, "w" );
     46    file_stream->fail = file_stream->file == 0;
     47    return file_stream;
    6348}
    6449
    6550void ofstream_close( ofstream *os ) {
    66         if ( os->file != stdout && os->file != stderr ) {
    67                 os->fail = fclose( os->file );
    68         }
    69         free( os );
     51    if ( os->file != stdout && os->file != stderr ) {
     52        os->fail = fclose( os->file );
     53    }
     54    free( os );
    7055}
    7156
    7257struct ifstream {
    73         FILE *file;
    74         int fail;
    75         int eof;
     58    FILE *file;
     59    int fail;
     60    int eof;
    7661};
    7762
    7863ifstream *read( ifstream *is, char *data, streamsize_type size ) {
    79         if ( ! is->fail && ! is->eof ) {
    80                 fread( data, size, 1, is->file );
    81                 is->fail = ferror( is->file );
    82                 is->eof = feof( is->file );
    83         }
    84         return is;
     64    if ( ! is->fail && ! is->eof ) {
     65        fread( data, size, 1, is->file );
     66        is->fail = ferror( is->file );
     67        is->eof = feof( is->file );
     68    }
     69    return is;
    8570}
    8671 
    8772ifstream *unread( ifstream *is, char c ) {
    88         if ( ! is->fail ) {
    89                 if ( ! EOF == ungetc( c, is->file ) ) {
    90                         is->fail = 1;
    91                 }
     73    if ( ! is->fail ) {
     74        if ( ! EOF == ungetc( c, is->file ) ) {
     75            is->fail = 1;
    9276        }
    93         return is;
     77    }
     78    return is;
    9479}
    9580
    9681int fail( ifstream *is ) {
    97         return is->fail;
     82    return is->fail;
    9883}
    9984
    10085int eof( ifstream *is ) {
    101         return is->eof;
     86    return is->eof;
    10287}
    10388
    10489static ifstream *make_ifstream() {
    105         ifstream *new_stream = malloc( sizeof( ifstream ) );
    106         new_stream->fail = 0;
    107         new_stream->eof = 0;
    108         return new_stream;
     90    ifstream *new_stream = malloc( sizeof( ifstream ) );
     91    new_stream->fail = 0;
     92    new_stream->eof = 0;
     93    return new_stream;
    10994}
    11095
    11196ifstream *ifstream_stdin() {
    112         ifstream *stdin_stream = make_ifstream();
    113         stdin_stream->file = stdin;
    114         return stdin_stream;
     97    ifstream *stdin_stream = make_ifstream();
     98    stdin_stream->file = stdin;
     99    return stdin_stream;
    115100}
    116101
    117102ifstream *ifstream_fromfile( const char *name ) {
    118         ifstream *file_stream = make_ifstream();
    119         file_stream->file = fopen( name, "r" );
    120         file_stream->fail = file_stream->file == 0;
    121         return file_stream;
     103    ifstream *file_stream = make_ifstream();
     104    file_stream->file = fopen( name, "r" );
     105    file_stream->fail = file_stream->file == 0;
     106    return file_stream;
    122107}
    123 
    124 // Local Variables: //
    125 // tab-width: 4 //
    126 // compile-command: "cfa fstream.c" //
    127 // End: //
  • src/examples/fstream.h

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // fstream.h --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:13:08 2015
    13 // Update Count     : 1
    14 //
    15 
    161#ifndef __FSTREAM_H__
    172#define __FSTREAM_H__
     
    4227
    4328#endif // __FSTREAM_H__
    44 
    45 // Local Variables: //
    46 // tab-width: 4 //
    47 // compile-command: "cfa fstream.c" //
    48 // End: //
  • src/examples/fstream_test.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // fstream_test.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:13:43 2015
    13 // Update Count     : 2
    14 //
    15 
    161#include "fstream.h"
    172
    183int main() {
    19         ofstream *sout = ofstream_stdout();
    20         ifstream *sin = ifstream_stdin();
    21         int nombre;
    22         sout << "Appuyez un nombre, s'il vous plâit:\n";
    23         sin >> &nombre;
    24         sout << "Vous avez appuyé: " << nombre << "\n";
     4    ofstream *sout = ofstream_stdout();
     5    ifstream *sin = ifstream_stdin();
     6    int nombre;
     7    sout << "Appuyez un nombre, s'il vous plâit:\n";
     8    sin >> &nombre;
     9    sout << "Vous avez appuyé: " << nombre << "\n";
    2510}
    26 
    27 // Local Variables: //
    28 // tab-width: 4 //
    29 // compile-command: "cfa fstream_test.c" //
    30 // End: //
  • src/examples/fwrite.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // fwrite.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:14:12 2015
    13 // Update Count     : 1
    14 //
    15 
    161extern "C" {
    17         #include <stdio.h>
     2    #include <stdio.h>
    183}
    194
    205int main() {
    21         fwrite( "test\n", 5, 1, stdout );
     6    fwrite( "test\n", 5, 1, stdout );
    227}
    23 
    24 // Local Variables: //
    25 // tab-width: 4 //
    26 // compile-command: "cfa fwrite.c" //
    27 // End: //
  • src/examples/hello.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // hello.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:14:58 2015
    13 // Update Count     : 1
    14 //
    15 
    161#include "fstream.h"
    172
    183int main() {
    19         ofstream *sout = ofstream_stdout();
    20         ifstream *sin = ifstream_stdin();
    21         sout << "Bonjour au monde!\n";
    22         sout << 3 << " " << 3.5 << " " << 'a' << " " << "abc" << "\n";
    23         int i, j, k;
    24         sin >> &i >> &j >> &k;
    25         sout << "i:" << i << " j:" << j << " k:" << k << "\n";
     4    ofstream *sout = ofstream_stdout();
     5    ifstream *sin = ifstream_stdin();
     6    sout << "Bonjour au monde!\n";
     7    sout << 3 << " " << 3.5 << " " << 'a' << " " << "abc" << "\n";
     8    int i, j, k;
     9    sin >> &i >> &j >> &k;
     10    sout << "i:" << i << " j:" << j << " k:" << k << "\n";
    2611}
    2712
    2813// Local Variables: //
    29 // tab-width: 4 //
    30 // compile-command: "cfa hello.c fstream.o iostream.o" //
     14// compile-command: "../../bin/cfa hello.c fstream.o iostream.o" //
    3115// End: //
  • src/examples/huge.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // huge.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:15:34 2015
    13 // Update Count     : 1
    14 //
    15 
    161int huge( int n, forall( type T ) T (*f)( T ) ) {
    17         if ( n <= 0 )
    18                 return f( 0 );
    19         else
    20                 return huge( n - 1, f( f ) );
     2    if ( n <= 0 )
     3        return f( 0 );
     4    else
     5        return huge( n - 1, f( f ) );
    216}
    22 
    23 // Local Variables: //
    24 // tab-width: 4 //
    25 // compile-command: "cfa huge.c" //
    26 // End: //
  • src/examples/identity.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // identity.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:16:30 2015
    13 // Update Count     : 2
    14 //
    15 
    161#include "fstream.h"
    172
    183forall( type T )
    194T identity( T t ) {
    20         return t;
     5    return t;
    216}
    227
    238int main() {
    24         ofstream *sout = ofstream_stdout();
    25         char c = 'a';
    26         c = identity( c );
    27         sout << c << ' ' << identity( c ) << '\n';
    28         int i = 5;
    29         i = identity( i );
    30         sout << i << ' ' << identity( i ) << '\n';
    31         double d = 3.2;
    32         d = identity( d );
    33         sout << d << ' ' << identity( d ) << '\n';
     9    ofstream *sout = ofstream_stdout();
     10    char c = 'a';
     11    c = identity( c );
     12    sout << c << ' ' << identity( c ) << '\n';
     13    int i = 5;
     14    i = identity( i );
     15    sout << i << ' ' << identity( i ) << '\n';
     16    double d = 3.2;
     17    d = identity( d );
     18    sout << d << ' ' << identity( d ) << '\n';
    3419}
    3520
    3621// Local Variables: //
    37 // tab-width: 4 //
    38 // compile-command: "cfa identity.c fstream.o iostream.o" //
     22// compile-command: "../../bin/cfa identity.c fstream.o iostream.o" //
    3923// End: //
  • src/examples/includes.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // includes.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun  8 15:54:17 2015
    13 // Update Count     : 7
    14 //
    15 
    161#if 1
    172//#include <aio.h>              // FAILS -- includes locale.h
     
    4934#include <curses.h>
    5035#else
    51 #include <curses.h>
     36#include <time.h>               // FAILS -- includes locale.h
    5237#endif // 0
    5338
    5439// Local Variables: //
    55 // tab-width: 4 //
    56 // compile-command: "cfa includes.c" //
     40// compile-command: "../../bin/cfa includes.c" //
    5741// End: //
  • src/examples/index.h

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // index.h --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:17:31 2015
    13 // Update Count     : 1
    14 //
    15 
    161context index( type T ) {
    17         T ?+?( T, T );
    18         T ?-?( T, T );
    19         const T 0, 1;
     2    T ?+?( T, T );
     3    T ?-?( T, T );
     4    const T 0, 1;
    205};
    21 
    22 // Local Variables: //
    23 // tab-width: 4 //
    24 // compile-command: "cfa index.c" //
    25 // End: //
  • src/examples/iostream.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // iostream.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:18:13 2015
    13 // Update Count     : 2
    14 //
     1// "cfa -c -o iostream.o iostream.c"
     2// "cfa -v -E iostream.c > iostream_out.c"
     3// "cfa -CFA iostream.c > iostream_out.c"
     4// "cfa iostream_out.c"
     5// "gcc32 iostream_out.c LibCfa/libcfa.a"
    156
    167#include "iostream.h"
     
    1910//#include <string.h>
    2011//#include <ctype.h>
    21         typedef long unsigned int size_t;
    22         size_t strlen(const char *s);
     12typedef long unsigned int size_t;
     13size_t strlen(const char *s);
    2314}
    2415
    2516forall( dtype ostype | ostream( ostype ) )
    2617ostype * ?<<?( ostype *os, char c ) {
    27         return write( os, &c, 1 );
     18    return write( os, &c, 1 );
    2819}
    2920
    3021forall( dtype ostype | ostream( ostype ) )
    3122ostype * ?<<?( ostype *os, int i ) {
    32         char buffer[20];      // larger than the largest integer
    33         sprintf( buffer, "%d", i );
    34         return write( os, buffer, strlen( buffer ) );
     23    char buffer[20];      // larger than the largest integer
     24    sprintf( buffer, "%d", i );
     25    return write( os, buffer, strlen( buffer ) );
    3526}
    3627
    3728forall( dtype ostype | ostream( ostype ) )
    3829ostype * ?<<?( ostype *os, double d ) {
    39         char buffer[32];      // larger than the largest double
    40         sprintf( buffer, "%g", d );
    41         return write( os, buffer, strlen( buffer ) );
     30    char buffer[32];      // larger than the largest double
     31    sprintf( buffer, "%g", d );
     32    return write( os, buffer, strlen( buffer ) );
    4233}
    4334
    4435forall( dtype ostype | ostream( ostype ) )
    4536ostype * ?<<?( ostype *os, const char *cp ) {
    46         return write( os, cp, strlen( cp ) );
     37    return write( os, cp, strlen( cp ) );
    4738}
    4839
    4940forall( dtype istype | istream( istype ) )
    5041istype * ?>>?( istype *is, char *cp ) {
    51         return read( is, cp, 1 );
     42    return read( is, cp, 1 );
    5243}
    5344
    5445forall( dtype istype | istream( istype ) )
    5546istype * ?>>?( istype *is, int *ip ) {
    56         char cur;
     47    char cur;
    5748 
    58         // skip some whitespace
    59         do {
    60                 is >> &cur;
    61                 if ( fail( is ) || eof( is ) ) return is;
    62         } while ( !( cur >= '0' && cur <= '9' ) );
     49    // skip some whitespace
     50    do {
     51        is >> &cur;
     52        if ( fail( is ) || eof( is ) ) return is;
     53    } while ( !( cur >= '0' && cur <= '9' ) );
    6354 
    64         // accumulate digits
    65         *ip = 0;
    66         while ( cur >= '0' && cur <= '9' ) {
    67                 *ip = *ip * 10 + ( cur - '0' );
    68                 is >> &cur;
    69                 if ( fail( is ) || eof( is ) ) return is;
    70         }
     55    // accumulate digits
     56    *ip = 0;
     57    while ( cur >= '0' && cur <= '9' ) {
     58        *ip = *ip * 10 + ( cur - '0' );
     59        is >> &cur;
     60        if ( fail( is ) || eof( is ) ) return is;
     61    }
    7162 
    72         unread( is, cur );
    73         return is;
     63    unread( is, cur );
     64    return is;
    7465}
    75 
    76 // Local Variables: //
    77 // tab-width: 4 //
    78 // compile-command: "cfa iostream.c" //
    79 // End: //
  • src/examples/iostream.h

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // iostream.h --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:18:46 2015
    13 // Update Count     : 1
    14 //
    15 
    161#ifndef IOSTREAM_H
    172#define IOSTREAM_H
     
    205
    216context ostream( dtype ostype ) {
    22         ostype *write( ostype *, const char *, streamsize_type );
    23         int fail( ostype * );
     7    ostype *write( ostype *, const char *, streamsize_type );
     8    int fail( ostype * );
    249};
    2510
    2611context writeable( type T ) {
    27         forall( dtype ostype | ostream( ostype ) ) ostype * ?<<?( ostype *, T );
     12    forall( dtype ostype | ostream( ostype ) ) ostype * ?<<?( ostype *, T );
    2813};
    2914
     
    3722
    3823context istream( dtype istype ) {
    39         istype *read( istype *, char *, streamsize_type );
    40         istype *unread( istype *, char );
    41         int fail( istype * );
    42         int eof( istype * );
     24    istype *read( istype *, char *, streamsize_type );
     25    istype *unread( istype *, char );
     26    int fail( istype * );
     27    int eof( istype * );
    4328};
    4429
    4530context readable( type T ) {
    46         forall( dtype istype | istream( istype ) ) istype * ?<<?( istype *, T );
     31    forall( dtype istype | istream( istype ) ) istype * ?<<?( istype *, T );
    4732};
    4833
     
    5439
    5540#endif // IOSTREAM_H
    56 
    57 // Local Variables: //
    58 // tab-width: 4 //
    59 // compile-command: "cfa iostream.c" //
    60 // End: //
  • src/examples/it_out.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // it_out.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:41:23 2015
    13 // Update Count     : 4
    14 //
     1# 1 "iterator.c"
     2# 1 "<built-in>"
     3# 1 "<command line>"
     4# 1 "iterator.c"
     5# 1 "iterator.h" 1
     6
     7
     8
     9# 1 "iostream.h" 1
     10
     11
    1512
    1613typedef unsigned long streamsize_type;
    1714
    18 context ostream( dtype os_type ) {
    19         os_type *write( os_type *, const char *, streamsize_type );
    20         int fail( os_type * );
     15
     16
     17context ostream( dtype os_type )
     18{
     19
     20    os_type *write( os_type *, const char *, streamsize_type );
     21
     22
     23    int fail( os_type * );
    2124};
    2225
    23 context writeable( type T ) {
    24         forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, T );
     26
     27
     28
     29context writeable( type T )
     30{
     31    forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, T );
    2532};
     33
     34
    2635
    2736forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, char );
     
    2938forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, const char * );
    3039
    31 context istream( dtype is_type ) {
    32         is_type *read( is_type *, char *, streamsize_type );
    33         is_type *unread( is_type *, char );
    34         int fail( is_type * );
    35         int eof( is_type * );
     40
     41
     42
     43context istream( dtype is_type )
     44{
     45
     46    is_type *read( is_type *, char *, streamsize_type );
     47
     48
     49    is_type *unread( is_type *, char );
     50
     51
     52    int fail( is_type * );
     53
     54
     55    int eof( is_type * );
    3656};
    3757
    38 context readable( type T ) {
    39         forall( dtype is_type | istream( is_type ) ) is_type * ?<<?( is_type *, T );
     58
     59
     60
     61context readable( type T )
     62{
     63    forall( dtype is_type | istream( is_type ) ) is_type * ?<<?( is_type *, T );
    4064};
     65
     66
    4167
    4268forall( dtype is_type | istream( is_type ) ) is_type * ?>>?( is_type *, char* );
    4369forall( dtype is_type | istream( is_type ) ) is_type * ?>>?( is_type *, int* );
     70# 5 "iterator.h" 2
    4471
    45 context iterator( type iterator_type, type elt_type ) {
    46         iterator_type ?++( iterator_type* );
    47         iterator_type ++?( iterator_type* );
    48         int ?==?( iterator_type, iterator_type );
    49         int ?!=?( iterator_type, iterator_type );
    5072
    51         lvalue elt_type *?( iterator_type );
     73context iterator( type iterator_type, type elt_type )
     74{
     75
     76    iterator_type ?++( iterator_type* );
     77    iterator_type ++?( iterator_type* );
     78
     79
     80    int ?==?( iterator_type, iterator_type );
     81    int ?!=?( iterator_type, iterator_type );
     82
     83
     84    lvalue elt_type *?( iterator_type );
    5285};
    5386
    54 forall( type elt_type | writeable( elt_type ),
    55                 type iterator_type | iterator( iterator_type, elt_type ),
    56                 dtype os_type | ostream( os_type ) )
    57 void write_all( iterator_type begin, iterator_type end, os_type *os );
     87
    5888
    5989forall( type elt_type | writeable( elt_type ),
    60                 type iterator_type | iterator( iterator_type, elt_type ),
    61                 dtype os_type | ostream( os_type ) )
    62 void write_all( elt_type begin, iterator_type end, os_type *os ) {
    63         os << begin;
     90        type iterator_type | iterator( iterator_type, elt_type ),
     91        dtype os_type | ostream( os_type ) )
     92void write_all( iterator_type begin, iterator_type end, os_type *os );
     93# 2 "iterator.c" 2
     94
     95forall( type elt_type | writeable( elt_type ),
     96        type iterator_type | iterator( iterator_type, elt_type ),
     97        dtype os_type | ostream( os_type ) )
     98void
     99write_all( elt_type begin, iterator_type end, os_type *os )
     100{
     101    os << begin;
    64102}
    65 
    66 // Local Variables: //
    67 // tab-width: 4 //
    68 // compile-command: "cfa it_out.c" //
    69 // End: //
  • src/examples/iterator.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // iterator.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:41:41 2015
    13 // Update Count     : 3
    14 //
     1// "cfa iterator.c"
     2// "cfa -CFA iterator.c > iterator_out.c"
     3// "gcc31 iterator_out.c ../LibCfa/libcfa.a"
    154
    165#include "iterator.h"
     
    2211///   iterator_type i;
    2312///   for ( i = begin; i != end; ++i ) {
    24 ///      func( *i );
     13///    func( *i );
    2514///   }
    2615/// }
    2716
    2817forall( type elt_type | writeable( elt_type ),
    29                 type iterator_type | iterator( iterator_type, elt_type ),
    30                 dtype os_type | ostream( os_type ) )
     18        type iterator_type | iterator( iterator_type, elt_type ),
     19        dtype os_type | ostream( os_type ) )
    3120void write_all( iterator_type begin, iterator_type end, os_type *os ) {
    32         iterator_type i;
    33         for ( i = begin; i != end; ++i ) {
    34                 os << *i << ' ';
    35         }
     21    iterator_type i;
     22    for ( i = begin; i != end; ++i ) {
     23        os << *i << ' ';
     24    }
    3625}
    3726
    3827forall( type elt_type | writeable( elt_type ),
    39                 type iterator_type | iterator( iterator_type, elt_type ),
    40                 dtype os_type | ostream( os_type ) )
     28        type iterator_type | iterator( iterator_type, elt_type ),
     29        dtype os_type | ostream( os_type ) )
    4130void write_reverse( iterator_type begin, iterator_type end, os_type *os ) {
    42         iterator_type i; // "= end;" does not work
    43         i = end;
    44         do {
    45                 --i;
    46                 os << *i << ' ';
    47         } while ( i != begin );
     31    iterator_type i; // "= end;" does not work
     32    i = end;
     33    do {
     34        --i;
     35        os << *i << ' ';
     36    } while ( i != begin );
    4837}
    49 
    50 // Local Variables: //
    51 // tab-width: 4 //
    52 // compile-command: "cfa iterator.c" //
    53 // End: //
  • src/examples/iterator.h

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // iterator.h --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:41:57 2015
    13 // Update Count     : 3
    14 //
    15 
    161#ifndef ITERATOR_H
    172#define ITERATOR_H
     
    216// An iterator can be used to traverse a data structure.
    227context iterator( type iterator_type, type elt_type ) {
    23         // point to the next element
    24 //      iterator_type ?++( iterator_type * );
    25         iterator_type ++?( iterator_type * );
    26         iterator_type --?( iterator_type * );
     8    // point to the next element
     9//    iterator_type ?++( iterator_type * );
     10    iterator_type ++?( iterator_type * );
     11    iterator_type --?( iterator_type * );
    2712
    28         // can be tested for equality with other iterators
    29         int ?==?( iterator_type, iterator_type );
    30         int ?!=?( iterator_type, iterator_type );
     13    // can be tested for equality with other iterators
     14    int ?==?( iterator_type, iterator_type );
     15    int ?!=?( iterator_type, iterator_type );
    3116
    32         // dereference to get the pointed-at element
    33         lvalue elt_type *?( iterator_type );
     17    // dereference to get the pointed-at element
     18    lvalue elt_type *?( iterator_type );
    3419};
    3520
    3621context iterator_for ( type iterator_type, type collection_type, type elt_type | iterator( iterator_type, elt_type ) ) {
    37 //      [ iterator_type begin, iterator_type end ] get_iterators( collection_type );
    38         iterator_type begin( collection_type );
    39         iterator_type end( collection_type );
     22//    [ iterator_type begin, iterator_type end ] get_iterators( collection_type );
     23    iterator_type begin( collection_type );
     24    iterator_type end( collection_type );
    4025};
    4126
     
    4530// writes the range [begin, end) to the given stream
    4631forall( type elt_type | writeable( elt_type ),
    47                 type iterator_type | iterator( iterator_type, elt_type ),
    48                 dtype os_type | ostream( os_type ) )
     32        type iterator_type | iterator( iterator_type, elt_type ),
     33        dtype os_type | ostream( os_type ) )
    4934void write_all( iterator_type begin, iterator_type end, os_type *os );
    5035
    5136forall( type elt_type | writeable( elt_type ),
    52                 type iterator_type | iterator( iterator_type, elt_type ),
    53                 dtype os_type | ostream( os_type ) )
     37        type iterator_type | iterator( iterator_type, elt_type ),
     38        dtype os_type | ostream( os_type ) )
    5439void write_reverse( iterator_type begin, iterator_type end, os_type *os );
    5540
    5641#endif // ITERATOR_H
    57 
    58 // Local Variables: //
    59 // tab-width: 4 //
    60 // compile-command: "cfa iterator.c" //
    61 // End: //
  • src/examples/min.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // min.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:23:19 2015
    13 // Update Count     : 2
    14 //
    15 
    161extern "C" {
    17         int printf( const char *, ... );
     2    int printf( const char *, ... );
    183//#include <stdio.h>
    194}
     
    216forall( type T | { int ?<?( T, T ); } )
    227T min( const T t1, const T t2 ) {
    23         return t1 < t2 ? t1 : t2;
     8    return t1 < t2 ? t1 : t2;
    249}
    2510
    2611int main() {
    27         char c;
    28 //      c = min( 'z', 'a' );
    29 //      printf( "minimum %d\n", c );
    30         int i;
    31         i = min( 4, 3 );
    32         printf( "minimum %d\n", min( 4, 3 ) );
    33         float f;
    34         f = min( 4.0, 3.1 );
    35         printf( "minimum %g\n", f );
    36         double d;
    37         d = min( 4.0, 3.2 );
    38         printf( "minimum %g\n", d );
     12    char c;
     13//    c = min( 'z', 'a' );
     14//    printf( "minimum %d\n", c );
     15    int i;
     16    i = min( 4, 3 );
     17    printf( "minimum %d\n", min( 4, 3 ) );
     18    float f;
     19    f = min( 4.0, 3.1 );
     20    printf( "minimum %g\n", f );
     21    double d;
     22    d = min( 4.0, 3.2 );
     23    printf( "minimum %g\n", d );
    3924}
    4025
    4126// Local Variables: //
    42 // tab-width: 4 //
    43 // compile-command: "cfa min.c" //
     27// compile-command: "../../bin/cfa min.c" //
    4428// End: //
  • src/examples/new.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // new.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:23:55 2015
    13 // Update Count     : 1
    14 //
    15 
    161forall( type T )
    172void f( T *t ) {
    18         t--;
    19         *t;
    20         ++t;
    21         t += 2;
    22         t + 2;
    23         --t;
    24         t -= 2;
    25         t - 4;
    26         t[7];
    27         7[t];
     3    t--;
     4    *t;
     5    ++t;
     6    t += 2;
     7    t + 2;
     8    --t;
     9    t -= 2;
     10    t - 4;
     11    t[7];
     12    7[t];
    2813}
    29 
    30 // Local Variables: //
    31 // tab-width: 4 //
    32 // compile-command: "cfa new.c" //
    33 // End: //
  • src/examples/prolog.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // prolog.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:25:52 2015
    13 // Update Count     : 1
    14 //
     1// "./cfa prolog.c"
    152
    163extern "C" { extern int printf( const char *fmt, ... ); }
     
    2613
    2714context ArithmeticType( type T ) {
    28         void is_arithmetic( T );
     15    void is_arithmetic( T );
    2916};
    3017
    3118context IntegralType( type T | ArithmeticType( T ) ) {
    32         void is_integer( T );
     19    void is_integer( T );
    3320};
    3421
    3522forall( type T | IntegralType( T ) | { void printResult( T ); } )
    3623void hornclause( T param ) {
    37         printResult( param );
     24    printResult( param );
    3825}
    3926
    4027int main() {
    41         int x;
    42         double x;
    43         char * x;
    44         hornclause( x );
     28    int x;
     29    double x;
     30    char * x;
     31    hornclause( x );
    4532}
    46 
    47 // Local Variables: //
    48 // tab-width: 4 //
    49 // compile-command: "cfa prolog.c" //
    50 // End: //
  • src/examples/quad.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // quad.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:26:36 2015
    13 // Update Count     : 2
    14 //
    15 
    161extern "C" {
    17 #include <stdio.h>
     2    #include <stdio.h>
    183}
    194
    205forall( type T | { T ?*?( T, T ); } )
    216T square( T t ) {
    22         return t * t;
     7    return t * t;
    238}
    249
    2510forall( type U | { U square( U ); } )
    2611U quad( U u ) {
    27         return square( square( u ) );
     12    return square( square( u ) );
    2813}
    2914
    3015int main() {
    31         int N = 2;
    32         printf( "result of quad of %d is %d\n", N, quad( N ) );
     16    int N = 2;
     17    printf( "result of quad of %d is %d\n", N, quad( N ) );
    3318}
    3419
    3520// Local Variables: //
    36 // tab-width: 4 //
    37 // compile-command: "cfa quad.c" //
     21// compile-command: "../../bin/cfa quad.c" //
    3822// End: //
  • src/examples/quoted_keyword.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // quoted_keyword.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:27:26 2015
    13 // Update Count     : 2
    14 //
    15 
    161// test quoted keyword usage
    172int `catch`;
    183
    194struct {
    20         int `type`;
    21         int `struct`;
     5    int `type`;
     6    int `struct`;
    227} st;
    238
     
    2611
    2712int foo() {
    28         int w = `catch` + st.`type` + st.`struct` + `throw`;
     13    int w = `catch` + st.`type` + st.`struct` + `throw`;
    2914}
    3015
     
    3217
    3318// Local Variables: //
    34 // tab-width: 4 //
    35 // compile-command: "cfa quoted_keyword.c" //
     19// compile-command: "../../bin/cfa quoted_keyword.c" //
    3620// End: //
  • src/examples/s.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // s.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:42:39 2015
    13 // Update Count     : 2
    14 //
    15 
    161//int ?!=?( int, int );
    172
    183void f() {
    19 //      int a;
    20 //      a ? 4 : 5;
    21         1 ? 4 : 5;
    22         0 ? 4 : 5;
     4//    int a;
     5//    a ? 4 : 5;
     6    1 ? 4 : 5;
     7    0 ? 4 : 5;
    238}
    24 
    25 // Local Variables: //
    26 // tab-width: 4 //
    27 // compile-command: "cfa s.c" //
    28 // End: //
  • src/examples/simple.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // simple.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:30:27 2015
    13 // Update Count     : 3
    14 //
     1// './cfa square.c'
    152
    163extern "C" {
    17         int printf( const char *fmt, ... );
     4    int printf( const char *fmt, ... );
    185}
    196
    207context has_star( type T ) {
    21         T ?*?( T, T );
     8    T ?*?( T, T );
    229};
    2310
    2411int ?*?( int, int );
    25 int ?=?( int *, int );
     12int ?=?( int*, int );
    2613
    2714forall( type T | has_star( T ) )
    2815T square( T t ) {
    29         return t * t;
     16    return t * t;
    3017}
    3118
    3219int main() {
    33         printf( "result of square of 5 is %d\n", square( 5 ) );
     20    printf( "result of square of 5 is %d\n", square( 5 ) );
    3421}
    35 
    36 // Local Variables: //
    37 // tab-width: 4 //
    38 // compile-command: "cfa simple.c" //
    39 // End: //
  • src/examples/simplePoly.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // simplePoly.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:31:17 2015
    13 // Update Count     : 2
    14 //
     1// './cfa-cpp -nc < simplePoly.c'
    152
    163forall( type T, type U | { T f( T, U ); } )
    17 T q( T t, U u ) {
    18         return f( t, u );
     4T q( T t, U u )
     5{
     6    return f( t, u );
    197//  return t;
    208}
     
    2311
    2412void g( void ) {
    25         int y;
    26         double x;
     13    int y;
     14    double x;
    2715//  if ( y )
    28         q( 3, &x );
     16    q( 3, &x );
    2917}
    30 
    31 // Local Variables: //
    32 // tab-width: 4 //
    33 // compile-command: "cfa simplePoly.c" //
    34 // End: //
  • src/examples/simpler.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // simpler.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:31:48 2015
    13 // Update Count     : 1
    14 //
     1// "./cfa-cpp -c simpler.c"
    152
    163forall( type T ) T id( T, T );
    174
    185int main() {
    19         id( 0, 7 );
     6    id( 0, 7 );
    207}
    21 
    22 // Local Variables: //
    23 // tab-width: 4 //
    24 // compile-command: "cfa simpler.c" //
    25 // End: //
  • src/examples/specialize.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // specialize.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:32:26 2015
    13 // Update Count     : 2
    14 //
     1// "./cfa specialize.c"
     2// "./cfa -g simple.c"
     3// "./cfa -CFA simple.c > simple_out.c"
    154
    165/// void f( const int * );
     
    3625
    3726extern "C" {
    38         int printf( const char*, ... );
     27  int printf( const char*, ... );
    3928}
    4029
    4130forall( type T ) T f( T t )
    4231{
    43         printf( "in f; sizeof T is %d\n", sizeof( T ) );
    44         return t;
     32  printf( "in f; sizeof T is %d\n", sizeof( T ) );
     33  return t;
    4534}
    4635
    4736void g( int (*p)(int) )
    4837{
    49         printf( "g: f(7) returned %d\n", f(7) );
     38  printf( "g: f(7) returned %d\n", f(7) );
    5039}
    5140
    5241int main() {
    53         g( f );
     42  g( f );
    5443}
    55 
    56 // Local Variables: //
    57 // tab-width: 4 //
    58 // compile-command: "cfa specialize.c" //
    59 // End: //
  • src/examples/square.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // square.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:43:34 2015
    13 // Update Count     : 2
    14 //
    15 
    161extern "C" {
    172#include <stdio.h>
    183}
    194
    20 forall( type T | { T ?*?( T, T ); } )
     5forall( type T | { T ?*?( T, T ); })
    216T square( T t ) {
    22         return t * t;
     7    return t * t;
    238}
    249
    25 //char ?*?( char a1, char a2 ) {
    26 //      return (char)( (int)a1 * (int)a2 );
    27 //}
    28 
    2910int main() {
    30         char c = 5;
    31         short int s = 5;
    32         int i = 5;
    33         float f = 5.0;
    34         double d = 5.0;
    35 //      printf( "result of square of 5 is %d\n", (char)square( c ) );
    36         printf( "result of square of 5 is %d\n", square( s ) );
    37         printf( "result of square of 5 is %d\n", square( i ) );
    38         printf( "result of square of 5 is %f\n", square( f ) );
    39         printf( "result of square of 5 is %f\n", square( d ) );
     11    printf( "result of square of 5 is %d\n", square( 5 ) );
     12    printf( "result of square of 5 is %f\n", square( 5.0 ) );
    4013}
    41 
    42 // Local Variables: //
    43 // tab-width: 4 //
    44 // compile-command: "cfa square.c" //
    45 // End: //
  • src/examples/sum.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // sum.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun  1 20:46:35 2015
    13 // Update Count     : 18
    14 //
    15 
    161extern "C" {
    17         int printf( const char *, ... );
     2    int printf( const char *, ... );
    183}
    194
    205context sumable( type T ) {
    21         const T 0;
    22         T ?+?( T, T );
    23         T ?++( T * );
    24         T ?+=?( T *, T );
     6    const T 0;
     7    T ?+?( T, T );
     8    T ?++( T * );
     9    T ?+=?( T *, T );
    2510};
    2611
    2712forall( type T | sumable( T ) )
    2813T sum( int n, T a[] ) {
    29         T total;                                                                                        // instantiate T, select 0
    30         total = 0;
    31         for ( int i = 0; i < n; i += 1 )
    32                 total = total + a[i];                                                   // select +
    33         return total;
     14    T total;                            // instantiate T, select 0
     15    total = 0;
     16    for ( int i = 0; i < n; i += 1 )
     17        total = total + a[i];           // select +
     18    return total;
    3419}
    3520
     
    4227
    4328int main() {
    44         const int low = 5, High = 15, size = High - low;
    45         int si = 0, ai[size];
    46         int v = low;
    47         for ( int i = 0; i < size; i += 1, v += 1 ) {
    48                 si += v;
    49                 ai[i] = v;
    50         }
    51         printf( "sum from %d to %d is %d, check %d\n",
    52                         low, High, sum( size, ai ), si );
     29    const int size = 10, low = 0, High = 10;
     30    int si = 0, ai[10]; // size
     31    int i;
     32    for ( i = low; i < High; i += 1 ) {
     33        si += i;
     34        ai[i] = i;
     35    }
     36    printf( "sum from %d to %d is %d, check %d\n",
     37            low, High, sum( size, ai ), si );
    5338
    54 //      char ci[size];
    55 //      char c = sum( size, ci );
    56 //      float fi[size];
    57 //      float f = sum( size, fi );
     39//    char ci[10];
     40//    char c = sum( size, ci );
     41//    float fi[10];
     42//    float f = sum( size, fi );
    5843
    59         double sd = 0.0, ad[size];
    60         double v = low / 10.0;
    61         for ( int i = 0; i < size; i += 1, v += 0.1 ) {
    62                 sd += v;
    63                 ad[i] = v;
    64         }
    65         printf( "sum from %g to %g is %g, check %g\n",
    66                         low / 10.0, High / 10.0, sum( size, ad ), sd );
     44    double sd = 0.0, ad[10]; // size
     45    for ( i = low; i < High; i += 1 ) {
     46        double d = i / (double)size;
     47        sd += d;
     48        ad[i] = d;
     49    }
     50    printf( "sum from %g to %g is %g, check %g\n",
     51            low / (double)size, High / (double)size, sum( size, ad ), sd );
    6752}
    6853
    6954// Local Variables: //
    70 // tab-width: 4 //
    71 // compile-command: "cfa sum.c" //
     55// compile-command: "../../bin/cfa sum.c" //
    7256// End: //
  • src/examples/swap.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // swap.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:34:47 2015
    13 // Update Count     : 1
    14 //
    15 
    161extern "C" {
    17         int printf( const char *, ... );
     2    int printf( const char *, ... );
    183}
    194
    205forall( type T )
    216void swap( T *left, T *right ) {
    22         T temp = *left;
    23         *left = *right;
    24         *right = temp;
     7    T temp = *left;
     8    *left = *right;
     9    *right = temp;
    2510}
    2611
    2712int main() {
    28         int x = 1, y = 2;
    29         printf( "%d %d\n", x, y );
    30         swap( &x, &y );
    31         printf( "%d %d\n", x, y );
     13    int x = 1, y = 2;
     14    printf( "%d %d\n", x, y );
     15    swap( &x, &y );
     16    printf( "%d %d\n", x, y );
    3217}
    3318
    3419// Local Variables: //
    35 // tab-width: 4 //
    36 // compile-command: "cfa swap.c" //
     20// compile-command: "../../bin/cfa swap.c" //
    3721// End: //
  • src/examples/twice.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // twice.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:37:23 2015
    13 // Update Count     : 1
    14 //
    15 
    161#include "fstream.h"
    172
    183forall( type T | { T ?+?( T, T ); T ?++( T * ); [T] ?+=?( T *, T ); } )
    194T twice( const T t ) {
    20         return t + t;
     5    return t + t;
    216}
    227
    238int main() {
    24         ofstream *sout = ofstream_stdout();
    25         sout << twice( 1 ) << ' ' << twice( 3.2 ) << '\n';
     9    ofstream *sout = ofstream_stdout();
     10    sout << twice( 1 ) << ' ' << twice( 3.2 ) << '\n';
    2611}
    2712
    2813// Local Variables: //
    29 // tab-width: 4 //
    30 // compile-command: "cfa twice.c fstream.o iostream.o" //
     14// compile-command: "../../bin/cfa twice.c fstream.o iostream.o" //
    3115// End: //
  • src/examples/vector_int.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // vector_int.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:38:05 2015
    13 // Update Count     : 3
    14 //
     1// "cfa vector_int.c"
    152
    163#include "vector_int.h"
     
    2310
    2411vector_int vector_int_allocate() {
    25         return vector_int_allocate( DEFAULT_CAPACITY );
     12    return vector_int_allocate( DEFAULT_CAPACITY );
    2613}
    2714
    2815vector_int vector_int_allocate( int reserve ) {
    29         vector_int new_vector;
    30         new_vector.last = -1;
    31         new_vector.capacity = reserve;
    32         new_vector.data = malloc( sizeof( int ) * reserve );
    33         return new_vector;
     16    vector_int new_vector;
     17    new_vector.last = -1;
     18    new_vector.capacity = reserve;
     19    new_vector.data = malloc( sizeof( int ) * reserve );
     20    return new_vector;
    3421}
    3522
    3623void vector_int_deallocate( vector_int vec ) {
    37         free( vec.data );
     24    free( vec.data );
    3825}
    3926
    4027void reserve( vector_int *vec, int reserve ) {
    41         if ( reserve > vec->capacity ) {
    42                 vec->data = realloc( vec->data, sizeof( int ) * reserve );
    43                 vec->capacity = reserve;
    44         }
     28    if ( reserve > vec->capacity ) {
     29        vec->data = realloc( vec->data, sizeof( int ) * reserve );
     30        vec->capacity = reserve;
     31    }
    4532}
    4633
    4734void append( vector_int *vec, int element ) {
    48         vec->last++;
    49         if ( vec->last == vec->capacity ) {
    50                 vec->capacity *= 2;
    51                 vec->data = realloc( vec->data, sizeof( int ) * vec->capacity );
    52         }
    53         vec->data[ vec->last ] = element;
     35    vec->last++;
     36    if ( vec->last == vec->capacity ) {
     37        vec->capacity *= 2;
     38        vec->data = realloc( vec->data, sizeof( int ) * vec->capacity );
     39    }
     40    vec->data[ vec->last ] = element;
    5441}
    5542
     
    5744
    5845lvalue int ?[?]( vector_int vec, int index ) {
    59         return vec.data[ index ];
     46    return vec.data[ index ];
    6047}
    6148
    6249int last( vector_int vec ) {
    63         return vec.last;
     50    return vec.last;
    6451}
    6552
    66 
    67 // Local Variables: //
    68 // tab-width: 4 //
    69 // compile-command: "cfa vector_int.c" //
    70 // End: //
  • src/examples/vector_int.h

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // vector_int.h --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:39:05 2015
    13 // Update Count     : 2
    14 //
    15 
    161#ifndef VECTOR_INT_H
    172#define VECTOR_INT_H
     
    205
    216typedef struct vector_int {
    22         int last;                                                                                       // last used index
    23         int capacity;                                                                           // last possible index before reallocation
    24         int *data;                                                                                      // array
     7    int last;                                           // last used index
     8    int capacity;                                       // last possible index before reallocation
     9    int *data;                                          // array
    2510} vector_int;
    2611
    27 vector_int vector_int_allocate();                                               // allocate vector with default capacity
    28 vector_int vector_int_allocate( int reserve );                  // allocate vector with specified capacity
    29 void vector_int_deallocate( vector_int );                               // deallocate vector's storage
     12vector_int vector_int_allocate();                       // allocate vector with default capacity
     13vector_int vector_int_allocate( int reserve );          // allocate vector with specified capacity
     14void vector_int_deallocate( vector_int );               // deallocate vector's storage
    3015
    31 void reserve( vector_int *vec, int reserve );                   // reserve more capacity
    32 void append( vector_int *vec, int element );                    // add element to end of vector, resizing as necessary
     16void reserve( vector_int *vec, int reserve );           // reserve more capacity
     17void append( vector_int *vec, int element );            // add element to end of vector, resizing as necessary
    3318
    3419// implement bounded_array
    3520
    36 lvalue int ?[?]( vector_int vec, int index );                   // access to arbitrary element (does not resize)
    37 int last( vector_int vec );                                                             // return last element
     21lvalue int ?[?]( vector_int vec, int index );           // access to arbitrary element (does not resize)
     22int last( vector_int vec );                             // return last element
    3823
    3924#endif // VECTOR_INT_H
    40 
    41 // Local Variables: //
    42 // tab-width: 4 //
    43 // compile-command: "cfa vector_int.c" //
    44 // End: //
  • src/examples/vector_test.c

    r937e51d reb50842  
    1 //
    2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
    3 //
    4 // The contents of this file are covered under the licence agreement in the
    5 // file "LICENCE" distributed with Cforall.
    6 //
    7 // vector_test.c --
    8 //
    9 // Author           : Richard C. Bilson
    10 // Created On       : Wed May 27 17:56:53 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May 27 18:42:55 2015
    13 // Update Count     : 2
    14 //
    15 
    161#include "fstream.h"
    172#include "vector_int.h"
     
    205
    216int main() {
    22         ofstream *sout = ofstream_stdout();
    23         ifstream *sin = ifstream_stdin();
    24         vector_int vec = vector_int_allocate();
     7    ofstream *sout = ofstream_stdout();
     8    ifstream *sin = ifstream_stdin();
     9    vector_int vec = vector_int_allocate();
    2510
    26         // read in numbers until EOF or error
    27         int num;
     11    // read in numbers until EOF or error
     12    int num;
    2813
    29         sout << "enter N elements and C-d on a separate line:\n";
    30         for ( ;; ) {
     14    sout << "enter N elements and C-d on a separate line:\n";
     15    for ( ;; ) {
    3116        sin >> &num;
    32           if ( fail( sin ) || eof( sin ) ) break;
     17      if ( fail( sin ) || eof( sin ) ) break;
    3318        append( &vec, num );
    34         }
    35         // write out the numbers
     19    }
     20    // write out the numbers
    3621
    37         sout << "Array elements:\n";
    38 //      write_all( begin( vec ), end( vec ), sout );
    39 //      sout << "\n";
    40         for ( int index = 0; index <= last( vec ); index += 1 ) {
     22    sout << "Array elements:\n";
     23//    write_all( begin( vec ), end( vec ), sout );
     24//    sout << "\n";
     25    for ( int index = 0; index <= last( vec ); index += 1 ) {
    4126        sout << vec[ index ] << " ";
    42         }
    43         sout << "\n";
     27    }
     28    sout << "\n";
    4429#if 1
    45         sout << "Array elements reversed:\n";
    46         write_reverse( begin( vec ), end( vec ), sout );
    47         sout << "\n";
     30    sout << "Array elements reversed:\n";
     31    write_reverse( begin( vec ), end( vec ), sout );
     32    sout << "\n";
    4833#endif
    4934}
    5035
    5136// ../bin/cfa vector_test.c fstream.o iostream.o vector_int.o iterator.o array.o
    52 
    53 // Local Variables: //
    54 // tab-width: 4 //
    55 // compile-command: "cfa vector_test.c fstream.o iostream.o vector_int.o iterator.o array.o" //
    56 // End: //
  • src/main.cc

    r937e51d reb50842  
    1010// Created On       : Fri May 15 23:12:02 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jun 22 17:02:11 2015
    13 // Update Count     : 73
     12// Last Modified On : Thu May 21 21:15:54 2015
     13// Update Count     : 9
    1414//
    1515
     
    5151using namespace std;
    5252
    53 #define OPTPRINT(x) \
    54         if ( errorp ) std::cerr << x << std::endl;
    55 
    56 void parse( FILE * input, LinkageSpec::Type t, bool shouldExit = false );
    57 
    5853bool
    5954        astp = false,
    60         bresolvep = false,
    6155        exprp = false,
    6256        expraltp = false,
    6357        grammarp = false,
    6458        libcfap = false,
    65         nopreludep = false,
    66         protop = false,
    67         parsep = false,
    6859        resolvep = false,                                                                       // used in AlternativeFinder
    6960        symtabp = false,
     61        parsep = false,
    7062        validp = false,
    71         errorp = false,
    72         codegenp = false;
    73 
    74 enum { Ast, Bresolver, Expr, ExprAlt, Grammar, LibCFA, Nopreamble, Parse, Prototypes, Resolver, Symbol, Validate, };
     63        preludep = true,
     64        protop = false,
     65        codegenp = false,
     66        errorp = false;
     67
     68enum { Ast, Expr, ExprAlt, Grammar, LibCFA, Nopreamble, Prototypes, Resolver, Symbol, Parse, };
    7569
    7670static struct option long_opts[] = {
    7771        { "ast", no_argument, 0, Ast },
    78         { "before-resolver", no_argument, 0, Bresolver },
    7972        { "expr", no_argument, 0, Expr },
    8073        { "expralt", no_argument, 0, ExprAlt },
     
    8275        { "libcfa", no_argument, 0, LibCFA },
    8376        { "nopreamble", no_argument, 0, Nopreamble },
    84         { "parse", no_argument, 0, Parse },
    8577        { "prototypes", no_argument, 0, Prototypes },
    8678        { "resolver", no_argument, 0, Resolver },
    8779        { "symbol", no_argument, 0, Symbol },
    88         { "validate", no_argument, 0, Validate },
     80        { "parse", no_argument, 0, Parse },
    8981        { 0, 0, 0, 0 }
    9082};
     
    9991       
    10092        int c;
    101         while ( (c = getopt_long( argc, argv, "abefglnpqrsvyzD:", long_opts, &long_index )) != -1 ) {
     93        while ( (c = getopt_long( argc, argv, "aefglnpqrsxyzD:", long_opts, &long_index )) != -1 ) {
    10294                switch ( c ) {
    10395                  case Ast:
     
    10597                        astp = true;
    10698                        break;
    107                   case Bresolver:
    108                   case 'b':                                                                             // print before resolver steps
    109                         bresolvep = true;
    110                         break;
    11199                  case Expr:
    112100                  case 'e':                                                                             // dump AST after expression analysis
     
    127115                  case Nopreamble:
    128116                  case 'n':                                                                             // do not read preamble
    129                         nopreludep = true;
     117                        preludep = false;
    130118                        break;
    131119                  case Prototypes:
     
    145133                        symtabp = true;
    146134                        break;
    147                   case 'v':                                                                             // dump AST after decl validation pass
     135                  case 'x':                                                                             // dump AST after decl validation pass
    148136                        validp = true;
    149137                        break;
     
    165153
    166154        try {
    167                 // choose to read the program from a file or stdin
    168155                if ( optind < argc ) {
    169156                        input = fopen( argv[ optind ], "r" );
     
    182169       
    183170                Parser::get_parser().set_debug( grammarp );
    184 
    185                 // read in the builtins and the prelude
    186                 if ( ! nopreludep ) {                                                   // include gcc builtins
    187                         FILE * builtins = fopen( CFA_LIBDIR "/builtins.cf", "r" );
     171       
     172                if ( preludep ) {                                                               // include gcc builtins
     173                        FILE *builtins = fopen( CFA_LIBDIR "/builtins.cf", "r" );
    188174                        if ( builtins == NULL ) {
    189                                 std::cerr << "Error: can't open builtins" << std::endl;
     175                                std::cout << "Error: can't open builtins" << std::endl;
    190176                                exit( 1 );
    191177                        } // if
    192 
    193                         parse( builtins, LinkageSpec::Compiler );
    194 
    195                         if ( ! libcfap ) {
    196                                 // read the prelude in, if we're not generating the cfa library
    197                                 FILE * prelude = fopen( CFA_LIBDIR "/prelude.cf", "r" );
    198                                 if ( prelude == NULL ) {
    199                                         std::cerr << "Error: can't open prelude" << std::endl;
    200                                         exit( 1 );
    201                                 } // if
    202                    
    203                     parse( prelude, LinkageSpec::Intrinsic );
    204                         } // if
    205                 } // if
    206 
     178         
     179                        Parser::get_parser().set_linkage( LinkageSpec::Compiler );
     180                        Parser::get_parser().parse( builtins );
     181       
     182                        if ( Parser::get_parser().get_parseStatus() != 0 ) {
     183                                return Parser::get_parser().get_parseStatus();
     184                        } // if
     185                        fclose( builtins );
     186
     187                        FILE *prelude;
     188                        if ( libcfap ) {                                                        // include cfa prelude
     189                                prelude = input;
     190                        } else {
     191                                prelude = fopen( CFA_LIBDIR "/prelude.cf", "r" );
     192                        } // if
     193                        if ( prelude == NULL ) {
     194                                std::cout << "Error: can't open prelude" << std::endl;
     195                                exit( 1 );
     196                        } // if
     197         
     198                        Parser::get_parser().set_linkage( LinkageSpec::Intrinsic );
     199                        Parser::get_parser().parse( prelude );
     200       
     201                        if ( Parser::get_parser().get_parseStatus() != 0 ) {
     202                                return Parser::get_parser().get_parseStatus();
     203                        } // if
     204                        fclose( prelude );
     205                } // if
     206       
    207207                if ( libcfap ) {
    208                         parse( input, LinkageSpec::Intrinsic );
    209                 } else {
    210                         parse( input, LinkageSpec::Cforall, grammarp );
    211                 }
     208                        std::list< Declaration* > translationUnit;
     209                        buildList( Parser::get_parser().get_parseTree(), translationUnit );
     210                        Parser::get_parser().freeTree();
     211                        SymTab::validate( translationUnit, false );
     212                        CodeGen::fixNames( translationUnit );
     213                        LibCfa::makeLibCfa( translationUnit );
     214                        ResolvExpr::resolve( translationUnit );
     215                        GenPoly::convertLvalue( translationUnit );
     216                        GenPoly::box( translationUnit );
     217                        CodeGen::generate( translationUnit, *output, true );
     218                        if ( output != &std::cout ) {
     219                                delete output;
     220                        } // if
     221                        return 0;
     222                } // if
     223       
     224                Parser::get_parser().set_linkage( LinkageSpec::Cforall );
     225 
     226                Parser::get_parser().parse( input );
     227                if ( grammarp || Parser::get_parser().get_parseStatus() != 0 ) {
     228                        return Parser::get_parser().get_parseStatus();
     229                } // if
     230                fclose( input );
    212231 
    213232                if ( parsep ) {
     
    225244                } // if
    226245
     246                if ( expraltp ) {
     247                        SymTab::validate( translationUnit, false );
     248                        ResolvExpr::AlternativePrinter printer( std::cout );
     249                        acceptAll( translationUnit, printer );
     250                        return 0;
     251                } // if
     252
     253                if ( symtabp ) {
     254                        SymTab::validate( translationUnit, true );
     255                        return 0;
     256                } // if
     257
     258                if ( validp ) {
     259                        SymTab::validate( translationUnit, false );
     260                        printAll( translationUnit, std::cout );
     261                        return 0;
     262                } // if
     263
     264                if ( exprp ) {
     265                        InitTweak::tweak( translationUnit );
     266                        SymTab::validate( translationUnit, false );
     267                        ControlStruct::mutate( translationUnit );
     268                        CodeGen::fixNames( translationUnit );
     269                        ResolvExpr::resolve( translationUnit );
     270                        printAll( translationUnit, std::cout );
     271                        return 0;
     272                } // if
     273
     274                if ( codegenp ) {
     275                        // print the tree right before code generation
     276                        cerr << "tweak" << endl;
     277                        InitTweak::tweak( translationUnit );
     278                        cerr << "validate" << endl;
     279                        SymTab::validate( translationUnit, false );
     280                        cerr << "mutate" << endl;
     281                        ControlStruct::mutate( translationUnit );
     282                        cerr << "fixNames" << endl;
     283                        CodeGen::fixNames( translationUnit );
     284                        cerr << "resolve" << endl;
     285                        ResolvExpr::resolve( translationUnit );
     286                        cerr << "copyParams" << endl;
     287                        GenPoly::copyParams( translationUnit );
     288                        cerr << "convertSpecializations" << endl;
     289                        GenPoly::convertSpecializations( translationUnit );
     290                        cerr << "convertLvalue" << endl;
     291                        GenPoly::convertLvalue( translationUnit );
     292                        cerr << "box" << endl;
     293                        GenPoly::box( translationUnit );
     294                        if ( errorp ) {
     295                                printAll( translationUnit, std::cout );
     296                        }
     297                        return 0;
     298                } // if
     299
    227300                // add the assignment statement after the
    228301                // initialization of a type parameter
    229                 OPTPRINT( "tweak" )
    230302                InitTweak::tweak( translationUnit );
    231                 OPTPRINT( "validate" )
    232                 SymTab::validate( translationUnit, symtabp );
    233                 if ( symtabp ) {
    234                         return 0;
    235                 } // if
    236 
    237                 if ( expraltp ) {
    238                         ResolvExpr::AlternativePrinter printer( std::cout );
    239                         acceptAll( translationUnit, printer );
    240                         return 0;
    241                 } // if
    242 
    243                 if ( validp ) {
    244                         printAll( translationUnit, std::cout );
    245                         return 0;
    246                 } // if
    247 
    248                 OPTPRINT( "mutate" )
     303
     304                //std::cerr << "before validate" << std::endl;
     305                SymTab::validate( translationUnit, false );
     306                //Try::visit( translationUnit );
     307                //Tuples::mutate( translationUnit );
     308                //InitTweak::mutate( translationUnit );
     309                //std::cerr << "before mutate" << std::endl;
    249310                ControlStruct::mutate( translationUnit );
    250                 OPTPRINT( "fixNames" )
     311                //std::cerr << "before fixNames" << std::endl;
    251312                CodeGen::fixNames( translationUnit );
    252 
    253                 if ( libcfap ) {
    254                         protop = true;
    255                         // generate the bodies of cfa library functions
    256                         LibCfa::makeLibCfa( translationUnit );
    257                 } // if
    258 
    259                 if ( bresolvep ) {
    260                         printAll( translationUnit, std::cout );
    261                         return 0;
    262                 } // if
    263 
    264                 OPTPRINT( "resolve" )
     313                //std::cerr << "before resolve" << std::endl;
    265314                ResolvExpr::resolve( translationUnit );
    266                 if ( exprp ) {
     315                //Tuples::checkFunctions( translationUnit );
     316                //        std::cerr << "Finished tuple checkfunctions" << std::endl;
     317                //printAll( translationUnit, std::cerr );
     318                //std::cerr << "before copyParams" << std::endl;
     319                GenPoly::copyParams( translationUnit );
     320                //std::cerr << "before convertSpecializations" << std::endl;
     321                GenPoly::convertSpecializations( translationUnit );
     322                //std::cerr << "before convertLvalue" << std::endl;
     323                GenPoly::convertLvalue( translationUnit );
     324                //std::cerr << "before box" << std::endl;
     325                GenPoly::box( translationUnit );
     326                //Tuples::mutate( translationUnit );
     327
     328                CodeGen::generate( translationUnit, *output, protop );
     329
     330                if ( output != &std::cout ) {
     331                        delete output;
     332                } // if
     333
     334        } catch ( SemanticError &e ) {
     335                if ( errorp ) {
    267336                        printAll( translationUnit, std::cout );
    268337                }
    269 
    270                 OPTPRINT( "copyParams" );
    271                 GenPoly::copyParams( translationUnit );
    272                 OPTPRINT( "convertSpecializations" )
    273                 GenPoly::convertSpecializations( translationUnit );             
    274                 OPTPRINT( "convertLvalue" )
    275                 GenPoly::convertLvalue( translationUnit );
    276                 OPTPRINT( "box" )
    277                 GenPoly::box( translationUnit );
    278 
    279     // print the tree right before code generation
    280                 if ( codegenp ) {
    281                         printAll( translationUnit, std::cout );
    282                         return 0;
    283                 } // if
    284 
    285                 CodeGen::generate( translationUnit, *output, protop );
    286 
    287                 if ( output != &std::cout ) {
    288                         delete output;
    289                 } // if
    290         } catch ( SemanticError &e ) {
    291                 if ( errorp ) {
    292                         printAll( translationUnit, std::cerr );
    293                 }
    294                 e.print( std::cerr );
     338                e.print( cout );
    295339                if ( output != &std::cout ) {
    296340                        delete output;
     
    315359} // main
    316360
    317 void parse( FILE * input, LinkageSpec::Type linkage, bool shouldExit ) {
    318         Parser::get_parser().set_linkage( linkage );
    319         Parser::get_parser().parse( input );
    320 
    321         fclose( input );
    322         if ( shouldExit || Parser::get_parser().get_parseStatus() != 0 ) {
    323                 exit( Parser::get_parser().get_parseStatus() );
    324         } // if
    325 }
    326 
    327361// Local Variables: //
    328362// tab-width: 4 //
Note: See TracChangeset for help on using the changeset viewer.