Changes in / [eb50842:937e51d]


Ignore:
Files:
425 added
179 deleted
122 edited

Legend:

Unmodified
Added
Removed
  • .gitignore

    reb50842 r937e51d  
    11# build files
    2 *.[ado]
     2*.[ao]
    33
    44# generated by configure
    5 Makefile
    6 aclocal.m4
    75autom4te.cache
    86config.h
     
    108config.log
    119stamp-h1
     10Makefile
    1211driver/Makefile
    1312libcfa/Makefile
     
    1514
    1615# build directories
     16.deps
     17.dirstamp
    1718bin
    1819lib
    1920
    2021# src executables, for lib and bin
    21 driver/cc1
    22 driver/cfa
     22src/driver/cc1
     23src/driver/cfa
    2324src/cfa-cpp
    24 libcfa/libcfa-prelude.c
     25src/libcfa/libcfa-prelude.c
    2526
    26 # generated by bison and lex from cfa.y and lex.l, respectively
    27 src/Parser/cfa.output
    28 src/Parser/cfa.tab.cc
    29 src/Parser/cfa.tab.h
    30 src/Parser/lex.yy.cc
     27# generated by bison and lex from cfa.yy and lex.ll, respectively
     28src/Parser/parser.output
  • INSTALL

    reb50842 r937e51d  
    33
    44Cforall is built using GNU Make and the GNU Autoconf system.  It also requires
    5 g++ version 3, bison and flex.  On systems where GNU Make is the default make
     5g++ version 4, 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.
     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.
    2121
    22 --with-backend-compiler=PROGRAM specifies the installed path of gcc 3.2.  It
    23 defaults to the first command named 'gcc' in the current PATH.
     22--with-backend-compiler=PROGRAM specifies the installed path of gcc.  It
     23  defaults 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

    reb50842 r937e51d  
    1 SUBDIRS = driver libcfa src
     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###############################################################################
    216
    3 # non-source files
    4 EXTRA_DIST = Docs
    5 
    6 BACKEND_CC = @BACKEND_CC@
     17AUTOMAKE_OPTIONS = foreign              # do not require all the GNU file names
     18SUBDIRS = src/driver src src/libcfa     # order important, src before libcfa because cfa-cpp used to build prelude
     19EXTRA_DIST = Docs                       # non-source files
     20BACKEND_CC = @BACKEND_CC@               # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command
  • Makefile.in

    reb50842 r937e51d  
    1515
    1616@SET_MAKE@
     17
     18######################## -*- Mode: Makefile-Automake -*- ######################
     19###############################################################################
    1720VPATH = @srcdir@
    1821pkgdatadir = $(datadir)/@PACKAGE@
     
    3538DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
    3639        $(srcdir)/Makefile.in $(srcdir)/config.h.in \
    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
     40        $(top_srcdir)/configure INSTALL automake/compile \
     41        automake/depcomp automake/install-sh automake/missing \
     42        automake/ylwrap
    4143ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
    42 am__aclocal_m4_deps = $(top_srcdir)/configure.in
     44am__aclocal_m4_deps = $(top_srcdir)/configure.ac
    4345am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
    4446        $(ACLOCAL_M4)
    4547am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
    4648 configure.lineno config.status.lineno
    47 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
     49mkinstalldirs = $(install_sh) -d
    4850CONFIG_HEADER = config.h
    49 CONFIG_CLEAN_FILES = src/Makefile driver/Makefile libcfa/Makefile \
    50         src/examples/Makefile
     51CONFIG_CLEAN_FILES =
    5152CONFIG_CLEAN_VPATH_FILES =
    5253SOURCES =
     
    108109distcleancheck_listfiles = find . -type f -print
    109110ACLOCAL = @ACLOCAL@
     111ALLOCA = @ALLOCA@
    110112AMTAR = @AMTAR@
    111113AUTOCONF = @AUTOCONF@
     
    113115AUTOMAKE = @AUTOMAKE@
    114116AWK = @AWK@
    115 BACKEND_CC = @BACKEND_CC@
     117BACKEND_CC = @BACKEND_CC@               # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command
    116118CC = @CC@
    117119CCDEPMODE = @CCDEPMODE@
     
    123125CPP = @CPP@
    124126CPPFLAGS = @CPPFLAGS@
    125 CPP_PATH = @CPP_PATH@
    126127CXX = @CXX@
    127128CXXDEPMODE = @CXXDEPMODE@
     
    149150LIBS = @LIBS@
    150151LTLIBOBJS = @LTLIBOBJS@
     152MAINT = @MAINT@
    151153MAKEINFO = @MAKEINFO@
    152154MKDIR_P = @MKDIR_P@
     
    160162PACKAGE_VERSION = @PACKAGE_VERSION@
    161163PATH_SEPARATOR = @PATH_SEPARATOR@
     164RANLIB = @RANLIB@
    162165SET_MAKE = @SET_MAKE@
    163166SHELL = @SHELL@
     
    199202pdfdir = @pdfdir@
    200203prefix = @prefix@
    201 preludedir = @preludedir@
    202204program_transform_name = @program_transform_name@
    203205psdir = @psdir@
     
    210212top_builddir = @top_builddir@
    211213top_srcdir = @top_srcdir@
    212 SUBDIRS = driver libcfa src
    213 
    214 # non-source files
    215 EXTRA_DIST = Docs
     214AUTOMAKE_OPTIONS = foreign              # do not require all the GNU file names
     215SUBDIRS = src/driver src src/libcfa     # order important, src before libcfa because cfa-cpp used to build prelude
     216EXTRA_DIST = Docs                       # non-source files
    216217all: config.h
    217218        $(MAKE) $(AM_MAKEFLAGS) all-recursive
     
    220221am--refresh: Makefile
    221222        @:
    222 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am  $(am__configure_deps)
     223$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
    223224        @for dep in $?; do \
    224225          case '$(am__configure_deps)' in \
     
    247248        $(SHELL) ./config.status --recheck
    248249
    249 $(top_srcdir)/configure: $(am__configure_deps)
     250$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
    250251        $(am__cd) $(srcdir) && $(AUTOCONF)
    251 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
     252$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
    252253        $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
    253254$(am__aclocal_m4_deps):
     
    260261        @rm -f stamp-h1
    261262        cd $(top_builddir) && $(SHELL) ./config.status config.h
    262 $(srcdir)/config.h.in: $(am__configure_deps)
     263$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
    263264        ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
    264265        rm -f stamp-h1
     
    267268distclean-hdr:
    268269        -rm -f config.h stamp-h1
    269 src/Makefile: $(top_builddir)/config.status $(top_srcdir)/src/Makefile.in
    270         cd $(top_builddir) && $(SHELL) ./config.status $@
    271 driver/Makefile: $(top_builddir)/config.status $(top_srcdir)/driver/Makefile.in
    272         cd $(top_builddir) && $(SHELL) ./config.status $@
    273 libcfa/Makefile: $(top_builddir)/config.status $(top_srcdir)/libcfa/Makefile.in
    274         cd $(top_builddir) && $(SHELL) ./config.status $@
    275 src/examples/Makefile: $(top_builddir)/config.status $(top_srcdir)/src/examples/Makefile.in
    276         cd $(top_builddir) && $(SHELL) ./config.status $@
    277270
    278271# This directory's subdirectories are mostly independent; you can cd
  • README

    reb50842 r937e51d  
    22======================================
    33
    4 This is a PRE-RELEASE version of cfa-cc.  It exists solely for the
    5 purpose of private experimentation and scholarly research.  The authors
    6 disclaim all responsibility for the consequences of any malfunction of
    7 the software, including the malfunction of any programs compiled using
    8 the software.
     4This is a PRE-RELEASE version of cfa-cc.  It exists solely for the purpose of
     5private experimentation and scholarly research.  The authors disclaim all
     6responsibility for the consequences of any malfunction of the software,
     7including the malfunction of any programs compiled using the software.
    98
    109What is Cforall?
    1110----------------
    12 Cforall is a language design extending ISO C. The purpose of the
    13 project is to engineer modern language features into C in an
    14 evolutionary rather than revolutionary way. Java is an example of the
    15 revolutionary approach of modernizing C/C++, resulting in a new
    16 language rather than an extension of its descendents. C++, Fortran 95
    17 and Cobol 9X are examples of the evolutionary approach where modern
    18 language features are added and problems fixed within the framework of
    19 an existing language.
     11Cforall is a language design extending ISO C. The purpose of the project is to
     12engineer modern language features into C in an evolutionary rather than
     13revolutionary way. Java is an example of the revolutionary approach of
     14modernizing C/C++, resulting in a new language rather than an extension of its
     15descendents. C++, Fortran 95 and Cobol 9X are examples of the evolutionary
     16approach where modern language features are added and problems fixed within the
     17framework of an existing language.
    2018
    21 The goal of this project is to produce a largely backwards compatible
    22 version of C containing many modern language features and fixing some
    23 of the well known C problems. Without continued development of the
    24 language, C will be unable to cope with the needs of modern programming
    25 problems and programmers; as a result, it will fade into disuse.
    26 Considering the large body of existing C code and programmers, there is
    27 a significant impetus to ensure C is transformed into a modern
    28 programming language.
     19The goal of this project is to produce a largely backwards compatible version
     20of C containing many modern language features and fixing some of the well known
     21C problems. Without continued development of the language, C will be unable to
     22cope with the needs of modern programming problems and programmers; as a
     23result, it will fade into disuse.  Considering the large body of existing C
     24code and programmers, there is a significant impetus to ensure C is transformed
     25into a modern programming language.
    2926
    3027What is cfa-cc?
    3128---------------
    32 cfa-cc is a collection of programs centred around a translator that
    33 takes Cforall code as input and outputs corresponding C code.  This
    34 is complemented by a compiler driver in the style of "gcc", which
    35 handles preprocessing, compiling, assembling, and linking and invokes
    36 the translator at appropriate moments.
     29cfa-cc is a collection of programs centred around a translator that takes
     30Cforall code as input and outputs corresponding C code.  This is complemented
     31by a compiler driver in the style of "gcc", which handles preprocessing,
     32compiling, assembling, and linking and invokes the translator at appropriate
     33moments.
    3734
    3835What is required in order to use cfa-cc?
    3936----------------------------------------
    40 Building cfa-cc requires GNU Make and gcc/g++ 3.  cfa-cc is written in
    41 C++.
     37Building cfa-cc requires GNU Make and gcc/g++ 4.  cfa-cc is written in C++.
    4238
    43 The compiler driver uses an installed version of gcc to handle all
    44 aspects of the compilation process except for the Cforall->C translation.
    45 Currently, only gcc 3.2 is supported.
     39The compiler driver uses an installed version of gcc to handle all aspects of
     40the compilation process except for the Cforall->C translation.  Currently, only
     41gcc 4.x is supported.
    4642
    4743How is cfa-cc used?
    4844-------------------
    49 The compiler driver "cfa" accepts all of the arguments of gcc, and is
    50 used in the same way.  For example:
     45The compiler driver "cfa" accepts all of the arguments of gcc, and is used in
     46the same way.  For example:
    5147
    5248        cfa -c test.c
    5349        cfa test.o
    5450
    55 Cforall source files must end with '.c' in order to be compiled by the
    56 compiler driver.  In addition, the flag "-CFA" causes cfa to invoke the
    57 preprocessor and translator and send the translator output to standard
    58 output.
     51Cforall source files must end with '.c' in order to be compiled by the compiler
     52driver.  In addition, the flag "-CFA" causes cfa to invoke the preprocessor and
     53translator and send the translator output to standard output.
    5954
    60 In cases where the compiler driver is not useful (i.e., where gcc 3.2
    61 is not available), it is still possible to invoke the translator
    62 directly.  The translator is installed by default as
    63 /usr/local/lib/cfa-cpp.  A typical invocation is:
     55It is possible to invoke the translator directly.  The translator is installed
     56by default as /usr/local/lib/cfa-cpp.  A typical invocation is:
    6457
    6558        /usr/local/lib/cfa-cpp -cp infile outfile
    6659
    67 If outfile is omitted, output goes to standard output; if infile is
    68 also omitted, input comes from standard input.  Options to the
    69 translator other than "-cp" will not produce valid C code and are only
    70 useful for debugging the translator.
     60If outfile is omitted, output goes to standard output; if infile is also
     61omitted, 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
     63translator.
    7164
    7265How can C code be used with cfa-cc?
    7366-----------------------------------
    74 cfa-cc should be able to compile most ANSI C programs.  It is also
    75 possible to link against C libraries in most cases.  Since Cforall
    76 supports overloading, however, names used in Cforall code are
    77 mangled in the output C code.  This will cause linker failures when
    78 the names refer to functions and objects in code compiled with
    79 a standard C compiler.  For this reason, it is necessary to enclose
    80 the declarations of these functions and objects in extern "C" {}
     67cfa-cc should be able to compile most ANSI C programs.  It is also possible to
     68link against C libraries in most cases.  Since Cforall supports overloading,
     69however, names used in Cforall code are mangled in the output C code.  This
     70caused linker failures when the names refer to functions and objects in code
     71compiled with a standard C compiler.  For this reason, it is necessary to
     72enclose the declarations of these functions and objects in extern "C" {}
    8173blocks.  For example:
    8274
     
    8779
    8880The extern "C" turns off name mangling for functions and objects declared
    89 within the block.  As a result, it is not possible to overload their
    90 names.
    91 
    92 It is our intention to have a transparent solution to this problem
    93 in place for our first official release.
     81within the block.  As a result, it is not possible to overload their names.
    9482
    9583What's wrong with cfa-cc?
    9684-------------------------
    97 The authors consider this software to be in an unstable state.  It is
    98 quite likely that there are many reasonable programs that will fail
    99 to compile.  We encourage users to report their experiences to
    100 cforall@plg.uwaterloo.ca, but we make no promises regarding support.
    10185
    102 We have fixed most of the problems that we are aware of.  There are
    103 some exceptions:
     86The authors consider this software to be in an unstable state.  It is quite
     87likely that there are many reasonable programs that will fail to compile.  We
     88encourage users to report their experiences to cforall@plg.uwaterloo.ca, but we
     89make no promises regarding support.
    10490
    105         - initializers are poorly implemented; in particular,
    106         file-scope initializers may result in the generation of invalid
    107         C code
     91We have fixed most of the problems that we are aware of.  There are some
     92exceptions:
    10893
    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)
     94- initializers are poorly implemented; in particular, file-scope initializers
     95  may result in the generation of invalid C code
    11696
    117         - abstract types introduced using the keyword 'type' are not
    118         implemented (although 'type' can be used to introduce type
    119         parameters)
     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
    12099
    121         - the implicit coercion of structure types to the type of their
    122         first member is not implemented
     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
    123109       
    124110Who is responsible for cfa-cc?
  • aclocal.m4

    reb50842 r937e51d  
    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.
    429 AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
    430 
    431419# Do all the work for Automake.                             -*- Autoconf -*-
    432420
     
    613601AC_SUBST([am__leading_dot])])
    614602
    615 # Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005
    616 # Free Software Foundation, Inc.
     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.
    617608#
    618609# This file is free software; the Free Software Foundation
     
    622613# serial 5
    623614
    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.
    628 AC_DEFUN([AM_PROG_LEX],
    629 [AC_PREREQ(2.50)dnl
    630 AC_REQUIRE([AM_MISSING_HAS_RUN])dnl
    631 AC_REQUIRE([AC_PROG_LEX])dnl
    632 if test "$LEX" = :; then
    633   LEX=${am_missing_run}flex
    634 fi])
     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.
     621AC_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])])
     627AC_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
     641AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
    635642
    636643# Check to see how 'make' treats includes.                  -*- Autoconf -*-
     
    684691AC_MSG_RESULT([$_am_result])
    685692rm -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.
     707AC_DEFUN([AM_PROG_CC_C_O],
     708[AC_REQUIRE([AC_PROG_CC_C_O])dnl
     709AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
     710AC_REQUIRE_AUX_FILE([compile])dnl
     711# FIXME: we rely on the cache variable name because
     712# there is no other way.
     713set dummy $CC
     714am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
     715eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
     716if 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"
     723fi
     724dnl Make sure AC_PROG_CC is never called again, or it will override our
     725dnl setting of CC.
     726m4_define([AC_PROG_CC],
     727          [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
    686728])
    687729
  • config.h.in

    reb50842 r937e51d  
    1 /* config.h.in.  Generated from configure.in by autoheader.  */
     1/* config.h.in.  Generated from configure.ac by autoheader.  */
    22
    33/* Location of cfa command. */
     
    1313#undef CFA_PREFIX
    1414
    15 /* Path/name of cpp preprocessor. */
    16 #undef CPP_PATH
     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
    1722
    1823/* Path/name of C compiler. */
    1924#undef GCC_PATH
    2025
     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
    2139/* Define to 1 if you have the <inttypes.h> header file. */
    2240#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
    2347
    2448/* Define to 1 if you have the <malloc.h> header file. */
     
    2852#undef HAVE_MEMORY_H
    2953
     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
    3066/* Define to 1 if you have the <stdint.h> header file. */
    3167#undef HAVE_STDINT_H
     
    3470#undef HAVE_STDLIB_H
    3571
     72/* Define to 1 if you have the `strchr' function. */
     73#undef HAVE_STRCHR
     74
    3675/* Define to 1 if you have the <strings.h> header file. */
    3776#undef HAVE_STRINGS_H
     
    3978/* Define to 1 if you have the <string.h> header file. */
    4079#undef HAVE_STRING_H
     80
     81/* Define to 1 if you have the `strtol' function. */
     82#undef HAVE_STRTOL
    4183
    4284/* Define to 1 if you have the <sys/stat.h> header file. */
     
    4890/* Define to 1 if you have the <unistd.h> header file. */
    4991#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
    5098
    5199/* Name of package */
     
    70118#undef PACKAGE_VERSION
    71119
     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
    72128/* Define to 1 if you have the ANSI C header files. */
    73129#undef STDC_HEADERS
    74 
    75 /* Define to 1 if your <sys/time.h> declares `struct tm'. */
    76 #undef TM_IN_SYS_TIME
    77130
    78131/* Version number of package */
     
    83136#undef YYTEXT_POINTER
    84137
    85 /* Define to empty if `const' does not conform to ANSI C. */
    86 #undef const
     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
    87147
    88148/* Define to `__inline__' or `__inline' if that's what the C compiler
     
    91151#undef inline
    92152#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

    reb50842 r937e51d  
    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.
     3# Generated by GNU Autoconf 2.68 for cfa-cc 1.0.0.
    44#
    55# Report bugs to <cforall@plg.uwaterloo.ca>.
     
    561561PACKAGE_NAME='cfa-cc'
    562562PACKAGE_TARNAME='cfa-cc'
    563 PACKAGE_VERSION='1.0'
    564 PACKAGE_STRING='cfa-cc 1.0'
     563PACKAGE_VERSION='1.0.0'
     564PACKAGE_STRING='cfa-cc 1.0.0'
    565565PACKAGE_BUGREPORT='cforall@plg.uwaterloo.ca'
    566566PACKAGE_URL=''
     
    607607LTLIBOBJS
    608608LIBOBJS
    609 CFA_LIBDIR
    610 CFA_BINDIR
    611 CFA_INCDIR
    612 CFA_PREFIX
    613 CPP_PATH
    614 BACKEND_CC
    615 GCC_PATH
    616 preludedir
     609ALLOCA
    617610EGREP
    618611GREP
    619612CPP
     613RANLIB
    620614LEXLIB
    621615LEX_OUTPUT_ROOT
    622616LEX
     617YFLAGS
     618YACC
    623619am__fastdepCC_FALSE
    624620am__fastdepCC_TRUE
     
    644640CXXFLAGS
    645641CXX
    646 YFLAGS
    647 YACC
     642CFA_LIBDIR
     643CFA_BINDIR
     644CFA_INCDIR
     645CFA_PREFIX
     646BACKEND_CC
     647GCC_PATH
     648MAINT
     649MAINTAINER_MODE_FALSE
     650MAINTAINER_MODE_TRUE
    648651am__untar
    649652am__tar
     
    710713ac_user_opts='
    711714enable_option_checking
     715enable_maintainer_mode
     716with_backend_compiler
    712717enable_dependency_tracking
    713 with_preludedir
    714 with_backend_compiler
    715718'
    716719      ac_precious_vars='build_alias
    717720host_alias
    718721target_alias
    719 YACC
    720 YFLAGS
    721722CXX
    722723CXXFLAGS
     
    727728CC
    728729CFLAGS
     730YACC
     731YFLAGS
    729732CPP'
    730733
     
    12701273  # This message is too long to be a string in the A/UX 3.1 sh.
    12711274  cat <<_ACEOF
    1272 \`configure' configures cfa-cc 1.0 to adapt to many kinds of systems.
     1275\`configure' configures cfa-cc 1.0.0 to adapt to many kinds of systems.
    12731276
    12741277Usage: $0 [OPTION]... [VAR=VALUE]...
     
    13361339if test -n "$ac_init_help"; then
    13371340  case $ac_init_help in
    1338      short | recursive ) echo "Configuration of cfa-cc 1.0:";;
     1341     short | recursive ) echo "Configuration of cfa-cc 1.0.0:";;
    13391342   esac
    13401343  cat <<\_ACEOF
     
    13441347  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
    13451348  --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
    13461351  --disable-dependency-tracking  speeds up one-time build
    13471352  --enable-dependency-tracking   do not reject slow dependency extractors
     
    13501355  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
    13511356  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
    1352   --with-preludedir=DIR      DIR that contains prelude.cf and other necessary files
    13531357  --with-backend-compiler=PROGRAM     PROGRAM that performs the final code compilation (must be gcc-compatible)
    13541358
    13551359Some 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.
    13621360  CXX         C++ compiler command
    13631361  CXXFLAGS    C++ compiler flags
     
    13691367  CC          C compiler command
    13701368  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.
    13711375  CPP         C preprocessor
    13721376
     
    14371441if $ac_init_version; then
    14381442  cat <<\_ACEOF
    1439 cfa-cc configure 1.0
     1443cfa-cc configure 1.0.0
    14401444generated by GNU Autoconf 2.68
    14411445
     
    15731577} # ac_fn_c_try_link
    15741578
     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.
     1583ac_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; }
     1588if eval \${$3+:} false; then :
     1589  $as_echo_n "(cached) " >&6
     1590else
     1591  eval "$3=no"
     1592  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     1593/* end confdefs.h.  */
     1594$4
     1595int
     1596main ()
     1597{
     1598if (sizeof ($2))
     1599         return 0;
     1600  ;
     1601  return 0;
     1602}
     1603_ACEOF
     1604if ac_fn_c_try_compile "$LINENO"; then :
     1605  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     1606/* end confdefs.h.  */
     1607$4
     1608int
     1609main ()
     1610{
     1611if (sizeof (($2)))
     1612            return 0;
     1613  ;
     1614  return 0;
     1615}
     1616_ACEOF
     1617if ac_fn_c_try_compile "$LINENO"; then :
     1618
     1619else
     1620  eval "$3=yes"
     1621fi
     1622rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     1623fi
     1624rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     1625fi
     1626eval 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
    15751633# ac_fn_c_try_cpp LINENO
    15761634# ----------------------
     
    16091667
    16101668} # ac_fn_c_try_cpp
     1669
     1670# ac_fn_c_try_run LINENO
     1671# ----------------------
     1672# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
     1673# that executables *can* be run.
     1674ac_fn_c_try_run ()
     1675{
     1676  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     1677  if { { ac_try="$ac_link"
     1678case "(($ac_try" in
     1679  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
     1680  *) ac_try_echo=$ac_try;;
     1681esac
     1682eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
     1683$as_echo "$ac_try_echo"; } >&5
     1684  (eval "$ac_link") 2>&5
     1685  ac_status=$?
     1686  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     1687  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
     1688  { { case "(($ac_try" in
     1689  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
     1690  *) ac_try_echo=$ac_try;;
     1691esac
     1692eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
     1693$as_echo "$ac_try_echo"; } >&5
     1694  (eval "$ac_try") 2>&5
     1695  ac_status=$?
     1696  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
     1697  test $ac_status = 0; }; }; then :
     1698  ac_retval=0
     1699else
     1700  $as_echo "$as_me: program exited with status $ac_status" >&5
     1701       $as_echo "$as_me: failed program was:" >&5
     1702sed 's/^/| /' conftest.$ac_ext >&5
     1703
     1704       ac_retval=$ac_status
     1705fi
     1706  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
     1707  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
     1708  as_fn_set_status $ac_retval
     1709
     1710} # ac_fn_c_try_run
     1711
     1712# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
     1713# -------------------------------------------------------
     1714# Tests whether HEADER exists and can be compiled using the include files in
     1715# INCLUDES, setting the cache variable VAR accordingly.
     1716ac_fn_c_check_header_compile ()
     1717{
     1718  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
     1719  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
     1720$as_echo_n "checking for $2... " >&6; }
     1721if eval \${$3+:} false; then :
     1722  $as_echo_n "(cached) " >&6
     1723else
     1724  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     1725/* end confdefs.h.  */
     1726$4
     1727#include <$2>
     1728_ACEOF
     1729if ac_fn_c_try_compile "$LINENO"; then :
     1730  eval "$3=yes"
     1731else
     1732  eval "$3=no"
     1733fi
     1734rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     1735fi
     1736eval ac_res=\$$3
     1737               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
     1738$as_echo "$ac_res" >&6; }
     1739  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
     1740
     1741} # 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
     1746ac_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; }
     1751if eval \${$3+:} false; then :
     1752  $as_echo_n "(cached) " >&6
     1753else
     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
     1777extern "C"
     1778#endif
     1779char $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
     1784choke me
     1785#endif
     1786
     1787int
     1788main ()
     1789{
     1790return $2 ();
     1791  ;
     1792  return 0;
     1793}
     1794_ACEOF
     1795if ac_fn_c_try_link "$LINENO"; then :
     1796  eval "$3=yes"
     1797else
     1798  eval "$3=no"
     1799fi
     1800rm -f core conftest.err conftest.$ac_objext \
     1801    conftest$ac_exeext conftest.$ac_ext
     1802fi
     1803eval 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
    16111809
    16121810# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
     
    17011899} # ac_fn_c_check_header_mongrel
    17021900
    1703 # ac_fn_c_try_run LINENO
    1704 # ----------------------
    1705 # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
    1706 # that executables *can* be run.
    1707 ac_fn_c_try_run ()
     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.
     1905ac_fn_c_find_intX_t ()
    17081906{
    17091907  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    1710   if { { ac_try="$ac_link"
    1711 case "(($ac_try" in
    1712   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
    1713   *) ac_try_echo=$ac_try;;
    1714 esac
    1715 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
    1716 $as_echo "$ac_try_echo"; } >&5
    1717   (eval "$ac_link") 2>&5
    1718   ac_status=$?
    1719   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    1720   test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
    1721   { { case "(($ac_try" in
    1722   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
    1723   *) ac_try_echo=$ac_try;;
    1724 esac
    1725 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
    1726 $as_echo "$ac_try_echo"; } >&5
    1727   (eval "$ac_try") 2>&5
    1728   ac_status=$?
    1729   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    1730   test $ac_status = 0; }; }; then :
    1731   ac_retval=0
    1732 else
    1733   $as_echo "$as_me: program exited with status $ac_status" >&5
    1734        $as_echo "$as_me: failed program was:" >&5
    1735 sed 's/^/| /' conftest.$ac_ext >&5
    1736 
    1737        ac_retval=$ac_status
    1738 fi
    1739   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
    1740   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
    1741   as_fn_set_status $ac_retval
    1742 
    1743 } # ac_fn_c_try_run
    1744 
    1745 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
    1746 # -------------------------------------------------------
    1747 # Tests whether HEADER exists and can be compiled using the include files in
    1748 # INCLUDES, setting the cache variable VAR accordingly.
    1749 ac_fn_c_check_header_compile ()
    1750 {
    1751   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    1752   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
    1753 $as_echo_n "checking for $2... " >&6; }
     1908  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for int$2_t" >&5
     1909$as_echo_n "checking for int$2_t... " >&6; }
    17541910if eval \${$3+:} false; then :
    17551911  $as_echo_n "(cached) " >&6
    17561912else
     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 };
     1922int
     1923main ()
     1924{
     1925static int test_array [1 - 2 * !(0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))];
     1926test_array [0] = 0
     1927
     1928  ;
     1929  return 0;
     1930}
     1931_ACEOF
     1932if ac_fn_c_try_compile "$LINENO"; then :
    17571933  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    17581934/* end confdefs.h.  */
    1759 $4
    1760 #include <$2>
     1935$ac_includes_default
     1936                enum { N = $2 / 2 - 1 };
     1937int
     1938main ()
     1939{
     1940static 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))];
     1942test_array [0] = 0
     1943
     1944  ;
     1945  return 0;
     1946}
    17611947_ACEOF
    17621948if ac_fn_c_try_compile "$LINENO"; then :
    1763   eval "$3=yes"
    1764 else
    1765   eval "$3=no"
     1949
     1950else
     1951  case $ac_type in #(
     1952  int$2_t) :
     1953    eval "$3=yes" ;; #(
     1954  *) :
     1955    eval "$3=\$ac_type" ;;
     1956esac
    17661957fi
    17671958rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     1959fi
     1960rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     1961       if eval test \"x\$"$3"\" = x"no"; then :
     1962
     1963else
     1964  break
     1965fi
     1966     done
    17681967fi
    17691968eval ac_res=\$$3
     
    17721971  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
    17731972
    1774 } # ac_fn_c_check_header_compile
     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.
     1979ac_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; }
     1984if eval \${$3+:} false; then :
     1985  $as_echo_n "(cached) " >&6
     1986else
     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
     1995int
     1996main ()
     1997{
     1998static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)];
     1999test_array [0] = 0
     2000
     2001  ;
     2002  return 0;
     2003}
     2004_ACEOF
     2005if 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" ;;
     2011esac
     2012fi
     2013rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     2014       if eval test \"x\$"$3"\" = x"no"; then :
     2015
     2016else
     2017  break
     2018fi
     2019     done
     2020fi
     2021eval 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
    17752027cat >config.log <<_ACEOF
    17762028This file contains any messages produced by compilers while
    17772029running configure, to aid debugging if configure makes a mistake.
    17782030
    1779 It was created by cfa-cc $as_me 1.0, which was
     2031It was created by cfa-cc $as_me 1.0.0, which was
    17802032generated by GNU Autoconf 2.68.  Invocation command line was
    17812033
     
    21252377
    21262378
    2127 
    2128 
    2129 am__api_version='1.11'
    2130 
    21312379ac_aux_dir=
    2132 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
     2380for ac_dir in automake "$srcdir"/automake; do
    21332381  if test -f "$ac_dir/install-sh"; then
    21342382    ac_aux_dir=$ac_dir
     
    21462394done
    21472395if test -z "$ac_aux_dir"; then
    2148   as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
     2396  as_fn_error $? "cannot find install-sh, install.sh, or shtool in automake \"$srcdir\"/automake" "$LINENO" 5
    21492397fi
    21502398
     
    21572405ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
    21582406
     2407
     2408
     2409ac_config_headers="$ac_config_headers config.h"
     2410
     2411
     2412am__api_version='1.11'
    21592413
    21602414# Find a good install program.  We prefer a C program (faster),
     
    25942848# Define the identity of the package.
    25952849 PACKAGE='cfa-cc'
    2596  VERSION='1.0'
     2850 VERSION='1.0.0'
    25972851
    25982852
     
    26332887
    26342888
    2635                 # do not follow GNU standard
    2636 ac_config_headers="$ac_config_headers config.h"
    2637 
    2638 
    2639 for ac_prog in 'bison -y' byacc
    2640 do
    2641   # Extract the first word of "$ac_prog", so it can be a program name with args.
    2642 set dummy $ac_prog; ac_word=$2
     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.
     2894if test "${enable_maintainer_mode+set}" = set; then :
     2895  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
     2896else
     2897  USE_MAINTAINER_MODE=yes
     2898fi
     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='#'
     2905else
     2906  MAINTAINER_MODE_TRUE='#'
     2907  MAINTAINER_MODE_FALSE=
     2908fi
     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.
     2918if test "${with_backend_compiler+set}" = set; then :
     2919  withval=$with_backend_compiler; backcompiler=$withval
     2920else
     2921  backcompiler=""
     2922fi
     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.
     2932set dummy gcc; ac_word=$2
    26432933{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
    26442934$as_echo_n "checking for $ac_word... " >&6; }
    2645 if ${ac_cv_prog_YACC+:} false; then :
     2935if ${ac_cv_path_GCC_PATH+:} false; then :
    26462936  $as_echo_n "(cached) " >&6
    26472937else
    2648   if test -n "$YACC"; then
    2649   ac_cv_prog_YACC="$YACC" # Let the user override the test.
    2650 else
    2651 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     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
    26522944for as_dir in $PATH
    26532945do
     
    26562948    for ac_exec_ext in '' $ac_executable_extensions; do
    26572949  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
    2658     ac_cv_prog_YACC="$ac_prog"
     2950    ac_cv_path_GCC_PATH="$as_dir/$ac_word$ac_exec_ext"
    26592951    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
    26602952    break 2
     
    26642956IFS=$as_save_IFS
    26652957
    2666 fi
    2667 fi
    2668 YACC=$ac_cv_prog_YACC
    2669 if test -n "$YACC"; then
    2670   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5
    2671 $as_echo "$YACC" >&6; }
     2958  test -z "$ac_cv_path_GCC_PATH" && ac_cv_path_GCC_PATH="N/A"
     2959  ;;
     2960esac
     2961fi
     2962GCC_PATH=$ac_cv_path_GCC_PATH
     2963if test -n "$GCC_PATH"; then
     2964  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_PATH" >&5
     2965$as_echo "$GCC_PATH" >&6; }
    26722966else
    26732967  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     
    26762970
    26772971
    2678   test -n "$YACC" && break
    2679 done
    2680 test -n "$YACC" || YACC="yacc"
    2681 
     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
     2977cat >>confdefs.h <<_ACEOF
     2978#define GCC_PATH "${GCC_PATH}"
     2979_ACEOF
     2980
     2981        BACKEND_CC=${GCC_PATH}
     2982  fi
     2983
     2984
     2985if test "x$prefix" = "xNONE"; then
     2986        cfa_prefix=${ac_default_prefix}
     2987else
     2988        cfa_prefix=${prefix}
     2989fi
     2990
     2991cat >>confdefs.h <<_ACEOF
     2992#define CFA_PREFIX "${cfa_prefix}"
     2993_ACEOF
     2994
     2995CFA_PREFIX=${cfa_prefix}
     2996
     2997
     2998if test "$includedir" = '${prefix}/include'; then
     2999        cfa_incdir="${cfa_prefix}/include"
     3000else
     3001        cfa_incdir=${$includedir}
     3002fi
     3003
     3004cat >>confdefs.h <<_ACEOF
     3005#define CFA_INCDIR "${cfa_incdir}"
     3006_ACEOF
     3007
     3008CFA_INCDIR=${cfa_incdir}
     3009
     3010
     3011if test "$bindir" = '${exec_prefix}/bin'; then
     3012        cfa_bindir="${cfa_prefix}/bin"
     3013else
     3014        cfa_bindir=${bindir}
     3015fi
     3016
     3017cat >>confdefs.h <<_ACEOF
     3018#define CFA_BINDIR "${cfa_bindir}"
     3019_ACEOF
     3020
     3021CFA_BINDIR=${cfa_bindir}
     3022
     3023
     3024if test "$libdir" = '${exec_prefix}/lib'; then
     3025        cfa_libdir=${cfa_prefix}/lib
     3026else
     3027        cfa_libdir=${libdir}
     3028fi
     3029
     3030cat >>confdefs.h <<_ACEOF
     3031#define CFA_LIBDIR "${cfa_libdir}"
     3032_ACEOF
     3033
     3034CFA_LIBDIR=${cfa_libdir}
     3035
     3036
     3037# Checks for programs.
    26823038ac_ext=cpp
    26833039ac_cpp='$CXXCPP $CPPFLAGS'
     
    40454401fi
    40464402
    4047  # ???
     4403
     4404if 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; }
     4407else
     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; }
     4410fi
     4411set dummy $CC; ac_cc=`$as_echo "$2" |
     4412                      sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
     4413if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
     4414  $as_echo_n "(cached) " >&6
     4415else
     4416  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     4417/* end confdefs.h.  */
     4418
     4419int
     4420main ()
     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.
     4430ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
     4431rm -f conftest2.*
     4432if { { case "(($ac_try" in
     4433  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
     4434  *) ac_try_echo=$ac_try;;
     4435esac
     4436eval 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;;
     4445esac
     4446eval 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; };
     4452then
     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;;
     4460esac
     4461eval 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;;
     4472esac
     4473eval 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;;
     4482esac
     4483eval 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
     4498else
     4499  eval ac_cv_prog_cc_${ac_cc}_c_o=no
     4500fi
     4501rm -f core conftest*
     4502
     4503fi
     4504if 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; }
     4507else
     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
     4513fi
     4514
     4515# FIXME: we rely on the cache variable name because
     4516# there is no other way.
     4517set dummy $CC
     4518am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
     4519eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
     4520if 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"
     4527fi
     4528
     4529        # deprecated
     4530# These are often not installed and people miss seeing the "no", so stop the configure.
     4531for ac_prog in 'bison -y' byacc
     4532do
     4533  # Extract the first word of "$ac_prog", so it can be a program name with args.
     4534set 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; }
     4537if ${ac_cv_prog_YACC+:} false; then :
     4538  $as_echo_n "(cached) " >&6
     4539else
     4540  if test -n "$YACC"; then
     4541  ac_cv_prog_YACC="$YACC" # Let the user override the test.
     4542else
     4543as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     4544for as_dir in $PATH
     4545do
     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
     4554done
     4555  done
     4556IFS=$as_save_IFS
     4557
     4558fi
     4559fi
     4560YACC=$ac_cv_prog_YACC
     4561if test -n "$YACC"; then
     4562  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5
     4563$as_echo "$YACC" >&6; }
     4564else
     4565  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     4566$as_echo "no" >&6; }
     4567fi
     4568
     4569
     4570  test -n "$YACC" && break
     4571done
     4572test -n "$YACC" || YACC="yacc"
     4573
     4574if test "${YACC}" = "yacc" ; then echo "Error: bison required." ; exit 1 ; fi
    40484575
    40494576for ac_prog in flex lex
     
    42054732
    42064733fi
    4207 if test "$LEX" = :; then
    4208   LEX=${am_missing_run}flex
    4209 fi
     4734if test "${LEX}" = "lex" ; then echo "Error: flex required." ; exit 1 ; fi
     4735
    42104736{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
    42114737$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
     
    42394765fi
    42404766
    4241 
    4242 
    4243 
     4767if 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.
     4769set 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; }
     4772if ${ac_cv_prog_RANLIB+:} false; then :
     4773  $as_echo_n "(cached) " >&6
     4774else
     4775  if test -n "$RANLIB"; then
     4776  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
     4777else
     4778as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     4779for as_dir in $PATH
     4780do
     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
     4789done
     4790  done
     4791IFS=$as_save_IFS
     4792
     4793fi
     4794fi
     4795RANLIB=$ac_cv_prog_RANLIB
     4796if test -n "$RANLIB"; then
     4797  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
     4798$as_echo "$RANLIB" >&6; }
     4799else
     4800  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     4801$as_echo "no" >&6; }
     4802fi
     4803
     4804
     4805fi
     4806if 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.
     4809set 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; }
     4812if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
     4813  $as_echo_n "(cached) " >&6
     4814else
     4815  if test -n "$ac_ct_RANLIB"; then
     4816  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
     4817else
     4818as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     4819for as_dir in $PATH
     4820do
     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
     4829done
     4830  done
     4831IFS=$as_save_IFS
     4832
     4833fi
     4834fi
     4835ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
     4836if 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; }
     4839else
     4840  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
     4841$as_echo "no" >&6; }
     4842fi
     4843
     4844  if test "x$ac_ct_RANLIB" = x; then
     4845    RANLIB=":"
     4846  else
     4847    case $cross_compiling:$ac_tool_warned in
     4848yes:)
     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;}
     4851ac_tool_warned=yes ;;
     4852esac
     4853    RANLIB=$ac_ct_RANLIB
     4854  fi
     4855else
     4856  RANLIB="$ac_cv_prog_RANLIB"
     4857fi
     4858
     4859
     4860# Checks for libraries.
     4861
     4862# Checks for header files.
    42444863ac_ext=c
    42454864ac_cpp='$CPP $CPPFLAGS'
     
    46395258
    46405259
    4641 for ac_header in malloc.h unistd.h
     5260ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
     5261if test "x$ac_cv_type_size_t" = xyes; then :
     5262
     5263else
     5264
     5265cat >>confdefs.h <<_ACEOF
     5266#define size_t unsigned int
     5267_ACEOF
     5268
     5269fi
     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; }
     5275if ${ac_cv_working_alloca_h+:} false; then :
     5276  $as_echo_n "(cached) " >&6
     5277else
     5278  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     5279/* end confdefs.h.  */
     5280#include <alloca.h>
     5281int
     5282main ()
     5283{
     5284char *p = (char *) alloca (2 * sizeof (int));
     5285                          if (p) return 0;
     5286  ;
     5287  return 0;
     5288}
     5289_ACEOF
     5290if ac_fn_c_try_link "$LINENO"; then :
     5291  ac_cv_working_alloca_h=yes
     5292else
     5293  ac_cv_working_alloca_h=no
     5294fi
     5295rm -f core conftest.err conftest.$ac_objext \
     5296    conftest$ac_exeext conftest.$ac_ext
     5297fi
     5298{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
     5299$as_echo "$ac_cv_working_alloca_h" >&6; }
     5300if test $ac_cv_working_alloca_h = yes; then
     5301
     5302$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
     5303
     5304fi
     5305
     5306{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
     5307$as_echo_n "checking for alloca... " >&6; }
     5308if ${ac_cv_func_alloca_works+:} false; then :
     5309  $as_echo_n "(cached) " >&6
     5310else
     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 */
     5327void *alloca (size_t);
     5328#    endif
     5329#   endif
     5330#  endif
     5331# endif
     5332#endif
     5333
     5334int
     5335main ()
     5336{
     5337char *p = (char *) alloca (1);
     5338                                    if (p) return 0;
     5339  ;
     5340  return 0;
     5341}
     5342_ACEOF
     5343if ac_fn_c_try_link "$LINENO"; then :
     5344  ac_cv_func_alloca_works=yes
     5345else
     5346  ac_cv_func_alloca_works=no
     5347fi
     5348rm -f core conftest.err conftest.$ac_objext \
     5349    conftest$ac_exeext conftest.$ac_ext
     5350fi
     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
     5354if test $ac_cv_func_alloca_works = yes; then
     5355
     5356$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
     5357
     5358else
     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
     5364ALLOCA=\${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; }
     5371if ${ac_cv_os_cray+:} false; then :
     5372  $as_echo_n "(cached) " >&6
     5373else
     5374  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     5375/* end confdefs.h.  */
     5376#if defined CRAY && ! defined CRAY2
     5377webecray
     5378#else
     5379wenotbecray
     5380#endif
     5381
     5382_ACEOF
     5383if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
     5384  $EGREP "webecray" >/dev/null 2>&1; then :
     5385  ac_cv_os_cray=yes
     5386else
     5387  ac_cv_os_cray=no
     5388fi
     5389rm -f conftest*
     5390
     5391fi
     5392{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
     5393$as_echo "$ac_cv_os_cray" >&6; }
     5394if 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`
     5397ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
     5398if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
     5399
     5400cat >>confdefs.h <<_ACEOF
     5401#define CRAY_STACKSEG_END $ac_func
     5402_ACEOF
     5403
     5404    break
     5405fi
     5406
     5407  done
     5408fi
     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; }
     5412if ${ac_cv_c_stack_direction+:} false; then :
     5413  $as_echo_n "(cached) " >&6
     5414else
     5415  if test "$cross_compiling" = yes; then :
     5416  ac_cv_c_stack_direction=0
     5417else
     5418  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     5419/* end confdefs.h.  */
     5420$ac_includes_default
     5421int
     5422find_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
     5435int
     5436main ()
     5437{
     5438  return find_stack_direction () < 0;
     5439}
     5440_ACEOF
     5441if ac_fn_c_try_run "$LINENO"; then :
     5442  ac_cv_c_stack_direction=1
     5443else
     5444  ac_cv_c_stack_direction=-1
     5445fi
     5446rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     5447  conftest.$ac_objext conftest.beam conftest.$ac_ext
     5448fi
     5449
     5450fi
     5451{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
     5452$as_echo "$ac_cv_c_stack_direction" >&6; }
     5453cat >>confdefs.h <<_ACEOF
     5454#define STACK_DIRECTION $ac_cv_c_stack_direction
     5455_ACEOF
     5456
     5457
     5458fi
     5459
     5460for ac_header in fenv.h float.h inttypes.h libintl.h limits.h malloc.h stddef.h stdlib.h string.h unistd.h
    46425461do :
    46435462  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
     
    46535472
    46545473
    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; }
    4657 if ${ac_cv_c_const+:} false; then :
     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; }
     5477if ${ac_cv_header_stdbool_h+:} false; then :
    46585478  $as_echo_n "(cached) " >&6
    46595479else
    46605480  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
    46615481/* 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;
    46625526
    46635527int
    46645528main ()
    46655529{
    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
     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);
    47155537
    47165538  ;
     
    47195541_ACEOF
    47205542if ac_fn_c_try_compile "$LINENO"; then :
    4721   ac_cv_c_const=yes
    4722 else
    4723   ac_cv_c_const=no
     5543  ac_cv_header_stdbool_h=yes
     5544else
     5545  ac_cv_header_stdbool_h=no
    47245546fi
    47255547rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    47265548fi
    4727 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
    4728 $as_echo "$ac_cv_c_const" >&6; }
    4729 if test $ac_cv_c_const = no; then
    4730 
    4731 $as_echo "#define const /**/" >>confdefs.h
     5549{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
     5550$as_echo "$ac_cv_header_stdbool_h" >&6; }
     5551ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
     5552if test "x$ac_cv_type__Bool" = xyes; then :
     5553
     5554cat >>confdefs.h <<_ACEOF
     5555#define HAVE__BOOL 1
     5556_ACEOF
     5557
     5558
     5559fi
     5560
     5561if test $ac_cv_header_stdbool_h = yes; then
     5562
     5563$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h
    47325564
    47335565fi
     
    47755607esac
    47765608
    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; }
    4779 if ${ac_cv_struct_tm+:} false; then :
     5609ac_fn_c_find_intX_t "$LINENO" "16" "ac_cv_c_int16_t"
     5610case $ac_cv_c_int16_t in #(
     5611  no|yes) ;; #(
     5612  *)
     5613
     5614cat >>confdefs.h <<_ACEOF
     5615#define int16_t $ac_cv_c_int16_t
     5616_ACEOF
     5617;;
     5618esac
     5619
     5620ac_fn_c_find_intX_t "$LINENO" "32" "ac_cv_c_int32_t"
     5621case $ac_cv_c_int32_t in #(
     5622  no|yes) ;; #(
     5623  *)
     5624
     5625cat >>confdefs.h <<_ACEOF
     5626#define int32_t $ac_cv_c_int32_t
     5627_ACEOF
     5628;;
     5629esac
     5630
     5631ac_fn_c_find_intX_t "$LINENO" "8" "ac_cv_c_int8_t"
     5632case $ac_cv_c_int8_t in #(
     5633  no|yes) ;; #(
     5634  *)
     5635
     5636cat >>confdefs.h <<_ACEOF
     5637#define int8_t $ac_cv_c_int8_t
     5638_ACEOF
     5639;;
     5640esac
     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; }
     5644if ${ac_cv_c_restrict+:} false; then :
    47805645  $as_echo_n "(cached) " >&6
    47815646else
    4782   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     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
    47835651/* end confdefs.h.  */
    4784 #include <sys/types.h>
    4785 #include <time.h>
    4786 
     5652typedef int * int_ptr;
     5653        int foo (int_ptr $ac_kw ip) {
     5654        return ip[0];
     5655       }
    47875656int
    47885657main ()
    47895658{
    4790 struct tm tm;
    4791                                      int *p = &tm.tm_sec;
    4792                                      return !p;
     5659int s[1];
     5660        int * $ac_kw t = s;
     5661        t[0] = 0;
     5662        return foo(t)
    47935663  ;
    47945664  return 0;
     
    47965666_ACEOF
    47975667if ac_fn_c_try_compile "$LINENO"; then :
    4798   ac_cv_struct_tm=time.h
    4799 else
    4800   ac_cv_struct_tm=sys/time.h
     5668  ac_cv_c_restrict=$ac_kw
    48015669fi
    48025670rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
    4803 fi
    4804 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5
    4805 $as_echo "$ac_cv_struct_tm" >&6; }
    4806 if test $ac_cv_struct_tm = sys/time.h; then
    4807 
    4808 $as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h
    4809 
    4810 fi
    4811 
    4812 
    4813 test "${prefix}" != "NONE" || prefix=$ac_default_prefix
    4814 
    4815 preludedir=${prefix}/share/cfa
    4816 
    4817 # Check whether --with-preludedir was given.
    4818 if test "${with_preludedir+set}" = set; then :
    4819   withval=$with_preludedir; preludedir=$withval
    4820 fi
    4821 
    4822 
    4823 
    4824 
    4825 # Check whether --with-backend-compiler was given.
    4826 if test "${with_backend_compiler+set}" = set; then :
    4827   withval=$with_backend_compiler; backcompiler=$withval
    4828 else
    4829   backcompiler=""
    4830 fi
    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.
    4840 set 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; }
    4843 if ${ac_cv_path_GCC_PATH+:} false; then :
    4844   $as_echo_n "(cached) " >&6
    4845 else
    4846   case $GCC_PATH in
    4847   [\\/]* | ?:[\\/]*)
    4848   ac_cv_path_GCC_PATH="$GCC_PATH" # Let the user override the test with a path.
    4849   ;;
     5671     test "$ac_cv_c_restrict" != no && break
     5672   done
     5673
     5674fi
     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
     5688ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
     5689if test "x$ac_cv_type_size_t" = xyes; then :
     5690
     5691else
     5692
     5693cat >>confdefs.h <<_ACEOF
     5694#define size_t unsigned int
     5695_ACEOF
     5696
     5697fi
     5698
     5699ac_fn_c_find_uintX_t "$LINENO" "16" "ac_cv_c_uint16_t"
     5700case $ac_cv_c_uint16_t in #(
     5701  no|yes) ;; #(
    48505702  *)
    4851   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    4852 for as_dir in $PATH
    4853 do
    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
     5703
     5704
     5705cat >>confdefs.h <<_ACEOF
     5706#define uint16_t $ac_cv_c_uint16_t
     5707_ACEOF
     5708;;
     5709  esac
     5710
     5711ac_fn_c_find_uintX_t "$LINENO" "32" "ac_cv_c_uint32_t"
     5712case $ac_cv_c_uint32_t in #(
     5713  no|yes) ;; #(
     5714  *)
     5715
     5716$as_echo "#define _UINT32_T 1" >>confdefs.h
     5717
     5718
     5719cat >>confdefs.h <<_ACEOF
     5720#define uint32_t $ac_cv_c_uint32_t
     5721_ACEOF
     5722;;
     5723  esac
     5724
     5725ac_fn_c_find_uintX_t "$LINENO" "8" "ac_cv_c_uint8_t"
     5726case $ac_cv_c_uint8_t in #(
     5727  no|yes) ;; #(
     5728  *)
     5729
     5730$as_echo "#define _UINT8_T 1" >>confdefs.h
     5731
     5732
     5733cat >>confdefs.h <<_ACEOF
     5734#define uint8_t $ac_cv_c_uint8_t
     5735_ACEOF
     5736;;
     5737  esac
     5738
     5739
     5740# Checks for library functions.
     5741for ac_func in memset putenv strchr strtol
     5742do :
     5743  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
     5744ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
     5745if 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
     5750fi
    48625751done
    4863   done
    4864 IFS=$as_save_IFS
    4865 
    4866   test -z "$ac_cv_path_GCC_PATH" && ac_cv_path_GCC_PATH="N/A"
    4867   ;;
    4868 esac
    4869 fi
    4870 GCC_PATH=$ac_cv_path_GCC_PATH
    4871 if test -n "$GCC_PATH"; then
    4872   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_PATH" >&5
    4873 $as_echo "$GCC_PATH" >&6; }
    4874 else
    4875   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    4876 $as_echo "no" >&6; }
    4877 fi
    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
    4884 
    4885 cat >>confdefs.h <<_ACEOF
    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.
    4894 set 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; }
    4897 if ${ac_cv_path_CPP_PATH+:} false; then :
    4898   $as_echo_n "(cached) " >&6
    4899 else
    4900   case $CPP_PATH in
    4901   [\\/]* | ?:[\\/]*)
    4902   ac_cv_path_CPP_PATH="$CPP_PATH" # Let the user override the test with a path.
    4903   ;;
    4904   *)
    4905   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    4906 for as_dir in $PATH
    4907 do
    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
    4916 done
    4917   done
    4918 IFS=$as_save_IFS
    4919 
    4920   test -z "$ac_cv_path_CPP_PATH" && ac_cv_path_CPP_PATH="N/A"
    4921   ;;
    4922 esac
    4923 fi
    4924 CPP_PATH=$ac_cv_path_CPP_PATH
    4925 if test -n "$CPP_PATH"; then
    4926   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP_PATH" >&5
    4927 $as_echo "$CPP_PATH" >&6; }
    4928 else
    4929   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
    4930 $as_echo "no" >&6; }
    4931 fi
    4932 
    4933 
    4934 if test "$CPP_PATH" = "N/A"; then
    4935    as_fn_error $? "cpp not found" "$LINENO" 5
    4936    exit 1
    4937 fi
    4938 
    4939 cat >>confdefs.h <<_ACEOF
    4940 #define CPP_PATH "${CPP_PATH}"
    4941 _ACEOF
    4942 
    4943 
    4944 # Purify instrumenting
    4945 
    4946 CFA_PREFIX=
    4947 if test "x$prefix" = "xNONE"; then
    4948         cfa_prefix=${ac_default_prefix}
    4949 else
    4950         cfa_prefix=${prefix}
    4951 fi
    4952 
    4953 cat >>confdefs.h <<_ACEOF
    4954 #define CFA_PREFIX "${cfa_prefix}"
    4955 _ACEOF
    4956 
    4957 CFA_PREFIX=${cfa_prefix}
    4958 
    4959 
    4960 CFA_INCDIR=
    4961 if test "$includedir" = '${prefix}/include'; then
    4962         cfa_incdir="${cfa_prefix}/include"
    4963 else
    4964         cfa_incdir=${$includedir}
    4965 fi
    4966 
    4967 cat >>confdefs.h <<_ACEOF
    4968 #define CFA_INCDIR "${cfa_incdir}"
    4969 _ACEOF
    4970 
    4971 CFA_INCDIR=${cfa_incdir}
    4972 
    4973 
    4974 CFA_BINDIR=
    4975 if test "$bindir" = '${exec_prefix}/bin'; then
    4976         cfa_bindir="${cfa_prefix}/bin"
    4977 else
    4978         cfa_bindir=${bindir}
    4979 fi
    4980 
    4981 cat >>confdefs.h <<_ACEOF
    4982 #define CFA_BINDIR "${cfa_bindir}"
    4983 _ACEOF
    4984 
    4985 CFA_BINDIR=${cfa_bindir}
    4986 
    4987 
    4988 CFA_LIBDIR=
    4989 if test "$libdir" = '${exec_prefix}/lib'; then
    4990         cfa_libdir=${cfa_prefix}/lib
    4991 else
    4992         cfa_libdir=${libdir}
    4993 fi
    4994 
    4995 cat >>confdefs.h <<_ACEOF
    4996 #define CFA_LIBDIR "${cfa_libdir}"
    4997 _ACEOF
    4998 
    4999 CFA_LIBDIR=${cfa_libdir}
    5000 
    5001 
    5002 ac_config_files="$ac_config_files Makefile src/Makefile driver/Makefile libcfa/Makefile src/examples/Makefile"
     5752
     5753
     5754ac_config_files="$ac_config_files Makefile src/driver/Makefile src/Makefile src/examples/Makefile src/libcfa/Makefile"
     5755
    50035756
    50045757cat >confcache <<\_ACEOF
     
    51195872fi
    51205873
     5874if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
     5875  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
     5876Usually this means the macro was only invoked conditionally." "$LINENO" 5
     5877fi
    51215878if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
    51225879  as_fn_error $? "conditional \"AMDEP\" was never defined.
     
    55406297# values after options handling.
    55416298ac_log="
    5542 This file was extended by cfa-cc $as_me 1.0, which was
     6299This file was extended by cfa-cc $as_me 1.0.0, which was
    55436300generated by GNU Autoconf 2.68.  Invocation command line was
    55446301
     
    56066363ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
    56076364ac_cs_version="\\
    5608 cfa-cc config.status 1.0
     6365cfa-cc config.status 1.0.0
    56096366configured by $0, generated by GNU Autoconf 2.68,
    56106367  with options \\"\$ac_cs_config\\"
     
    57386495    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
    57396496    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     6497    "src/driver/Makefile") CONFIG_FILES="$CONFIG_FILES src/driver/Makefile" ;;
    57406498    "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" ;;
    57436499    "src/examples/Makefile") CONFIG_FILES="$CONFIG_FILES src/examples/Makefile" ;;
     6500    "src/libcfa/Makefile") CONFIG_FILES="$CONFIG_FILES src/libcfa/Makefile" ;;
    57446501
    57456502  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
     
    64717228
    64727229
    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; }
     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; }
  • src/ArgTweak/module.mk

    reb50842 r937e51d  
    1 SRC +=  ArgTweak/Rewriter.cc \
    2 #       ArgTweak/Mutate.cc \
    3         $(NULL)
     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###############################################################################
    416
     17#SRC +=  ArgTweak/Rewriter.cc \
     18#       ArgTweak/Mutate.cc
  • src/CodeGen/GenType.cc

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

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

    reb50842 r937e51d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May 18 23:42:07 2015
    13 // Update Count     : 2
     12// Last Modified On : Tue Jun 23 17:41:14 2015
     13// Update Count     : 5
    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                         {       "0",            "0",    "_constant_zero",                       OT_CONSTANT             },
    61                         {       "1",            "1",    "_constant_one",                        OT_CONSTANT             }
     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                     }
    6263                };
    6364
  • src/CodeGen/OperatorTable.h

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

    reb50842 r937e51d  
     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
    120SRC +=  CodeGen/Generate.cc \
    2         CodeGen/CodeGenerator2.cc \
     21        CodeGen/CodeGenerator.cc \
    322        CodeGen/GenType.cc \
    423        CodeGen/FixNames.cc \
    5         CodeGen/OperatorTable.cc \
    6         $(NULL)
     24        CodeGen/OperatorTable.cc
  • src/Common/SemanticError.h

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

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

    reb50842 r937e51d  
     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
    117SRC += Common/SemanticError.cc \
    218       Common/UniqueName.cc
  • src/Common/utility.h

    reb50842 r937e51d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue May 19 15:34:57 2015
    13 // Update Count     : 3
     12// Last Modified On : Mon Jun  8 14:43:54 2015
     13// Update Count     : 13
    1414//
    1515
     
    1818
    1919#include <iostream>
    20 #include <strstream>
     20#include <sstream>
    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::ostrstream os;
    133  
     132        std::ostringstream os;
    134133        os << value; // << std::ends;
    135         os.freeze( false );
    136 
    137         return std::string(os.str(), os.pcount());
     134        return os.str();
    138135}
    139136
     
    151148template< typename T >
    152149void 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 )
    155150        typename std::list< T >::iterator next = pos; advance( next, 1 );
    156151
     
    196191        while ( b1 != e1 && b2 != e2 )
    197192                *out++ = func(*b1++, *b2++);
     193}
     194
     195// it's nice to actually be able to increment iterators by an arbitrary amount
     196template< typename Iterator >
     197Iterator operator+(Iterator i, int inc) {
     198        while ( inc > 0 ) {
     199                ++i;
     200                --inc;
     201        }
     202        return i;
    198203}
    199204
  • src/ControlStruct/ChooseMutator.cc

    reb50842 r937e51d  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue May 19 15:31:39 2015
    13 // Update Count     : 2
     11// Last Modified By : Rob Schluntz
     12// Last Modified On : Wed Jun 03 15:30:20 2015
     13// Update Count     : 5
    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
    4651                if ( insideChoose ) {
    4752                        BranchStmt *posBrk;
  • src/ControlStruct/LabelFixer.cc

    reb50842 r937e51d  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue May 19 15:25:59 2015
    13 // Update Count     : 1
     11// Last Modified By : Rob Schluntz
     12// Last Modified On : Wed Jun 24 16:24:34 2015
     13// Update Count     : 141
    1414//
    1515
     
    1919#include "LabelFixer.h"
    2020#include "MLEMutator.h"
     21#include "SynTree/Expression.h"
    2122#include "SynTree/Statement.h"
    2223#include "SynTree/Declaration.h"
    2324#include "utility.h"
    2425
     26#include <iostream>
     27
    2528namespace ControlStruct {
    2629        LabelFixer::Entry::Entry( Statement *to, Statement *from ) : definition ( to ) {
    27                 if ( from != 0 )
    28                         usage.push_back( from );
    29         }
     30                if ( from != 0 ) {
     31                        UsageLoc loc; loc.stmt = from;
     32                        usage.push_back( loc );
     33                }
     34        }
     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
    3043
    3144        bool LabelFixer::Entry::insideLoop() {
    3245                return ( dynamic_cast< ForStmt * > ( definition ) ||
    33                                  dynamic_cast< WhileStmt * > ( 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                }
    3455        }
    3556
     
    4061
    4162        void LabelFixer::visit( FunctionDecl *functionDecl ) {
    42                 if ( functionDecl->get_statements() != 0 )
    43                         functionDecl->get_statements()->accept( *this );
     63                maybeAccept( functionDecl->get_statements(), *this );
    4464
    4565                MLEMutator mlemut( resolveJumps(), generator );
     
    4767        }
    4868
     69        // prune to at most one label definition for each statement
    4970        void LabelFixer::visit( Statement *stmt ) {
     71                currentStatement = stmt;
    5072                std::list< Label > &labels = stmt->get_labels();
    5173
    5274                if ( ! labels.empty() ) {
     75                        // only remember one label for each statement
    5376                        Label current = setLabelsDef( labels, stmt );
    5477                        labels.clear();
     
    5881
    5982        void LabelFixer::visit( BranchStmt *branchStmt ) {
    60                 visit ( ( Statement * )branchStmt );  // the labels this statement might have
    61 
    62                 Label target;
    63                 if ( (target = branchStmt->get_target()) != "" ) {
     83                visit ( ( Statement * )branchStmt );
     84
     85                // for labeled branches, add an entry to the label table
     86                Label target = branchStmt->get_target();
     87                if ( target != "" ) {
    6488                        setLabelsUsg( target, branchStmt );
    65                 } //else       /* computed goto or normal exit-loop statements */
    66         }
    67 
     89                }
     90        }
     91
     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                }
     103        }
     104
     105
     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
    68108        Label LabelFixer::setLabelsDef( std::list< Label > &llabel, Statement *definition ) {
    69109                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
    85         }
    86 
    87         Label LabelFixer::setLabelsUsg( Label orgValue, Statement *use ) {
     110                assert( llabel.size() > 0 );
     111
     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();
     133        }
     134
     135        // Remember all uses of a label.
     136        template< typename UsageNode >
     137        void LabelFixer::setLabelsUsg( Label orgValue, UsageNode *use ) {
    88138                assert( use != 0 );
    89139
    90                 if ( labelTable.find( orgValue ) != labelTable.end() )
    91                         labelTable[ orgValue ]->add_use( use );         // the label has been defined or used before
    92                 else
     140                if ( labelTable.find( orgValue ) != labelTable.end() ) {
     141                        // the label has been defined or used before
     142                        labelTable[ orgValue ]->add_use( use );
     143                } else {
    93144                        labelTable[ orgValue ] = new Entry( 0, use );
    94 
    95                 return labelTable[ orgValue ]->get_label();
    96         }
    97 
     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,
    98192        std::map<Label, Statement * > *LabelFixer::resolveJumps() throw ( SemanticError ) {
    99193                std::map< Statement *, Entry * > def_us;
    100194
    101                 for ( std::map< Label, Entry *>::iterator i = labelTable.begin(); i != labelTable.end(); i++ ) {
     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 ) {
    102197                        Entry *e = i->second;
    103198
    104                         if ( def_us.find ( e->get_definition() ) == def_us.end() )
     199                        if ( def_us.find ( e->get_definition() ) == def_us.end() ) {
    105200                                def_us[ e->get_definition() ] = e;
    106                         else
    107                                 if ( e->used() )
    108                                         def_us[ e->get_definition() ]->add_uses( e->get_uses() );
    109                 }
    110 
    111                 // get rid of labelTable
    112                 for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); i++ ) {
     201                        } else if ( e->used() ) {
     202                                def_us[ e->get_definition() ]->add_uses( *e );
     203                        }
     204                }
     205
     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 ) {
    113208                        Statement *to = (*i).first;
    114                         std::list< Statement *> &from = (*i).second->get_uses();
    115                         Label finalLabel = generator->newLabel();
    116                         (*i).second->set_label( finalLabel );
    117 
     209                        Entry * entry = (*i).second;
     210                        std::list< Entry::UsageLoc > &from = entry->get_uses();
     211
     212                        // no label definition found
    118213                        if ( to == 0 ) {
    119                                 BranchStmt *first_use = dynamic_cast<BranchStmt *>(from.back());
    120                                 Label undef("");
    121                                 if ( first_use != 0 )
    122                                         undef = first_use->get_target();
     214                                Label undef;
     215                                LabelGetter getLabel( undef );
     216                                from.back().accept( getLabel );
     217                                // Label undef = getLabel( from.back()->get_target() );
    123218                                throw SemanticError ( "'" + undef + "' label not defined");
    124                         }
     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 );
    125224
    126225                        to->get_labels().clear();
    127226                        to->get_labels().push_back( finalLabel );
    128227
    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 );
     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 );
    133237                        } // for
    134238                } // for
    135239
    136                 // reverse table
     240                // create a table where each label maps to its defining statement
    137241                std::map< Label, Statement * > *ret = new std::map< Label, Statement * >();
    138                 for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); i++ )
     242                for ( std::map< Statement *, Entry * >::iterator i = def_us.begin(); i != def_us.end(); ++i ) {
    139243                        (*ret)[ (*i).second->get_label() ] = (*i).first;
     244                }
    140245
    141246                return ret;
  • src/ControlStruct/LabelFixer.h

    reb50842 r937e51d  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue May 19 15:31:55 2015
    13 // Update Count     : 3
     11// Last Modified By : Rob Schluntz
     12// Last Modified On : Tue Jun 23 15:47:25 2015
     13// Update Count     : 28
    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 );
    5556
    5657                Label setLabelsDef( std::list< Label > &, Statement *definition );
    57                 Label setLabelsUsg( Label, Statement *usage = 0 );
     58                template< typename UsageNode >
     59                void setLabelsUsg( Label, UsageNode *usage = 0 );
    5860
    5961          private:
    6062                class Entry {
    61                   public:
    62                         Entry( Statement *to = 0, Statement *from = 0 );
     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 );
    6374                        bool used() { return ( usage.empty() ); }
    6475                        bool defined() { return ( definition != 0 ); }
     
    6677
    6778                        Label get_label() const { return label; }
     79                        void set_label( Label lab ) { label = lab; }
     80
    6881                        Statement *get_definition() const { return definition; }
    69                         std::list< Statement *> &get_uses() { return usage; }
    70 
    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() ); }
    7382                        void set_definition( Statement *def ) { definition = def; }
    7483
    75                         void set_label( Label lab ) { label = lab; }
    76                         Label gset_label() const { return label; }
     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() ); }
    7797                  private:
    7898                        Label label; 
    7999                        Statement *definition;
    80                         std::list<Statement *> usage;
     100                        std::list<UsageLoc> usage;
    81101                };
    82102                 
    83103                std::map < Label, Entry *> labelTable;
    84104                LabelGenerator *generator;
     105                Statement * currentStatement;
    85106        };
    86107} // namespace ControlStruct
  • src/ControlStruct/LabelGenerator.cc

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

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

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

    reb50842 r937e51d  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue May 19 15:32:26 2015
    13 // Update Count     : 2
     11// Last Modified By : Rob Schluntz
     12// Last Modified On : Thu Jun 04 15:12:33 2015
     13// Update Count     : 173
    1414//
    1515
     
    1919#include "MLEMutator.h"
    2020#include "SynTree/Statement.h"
     21#include "SynTree/Expression.h"
    2122
    2223namespace ControlStruct {
     
    2627        }
    2728
    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();
     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 ) {
    3634                for ( std::list< Statement * >::iterator k = kids.begin(); k != kids.end(); k++ ) {
    3735                        *k = (*k)->acceptMutator(*this);
    3836
    3937                        if ( ! get_breakLabel().empty() ) {
    40                                 std::list< Statement * >::iterator next = k; next++;
     38                                std::list< Statement * >::iterator next = k+1;
    4139                                if ( next == kids.end() ) {
    4240                                        std::list<Label> ls; ls.push_back( get_breakLabel() );
    4341                                        kids.push_back( new NullStmt( ls ) );
    44                                 } else
     42                                } else {
    4543                                        (*next)->get_labels().push_back( get_breakLabel() );
     44                                }
    4645
    4746                                set_breakLabel("");
    4847                        } // if
    4948                } // 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 );
    5062
    5163                if ( labeledBlock ) {
    5264                        assert( ! enclosingBlocks.empty() );
    53                         if ( ! enclosingBlocks.back().get_breakExit().empty() )
    54                                 set_breakLabel( enclosingBlocks.back().get_breakExit() );
     65                        if ( ! enclosingBlocks.back().useBreakExit().empty() ) {
     66                                set_breakLabel( enclosingBlocks.back().useBreakExit() );
     67                        }
    5568                        enclosingBlocks.pop_back();
    5669                } // if
    5770
    58                 //mutateAll( cmpndStmt->get_kids(), *this );
    5971                return cmpndStmt;
    6072        }
    6173
    62         Statement *MLEMutator::mutate( WhileStmt *whileStmt ) {
    63                 enclosingLoops.push_back( Entry( whileStmt ) );
    64                 whileStmt->set_body ( whileStmt->get_body()->acceptMutator( *this ) );
    65 
     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
    6686                Entry &e = enclosingLoops.back();
    67                 assert ( e == whileStmt );
    68                 whileStmt->set_body( mutateLoop( whileStmt->get_body(), e ) );
     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 ) );
    6992                enclosingLoops.pop_back();
    7093
    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;
     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;
    84133        }
    85134
    86135        Statement *MLEMutator::mutate( BranchStmt *branchStmt ) throw ( SemanticError ) {
     136                std::string originalTarget = branchStmt->get_originalTarget();
     137
    87138                if ( branchStmt->get_type() == BranchStmt::Goto )
    88139                        return branchStmt;
    89140
    90141                // test if continue target is a loop
    91                 if ( branchStmt->get_type() == BranchStmt::Continue && enclosingLoops.empty() )
    92                         throw SemanticError( "'continue' outside 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                }
    93149
    94150                if ( branchStmt->get_type() == BranchStmt::Break && (enclosingLoops.empty() && enclosingSwitches.empty() && enclosingBlocks.empty() ) )
     
    98154
    99155                if ( targetTable->find( branchStmt->get_target() ) == targetTable->end() )
    100                         throw SemanticError("The label defined in the exit loop statement does not exist." );  // shouldn't happen (since that's already checked)
     156                        throw SemanticError("The label defined in the exit loop statement does not exist: " + originalTarget );  // shouldn't happen (since that's already checked)
    101157
    102158                std::list< Entry >::iterator check;
     
    106162                                // neither in loop nor in block, checking if in switch/choose
    107163                                if ( (check = std::find( enclosingSwitches.begin(), enclosingSwitches.end(), (*targetTable)[branchStmt->get_target()] )) == enclosingSwitches.end() )
    108                                         throw SemanticError("The target specified in the exit loop statement does not correspond to an enclosing loop.");
    109 
     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???
    110167                if ( enclosingLoops.back() == (*check) )
    111168                        return branchStmt;                              // exit the innermost loop (labels unnecessary)
    112169
    113                 Label newLabel;
     170                // branch error checks, get the appropriate label name and create a goto
     171                Label exitLabel;
    114172                switch ( branchStmt->get_type() ) {
    115173                  case BranchStmt::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;
     174                                assert( check->useBreakExit() != "");
     175                                exitLabel = check->useBreakExit();
     176                                break;
    123177                  case BranchStmt::Continue:
    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;
     178                                assert( check->useContExit() != "");
     179                                exitLabel = check->useContExit();
     180                                break;
    131181                  default:
    132                         return 0;                                       // shouldn't be here
     182                                assert(0);                                      // shouldn't be here
    133183                } // switch
    134184
    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;
     185                return new BranchStmt( std::list<Label>(), exitLabel, BranchStmt::Goto );
    163186        }
    164187
    165188        Statement *MLEMutator::mutateLoop( Statement *bodyLoop, Entry &e ) {
     189                // ensure loop body is a block
    166190                CompoundStmt *newBody;
    167191                if ( ! (newBody = dynamic_cast<CompoundStmt *>( bodyLoop )) ) {
     
    170194                } // if
    171195
    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
     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                }
    193209
    194210                return newBody;
    195211        }
    196212
    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         }
     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
    207229} // namespace ControlStruct
    208230
  • src/ControlStruct/MLEMutator.h

    reb50842 r937e51d  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue May 19 15:32:39 2015
    13 // Update Count     : 3
     11// Last Modified By : Rob Schluntz
     12// Last Modified On : Wed Jun 03 15:06:36 2015
     13// Update Count     : 25
    1414//
    1515
     
    3838                Statement *mutate( BranchStmt *branchStmt ) throw ( SemanticError );
    3939
     40                Statement *mutate( CaseStmt *caseStmt );
    4041                Statement *mutate( SwitchStmt *switchStmt );
    4142                Statement *mutate( ChooseStmt *switchStmt );
     
    4849                class Entry {
    4950                  public:
    50                         explicit Entry( Statement *_loop = 0, Label _contExit = Label(""), Label _breakExit = Label("") ) :
    51                                 loop( _loop ), contExit( _contExit ), breakExit( _breakExit ), contExitUsed( false ), breakExitUsed( false ) {}
     51                        explicit Entry( Statement *_loop, Label _breakExit, Label _contExit = Label("") ) :
     52                                loop( _loop ), breakExit( _breakExit ), contExit( _contExit ), breakUsed(false), contUsed(false) {}
    5253
    5354                        bool operator==( const Statement *stmt ) { return ( loop == stmt ); }
     
    5859                        Statement *get_loop() const { return loop; }
    5960
    60                         Label get_contExit() const { return contExit; }
    61                         void set_contExit( Label );
     61                        Label useContExit() { contUsed = true; return contExit; }
     62                        Label useBreakExit() { breakUsed = true; return breakExit; }
    6263
    63                         Label get_breakExit() const { return breakExit; }
    64                         void set_breakExit( Label );
     64                        bool isContUsed() const { return contUsed; }
     65                        bool isBreakUsed() const { return breakUsed; }
    6566
    6667                  private:
    6768                        Statement *loop;
    68                         Label contExit, breakExit;
    69                   public: // hack, provide proper [sg]etters
    70                         bool contExitUsed, breakExitUsed;
     69                        Label breakExit, contExit;
     70                        bool breakUsed, contUsed;
    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 );
    7785        };
    7886} // namespace ControlStruct
  • src/ControlStruct/Mutate.cc

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

    reb50842 r937e51d  
     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
    117SRC +=  ControlStruct/LabelGenerator.cc \
    2         ControlStruct/LabelFixer.cc \
     18        ControlStruct/LabelFixer.cc \
    319        ControlStruct/MLEMutator.cc \
    420        ControlStruct/CaseRangeMutator.cc \
     
    622        ControlStruct/ChooseMutator.cc \
    723        ControlStruct/ForExprMutator.cc \
    8         ControlStruct/LabelTypeChecker.cc \
    9         $(NULL)
     24        ControlStruct/LabelTypeChecker.cc
    1025
  • src/Designators/module.mk

    reb50842 r937e51d  
    1 SRC +=  Designators/Processor.cc \
    2         $(NULL)
     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
     17SRC += Designators/Processor.cc
  • src/GenPoly/Box.cc

    reb50842 r937e51d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue May 19 07:31:41 2015
    13 // Update Count     : 1
     12// Last Modified On : Sat Jun 13 09:12:19 2015
     13// Update Count     : 4
    1414//
    1515
     
    2626#include "ScrubTyVars.h"
    2727
    28 #include "SynTree/Declaration.h"
     28#include "Parser/ParseNode.h"
     29
    2930#include "SynTree/Type.h"
    3031#include "SynTree/Expression.h"
     
    3233#include "SynTree/Statement.h"
    3334#include "SynTree/Mutator.h"
     35
    3436#include "ResolvExpr/TypeEnvironment.h"
     37
    3538#include "SymTab/Mangler.h"
    3639
     
    282285
    283286                ObjectDecl *Pass1::makeTemporary( Type *type ) {
    284                         ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), Declaration::NoStorageClass, LinkageSpec::C, 0, type, 0 );
     287                        ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, type, 0 );
    285288                        stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) );
    286289                        return newObj;
     
    362365                                        arg = new AddressExpr( arg );
    363366                                } else {
    364                                         ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), Declaration::NoStorageClass, LinkageSpec::C, 0, arg->get_results().front()->clone(), 0 );
     367                                        ObjectDecl *newObj = new ObjectDecl( tempNamer.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, arg->get_results().front()->clone(), 0 );
    365368                                        newObj->get_type()->get_qualifiers() = Type::Qualifiers();
    366369                                        stmtsToAdd.push_back( new DeclStmt( noLabels, newObj ) );
     
    433436                                makeRetParm( adapter );
    434437                        } // if
    435                         adapter->get_parameters().push_front( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ) );
     438                        adapter->get_parameters().push_front( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), new FunctionType( Type::Qualifiers(), true ) ), 0 ) );
    436439                        return adapter;
    437440                }
     
    521524                        adapterBody->get_kids().push_back( bodyStmt );
    522525                        std::string adapterName = makeAdapterName( mangleName );
    523                         return new FunctionDecl( adapterName, Declaration::NoStorageClass, LinkageSpec::C, adapterType, adapterBody, false );
     526                        return new FunctionDecl( adapterName, DeclarationNode::NoStorageClass, LinkageSpec::C, adapterType, adapterBody, false, false );
    524527                }
    525528
     
    902905                                if ( adaptersDone.find( mangleName ) == adaptersDone.end() ) {
    903906                                        std::string adapterName = makeAdapterName( mangleName );
    904                                         paramList.push_front( new ObjectDecl( adapterName, Declaration::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), 0 ) );
     907                                        paramList.push_front( new ObjectDecl( adapterName, DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new PointerType( Type::Qualifiers(), makeAdapterType( *funType, scopeTyVars ) ), 0 ) );
    905908                                        adaptersDone.insert( adaptersDone.begin(), mangleName );
    906909                                }
     
    961964                        std::list< DeclarationWithType *>::iterator last = funcType->get_parameters().begin();
    962965                        std::list< DeclarationWithType *> inferredParams;
    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 );
     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 );
    965968                        for ( std::list< TypeDecl *>::const_iterator tyParm = funcType->get_forall().begin(); tyParm != funcType->get_forall().end(); ++tyParm ) {
    966969                                ObjectDecl *thisParm;
  • src/GenPoly/Specialize.cc

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

    reb50842 r937e51d  
     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
    117SRC += GenPoly/Box.cc \
    218       GenPoly/GenPoly.cc \
     
    723       GenPoly/CopyParams.cc \
    824       GenPoly/FindFunction.cc
    9        
  • src/InitTweak/module.mk

    reb50842 r937e51d  
     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
    117SRC += InitTweak/InitModel.cc \
    218       InitTweak/InitExpander.cc \
    3        InitTweak/Mutate.cc     \
    4        InitTweak/Association.cc     \
    5        InitTweak/RemoveInit.cc     \
    6         $(NULL)
     19       InitTweak/Mutate.cc \
     20       InitTweak/Association.cc \
     21       InitTweak/RemoveInit.cc
    722
  • src/Makefile.in

    reb50842 r937e51d  
     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 -*- ######################
     19###############################################################################
     20
    121######################### -*- 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
    1522###############################################################################
    1623
    17 # This makefile is adapted from Peter Miller's article "Recursive Make Considered Harmful"
    18 
    19 MODULES := Common Parser SynTree SymTab ResolvExpr CodeGen ControlStruct GenPoly Tuples InitTweak Designators # Try ArgTweak Explain
    20 TARGET := cfa-cpp
    21 
    22 all: ${TARGET}
    23 
    24 # look for include files in each of the modules
    25 CXX := @CXX@
    26 CXXFLAGS += -Wno-deprecated -Wall -g -DDEBUG_ALL -I. -I Common -MMD
    27 INSTALL=@INSTALL@
    28 
    29 # this is the back-end compiler, used to compile libcfa & builtins to link with user code
    30 BACKEND_CC := @BACKEND_CC@
    31 
    32 # extra libraries if required
    33 LIBS :=
    34 
    35 # each module will add to this
    36 SRC := main.cc MakeLibCfa.cc
    37 
    38 # other things that ought to be cleaned up
    39 EXTRA_OUTPUT := core
    40 
    41 # include the description for each module
    42 include ${patsubst %,%/module.mk,${MODULES}}
    43 
    44 # determine the object files
    45 OBJ := ${patsubst %.cc,%.o,${filter %.cc,${SRC}}} \
    46        ${patsubst %.y,%.tab.o,${filter %.y,${SRC}}} \
    47        ${patsubst %.l,%.yy.o,${filter %.l,${SRC}}}
    48 
    49 # include the C include dependencies
    50 DEPS := ${OBJ:.o=.d}
    51 -include ${DEPS}
    52 
    53 # link the program
    54 ${TARGET}: ${OBJ}
    55         ${PURIFY} ${CXX} -o $@ ${OBJ} ${LIBS}
    56 
    57 #installing
    58 install: ${TARGET}
    59         ${INSTALL} -d @CFA_LIBDIR@
    60         ${INSTALL} ${TARGET} @CFA_LIBDIR@
    61 
    62 # clean-up rule
    63 clean:
    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
    67 
    68 distclean: clean
     24######################### -*- Mode: Makefile-Gmake -*- ########################
     25###############################################################################
     26
     27#SRC +=  ArgTweak/Rewriter.cc \
     28#       ArgTweak/Mutate.cc
     29
     30######################### -*- Mode: Makefile-Gmake -*- ########################
     31###############################################################################
     32
     33######################### -*- Mode: Makefile-Gmake -*- ########################
     34###############################################################################
     35
     36######################### -*- Mode: Makefile-Gmake -*- ########################
     37###############################################################################
     38
     39######################### -*- Mode: Makefile-Gmake -*- ########################
     40###############################################################################
     41
     42######################### -*- Mode: Makefile-Gmake -*- ########################
     43###############################################################################
     44
     45######################### -*- Mode: Makefile-Gmake -*- ########################
     46###############################################################################
     47
     48######################### -*- Mode: Makefile-Gmake -*- ########################
     49###############################################################################
     50
     51######################### -*- Mode: Makefile-Gmake -*- ########################
     52###############################################################################
     53
     54######################### -*- Mode: Makefile-Gmake -*- ########################
     55###############################################################################
     56
     57######################### -*- Mode: Makefile-Gmake -*- ########################
     58###############################################################################
     59
     60VPATH = @srcdir@
     61pkgdatadir = $(datadir)/@PACKAGE@
     62pkgincludedir = $(includedir)/@PACKAGE@
     63pkglibdir = $(libdir)/@PACKAGE@
     64pkglibexecdir = $(libexecdir)/@PACKAGE@
     65am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
     66install_sh_DATA = $(install_sh) -c -m 644
     67install_sh_PROGRAM = $(install_sh) -c
     68install_sh_SCRIPT = $(install_sh) -c
     69INSTALL_HEADER = $(INSTALL_DATA)
     70transform = $(program_transform_name)
     71NORMAL_INSTALL = :
     72PRE_INSTALL = :
     73POST_INSTALL = :
     74NORMAL_UNINSTALL = :
     75PRE_UNINSTALL = :
     76POST_UNINSTALL = :
     77DIST_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
     85cfa_cpplib_PROGRAMS = cfa-cpp$(EXEEXT)
     86subdir = src
     87ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
     88am__aclocal_m4_deps = $(top_srcdir)/configure.ac
     89am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
     90        $(ACLOCAL_M4)
     91mkinstalldirs = $(install_sh) -d
     92CONFIG_HEADER = $(top_builddir)/config.h
     93CONFIG_CLEAN_FILES =
     94CONFIG_CLEAN_VPATH_FILES =
     95am__installdirs = "$(DESTDIR)$(cfa_cpplibdir)"
     96PROGRAMS = $(cfa_cpplib_PROGRAMS)
     97am__dirstamp = $(am__leading_dot)dirstamp
     98am__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)
     200am_cfa_cpp_OBJECTS = $(am__objects_1)
     201cfa_cpp_OBJECTS = $(am_cfa_cpp_OBJECTS)
     202am__DEPENDENCIES_1 =
     203cfa_cpp_DEPENDENCIES = $(am__DEPENDENCIES_1)
     204cfa_cpp_LINK = $(CXXLD) $(cfa_cpp_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
     205        $(LDFLAGS) -o $@
     206DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
     207depcomp = $(SHELL) $(top_srcdir)/automake/depcomp
     208am__depfiles_maybe = depfiles
     209am__mv = mv -f
     210CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
     211        $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
     212CXXLD = $(CXX)
     213CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
     214        -o $@
     215@MAINTAINER_MODE_FALSE@am__skiplex = test -f $@ ||
     216LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS)
     217YLWRAP = $(top_srcdir)/automake/ylwrap
     218@MAINTAINER_MODE_FALSE@am__skipyacc = test -f $@ ||
     219YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS)
     220COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
     221        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
     222CCLD = $(CC)
     223LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
     224SOURCES = $(cfa_cpp_SOURCES)
     225DIST_SOURCES = $(cfa_cpp_SOURCES)
     226ETAGS = etags
     227CTAGS = ctags
     228DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
     229ACLOCAL = @ACLOCAL@
     230ALLOCA = @ALLOCA@
     231AMTAR = @AMTAR@
     232AUTOCONF = @AUTOCONF@
     233AUTOHEADER = @AUTOHEADER@
     234AUTOMAKE = @AUTOMAKE@
     235AWK = @AWK@
     236BACKEND_CC = @BACKEND_CC@
     237CC = @CC@
     238CCDEPMODE = @CCDEPMODE@
     239CFA_BINDIR = @CFA_BINDIR@
     240CFA_INCDIR = @CFA_INCDIR@
     241CFA_LIBDIR = @CFA_LIBDIR@
     242CFA_PREFIX = @CFA_PREFIX@
     243CFLAGS = @CFLAGS@
     244CPP = @CPP@
     245CPPFLAGS = @CPPFLAGS@
     246CXX = @CXX@
     247CXXDEPMODE = @CXXDEPMODE@
     248CXXFLAGS = -g   # remove default -O2 to allow better debugging
     249CYGPATH_W = @CYGPATH_W@
     250DEFS = @DEFS@
     251DEPDIR = @DEPDIR@
     252ECHO_C = @ECHO_C@
     253ECHO_N = @ECHO_N@
     254ECHO_T = @ECHO_T@
     255EGREP = @EGREP@
     256EXEEXT = @EXEEXT@
     257GCC_PATH = @GCC_PATH@
     258GREP = @GREP@
     259INSTALL = @INSTALL@
     260INSTALL_DATA = @INSTALL_DATA@
     261INSTALL_PROGRAM = @INSTALL_PROGRAM@
     262INSTALL_SCRIPT = @INSTALL_SCRIPT@
     263INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     264LDFLAGS = @LDFLAGS@
     265LEX = @LEX@
     266LEXLIB = @LEXLIB@
     267LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
     268LIBOBJS = @LIBOBJS@
     269LIBS = @LIBS@
     270LTLIBOBJS = @LTLIBOBJS@
     271MAINT = @MAINT@
     272MAKEINFO = @MAKEINFO@
     273MKDIR_P = @MKDIR_P@
     274OBJEXT = @OBJEXT@
     275PACKAGE = @PACKAGE@
     276PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     277PACKAGE_NAME = @PACKAGE_NAME@
     278PACKAGE_STRING = @PACKAGE_STRING@
     279PACKAGE_TARNAME = @PACKAGE_TARNAME@
     280PACKAGE_URL = @PACKAGE_URL@
     281PACKAGE_VERSION = @PACKAGE_VERSION@
     282PATH_SEPARATOR = @PATH_SEPARATOR@
     283RANLIB = @RANLIB@
     284SET_MAKE = @SET_MAKE@
     285SHELL = @SHELL@
     286STRIP = @STRIP@
     287VERSION = @VERSION@
     288YACC = @YACC@
     289YFLAGS = @YFLAGS@
     290abs_builddir = @abs_builddir@
     291abs_srcdir = @abs_srcdir@
     292abs_top_builddir = @abs_top_builddir@
     293abs_top_srcdir = @abs_top_srcdir@
     294ac_ct_CC = @ac_ct_CC@
     295ac_ct_CXX = @ac_ct_CXX@
     296am__include = @am__include@
     297am__leading_dot = @am__leading_dot@
     298am__quote = @am__quote@
     299am__tar = @am__tar@
     300am__untar = @am__untar@
     301bindir = @bindir@
     302build_alias = @build_alias@
     303builddir = @builddir@
     304datadir = @datadir@
     305datarootdir = @datarootdir@
     306docdir = @docdir@
     307dvidir = @dvidir@
     308exec_prefix = @exec_prefix@
     309host_alias = @host_alias@
     310htmldir = @htmldir@
     311includedir = @includedir@
     312infodir = @infodir@
     313install_sh = @install_sh@
     314libdir = @libdir@
     315libexecdir = @libexecdir@
     316localedir = @localedir@
     317localstatedir = @localstatedir@
     318mandir = @mandir@
     319mkdir_p = @mkdir_p@
     320oldincludedir = @oldincludedir@
     321pdfdir = @pdfdir@
     322prefix = @prefix@
     323program_transform_name = @program_transform_name@
     324psdir = @psdir@
     325sbindir = @sbindir@
     326sharedstatedir = @sharedstatedir@
     327srcdir = @srcdir@
     328sysconfdir = @sysconfdir@
     329target_alias = @target_alias@
     330top_build_prefix = @top_build_prefix@
     331top_builddir = @top_builddir@
     332top_srcdir = @top_srcdir@
     333
     334# create object files in directory with source files
     335AUTOMAKE_OPTIONS = subdir-objects
     336SRC = 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
     384BUILT_SOURCES = Parser/parser.h
     385AM_YFLAGS = -d -t -v
     386cfa_cpp_LDADD = ${LEXLIB}       # yywrap
     387MAINTAINERCLEANFILES = Parser/parser.output
     388
     389# Is there a way to use a variable for the directory names?
     390
     391# put into lib for now
     392cfa_cpplibdir = ${libdir}
     393cfa_cpp_SOURCES = ${SRC}
     394# need files Common/utility.h
     395cfa_cpp_CXXFLAGS = -Wno-deprecated -Wall -DDEBUG_ALL -I${srcdir}/Common
     396all: $(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
     414Makefile: $(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):
     432install-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
     457uninstall-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
     467clean-cfa_cpplibPROGRAMS:
     468        -test -z "$(cfa_cpplib_PROGRAMS)" || rm -f $(cfa_cpplib_PROGRAMS)
     469CodeGen/$(am__dirstamp):
     470        @$(MKDIR_P) CodeGen
     471        @: > CodeGen/$(am__dirstamp)
     472CodeGen/$(DEPDIR)/$(am__dirstamp):
     473        @$(MKDIR_P) CodeGen/$(DEPDIR)
     474        @: > CodeGen/$(DEPDIR)/$(am__dirstamp)
     475CodeGen/cfa_cpp-Generate.$(OBJEXT): CodeGen/$(am__dirstamp) \
     476        CodeGen/$(DEPDIR)/$(am__dirstamp)
     477CodeGen/cfa_cpp-CodeGenerator.$(OBJEXT): CodeGen/$(am__dirstamp) \
     478        CodeGen/$(DEPDIR)/$(am__dirstamp)
     479CodeGen/cfa_cpp-GenType.$(OBJEXT): CodeGen/$(am__dirstamp) \
     480        CodeGen/$(DEPDIR)/$(am__dirstamp)
     481CodeGen/cfa_cpp-FixNames.$(OBJEXT): CodeGen/$(am__dirstamp) \
     482        CodeGen/$(DEPDIR)/$(am__dirstamp)
     483CodeGen/cfa_cpp-OperatorTable.$(OBJEXT): CodeGen/$(am__dirstamp) \
     484        CodeGen/$(DEPDIR)/$(am__dirstamp)
     485Common/$(am__dirstamp):
     486        @$(MKDIR_P) Common
     487        @: > Common/$(am__dirstamp)
     488Common/$(DEPDIR)/$(am__dirstamp):
     489        @$(MKDIR_P) Common/$(DEPDIR)
     490        @: > Common/$(DEPDIR)/$(am__dirstamp)
     491Common/cfa_cpp-SemanticError.$(OBJEXT): Common/$(am__dirstamp) \
     492        Common/$(DEPDIR)/$(am__dirstamp)
     493Common/cfa_cpp-UniqueName.$(OBJEXT): Common/$(am__dirstamp) \
     494        Common/$(DEPDIR)/$(am__dirstamp)
     495ControlStruct/$(am__dirstamp):
     496        @$(MKDIR_P) ControlStruct
     497        @: > ControlStruct/$(am__dirstamp)
     498ControlStruct/$(DEPDIR)/$(am__dirstamp):
     499        @$(MKDIR_P) ControlStruct/$(DEPDIR)
     500        @: > ControlStruct/$(DEPDIR)/$(am__dirstamp)
     501ControlStruct/cfa_cpp-LabelGenerator.$(OBJEXT):  \
     502        ControlStruct/$(am__dirstamp) \
     503        ControlStruct/$(DEPDIR)/$(am__dirstamp)
     504ControlStruct/cfa_cpp-LabelFixer.$(OBJEXT):  \
     505        ControlStruct/$(am__dirstamp) \
     506        ControlStruct/$(DEPDIR)/$(am__dirstamp)
     507ControlStruct/cfa_cpp-MLEMutator.$(OBJEXT):  \
     508        ControlStruct/$(am__dirstamp) \
     509        ControlStruct/$(DEPDIR)/$(am__dirstamp)
     510ControlStruct/cfa_cpp-CaseRangeMutator.$(OBJEXT):  \
     511        ControlStruct/$(am__dirstamp) \
     512        ControlStruct/$(DEPDIR)/$(am__dirstamp)
     513ControlStruct/cfa_cpp-Mutate.$(OBJEXT): ControlStruct/$(am__dirstamp) \
     514        ControlStruct/$(DEPDIR)/$(am__dirstamp)
     515ControlStruct/cfa_cpp-ChooseMutator.$(OBJEXT):  \
     516        ControlStruct/$(am__dirstamp) \
     517        ControlStruct/$(DEPDIR)/$(am__dirstamp)
     518ControlStruct/cfa_cpp-ForExprMutator.$(OBJEXT):  \
     519        ControlStruct/$(am__dirstamp) \
     520        ControlStruct/$(DEPDIR)/$(am__dirstamp)
     521ControlStruct/cfa_cpp-LabelTypeChecker.$(OBJEXT):  \
     522        ControlStruct/$(am__dirstamp) \
     523        ControlStruct/$(DEPDIR)/$(am__dirstamp)
     524Designators/$(am__dirstamp):
     525        @$(MKDIR_P) Designators
     526        @: > Designators/$(am__dirstamp)
     527Designators/$(DEPDIR)/$(am__dirstamp):
     528        @$(MKDIR_P) Designators/$(DEPDIR)
     529        @: > Designators/$(DEPDIR)/$(am__dirstamp)
     530Designators/cfa_cpp-Processor.$(OBJEXT): Designators/$(am__dirstamp) \
     531        Designators/$(DEPDIR)/$(am__dirstamp)
     532GenPoly/$(am__dirstamp):
     533        @$(MKDIR_P) GenPoly
     534        @: > GenPoly/$(am__dirstamp)
     535GenPoly/$(DEPDIR)/$(am__dirstamp):
     536        @$(MKDIR_P) GenPoly/$(DEPDIR)
     537        @: > GenPoly/$(DEPDIR)/$(am__dirstamp)
     538GenPoly/cfa_cpp-Box.$(OBJEXT): GenPoly/$(am__dirstamp) \
     539        GenPoly/$(DEPDIR)/$(am__dirstamp)
     540GenPoly/cfa_cpp-GenPoly.$(OBJEXT): GenPoly/$(am__dirstamp) \
     541        GenPoly/$(DEPDIR)/$(am__dirstamp)
     542GenPoly/cfa_cpp-PolyMutator.$(OBJEXT): GenPoly/$(am__dirstamp) \
     543        GenPoly/$(DEPDIR)/$(am__dirstamp)
     544GenPoly/cfa_cpp-ScrubTyVars.$(OBJEXT): GenPoly/$(am__dirstamp) \
     545        GenPoly/$(DEPDIR)/$(am__dirstamp)
     546GenPoly/cfa_cpp-Lvalue.$(OBJEXT): GenPoly/$(am__dirstamp) \
     547        GenPoly/$(DEPDIR)/$(am__dirstamp)
     548GenPoly/cfa_cpp-Specialize.$(OBJEXT): GenPoly/$(am__dirstamp) \
     549        GenPoly/$(DEPDIR)/$(am__dirstamp)
     550GenPoly/cfa_cpp-CopyParams.$(OBJEXT): GenPoly/$(am__dirstamp) \
     551        GenPoly/$(DEPDIR)/$(am__dirstamp)
     552GenPoly/cfa_cpp-FindFunction.$(OBJEXT): GenPoly/$(am__dirstamp) \
     553        GenPoly/$(DEPDIR)/$(am__dirstamp)
     554InitTweak/$(am__dirstamp):
     555        @$(MKDIR_P) InitTweak
     556        @: > InitTweak/$(am__dirstamp)
     557InitTweak/$(DEPDIR)/$(am__dirstamp):
     558        @$(MKDIR_P) InitTweak/$(DEPDIR)
     559        @: > InitTweak/$(DEPDIR)/$(am__dirstamp)
     560InitTweak/cfa_cpp-InitModel.$(OBJEXT): InitTweak/$(am__dirstamp) \
     561        InitTweak/$(DEPDIR)/$(am__dirstamp)
     562InitTweak/cfa_cpp-InitExpander.$(OBJEXT): InitTweak/$(am__dirstamp) \
     563        InitTweak/$(DEPDIR)/$(am__dirstamp)
     564InitTweak/cfa_cpp-Mutate.$(OBJEXT): InitTweak/$(am__dirstamp) \
     565        InitTweak/$(DEPDIR)/$(am__dirstamp)
     566InitTweak/cfa_cpp-Association.$(OBJEXT): InitTweak/$(am__dirstamp) \
     567        InitTweak/$(DEPDIR)/$(am__dirstamp)
     568InitTweak/cfa_cpp-RemoveInit.$(OBJEXT): InitTweak/$(am__dirstamp) \
     569        InitTweak/$(DEPDIR)/$(am__dirstamp)
     570Parser/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
     573Parser/$(am__dirstamp):
     574        @$(MKDIR_P) Parser
     575        @: > Parser/$(am__dirstamp)
     576Parser/$(DEPDIR)/$(am__dirstamp):
     577        @$(MKDIR_P) Parser/$(DEPDIR)
     578        @: > Parser/$(DEPDIR)/$(am__dirstamp)
     579Parser/cfa_cpp-parser.$(OBJEXT): Parser/$(am__dirstamp) \
     580        Parser/$(DEPDIR)/$(am__dirstamp)
     581Parser/cfa_cpp-lex.$(OBJEXT): Parser/$(am__dirstamp) \
     582        Parser/$(DEPDIR)/$(am__dirstamp)
     583Parser/cfa_cpp-TypedefTable.$(OBJEXT): Parser/$(am__dirstamp) \
     584        Parser/$(DEPDIR)/$(am__dirstamp)
     585Parser/cfa_cpp-ParseNode.$(OBJEXT): Parser/$(am__dirstamp) \
     586        Parser/$(DEPDIR)/$(am__dirstamp)
     587Parser/cfa_cpp-DeclarationNode.$(OBJEXT): Parser/$(am__dirstamp) \
     588        Parser/$(DEPDIR)/$(am__dirstamp)
     589Parser/cfa_cpp-ExpressionNode.$(OBJEXT): Parser/$(am__dirstamp) \
     590        Parser/$(DEPDIR)/$(am__dirstamp)
     591Parser/cfa_cpp-StatementNode.$(OBJEXT): Parser/$(am__dirstamp) \
     592        Parser/$(DEPDIR)/$(am__dirstamp)
     593Parser/cfa_cpp-InitializerNode.$(OBJEXT): Parser/$(am__dirstamp) \
     594        Parser/$(DEPDIR)/$(am__dirstamp)
     595Parser/cfa_cpp-TypeData.$(OBJEXT): Parser/$(am__dirstamp) \
     596        Parser/$(DEPDIR)/$(am__dirstamp)
     597Parser/cfa_cpp-LinkageSpec.$(OBJEXT): Parser/$(am__dirstamp) \
     598        Parser/$(DEPDIR)/$(am__dirstamp)
     599Parser/cfa_cpp-parseutility.$(OBJEXT): Parser/$(am__dirstamp) \
     600        Parser/$(DEPDIR)/$(am__dirstamp)
     601Parser/cfa_cpp-Parser.$(OBJEXT): Parser/$(am__dirstamp) \
     602        Parser/$(DEPDIR)/$(am__dirstamp)
     603ResolvExpr/$(am__dirstamp):
     604        @$(MKDIR_P) ResolvExpr
     605        @: > ResolvExpr/$(am__dirstamp)
     606ResolvExpr/$(DEPDIR)/$(am__dirstamp):
     607        @$(MKDIR_P) ResolvExpr/$(DEPDIR)
     608        @: > ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     609ResolvExpr/cfa_cpp-AlternativeFinder.$(OBJEXT):  \
     610        ResolvExpr/$(am__dirstamp) \
     611        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     612ResolvExpr/cfa_cpp-Alternative.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
     613        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     614ResolvExpr/cfa_cpp-Unify.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
     615        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     616ResolvExpr/cfa_cpp-PtrsAssignable.$(OBJEXT):  \
     617        ResolvExpr/$(am__dirstamp) \
     618        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     619ResolvExpr/cfa_cpp-CommonType.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
     620        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     621ResolvExpr/cfa_cpp-ConversionCost.$(OBJEXT):  \
     622        ResolvExpr/$(am__dirstamp) \
     623        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     624ResolvExpr/cfa_cpp-CastCost.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
     625        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     626ResolvExpr/cfa_cpp-PtrsCastable.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
     627        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     628ResolvExpr/cfa_cpp-AdjustExprType.$(OBJEXT):  \
     629        ResolvExpr/$(am__dirstamp) \
     630        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     631ResolvExpr/cfa_cpp-AlternativePrinter.$(OBJEXT):  \
     632        ResolvExpr/$(am__dirstamp) \
     633        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     634ResolvExpr/cfa_cpp-Resolver.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
     635        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     636ResolvExpr/cfa_cpp-ResolveTypeof.$(OBJEXT):  \
     637        ResolvExpr/$(am__dirstamp) \
     638        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     639ResolvExpr/cfa_cpp-RenameVars.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
     640        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     641ResolvExpr/cfa_cpp-FindOpenVars.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
     642        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     643ResolvExpr/cfa_cpp-PolyCost.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
     644        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     645ResolvExpr/cfa_cpp-Occurs.$(OBJEXT): ResolvExpr/$(am__dirstamp) \
     646        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     647ResolvExpr/cfa_cpp-TypeEnvironment.$(OBJEXT):  \
     648        ResolvExpr/$(am__dirstamp) \
     649        ResolvExpr/$(DEPDIR)/$(am__dirstamp)
     650SymTab/$(am__dirstamp):
     651        @$(MKDIR_P) SymTab
     652        @: > SymTab/$(am__dirstamp)
     653SymTab/$(DEPDIR)/$(am__dirstamp):
     654        @$(MKDIR_P) SymTab/$(DEPDIR)
     655        @: > SymTab/$(DEPDIR)/$(am__dirstamp)
     656SymTab/cfa_cpp-IdTable.$(OBJEXT): SymTab/$(am__dirstamp) \
     657        SymTab/$(DEPDIR)/$(am__dirstamp)
     658SymTab/cfa_cpp-Indexer.$(OBJEXT): SymTab/$(am__dirstamp) \
     659        SymTab/$(DEPDIR)/$(am__dirstamp)
     660SymTab/cfa_cpp-Mangler.$(OBJEXT): SymTab/$(am__dirstamp) \
     661        SymTab/$(DEPDIR)/$(am__dirstamp)
     662SymTab/cfa_cpp-Validate.$(OBJEXT): SymTab/$(am__dirstamp) \
     663        SymTab/$(DEPDIR)/$(am__dirstamp)
     664SymTab/cfa_cpp-FixFunction.$(OBJEXT): SymTab/$(am__dirstamp) \
     665        SymTab/$(DEPDIR)/$(am__dirstamp)
     666SymTab/cfa_cpp-ImplementationType.$(OBJEXT): SymTab/$(am__dirstamp) \
     667        SymTab/$(DEPDIR)/$(am__dirstamp)
     668SynTree/$(am__dirstamp):
     669        @$(MKDIR_P) SynTree
     670        @: > SynTree/$(am__dirstamp)
     671SynTree/$(DEPDIR)/$(am__dirstamp):
     672        @$(MKDIR_P) SynTree/$(DEPDIR)
     673        @: > SynTree/$(DEPDIR)/$(am__dirstamp)
     674SynTree/cfa_cpp-Type.$(OBJEXT): SynTree/$(am__dirstamp) \
     675        SynTree/$(DEPDIR)/$(am__dirstamp)
     676SynTree/cfa_cpp-VoidType.$(OBJEXT): SynTree/$(am__dirstamp) \
     677        SynTree/$(DEPDIR)/$(am__dirstamp)
     678SynTree/cfa_cpp-BasicType.$(OBJEXT): SynTree/$(am__dirstamp) \
     679        SynTree/$(DEPDIR)/$(am__dirstamp)
     680SynTree/cfa_cpp-PointerType.$(OBJEXT): SynTree/$(am__dirstamp) \
     681        SynTree/$(DEPDIR)/$(am__dirstamp)
     682SynTree/cfa_cpp-ArrayType.$(OBJEXT): SynTree/$(am__dirstamp) \
     683        SynTree/$(DEPDIR)/$(am__dirstamp)
     684SynTree/cfa_cpp-FunctionType.$(OBJEXT): SynTree/$(am__dirstamp) \
     685        SynTree/$(DEPDIR)/$(am__dirstamp)
     686SynTree/cfa_cpp-ReferenceToType.$(OBJEXT): SynTree/$(am__dirstamp) \
     687        SynTree/$(DEPDIR)/$(am__dirstamp)
     688SynTree/cfa_cpp-TupleType.$(OBJEXT): SynTree/$(am__dirstamp) \
     689        SynTree/$(DEPDIR)/$(am__dirstamp)
     690SynTree/cfa_cpp-TypeofType.$(OBJEXT): SynTree/$(am__dirstamp) \
     691        SynTree/$(DEPDIR)/$(am__dirstamp)
     692SynTree/cfa_cpp-AttrType.$(OBJEXT): SynTree/$(am__dirstamp) \
     693        SynTree/$(DEPDIR)/$(am__dirstamp)
     694SynTree/cfa_cpp-Constant.$(OBJEXT): SynTree/$(am__dirstamp) \
     695        SynTree/$(DEPDIR)/$(am__dirstamp)
     696SynTree/cfa_cpp-Expression.$(OBJEXT): SynTree/$(am__dirstamp) \
     697        SynTree/$(DEPDIR)/$(am__dirstamp)
     698SynTree/cfa_cpp-TupleExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
     699        SynTree/$(DEPDIR)/$(am__dirstamp)
     700SynTree/cfa_cpp-CommaExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
     701        SynTree/$(DEPDIR)/$(am__dirstamp)
     702SynTree/cfa_cpp-TypeExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
     703        SynTree/$(DEPDIR)/$(am__dirstamp)
     704SynTree/cfa_cpp-ApplicationExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
     705        SynTree/$(DEPDIR)/$(am__dirstamp)
     706SynTree/cfa_cpp-AddressExpr.$(OBJEXT): SynTree/$(am__dirstamp) \
     707        SynTree/$(DEPDIR)/$(am__dirstamp)
     708SynTree/cfa_cpp-Statement.$(OBJEXT): SynTree/$(am__dirstamp) \
     709        SynTree/$(DEPDIR)/$(am__dirstamp)
     710SynTree/cfa_cpp-CompoundStmt.$(OBJEXT): SynTree/$(am__dirstamp) \
     711        SynTree/$(DEPDIR)/$(am__dirstamp)
     712SynTree/cfa_cpp-DeclStmt.$(OBJEXT): SynTree/$(am__dirstamp) \
     713        SynTree/$(DEPDIR)/$(am__dirstamp)
     714SynTree/cfa_cpp-Declaration.$(OBJEXT): SynTree/$(am__dirstamp) \
     715        SynTree/$(DEPDIR)/$(am__dirstamp)
     716SynTree/cfa_cpp-DeclarationWithType.$(OBJEXT):  \
     717        SynTree/$(am__dirstamp) SynTree/$(DEPDIR)/$(am__dirstamp)
     718SynTree/cfa_cpp-ObjectDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
     719        SynTree/$(DEPDIR)/$(am__dirstamp)
     720SynTree/cfa_cpp-FunctionDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
     721        SynTree/$(DEPDIR)/$(am__dirstamp)
     722SynTree/cfa_cpp-AggregateDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
     723        SynTree/$(DEPDIR)/$(am__dirstamp)
     724SynTree/cfa_cpp-NamedTypeDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
     725        SynTree/$(DEPDIR)/$(am__dirstamp)
     726SynTree/cfa_cpp-TypeDecl.$(OBJEXT): SynTree/$(am__dirstamp) \
     727        SynTree/$(DEPDIR)/$(am__dirstamp)
     728SynTree/cfa_cpp-Initializer.$(OBJEXT): SynTree/$(am__dirstamp) \
     729        SynTree/$(DEPDIR)/$(am__dirstamp)
     730SynTree/cfa_cpp-Visitor.$(OBJEXT): SynTree/$(am__dirstamp) \
     731        SynTree/$(DEPDIR)/$(am__dirstamp)
     732SynTree/cfa_cpp-Mutator.$(OBJEXT): SynTree/$(am__dirstamp) \
     733        SynTree/$(DEPDIR)/$(am__dirstamp)
     734SynTree/cfa_cpp-CodeGenVisitor.$(OBJEXT): SynTree/$(am__dirstamp) \
     735        SynTree/$(DEPDIR)/$(am__dirstamp)
     736SynTree/cfa_cpp-TypeSubstitution.$(OBJEXT): SynTree/$(am__dirstamp) \
     737        SynTree/$(DEPDIR)/$(am__dirstamp)
     738Tuples/$(am__dirstamp):
     739        @$(MKDIR_P) Tuples
     740        @: > Tuples/$(am__dirstamp)
     741Tuples/$(DEPDIR)/$(am__dirstamp):
     742        @$(MKDIR_P) Tuples/$(DEPDIR)
     743        @: > Tuples/$(DEPDIR)/$(am__dirstamp)
     744Tuples/cfa_cpp-Mutate.$(OBJEXT): Tuples/$(am__dirstamp) \
     745        Tuples/$(DEPDIR)/$(am__dirstamp)
     746Tuples/cfa_cpp-AssignExpand.$(OBJEXT): Tuples/$(am__dirstamp) \
     747        Tuples/$(DEPDIR)/$(am__dirstamp)
     748Tuples/cfa_cpp-FunctionFixer.$(OBJEXT): Tuples/$(am__dirstamp) \
     749        Tuples/$(DEPDIR)/$(am__dirstamp)
     750Tuples/cfa_cpp-TupleAssignment.$(OBJEXT): Tuples/$(am__dirstamp) \
     751        Tuples/$(DEPDIR)/$(am__dirstamp)
     752Tuples/cfa_cpp-FunctionChecker.$(OBJEXT): Tuples/$(am__dirstamp) \
     753        Tuples/$(DEPDIR)/$(am__dirstamp)
     754Tuples/cfa_cpp-NameMatcher.$(OBJEXT): Tuples/$(am__dirstamp) \
     755        Tuples/$(DEPDIR)/$(am__dirstamp)
     756cfa-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
     760mostlyclean-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
     865distclean-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
     989cfa_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
     996cfa_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
     1003cfa_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
     1010cfa_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
     1017CodeGen/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
     1024CodeGen/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
     1031CodeGen/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
     1038CodeGen/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
     1045CodeGen/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
     1052CodeGen/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
     1059CodeGen/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
     1066CodeGen/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
     1073CodeGen/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
     1080CodeGen/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
     1087Common/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
     1094Common/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
     1101Common/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
     1108Common/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
     1115ControlStruct/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
     1122ControlStruct/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
     1129ControlStruct/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
     1136ControlStruct/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
     1143ControlStruct/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
     1150ControlStruct/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
     1157ControlStruct/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
     1164ControlStruct/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
     1171ControlStruct/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
     1178ControlStruct/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
     1185ControlStruct/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
     1192ControlStruct/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
     1199ControlStruct/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
     1206ControlStruct/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
     1213ControlStruct/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
     1220ControlStruct/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
     1227Designators/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
     1234Designators/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
     1241GenPoly/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
     1248GenPoly/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
     1255GenPoly/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
     1262GenPoly/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
     1269GenPoly/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
     1276GenPoly/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
     1283GenPoly/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
     1290GenPoly/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
     1297GenPoly/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
     1304GenPoly/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
     1311GenPoly/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
     1318GenPoly/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
     1325GenPoly/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
     1332GenPoly/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
     1339GenPoly/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
     1346GenPoly/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
     1353InitTweak/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
     1360InitTweak/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
     1367InitTweak/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
     1374InitTweak/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
     1381InitTweak/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
     1388InitTweak/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
     1395InitTweak/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
     1402InitTweak/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
     1409InitTweak/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
     1416InitTweak/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
     1423Parser/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
     1430Parser/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
     1437Parser/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
     1444Parser/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
     1451Parser/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
     1458Parser/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
     1465Parser/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
     1472Parser/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
     1479Parser/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
     1486Parser/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
     1493Parser/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
     1500Parser/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
     1507Parser/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
     1514Parser/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
     1521Parser/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
     1528Parser/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
     1535Parser/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
     1542Parser/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
     1549Parser/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
     1556Parser/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
     1563Parser/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
     1570Parser/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
     1577Parser/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
     1584Parser/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
     1591ResolvExpr/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
     1598ResolvExpr/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
     1605ResolvExpr/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
     1612ResolvExpr/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
     1619ResolvExpr/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
     1626ResolvExpr/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
     1633ResolvExpr/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
     1640ResolvExpr/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
     1647ResolvExpr/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
     1654ResolvExpr/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
     1661ResolvExpr/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
     1668ResolvExpr/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
     1675ResolvExpr/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
     1682ResolvExpr/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
     1689ResolvExpr/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
     1696ResolvExpr/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
     1703ResolvExpr/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
     1710ResolvExpr/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
     1717ResolvExpr/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
     1724ResolvExpr/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
     1731ResolvExpr/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
     1738ResolvExpr/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
     1745ResolvExpr/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
     1752ResolvExpr/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
     1759ResolvExpr/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
     1766ResolvExpr/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
     1773ResolvExpr/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
     1780ResolvExpr/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
     1787ResolvExpr/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
     1794ResolvExpr/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
     1801ResolvExpr/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
     1808ResolvExpr/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
     1815ResolvExpr/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
     1822ResolvExpr/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
     1829SymTab/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
     1836SymTab/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
     1843SymTab/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
     1850SymTab/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
     1857SymTab/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
     1864SymTab/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
     1871SymTab/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
     1878SymTab/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
     1885SymTab/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
     1892SymTab/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
     1899SymTab/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
     1906SymTab/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
     1913SynTree/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
     1920SynTree/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
     1927SynTree/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
     1934SynTree/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
     1941SynTree/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
     1948SynTree/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
     1955SynTree/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
     1962SynTree/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
     1969SynTree/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
     1976SynTree/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
     1983SynTree/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
     1990SynTree/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
     1997SynTree/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
     2004SynTree/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
     2011SynTree/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
     2018SynTree/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
     2025SynTree/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
     2032SynTree/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
     2039SynTree/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
     2046SynTree/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
     2053SynTree/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
     2060SynTree/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
     2067SynTree/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
     2074SynTree/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
     2081SynTree/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
     2088SynTree/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
     2095SynTree/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
     2102SynTree/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
     2109SynTree/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
     2116SynTree/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
     2123SynTree/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
     2130SynTree/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
     2137SynTree/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
     2144SynTree/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
     2151SynTree/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
     2158SynTree/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
     2165SynTree/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
     2172SynTree/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
     2179SynTree/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
     2186SynTree/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
     2193SynTree/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
     2200SynTree/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
     2207SynTree/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
     2214SynTree/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
     2221SynTree/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
     2228SynTree/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
     2235SynTree/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
     2242SynTree/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
     2249SynTree/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
     2256SynTree/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
     2263SynTree/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
     2270SynTree/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
     2277SynTree/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
     2284SynTree/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
     2291SynTree/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
     2298SynTree/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
     2305SynTree/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
     2312SynTree/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
     2319SynTree/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
     2326SynTree/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
     2333SynTree/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
     2340SynTree/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
     2347SynTree/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
     2354SynTree/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
     2361Tuples/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
     2368Tuples/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
     2375Tuples/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
     2382Tuples/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
     2389Tuples/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
     2396Tuples/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
     2403Tuples/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
     2410Tuples/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
     2417Tuples/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
     2424Tuples/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
     2431Tuples/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
     2438Tuples/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
     2451ID: $(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
     2459tags: TAGS
     2460
     2461TAGS:  $(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
     2482ctags: CTAGS
     2483CTAGS:  $(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
     2495GTAGS:
     2496        here=`$(am__cd) $(top_builddir) && pwd` \
     2497          && $(am__cd) $(top_srcdir) \
     2498          && gtags -i $(GTAGS_ARGS) "$$here"
     2499
     2500distclean-tags:
     2501        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
     2502
     2503distdir: $(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
     2533check-am: all-am
     2534check: $(BUILT_SOURCES)
     2535        $(MAKE) $(AM_MAKEFLAGS) check-am
     2536all-am: Makefile $(PROGRAMS)
     2537installdirs:
     2538        for dir in "$(DESTDIR)$(cfa_cpplibdir)"; do \
     2539          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
     2540        done
     2541install: $(BUILT_SOURCES)
     2542        $(MAKE) $(AM_MAKEFLAGS) install-am
     2543install-exec: install-exec-am
     2544install-data: install-data-am
     2545uninstall: uninstall-am
     2546
     2547install-am: all-am
     2548        @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
     2549
     2550installcheck: installcheck-am
     2551install-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
     2561mostlyclean-generic:
     2562
     2563clean-generic:
     2564
     2565distclean-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
     2591maintainer-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)
     2599clean: clean-am
     2600
     2601clean-am: clean-cfa_cpplibPROGRAMS clean-generic mostlyclean-am
     2602
     2603distclean: 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
     2606distclean-am: clean-am distclean-compile distclean-generic \
     2607        distclean-tags
     2608
     2609dvi: dvi-am
     2610
     2611dvi-am:
     2612
     2613html: html-am
     2614
     2615html-am:
     2616
     2617info: info-am
     2618
     2619info-am:
     2620
     2621install-data-am: install-cfa_cpplibPROGRAMS
     2622
     2623install-dvi: install-dvi-am
     2624
     2625install-dvi-am:
     2626
     2627install-exec-am:
     2628
     2629install-html: install-html-am
     2630
     2631install-html-am:
     2632
     2633install-info: install-info-am
     2634
     2635install-info-am:
     2636
     2637install-man:
     2638
     2639install-pdf: install-pdf-am
     2640
     2641install-pdf-am:
     2642
     2643install-ps: install-ps-am
     2644
     2645install-ps-am:
     2646
     2647installcheck-am:
     2648
     2649maintainer-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
     2652maintainer-clean-am: distclean-am maintainer-clean-generic
     2653
     2654mostlyclean: mostlyclean-am
     2655
     2656mostlyclean-am: mostlyclean-compile mostlyclean-generic
     2657
     2658pdf: pdf-am
     2659
     2660pdf-am:
     2661
     2662ps: ps-am
     2663
     2664ps-am:
     2665
     2666uninstall-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:
  • src/Parser/DeclarationNode.cc

    reb50842 r937e51d  
    1010// Created On       : Sat May 16 12:34:05 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu May 21 09:28:54 2015
    13 // Update Count     : 13
     12// Last Modified On : Wed Jun 24 15:29:19 2015
     13// Update Count     : 86
    1414//
    1515
     
    2121
    2222#include "TypeData.h"
     23
     24#include "SynTree/Declaration.h"
    2325#include "SynTree/Expression.h"
    2426
     27#include "Parser.h"
     28#include "TypedefTable.h"
     29extern TypedefTable typedefTable;
    2530
    2631using namespace std;
    2732
    2833// These must remain in the same order as the corresponding DeclarationNode enumerations.
     34const char *DeclarationNode::storageName[] = { "extern", "static", "auto", "register", "inline", "fortran", "_Noreturn", "_Thread_local", "" };
    2935const char *DeclarationNode::qualifierName[] = { "const", "restrict", "volatile", "lvalue", "_Atomic" };
    3036const char *DeclarationNode::basicTypeName[] = { "char", "int", "float", "double", "void", "_Bool", "_Complex", "_Imaginary" };
    31 const char *DeclarationNode::modifierName[] = { "signed", "unsigned", "short", "long" };
    32 const char *DeclarationNode::tyConName[] = { "struct", "union", "context" };
     37const char *DeclarationNode::modifierName[]  = { "signed", "unsigned", "short", "long" };
     38const char *DeclarationNode::aggregateName[] = { "struct", "union", "context" };
    3339const char *DeclarationNode::typeClassName[] = { "type", "dtype", "ftype" };
    3440
     
    6369}
    6470
    65 const char *storageClassName[] = {
    66         // order must correspond with DeclarationNode::StorageClass
    67         "extern",
    68         "static",
    69         "auto",
    70         "register",
    71         "inline",
    72         "fortran",
    73 };
    74 
    7571void DeclarationNode::print( std::ostream &os, int indent ) const {
    76         os << string(indent, ' ' );
     72        os << string( indent, ' ' );
    7773        if ( name == "" ) {
    7874                os << "unnamed: ";
    7975        } else {
    8076                os << name << ": ";
    81         }
     77        } // if
    8278
    8379        if ( linkage != LinkageSpec::Cforall ) {
    8480                os << LinkageSpec::toString( linkage ) << " ";
    85         }
    86 
    87         printEnums( storageClasses.begin(), storageClasses.end(), storageClassName, os );
     81        } // if
     82
     83        printEnums( storageClasses.begin(), storageClasses.end(), DeclarationNode::storageName, os );
    8884        if ( type ) {
    8985                type->print( os, indent );
    9086        } else {
    9187                os << "untyped entity ";
    92         }
     88        } // if
    9389
    9490        if ( bitfieldWidth ) {
    95                 os << endl << string(indent+2,  ' ') << "with bitfield width ";
     91                os << endl << string( indent + 2, ' ' ) << "with bitfield width ";
    9692                bitfieldWidth->printOneLine( os );
    97         }
     93        } // if
    9894
    9995        if ( initializer != 0 ) {
    100                 os << endl << string(indent+2,  ' ') << "with initializer ";
     96                os << endl << string( indent + 2, ' ' ) << "with initializer ";
    10197                initializer->printOneLine( os );
    102         }
     98        } // if
    10399
    104100        os << endl;
     
    109105        if ( hasEllipsis ) {
    110106                os << string( indent, ' ' )  << "and a variable number of other arguments" << endl;
    111         }
     107        } // if
    112108}
    113109
     
    123119        if ( body ) {
    124120                newnode->type->function->hasBody = true;
    125         }
     121        } // if
    126122
    127123        if ( ret ) {
     
    129125                ret->type = 0;
    130126                delete ret;
    131         }
     127        } // if
    132128
    133129        return newnode;
     
    141137}
    142138
    143 DeclarationNode *DeclarationNode::newStorageClass( StorageClass sc ) {
     139DeclarationNode *DeclarationNode::newStorageClass( DeclarationNode::StorageClass sc ) {
    144140        DeclarationNode *newnode = new DeclarationNode;
    145141        newnode->storageClasses.push_back( sc );
     
    161157}
    162158
    163 DeclarationNode *DeclarationNode::newForall( DeclarationNode* forall ) {
     159DeclarationNode *DeclarationNode::newForall( DeclarationNode *forall ) {
    164160        DeclarationNode *newnode = new DeclarationNode;
    165161        newnode->type = new TypeData( TypeData::Unknown );
     
    168164}
    169165
    170 DeclarationNode *DeclarationNode::newFromTypedef( std::string* name ) {
     166DeclarationNode *DeclarationNode::newFromTypedef( std::string *name ) {
    171167        DeclarationNode *newnode = new DeclarationNode;
    172168        newnode->type = new TypeData( TypeData::SymbolicInst );
     
    177173}
    178174
    179 DeclarationNode *DeclarationNode::newAggregate( TyCon kind, std::string* name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ) {
     175DeclarationNode *DeclarationNode::newAggregate( Aggregate kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields ) {
    180176        DeclarationNode *newnode = new DeclarationNode;
    181177        newnode->type = new TypeData( TypeData::Aggregate );
     
    184180        if ( newnode->type->aggregate->name == "" ) {
    185181                newnode->type->aggregate->name = DeclarationNode::anonymous.newName();
    186         }
     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
    187191        newnode->type->aggregate->params = formals;
    188192        newnode->type->aggregate->actuals = actuals;
     
    198202        if ( newnode->type->enumeration->name == "" ) {
    199203                newnode->type->enumeration->name = DeclarationNode::anonymous.newName();
    200         }
     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
    201213        newnode->type->enumeration->constants = constants;
    202214        return newnode;
    203215}
    204216
    205 DeclarationNode *DeclarationNode::newEnumConstant( std::string* name, ExpressionNode *constant ) {
     217DeclarationNode *DeclarationNode::newEnumConstant( std::string *name, ExpressionNode *constant ) {
    206218        DeclarationNode *newnode = new DeclarationNode;
    207219        newnode->name = assign_strptr( name );
     
    210222}
    211223
    212 DeclarationNode *DeclarationNode::newName( std::string* name ) {
     224DeclarationNode *DeclarationNode::newName( std::string *name ) {
    213225        DeclarationNode *newnode = new DeclarationNode;
    214226        newnode->name = assign_strptr( name );
     
    216228}
    217229
    218 DeclarationNode *DeclarationNode::newFromTypeGen( std::string* name, ExpressionNode *params ) {
     230DeclarationNode *DeclarationNode::newFromTypeGen( std::string *name, ExpressionNode *params ) {
    219231        DeclarationNode *newnode = new DeclarationNode;
    220232        newnode->type = new TypeData( TypeData::SymbolicInst );
     
    225237}
    226238
    227 DeclarationNode *DeclarationNode::newTypeParam( TypeClass tc, std::string* name ) {
     239DeclarationNode *DeclarationNode::newTypeParam( TypeClass tc, std::string *name ) {
    228240        DeclarationNode *newnode = new DeclarationNode;
    229241        newnode->name = assign_strptr( name );
     
    331343                        } else {
    332344                                dst->forall = src->forall;
    333                         }
     345                        } // if
    334346                        src->forall = 0;
    335                 }
     347                } // if
    336348                if ( dst->base ) {
    337349                        addQualifiersToType( src, dst->base );
     
    341353                } else {
    342354                        dst->qualifiers.splice( dst->qualifiers.end(), src->qualifiers );
    343                 }
    344         }
     355                } // if
     356        } // if
    345357}
    346358         
     
    351363                        if ( ! type ) {
    352364                                type = new TypeData;
    353                         }
     365                        } // if
    354366                        addQualifiersToType( q->type, type );
    355367                        if ( q->type && q->type->forall ) {
     
    357369                                        type->forall->appendList( q->type->forall );
    358370                                } else {
    359                                         type->forall = q->type->forall;
    360                                 }
     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
    361377                                q->type->forall = 0;
    362                         }
    363                 }
    364         }
     378                        } // if
     379                } // if
     380        } // if
    365381        delete q;
    366382        return this;
     
    379395                        } else {
    380396                                dst->forall = src->forall;
    381                         }
     397                        } // if
    382398                        src->forall = 0;
    383                 }
     399                } // if
    384400                if ( dst->base ) {
    385401                        addTypeToType( src, dst->base );
     
    398414                                        dst->basic->modifiers.splice( dst->basic->modifiers.end(), src->basic->modifiers );
    399415                                        dst->basic->typeSpec.splice( dst->basic->typeSpec.end(), src->basic->typeSpec );
    400                                 }
     416                                } // if
    401417                                break;
    402418
     
    409425                                        if ( src->kind == TypeData::Aggregate ) {
    410426                                                dst->base->aggInst->params = maybeClone( src->aggregate->actuals );
    411                                         }
     427                                        } // if
    412428                                        dst->base->qualifiers.splice( dst->base->qualifiers.end(), src->qualifiers );
    413429                                        src = 0;
     
    419435                                        } else {
    420436                                                dst->forall = src->forall;
    421                                         }
     437                                        } // if
    422438                                        src->forall = 0;
    423439                                        dst->base = src;
    424440                                        src = 0;
    425                                 }
    426                         }
    427                 }
    428         }
     441                                } // switch
     442                        } // switch
     443                } // if
     444        } // if
    429445}
    430446
     
    439455                                        if ( o->type->kind == TypeData::Aggregate ) {
    440456                                                type->aggInst->params = maybeClone( o->type->aggregate->actuals );
    441                                         }
     457                                        } // if
    442458                                        type->qualifiers.splice( type->qualifiers.end(), o->type->qualifiers );
    443459                                } else {
    444460                                        type = o->type;
    445                                 }
     461                                } // if
    446462                                o->type = 0;
    447463                        } else {
    448464                                addTypeToType( o->type, type );
    449                         }
    450                 }
     465                        } // if
     466                } // if
    451467                if ( o->bitfieldWidth ) {
    452468                        bitfieldWidth = o->bitfieldWidth;
    453                 }
    454         }
     469                } // if
     470        } // if
    455471        delete o;
    456472        return this;
     
    467483}
    468484
    469 DeclarationNode *DeclarationNode::addAssertions( DeclarationNode* assertions ) {
     485DeclarationNode *DeclarationNode::addAssertions( DeclarationNode *assertions ) {
    470486        assert( type );
    471487        switch ( type->kind ) {
     
    475491                } else {
    476492                        type->symbolic->assertions = assertions;
    477                 }
     493                } // if
    478494                break;
    479        
    480495          case TypeData::Variable:
    481496                if ( type->variable->assertions ) {
     
    483498                } else {
    484499                        type->variable->assertions = assertions;
    485                 }
     500                } // if
    486501                break;
    487        
    488502          default:
    489503                assert( false );
    490         }
     504        } // switch
    491505       
    492506        return this;
    493507}
    494508
    495 DeclarationNode *DeclarationNode::addName( std::string* newname ) {
     509DeclarationNode *DeclarationNode::addName( std::string *newname ) {
    496510        name = assign_strptr( newname );
    497511        return this;
     
    526540}
    527541
    528 static void
    529 setBase( TypeData *&type, TypeData *newType ) {
     542static void setBase( TypeData *&type, TypeData *newType ) {
    530543        if ( type ) {
    531544                TypeData *prevBase = type;
     
    534547                        prevBase = curBase;
    535548                        curBase = curBase->base;
    536                 }
     549                } // while
    537550                prevBase->base = newType;
    538551        } else {
    539552                type = newType;
    540         }
     553        } // if
    541554}
    542555
     
    547560                p->type = 0;
    548561                delete p;
    549         }
     562        } // if
    550563        return this;
    551564}
     
    557570                a->type = 0;
    558571                delete a;
    559         }
     572        } // if
    560573        return this;
    561574}
     
    572585                                if ( type->kind == TypeData::Aggregate ) {
    573586                                        p->type->base->aggInst->params = maybeClone( type->aggregate->actuals );
    574                                 }
     587                                } // if
    575588                                p->type->base->qualifiers.splice( p->type->base->qualifiers.end(), type->qualifiers );
    576589                                break;
     
    578591                          default:
    579592                                p->type->base = type;
    580                         }
     593                        } // switch
    581594                        type = 0;
    582                 }
     595                } // if
    583596                delete this;
    584597                return p;
    585598        } else {
    586599                return this;
    587         }
     600        } // if
    588601}
    589602
     
    593606        while ( cur->base ) {
    594607                cur = cur->base;
    595         }
     608        } // while
    596609        return cur;
    597610}
     
    609622                                if ( type->kind == TypeData::Aggregate ) {
    610623                                        lastArray->base->aggInst->params = maybeClone( type->aggregate->actuals );
    611                                 }
     624                                } // if
    612625                                lastArray->base->qualifiers.splice( lastArray->base->qualifiers.end(), type->qualifiers );
    613626                                break;
    614627                          default:
    615628                                lastArray->base = type;
    616                         }
     629                        } // switch
    617630                        type = 0;
    618                 }
     631                } // if
    619632                delete this;
    620633                return a;
    621634        } else {
    622635                return this;
    623         }
     636        } // if
    624637}
    625638
     
    637650                } else {
    638651                        type->function->idList = ids;
    639                 }
     652                } // if
    640653                return type;
    641654        } else {
     
    643656                newtype->function->idList = ids;
    644657                return newtype;
    645         }
     658        } // if
    646659}
    647660       
     
    662675        while ( srcType->base ) {
    663676                srcType = srcType->base;
    664         }
     677        } // while
    665678        newnode->type = maybeClone( srcType );
    666679        if ( newnode->type->kind == TypeData::AggregateInst ) {
     
    673686                        delete newnode->type->aggInst->aggregate->aggregate->members;
    674687                        newnode->type->aggInst->aggregate->aggregate->members = 0;
    675                 }
    676         }
     688                } // if
     689        } // if
    677690        newnode->type->forall = maybeClone( type->forall );
    678691        newnode->storageClasses = storageClasses;
     
    688701                        while ( srcType->base ) {
    689702                                srcType = srcType->base;
    690                         }
     703                        } // while
    691704                        TypeData *newType = srcType->clone();
    692705                        if ( newType->kind == TypeData::AggregateInst ) {
     
    699712                                        delete newType->aggInst->aggregate->aggregate->members;
    700713                                        newType->aggInst->aggregate->aggregate->members = 0;
    701                                 }
    702                         }
     714                                } // if
     715                        } // if
    703716                        newType->forall = maybeClone( type->forall );
    704717                        if ( ! o->type ) {
     
    707720                                addTypeToType( newType, o->type );
    708721                                delete newType;
    709                         }
    710                 }
    711         }
     722                        } // if
     723                } // if
     724        } // if
    712725        return o;
    713726}
     
    731744                                addTypeToType( newType, o->type );
    732745                                delete newType;
    733                         }
    734                 }
    735         }
     746                        } // if
     747                } // if
     748        } // if
    736749        return o;
    737750}
     
    740753        if ( node != 0 ) {
    741754                set_link( node );
    742         }
     755        } // if
    743756        return this;
    744757}
     
    756769}
    757770
    758 void buildList( const DeclarationNode *firstNode, std::list< Declaration* > &outputList ) {
     771void buildList( const DeclarationNode *firstNode, std::list< Declaration * > &outputList ) {
    759772        SemanticError errors;
    760         std::back_insert_iterator< std::list< Declaration* > > out( outputList );
     773        std::back_insert_iterator< std::list< Declaration *> > out( outputList );
    761774        const DeclarationNode *cur = firstNode;
    762775        while ( cur ) {
     
    776789                        errors.append( e );
    777790                } // try
    778                 cur = dynamic_cast< DeclarationNode* >( cur->get_link() );
     791                cur = dynamic_cast< DeclarationNode *>( cur->get_link() );
    779792        } // while
    780793        if ( ! errors.isEmpty() ) {
     
    783796}
    784797
    785 void buildList( const DeclarationNode *firstNode, std::list< DeclarationWithType* > &outputList ) {
     798void buildList( const DeclarationNode *firstNode, std::list< DeclarationWithType *> &outputList ) {
    786799        SemanticError errors;
    787         std::back_insert_iterator< std::list< DeclarationWithType* > > out( outputList );
     800        std::back_insert_iterator< std::list< DeclarationWithType *> > out( outputList );
    788801        const DeclarationNode *cur = firstNode;
    789802        while ( cur ) {
     
    799812                        Declaration *decl = cur->build();
    800813                        if ( decl ) {
    801                                 if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType* >( decl ) ) {
     814                                if ( DeclarationWithType *dwt = dynamic_cast< DeclarationWithType *>( decl ) ) {
    802815                                        *out++ = dwt;
    803                                 } else if ( StructDecl *agg = dynamic_cast< StructDecl* >( decl ) ) {
     816                                } else if ( StructDecl *agg = dynamic_cast< StructDecl *>( decl ) ) {
    804817                                        StructInstType *inst = new StructInstType( Type::Qualifiers(), agg->get_name() );
    805                                         *out++ = new ObjectDecl( "", Declaration::NoStorageClass, linkage, 0, inst, 0 );
     818                                        *out++ = new ObjectDecl( "", DeclarationNode::NoStorageClass, linkage, 0, inst, 0 );
    806819                                        delete agg;
    807                                 } else if ( UnionDecl *agg = dynamic_cast< UnionDecl* >( decl ) ) {
     820                                } else if ( UnionDecl *agg = dynamic_cast< UnionDecl *>( decl ) ) {
    808821                                        UnionInstType *inst = new UnionInstType( Type::Qualifiers(), agg->get_name() );
    809                                         *out++ = new ObjectDecl( "", Declaration::NoStorageClass, linkage, 0, inst, 0 );
     822                                        *out++ = new ObjectDecl( "", DeclarationNode::NoStorageClass, linkage, 0, inst, 0 );
    810823                                } // if
    811824                        } // if
     
    813826                        errors.append( e );
    814827                } // try
    815                 cur = dynamic_cast< DeclarationNode* >( cur->get_link() );
     828                cur = dynamic_cast< DeclarationNode *>( cur->get_link() );
    816829        } // while
    817830        if ( ! errors.isEmpty() ) {
     
    820833}
    821834
    822 void buildTypeList( const DeclarationNode *firstNode, std::list< Type* > &outputList ) {
     835void buildTypeList( const DeclarationNode *firstNode, std::list< Type *> &outputList ) {
    823836        SemanticError errors;
    824         std::back_insert_iterator< std::list< Type* > > out( outputList );
     837        std::back_insert_iterator< std::list< Type *> > out( outputList );
    825838        const DeclarationNode *cur = firstNode;
    826839        while ( cur ) {
     
    830843                        errors.append( e );
    831844                } // try
    832                 cur = dynamic_cast< DeclarationNode* >( cur->get_link() );
     845                cur = dynamic_cast< DeclarationNode *>( cur->get_link() );
    833846        } // while
    834847        if ( ! errors.isEmpty() ) {
     
    839852Declaration *DeclarationNode::build() const {
    840853        if ( type ) {
    841                 Declaration *newDecl = type->buildDecl( name, buildStorageClass(), maybeBuild< Expression >( bitfieldWidth ), buildInline(), linkage, maybeBuild< Initializer >(initializer) );
     854                Declaration *newDecl = type->buildDecl( name, buildStorageClass(), maybeBuild< Expression >( bitfieldWidth ), buildFuncSpecifier( Inline ), buildFuncSpecifier( Noreturn ), linkage, maybeBuild< Initializer >(initializer) );
    842855                return newDecl;
    843856        } // if
    844         if ( ! buildInline() ) {
     857        if ( ! buildFuncSpecifier( Inline ) && ! buildFuncSpecifier( Noreturn ) ) {
    845858                return new ObjectDecl( name, buildStorageClass(), linkage, maybeBuild< Expression >( bitfieldWidth ), 0, maybeBuild< Initializer >( initializer ) );
    846859        } // if
    847         throw SemanticError( "invalid inline specification in declaration of ", this );
     860        throw SemanticError( "invalid function specifier in declaration of ", this );
    848861}
    849862
     
    882895}
    883896
    884 Declaration::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 ) {
     897DeclarationNode::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 ?
    899902                        throw SemanticError( "invalid combination of storage classes in declaration of ", this );
    900                 }
    901                 ret = scMap[ *i ];
    902         }
     903                } // if
     904                ret = *i;
     905        } // for
    903906        return ret;
    904907}
    905908
    906 bool 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 );
     909bool 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 );
    912915}
    913916
  • src/Parser/ExpressionNode.cc

    reb50842 r937e51d  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Sat May 16 13:17:07 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat May 16 13:19:35 2015
    13 // Update Count     : 2
     11// Last Modified By : Rob Schluntz
     12// Last Modified On : Wed Jun 24 16:20:00 2015
     13// Update Count     : 158
    1414//
    1515
     
    1717#include <cctype>
    1818#include <algorithm>
     19#include <sstream>
     20#include <cstdio>
     21#include <climits>
    1922
    2023#include "ParseNode.h"
    21 #include "SynTree/Type.h"
    2224#include "SynTree/Constant.h"
    2325#include "SynTree/Expression.h"
    24 #include "SynTree/Declaration.h"
    2526#include "UnimplementedError.h"
    2627#include "parseutility.h"
     
    3132ExpressionNode::ExpressionNode() : ParseNode(), argName( 0 ) {}
    3233
    33 ExpressionNode::ExpressionNode( string *name_) : ParseNode( *name_ ), argName( 0 ) {
    34         delete name_;
    35 }
     34ExpressionNode::ExpressionNode( const string *name_ ) : ParseNode( name_ ), argName( 0 ) {}
    3635
    3736ExpressionNode::ExpressionNode( const ExpressionNode &other ) : ParseNode( other.name ) {
     
    4342}
    4443
    45 ExpressionNode * ExpressionNode::set_asArgName( std::string *aName ) {
     44ExpressionNode * ExpressionNode::set_asArgName( const std::string *aName ) {
    4645        argName = new VarRefNode( aName );
    4746        return this;
     
    5554void ExpressionNode::printDesignation( std::ostream &os, int indent ) const {
    5655        if ( argName ) {
    57                 os << string(' ', indent ) << "(designated by:  ";
     56                os << string( indent, ' ' ) << "(designated by:  ";
    5857                argName->printOneLine( os, indent );
    5958                os << ")" << std::endl;
     
    6160}
    6261
     62//##############################################################################
     63
    6364NullExprNode::NullExprNode() {}
    6465
     
    8586}
    8687
    87 //  enum ConstantNode::Type =  { Integer, Float, Character, String, Range }
    88 
    89 ConstantNode::ConstantNode( void ) : ExpressionNode(), sign( true ), longs(0), size(0) {}
    90 
    91 ConstantNode::ConstantNode( string *name_) : ExpressionNode( name_), sign( true ), longs(0), size(0) {}
    92 
    93 ConstantNode::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 
    104 ConstantNode::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
    109 inline char tolower_hack( char c ) {
    110         return std::tolower( c );
    111 }
    112 
    113 void ConstantNode::classify( std::string &str ) {
     88//##############################################################################
     89
     90static inline bool checkU( char c ) { return c == 'u' || c == 'U'; }
     91static inline bool checkL( char c ) { return c == 'l' || c == 'L'; }
     92static inline bool checkF( char c ) { return c == 'f' || c == 'F'; }
     93static 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
     107ConstantNode::ConstantNode( Type t, string *inVal ) : type( t ), value( *inVal ) {
     108        // lexing divides constants into 4 kinds
     109        switch ( type ) {
     110          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                }
     176          case Float:
     177                {
     178                        size_t len = value.length() - 1;
     179
     180                        btype = BasicType::Double;                                      // default
     181                        if ( checkF( value[len] ) ) {                           // float ?
     182                                btype = BasicType::Float;
     183                        } // if
     184                        if ( checkL( value[len] ) ) {                           // long double ?
     185                                btype = BasicType::LongDouble;
     186                        } // if
     187                        break;
     188                }
     189          case Character:
     190                btype = BasicType::Char;                                                // default
     191                if ( string( "LUu" ).find( value[0] ) != string::npos ) {
     192                        // ???
     193                } // if
     194                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
     208ConstantNode *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
     219void ConstantNode::printOneLine( std::ostream &os, int indent ) const {
     220        os << string( indent, ' ' );
     221        printDesignation( os );
     222
    114223        switch ( type ) {
    115224          case Integer:
    116225          case Float:
    117                 {
    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;
    136                         } // if
    137 
    138                         assert(( longs >= 0) && ( longs <= 2));
    139 
    140                         if ( sfx.find("u") != string::npos )
    141                                 sign = false;
    142 
    143                         break;
    144                 }
    145           case Character:
    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 
    159 ConstantNode::Type ConstantNode::get_type( void ) const {
    160         return type;
    161 }
    162 
    163 ConstantNode *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 
    177 void ConstantNode::printOneLine( std::ostream &os, int indent ) const {
    178         os << string( indent, ' ');
    179         printDesignation( os );
    180 
    181         switch ( type ) {
    182                 /* integers */
    183           case Integer:
    184226                os << value ;
    185227                break;
    186           case Float:
    187                 os << value ;
    188                 break;
    189 
    190228          case Character:
    191229                os << "'" << value << "'";
    192230                break;
    193 
    194231          case String:
    195232                os << '"' << value << '"';
    196233                break;
    197         }
     234        } // switch
    198235
    199236        os << ' ';
     
    206243
    207244Expression *ConstantNode::build() const {
    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;
     245        ::Type::Qualifiers q;                                                           // no qualifiers on constants
     246
     247        switch ( get_type() ) {
    223248          case String:
    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() ) );
     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() ) );
    232260        }
    233         return new ConstantExpr(  Constant( bt, get_value()),  maybeBuild< Expression >( get_argName() ) );
    234 }
     261}
     262
     263//##############################################################################
    235264
    236265VarRefNode::VarRefNode() : isLabel( false ) {}
    237266
    238 VarRefNode::VarRefNode( string *name_, bool labelp ) : ExpressionNode( name_), isLabel( labelp ) {}
     267VarRefNode::VarRefNode( const string *name_, bool labelp ) : ExpressionNode( name_ ), isLabel( labelp ) {}
    239268
    240269VarRefNode::VarRefNode( const VarRefNode &other ) : ExpressionNode( other ), isLabel( other.isLabel ) {
     
    252281void VarRefNode::print( std::ostream &os, int indent ) const {
    253282        printDesignation( os );
    254         os << '\r' << string( indent, ' ') << "Referencing: ";
     283        os << string( indent, ' ' ) << "Referencing: ";
    255284        os << "Variable: " << get_name();
    256285        os << endl;
    257286}
    258287
     288//##############################################################################
     289
    259290OperatorNode::OperatorNode( Type t ) : type( t ) {}
    260291
     
    275306void OperatorNode::print( std::ostream &os, int indent ) const{
    276307        printDesignation( os );
    277         os << '\r' << string( indent, ' ') << "Operator: " << OpName[type] << endl;
     308        os << string( indent, ' ' ) << "Operator: " << OpName[type] << endl;
    278309        return;
    279310}
    280311
    281 std::string OperatorNode::get_typename( void ) const{
    282         return string( OpName[ type ]);
     312const char *OperatorNode::get_typename( void ) const{
     313        return OpName[ type ];
    283314}
    284315
     
    288319        "Cond",   "NCond",
    289320        // diadic
    290         "SizeOf",      "AlignOf", "Attr", "CompLit", "Plus",    "Minus",   "Mul",     "Div",     "Mod",      "Or",
     321        "SizeOf",     "AlignOf", "Attr", "CompLit", "Plus",    "Minus",   "Mul",     "Div",     "Mod",      "Or",
    291322        "And",       "BitOr",   "BitAnd",  "Xor",     "Cast",    "LShift",  "RShift",  "LThan",   "GThan",
    292323        "LEThan",    "GEThan", "Eq",      "Neq",     "Assign",  "MulAssn", "DivAssn", "ModAssn", "PlusAssn",
     
    297328};
    298329
     330//##############################################################################
     331
    299332CompositeExprNode::CompositeExprNode( void ) : ExpressionNode(), function( 0 ), arguments( 0 ) {
    300333}
    301334
    302 CompositeExprNode::CompositeExprNode( string *name_) : ExpressionNode( name_), function( 0 ), arguments( 0 ) {
     335CompositeExprNode::CompositeExprNode( const string *name_ ) : ExpressionNode( name_ ), function( 0 ), arguments( 0 ) {
    303336}
    304337
     
    331364// the names that users use to define operator functions
    332365static const char *opFuncName[] = {
    333         "",  "", "",
    334         "",   "",
    335         // diadic
    336         "",   "", "", "", "?+?",    "?-?",   "?*?",     "?/?",     "?%?",     "",      "",
    337         "?|?",  "?&?",  "?^?",     "",    "?<<?",  "?>>?",  "?<?",   "?>?",    "?<=?",
    338         "?>=?", "?==?",      "?!=?",     "?=?",  "?*=?", "?/=?", "?%=?", "?+=?", "?-=?",
    339         "?<<=?", "?>>=?",  "?&=?", "?^=?",  "?|=?",  "?[?]",   "","","Range",
    340         // monadic
    341         "+?", "-?", "", "*?", "!?", "~?", "++?", "?++", "--?", "?--", "LabAddress"
     366        "",             "",             "",
     367        "",             "",
     368        //diadic
     369        "",             "",             "",             "",             "?+?",          "?-?",  "?*?",  "?/?",  "?%?",  "",              "",
     370        "?|?",          "?&?",          "?^?",  "",             "?<<?", "?>>?", "?<?",  "?>?",  "?<=?",
     371        "?>=?",         "?==?",         "?!=?", "?=?",  "?*=?", "?/=?", "?%=?", "?+=?", "?-=?",
     372        "?<<=?",        "?>>=?",        "?&=?", "?^=?", "?|=?", "?[?]", "",             "",             "Range",
     373        //monadic
     374        "+?",           "-?",           "",             "*?",   "!?",   "~?",   "++?",  "?++",  "--?",  "?--",  "&&"
    342375};
    343376
     
    350383        buildList( get_args(), args );
    351384
    352         if ( ! ( op = dynamic_cast<OperatorNode *>( function )) ) {
    353                 // a function as opposed to an operator
     385        if ( ! ( op = dynamic_cast<OperatorNode *>( function ) ) ) { // function as opposed to operator
    354386                return new UntypedExpr( function->build(), args, maybeBuild< Expression >( get_argName() ));
    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                         ;
    379                 }
    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 );
     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
     475                }
     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());
    474485                                delete member;
    475486                                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 );
     495                }
     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++ );
    476558                        }
    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;
    538                 }
    539         }
     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
    540572}
    541573
     
    552584void CompositeExprNode::print( std::ostream &os, int indent ) const {
    553585        printDesignation( os );
    554         os << '\r' << string( indent, ' ') << "Application of: " << endl;
     586        os << string( indent, ' ' ) << "Application of: " << endl;
    555587        function->print( os, indent + ParseNode::indent_by );
    556588
    557         os << '\r' << string( indent, ' ') ;
     589        os << string( indent, ' ' ) ;
    558590        if ( arguments ) {
    559591                os << "... on arguments: " << endl;
     
    586618}
    587619
     620//##############################################################################
     621
    588622CommaExprNode::CommaExprNode(): CompositeExprNode( new OperatorNode( OperatorNode::Comma )) {}
    589623
     
    603637}
    604638
     639//##############################################################################
     640
    605641ValofExprNode::ValofExprNode( StatementNode *s ): body( s ) {}
    606642
     
    614650void ValofExprNode::print( std::ostream &os, int indent ) const {
    615651        printDesignation( os );
    616         os << string( indent, ' ') << "Valof Expression:" << std::endl;
     652        os << string( indent, ' ' ) << "Valof Expression:" << std::endl;
    617653        get_body()->print( os, indent + 4);
    618654}
     
    625661        return new UntypedValofExpr ( get_body()->build(), maybeBuild< Expression >( get_argName() ) );
    626662}
     663
     664//##############################################################################
    627665
    628666ForCtlExprNode::ForCtlExprNode( ParseNode *init_, ExpressionNode *cond, ExpressionNode *incr ) throw ( SemanticError ) : condition( cond ), change( incr ) {
     
    633671                ExpressionNode *exp;
    634672
    635                 if (( decl = dynamic_cast<DeclarationNode *>( init_)) != 0)
     673                if (( decl = dynamic_cast<DeclarationNode *>(init_) ) != 0)
    636674                        init = new StatementNode( decl );
    637675                else if (( exp = dynamic_cast<ExpressionNode *>( init_)) != 0)
     
    659697
    660698void ForCtlExprNode::print( std::ostream &os, int indent ) const{
    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);
     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 );
    673711}
    674712
     
    677715}
    678716
    679 TypeValueNode::TypeValueNode( DeclarationNode *decl )
    680         : decl( decl ) {
    681 }
    682 
    683 TypeValueNode::TypeValueNode( const TypeValueNode &other )
    684         : ExpressionNode( other ), decl( maybeClone( other.decl ) ) {
     717//##############################################################################
     718
     719TypeValueNode::TypeValueNode( DeclarationNode *decl ) : decl( decl ) {
     720}
     721
     722TypeValueNode::TypeValueNode( const TypeValueNode &other ) : ExpressionNode( other ), decl( maybeClone( other.decl ) ) {
    685723}
    686724
     
    700738
    701739ExpressionNode *flattenCommas( ExpressionNode *list ) {
    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                 }
     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
    712748
    713749        if ( ExpressionNode *next = dynamic_cast< ExpressionNode * >( list->get_link() ) )
     
    722758                if ( ( op = dynamic_cast< OperatorNode * >( composite->get_function() )) && ( op->get_type() == OperatorNode::TupleC ) )
    723759                        return composite->get_args();
    724         }
     760        } // if
    725761        return tuple;
    726762}
  • src/Parser/InitializerNode.cc

    reb50842 r937e51d  
    1010// Created On       : Sat May 16 13:20:24 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat May 16 13:21:40 2015
    13 // Update Count     : 2
     12// Last Modified On : Sat Jun  6 15:49:42 2015
     13// Update Count     : 3
    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

    reb50842 r937e51d  
    1010// Created On       : Sat May 16 13:26:29 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue May 19 16:48:30 2015
    13 // Update Count     : 3
     12// Last Modified On : Sat Jun  6 20:17:58 2015
     13// Update Count     : 23
    1414//
    1515
     
    2020int ParseNode::indent_by = 4;
    2121
    22 ParseNode::ParseNode( void ) : next( 0 ) {};
    23 ParseNode::ParseNode( string _name ) : name( _name ), next( 0 ) {}
     22ParseNode::ParseNode() : name( 0 ), next( 0 ) {};
     23ParseNode::ParseNode( const string *name_ ) : name( name_ ), next( 0 ) {}
    2424
    25 ParseNode *ParseNode::set_name( string _name ) {
    26         name = _name;
    27         return this;
    28 }
    29 
    30 ParseNode *ParseNode::set_name( string *_name ) {
    31         name = *_name; // deep copy
    32         delete _name;
    33 
    34         return this;
    35 }
    36 
    37 ParseNode::~ParseNode( void ) {
     25ParseNode::~ParseNode() {
    3826        delete next;
    3927};
    4028
    41 string ParseNode::get_name( void ) {
    42         return name;
    43 }
    44 
    45 ParseNode *ParseNode::get_link( void ) const {
     29ParseNode *ParseNode::get_link() const {
    4630        return next;
    4731}
    4832
    49 ParseNode *ParseNode::get_last(void) {
     33ParseNode *ParseNode::get_last() {
    5034        ParseNode *current = this;
    5135
     
    5640}
    5741
    58 ParseNode *ParseNode::set_link(ParseNode *_next) {
     42ParseNode *ParseNode::set_link( ParseNode *next_ ) {
    5943        ParseNode *follow;
    6044
    61         if ( _next == 0 ) return this;
     45        if ( next_ == 0 ) return this;
    6246
    6347        for ( follow = this; follow->next != 0; follow = follow->next );
    64         follow->next = _next;
     48        follow->next = next_;
    6549
    6650        return this;
    6751}
    6852
    69 const string ParseNode::get_name(void) const {
    70         return name;
    71 }
    72 
    73 void ParseNode::print(std::ostream &os, int indent) const {}
     53void ParseNode::print( std::ostream &os, int indent ) const {}
    7454
    7555
     
    7858
    7959        if ( next ) {
    80         next->printList( os, indent );
    81         }
     60                next->printList( os, indent );
     61        } // if
    8262}
    8363
  • src/Parser/ParseNode.h

    reb50842 r937e51d  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat May 16 13:30:24 2015
    13 // Update Count     : 3
     12// Last Modified On : Wed Jun 24 14:09:51 2015
     13// Update Count     : 81
    1414//
    1515
     
    2222
    2323#include "utility.h"
    24 #include "SynTree/Declaration.h"
     24#include "Parser/LinkageSpec.h"
     25#include "SynTree/Type.h"
     26//#include "SynTree/Declaration.h"
    2527#include "UniqueName.h"
    2628
     
    3638class ParseNode {
    3739  public:
    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 );
     40        ParseNode();
     41        ParseNode( const std::string * );
     42        virtual ~ParseNode();
     43
     44        ParseNode *get_link() const;
     45        ParseNode *get_last();
    4946        ParseNode *set_link( ParseNode * );
    5047        void set_next( ParseNode *newlink ) { next = newlink; }
     
    5249        virtual ParseNode *clone() const { return 0; };
    5350
    54         const std::string get_name( void ) const;
     51        const std::string &get_name() const { return *name; }
    5552        virtual void print( std::ostream &, int indent = 0 ) const;
    5653        virtual void printList( std::ostream &, int indent = 0 ) const;
     
    5855        ParseNode &operator,( ParseNode &);
    5956  protected:
    60         std::string name;
     57        const std::string *name;
    6158        ParseNode *next;
    6259        static int indent_by;
     
    6865  public:
    6966        ExpressionNode();
    70         ExpressionNode( std::string * );
     67        ExpressionNode( const std::string * );
    7168        ExpressionNode( const ExpressionNode &other );
    7269        virtual ~ExpressionNode() {} // cannot delete asArgName because it might be referenced elsewhere
     
    7774
    7875        ExpressionNode *get_argName() const { return argName; }
    79         ExpressionNode *set_asArgName( std::string *aName );
     76        ExpressionNode *set_asArgName( const std::string *aName );
    8077        ExpressionNode *set_asArgName( ExpressionNode *aDesignator );
    8178
     
    105102class ConstantNode : public ExpressionNode {
    106103  public:
    107         enum Type {
    108                 Integer, Float, Character, String /* , Range, EnumConstant  */
    109         };
    110 
    111         ConstantNode( void );
    112         ConstantNode( std::string * );
     104        enum Type { Integer, Float, Character, String };
     105
    113106        ConstantNode( Type, std::string * );
    114         ConstantNode( const ConstantNode &other );
    115107
    116108        virtual ConstantNode *clone() const { return new ConstantNode( *this ); }
    117 
    118         Type get_type( void ) const ;
     109        Type get_type( void ) const { return type; }
    119110        virtual void print( std::ostream &, int indent = 0) const;
    120111        virtual void printOneLine( std::ostream &, int indent = 0) const;
    121112
    122         std::string get_value() const { return value; }
    123         ConstantNode *append( std::string *newValue );
     113        const std::string &get_value() const { return value; }
     114        ConstantNode *appendstr( const std::string *newValue );
    124115
    125116        Expression *build() const;
    126117  private:
    127         void classify( std::string &);
    128118        Type type;
    129         std::string value;
    130         bool sign;
    131         short base;
    132         int longs, size;
     119        BasicType::Kind btype;
     120        std::string &value;
    133121};
    134122
     
    136124  public:
    137125        VarRefNode();
    138         VarRefNode( std::string *, bool isLabel = false );
     126        VarRefNode( const std::string *, bool isLabel = false );
    139127        VarRefNode( const VarRefNode &other );
    140128
     
    143131        virtual VarRefNode *clone() const { return new VarRefNode( *this ); }
    144132
    145         virtual void print( std::ostream &, int indent = 0) const;
    146         virtual void printOneLine( std::ostream &, int indent = 0) const;
     133        virtual void print( std::ostream &, int indent = 0 ) const;
     134        virtual void printOneLine( std::ostream &, int indent = 0 ) const;
    147135  private:
    148136        bool isLabel;
     
    183171        virtual OperatorNode *clone() const { return new OperatorNode( *this ); }
    184172
    185         Type get_type( void ) const;
    186         std::string get_typename( void ) const;
     173        Type get_type() const;
     174        const char *get_typename() const;
    187175
    188176        virtual void print( std::ostream &, int indent = 0) const;
     
    198186class CompositeExprNode : public ExpressionNode {
    199187  public:
    200         CompositeExprNode( void );
    201         CompositeExprNode( std::string * );
     188        CompositeExprNode();
     189        CompositeExprNode( const std::string * );
    202190        CompositeExprNode( ExpressionNode *f, ExpressionNode *args = 0 );
    203191        CompositeExprNode( ExpressionNode *f, ExpressionNode *arg1, ExpressionNode *arg2 );
     
    278266  public:
    279267        enum Qualifier { Const, Restrict, Volatile, Lvalue, Atomic, Attribute };
    280         enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran };
     268        enum StorageClass { Extern, Static, Auto, Register, Inline, Fortran, Noreturn, Threadlocal, NoStorageClass, };
    281269        enum BasicType { Char, Int, Float, Double, Void, Bool, Complex, Imaginary };
    282         enum Modifier { Signed, Unsigned, Short, Long };
    283         enum TyCon { Struct, Union, Context };
     270        enum Modifier  { Signed, Unsigned, Short, Long };
     271        enum Aggregate { Struct, Union, Context };
    284272        enum TypeClass { Type, Dtype, Ftype };
    285273
     274        static const char *storageName[]; 
    286275        static const char *qualifierName[];
    287276        static const char *basicTypeName[];
    288277        static const char *modifierName[];
    289         static const char *tyConName[];
     278        static const char *aggregateName[];
    290279        static const char *typeClassName[];
    291280
     
    298287        static DeclarationNode *newForall( DeclarationNode *);
    299288        static DeclarationNode *newFromTypedef( std::string *);
    300         static DeclarationNode *newAggregate( TyCon kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields );
     289        static DeclarationNode *newAggregate( Aggregate kind, std::string *name, DeclarationNode *formals, ExpressionNode *actuals, DeclarationNode *fields );
    301290        static DeclarationNode *newEnum( std::string *name, DeclarationNode *constants );
    302291        static DeclarationNode *newEnumConstant( std::string *name, ExpressionNode *constant );
    303292        static DeclarationNode *newName( std::string *);
    304         static DeclarationNode *newFromTypeGen( std::string*, ExpressionNode *params );
     293        static DeclarationNode *newFromTypeGen( std::string *, ExpressionNode *params );
    305294        static DeclarationNode *newTypeParam( TypeClass, std::string *);
    306295        static DeclarationNode *newContext( std::string *name, DeclarationNode *params, DeclarationNode *asserts );
     
    313302        static DeclarationNode *newTuple( DeclarationNode *members );
    314303        static DeclarationNode *newTypeof( ExpressionNode *expr );
    315         static DeclarationNode *newAttr( std::string*, ExpressionNode *expr );
    316         static DeclarationNode *newAttr( std::string*, DeclarationNode *type );
     304        static DeclarationNode *newAttr( std::string *, ExpressionNode *expr );
     305        static DeclarationNode *newAttr( std::string *, DeclarationNode *type );
    317306
    318307        DeclarationNode *addQualifiers( DeclarationNode *);
     
    340329        DeclarationNode *cloneBaseType( DeclarationNode *newdecl );
    341330
    342         DeclarationNode *appendList( DeclarationNode  *);
     331        DeclarationNode *appendList( DeclarationNode * );
    343332
    344333        DeclarationNode *clone() const;
     
    350339
    351340        bool get_hasEllipsis() const;
    352         std::string get_name() const { return name; }
     341        const std::string &get_name() const { return name; }
    353342        LinkageSpec::Type get_linkage() const { return linkage; }
    354343        DeclarationNode *extractAggregate() const;
     
    357346        ~DeclarationNode();
    358347  private:
    359         Declaration::StorageClass buildStorageClass() const;
    360         bool buildInline() const;
     348        StorageClass buildStorageClass() const;
     349        bool buildFuncSpecifier( StorageClass key ) const;
    361350
    362351        TypeData *type;
     
    380369        };
    381370
    382         StatementNode( void );
    383         StatementNode( std::string );
     371        StatementNode();
     372        StatementNode( const std::string * );
    384373        StatementNode( Type, ExpressionNode *e = 0, StatementNode *s = 0 );
    385374        StatementNode( Type, std::string *target );
     
    387376
    388377
    389         ~StatementNode( void );
    390 
    391         static StatementNode  *newCatchStmt( DeclarationNode *d = 0, StatementNode *s = 0, bool catchRestP = false );
     378        ~StatementNode();
     379
     380        static StatementNode *newCatchStmt( DeclarationNode *d = 0, StatementNode *s = 0, bool catchRestP = false );
    392381
    393382        void set_control( ExpressionNode * );
     
    396385        ExpressionNode *get_control() const ;
    397386        StatementNode *get_block() const;
    398         StatementNode::Type get_type( void ) const;
    399 
    400         StatementNode *add_label( std::string * );
     387        StatementNode::Type get_type() const;
     388
     389        StatementNode *add_label( const std::string * );
    401390        std::list<std::string> *get_labels() const;
    402391
     
    429418class CompoundStmtNode : public StatementNode {
    430419  public:
    431         CompoundStmtNode( void );
    432         CompoundStmtNode( std::string * );
     420        CompoundStmtNode();
     421        CompoundStmtNode( const std::string * );
    433422        CompoundStmtNode( StatementNode * );
    434423        ~CompoundStmtNode();
     
    499488
    500489// in DeclarationNode.cc
    501 void buildList( const DeclarationNode *firstNode, std::list< Declaration *> &outputList );
     490void buildList( const DeclarationNode *firstNode, std::list< Declaration * > &outputList );
    502491void buildList( const DeclarationNode *firstNode, std::list< DeclarationWithType *> &outputList );
    503 void buildTypeList( const DeclarationNode *firstNode, std::list< Type *> &outputList );
     492void buildTypeList( const DeclarationNode *firstNode, std::list< Type * > &outputList );
    504493
    505494// in ExpressionNode.cc
  • src/Parser/Parser.cc

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

    reb50842 r937e51d  
    1010// Created On       : Sat May 16 14:59:41 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat May 16 15:10:45 2015
    13 // Update Count     : 7
     12// Last Modified On : Sat Jun  6 23:25:41 2015
     13// Update Count     : 19
    1414//
    1515
     
    3636StatementNode::StatementNode() : ParseNode(), control( 0 ), block( 0 ), labels( 0 ), target( 0 ), decl( 0 ), isCatchRest ( false ) {}
    3737
    38 StatementNode::StatementNode( string name_) : ParseNode( name_), control( 0 ), block( 0 ), labels( 0 ), target( 0 ), decl( 0 ), isCatchRest ( false ) {}
     38StatementNode::StatementNode( const 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                         }
     51                        } // if
    5252                } else {
    5353                        if ( decl->get_link() ) {
    5454                                next = new StatementNode( dynamic_cast< DeclarationNode* >( decl->get_link() ) );
    5555                                decl->set_next( 0 );
    56                         }
     56                        } // if
    5757                        this->decl = decl;
    58                 }
    59         }
     58                } // if
     59        } // if
    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         }
     100        } // if
    101101        newnode->decl = maybeClone( decl );
    102102        return newnode;
     
    125125}
    126126
    127 StatementNode *StatementNode::add_label( std::string *l ) {
     127StatementNode *StatementNode::add_label( const std::string *l ) {
    128128        if ( l != 0 ) {
    129129                if ( labels == 0 )
     
    132132                labels->push_front(*l );
    133133                delete l;
    134         }
     134        } // if
    135135        return this;
    136136}
     
    151151                else
    152152                        block->set_link( stmt );
    153         }
     153        } // if
    154154        return this;
    155155}
     
    165165                        else
    166166                                block->set_link( stmt );
    167         }
     167        } // if
    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 << '\r' << string( indent, ' ');
     176                        os << string( indent, ' ' );
    177177                        for ( i = labels->begin(); i != labels->end(); i++ )
    178178                                os << *i << ":";
    179179                        os << endl;
    180                 }
     180                } // if
     181        } // if
    181182
    182183        switch ( type ) {
     
    193194                break;
    194195          default:
    195                 os << '\r' << string( indent, ' ') << StatementNode::StType[type] << endl;
     196                os << string( indent, ' ' ) << StatementNode::StType[type] << endl;
    196197                if ( type == Catch ) {
    197198                        if ( decl ) {
    198                                 os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Declaration: " << endl;
     199                                os << string( indent + ParseNode::indent_by, ' ' ) << "Declaration: " << endl;
    199200                                decl->print( os, indent + 2*ParseNode::indent_by );
    200201                        } else if ( isCatchRest ) {
    201                                 os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Catches the rest " << endl;
     202                                os << string( indent + ParseNode::indent_by, ' ' ) << "Catches the rest " << endl;
    202203                        } else {
    203204                                ; // should never reach here
    204                         }
    205                 }
     205                        } // if
     206                } // if
    206207                if ( control ) {
    207                         os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Expression: " << endl;
     208                        os << string( indent + ParseNode::indent_by, ' ' ) << "Expression: " << endl;
    208209                        control->printList( os, indent + 2*ParseNode::indent_by );
    209                 }
     210                } // if
    210211                if ( block ) {
    211                         os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Branches of execution: " << endl;
     212                        os << string( indent + ParseNode::indent_by, ' ' ) << "Branches of execution: " << endl;
    212213                        block->printList( os, indent + 2*ParseNode::indent_by ); 
    213                 }
     214                } // if
    214215                if ( target ) {
    215                         os << '\r' << string( indent + ParseNode::indent_by, ' ' ) << "Target: " << get_target() << endl;
    216                 }
     216                        os << string( indent + ParseNode::indent_by, ' ' ) << "Target: " << get_target() << endl;
     217                } // if
    217218                break;
    218         }
     219        } // switch
    219220}
    220221
     
    227228                std::back_insert_iterator< std::list<Label> > lab_it( labs );
    228229                copy( labels->begin(), labels->end(), lab_it );
    229         }
     230        } // if
    230231
    231232        // try {
     
    254255                                elseb = branches.front();
    255256                                branches.pop_front();
    256                         }
     257                        } // if
    257258                        return new IfStmt( labs, notZeroExpr( get_control()->build() ), thenb, elseb );
    258259                }
     
    299300                                assert( get_control() != 0 );
    300301                                return new BranchStmt( labs, get_control()->build(), BranchStmt::Goto );
    301                         }
     302                        } // if
    302303
    303304                        return new BranchStmt( labs, get_target(), BranchStmt::Goto );
     
    322323                        if ( ( finallyBlock = dynamic_cast<FinallyStmt *>( branches.back())) ) {
    323324                                branches.pop_back();
    324                         }
     325                        } // if
    325326                        return new TryStmt( labs, tryBlock, branches, finallyBlock );
    326327                }
     
    342343                // shouldn't be here
    343344                return 0;
    344         }
    345 }
    346 
    347 CompoundStmtNode::CompoundStmtNode() : first( 0 ), last( 0 ) {
    348 }
    349 
    350 CompoundStmtNode::CompoundStmtNode( string *name_) : StatementNode(*name_), first( 0 ), last( 0 ) {
    351 }
    352 
    353 CompoundStmtNode::CompoundStmtNode( StatementNode *stmt ): first( stmt ) {
     345        } // switch
     346}
     347
     348CompoundStmtNode::CompoundStmtNode() : first( 0 ), last( 0 ) {}
     349
     350CompoundStmtNode::CompoundStmtNode( const string *name_ ) : StatementNode( name_ ), first( 0 ), last( 0 ) {}
     351
     352CompoundStmtNode::CompoundStmtNode( StatementNode *stmt ) : first( stmt ) {
    354353        if ( first ) {
    355354                last = ( StatementNode *)( stmt->get_last());
    356355        } else {
    357356                last = 0;
    358         }
     357        } // if
    359358}
    360359
     
    367366                last->set_link( stmt );
    368367                last = ( StatementNode *)( stmt->get_link());
    369         }
     368        } // if
    370369}
    371370
     
    373372        if ( first ) {
    374373                first->printList( os, indent+2 );
    375         }
     374        } // if
    376375}
    377376
     
    383382                std::back_insert_iterator< std::list<Label> > lab_it( labs );
    384383                copy( labels->begin(), labels->end(), lab_it );
    385         }
     384        } // if
    386385
    387386        CompoundStmt *cs = new CompoundStmt( labs );
     
    391390
    392391void NullStmtNode::print( ostream &os, int indent ) const {
    393         os << "\r" << string( indent, ' ') << "Null Statement:" << endl;
     392        os << string( indent, ' ' ) << "Null Statement:" << endl;
    394393}
    395394
  • src/Parser/TypeData.cc

    reb50842 r937e51d  
    1010// Created On       : Sat May 16 15:12:51 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat May 16 15:17:56 2015
    13 // Update Count     : 4
     12// Last Modified On : Thu Jun 18 22:06:23 2015
     13// Update Count     : 21
    1414//
    1515
     
    8989                attr->type = 0;
    9090                break;
    91         }
     91        } // switch
    9292}
    9393
     
    155155                delete attr;
    156156                break;
    157         }
     157        } // switch
    158158}
    159159
     
    225225                newtype->attr->type = maybeClone( attr->type );
    226226                break;
    227         }
     227        } // switch
    228228        return newtype;
    229229}
     
    238238                os << "forall " << endl;
    239239                forall->printList( os, indent+4 );
    240         }
     240        } // if
    241241
    242242        switch ( kind ) {
     
    249249                        os << "to ";
    250250                        base->print( os, indent );
    251                 }
     251                } // if
    252252                break;
    253253          case EnumConstant:
     
    261261                if ( array->isStatic ) {
    262262                        os << "static ";
    263                 }
     263                } // if
    264264                if ( array->dimension ) {
    265265                        os << "array of ";
     
    269269                } else {
    270270                        os << "open array of ";
    271                 }
     271                } // if
    272272                if ( base ) {
    273273                        base->print( os, indent );
    274                 }
     274                } // if
    275275                break;
    276276          case Function:
     
    281281                } else {
    282282                        os << string( indent+2, ' ' ) << "with no parameters " << endl;
    283                 }
     283                } // if
    284284                if ( function->idList ) {
    285285                        os << string( indent+2, ' ' ) << "with old-style identifier list " << endl;
    286286                        function->idList->printList( os, indent+4 );
    287                 }
     287                } // if
    288288                if ( function->oldDeclList ) {
    289289                        os << string( indent+2, ' ' ) << "with old-style declaration list " << endl;
    290290                        function->oldDeclList->printList( os, indent+4 );
    291                 }
     291                } // if
    292292                os << string( indent+2, ' ' ) << "returning ";
    293293                if ( base ) {
     
    295295                } else {
    296296                        os << "nothing ";
    297                 }
     297                } // if
    298298                os << endl;
    299299                if ( function->hasBody ) {
    300300                        os << string( indent+2, ' ' ) << "with body " << endl;
    301                 }
     301                } // if
    302302                if ( function->body ) {
    303303                        function->body->printList( os, indent+2 );
    304                 }
     304                } // if
    305305                break;
    306306          case Aggregate:
    307                 os << DeclarationNode::tyConName[ aggregate->kind ] << ' ' << aggregate->name << endl;
     307                os << DeclarationNode::aggregateName[ 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                 }
     311                } // if
    312312                if ( aggregate->actuals ) {
    313313                        os << string( indent+2, ' ' ) << "instantiated with actual parameters " << endl;
    314314                        aggregate->actuals->printList( os, indent+4 );
    315                 }
     315                } // if
    316316                if ( aggregate->members ) {
    317317                        os << string( indent+2, ' ' ) << "with members " << endl;
     
    319319///     } else {
    320320///       os << string( indent+2, ' ' ) << "with no members " << endl;
    321                 }
     321                } // if
    322322                break;
    323323          case AggregateInst:
     
    327327                } else {
    328328                        os << "instance of an unspecified aggregate ";
    329                 }
     329                } // if
    330330                if ( aggInst->params ) {
    331331                        os << string( indent+2, ' ' ) << "with parameters " << endl;
    332332                        aggInst->params->printList( os, indent+2 );
    333                 }
     333                } // if
    334334                break;
    335335          case Enum:
     
    338338                        os << "with constants" << endl;
    339339                        enumeration->constants->printList( os, indent+2 );
    340                 }
     340                } // if
    341341                break;
    342342          case SymbolicInst:
     
    345345                        os << " with parameters" << endl;
    346346                        symbolic->actuals->printList( os, indent + 2 );
    347                 }
     347                } // if
    348348                break;
    349349          case Symbolic:
     
    352352                } else {
    353353                        os << "type definition ";
    354                 }
     354                } // if
    355355                if ( symbolic->params ) {
    356356                        os << endl << string( indent+2, ' ' ) << "with parameters" << endl;
    357357                        symbolic->params->printList( os, indent + 2 );
    358                 }
     358                } // if
    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                 }
     363                } // if
    364364                if ( base ) {
    365365                        os << "for ";
    366366                        base->print( os, indent + 2 );
    367                 }
     367                } // if
    368368                break;
    369369          case Variable:
     
    373373                        variable->assertions->printList( os, indent + 4 );
    374374                        os << string( indent+2, ' ' );
    375                 }
     375                } // if
    376376                break;
    377377          case Tuple:
     
    380380                        os << "with members " << endl;
    381381                        tuple->members->printList( os, indent + 2 );
    382                 }
     382                } // if
    383383                break;
    384384          case Typeof:
     
    386386                if ( typeexpr->expr ) {
    387387                        typeexpr->expr->print( os, indent + 2 );
    388                 }
     388                } // if
    389389                break;
    390390          case Attr:
     
    392392                if ( attr->expr ) {
    393393                        attr->expr->print( os, indent + 2 );
    394                 }
     394                } // if
    395395                if ( attr->type ) {
    396396                        attr->type->print( os, indent + 2 );
    397                 }
    398                 break;
    399         }
     397                } // if
     398                break;
     399        } // switch
    400400}
    401401
     
    408408                        ret = clone();
    409409                        ret->qualifiers.clear();
    410                 }
     410                } // if
    411411                break;
    412412          case Enum:
     
    414414                        ret = clone();
    415415                        ret->qualifiers.clear();
    416                 }
     416                } // if
    417417                break;
    418418          case AggregateInst:
    419419                if ( aggInst->aggregate ) {
    420420                        ret = aggInst->aggregate->extractAggregate( false );
    421                 }
     421                } // if
    422422                break;
    423423          default:
    424424                if ( base ) {
    425425                        ret = base->extractAggregate( false );
    426                 }
    427         }
     426                } // if
     427        } // switch
    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( "", 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 
    444 Declaration *TypeData::buildDecl( std::string name, Declaration::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init ) const {
     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
     444Declaration *TypeData::buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression *bitfieldWidth, bool isInline, bool isNoreturn, 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 );
     452                                decl = new FunctionDecl( name, sc, linkage, buildFunction(), body, isInline, isNoreturn );
    453453                        } else {
    454454                                // std::list<Label> ls;
    455                                 decl = new FunctionDecl( name, sc, linkage, buildFunction(), new CompoundStmt( std::list<Label>() ), isInline );
    456                         }
     455                                decl = new FunctionDecl( name, sc, linkage, buildFunction(), new CompoundStmt( std::list<Label>() ), isInline, isNoreturn );
     456                        } // if
    457457                } else {
    458                         decl = new FunctionDecl( name, sc, linkage, buildFunction(), 0, isInline );
    459                 }
     458                        decl = new FunctionDecl( name, sc, linkage, buildFunction(), 0, isInline, isNoreturn );
     459                } // if
    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                         }
    464                 }
     463                        } // if
     464                } // for
    465465                buildList( function->oldDeclList, decl->get_oldDecls() );
    466466                return decl;
     
    474474                return buildVariable();
    475475        } else {
    476                 if ( isInline ) {
    477                         throw SemanticError( "invalid inline specification in declaration of ", this );
     476                if ( isInline || isNoreturn ) {
     477                        throw SemanticError( "invalid inline or _Noreturn specification in declaration of ", this );
    478478                } else {
    479479                        return new ObjectDecl( name, sc, linkage, bitfieldWidth, build(), init );
    480                 }
    481         }
     480                } // if
     481        } // if
    482482        return 0;
    483483}
     
    514514          case Variable:
    515515                assert( false );
    516         }
     516        } // switch
    517517
    518518        return 0;
     
    541541                        q.isAttribute = true;
    542542                        break;
    543                 }
    544         }
     543                } // switch
     544        } // for
    545545        return q;
    546546}
     
    563563                                } else {
    564564                                        return new VoidType( buildQualifiers() );
    565                                 }
     565                                } // if
    566566                        } else {
    567567                                ret = kindMap[ *i ];
    568                         }
     568                        } // if
    569569                } else {
    570570                        switch ( *i ) {
     
    582582                                          default:
    583583                                                throw SemanticError( "invalid type specifier \"float\" in type: ", this );
    584                                         }
    585                                 }
     584                                        } // switch
     585                                } // if
    586586                                break;
    587587                          case DeclarationNode::Double:
     
    595595                                          default:
    596596                                                throw SemanticError( "invalid type specifier \"double\" in type: ", this );
    597                                         }
    598                                 }
     597                                        } // switch
     598                                } // if
    599599                                break;
    600        
    601600                          case DeclarationNode::Complex:
    602601                                switch ( ret ) {
     
    609608                                  default:
    610609                                        throw SemanticError( "invalid type specifier \"_Complex\" in type: ", this );
    611                                 }
     610                                } // switch
    612611                                break;
    613612                          case DeclarationNode::Imaginary:
     
    621620                                  default:
    622621                                        throw SemanticError( "invalid type specifier \"_Imaginary\" in type: ", this );
    623                                 }
     622                                } // switch
    624623                                break;
    625624                          default:
    626625                                throw SemanticError( std::string( "invalid type specifier \"" ) + DeclarationNode::basicTypeName[ *i ] + "\" in type: ", this );
    627                         }
    628                 }
     626                        } // switch
     627                } // if
    629628                if ( *i == DeclarationNode::Double ) {
    630629                        sawDouble = true;
    631                 }
    632         }
     630                } // if
     631        } // for
    633632
    634633        for ( std::list< DeclarationNode::Modifier >::const_iterator i = basic->modifiers.begin(); i != basic->modifiers.end(); ++i ) {
     
    663662                                  default:
    664663                                        throw SemanticError( "invalid type modifier \"long\" in type: ", this );
    665                                 }
    666                         }
     664                                } // switch
     665                        } // if
    667666                        break;
    668667                  case DeclarationNode::Short:
     
    680679                                  default:
    681680                                        throw SemanticError( "invalid type modifier \"short\" in type: ", this );
    682                                 }
    683                         }
     681                                } // switch
     682                        } // if
    684683                        break;
    685684                  case DeclarationNode::Signed:
     
    691690                        } else {
    692691                                switch ( ret ) {
    693                                   case BasicType::LongLongSignedInt:    // PAB
     692                                  case BasicType::LongLongSignedInt:
    694693                                        ret = BasicType::LongLongUnsignedInt;
    695694                                        break;
     
    705704                                  default:
    706705                                        throw SemanticError( "invalid type modifer \"signed\" in type: ", this );
    707                                 }
    708                         }
     706                                } // switch
     707                        } // if
    709708                        break;
    710709                  case DeclarationNode::Unsigned:
     
    716715                        } else {
    717716                                switch ( ret ) {
    718                                   case BasicType::LongLongSignedInt:    // PAB
     717                                  case BasicType::LongLongSignedInt:
    719718                                        ret = BasicType::LongLongUnsignedInt;
    720719                                        break;
     
    733732                                  default:
    734733                                        throw SemanticError( "invalid type modifer \"unsigned\" in type: ", this );
    735                                 }
    736                         }
    737                         break;
    738                 }
     734                                } // switch
     735                        } // if
     736                        break;
     737                } // switch
    739738
    740739                if ( *i == DeclarationNode::Signed ) {
    741740                        sawSigned = true;
    742                 }
    743         }
     741                } // if
     742        } // for
    744743
    745744        BasicType *bt;
     
    748747        } else {
    749748                bt = new BasicType( buildQualifiers(), ret );
    750         }
     749        } // if
    751750        buildForall( forall, bt->get_forall() );
    752751        return bt;
     
    760759        } else {
    761760                pt = new PointerType( buildQualifiers(), new BasicType( Type::Qualifiers(), BasicType::SignedInt ) );
    762         }
     761        } // if
    763762        buildForall( forall, pt->get_forall() );
    764763        return pt;
     
    773772                at = new ArrayType( buildQualifiers(), new BasicType( Type::Qualifiers(), BasicType::SignedInt ),
    774773                                                        maybeBuild< Expression >( array->dimension ), array->isVarLen, array->isStatic );
    775         }
     774        } // if
    776775        buildForall( forall, at->get_forall() );
    777776        return at;
     
    791790                        break;
    792791                  default:
    793                         ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( base->buildDecl( "", Declaration::NoStorageClass, 0, false, LinkageSpec::Cforall ) ) );
    794                 }
     792                        ft->get_returnVals().push_back( dynamic_cast< DeclarationWithType* >( base->buildDecl( "", DeclarationNode::NoStorageClass, 0, false, false, LinkageSpec::Cforall ) ) );
     793                } // switch
    795794        } else {
    796                 ft->get_returnVals().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 ) );
    797         }
     795                ft->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 ) );
     796        } // if
    798797        return ft;
    799798}
     
    806805                at = new StructDecl( aggregate->name );
    807806                break;
    808        
    809807          case DeclarationNode::Union:
    810808                at = new UnionDecl( aggregate->name );
    811809                break;
    812        
    813810          case DeclarationNode::Context:
    814811                at = new ContextDecl( aggregate->name );
    815812                break;
    816        
    817813          default:
    818814                assert( false );
    819         }
     815        } // switch
    820816        buildList( aggregate->params, at->get_parameters() );
    821817        buildList( aggregate->members, at->get_members() );
     
    838834ReferenceToType *TypeData::buildAggInst() const {
    839835        assert( kind == AggregateInst );
    840         std::string name;
    841836
    842837        ReferenceToType *ret;
     
    857852                  default:
    858853                        assert( false );
    859                 }
    860         }
     854                } // switch
     855        } // if
    861856        buildList( aggInst->params, ret->get_parameters() );
    862857        buildForall( forall, ret->get_forall() );
     
    864859}
    865860
    866 NamedTypeDecl *TypeData::buildSymbolic( const std::string &name, Declaration::StorageClass sc ) const {
     861NamedTypeDecl *TypeData::buildSymbolic( const std::string &name, DeclarationNode::StorageClass sc ) const {
    867862        assert( kind == Symbolic );
    868863        NamedTypeDecl *ret;
     
    871866        } else {
    872867                ret = new TypeDecl( name, sc, maybeBuild< Type >( base ), TypeDecl::Any );
    873         }
     868        } // if
    874869        buildList( symbolic->params, ret->get_parameters() );
    875870        buildList( symbolic->assertions, ret->get_assertions() );
     
    881876        static const TypeDecl::Kind kindMap[] = { TypeDecl::Any, TypeDecl::Ftype, TypeDecl::Dtype };
    882877
    883         TypeDecl *ret = new TypeDecl( variable->name, Declaration::NoStorageClass, 0, kindMap[ variable->tyClass ] );
     878        TypeDecl *ret = new TypeDecl( variable->name, DeclarationNode::NoStorageClass, 0, kindMap[ variable->tyClass ] );
    884879        buildList( variable->assertions, ret->get_assertions() );
    885        
    886880        return ret;
    887881}
     
    891885        EnumDecl *ret = new EnumDecl( enumeration->name );
    892886        buildList( enumeration->constants, ret->get_members() );
    893 
    894887        return ret;
    895888}
     
    900893        buildList( symbolic->actuals, ret->get_parameters() );
    901894        buildForall( forall, ret->get_forall() );
    902 
    903895        return ret;
    904896}
     
    909901        buildTypeList( tuple->members, ret->get_types() );
    910902        buildForall( forall, ret->get_forall() );
    911 
    912903        return ret;
    913904}
     
    918909        assert( typeexpr->expr );
    919910        TypeofType *ret = new TypeofType( buildQualifiers(), typeexpr->expr->build() );
    920 
    921911        return ret;
    922912}
     
    931921                assert( attr->type );
    932922                ret = new AttrType( buildQualifiers(), attr->name, attr->type->buildType() );
    933         }
    934 
     923        } // if
    935924        return ret;
    936925}
  • src/Parser/TypeData.h

    reb50842 r937e51d  
    1010// Created On       : Sat May 16 15:18:36 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat May 16 15:20:00 2015
    13 // Update Count     : 2
     12// Last Modified On : Thu Jun 18 21:03:18 2015
     13// Update Count     : 7
    1414//
    1515
     
    4444
    4545        struct Aggregate_t {
    46                 DeclarationNode::TyCon kind;
     46                DeclarationNode::Aggregate 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, Declaration::StorageClass sc, Expression *bitfieldWidth, bool isInline, LinkageSpec::Type linkage, Initializer *init = 0 ) const;
     122        Declaration * buildDecl( std::string name, DeclarationNode::StorageClass sc, Expression *bitfieldWidth, bool isInline, bool isNoreturn, 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, Declaration::StorageClass sc ) const;
     130        NamedTypeDecl * buildSymbolic( const std::string &name, DeclarationNode::StorageClass sc ) const;
    131131        TypeDecl* buildVariable() const;
    132132        EnumDecl* buildEnum() const;
  • src/Parser/TypedefTable.cc

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

    reb50842 r937e51d  
    1010// Created On       : Sat May 16 15:24:36 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat May 16 15:25:59 2015
    13 // Update Count     : 3
     12// Last Modified On : Thu Jun 18 21:03:17 2015
     13// Update Count     : 7
    1414//
    1515
     
    4949        std::stack< std::string > nextIdentifiers;
    5050
    51         bool isKind( std::string identifier, kind_t kind ) const;
     51        bool isKind( const 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( std::string identifier ) const;
    57         bool isTypedef( std::string identifier ) const;
    58         bool isTypegen( std::string identifier ) const;
     56        bool isIdentifier( const std::string &identifier ) const;
     57        bool isTypedef( const std::string &identifier ) const;
     58        bool isTypegen( const 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( std::string contextName );
     79        void openContext( const std::string &contextName );
    8080       
    8181        void enterScope();
    8282        void leaveScope();
    83         void enterContext( std::string contextName );
     83        void enterContext( const std::string &contextName );
    8484        void leaveContext();
    8585
  • src/Parser/lex.h

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

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

    reb50842 r937e51d  
    1010// Created On       : Sat May 16 23:52:08 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat May 16 23:55:30 2015
    13 // Update Count     : 3
     12// Last Modified On : Mon Jun 22 17:19:54 2015
     13// Update Count     : 17
    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::ostrstream stream;
     212                        std::ostringstream 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( std::string( stream.str(), stream.pcount() ) );
     219                        throw SemanticError( stream.str() );
    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 );
    545 
    546                 {
     544                AlternativeFinder funcFinder( indexer, env ); {
    547545                        NameExpr *fname;
    548546                        if ( ( fname = dynamic_cast<NameExpr *>( untypedExpr->get_function()))
    549                                  && ( fname->get_name() == std::string("LabAddress")) ) {
    550                                 alternatives.push_back( Alternative( untypedExpr, env, Cost()) );
     547                                 && ( fname->get_name() == std::string("&&")) ) {
     548                                alternatives.push_back( Alternative( untypedExpr->clone(), env, Cost()) );
    551549                                return;
    552550                        }
     
    562560                Tuples::TupleAssignSpotter tassign( this );
    563561                if ( tassign.isTupleAssignment( untypedExpr, possibilities ) ) {
    564                         // TODO take care of possible tuple assignments, or discard expression
     562                        // take care of possible tuple assignments, or discard expression
    565563                        return;
    566564                } // else ...
     
    572570                                std::cout << "working on alternative: " << std::endl;
    573571                                func->print( std::cout, 8 );
    574                                 )
     572                        )
    575573                        // check if the type is pointer to function
    576574                        PointerType *pointer;
     
    605603                                                std::cout << "known function ops:" << std::endl;
    606604                                                printAlts( funcOpFinder.alternatives, std::cout, 8 );
    607                                                 )
     605                                        )
    608606                                }
    609607
     
    644642                                withFunc->env.print( std::cout, 8 );
    645643                                std::cout << "cost of conversion is:" << cvtCost << std::endl;
    646                                 )
    647                                 if ( cvtCost != Cost::infinity ) {
    648                                         withFunc->cvtCost = cvtCost;
    649                                         alternatives.push_back( *withFunc );
    650                                 } // if
     644                        )
     645                        if ( cvtCost != Cost::infinity ) {
     646                                withFunc->cvtCost = cvtCost;
     647                                alternatives.push_back( *withFunc );
     648                        } // if
    651649                } // for
    652650                candidates.clear();
     
    749747                                newExpr.print( std::cerr );
    750748                                std::cerr << std::endl;
    751                                 )
     749                        )
    752750                        renameTypes( alternatives.back().expr );
    753751                        if ( StructInstType *structInst = dynamic_cast< StructInstType* >( (*i)->get_type() ) ) {
     
    796794                        argType->print( std::cout );
    797795                        std::cout << std::endl;
    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
     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
    805803        }
    806804
  • src/ResolvExpr/RenameVars.cc

    reb50842 r937e51d  
    1010// Created On       : Sun May 17 12:05:18 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun May 17 12:07:59 2015
    13 // Update Count     : 2
     12// Last Modified On : Mon Jun  8 14:51:35 2015
     13// Update Count     : 4
    1414//
    1515
    16 #include <strstream>
     16#include <sstream>
    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::ostrstream output;
     124                                std::ostringstream output;
    125125                                output << "_" << level << "_" << (*i)->get_name();
    126                                 std::string newname( output.str(), output.pcount() );
     126                                std::string newname( output.str() );
    127127                                mapStack.front()[ (*i)->get_name() ] = newname;
    128128                                (*i)->set_name( newname );
  • src/ResolvExpr/Resolver.cc

    reb50842 r937e51d  
    99// Author           : Richard C. Bilson
    1010// Created On       : Sun May 17 12:17:01 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun May 17 12:18:17 2015
    13 // Update Count     : 2
     11// Last Modified By : Rob Schluntz
     12// Last Modified On : Wed Jun 24 16:20:35 2015
     13// Update Count     : 156
    1414//
    1515
     
    3838                virtual void visit( TypeDecl *typeDecl );
    3939
     40                virtual void visit( ArrayType * at );
     41
    4042                virtual void visit( ExprStmt *exprStmt );
    4143                virtual void visit( IfStmt *ifStmt );
     
    4547                virtual void visit( ChooseStmt *switchStmt );
    4648                virtual void visit( CaseStmt *caseStmt );
     49                virtual void visit( BranchStmt *branchStmt );
    4750                virtual void visit( ReturnStmt *returnStmt );
    4851
     
    5053                virtual void visit( ListInit *listInit );
    5154          private:
     55        typedef std::list< Initializer * >::iterator InitIterator;
     56
     57          void resolveAggrInit( AggregateDecl *, InitIterator &, InitIterator & );
     58          void resolveSingleAggrInit( Declaration *, InitIterator &, InitIterator & );
     59
    5260                std::list< Type * > functionReturn;
    5361                Type *initContext;
     
    158166                SymTab::Indexer::visit( objectDecl );
    159167        }
    160  
     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
    161180        void Resolver::visit( TypeDecl *typeDecl ) {
    162181                if ( typeDecl->get_base() ) {
     
    166185                SymTab::Indexer::visit( typeDecl );
    167186        }
    168  
     187
    169188        void Resolver::visit( FunctionDecl *functionDecl ) {
    170189#if 0
     
    252271        }
    253272
     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
    254286        void Resolver::visit( ReturnStmt *returnStmt ) {
    255287                if ( returnStmt->get_expr() ) {
     
    260292                        returnStmt->set_expr( newExpr );
    261293                } // 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;
    262303        }
    263304
     
    286327                        delete castExpr;
    287328                        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                        }
    288346                } // if
    289347//      singleInit->get_value()->accept( *this );
    290348        }
    291349
    292         void Resolver::visit( ListInit *listInit ) {
    293                 Visitor::visit(listInit);
     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
    294406#if 0
    295407                if ( ArrayType *at = dynamic_cast<ArrayType*>(initContext) ) {
  • src/ResolvExpr/module.mk

    reb50842 r937e51d  
     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
    117SRC += ResolvExpr/AlternativeFinder.cc \
    2       ResolvExpr/Alternative.cc \
     18       ResolvExpr/Alternative.cc \
    319       ResolvExpr/Unify.cc \
    420       ResolvExpr/PtrsAssignable.cc \
     
    1632       ResolvExpr/Occurs.cc \
    1733       ResolvExpr/TypeEnvironment.cc
    18        
  • src/SymTab/Indexer.cc

    reb50842 r937e51d  
    1010// Created On       : Sun May 17 21:37:33 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue May 19 16:49:55 2015
    13 // Update Count     : 3
     12// Last Modified On : Fri Jun  5 08:05:17 2015
     13// Update Count     : 5
    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.
    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  */
     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
    7173
    7274        void Indexer::visit( TypeDecl *typeDecl ) {
    7375                // see A NOTE ON THE ORDER OF TRAVERSAL, above
    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
     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
    7678                enterScope();
    7779                acceptAll( typeDecl->get_parameters(), *this );
  • src/SymTab/Mangler.cc

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

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

    reb50842 r937e51d  
    99// Author           : Richard C. Bilson
    1010// Created On       : Sun May 17 21:50:04 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue May 19 16:50:09 2015
    13 // Update Count     : 3
     11// Last Modified By : Rob Schluntz
     12// Last Modified On : Wed Jun 24 16:20:50 2015
     13// Update Count     : 30
    1414//
    1515
     
    4545#include "SynTree/Type.h"
    4646#include "SynTree/Statement.h"
     47#include "SynTree/TypeSubstitution.h"
    4748#include "Indexer.h"
    48 #include "SynTree/TypeSubstitution.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
    178180                AddStructAssignment::addStructAssignment( translationUnit );
    179181                acceptAll( translationUnit, pass3 );
     
    506508                if ( ! array->get_dimension() ) return;
    507509 
    508                 ObjectDecl *index = new ObjectDecl( indexName.newName(), Declaration::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 );
     510                ObjectDecl *index = new ObjectDecl( indexName.newName(), DeclarationNode::NoStorageClass, LinkageSpec::C, 0, new BasicType( Type::Qualifiers(), BasicType::SignedInt ), 0 );
    509511                *out++ = new DeclStmt( noLabels, index );
    510512 
     
    544546                FunctionType *assignType = new FunctionType( Type::Qualifiers(), false );
    545547 
    546                 ObjectDecl *returnVal = new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );
     548                ObjectDecl *returnVal = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );
    547549                assignType->get_returnVals().push_back( returnVal );
    548550 
    549                 ObjectDecl *dstParam = new ObjectDecl( "_dst", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );
     551                ObjectDecl *dstParam = new ObjectDecl( "_dst", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );
    550552                assignType->get_parameters().push_back( dstParam );
    551553 
    552                 ObjectDecl *srcParam = new ObjectDecl( "_src", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );
     554                ObjectDecl *srcParam = new ObjectDecl( "_src", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );
    553555                assignType->get_parameters().push_back( srcParam );
    554556
    555557                // Routines at global scope marked "static" to prevent multiple definitions is separate translation units
    556558                // because each unit generates copies of the default routines for each aggregate.
    557                 FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? Declaration::NoStorageClass : Declaration::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true );
     559                FunctionDecl *assignDecl = new FunctionDecl( "?=?", functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true, false );
    558560                assignDecl->fixUniqueId();
    559561 
    560562                for ( std::list< Declaration * >::const_iterator member = aggregateDecl->get_members().begin(); member != aggregateDecl->get_members().end(); ++member ) {
    561563                        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
    562576                                if ( ArrayType *array = dynamic_cast< ArrayType * >( dwt->get_type() ) ) {
    563577                                        makeArrayAssignment( srcParam, dstParam, dwt, array, back_inserter( assignDecl->get_statements()->get_kids() ) );
     
    575589                FunctionType *assignType = new FunctionType( Type::Qualifiers(), false );
    576590 
    577                 ObjectDecl *returnVal = new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );
     591                ObjectDecl *returnVal = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );
    578592                assignType->get_returnVals().push_back( returnVal );
    579593 
    580                 ObjectDecl *dstParam = new ObjectDecl( "_dst", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );
     594                ObjectDecl *dstParam = new ObjectDecl( "_dst", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, new PointerType( Type::Qualifiers(), refType->clone() ), 0 );
    581595                assignType->get_parameters().push_back( dstParam );
    582596 
    583                 ObjectDecl *srcParam = new ObjectDecl( "_src", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );
     597                ObjectDecl *srcParam = new ObjectDecl( "_src", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType, 0 );
    584598                assignType->get_parameters().push_back( srcParam );
    585599 
    586600                // Routines at global scope marked "static" to prevent multiple definitions is separate translation units
    587601                // because each unit generates copies of the default routines for each aggregate.
    588                 FunctionDecl *assignDecl = new FunctionDecl( "?=?",  functionNesting > 0 ? Declaration::NoStorageClass : Declaration::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true );
     602                FunctionDecl *assignDecl = new FunctionDecl( "?=?",  functionNesting > 0 ? DeclarationNode::NoStorageClass : DeclarationNode::Static, LinkageSpec::AutoGen, assignType, new CompoundStmt( noLabels ), true, false );
    589603                assignDecl->fixUniqueId();
    590604 
     
    621635                TypeInstType *typeInst = new TypeInstType( Type::Qualifiers(), typeDecl->get_name(), false );
    622636                typeInst->set_baseType( typeDecl );
    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 );
     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 );
    625639                if ( typeDecl->get_base() ) {
    626640                        stmts = new CompoundStmt( std::list< Label >() );
     
    631645                } // if
    632646                FunctionType *type = new FunctionType( Type::Qualifiers(), false );
    633                 type->get_returnVals().push_back( new ObjectDecl( "", Declaration::NoStorageClass, LinkageSpec::Cforall, 0, typeInst, 0 ) );
     647                type->get_returnVals().push_back( new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, typeInst, 0 ) );
    634648                type->get_parameters().push_back( dst );
    635649                type->get_parameters().push_back( src );
    636                 FunctionDecl *func = new FunctionDecl( "?=?", Declaration::NoStorageClass, LinkageSpec::AutoGen, type, stmts, false );
     650                FunctionDecl *func = new FunctionDecl( "?=?", DeclarationNode::NoStorageClass, LinkageSpec::AutoGen, type, stmts, false, false );
    637651                declsToAdd.push_back( func );
    638652        }
    639653
    640654        void addDecls( std::list< Declaration * > &declsToAdd, std::list< Statement * > &statements, std::list< Statement * >::iterator i ) {
    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
     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();
    647659        }
    648660
  • src/SymTab/module.mk

    reb50842 r937e51d  
     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
    117SRC += SymTab/IdTable.cc \
    218       SymTab/Indexer.cc \
  • src/SynTree/AggregateDecl.cc

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

    reb50842 r937e51d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May 18 07:52:08 2015
    13 // Update Count     : 2
     12// Last Modified On : Sat Jun  6 14:11:48 2015
     13// Update Count     : 9
    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 );
    4645        } else {
    4746                os << "open array of ";
     
    4948        if ( base ) {
    5049                base->print( os, indent );
     50        } // if
     51        if ( dimension ) {
     52                os << "with dimension of ";
     53                dimension->print( os, indent );
    5154        } // if
    5255}
  • src/SynTree/BasicType.cc

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

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

    reb50842 r937e51d  
    99// Author           : Richard C. Bilson
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May 18 08:13:25 2015
    13 // Update Count     : 1
     11// Last Modified By : Rob Schluntz
     12// Last Modified On : Wed Jun 10 14:41:03 2015
     13// Update Count     : 8
    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 << " (type: ";
     31                os << ": ";
    3232                type->print( os );
    33                 os << ")";
    3433        } // if
     34  os << ")";
    3535}
    3636
  • src/SynTree/DeclStmt.cc

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

    reb50842 r937e51d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May 18 08:18:35 2015
    13 // Update Count     : 2
     12// Last Modified On : Sat Jun 13 08:07:20 2015
     13// Update Count     : 9
    1414//
    1515
     
    2222#include "utility.h"
    2323
    24 const char* Declaration::storageClassName[] = { "", "auto", "static", "extern", "register" }; 
    25 
    2624static UniqueId lastUniqueId = 0;
    2725typedef std::map< UniqueId, Declaration* > IdMapType;
    2826static IdMapType idMap;
    2927
    30 Declaration::Declaration( const std::string &name, StorageClass sc, LinkageSpec::Type linkage )
    31         : name( name ), storageClass( sc ), linkage( linkage ), uniqueId( 0 ) {
     28Declaration::Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage )
     29                : name( name ), storageClass( sc ), linkage( linkage ), uniqueId( 0 ) {
    3230}
    3331
    3432Declaration::Declaration( const Declaration &other )
    35         : name( other.name ), storageClass( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) {
     33                : name( other.name ), storageClass( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) {
    3634}
    3735
     
    4442}
    4543
    46 /* static class method */
    4744Declaration *Declaration::declFromId( UniqueId id ) {
    4845        IdMapType::const_iterator i = idMap.find( id );
    49         if ( i != idMap.end() ) {
    50                 return i->second;
    51         } else {
    52                 return 0;
    53         } // if
     46        return i != idMap.end() ? i->second : 0;
    5447}
    5548
    56 /* static class method */
    5749void Declaration::dumpIds( std::ostream &os ) {
    5850        for ( IdMapType::const_iterator i = idMap.begin(); i != idMap.end(); ++i ) {
  • src/SynTree/Declaration.h

    reb50842 r937e51d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May 18 08:46:25 2015
    13 // Update Count     : 2
     12// Last Modified On : Sat Jun 13 09:10:31 2015
     13// Update Count     : 25
    1414//
    1515
     
    2121#include "Mutator.h"
    2222#include "Parser/LinkageSpec.h"
     23#include "Parser/ParseNode.h"
    2324
    2425class Declaration {
    2526  public:
    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 );
     27        Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage );
    3728        Declaration( const Declaration &other );
    3829        virtual ~Declaration();
    3930
    40         std::string get_name() const { return name; }
     31        const std::string &get_name() const { return name; }
    4132        void set_name( std::string newValue ) { name = newValue; }
    42         StorageClass get_storageClass() const { return storageClass; }
    43         void set_storageClass( StorageClass newValue ) { storageClass = newValue; }
     33        DeclarationNode::StorageClass get_storageClass() const { return storageClass; }
     34        void set_storageClass( DeclarationNode::StorageClass newValue ) { storageClass = newValue; }
    4435        LinkageSpec::Type get_linkage() const { return linkage; }
    4536        void set_linkage( LinkageSpec::Type newValue ) { linkage = newValue; }
     
    5344        virtual void printShort( std::ostream &os, int indent = 0 ) const = 0;
    5445
    55         static const char* storageClassName[]; 
    56 
    5746        static void dumpIds( std::ostream &os );
    5847        static Declaration *declFromId( UniqueId id );
    5948  private:
    6049        std::string name;
    61         StorageClass storageClass;
     50        DeclarationNode::StorageClass storageClass;
    6251        LinkageSpec::Type linkage;
    6352        UniqueId uniqueId;
     
    6655class DeclarationWithType : public Declaration {
    6756  public:
    68         DeclarationWithType( const std::string &name, StorageClass sc, LinkageSpec::Type linkage );
     57        DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage );
    6958        DeclarationWithType( const DeclarationWithType &other );
    7059        virtual ~DeclarationWithType();
     
    8675        typedef DeclarationWithType Parent;
    8776  public:
    88         ObjectDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init );
     77        ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init );
    8978        ObjectDecl( const ObjectDecl &other );
    9079        virtual ~ObjectDecl();
     
    112101        typedef DeclarationWithType Parent;
    113102  public:
    114         FunctionDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline );
     103        FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline, bool isNoreturn );
    115104        FunctionDecl( const FunctionDecl &other );
    116105        virtual ~FunctionDecl();
     
    123112        CompoundStmt *get_statements() const { return statements; }
    124113        void set_statements( CompoundStmt *newValue ) { statements = newValue; }
    125 //    bool get_isInline() const { return isInline; }
    126 //    void set_isInline( bool newValue ) { isInline = newValue; }
     114        bool get_isInline() const { return isInline; }
     115        bool get_isNoreturn() const { return isNoreturn; }
    127116        std::list< std::string >& get_oldIdents() { return oldIdents; }
    128117        std::list< Declaration* >& get_oldDecls() { return oldDecls; }
     
    136125        FunctionType *type;
    137126        CompoundStmt *statements;
    138         bool isInline;
     127        bool isInline, isNoreturn;
    139128        std::list< std::string > oldIdents;
    140129        std::list< Declaration* > oldDecls;
     
    144133        typedef Declaration Parent;
    145134  public:
    146         NamedTypeDecl( const std::string &name, StorageClass sc, Type *type );
     135        NamedTypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type );
    147136        NamedTypeDecl( const TypeDecl &other );
    148137        virtual ~NamedTypeDecl();
     
    169158        enum Kind { Any, Dtype, Ftype };
    170159
    171         TypeDecl( const std::string &name, StorageClass sc, Type *type, Kind kind );
     160        TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind );
    172161        TypeDecl( const TypeDecl &other );
    173162
     
    185174        typedef NamedTypeDecl Parent;
    186175  public:
    187         TypedefDecl( const std::string &name, StorageClass sc, Type *type ) : Parent( name, sc, type ) {}
     176        TypedefDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type ) : Parent( name, sc, type ) {}
    188177        TypedefDecl( const TypedefDecl &other ) : Parent( other ) {}
    189178
  • src/SynTree/DeclarationWithType.cc

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

    reb50842 r937e51d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May 18 08:27:07 2015
    13 // Update Count     : 2
     12// Last Modified On : Sun Jun  7 08:40:46 2015
     13// Update Count     : 16
    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 << std::string(indent, ' ') << "Constant Expression: " ;
    75         constant.print(os);
    76         os << std::endl;
     74        os << "constant expression " ;
     75        constant.print( os );
    7776        Expression::print( os, indent );
    7877}
     
    9392
    9493void VariableExpr::print( std::ostream &os, int indent ) const {
    95         os << std::string(indent, ' ') << "Variable Expression: ";
     94        os << std::string( indent, ' ' ) << "Variable Expression: ";
    9695
    9796        Declaration *decl = get_var();
     
    122121
    123122void SizeofExpr::print( std::ostream &os, int indent) const {
    124         os << std::string(indent, ' ') << "Sizeof Expression on: ";
     123        os << std::string( indent, ' ' ) << "Sizeof Expression on: ";
    125124
    126125        if (isType)
     
    152151
    153152void AttrExpr::print( std::ostream &os, int indent) const {
    154         os << std::string(indent, ' ') << "Attr ";
     153        os << std::string( indent, ' ' ) << "Attr ";
    155154        attr->print( os, indent + 2 );
    156155        if ( isType || expr ) {
     
    184183
    185184void CastExpr::print( std::ostream &os, int indent ) const {
    186         os << std::string(indent, ' ') << "Cast of:" << std::endl;
     185        os << std::string( indent, ' ' ) << "Cast of:" << std::endl;
    187186        arg->print(os, indent+2);
    188         os << std::endl << std::string(indent, ' ') << "to:" << std::endl;
     187        os << std::endl << std::string( indent, ' ' ) << "to:" << std::endl;
    189188        if ( results.empty() ) {
    190                 os << std::string(indent+2, ' ') << "nothing" << std::endl;
     189                os << std::string( indent+2, ' ' ) << "nothing" << std::endl;
    191190        } else {
    192191                printAll(results, os, indent+2);
     
    207206
    208207void UntypedMemberExpr::print( std::ostream &os, int indent ) const {
    209         os << std::string(indent, ' ') << "Member Expression, with field: " << get_member();
     208        os << std::string( indent, ' ' ) << "Member Expression, with field: " << get_member();
    210209
    211210        Expression *agg = get_aggregate();
    212         os << std::string(indent, ' ') << "from aggregate: ";
     211        os << std::string( indent, ' ' ) << "from aggregate: ";
    213212        if (agg != 0) agg->print(os, indent + 2);
    214213        Expression::print( os, indent );
     
    234233
    235234void MemberExpr::print( std::ostream &os, int indent ) const {
    236         os << std::string(indent, ' ') << "Member Expression, with field: " << std::endl;
     235        os << std::string( indent, ' ' ) << "Member Expression, with field: " << std::endl;
    237236
    238237        assert( member );
    239         os << std::string(indent + 2, ' ');
     238        os << std::string( indent + 2, ' ' );
    240239        member->print( os, indent + 2 );
    241240        os << std::endl;
    242241
    243242        Expression *agg = get_aggregate();
    244         os << std::string(indent, ' ') << "from aggregate: " << std::endl;
     243        os << std::string( indent, ' ' ) << "from aggregate: " << std::endl;
    245244        if (agg != 0) agg->print(os, indent + 2);
    246245        Expression::print( os, indent );
     
    261260
    262261void UntypedExpr::print( std::ostream &os, int indent ) const {
    263         os << std::string(indent, ' ') << "Applying untyped: " << std::endl;
     262        os << std::string( indent, ' ' ) << "Applying untyped: " << std::endl;
    264263        function->print(os, indent + 4);
    265         os << "\r" << std::string(indent, ' ') << "...to: " << std::endl;
     264        os << std::string( indent, ' ' ) << "...to: " << std::endl;
    266265        printArgs(os, indent + 4);
    267266        Expression::print( os, indent );
     
    282281
    283282void NameExpr::print( std::ostream &os, int indent ) const {
    284         os << std::string(indent, ' ') << "Name: " << get_name() << std::endl;
     283        os << std::string( indent, ' ' ) << "Name: " << get_name() << std::endl;
    285284        Expression::print( os, indent );
    286285}
     
    301300
    302301void LogicalExpr::print( std::ostream &os, int indent )const {
    303         os << std::string(indent, ' ') << "Short-circuited operation (" << (isAnd?"and":"or") << ") on: ";
     302        os << std::string( indent, ' ' ) << "Short-circuited operation (" << (isAnd?"and":"or") << ") on: ";
    304303        arg1->print(os);
    305304        os << " and ";
     
    323322
    324323void ConditionalExpr::print( std::ostream &os, int indent ) const {
    325         os << std::string(indent, ' ') << "Conditional expression on: " << std::endl;
     324        os << std::string( indent, ' ' ) << "Conditional expression on: " << std::endl;
    326325        arg1->print( os, indent+2 );
    327         os << std::string(indent, ' ') << "First alternative:" << std::endl;
     326        os << std::string( indent, ' ' ) << "First alternative:" << std::endl;
    328327        arg2->print( os, indent+2 );
    329         os << std::string(indent, ' ') << "Second alternative:" << std::endl;
     328        os << std::string( indent, ' ' ) << "Second alternative:" << std::endl;
    330329        arg3->print( os, indent+2 );
    331330        os << std::endl;
     
    334333
    335334void UntypedValofExpr::print( std::ostream &os, int indent ) const {
    336         os << std::string(indent, ' ') << "Valof Expression: " << std::endl;
     335        os << std::string( indent, ' ' ) << "Valof Expression: " << std::endl;
    337336        if ( get_body() != 0 )
    338337                get_body()->print( os, indent + 2 );
  • src/SynTree/Expression.h

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

    reb50842 r937e51d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu May 21 21:31:16 2015
    13 // Update Count     : 11
     12// Last Modified On : Sat Jun 13 09:10:32 2015
     13// Update Count     : 16
    1414//
    1515
     
    2121#include "utility.h"
    2222
    23 FunctionDecl::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 ) {
     23FunctionDecl::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 ) {
    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 ) {
     32        : Parent( other ), type( maybeClone( other.type ) ), statements( maybeClone( other.statements ) ), isInline( other.isInline ), isNoreturn( other.isNoreturn ) {
    3333}
    3434
     
    5252       
    5353        if ( get_name() != "" ) {
    54                 os << get_name() << ": a ";
     54                os << get_name() << ": ";
    5555        } // if
    5656        if ( get_linkage() != LinkageSpec::Cforall ) {
     
    6060                os << "inline ";
    6161        } // if
    62         if ( get_storageClass() != NoStorageClass ) {
    63                 os << storageClassName[ get_storageClass() ] << ' ';
     62        if ( isNoreturn ) {
     63                os << "_Noreturn ";
     64        } // if
     65        if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
     66                os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
    6467        } // if
    6568        if ( get_type() ) {
     
    7073
    7174        if ( ! oldIdents.empty() ) {
    72                 os << string( indent+2, ' ' ) << "with parameter names" << endl;
     75                os << string( indent + 2, ' ' ) << "with parameter names" << endl;
    7376                for ( std::list< std::string >::const_iterator i = oldIdents.begin(); i != oldIdents.end(); ++i ) {
    74                         os << string( indent+4, ' ' ) << *i << endl;
     77                        os << string( indent + 4, ' ' ) << *i << endl;
    7578                } // for
    7679        } // if
    7780
    7881        if ( ! oldDecls.empty() ) {
    79                 os << string( indent+2, ' ' ) << "with parameter declarations" << endl;
    80                 printAll( oldDecls, os, indent+4 );
     82                os << string( indent + 2, ' ' ) << "with parameter declarations" << endl;
     83                printAll( oldDecls, os, indent + 4 );
    8184        } // if
    8285        if ( statements ) {
    83                 os << string( indent+2, ' ' ) << "with body " << endl;
    84                 statements->print( os, indent+4 );
     86                os << string( indent + 2, ' ' ) << "with body " << endl;
     87                statements->print( os, indent + 4 );
    8588        } // if
    8689}
     
    9194       
    9295        if ( get_name() != "" ) {
    93                 os << get_name() << ": a ";
     96                os << get_name() << ": ";
    9497        } // if
    9598        if ( isInline ) {
    9699                os << "inline ";
    97100        } // if
    98         if ( get_storageClass() != NoStorageClass ) {
    99                 os << storageClassName[ get_storageClass() ] << ' ';
     101        if ( isNoreturn ) {
     102                os << "_Noreturn ";
     103        } // if
     104        if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
     105                os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
    100106        } // if
    101107        if ( get_type() ) {
  • src/SynTree/Mutator.h

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

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

    reb50842 r937e51d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May 18 10:14:18 2015
    13 // Update Count     : 2
     12// Last Modified On : Sat Jun 13 08:10:16 2015
     13// Update Count     : 15
    1414//
    1515
     
    2020#include "utility.h"
    2121
    22 ObjectDecl::ObjectDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init )
     22ObjectDecl::ObjectDecl( const std::string &name, DeclarationNode::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() << ": a ";
     38                os << get_name() << ": ";
    3939        } // if
    4040
     
    4343        } // if
    4444
    45         if ( get_storageClass() != NoStorageClass ) {
    46                 os << storageClassName[ get_storageClass() ] << ' ';
     45        if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
     46                os << DeclarationNode::storageName[ 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
    6772        if ( get_name() != "" ) {
    68                 os << get_name() << ": a ";
     73                os << get_name() << ": ";
    6974        } // if
    7075
    71         if ( get_storageClass() != NoStorageClass ) {
    72                 os << storageClassName[ get_storageClass() ] << ' ';
     76        if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
     77                os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
    7378        } // if
    7479
  • src/SynTree/ReferenceToType.cc

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

    reb50842 r937e51d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May 18 10:55:19 2015
    13 // Update Count     : 2
     12// Last Modified On : Tue Jun 23 11:42:09 2015
     13// Update Count     : 21
    1414//
    1515
     
    3030Statement::Statement( std::list<Label> _labels ) : labels(_labels ) {}
    3131
    32 void Statement::print( std::ostream &, int indent ) {}
     32void Statement::print( std::ostream &, int indent ) const {}
    3333
    3434Statement::~Statement() {}
     
    3838ExprStmt::~ExprStmt() {}
    3939
    40 void ExprStmt::print( std::ostream &os, int indent ) {
    41         os << "\r" << string(indent, ' ') << "Expression Statement:" << endl;
     40void ExprStmt::print( std::ostream &os, int indent ) const {
     41        os << 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 ), target(_target ), type(_type ) {
     48        Statement( labels ), originalTarget(_target ), 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 ) {
    61         os << "\r" << string( indent, ' ') << "Branch (" << brType[type] << ")" << endl ;
     60void BranchStmt::print( std::ostream &os, int indent ) const {
     61        os << string( indent, ' ' ) << "Branch (" << brType[type] << ")" << endl ;
    6262}
    6363
     
    6868}
    6969
    70 void ReturnStmt::print( std::ostream &os, int indent ) {
    71         os << "\r" << std::string( indent, ' ') << string ( isThrow? "Throw":"Return" ) << " Statement, returning: ";
     70void ReturnStmt::print( std::ostream &os, int indent ) const {
     71        os << 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 ) {
    82         os << "\r" << string( indent, ' ') << "If on condition: " << endl ;
     81void IfStmt::print( std::ostream &os, int indent ) const {
     82        os << 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 ) {
    106         os << "\r" << string( indent, ' ') << "Switch on condition: ";
     105void SwitchStmt::print( std::ostream &os, int indent ) const {
     106        os << string( indent, ' ' ) << "Switch on condition: ";
    107107        condition->print( os );
    108108        os << endl;
    109109
    110110        // branches
    111         std::list<Statement *>::iterator i;
     111        std::list<Statement *>::const_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 void CaseStmt::print( std::ostream &os, int indent ) {
    129         os << "\r" << string( indent, ' ');
    130 
    131         if ( isDefault())
     128CaseStmt * CaseStmt::makeDefault( std::list<Label> labels, std::list<Statement *> branches ) {
     129        return new CaseStmt( labels, 0, branches, true );
     130}
     131
     132void CaseStmt::print( std::ostream &os, int indent ) const {
     133        os << string( indent, ' ' );
     134
     135        if ( isDefault() )
    132136                os << "Default ";
    133137        else {
     
    138142        os << endl;
    139143
    140         std::list<Statement *>::iterator i;
     144        std::list<Statement *>::const_iterator i;
    141145        for ( i = stmts.begin(); i != stmts.end(); i++)
    142146                (*i )->print( os, indent + 4 );
     
    154158void ChooseStmt::add_case( CaseStmt *c ) {}
    155159
    156 void ChooseStmt::print( std::ostream &os, int indent ) {
    157         os << "\r" << string( indent, ' ') << "Choose on condition: ";
     160void ChooseStmt::print( std::ostream &os, int indent ) const {
     161        os << string( indent, ' ' ) << "Choose on condition: ";
    158162        condition->print( os );
    159163        os << endl;
    160164
    161165        // branches
    162         std::list<Statement *>::iterator i;
     166        std::list<Statement *>::const_iterator i;
    163167        for ( i = branches.begin(); i != branches.end(); i++)
    164168                (*i )->print( os, indent + 4 );
     
    167171}
    168172
    169 void FallthruStmt::print( std::ostream &os, int indent ) {
    170         os << "\r" << string( indent, ' ') << "Fall-through statement" << endl;
     173void FallthruStmt::print( std::ostream &os, int indent ) const {
     174        os << string( indent, ' ' ) << "Fall-through statement" << endl;
    171175}
    172176
     
    179183}
    180184
    181 void WhileStmt::print( std::ostream &os, int indent ) {
    182         os << "\r" << string( indent, ' ') << "While on condition: " << endl ;
     185void WhileStmt::print( std::ostream &os, int indent ) const {
     186        os << string( indent, ' ' ) << "While on condition: " << endl ;
    183187        condition->print( os, indent + 4 );
    184188
    185         os << string( indent, ' ') << ".... with body: " << endl;
     189        os << string( indent, ' ' ) << ".... with body: " << endl;
    186190
    187191        if ( body != 0 ) body->print( os, indent + 4 );
     
    199203}
    200204
    201 void ForStmt::print( std::ostream &os, int indent ) {
    202         os << "\r" << string( indent, ' ') << "For Statement" << endl ;
    203 
    204         os << "\r" << string( indent + 2, ' ') << "initialization: \n";
     205void 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";
    205215        if ( initialization != 0 )
    206216                initialization->print( os, indent + 4 );
    207217
    208         os << "\n\r" << string( indent + 2, ' ') << "condition: \n";
     218        os << "\n" << string( indent + 2, ' ' ) << "condition: \n";
    209219        if ( condition != 0 )
    210220                condition->print( os, indent + 4 );
    211221
    212         os << "\n\r" << string( indent + 2, ' ') << "increment: \n";
     222        os << "\n" << string( indent + 2, ' ' ) << "increment: \n";
    213223        if ( increment != 0 )
    214224                increment->print( os, indent + 4 );
    215225
    216         os << "\n\r" << string( indent + 2, ' ') << "statement block: \n";
     226        os << "\n" << string( indent + 2, ' ' ) << "statement block: \n";
    217227        if ( body != 0 )
    218228                body->print( os, indent + 4 );
     
    235245}
    236246
    237 void TryStmt::print( std::ostream &os, int indent ) {
    238         os << "\r" << string( indent, ' ') << "Try Statement" << endl;
    239         os << string( indent + 2, ' ') << "with block: " << endl;
     247void TryStmt::print( std::ostream &os, int indent ) const {
     248        os << string( indent, ' ' ) << "Try Statement" << endl;
     249        os << string( indent + 2, ' ' ) << "with block: " << endl;
    240250        block->print( os, indent + 4 );
    241251
    242252        // handlers
    243         os << string( indent + 2, ' ') << "and handlers: " << endl;
    244         std::list<Statement *>::iterator i;
    245         for ( i = handlers.begin(); i != handlers.end(); i++)
     253        os << string( indent + 2, ' ' ) << "and handlers: " << endl;
     254        for ( std::list<Statement *>::const_iterator i = handlers.begin(); i != handlers.end(); i++)
    246255                (*i )->print( os, indent + 4 );
    247256
    248257        // finally block
    249258        if ( finallyBlock != 0 ) {
    250                 os << string( indent + 2, ' ') << "Finally block: " << endl;
     259                os << string( indent + 2, ' ' ) << "Finally block: " << endl;
    251260                finallyBlock->print( os, indent + 4 );
    252261        } // if
     
    262271}
    263272
    264 void CatchStmt::print( std::ostream &os, int indent ) {
    265         os << "\r" << string( indent, ' ') << "Catch Statement" << endl;
    266 
    267         os << "\r" << string( indent, ' ') << "... catching" << endl;
     273void CatchStmt::print( std::ostream &os, int indent ) const {
     274        os << string( indent, ' ' ) << "Catch Statement" << endl;
     275
     276        os << string( indent, ' ' ) << "... catching" << endl;
    268277        if ( decl ) {
    269278                decl->printShort( os, indent + 4 );
    270279                os << endl;
    271280        } else if ( catchRest )
    272                 os << "\r" << string( indent + 4 , ' ') << "the rest" << endl;
     281                os << string( indent + 4 , ' ' ) << "the rest" << endl;
    273282        else
    274                 os << "\r" << string( indent + 4 , ' ') << ">>> Error:  this catch clause must have a declaration <<<" << endl;
     283                os << string( indent + 4 , ' ' ) << ">>> Error:  this catch clause must have a declaration <<<" << endl;
    275284}
    276285
     
    284293}
    285294
    286 void FinallyStmt::print( std::ostream &os, int indent ) {
    287         os << "\r" << string( indent, ' ') << "Finally Statement" << endl;
    288         os << string( indent + 2, ' ') << "with block: " << endl;
     295void FinallyStmt::print( std::ostream &os, int indent ) const {
     296        os << string( indent, ' ' ) << "Finally Statement" << endl;
     297        os << string( indent + 2, ' ' ) << "with block: " << endl;
    289298        block->print( os, indent + 4 );
    290299}
     
    294303NullStmt::~NullStmt() {}
    295304
    296 void NullStmt::print( std::ostream &os, int indent ) {
    297         os << "\r" << string( indent, ' ') << "Null Statement" << endl ;
     305void NullStmt::print( std::ostream &os, int indent ) const {
     306        os << string( indent, ' ' ) << "Null Statement" << endl ;
    298307}
    299308
  • src/SynTree/Statement.h

    reb50842 r937e51d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May 18 10:57:40 2015
    13 // Update Count     : 2
     12// Last Modified On : Tue Jun 23 11:44:27 2015
     13// Update Count     : 20
    1414//
    1515
     
    2828
    2929        std::list<Label> & get_labels() { return labels; }
     30        const std::list<Label> & get_labels() const { return labels; }
    3031
    3132        virtual Statement *clone() const = 0;
    3233        virtual void accept( Visitor &v ) = 0;
    3334        virtual Statement *acceptMutator( Mutator &m ) = 0;
    34         virtual void print( std::ostream &os, int indent = 0 );
     35        virtual void print( std::ostream &os, int indent = 0 ) const;
    3536  protected:
    3637        std::list<Label> labels;
     
    4849        virtual void accept( Visitor &v ) { v.visit( this ); }
    4950        virtual CompoundStmt *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    50         virtual void print( std::ostream &os, int indent = 0 );
     51        virtual void print( std::ostream &os, int indent = 0 ) const;
    5152  private:
    5253        std::list<Statement*> kids;
     
    6465        virtual void accept( Visitor &v ) { v.visit( this ); }
    6566        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    66         virtual void print( std::ostream &os, int indent = 0 );
     67        virtual void print( std::ostream &os, int indent = 0 ) const;
    6768  private:
    6869        Expression *expr;
     
    8485        virtual void accept( Visitor &v ) { v.visit( this ); }
    8586        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    86         virtual void print( std::ostream &os, int indent = 0 );
     87        virtual void print( std::ostream &os, int indent = 0 ) const;
    8788  private:
    8889        Expression *condition;
     
    106107
    107108        virtual SwitchStmt *clone() const { return new SwitchStmt( *this ); }
    108         virtual void print( std::ostream &os, int indent = 0 );
     109        virtual void print( std::ostream &os, int indent = 0 ) const;
    109110  private:
    110111        Expression * condition;
     
    127128
    128129        virtual ChooseStmt *clone() const { return new ChooseStmt( *this ); }
    129         virtual void print( std::ostream &os, int indent = 0 );
     130        virtual void print( std::ostream &os, int indent = 0 ) const;
    130131  private:
    131132        Expression *condition;
     
    141142
    142143        virtual FallthruStmt *clone() const { return new FallthruStmt( *this ); }
    143         virtual void print( std::ostream &os, int indent = 0 );
     144        virtual void print( std::ostream &os, int indent = 0 ) const;
    144145};
    145146
     
    150151        virtual ~CaseStmt();
    151152
    152         bool isDefault() { return _isDefault; }
     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; }
    153157        void set_default(bool b) { _isDefault = b; }
    154158
     
    163167
    164168        virtual CaseStmt *clone() const { return new CaseStmt( *this ); }
    165         virtual void print( std::ostream &os, int indent = 0 );
     169        virtual void print( std::ostream &os, int indent = 0 ) const;
    166170  private:
    167171        Expression * condition;
     
    186190        virtual void accept( Visitor &v ) { v.visit( this ); }
    187191        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    188         virtual void print( std::ostream &os, int indent = 0 );
     192        virtual void print( std::ostream &os, int indent = 0 ) const;
    189193  private:
    190194        Expression *condition;
     
    211215        virtual void accept( Visitor &v ) { v.visit( this ); }
    212216        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    213         virtual void print( std::ostream &os, int indent = 0 );
     217        virtual void print( std::ostream &os, int indent = 0 ) const;
    214218  private:
    215219        Statement *initialization;
     
    221225class BranchStmt : public Statement {
    222226  public:
    223         enum Type { Goto = 0 , Break, Continue };
     227        enum Type { Goto = 0, Break, Continue };
    224228
    225229        BranchStmt( std::list<Label> labels, Label target, Type ) throw (SemanticError);
     
    227231        virtual ~BranchStmt() {}
    228232
     233        Label get_originalTarget() { return originalTarget; }
    229234        Label get_target() { return target; }
    230235        void set_target( Label newValue ) { target = newValue; }
     
    239244        virtual void accept( Visitor &v ) { v.visit( this ); }
    240245        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    241         virtual void print( std::ostream &os, int indent = 0 );
     246        virtual void print( std::ostream &os, int indent = 0 ) const;
    242247  private:
    243248        static const char *brType[];
     249        Label originalTarget;  // can give better error messages if we remember the label name that the user entered
    244250        Label target;
    245251        Expression *computedTarget;
     
    258264        virtual void accept( Visitor &v ) { v.visit( this ); }
    259265        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    260         virtual void print( std::ostream &os, int indent = 0 );
     266        virtual void print( std::ostream &os, int indent = 0 ) const;
    261267  private:
    262268        Expression *expr;
     
    274280        virtual void accept( Visitor &v ) { v.visit( this ); }
    275281        virtual NullStmt *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    276         virtual void print( std::ostream &os, int indent = 0 );
     282        virtual void print( std::ostream &os, int indent = 0 ) const;
    277283       
    278284  private:
     
    295301        virtual void accept( Visitor &v ) { v.visit( this ); }
    296302        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    297         virtual void print( std::ostream &os, int indent = 0 );
     303        virtual void print( std::ostream &os, int indent = 0 ) const;
    298304       
    299305  private:
     
    317323        virtual void accept( Visitor &v ) { v.visit( this ); }
    318324        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    319         virtual void print( std::ostream &os, int indent = 0 );
     325        virtual void print( std::ostream &os, int indent = 0 ) const;
    320326       
    321327  private:
     
    336342        virtual void accept( Visitor &v ) { v.visit( this ); }
    337343        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    338         virtual void print( std::ostream &os, int indent = 0 );
     344        virtual void print( std::ostream &os, int indent = 0 ) const;
    339345  private:
    340346        CompoundStmt *block;
     
    355361        virtual void accept( Visitor &v ) { v.visit( this ); }
    356362        virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
    357         virtual void print( std::ostream &os, int indent = 0 );
     363        virtual void print( std::ostream &os, int indent = 0 ) const;
    358364  private:
    359365        Declaration *decl;
  • src/SynTree/Type.h

    reb50842 r937e51d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May 18 11:01:40 2015
    13 // Update Count     : 1
     12// Last Modified On : Sun Jun  7 21:50:38 2015
     13// Update Count     : 12
    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         std::string get_name() const { return name; }
     216        const 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         std::string get_name() const { return name; }
     374        const 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

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

    reb50842 r937e51d  
     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
    117SRC += SynTree/Type.cc \
    218       SynTree/VoidType.cc \
     
    3046       SynTree/Mutator.cc \
    3147       SynTree/CodeGenVisitor.cc \
    32        SynTree/TypeSubstitution.cc \
    33         $(NULL)
     48       SynTree/TypeSubstitution.cc
    3449
  • src/Tuples/AssignExpand.cc

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

    reb50842 r937e51d  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon May 18 11:59:55 2015
    13 // Update Count     : 3
     12// Last Modified On : Sat Jun 13 08:17:19 2015
     13// Update Count     : 4
    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(),Declaration::Auto,LinkageSpec::AutoGen, 0, (*res )->clone(), 0 ) );
     77                                temporaries.push_back( new ObjectDecl( nameGen->newName(), DeclarationNode::Auto, LinkageSpec::AutoGen, 0, (*res )->clone(), 0 ) );
    7878
    7979                        assert( ! temporaries.empty() );
  • src/Tuples/MultRet.cc

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

    reb50842 r937e51d  
     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
    117SRC +=  Tuples/Mutate.cc \
    218        Tuples/AssignExpand.cc \
     
    420        Tuples/TupleAssignment.cc \
    521        Tuples/FunctionChecker.cc \
    6         Tuples/NameMatcher.cc \
     22        Tuples/NameMatcher.cc
     23
    724#       Tuples/MultipleAssign.cc \
    825#       Tuples/FlattenTuple.cc \
     
    1027#       Tuples/FixReturn.cc \
    1128#       Tuples/MassAssignment.cc \
    12 #       Tuples/TupleFixer.cc \
    13         $(NULL)
    14 
     29#       Tuples/TupleFixer.cc
  • src/examples/Makefile.in

    reb50842 r937e51d  
    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
     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 -*- ######################
    1519###############################################################################
    1620
    17 CC := @CFA_BINDIR@/cfa
    18 CFLAGS = -g -Wall -Wno-unused-function -MMD
    19 MAKEFILE_NAME = ${firstword ${MAKEFILE_LIST}}   # makefile name
    20 
    21 OBJECTS1 = iostream.o fstream.o fstream_test.o
    22 EXEC1 = fstream_test
    23 
    24 OBJECTS2 = vector_int.o fstream.o iostream.o array.o iterator.o vector_test.o
    25 EXEC2 = vector_test
    26 
    27 OBJECTS = ${OBJECTS1} ${OBJECTS2}               # all object files
    28 DEPENDS = ${OBJECTS:.o=.d}                      # substitute ".o" with ".d"
    29 EXECS = ${EXEC1} ${EXEC2}                       # all executables
    30 
    31 ########## Targets ##########
    32 
    33 .PHONY : all clean                              # not file names
    34 
    35 all : ${EXECS}                                  # build all executables
    36 
    37 ${EXEC1} : ${OBJECTS1}                          # link step 1st executable
    38         ${CC} ${CFLAGS} $^ -o $@                # additional object files before $^
    39 
    40 ${EXEC2} : ${OBJECTS2}                          # link step 2nd executable
    41         ${CC} ${CFLAGS} $^ -o $@                # additional object files before $^
    42 
    43 ${OBJECTS} : ${MAKEFILE_NAME}                   # OPTIONAL : changes to this file => recompile
    44 
    45 -include ${DEPENDS}                             # include *.d files containing program dependences
    46 
    47 clean :                                         # remove files that can be regenerated
    48         rm -f ${DEPENDS} ${OBJECTS} ${EXECS} *.class
    49 
    50 distclean : clean
     21VPATH = @srcdir@
     22pkgdatadir = $(datadir)/@PACKAGE@
     23pkgincludedir = $(includedir)/@PACKAGE@
     24pkglibdir = $(libdir)/@PACKAGE@
     25pkglibexecdir = $(libexecdir)/@PACKAGE@
     26am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
     27install_sh_DATA = $(install_sh) -c -m 644
     28install_sh_PROGRAM = $(install_sh) -c
     29install_sh_SCRIPT = $(install_sh) -c
     30INSTALL_HEADER = $(INSTALL_DATA)
     31transform = $(program_transform_name)
     32NORMAL_INSTALL = :
     33PRE_INSTALL = :
     34POST_INSTALL = :
     35NORMAL_UNINSTALL = :
     36PRE_UNINSTALL = :
     37POST_UNINSTALL = :
     38noinst_PROGRAMS = fstream_test$(EXEEXT) vector_test$(EXEEXT)
     39subdir = src/examples
     40DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
     41ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
     42am__aclocal_m4_deps = $(top_srcdir)/configure.ac
     43am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
     44        $(ACLOCAL_M4)
     45mkinstalldirs = $(install_sh) -d
     46CONFIG_HEADER = $(top_builddir)/config.h
     47CONFIG_CLEAN_FILES =
     48CONFIG_CLEAN_VPATH_FILES =
     49PROGRAMS = $(noinst_PROGRAMS)
     50am_fstream_test_OBJECTS = iostream.$(OBJEXT) fstream.$(OBJEXT) \
     51        fstream_test.$(OBJEXT)
     52fstream_test_OBJECTS = $(am_fstream_test_OBJECTS)
     53fstream_test_LDADD = $(LDADD)
     54am_vector_test_OBJECTS = vector_int.$(OBJEXT) fstream.$(OBJEXT) \
     55        iostream.$(OBJEXT) array.$(OBJEXT) iterator.$(OBJEXT) \
     56        vector_test.$(OBJEXT)
     57vector_test_OBJECTS = $(am_vector_test_OBJECTS)
     58vector_test_LDADD = $(LDADD)
     59DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
     60depcomp = $(SHELL) $(top_srcdir)/automake/depcomp
     61am__depfiles_maybe = depfiles
     62am__mv = mv -f
     63COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
     64        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
     65CCLD = $(CC)
     66LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
     67SOURCES = $(fstream_test_SOURCES) $(vector_test_SOURCES)
     68DIST_SOURCES = $(fstream_test_SOURCES) $(vector_test_SOURCES)
     69ETAGS = etags
     70CTAGS = ctags
     71DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
     72ACLOCAL = @ACLOCAL@
     73ALLOCA = @ALLOCA@
     74AMTAR = @AMTAR@
     75AUTOCONF = @AUTOCONF@
     76AUTOHEADER = @AUTOHEADER@
     77AUTOMAKE = @AUTOMAKE@
     78AWK = @AWK@
     79BACKEND_CC = @BACKEND_CC@
     80CC = @CFA_BINDIR@/cfa
     81CCDEPMODE = @CCDEPMODE@
     82CFA_BINDIR = @CFA_BINDIR@
     83CFA_INCDIR = @CFA_INCDIR@
     84CFA_LIBDIR = @CFA_LIBDIR@
     85CFA_PREFIX = @CFA_PREFIX@
     86
     87# applies to both programs
     88CFLAGS = -g -Wall -Wno-unused-function # TEMPORARY: does not build with -O2
     89CPP = @CPP@
     90CPPFLAGS = @CPPFLAGS@
     91CXX = @CXX@
     92CXXDEPMODE = @CXXDEPMODE@
     93CXXFLAGS = @CXXFLAGS@
     94CYGPATH_W = @CYGPATH_W@
     95DEFS = @DEFS@
     96DEPDIR = @DEPDIR@
     97ECHO_C = @ECHO_C@
     98ECHO_N = @ECHO_N@
     99ECHO_T = @ECHO_T@
     100EGREP = @EGREP@
     101EXEEXT = @EXEEXT@
     102GCC_PATH = @GCC_PATH@
     103GREP = @GREP@
     104INSTALL = @INSTALL@
     105INSTALL_DATA = @INSTALL_DATA@
     106INSTALL_PROGRAM = @INSTALL_PROGRAM@
     107INSTALL_SCRIPT = @INSTALL_SCRIPT@
     108INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
     109LDFLAGS = @LDFLAGS@
     110LEX = @LEX@
     111LEXLIB = @LEXLIB@
     112LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
     113LIBOBJS = @LIBOBJS@
     114LIBS = @LIBS@
     115LTLIBOBJS = @LTLIBOBJS@
     116MAINT = @MAINT@
     117MAKEINFO = @MAKEINFO@
     118MKDIR_P = @MKDIR_P@
     119OBJEXT = @OBJEXT@
     120PACKAGE = @PACKAGE@
     121PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
     122PACKAGE_NAME = @PACKAGE_NAME@
     123PACKAGE_STRING = @PACKAGE_STRING@
     124PACKAGE_TARNAME = @PACKAGE_TARNAME@
     125PACKAGE_URL = @PACKAGE_URL@
     126PACKAGE_VERSION = @PACKAGE_VERSION@
     127PATH_SEPARATOR = @PATH_SEPARATOR@
     128RANLIB = @RANLIB@
     129SET_MAKE = @SET_MAKE@
     130SHELL = @SHELL@
     131STRIP = @STRIP@
     132VERSION = @VERSION@
     133YACC = @YACC@
     134YFLAGS = @YFLAGS@
     135abs_builddir = @abs_builddir@
     136abs_srcdir = @abs_srcdir@
     137abs_top_builddir = @abs_top_builddir@
     138abs_top_srcdir = @abs_top_srcdir@
     139ac_ct_CC = @ac_ct_CC@
     140ac_ct_CXX = @ac_ct_CXX@
     141am__include = @am__include@
     142am__leading_dot = @am__leading_dot@
     143am__quote = @am__quote@
     144am__tar = @am__tar@
     145am__untar = @am__untar@
     146bindir = @bindir@
     147build_alias = @build_alias@
     148builddir = @builddir@
     149datadir = @datadir@
     150datarootdir = @datarootdir@
     151docdir = @docdir@
     152dvidir = @dvidir@
     153exec_prefix = @exec_prefix@
     154host_alias = @host_alias@
     155htmldir = @htmldir@
     156includedir = @includedir@
     157infodir = @infodir@
     158install_sh = @install_sh@
     159libdir = @libdir@
     160libexecdir = @libexecdir@
     161localedir = @localedir@
     162localstatedir = @localstatedir@
     163mandir = @mandir@
     164mkdir_p = @mkdir_p@
     165oldincludedir = @oldincludedir@
     166pdfdir = @pdfdir@
     167prefix = @prefix@
     168program_transform_name = @program_transform_name@
     169psdir = @psdir@
     170sbindir = @sbindir@
     171sharedstatedir = @sharedstatedir@
     172srcdir = @srcdir@
     173sysconfdir = @sysconfdir@
     174target_alias = @target_alias@
     175top_build_prefix = @top_build_prefix@
     176top_builddir = @top_builddir@
     177top_srcdir = @top_srcdir@
     178fstream_test_SOURCES = iostream.c fstream.c fstream_test.c
     179vector_test_SOURCES = vector_int.c fstream.c iostream.c array.c iterator.c vector_test.c
     180all: all-am
     181
     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
     197Makefile: $(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;
     205
     206$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
     207        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
     208
     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):
     214
     215clean-noinstPROGRAMS:
     216        -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
     217fstream_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)
     220vector_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)
     223
     224mostlyclean-compile:
     225        -rm -f *.$(OBJEXT)
     226
     227distclean-compile:
     228        -rm -f *.tab.c
     229
     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@
     237
     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 $<
     244
     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) '$<'`
     251
     252ID: $(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
     260tags: TAGS
     261
     262TAGS:  $(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
     283ctags: CTAGS
     284CTAGS:  $(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
     296GTAGS:
     297        here=`$(am__cd) $(top_builddir) && pwd` \
     298          && $(am__cd) $(top_srcdir) \
     299          && gtags -i $(GTAGS_ARGS) "$$here"
     300
     301distclean-tags:
     302        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
     303
     304distdir: $(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
     334check-am: all-am
     335check: check-am
     336all-am: Makefile $(PROGRAMS)
     337installdirs:
     338install: install-am
     339install-exec: install-exec-am
     340install-data: install-data-am
     341uninstall: uninstall-am
     342
     343install-am: all-am
     344        @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
     345
     346installcheck: installcheck-am
     347install-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
     357mostlyclean-generic:
     358
     359clean-generic:
     360
     361distclean-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
     365maintainer-clean-generic:
     366        @echo "This command is intended for maintainers to use"
     367        @echo "it deletes files that may require special tools to rebuild."
     368clean: clean-am
     369
     370clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
     371
     372distclean: distclean-am
     373        -rm -rf ./$(DEPDIR)
     374        -rm -f Makefile
     375distclean-am: clean-am distclean-compile distclean-generic \
     376        distclean-tags
     377
     378dvi: dvi-am
     379
     380dvi-am:
     381
     382html: html-am
     383
     384html-am:
     385
     386info: info-am
     387
     388info-am:
     389
     390install-data-am:
     391
     392install-dvi: install-dvi-am
     393
     394install-dvi-am:
     395
     396install-exec-am:
     397
     398install-html: install-html-am
     399
     400install-html-am:
     401
     402install-info: install-info-am
     403
     404install-info-am:
     405
     406install-man:
     407
     408install-pdf: install-pdf-am
     409
     410install-pdf-am:
     411
     412install-ps: install-ps-am
     413
     414install-ps-am:
     415
     416installcheck-am:
     417
     418maintainer-clean: maintainer-clean-am
     419        -rm -rf ./$(DEPDIR)
     420        -rm -f Makefile
     421maintainer-clean-am: distclean-am maintainer-clean-generic
     422
     423mostlyclean: mostlyclean-am
     424
     425mostlyclean-am: mostlyclean-compile mostlyclean-generic
     426
     427pdf: pdf-am
     428
     429pdf-am:
     430
     431ps: ps-am
     432
     433ps-am:
     434
     435uninstall-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:
  • src/examples/abstype.c

    reb50842 r937e51d  
    1 // "cfa-cpp -nx Abstype.c"
     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//
    215
    316type T | { T x( T ); };
    417
    518T y( T t ) {
    6     T t_instance;
    7     return x( t );
     19        T t_instance;
     20        return x( t );
    821}
    922
     
    1629
    1730U x( U u ) {
    18     U u_instance = u;
    19     (*u)++;
    20     return u;
     31        U u_instance = u;
     32        (*u)++;
     33        return u;
    2134}
    2235
    2336int *break_abstraction( U u ) {
    24     return u;
     37        return u;
    2538}
     39
     40// Local Variables: //
     41// tab-width: 4 //
     42// compile-command: "cfa abstype.c" //
     43// End: //
  • src/examples/array.c

    reb50842 r937e51d  
    1 // "cfa -c -o array.o array.c"
    2 // "cfa -CFA array.c > array_out.c"
    3 // "gcc32 array_out.c ../LibCfa/libcfa.a"
     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//
    415
    516#include "array.h"
     
    1627forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) )
    1728elt_type * begin( array_type array ) {
    18     return &array[ 0 ];
     29        return &array[ 0 ];
    1930}
    2031
     
    2233forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) )
    2334elt_type * end( array_type array ) {
    24     return &array[ last( array ) ] + 1;
     35        return &array[ last( array ) ] + 1;
    2536}
     37
     38// Local Variables: //
     39// tab-width: 4 //
     40// compile-command: "cfa array.c" //
     41// End: //
  • src/examples/array.h

    reb50842 r937e51d  
     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
    116#ifndef ARRAY_H
    217#define ARRAY_H
     
    722// element has index 0.
    823context array( type array_type, type elt_type ) {
    9     lvalue elt_type ?[?]( array_type, int );
     24        lvalue elt_type ?[?]( array_type, int );
    1025};
    1126
    1227// A bounded array is an array that carries its maximum index with it.
    1328context bounded_array( type array_type, type elt_type | array( array_type, elt_type ) ) {
    14     int last( array_type );
     29        int last( array_type );
    1530};
    1631
     
    3247
    3348#endif // ARRAY_H
     49
     50// Local Variables: //
     51// tab-width: 4 //
     52// compile-command: "cfa array.c" //
     53// End: //
  • src/examples/constants.c

    reb50842 r937e51d  
     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
    116int foo() {
    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";
     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";
    1459}
    1560
    1661// Local Variables: //
    17 // compile-command: "../../bin/cfa -std=c99 constants.c" //
     62// tab-width: 4 //
     63// compile-command: "cfa constants.c" //
    1864// End: //
  • src/examples/control_structures.c

    reb50842 r937e51d  
     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
    116int main() {
    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
     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
    3450
    3551#if 0
    36     try {
    37         int i = 3;
    38     } catch( int ) {
    39     } catch( double ) {
    40     } catch( ... ) {
    41     } finally {
    42     } // try
     52        try {
     53                int i = 3;
     54        } catch( int ) {
     55        } catch( double ) {
     56        } catch( ... ) {
     57        } finally {
     58        } // try
    4359#endif
    4460
     
    4662
    4763// Local Variables: //
    48 // compile-command: "../../bin/cfa control_structures.c" //
     64// tab-width: 4 //
     65// compile-command: "cfa control_structures.c" //
    4966// End: //
  • src/examples/ctxts.c

    reb50842 r937e51d  
     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
    116context has_f( type T ) {
    2     T f( T );
     17        T f( T );
    318};
    419
    520context has_g( type U | has_f( U ) ) {
    6     U g( U );
     21        U g( U );
    722};
    823
    924forall( 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

    reb50842 r937e51d  
    1 // "./cfa-cpp -cn esskaykay.c"
     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//
    215
    316// forall (type A, type B, type C) C ess (C (*f) (A,B), B (*g) (A), A x) { return f(x,g(x)); }
     
    1023
    1124forall (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

    reb50842 r937e51d  
     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
    116forall(type T) lvalue T *?( T* );
    217int ?=?( int*, int );
     
    621
    722void f() {
    8     *x;
     23        *x;
    924}
    1025
    1126// Local Variables: //
    12 // compile-command: "../../bin/cfa forward.c" //
     27// tab-width: 4 //
     28// compile-command: "cfa forward.c" //
    1329// End: //
  • src/examples/fstream.c

    reb50842 r937e51d  
     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
    116#include "fstream.h"
    217
     
    722
    823struct ofstream {
    9     FILE *file;
    10     int fail;
     24        FILE *file;
     25        int fail;
    1126};
    1227
    1328ofstream *write( ofstream *os, const char *data, streamsize_type size ) {
    14     if ( ! os->fail ) {
    15         fwrite( data, size, 1, os->file );
    16         os->fail = ferror( os->file );
    17     }
    18     return os;
     29        if ( ! os->fail ) {
     30                fwrite( data, size, 1, os->file );
     31                os->fail = ferror( os->file );
     32        }
     33        return os;
    1934}
    2035
    2136int fail( ofstream *os ) {
    22     return os->fail;
     37        return os->fail;
    2338}
    2439
    2540static ofstream *make_ofstream() {
    26     ofstream *new_stream = malloc( sizeof( ofstream ) );
    27     new_stream->fail = 0;
    28     return new_stream;
     41        ofstream *new_stream = malloc( sizeof( ofstream ) );
     42        new_stream->fail = 0;
     43        return new_stream;
    2944}
    3045
    3146ofstream *ofstream_stdout() {
    32     ofstream *stdout_stream = make_ofstream();
    33     stdout_stream->file = stdout;
    34     return stdout_stream;
     47        ofstream *stdout_stream = make_ofstream();
     48        stdout_stream->file = stdout;
     49        return stdout_stream;
    3550}
    3651
    3752ofstream *ofstream_stderr() {
    38     ofstream *stderr_stream = make_ofstream();
    39     stderr_stream->file = stderr;
    40     return stderr_stream;
     53        ofstream *stderr_stream = make_ofstream();
     54        stderr_stream->file = stderr;
     55        return stderr_stream;
    4156}
    4257
    4358ofstream *ofstream_fromfile( const char *name ) {
    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;
     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;
    4863}
    4964
    5065void ofstream_close( ofstream *os ) {
    51     if ( os->file != stdout && os->file != stderr ) {
    52         os->fail = fclose( os->file );
    53     }
    54     free( os );
     66        if ( os->file != stdout && os->file != stderr ) {
     67                os->fail = fclose( os->file );
     68        }
     69        free( os );
    5570}
    5671
    5772struct ifstream {
    58     FILE *file;
    59     int fail;
    60     int eof;
     73        FILE *file;
     74        int fail;
     75        int eof;
    6176};
    6277
    6378ifstream *read( ifstream *is, char *data, streamsize_type size ) {
    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;
     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;
    7085}
    7186 
    7287ifstream *unread( ifstream *is, char c ) {
    73     if ( ! is->fail ) {
    74         if ( ! EOF == ungetc( c, is->file ) ) {
    75             is->fail = 1;
     88        if ( ! is->fail ) {
     89                if ( ! EOF == ungetc( c, is->file ) ) {
     90                        is->fail = 1;
     91                }
    7692        }
    77     }
    78     return is;
     93        return is;
    7994}
    8095
    8196int fail( ifstream *is ) {
    82     return is->fail;
     97        return is->fail;
    8398}
    8499
    85100int eof( ifstream *is ) {
    86     return is->eof;
     101        return is->eof;
    87102}
    88103
    89104static ifstream *make_ifstream() {
    90     ifstream *new_stream = malloc( sizeof( ifstream ) );
    91     new_stream->fail = 0;
    92     new_stream->eof = 0;
    93     return new_stream;
     105        ifstream *new_stream = malloc( sizeof( ifstream ) );
     106        new_stream->fail = 0;
     107        new_stream->eof = 0;
     108        return new_stream;
    94109}
    95110
    96111ifstream *ifstream_stdin() {
    97     ifstream *stdin_stream = make_ifstream();
    98     stdin_stream->file = stdin;
    99     return stdin_stream;
     112        ifstream *stdin_stream = make_ifstream();
     113        stdin_stream->file = stdin;
     114        return stdin_stream;
    100115}
    101116
    102117ifstream *ifstream_fromfile( const char *name ) {
    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;
     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;
    107122}
     123
     124// Local Variables: //
     125// tab-width: 4 //
     126// compile-command: "cfa fstream.c" //
     127// End: //
  • src/examples/fstream.h

    reb50842 r937e51d  
     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
    116#ifndef __FSTREAM_H__
    217#define __FSTREAM_H__
     
    2742
    2843#endif // __FSTREAM_H__
     44
     45// Local Variables: //
     46// tab-width: 4 //
     47// compile-command: "cfa fstream.c" //
     48// End: //
  • src/examples/fstream_test.c

    reb50842 r937e51d  
     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
    116#include "fstream.h"
    217
    318int main() {
    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";
     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";
    1025}
     26
     27// Local Variables: //
     28// tab-width: 4 //
     29// compile-command: "cfa fstream_test.c" //
     30// End: //
  • src/examples/fwrite.c

    reb50842 r937e51d  
     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
    116extern "C" {
    2     #include <stdio.h>
     17        #include <stdio.h>
    318}
    419
    520int main() {
    6     fwrite( "test\n", 5, 1, stdout );
     21        fwrite( "test\n", 5, 1, stdout );
    722}
     23
     24// Local Variables: //
     25// tab-width: 4 //
     26// compile-command: "cfa fwrite.c" //
     27// End: //
  • src/examples/hello.c

    reb50842 r937e51d  
     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
    116#include "fstream.h"
    217
    318int main() {
    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";
     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";
    1126}
    1227
    1328// Local Variables: //
    14 // compile-command: "../../bin/cfa hello.c fstream.o iostream.o" //
     29// tab-width: 4 //
     30// compile-command: "cfa hello.c fstream.o iostream.o" //
    1531// End: //
  • src/examples/huge.c

    reb50842 r937e51d  
     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
    116int huge( int n, forall( type T ) T (*f)( T ) ) {
    2     if ( n <= 0 )
    3         return f( 0 );
    4     else
    5         return huge( n - 1, f( f ) );
     17        if ( n <= 0 )
     18                return f( 0 );
     19        else
     20                return huge( n - 1, f( f ) );
    621}
     22
     23// Local Variables: //
     24// tab-width: 4 //
     25// compile-command: "cfa huge.c" //
     26// End: //
  • src/examples/identity.c

    reb50842 r937e51d  
     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
    116#include "fstream.h"
    217
    318forall( type T )
    419T identity( T t ) {
    5     return t;
     20        return t;
    621}
    722
    823int main() {
    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';
     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';
    1934}
    2035
    2136// Local Variables: //
    22 // compile-command: "../../bin/cfa identity.c fstream.o iostream.o" //
     37// tab-width: 4 //
     38// compile-command: "cfa identity.c fstream.o iostream.o" //
    2339// End: //
  • src/examples/includes.c

    reb50842 r937e51d  
     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
    116#if 1
    217//#include <aio.h>              // FAILS -- includes locale.h
     
    3449#include <curses.h>
    3550#else
    36 #include <time.h>               // FAILS -- includes locale.h
     51#include <curses.h>
    3752#endif // 0
    3853
    3954// Local Variables: //
    40 // compile-command: "../../bin/cfa includes.c" //
     55// tab-width: 4 //
     56// compile-command: "cfa includes.c" //
    4157// End: //
  • src/examples/index.h

    reb50842 r937e51d  
     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
    116context index( type T ) {
    2     T ?+?( T, T );
    3     T ?-?( T, T );
    4     const T 0, 1;
     17        T ?+?( T, T );
     18        T ?-?( T, T );
     19        const T 0, 1;
    520};
     21
     22// Local Variables: //
     23// tab-width: 4 //
     24// compile-command: "cfa index.c" //
     25// End: //
  • src/examples/iostream.c

    reb50842 r937e51d  
    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"
     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//
    615
    716#include "iostream.h"
     
    1019//#include <string.h>
    1120//#include <ctype.h>
    12 typedef long unsigned int size_t;
    13 size_t strlen(const char *s);
     21        typedef long unsigned int size_t;
     22        size_t strlen(const char *s);
    1423}
    1524
    1625forall( dtype ostype | ostream( ostype ) )
    1726ostype * ?<<?( ostype *os, char c ) {
    18     return write( os, &c, 1 );
     27        return write( os, &c, 1 );
    1928}
    2029
    2130forall( dtype ostype | ostream( ostype ) )
    2231ostype * ?<<?( ostype *os, int i ) {
    23     char buffer[20];      // larger than the largest integer
    24     sprintf( buffer, "%d", i );
    25     return write( os, buffer, strlen( buffer ) );
     32        char buffer[20];      // larger than the largest integer
     33        sprintf( buffer, "%d", i );
     34        return write( os, buffer, strlen( buffer ) );
    2635}
    2736
    2837forall( dtype ostype | ostream( ostype ) )
    2938ostype * ?<<?( ostype *os, double d ) {
    30     char buffer[32];      // larger than the largest double
    31     sprintf( buffer, "%g", d );
    32     return write( os, buffer, strlen( buffer ) );
     39        char buffer[32];      // larger than the largest double
     40        sprintf( buffer, "%g", d );
     41        return write( os, buffer, strlen( buffer ) );
    3342}
    3443
    3544forall( dtype ostype | ostream( ostype ) )
    3645ostype * ?<<?( ostype *os, const char *cp ) {
    37     return write( os, cp, strlen( cp ) );
     46        return write( os, cp, strlen( cp ) );
    3847}
    3948
    4049forall( dtype istype | istream( istype ) )
    4150istype * ?>>?( istype *is, char *cp ) {
    42     return read( is, cp, 1 );
     51        return read( is, cp, 1 );
    4352}
    4453
    4554forall( dtype istype | istream( istype ) )
    4655istype * ?>>?( istype *is, int *ip ) {
    47     char cur;
     56        char cur;
    4857 
    49     // skip some whitespace
    50     do {
    51         is >> &cur;
    52         if ( fail( is ) || eof( is ) ) return is;
    53     } while ( !( cur >= '0' && cur <= '9' ) );
     58        // skip some whitespace
     59        do {
     60                is >> &cur;
     61                if ( fail( is ) || eof( is ) ) return is;
     62        } while ( !( cur >= '0' && cur <= '9' ) );
    5463 
    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     }
     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        }
    6271 
    63     unread( is, cur );
    64     return is;
     72        unread( is, cur );
     73        return is;
    6574}
     75
     76// Local Variables: //
     77// tab-width: 4 //
     78// compile-command: "cfa iostream.c" //
     79// End: //
  • src/examples/iostream.h

    reb50842 r937e51d  
     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
    116#ifndef IOSTREAM_H
    217#define IOSTREAM_H
     
    520
    621context ostream( dtype ostype ) {
    7     ostype *write( ostype *, const char *, streamsize_type );
    8     int fail( ostype * );
     22        ostype *write( ostype *, const char *, streamsize_type );
     23        int fail( ostype * );
    924};
    1025
    1126context writeable( type T ) {
    12     forall( dtype ostype | ostream( ostype ) ) ostype * ?<<?( ostype *, T );
     27        forall( dtype ostype | ostream( ostype ) ) ostype * ?<<?( ostype *, T );
    1328};
    1429
     
    2237
    2338context istream( dtype istype ) {
    24     istype *read( istype *, char *, streamsize_type );
    25     istype *unread( istype *, char );
    26     int fail( istype * );
    27     int eof( istype * );
     39        istype *read( istype *, char *, streamsize_type );
     40        istype *unread( istype *, char );
     41        int fail( istype * );
     42        int eof( istype * );
    2843};
    2944
    3045context readable( type T ) {
    31     forall( dtype istype | istream( istype ) ) istype * ?<<?( istype *, T );
     46        forall( dtype istype | istream( istype ) ) istype * ?<<?( istype *, T );
    3247};
    3348
     
    3954
    4055#endif // IOSTREAM_H
     56
     57// Local Variables: //
     58// tab-width: 4 //
     59// compile-command: "cfa iostream.c" //
     60// End: //
  • src/examples/it_out.c

    reb50842 r937e51d  
    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 
     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//
    1215
    1316typedef unsigned long streamsize_type;
    1417
    15 
    16 
    17 context ostream( dtype os_type )
    18 {
    19 
    20     os_type *write( os_type *, const char *, streamsize_type );
    21 
    22 
    23     int fail( os_type * );
     18context ostream( dtype os_type ) {
     19        os_type *write( os_type *, const char *, streamsize_type );
     20        int fail( os_type * );
    2421};
    2522
    26 
    27 
    28 
    29 context writeable( type T )
    30 {
    31     forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, T );
     23context writeable( type T ) {
     24        forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, T );
    3225};
    33 
    34 
    3526
    3627forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, char );
     
    3829forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, const char * );
    3930
    40 
    41 
    42 
    43 context 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 * );
     31context 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 * );
    5636};
    5737
    58 
    59 
    60 
    61 context readable( type T )
    62 {
    63     forall( dtype is_type | istream( is_type ) ) is_type * ?<<?( is_type *, T );
     38context readable( type T ) {
     39        forall( dtype is_type | istream( is_type ) ) is_type * ?<<?( is_type *, T );
    6440};
    65 
    66 
    6741
    6842forall( dtype is_type | istream( is_type ) ) is_type * ?>>?( is_type *, char* );
    6943forall( dtype is_type | istream( is_type ) ) is_type * ?>>?( is_type *, int* );
    70 # 5 "iterator.h" 2
    7144
     45context 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 );
    7250
    73 context 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 );
     51        lvalue elt_type *?( iterator_type );
    8552};
    8653
    87 
     54forall( type elt_type | writeable( elt_type ),
     55                type iterator_type | iterator( iterator_type, elt_type ),
     56                dtype os_type | ostream( os_type ) )
     57void write_all( iterator_type begin, iterator_type end, os_type *os );
    8858
    8959forall( type elt_type | writeable( elt_type ),
    90         type iterator_type | iterator( iterator_type, elt_type ),
    91         dtype os_type | ostream( os_type ) )
    92 void write_all( iterator_type begin, iterator_type end, os_type *os );
    93 # 2 "iterator.c" 2
     60                type iterator_type | iterator( iterator_type, elt_type ),
     61                dtype os_type | ostream( os_type ) )
     62void write_all( elt_type begin, iterator_type end, os_type *os ) {
     63        os << begin;
     64}
    9465
    95 forall( type elt_type | writeable( elt_type ),
    96         type iterator_type | iterator( iterator_type, elt_type ),
    97         dtype os_type | ostream( os_type ) )
    98 void
    99 write_all( elt_type begin, iterator_type end, os_type *os )
    100 {
    101     os << begin;
    102 }
     66// Local Variables: //
     67// tab-width: 4 //
     68// compile-command: "cfa it_out.c" //
     69// End: //
  • src/examples/iterator.c

    reb50842 r937e51d  
    1 // "cfa iterator.c"
    2 // "cfa -CFA iterator.c > iterator_out.c"
    3 // "gcc31 iterator_out.c ../LibCfa/libcfa.a"
     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//
    415
    516#include "iterator.h"
     
    1122///   iterator_type i;
    1223///   for ( i = begin; i != end; ++i ) {
    13 ///    func( *i );
     24///      func( *i );
    1425///   }
    1526/// }
    1627
    1728forall( type elt_type | writeable( elt_type ),
    18         type iterator_type | iterator( iterator_type, elt_type ),
    19         dtype os_type | ostream( os_type ) )
     29                type iterator_type | iterator( iterator_type, elt_type ),
     30                dtype os_type | ostream( os_type ) )
    2031void write_all( iterator_type begin, iterator_type end, os_type *os ) {
    21     iterator_type i;
    22     for ( i = begin; i != end; ++i ) {
    23         os << *i << ' ';
    24     }
     32        iterator_type i;
     33        for ( i = begin; i != end; ++i ) {
     34                os << *i << ' ';
     35        }
    2536}
    2637
    2738forall( type elt_type | writeable( elt_type ),
    28         type iterator_type | iterator( iterator_type, elt_type ),
    29         dtype os_type | ostream( os_type ) )
     39                type iterator_type | iterator( iterator_type, elt_type ),
     40                dtype os_type | ostream( os_type ) )
    3041void write_reverse( iterator_type begin, iterator_type end, os_type *os ) {
    31     iterator_type i; // "= end;" does not work
    32     i = end;
    33     do {
    34         --i;
    35         os << *i << ' ';
    36     } while ( i != begin );
     42        iterator_type i; // "= end;" does not work
     43        i = end;
     44        do {
     45                --i;
     46                os << *i << ' ';
     47        } while ( i != begin );
    3748}
     49
     50// Local Variables: //
     51// tab-width: 4 //
     52// compile-command: "cfa iterator.c" //
     53// End: //
  • src/examples/iterator.h

    reb50842 r937e51d  
     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
    116#ifndef ITERATOR_H
    217#define ITERATOR_H
     
    621// An iterator can be used to traverse a data structure.
    722context iterator( type iterator_type, type elt_type ) {
    8     // point to the next element
    9 //    iterator_type ?++( iterator_type * );
    10     iterator_type ++?( iterator_type * );
    11     iterator_type --?( iterator_type * );
     23        // point to the next element
     24//      iterator_type ?++( iterator_type * );
     25        iterator_type ++?( iterator_type * );
     26        iterator_type --?( iterator_type * );
    1227
    13     // can be tested for equality with other iterators
    14     int ?==?( iterator_type, iterator_type );
    15     int ?!=?( iterator_type, iterator_type );
     28        // can be tested for equality with other iterators
     29        int ?==?( iterator_type, iterator_type );
     30        int ?!=?( iterator_type, iterator_type );
    1631
    17     // dereference to get the pointed-at element
    18     lvalue elt_type *?( iterator_type );
     32        // dereference to get the pointed-at element
     33        lvalue elt_type *?( iterator_type );
    1934};
    2035
    2136context iterator_for ( type iterator_type, type collection_type, type elt_type | iterator( iterator_type, elt_type ) ) {
    22 //    [ iterator_type begin, iterator_type end ] get_iterators( collection_type );
    23     iterator_type begin( collection_type );
    24     iterator_type end( collection_type );
     37//      [ iterator_type begin, iterator_type end ] get_iterators( collection_type );
     38        iterator_type begin( collection_type );
     39        iterator_type end( collection_type );
    2540};
    2641
     
    3045// writes the range [begin, end) to the given stream
    3146forall( type elt_type | writeable( elt_type ),
    32         type iterator_type | iterator( iterator_type, elt_type ),
    33         dtype os_type | ostream( os_type ) )
     47                type iterator_type | iterator( iterator_type, elt_type ),
     48                dtype os_type | ostream( os_type ) )
    3449void write_all( iterator_type begin, iterator_type end, os_type *os );
    3550
    3651forall( type elt_type | writeable( elt_type ),
    37         type iterator_type | iterator( iterator_type, elt_type ),
    38         dtype os_type | ostream( os_type ) )
     52                type iterator_type | iterator( iterator_type, elt_type ),
     53                dtype os_type | ostream( os_type ) )
    3954void write_reverse( iterator_type begin, iterator_type end, os_type *os );
    4055
    4156#endif // ITERATOR_H
     57
     58// Local Variables: //
     59// tab-width: 4 //
     60// compile-command: "cfa iterator.c" //
     61// End: //
  • src/examples/min.c

    reb50842 r937e51d  
     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
    116extern "C" {
    2     int printf( const char *, ... );
     17        int printf( const char *, ... );
    318//#include <stdio.h>
    419}
     
    621forall( type T | { int ?<?( T, T ); } )
    722T min( const T t1, const T t2 ) {
    8     return t1 < t2 ? t1 : t2;
     23        return t1 < t2 ? t1 : t2;
    924}
    1025
    1126int main() {
    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 );
     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 );
    2439}
    2540
    2641// Local Variables: //
    27 // compile-command: "../../bin/cfa min.c" //
     42// tab-width: 4 //
     43// compile-command: "cfa min.c" //
    2844// End: //
  • src/examples/new.c

    reb50842 r937e51d  
     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
    116forall( type T )
    217void f( T *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];
     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];
    1328}
     29
     30// Local Variables: //
     31// tab-width: 4 //
     32// compile-command: "cfa new.c" //
     33// End: //
  • src/examples/prolog.c

    reb50842 r937e51d  
    1 // "./cfa prolog.c"
     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//
    215
    316extern "C" { extern int printf( const char *fmt, ... ); }
     
    1326
    1427context ArithmeticType( type T ) {
    15     void is_arithmetic( T );
     28        void is_arithmetic( T );
    1629};
    1730
    1831context IntegralType( type T | ArithmeticType( T ) ) {
    19     void is_integer( T );
     32        void is_integer( T );
    2033};
    2134
    2235forall( type T | IntegralType( T ) | { void printResult( T ); } )
    2336void hornclause( T param ) {
    24     printResult( param );
     37        printResult( param );
    2538}
    2639
    2740int main() {
    28     int x;
    29     double x;
    30     char * x;
    31     hornclause( x );
     41        int x;
     42        double x;
     43        char * x;
     44        hornclause( x );
    3245}
     46
     47// Local Variables: //
     48// tab-width: 4 //
     49// compile-command: "cfa prolog.c" //
     50// End: //
  • src/examples/quad.c

    reb50842 r937e51d  
     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
    116extern "C" {
    2     #include <stdio.h>
     17#include <stdio.h>
    318}
    419
    520forall( type T | { T ?*?( T, T ); } )
    621T square( T t ) {
    7     return t * t;
     22        return t * t;
    823}
    924
    1025forall( type U | { U square( U ); } )
    1126U quad( U u ) {
    12     return square( square( u ) );
     27        return square( square( u ) );
    1328}
    1429
    1530int main() {
    16     int N = 2;
    17     printf( "result of quad of %d is %d\n", N, quad( N ) );
     31        int N = 2;
     32        printf( "result of quad of %d is %d\n", N, quad( N ) );
    1833}
    1934
    2035// Local Variables: //
    21 // compile-command: "../../bin/cfa quad.c" //
     36// tab-width: 4 //
     37// compile-command: "cfa quad.c" //
    2238// End: //
  • src/examples/quoted_keyword.c

    reb50842 r937e51d  
     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
    116// test quoted keyword usage
    217int `catch`;
    318
    419struct {
    5     int `type`;
    6     int `struct`;
     20        int `type`;
     21        int `struct`;
    722} st;
    823
     
    1126
    1227int foo() {
    13     int w = `catch` + st.`type` + st.`struct` + `throw`;
     28        int w = `catch` + st.`type` + st.`struct` + `throw`;
    1429}
    1530
     
    1732
    1833// Local Variables: //
    19 // compile-command: "../../bin/cfa quoted_keyword.c" //
     34// tab-width: 4 //
     35// compile-command: "cfa quoted_keyword.c" //
    2036// End: //
  • src/examples/s.c

    reb50842 r937e51d  
     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
    116//int ?!=?( int, int );
    217
    318void f() {
    4 //    int a;
    5 //    a ? 4 : 5;
    6     1 ? 4 : 5;
    7     0 ? 4 : 5;
     19//      int a;
     20//      a ? 4 : 5;
     21        1 ? 4 : 5;
     22        0 ? 4 : 5;
    823}
     24
     25// Local Variables: //
     26// tab-width: 4 //
     27// compile-command: "cfa s.c" //
     28// End: //
  • src/examples/simple.c

    reb50842 r937e51d  
    1 // './cfa square.c'
     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//
    215
    316extern "C" {
    4     int printf( const char *fmt, ... );
     17        int printf( const char *fmt, ... );
    518}
    619
    720context has_star( type T ) {
    8     T ?*?( T, T );
     21        T ?*?( T, T );
    922};
    1023
    1124int ?*?( int, int );
    12 int ?=?( int*, int );
     25int ?=?( int *, int );
    1326
    1427forall( type T | has_star( T ) )
    1528T square( T t ) {
    16     return t * t;
     29        return t * t;
    1730}
    1831
    1932int main() {
    20     printf( "result of square of 5 is %d\n", square( 5 ) );
     33        printf( "result of square of 5 is %d\n", square( 5 ) );
    2134}
     35
     36// Local Variables: //
     37// tab-width: 4 //
     38// compile-command: "cfa simple.c" //
     39// End: //
  • src/examples/simplePoly.c

    reb50842 r937e51d  
    1 // './cfa-cpp -nc < simplePoly.c'
     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//
    215
    316forall( type T, type U | { T f( T, U ); } )
    4 T q( T t, U u )
    5 {
    6     return f( t, u );
     17T q( T t, U u ) {
     18        return f( t, u );
    719//  return t;
    820}
     
    1123
    1224void g( void ) {
    13     int y;
    14     double x;
     25        int y;
     26        double x;
    1527//  if ( y )
    16     q( 3, &x );
     28        q( 3, &x );
    1729}
     30
     31// Local Variables: //
     32// tab-width: 4 //
     33// compile-command: "cfa simplePoly.c" //
     34// End: //
  • src/examples/simpler.c

    reb50842 r937e51d  
    1 // "./cfa-cpp -c simpler.c"
     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//
    215
    316forall( type T ) T id( T, T );
    417
    518int main() {
    6     id( 0, 7 );
     19        id( 0, 7 );
    720}
     21
     22// Local Variables: //
     23// tab-width: 4 //
     24// compile-command: "cfa simpler.c" //
     25// End: //
  • src/examples/specialize.c

    reb50842 r937e51d  
    1 // "./cfa specialize.c"
    2 // "./cfa -g simple.c"
    3 // "./cfa -CFA simple.c > simple_out.c"
     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//
    415
    516/// void f( const int * );
     
    2536
    2637extern "C" {
    27   int printf( const char*, ... );
     38        int printf( const char*, ... );
    2839}
    2940
    3041forall( type T ) T f( T t )
    3142{
    32   printf( "in f; sizeof T is %d\n", sizeof( T ) );
    33   return t;
     43        printf( "in f; sizeof T is %d\n", sizeof( T ) );
     44        return t;
    3445}
    3546
    3647void g( int (*p)(int) )
    3748{
    38   printf( "g: f(7) returned %d\n", f(7) );
     49        printf( "g: f(7) returned %d\n", f(7) );
    3950}
    4051
    4152int main() {
    42   g( f );
     53        g( f );
    4354}
     55
     56// Local Variables: //
     57// tab-width: 4 //
     58// compile-command: "cfa specialize.c" //
     59// End: //
  • src/examples/square.c

    reb50842 r937e51d  
     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
    116extern "C" {
    217#include <stdio.h>
    318}
    419
    5 forall( type T | { T ?*?( T, T ); })
     20forall( type T | { T ?*?( T, T ); } )
    621T square( T t ) {
    7     return t * t;
     22        return t * t;
    823}
    924
     25//char ?*?( char a1, char a2 ) {
     26//      return (char)( (int)a1 * (int)a2 );
     27//}
     28
    1029int main() {
    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 ) );
     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 ) );
    1340}
     41
     42// Local Variables: //
     43// tab-width: 4 //
     44// compile-command: "cfa square.c" //
     45// End: //
  • src/examples/sum.c

    reb50842 r937e51d  
     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
    116extern "C" {
    2     int printf( const char *, ... );
     17        int printf( const char *, ... );
    318}
    419
    520context sumable( type T ) {
    6     const T 0;
    7     T ?+?( T, T );
    8     T ?++( T * );
    9     T ?+=?( T *, T );
     21        const T 0;
     22        T ?+?( T, T );
     23        T ?++( T * );
     24        T ?+=?( T *, T );
    1025};
    1126
    1227forall( type T | sumable( T ) )
    1328T sum( int n, T a[] ) {
    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;
     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;
    1934}
    2035
     
    2742
    2843int main() {
    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 );
     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 );
    3853
    39 //    char ci[10];
    40 //    char c = sum( size, ci );
    41 //    float fi[10];
    42 //    float f = sum( size, fi );
     54//      char ci[size];
     55//      char c = sum( size, ci );
     56//      float fi[size];
     57//      float f = sum( size, fi );
    4358
    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 );
     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 );
    5267}
    5368
    5469// Local Variables: //
    55 // compile-command: "../../bin/cfa sum.c" //
     70// tab-width: 4 //
     71// compile-command: "cfa sum.c" //
    5672// End: //
  • src/examples/swap.c

    reb50842 r937e51d  
     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
    116extern "C" {
    2     int printf( const char *, ... );
     17        int printf( const char *, ... );
    318}
    419
    520forall( type T )
    621void swap( T *left, T *right ) {
    7     T temp = *left;
    8     *left = *right;
    9     *right = temp;
     22        T temp = *left;
     23        *left = *right;
     24        *right = temp;
    1025}
    1126
    1227int main() {
    13     int x = 1, y = 2;
    14     printf( "%d %d\n", x, y );
    15     swap( &x, &y );
    16     printf( "%d %d\n", x, y );
     28        int x = 1, y = 2;
     29        printf( "%d %d\n", x, y );
     30        swap( &x, &y );
     31        printf( "%d %d\n", x, y );
    1732}
    1833
    1934// Local Variables: //
    20 // compile-command: "../../bin/cfa swap.c" //
     35// tab-width: 4 //
     36// compile-command: "cfa swap.c" //
    2137// End: //
  • src/examples/twice.c

    reb50842 r937e51d  
     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
    116#include "fstream.h"
    217
    318forall( type T | { T ?+?( T, T ); T ?++( T * ); [T] ?+=?( T *, T ); } )
    419T twice( const T t ) {
    5     return t + t;
     20        return t + t;
    621}
    722
    823int main() {
    9     ofstream *sout = ofstream_stdout();
    10     sout << twice( 1 ) << ' ' << twice( 3.2 ) << '\n';
     24        ofstream *sout = ofstream_stdout();
     25        sout << twice( 1 ) << ' ' << twice( 3.2 ) << '\n';
    1126}
    1227
    1328// Local Variables: //
    14 // compile-command: "../../bin/cfa twice.c fstream.o iostream.o" //
     29// tab-width: 4 //
     30// compile-command: "cfa twice.c fstream.o iostream.o" //
    1531// End: //
  • src/examples/vector_int.c

    reb50842 r937e51d  
    1 // "cfa vector_int.c"
     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//
    215
    316#include "vector_int.h"
     
    1023
    1124vector_int vector_int_allocate() {
    12     return vector_int_allocate( DEFAULT_CAPACITY );
     25        return vector_int_allocate( DEFAULT_CAPACITY );
    1326}
    1427
    1528vector_int vector_int_allocate( int reserve ) {
    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;
     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;
    2134}
    2235
    2336void vector_int_deallocate( vector_int vec ) {
    24     free( vec.data );
     37        free( vec.data );
    2538}
    2639
    2740void reserve( vector_int *vec, int reserve ) {
    28     if ( reserve > vec->capacity ) {
    29         vec->data = realloc( vec->data, sizeof( int ) * reserve );
    30         vec->capacity = reserve;
    31     }
     41        if ( reserve > vec->capacity ) {
     42                vec->data = realloc( vec->data, sizeof( int ) * reserve );
     43                vec->capacity = reserve;
     44        }
    3245}
    3346
    3447void append( vector_int *vec, int 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;
     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;
    4154}
    4255
     
    4457
    4558lvalue int ?[?]( vector_int vec, int index ) {
    46     return vec.data[ index ];
     59        return vec.data[ index ];
    4760}
    4861
    4962int last( vector_int vec ) {
    50     return vec.last;
     63        return vec.last;
    5164}
    5265
     66
     67// Local Variables: //
     68// tab-width: 4 //
     69// compile-command: "cfa vector_int.c" //
     70// End: //
  • src/examples/vector_int.h

    reb50842 r937e51d  
     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
    116#ifndef VECTOR_INT_H
    217#define VECTOR_INT_H
     
    520
    621typedef struct vector_int {
    7     int last;                                           // last used index
    8     int capacity;                                       // last possible index before reallocation
    9     int *data;                                          // array
     22        int last;                                                                                       // last used index
     23        int capacity;                                                                           // last possible index before reallocation
     24        int *data;                                                                                      // array
    1025} vector_int;
    1126
    12 vector_int vector_int_allocate();                       // allocate vector with default capacity
    13 vector_int vector_int_allocate( int reserve );          // allocate vector with specified capacity
    14 void vector_int_deallocate( vector_int );               // deallocate vector's storage
     27vector_int vector_int_allocate();                                               // allocate vector with default capacity
     28vector_int vector_int_allocate( int reserve );                  // allocate vector with specified capacity
     29void vector_int_deallocate( vector_int );                               // deallocate vector's storage
    1530
    16 void reserve( vector_int *vec, int reserve );           // reserve more capacity
    17 void append( vector_int *vec, int element );            // add element to end of vector, resizing as necessary
     31void reserve( vector_int *vec, int reserve );                   // reserve more capacity
     32void append( vector_int *vec, int element );                    // add element to end of vector, resizing as necessary
    1833
    1934// implement bounded_array
    2035
    21 lvalue int ?[?]( vector_int vec, int index );           // access to arbitrary element (does not resize)
    22 int last( vector_int vec );                             // return last element
     36lvalue int ?[?]( vector_int vec, int index );                   // access to arbitrary element (does not resize)
     37int last( vector_int vec );                                                             // return last element
    2338
    2439#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

    reb50842 r937e51d  
     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
    116#include "fstream.h"
    217#include "vector_int.h"
     
    520
    621int main() {
    7     ofstream *sout = ofstream_stdout();
    8     ifstream *sin = ifstream_stdin();
    9     vector_int vec = vector_int_allocate();
     22        ofstream *sout = ofstream_stdout();
     23        ifstream *sin = ifstream_stdin();
     24        vector_int vec = vector_int_allocate();
    1025
    11     // read in numbers until EOF or error
    12     int num;
     26        // read in numbers until EOF or error
     27        int num;
    1328
    14     sout << "enter N elements and C-d on a separate line:\n";
    15     for ( ;; ) {
     29        sout << "enter N elements and C-d on a separate line:\n";
     30        for ( ;; ) {
    1631        sin >> &num;
    17       if ( fail( sin ) || eof( sin ) ) break;
     32          if ( fail( sin ) || eof( sin ) ) break;
    1833        append( &vec, num );
    19     }
    20     // write out the numbers
     34        }
     35        // write out the numbers
    2136
    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 ) {
     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 ) {
    2641        sout << vec[ index ] << " ";
    27     }
    28     sout << "\n";
     42        }
     43        sout << "\n";
    2944#if 1
    30     sout << "Array elements reversed:\n";
    31     write_reverse( begin( vec ), end( vec ), sout );
    32     sout << "\n";
     45        sout << "Array elements reversed:\n";
     46        write_reverse( begin( vec ), end( vec ), sout );
     47        sout << "\n";
    3348#endif
    3449}
    3550
    3651// ../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

    reb50842 r937e51d  
    1010// Created On       : Fri May 15 23:12:02 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu May 21 21:15:54 2015
    13 // Update Count     : 9
     12// Last Modified On : Mon Jun 22 17:02:11 2015
     13// Update Count     : 73
    1414//
    1515
     
    5151using namespace std;
    5252
     53#define OPTPRINT(x) \
     54        if ( errorp ) std::cerr << x << std::endl;
     55
     56void parse( FILE * input, LinkageSpec::Type t, bool shouldExit = false );
     57
    5358bool
    5459        astp = false,
     60        bresolvep = false,
    5561        exprp = false,
    5662        expraltp = false,
    5763        grammarp = false,
    5864        libcfap = false,
     65        nopreludep = false,
     66        protop = false,
     67        parsep = false,
    5968        resolvep = false,                                                                       // used in AlternativeFinder
    6069        symtabp = false,
    61         parsep = false,
    6270        validp = false,
    63         preludep = true,
    64         protop = false,
    65         codegenp = false,
    66         errorp = false;
    67 
    68 enum { Ast, Expr, ExprAlt, Grammar, LibCFA, Nopreamble, Prototypes, Resolver, Symbol, Parse, };
     71        errorp = false,
     72        codegenp = false;
     73
     74enum { Ast, Bresolver, Expr, ExprAlt, Grammar, LibCFA, Nopreamble, Parse, Prototypes, Resolver, Symbol, Validate, };
    6975
    7076static struct option long_opts[] = {
    7177        { "ast", no_argument, 0, Ast },
     78        { "before-resolver", no_argument, 0, Bresolver },
    7279        { "expr", no_argument, 0, Expr },
    7380        { "expralt", no_argument, 0, ExprAlt },
     
    7582        { "libcfa", no_argument, 0, LibCFA },
    7683        { "nopreamble", no_argument, 0, Nopreamble },
     84        { "parse", no_argument, 0, Parse },
    7785        { "prototypes", no_argument, 0, Prototypes },
    7886        { "resolver", no_argument, 0, Resolver },
    7987        { "symbol", no_argument, 0, Symbol },
    80         { "parse", no_argument, 0, Parse },
     88        { "validate", no_argument, 0, Validate },
    8189        { 0, 0, 0, 0 }
    8290};
     
    9199       
    92100        int c;
    93         while ( (c = getopt_long( argc, argv, "aefglnpqrsxyzD:", long_opts, &long_index )) != -1 ) {
     101        while ( (c = getopt_long( argc, argv, "abefglnpqrsvyzD:", long_opts, &long_index )) != -1 ) {
    94102                switch ( c ) {
    95103                  case Ast:
     
    97105                        astp = true;
    98106                        break;
     107                  case Bresolver:
     108                  case 'b':                                                                             // print before resolver steps
     109                        bresolvep = true;
     110                        break;
    99111                  case Expr:
    100112                  case 'e':                                                                             // dump AST after expression analysis
     
    115127                  case Nopreamble:
    116128                  case 'n':                                                                             // do not read preamble
    117                         preludep = false;
     129                        nopreludep = true;
    118130                        break;
    119131                  case Prototypes:
     
    133145                        symtabp = true;
    134146                        break;
    135                   case 'x':                                                                             // dump AST after decl validation pass
     147                  case 'v':                                                                             // dump AST after decl validation pass
    136148                        validp = true;
    137149                        break;
     
    153165
    154166        try {
     167                // choose to read the program from a file or stdin
    155168                if ( optind < argc ) {
    156169                        input = fopen( argv[ optind ], "r" );
     
    169182       
    170183                Parser::get_parser().set_debug( grammarp );
    171        
    172                 if ( preludep ) {                                                               // include gcc builtins
    173                         FILE *builtins = fopen( CFA_LIBDIR "/builtins.cf", "r" );
     184
     185                // read in the builtins and the prelude
     186                if ( ! nopreludep ) {                                                   // include gcc builtins
     187                        FILE * builtins = fopen( CFA_LIBDIR "/builtins.cf", "r" );
    174188                        if ( builtins == NULL ) {
    175                                 std::cout << "Error: can't open builtins" << std::endl;
     189                                std::cerr << "Error: can't open builtins" << std::endl;
    176190                                exit( 1 );
    177191                        } // if
    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();
     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 );
    184204                        } // 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        
     205                } // if
     206
    207207                if ( libcfap ) {
    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 );
     208                        parse( input, LinkageSpec::Intrinsic );
     209                } else {
     210                        parse( input, LinkageSpec::Cforall, grammarp );
     211                }
    231212 
    232213                if ( parsep ) {
     
    244225                } // if
    245226
     227                // add the assignment statement after the
     228                // initialization of a type parameter
     229                OPTPRINT( "tweak" )
     230                InitTweak::tweak( translationUnit );
     231                OPTPRINT( "validate" )
     232                SymTab::validate( translationUnit, symtabp );
     233                if ( symtabp ) {
     234                        return 0;
     235                } // if
     236
    246237                if ( expraltp ) {
    247                         SymTab::validate( translationUnit, false );
    248238                        ResolvExpr::AlternativePrinter printer( std::cout );
    249239                        acceptAll( translationUnit, printer );
     
    251241                } // if
    252242
    253                 if ( symtabp ) {
    254                         SymTab::validate( translationUnit, true );
    255                         return 0;
    256                 } // if
    257 
    258243                if ( validp ) {
    259                         SymTab::validate( translationUnit, false );
    260                         printAll( translationUnit, std::cout );
    261                         return 0;
    262                 } // if
    263 
     244                        printAll( translationUnit, std::cout );
     245                        return 0;
     246                } // if
     247
     248                OPTPRINT( "mutate" )
     249                ControlStruct::mutate( translationUnit );
     250                OPTPRINT( "fixNames" )
     251                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" )
     265                ResolvExpr::resolve( translationUnit );
    264266                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 
     267                        printAll( translationUnit, std::cout );
     268                }
     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
    274280                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 
    300                 // add the assignment statement after the
    301                 // initialization of a type parameter
    302                 InitTweak::tweak( translationUnit );
    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;
    310                 ControlStruct::mutate( translationUnit );
    311                 //std::cerr << "before fixNames" << std::endl;
    312                 CodeGen::fixNames( translationUnit );
    313                 //std::cerr << "before resolve" << std::endl;
    314                 ResolvExpr::resolve( translationUnit );
    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 );
     281                        printAll( translationUnit, std::cout );
     282                        return 0;
     283                } // if
    327284
    328285                CodeGen::generate( translationUnit, *output, protop );
     
    331288                        delete output;
    332289                } // if
    333 
    334290        } catch ( SemanticError &e ) {
    335291                if ( errorp ) {
    336                         printAll( translationUnit, std::cout );
     292                        printAll( translationUnit, std::cerr );
    337293                }
    338                 e.print( cout );
     294                e.print( std::cerr );
    339295                if ( output != &std::cout ) {
    340296                        delete output;
     
    359315} // main
    360316
     317void 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
    361327// Local Variables: //
    362328// tab-width: 4 //
Note: See TracChangeset for help on using the changeset viewer.