Index: src/examples/Makefile.am
===================================================================
--- src/examples/Makefile.am	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,23 +1,0 @@
-######################## -*- Mode: Makefile-Automake -*- ######################
-##
-## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-##
-## The contents of this file are covered under the licence agreement in the
-## file "LICENCE" distributed with Cforall.
-##
-## Makefile.am -- 
-##
-## Author           : Peter A. Buhr
-## Created On       : Sun May 31 09:08:15 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Thu Jun  4 23:13:10 2015
-## Update Count     : 22
-###############################################################################
-
-# applies to both programs
-CFLAGS = -g -Wall -Wno-unused-function # TEMPORARY: does not build with -O2
-CC = @CFA_BINDIR@/cfa
-
-noinst_PROGRAMS = fstream_test vector_test
-fstream_test_SOURCES = iostream.c fstream.c fstream_test.c
-vector_test_SOURCES = vector_int.c fstream.c iostream.c array.c iterator.c vector_test.c
Index: src/examples/Makefile.in
===================================================================
--- src/examples/Makefile.in	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/Makefile.in	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,455 +1,50 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-######################## -*- Mode: Makefile-Automake -*- ######################
+######################### -*- Mode: Makefile-Gmake -*- ########################
+##
+## Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
+##
+## The contents of this file are covered under the licence agreement in the
+## file "LICENCE" distributed with Cforall.
+##
+## Makefile.in -- 
+##
+## Author           : Peter A. Buhr
+## Created On       : Sat May 16 11:34:24 2015
+## Last Modified By : Peter A. Buhr
+## Last Modified On : Sat May 16 11:35:25 2015
+## Update Count     : 2
 ###############################################################################
 
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-noinst_PROGRAMS = fstream_test$(EXEEXT) vector_test$(EXEEXT)
-subdir = src/examples
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-PROGRAMS = $(noinst_PROGRAMS)
-am_fstream_test_OBJECTS = iostream.$(OBJEXT) fstream.$(OBJEXT) \
-	fstream_test.$(OBJEXT)
-fstream_test_OBJECTS = $(am_fstream_test_OBJECTS)
-fstream_test_LDADD = $(LDADD)
-am_vector_test_OBJECTS = vector_int.$(OBJEXT) fstream.$(OBJEXT) \
-	iostream.$(OBJEXT) array.$(OBJEXT) iterator.$(OBJEXT) \
-	vector_test.$(OBJEXT)
-vector_test_OBJECTS = $(am_vector_test_OBJECTS)
-vector_test_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/automake/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(fstream_test_SOURCES) $(vector_test_SOURCES)
-DIST_SOURCES = $(fstream_test_SOURCES) $(vector_test_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BACKEND_CC = @BACKEND_CC@
-CC = @CFA_BINDIR@/cfa
-CCDEPMODE = @CCDEPMODE@
-CFA_BINDIR = @CFA_BINDIR@
-CFA_INCDIR = @CFA_INCDIR@
-CFA_LIBDIR = @CFA_LIBDIR@
-CFA_PREFIX = @CFA_PREFIX@
+CC := @CFA_BINDIR@/cfa
+CFLAGS = -g -Wall -Wno-unused-function -MMD
+MAKEFILE_NAME = ${firstword ${MAKEFILE_LIST}}	# makefile name
 
-# applies to both programs
-CFLAGS = -g -Wall -Wno-unused-function # TEMPORARY: does not build with -O2
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GCC_PATH = @GCC_PATH@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LEX = @LEX@
-LEXLIB = @LEXLIB@
-LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-YACC = @YACC@
-YFLAGS = @YFLAGS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build_alias = @build_alias@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host_alias = @host_alias@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-fstream_test_SOURCES = iostream.c fstream.c fstream_test.c
-vector_test_SOURCES = vector_int.c fstream.c iostream.c array.c iterator.c vector_test.c
-all: all-am
+OBJECTS1 = iostream.o fstream.o fstream_test.o
+EXEC1 = fstream_test
 
-.SUFFIXES:
-.SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/examples/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu src/examples/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
+OBJECTS2 = vector_int.o fstream.o iostream.o array.o iterator.o vector_test.o
+EXEC2 = vector_test
 
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+OBJECTS = ${OBJECTS1} ${OBJECTS2}		# all object files
+DEPENDS = ${OBJECTS:.o=.d}			# substitute ".o" with ".d"
+EXECS = ${EXEC1} ${EXEC2}			# all executables
 
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
+########## Targets ##########
 
-clean-noinstPROGRAMS:
-	-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
-fstream_test$(EXEEXT): $(fstream_test_OBJECTS) $(fstream_test_DEPENDENCIES) $(EXTRA_fstream_test_DEPENDENCIES) 
-	@rm -f fstream_test$(EXEEXT)
-	$(LINK) $(fstream_test_OBJECTS) $(fstream_test_LDADD) $(LIBS)
-vector_test$(EXEEXT): $(vector_test_OBJECTS) $(vector_test_DEPENDENCIES) $(EXTRA_vector_test_DEPENDENCIES) 
-	@rm -f vector_test$(EXEEXT)
-	$(LINK) $(vector_test_OBJECTS) $(vector_test_LDADD) $(LIBS)
+.PHONY : all clean				# not file names
 
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
+all : ${EXECS}					# build all executables
 
-distclean-compile:
-	-rm -f *.tab.c
+${EXEC1} : ${OBJECTS1}				# link step 1st executable
+	${CC} ${CFLAGS} $^ -o $@		# additional object files before $^
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/array.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstream.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstream_test.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iostream.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iterator.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vector_int.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vector_test.Po@am__quote@
+${EXEC2} : ${OBJECTS2}				# link step 2nd executable
+	${CC} ${CFLAGS} $^ -o $@		# additional object files before $^
 
-.c.o:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c $<
+${OBJECTS} : ${MAKEFILE_NAME}			# OPTIONAL : changes to this file => recompile
 
-.c.obj:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+-include ${DEPENDS}				# include *.d files containing program dependences
 
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
+clean :						# remove files that can be regenerated
+	rm -f ${DEPENDS} ${OBJECTS} ${EXECS} *.class
 
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	set x; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	if test -z '$(STRIP)'; then \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	      install; \
-	else \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-	fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-noinstPROGRAMS ctags distclean distclean-compile \
-	distclean-generic distclean-tags distdir dvi dvi-am html \
-	html-am info info-am install install-am install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
+distclean : clean
Index: src/examples/abstype.c
===================================================================
--- src/examples/abstype.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/abstype.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,22 +1,9 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// abstype.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:10:01 2015
-// Update Count     : 4
-//
+// "cfa-cpp -nx Abstype.c"
 
 type T | { T x( T ); };
 
 T y( T t ) {
-	T t_instance;
-	return x( t );
+    T t_instance;
+    return x( t );
 }
 
@@ -29,15 +16,10 @@
 
 U x( U u ) {
-	U u_instance = u;
-	(*u)++;
-	return u;
+    U u_instance = u;
+    (*u)++;
+    return u;
 }
 
 int *break_abstraction( U u ) {
-	return u;
+    return u;
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa abstype.c" //
-// End: //
Index: src/examples/array.c
===================================================================
--- src/examples/array.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/array.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,16 +1,5 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// array.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:10:13 2015
-// Update Count     : 2
-//
+// "cfa -c -o array.o array.c"
+// "cfa -CFA array.c > array_out.c"
+// "gcc32 array_out.c ../LibCfa/libcfa.a"
 
 #include "array.h"
@@ -27,5 +16,5 @@
 forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) )
 elt_type * begin( array_type array ) {
-	return &array[ 0 ];
+    return &array[ 0 ];
 }
 
@@ -33,9 +22,4 @@
 forall( type array_type, type elt_type | bounded_array( array_type, elt_type ) )
 elt_type * end( array_type array ) {
-	return &array[ last( array ) ] + 1;
+    return &array[ last( array ) ] + 1;
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa array.c" //
-// End: //
Index: src/examples/array.h
===================================================================
--- src/examples/array.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/array.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// array.h -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:10:32 2015
-// Update Count     : 2
-//
-
 #ifndef ARRAY_H
 #define ARRAY_H
@@ -22,10 +7,10 @@
 // element has index 0.
 context array( type array_type, type elt_type ) {
-	lvalue elt_type ?[?]( array_type, int );
+    lvalue elt_type ?[?]( array_type, int );
 };
 
 // A bounded array is an array that carries its maximum index with it.
 context bounded_array( type array_type, type elt_type | array( array_type, elt_type ) ) {
-	int last( array_type );
+    int last( array_type );
 };
 
@@ -47,7 +32,2 @@
 
 #endif // ARRAY_H
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa array.c" //
-// End: //
Index: src/examples/assert.c
===================================================================
--- src/examples/assert.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ 	(revision )
@@ -1,23 +1,0 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// assert.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:10:43 2015
-// Update Count     : 2
-//
-
-void f() {
-	(1) ? (void)(0) : (void)(0);
-}
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa assert.c" //
-// End: //
Index: src/examples/constants.c
===================================================================
--- src/examples/constants.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/constants.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,64 +1,18 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// constants.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun  8 20:44:48 2015
-// Update Count     : 75
-//
-
 int foo() {
-	1_234_Ul;
-	-0_177;
-	017_777_777_777;
-	037_777_777_777;
-	0x_7f_FF_ff_FF;
-	0x_ff_FF_ff_FF;
-	2_147_483_647;
-	4_294_967_295;
-	4_294_967_296;
-	4_294_967_296U;
-	0_777_777_777_777_777_777_777;
-	01_777_777_777_777_777_777_777;
-	0;
-	0L;
-	0LL;
-	1;
-	1L;
-	1LL;
-	10;
-	10L;
-	10LL;
-	2U;
-	2UL;
-	2ULL;
-	2LU;
-	2LLU;
-	0x_7f_FF_ff_FF_ff_FF_ff_FF;
-	0x_ff_FF_ff_FF_ff_FF_ff_FF;
-	9_223_372_036_854_775_807;
-	18_446_744_073_709_551_615;
-	3.141_59f;
-	3.14159;
-	12.123_333_E_27L;
-	0X_1.ff_ff_ff_ff_ff_fff_P_1023;
-	'\0';
-	'\1_2_3';
-	L'\x_ff_ee';
-	L_"\x_ff_ee";
-	L"a_b\r\Qyc\u_00_40  x_y_z\xff_AA";
-	L_"a_b\r\Qyc\u_00_40\    
-  x_y_z\xff_AA";
-	"abc" "def" "ghi";
+    1_234_Ul;
+    -0_177;
+    0x_ff_FF_ff_FF;
+    +9_223_372_036_854_775_807;
+    12.123_333_E_27;
+    0X_1.ff_ff_ff_ff_ff_fff_P_1023;
+    '\0';
+    '\1_2_3';
+    L_'\x_ff_ee';
+    L"a_bc\u_00_40xyz\xff_AA";
+    "a_bc\\
+  u_00_40xyz";
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa constants.c" //
+// compile-command: "../../bin/cfa -std=c99 constants.c" //
 // End: //
Index: src/examples/control_structures.c
===================================================================
--- src/examples/control_structures.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/control_structures.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,60 +1,44 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// control_structures.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Jun  4 14:02:50 2015
-// Update Count     : 24
-//
-
 int main() {
-	L1: {
-		L2:	switch ( 3_333_333 ) {						// underscores in constant
-		  case 1,2,3:									// CFA
-		  case 4~8:										// CFA
-		  case 9 ... 10:								// gcc, must have spaces
-				L3: for ( ;; ) {
-					L4: for ( ;; ) {
-						break L1;						// labelled break
-						break L2;
-						break L3;
-						break L4;
-						//continue L1;					// labelled continue - should be an error 
-						//continue L2;					// should be an error
-						continue L3;
-						continue L4;
-					} // for
-				} // for
-				break;
-			default:
-				break L1;
-		} // switch
-		3;
-		int i, j;
-		choose ( 7 ) {
-		  case 1,2,3:
-			i = 3;
-			4;
-			fallthru;
-		  case 4,5,6:
-			j = 3;
-		  default: ;
-		} // choose
-	} // block
+  L1: {
+      L2: switch ( 3_333_333 ) {	// underscores in constant
+	  case 1,2,3:			// 4~8, 4...8 not working
+	  L3: for ( ;; ) {
+	      L4: for ( ;; ) {
+		    break L1;		// labelled break
+		    break L2;
+		    break L3;
+		    break L4;
+#if 0
+		    continue L1;	// labelled continue
+		    continue L2;
+		    continue L3;
+		    continue L4;
+#endif
+		} // for
+	    } // for
+	    break;
+	  default:
+	    break L1;
+	} // switch
+	3;
+	int i, j;
+	choose ( 7 ) {
+	  case 1,2,3:
+	    i = 3;
+	    fallthru;
+	  case 4,5,6:
+	    j = 3;
+	  default: ;
+	} // choose
+    } // block
 
 #if 0
-	try {
-		int i = 3;
-	} catch( int ) {
-	} catch( double ) {
-	} catch( ... ) {
-	} finally {
-	} // try
+    try {
+	int i = 3;
+    } catch( int ) {
+    } catch( double ) {
+    } catch( ... ) {
+    } finally {
+    } // try
 #endif
 
@@ -62,5 +46,4 @@
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa control_structures.c" //
+// compile-command: "../../bin/cfa control_structures.c" //
 // End: //
Index: src/examples/ctxts.c
===================================================================
--- src/examples/ctxts.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/ctxts.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,29 +1,9 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// ctxts.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:11:19 2015
-// Update Count     : 2
-//
-
 context has_f( type T ) {
-	T f( T );
+    T f( T );
 };
 
 context has_g( type U | has_f( U ) ) {
-	U g( U );
+    U g( U );
 };
 
 forall( type V | has_g( V ) ) void h( V );
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa ctxts.c" //
-// End: //
Index: src/examples/esskaykay.c
===================================================================
--- src/examples/esskaykay.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/esskaykay.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,16 +1,3 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// esskaykay.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:11:45 2015
-// Update Count     : 2
-//
+// "./cfa-cpp -cn esskaykay.c"
 
 // forall (type A, type B, type C) C ess (C (*f) (A,B), B (*g) (A), A x) { return f(x,g(x)); }
@@ -23,7 +10,2 @@
 
 forall (type A) A esskaykay (A x) { ess (kay, kay, x); }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa esskaykay.c" //
-// End: //
Index: src/examples/forward.c
===================================================================
--- src/examples/forward.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/forward.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// forward.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:11:57 2015
-// Update Count     : 2
-//
-
 forall(type T) lvalue T *?( T* );
 int ?=?( int*, int );
@@ -21,9 +6,8 @@
 
 void f() {
-	*x;
+    *x;
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa forward.c" //
+// compile-command: "../../bin/cfa forward.c" //
 // End: //
Index: src/examples/fstream.c
===================================================================
--- src/examples/fstream.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/fstream.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// fstream.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:12:33 2015
-// Update Count     : 2
-//
-
 #include "fstream.h"
 
@@ -22,106 +7,101 @@
 
 struct ofstream {
-	FILE *file;
-	int fail;
+    FILE *file;
+    int fail;
 };
 
 ofstream *write( ofstream *os, const char *data, streamsize_type size ) {
-	if ( ! os->fail ) {
-		fwrite( data, size, 1, os->file );
-		os->fail = ferror( os->file );
-	}
-	return os;
+    if ( ! os->fail ) {
+	fwrite( data, size, 1, os->file );
+	os->fail = ferror( os->file );
+    }
+    return os;
 }
 
 int fail( ofstream *os ) {
-	return os->fail;
+    return os->fail;
 }
 
 static ofstream *make_ofstream() {
-	ofstream *new_stream = malloc( sizeof( ofstream ) );
-	new_stream->fail = 0;
-	return new_stream;
+    ofstream *new_stream = malloc( sizeof( ofstream ) );
+    new_stream->fail = 0;
+    return new_stream;
 }
 
 ofstream *ofstream_stdout() {
-	ofstream *stdout_stream = make_ofstream();
-	stdout_stream->file = stdout;
-	return stdout_stream;
+    ofstream *stdout_stream = make_ofstream();
+    stdout_stream->file = stdout;
+    return stdout_stream;
 }
 
 ofstream *ofstream_stderr() {
-	ofstream *stderr_stream = make_ofstream();
-	stderr_stream->file = stderr;
-	return stderr_stream;
+    ofstream *stderr_stream = make_ofstream();
+    stderr_stream->file = stderr;
+    return stderr_stream;
 }
 
 ofstream *ofstream_fromfile( const char *name ) {
-	ofstream *file_stream = make_ofstream();
-	file_stream->file = fopen( name, "w" );
-	file_stream->fail = file_stream->file == 0;
-	return file_stream;
+    ofstream *file_stream = make_ofstream();
+    file_stream->file = fopen( name, "w" );
+    file_stream->fail = file_stream->file == 0;
+    return file_stream;
 }
 
 void ofstream_close( ofstream *os ) {
-	if ( os->file != stdout && os->file != stderr ) {
-		os->fail = fclose( os->file );
-	}
-	free( os );
+    if ( os->file != stdout && os->file != stderr ) {
+	os->fail = fclose( os->file );
+    }
+    free( os );
 }
 
 struct ifstream {
-	FILE *file;
-	int fail;
-	int eof;
+    FILE *file;
+    int fail;
+    int eof;
 };
 
 ifstream *read( ifstream *is, char *data, streamsize_type size ) {
-	if ( ! is->fail && ! is->eof ) {
-		fread( data, size, 1, is->file );
-		is->fail = ferror( is->file );
-		is->eof = feof( is->file );
-	}
-	return is;
+    if ( ! is->fail && ! is->eof ) {
+	fread( data, size, 1, is->file );
+	is->fail = ferror( is->file );
+	is->eof = feof( is->file );
+    }
+    return is;
 }
   
 ifstream *unread( ifstream *is, char c ) {
-	if ( ! is->fail ) {
-		if ( ! EOF == ungetc( c, is->file ) ) {
-			is->fail = 1;
-		}
+    if ( ! is->fail ) {
+	if ( ! EOF == ungetc( c, is->file ) ) {
+	    is->fail = 1;
 	}
-	return is;
+    }
+    return is;
 }
 
 int fail( ifstream *is ) {
-	return is->fail;
+    return is->fail;
 }
 
 int eof( ifstream *is ) {
-	return is->eof;
+    return is->eof;
 }
 
 static ifstream *make_ifstream() {
-	ifstream *new_stream = malloc( sizeof( ifstream ) );
-	new_stream->fail = 0;
-	new_stream->eof = 0;
-	return new_stream;
+    ifstream *new_stream = malloc( sizeof( ifstream ) );
+    new_stream->fail = 0;
+    new_stream->eof = 0;
+    return new_stream;
 }
 
 ifstream *ifstream_stdin() {
-	ifstream *stdin_stream = make_ifstream();
-	stdin_stream->file = stdin;
-	return stdin_stream;
+    ifstream *stdin_stream = make_ifstream();
+    stdin_stream->file = stdin;
+    return stdin_stream;
 }
 
 ifstream *ifstream_fromfile( const char *name ) {
-	ifstream *file_stream = make_ifstream();
-	file_stream->file = fopen( name, "r" );
-	file_stream->fail = file_stream->file == 0;
-	return file_stream;
+    ifstream *file_stream = make_ifstream();
+    file_stream->file = fopen( name, "r" );
+    file_stream->fail = file_stream->file == 0;
+    return file_stream;
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa fstream.c" //
-// End: //
Index: src/examples/fstream.h
===================================================================
--- src/examples/fstream.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/fstream.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// fstream.h -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:13:08 2015
-// Update Count     : 1
-//
-
 #ifndef __FSTREAM_H__
 #define __FSTREAM_H__
@@ -42,7 +27,2 @@
 
 #endif // __FSTREAM_H__
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa fstream.c" //
-// End: //
Index: src/examples/fstream_test.c
===================================================================
--- src/examples/fstream_test.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/fstream_test.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,30 +1,10 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// fstream_test.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:13:43 2015
-// Update Count     : 2
-//
-
 #include "fstream.h"
 
 int main() {
-	ofstream *sout = ofstream_stdout();
-	ifstream *sin = ifstream_stdin();
-	int nombre;
-	sout << "Appuyez un nombre, s'il vous plâit:\n";
-	sin >> &nombre;
-	sout << "Vous avez appuyé: " << nombre << "\n";
+    ofstream *sout = ofstream_stdout();
+    ifstream *sin = ifstream_stdin();
+    int nombre;
+    sout << "Appuyez un nombre, s'il vous plâit:\n";
+    sin >> &nombre;
+    sout << "Vous avez appuyé: " << nombre << "\n";
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa fstream_test.c" //
-// End: //
Index: src/examples/fwrite.c
===================================================================
--- src/examples/fwrite.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/fwrite.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,27 +1,7 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// fwrite.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:14:12 2015
-// Update Count     : 1
-//
-
 extern "C" {
-	#include <stdio.h>
+    #include <stdio.h>
 }
 
 int main() {
-	fwrite( "test\n", 5, 1, stdout );
+    fwrite( "test\n", 5, 1, stdout );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa fwrite.c" //
-// End: //
Index: src/examples/hello.c
===================================================================
--- src/examples/hello.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/hello.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,31 +1,15 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// hello.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:14:58 2015
-// Update Count     : 1
-//
-
 #include "fstream.h"
 
 int main() {
-	ofstream *sout = ofstream_stdout();
-	ifstream *sin = ifstream_stdin();
-	sout << "Bonjour au monde!\n";
-	sout << 3 << " " << 3.5 << " " << 'a' << " " << "abc" << "\n";
-	int i, j, k;
-	sin >> &i >> &j >> &k;
-	sout << "i:" << i << " j:" << j << " k:" << k << "\n";
+    ofstream *sout = ofstream_stdout();
+    ifstream *sin = ifstream_stdin();
+    sout << "Bonjour au monde!\n";
+    sout << 3 << " " << 3.5 << " " << 'a' << " " << "abc" << "\n";
+    int i, j, k;
+    sin >> &i >> &j >> &k;
+    sout << "i:" << i << " j:" << j << " k:" << k << "\n";
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa hello.c fstream.o iostream.o" //
+// compile-command: "../../bin/cfa hello.c fstream.o iostream.o" //
 // End: //
Index: src/examples/huge.c
===================================================================
--- src/examples/huge.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/huge.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,26 +1,6 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// huge.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:15:34 2015
-// Update Count     : 1
-//
-
 int huge( int n, forall( type T ) T (*f)( T ) ) {
-	if ( n <= 0 )
-		return f( 0 );
-	else
-		return huge( n - 1, f( f ) );
+    if ( n <= 0 )
+	return f( 0 );
+    else
+	return huge( n - 1, f( f ) );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa huge.c" //
-// End: //
Index: src/examples/identity.c
===================================================================
--- src/examples/identity.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/identity.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,39 +1,23 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// identity.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:16:30 2015
-// Update Count     : 2
-//
-
 #include "fstream.h"
 
 forall( type T )
 T identity( T t ) {
-	return t;
+    return t;
 }
 
 int main() {
-	ofstream *sout = ofstream_stdout();
-	char c = 'a';
-	c = identity( c );
-	sout << c << ' ' << identity( c ) << '\n';
-	int i = 5;
-	i = identity( i );
-	sout << i << ' ' << identity( i ) << '\n';
-	double d = 3.2;
-	d = identity( d );
-	sout << d << ' ' << identity( d ) << '\n';
+    ofstream *sout = ofstream_stdout();
+    char c = 'a';
+    c = identity( c );
+    sout << c << ' ' << identity( c ) << '\n';
+    int i = 5;
+    i = identity( i );
+    sout << i << ' ' << identity( i ) << '\n';
+    double d = 3.2;
+    d = identity( d );
+    sout << d << ' ' << identity( d ) << '\n';
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa identity.c fstream.o iostream.o" //
+// compile-command: "../../bin/cfa identity.c fstream.o iostream.o" //
 // End: //
Index: src/examples/includes.c
===================================================================
--- src/examples/includes.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/includes.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,18 +1,3 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// includes.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jun 26 15:04:33 2015
-// Update Count     : 14
-//
-
-#if 0
+#if 1
 //#include <aio.h>		// FAILS -- includes locale.h
 #include <aliases.h>
@@ -20,10 +5,10 @@
 #include <ansidecl.h>
 #include <ar.h>
-#include <argp.h>		// FAILS -- includes locale.h
-#include <argz.h>		// FAILS -- includes locale.h
+//#include <argp.h>		// FAILS -- includes locale.h
+//#include <argz.h>		// FAILS -- includes locale.h
 #include <assert.h>
 #include <bfd.h>		// contains structure field "type"
 #include <complex.h>
-#include <ctype.h>		// FAILS -- includes locale.h
+//#include <ctype.h>		// FAILS -- includes locale.h
 #include <errno.h>
 #include <fenv.h>
@@ -32,5 +17,5 @@
 #include <iso646.h>
 #include <limits.h>
-#include <locale.h>		// FAILS -- "no reasonable alternatives for applying ... Name: ?+? ..."
+//#include <locale.h>		// FAILS -- "no reasonable alternatives for applying ... Name: ?+? ..."
 #include <math.h>		// contains structure field "type"
 #include <setjmp.h>
@@ -41,17 +26,16 @@
 #include <stdlib.h>
 #include <stdio.h>
-#include <string.h>		// FAILS -- includes locale.h
+//#include <string.h>		// FAILS -- includes locale.h
 #include <tgmath.h>
-#include <time.h>		// FAILS -- includes locale.h
+//#include <time.h>		// FAILS -- includes locale.h
 #include <unistd.h>
-#include <wchar.h>		// FAILS -- includes locale.h
-#include <wctype.h>		// FAILS -- includes locale.h
+//#include <wchar.h>		// FAILS -- includes locale.h
+//#include <wctype.h>		// FAILS -- includes locale.h
 #include <curses.h>
 #else
-#include <aio.h>		// FAILS -- includes locale.h
+#include <time.h>		// FAILS -- includes locale.h
 #endif // 0
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa includes.c" //
+// compile-command: "../../bin/cfa includes.c" //
 // End: //
Index: src/examples/index.h
===================================================================
--- src/examples/index.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/index.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,25 +1,5 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// index.h -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:17:31 2015
-// Update Count     : 1
-//
-
 context index( type T ) {
-	T ?+?( T, T );
-	T ?-?( T, T );
-	const T 0, 1;
+    T ?+?( T, T );
+    T ?-?( T, T );
+    const T 0, 1;
 };
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa index.c" //
-// End: //
Index: src/examples/iostream.c
===================================================================
--- src/examples/iostream.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/iostream.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,16 +1,7 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// iostream.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:18:13 2015
-// Update Count     : 2
-//
+// "cfa -c -o iostream.o iostream.c"
+// "cfa -v -E iostream.c > iostream_out.c"
+// "cfa -CFA iostream.c > iostream_out.c"
+// "cfa iostream_out.c"
+// "gcc32 iostream_out.c LibCfa/libcfa.a"
 
 #include "iostream.h"
@@ -19,61 +10,56 @@
 //#include <string.h>
 //#include <ctype.h>
-	typedef long unsigned int size_t;
-	size_t strlen(const char *s);
+typedef long unsigned int size_t;
+size_t strlen(const char *s);
 }
 
 forall( dtype ostype | ostream( ostype ) )
 ostype * ?<<?( ostype *os, char c ) {
-	return write( os, &c, 1 );
+    return write( os, &c, 1 );
 }
 
 forall( dtype ostype | ostream( ostype ) )
 ostype * ?<<?( ostype *os, int i ) {
-	char buffer[20];      // larger than the largest integer
-	sprintf( buffer, "%d", i );
-	return write( os, buffer, strlen( buffer ) );
+    char buffer[20];      // larger than the largest integer
+    sprintf( buffer, "%d", i );
+    return write( os, buffer, strlen( buffer ) );
 }
 
 forall( dtype ostype | ostream( ostype ) )
 ostype * ?<<?( ostype *os, double d ) {
-	char buffer[32];      // larger than the largest double
-	sprintf( buffer, "%g", d );
-	return write( os, buffer, strlen( buffer ) );
+    char buffer[32];      // larger than the largest double
+    sprintf( buffer, "%g", d );
+    return write( os, buffer, strlen( buffer ) );
 }
 
 forall( dtype ostype | ostream( ostype ) )
 ostype * ?<<?( ostype *os, const char *cp ) {
-	return write( os, cp, strlen( cp ) );
+    return write( os, cp, strlen( cp ) );
 }
 
 forall( dtype istype | istream( istype ) )
 istype * ?>>?( istype *is, char *cp ) {
-	return read( is, cp, 1 );
+    return read( is, cp, 1 );
 }
 
 forall( dtype istype | istream( istype ) )
 istype * ?>>?( istype *is, int *ip ) {
-	char cur;
+    char cur;
   
-	// skip some whitespace
-	do {
-		is >> &cur;
-		if ( fail( is ) || eof( is ) ) return is;
-	} while ( !( cur >= '0' && cur <= '9' ) );
+    // skip some whitespace
+    do {
+	is >> &cur;
+	if ( fail( is ) || eof( is ) ) return is;
+    } while ( !( cur >= '0' && cur <= '9' ) );
   
-	// accumulate digits
-	*ip = 0;
-	while ( cur >= '0' && cur <= '9' ) {
-		*ip = *ip * 10 + ( cur - '0' );
-		is >> &cur;
-		if ( fail( is ) || eof( is ) ) return is;
-	}
+    // accumulate digits
+    *ip = 0;
+    while ( cur >= '0' && cur <= '9' ) {
+	*ip = *ip * 10 + ( cur - '0' );
+	is >> &cur;
+	if ( fail( is ) || eof( is ) ) return is;
+    }
   
-	unread( is, cur );
-	return is;
+    unread( is, cur );
+    return is;
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa iostream.c" //
-// End: //
Index: src/examples/iostream.h
===================================================================
--- src/examples/iostream.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/iostream.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// iostream.h -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:18:46 2015
-// Update Count     : 1
-//
-
 #ifndef IOSTREAM_H
 #define IOSTREAM_H
@@ -20,10 +5,10 @@
 
 context ostream( dtype ostype ) {
-	ostype *write( ostype *, const char *, streamsize_type );
-	int fail( ostype * );
+    ostype *write( ostype *, const char *, streamsize_type );
+    int fail( ostype * );
 };
 
 context writeable( type T ) {
-	forall( dtype ostype | ostream( ostype ) ) ostype * ?<<?( ostype *, T );
+    forall( dtype ostype | ostream( ostype ) ) ostype * ?<<?( ostype *, T );
 };
 
@@ -37,12 +22,12 @@
 
 context istream( dtype istype ) {
-	istype *read( istype *, char *, streamsize_type );
-	istype *unread( istype *, char );
-	int fail( istype * );
-	int eof( istype * );
+    istype *read( istype *, char *, streamsize_type );
+    istype *unread( istype *, char );
+    int fail( istype * );
+    int eof( istype * );
 };
 
 context readable( type T ) {
-	forall( dtype istype | istream( istype ) ) istype * ?<<?( istype *, T );
+    forall( dtype istype | istream( istype ) ) istype * ?<<?( istype *, T );
 };
 
@@ -54,7 +39,2 @@
 
 #endif // IOSTREAM_H
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa iostream.c" //
-// End: //
Index: src/examples/it_out.c
===================================================================
--- src/examples/it_out.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/it_out.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,27 +1,36 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// it_out.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:41:23 2015
-// Update Count     : 4
-//
+# 1 "iterator.c"
+# 1 "<built-in>"
+# 1 "<command line>"
+# 1 "iterator.c"
+# 1 "iterator.h" 1
+
+
+
+# 1 "iostream.h" 1
+
+
 
 typedef unsigned long streamsize_type;
 
-context ostream( dtype os_type ) {
-	os_type *write( os_type *, const char *, streamsize_type );
-	int fail( os_type * );
+
+
+context ostream( dtype os_type )
+{
+
+    os_type *write( os_type *, const char *, streamsize_type );
+
+
+    int fail( os_type * );
 };
 
-context writeable( type T ) {
-	forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, T );
+
+
+
+context writeable( type T )
+{
+    forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, T );
 };
+
+
 
 forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, char );
@@ -29,41 +38,65 @@
 forall( dtype os_type | ostream( os_type ) ) os_type * ?<<?( os_type *, const char * );
 
-context istream( dtype is_type ) {
-	is_type *read( is_type *, char *, streamsize_type );
-	is_type *unread( is_type *, char );
-	int fail( is_type * );
-	int eof( is_type * );
+
+
+
+context istream( dtype is_type )
+{
+
+    is_type *read( is_type *, char *, streamsize_type );
+
+
+    is_type *unread( is_type *, char );
+
+
+    int fail( is_type * );
+
+
+    int eof( is_type * );
 };
 
-context readable( type T ) {
-	forall( dtype is_type | istream( is_type ) ) is_type * ?<<?( is_type *, T );
+
+
+
+context readable( type T )
+{
+    forall( dtype is_type | istream( is_type ) ) is_type * ?<<?( is_type *, T );
 };
+
+
 
 forall( dtype is_type | istream( is_type ) ) is_type * ?>>?( is_type *, char* );
 forall( dtype is_type | istream( is_type ) ) is_type * ?>>?( is_type *, int* );
+# 5 "iterator.h" 2
 
-context iterator( type iterator_type, type elt_type ) {
-	iterator_type ?++( iterator_type* );
-	iterator_type ++?( iterator_type* );
-	int ?==?( iterator_type, iterator_type );
-	int ?!=?( iterator_type, iterator_type );
 
-	lvalue elt_type *?( iterator_type );
+context iterator( type iterator_type, type elt_type )
+{
+
+    iterator_type ?++( iterator_type* );
+    iterator_type ++?( iterator_type* );
+
+
+    int ?==?( iterator_type, iterator_type );
+    int ?!=?( iterator_type, iterator_type );
+
+
+    lvalue elt_type *?( iterator_type );
 };
 
-forall( type elt_type | writeable( elt_type ),
-		type iterator_type | iterator( iterator_type, elt_type ),
-		dtype os_type | ostream( os_type ) )
-void write_all( iterator_type begin, iterator_type end, os_type *os );
+
 
 forall( type elt_type | writeable( elt_type ),
-		type iterator_type | iterator( iterator_type, elt_type ),
-		dtype os_type | ostream( os_type ) )
-void write_all( elt_type begin, iterator_type end, os_type *os ) {
-	os << begin;
+        type iterator_type | iterator( iterator_type, elt_type ),
+        dtype os_type | ostream( os_type ) )
+void write_all( iterator_type begin, iterator_type end, os_type *os );
+# 2 "iterator.c" 2
+
+forall( type elt_type | writeable( elt_type ),
+        type iterator_type | iterator( iterator_type, elt_type ),
+        dtype os_type | ostream( os_type ) )
+void
+write_all( elt_type begin, iterator_type end, os_type *os )
+{
+    os << begin;
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa it_out.c" //
-// End: //
Index: src/examples/iterator.c
===================================================================
--- src/examples/iterator.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/iterator.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,16 +1,5 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// iterator.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:41:41 2015
-// Update Count     : 3
-//
+// "cfa iterator.c"
+// "cfa -CFA iterator.c > iterator_out.c"
+// "gcc31 iterator_out.c ../LibCfa/libcfa.a"
 
 #include "iterator.h"
@@ -22,32 +11,27 @@
 ///   iterator_type i;
 ///   for ( i = begin; i != end; ++i ) {
-///	 func( *i );
+///     func( *i );
 ///   }
 /// }
 
 forall( type elt_type | writeable( elt_type ),
-		type iterator_type | iterator( iterator_type, elt_type ),
-		dtype os_type | ostream( os_type ) )
+        type iterator_type | iterator( iterator_type, elt_type ),
+        dtype os_type | ostream( os_type ) )
 void write_all( iterator_type begin, iterator_type end, os_type *os ) {
-	iterator_type i;
-	for ( i = begin; i != end; ++i ) {
-		os << *i << ' ';
-	}
+    iterator_type i;
+    for ( i = begin; i != end; ++i ) {
+	os << *i << ' ';
+    }
 }
 
 forall( type elt_type | writeable( elt_type ),
-		type iterator_type | iterator( iterator_type, elt_type ),
-		dtype os_type | ostream( os_type ) )
+	type iterator_type | iterator( iterator_type, elt_type ),
+	dtype os_type | ostream( os_type ) )
 void write_reverse( iterator_type begin, iterator_type end, os_type *os ) {
-	iterator_type i; // "= end;" does not work
-	i = end;
-	do {
-		--i;
-		os << *i << ' ';
-	} while ( i != begin );
+    iterator_type i; // "= end;" does not work
+    i = end;
+    do {
+	--i;
+	os << *i << ' ';
+    } while ( i != begin );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa iterator.c" //
-// End: //
Index: src/examples/iterator.h
===================================================================
--- src/examples/iterator.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/iterator.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// iterator.h -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:41:57 2015
-// Update Count     : 3
-//
-
 #ifndef ITERATOR_H
 #define ITERATOR_H
@@ -21,21 +6,21 @@
 // An iterator can be used to traverse a data structure.
 context iterator( type iterator_type, type elt_type ) {
-	// point to the next element
-//	iterator_type ?++( iterator_type * );
-	iterator_type ++?( iterator_type * );
-	iterator_type --?( iterator_type * );
+    // point to the next element
+//    iterator_type ?++( iterator_type * );
+    iterator_type ++?( iterator_type * );
+    iterator_type --?( iterator_type * );
 
-	// can be tested for equality with other iterators
-	int ?==?( iterator_type, iterator_type );
-	int ?!=?( iterator_type, iterator_type );
+    // can be tested for equality with other iterators
+    int ?==?( iterator_type, iterator_type );
+    int ?!=?( iterator_type, iterator_type );
 
-	// dereference to get the pointed-at element
-	lvalue elt_type *?( iterator_type );
+    // dereference to get the pointed-at element
+    lvalue elt_type *?( iterator_type );
 };
 
 context iterator_for ( type iterator_type, type collection_type, type elt_type | iterator( iterator_type, elt_type ) ) {
-//	[ iterator_type begin, iterator_type end ] get_iterators( collection_type );
-	iterator_type begin( collection_type );
-	iterator_type end( collection_type );
+//    [ iterator_type begin, iterator_type end ] get_iterators( collection_type );
+    iterator_type begin( collection_type );
+    iterator_type end( collection_type );
 };
 
@@ -45,17 +30,12 @@
 // writes the range [begin, end) to the given stream
 forall( type elt_type | writeable( elt_type ),
-		type iterator_type | iterator( iterator_type, elt_type ),
-		dtype os_type | ostream( os_type ) )
+        type iterator_type | iterator( iterator_type, elt_type ),
+        dtype os_type | ostream( os_type ) )
 void write_all( iterator_type begin, iterator_type end, os_type *os );
 
 forall( type elt_type | writeable( elt_type ),
-		type iterator_type | iterator( iterator_type, elt_type ),
-		dtype os_type | ostream( os_type ) )
+	type iterator_type | iterator( iterator_type, elt_type ),
+	dtype os_type | ostream( os_type ) )
 void write_reverse( iterator_type begin, iterator_type end, os_type *os );
 
 #endif // ITERATOR_H
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa iterator.c" //
-// End: //
Index: src/examples/min.c
===================================================================
--- src/examples/min.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/min.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,19 +1,4 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// min.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:23:19 2015
-// Update Count     : 2
-//
-
 extern "C" {
-	int printf( const char *, ... );
+    int printf( const char *, ... );
 //#include <stdio.h>
 }
@@ -21,24 +6,23 @@
 forall( type T | { int ?<?( T, T ); } )
 T min( const T t1, const T t2 ) {
-	return t1 < t2 ? t1 : t2;
+    return t1 < t2 ? t1 : t2;
 }
 
 int main() {
-	char c;
-//	c = min( 'z', 'a' );
-//	printf( "minimum %d\n", c );
-	int i;
-	i = min( 4, 3 );
-	printf( "minimum %d\n", min( 4, 3 ) );
-	float f;
-	f = min( 4.0, 3.1 );
-	printf( "minimum %g\n", f );
-	double d;
-	d = min( 4.0, 3.2 );
-	printf( "minimum %g\n", d );
+    char c;
+//    c = min( 'z', 'a' );
+//    printf( "minimum %d\n", c );
+    int i;
+    i = min( 4, 3 );
+    printf( "minimum %d\n", min( 4, 3 ) );
+    float f;
+    f = min( 4.0, 3.1 );
+    printf( "minimum %g\n", f );
+    double d;
+    d = min( 4.0, 3.2 );
+    printf( "minimum %g\n", d );
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa min.c" //
+// compile-command: "../../bin/cfa min.c" //
 // End: //
Index: src/examples/new.c
===================================================================
--- src/examples/new.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/new.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,33 +1,13 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// new.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:23:55 2015
-// Update Count     : 1
-//
-
 forall( type T )
 void f( T *t ) {
-	t--;
-	*t;
-	++t;
-	t += 2;
-	t + 2;
-	--t;
-	t -= 2;
-	t - 4;
-	t[7];
-	7[t];
+    t--;
+    *t;
+    ++t;
+    t += 2;
+    t + 2;
+    --t;
+    t -= 2;
+    t - 4;
+    t[7];
+    7[t];
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa new.c" //
-// End: //
Index: src/examples/prolog.c
===================================================================
--- src/examples/prolog.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/prolog.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,16 +1,3 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// prolog.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:25:52 2015
-// Update Count     : 1
-//
+// "./cfa prolog.c"
 
 extern "C" { extern int printf( const char *fmt, ... ); }
@@ -26,25 +13,20 @@
 
 context ArithmeticType( type T ) {
-	void is_arithmetic( T );
+    void is_arithmetic( T );
 };
 
 context IntegralType( type T | ArithmeticType( T ) ) {
-	void is_integer( T );
+    void is_integer( T );
 };
 
 forall( type T | IntegralType( T ) | { void printResult( T ); } )
 void hornclause( T param ) {
-	printResult( param );
+    printResult( param );
 }
 
 int main() {
-	int x;
-	double x;
-	char * x;
-	hornclause( x );
+    int x;
+    double x;
+    char * x;
+    hornclause( x );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa prolog.c" //
-// End: //
Index: src/examples/quad.c
===================================================================
--- src/examples/quad.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/quad.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,38 +1,22 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// quad.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:26:36 2015
-// Update Count     : 2
-//
-
 extern "C" {
-#include <stdio.h>
+    #include <stdio.h>
 }
 
 forall( type T | { T ?*?( T, T ); } )
 T square( T t ) {
-	return t * t;
+    return t * t;
 }
 
 forall( type U | { U square( U ); } )
 U quad( U u ) {
-	return square( square( u ) );
+    return square( square( u ) );
 }
 
 int main() {
-	int N = 2;
-	printf( "result of quad of %d is %d\n", N, quad( N ) );
+    int N = 2;
+    printf( "result of quad of %d is %d\n", N, quad( N ) );
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa quad.c" //
+// compile-command: "../../bin/cfa quad.c" //
 // End: //
Index: src/examples/quoted_keyword.c
===================================================================
--- src/examples/quoted_keyword.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/quoted_keyword.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,23 +1,8 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// quoted_keyword.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:27:26 2015
-// Update Count     : 2
-//
-
 // test quoted keyword usage
 int `catch`;
 
 struct {
-	int `type`;
-	int `struct`;
+    int `type`;
+    int `struct`;
 } st;
 
@@ -26,5 +11,5 @@
 
 int foo() {
-	int w = `catch` + st.`type` + st.`struct` + `throw`;
+    int w = `catch` + st.`type` + st.`struct` + `throw`;
 }
 
@@ -32,5 +17,4 @@
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa quoted_keyword.c" //
+// compile-command: "../../bin/cfa quoted_keyword.c" //
 // End: //
Index: src/examples/rodolfo1.c
===================================================================
--- src/examples/rodolfo1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/examples/rodolfo1.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,7 @@
+// "./cfa-cpp -c rodolfo1.c"
+
+void f() {
+	int a, b = 4, c = 5;
+	a = b + c;
+	int d = a + 7;
+}
Index: src/examples/rodolfo2.c
===================================================================
--- src/examples/rodolfo2.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/examples/rodolfo2.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,14 @@
+// "./cfa-cpp -c rodolfo2.c"
+
+extern "C" {
+    #include <assert.h>
+}
+
+int a = 7;
+
+void f() {
+    int b;
+    b = a;
+    int a = 8;
+    assert( b == 7 );
+}
Index: src/examples/s.c
===================================================================
--- src/examples/s.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/s.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,28 +1,8 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// s.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:42:39 2015
-// Update Count     : 2
-//
-
 //int ?!=?( int, int );
 
 void f() {
-//	int a;
-//	a ? 4 : 5;
-	1 ? 4 : 5;
-	0 ? 4 : 5;
+//    int a;
+//    a ? 4 : 5;
+    1 ? 4 : 5;
+    0 ? 4 : 5;
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa s.c" //
-// End: //
Index: src/examples/simple.c
===================================================================
--- src/examples/simple.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/simple.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,39 +1,21 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// simple.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:30:27 2015
-// Update Count     : 3
-//
+// './cfa square.c'
 
 extern "C" {
-	int printf( const char *fmt, ... );
+    int printf( const char *fmt, ... );
 }
 
 context has_star( type T ) {
-	T ?*?( T, T );
+    T ?*?( T, T );
 };
 
 int ?*?( int, int );
-int ?=?( int *, int );
+int ?=?( int*, int );
 
 forall( type T | has_star( T ) )
 T square( T t ) {
-	return t * t;
+    return t * t;
 }
 
 int main() {
-	printf( "result of square of 5 is %d\n", square( 5 ) );
+    printf( "result of square of 5 is %d\n", square( 5 ) );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa simple.c" //
-// End: //
Index: src/examples/simplePoly.c
===================================================================
--- src/examples/simplePoly.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/simplePoly.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,20 +1,8 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// simplePoly.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:31:17 2015
-// Update Count     : 2
-//
+// './cfa-cpp -nc < simplePoly.c'
 
 forall( type T, type U | { T f( T, U ); } )
-T q( T t, U u ) {
-	return f( t, u );
+T q( T t, U u )
+{
+    return f( t, u );
 //  return t;
 }
@@ -23,12 +11,7 @@
 
 void g( void ) {
-	int y;
-	double x;
+    int y;
+    double x;
 //  if ( y )
-	q( 3, &x );
+    q( 3, &x );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa simplePoly.c" //
-// End: //
Index: src/examples/simpler.c
===================================================================
--- src/examples/simpler.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/simpler.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,25 +1,7 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// simpler.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:31:48 2015
-// Update Count     : 1
-//
+// "./cfa-cpp -c simpler.c"
 
 forall( type T ) T id( T, T );
 
 int main() {
-	id( 0, 7 );
+    id( 0, 7 );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa simpler.c" //
-// End: //
Index: src/examples/specialize.c
===================================================================
--- src/examples/specialize.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/specialize.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,16 +1,5 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// specialize.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:32:26 2015
-// Update Count     : 2
-//
+// "./cfa specialize.c"
+// "./cfa -g simple.c"
+// "./cfa -CFA simple.c > simple_out.c"
 
 /// void f( const int * );
@@ -36,24 +25,19 @@
 
 extern "C" {
-	int printf( const char*, ... );
+  int printf( const char*, ... );
 }
 
 forall( type T ) T f( T t )
 {
-	printf( "in f; sizeof T is %d\n", sizeof( T ) );
-	return t;
+  printf( "in f; sizeof T is %d\n", sizeof( T ) );
+  return t;
 }
 
 void g( int (*p)(int) )
 {
-	printf( "g: f(7) returned %d\n", f(7) );
+  printf( "g: f(7) returned %d\n", f(7) );
 }
 
 int main() {
-	g( f );
+  g( f );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa specialize.c" //
-// End: //
Index: src/examples/square.c
===================================================================
--- src/examples/square.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/square.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,45 +1,13 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// square.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:43:34 2015
-// Update Count     : 2
-//
-
 extern "C" {
 #include <stdio.h>
 }
 
-forall( type T | { T ?*?( T, T ); } )
+forall( type T | { T ?*?( T, T ); })
 T square( T t ) {
-	return t * t;
+    return t * t;
 }
 
-//char ?*?( char a1, char a2 ) {
-//	return (char)( (int)a1 * (int)a2 );
-//}
-
 int main() {
-	char c = 5;
-	short int s = 5;
-	int i = 5;
-	float f = 5.0;
-	double d = 5.0;
-//	printf( "result of square of 5 is %d\n", (char)square( c ) );
-	printf( "result of square of 5 is %d\n", square( s ) );
-	printf( "result of square of 5 is %d\n", square( i ) );
-	printf( "result of square of 5 is %f\n", square( f ) );
-	printf( "result of square of 5 is %f\n", square( d ) );
+    printf( "result of square of 5 is %d\n", square( 5 ) );
+    printf( "result of square of 5 is %f\n", square( 5.0 ) );
 }
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa square.c" //
-// End: //
Index: src/examples/square.cf
===================================================================
--- src/examples/square.cf	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
+++ src/examples/square.cf	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -0,0 +1,20 @@
+// './cfa square.c'
+
+#undef __cplusplus
+extern "C" {
+#include <stdio.h>
+}
+
+forall( type T | { T ?*?( T, T ); })
+T
+square( T t )
+{
+  return t * t;
+}
+
+int
+main()
+{
+  printf( "result of square of 5 is %d\n", square( 5 ) );
+  return 0;
+}
Index: src/examples/sum.c
===================================================================
--- src/examples/sum.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/sum.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,35 +1,20 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// sum.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun  1 20:46:35 2015
-// Update Count     : 18
-//
-
 extern "C" {
-	int printf( const char *, ... );
+    int printf( const char *, ... );
 }
 
 context sumable( type T ) {
-	const T 0;
-	T ?+?( T, T );
-	T ?++( T * );
-	T ?+=?( T *, T );
+    const T 0;
+    T ?+?( T, T );
+    T ?++( T * );
+    T ?+=?( T *, T );
 };
 
 forall( type T | sumable( T ) )
 T sum( int n, T a[] ) {
-	T total;											// instantiate T, select 0
-	total = 0;
-	for ( int i = 0; i < n; i += 1 )
-		total = total + a[i];							// select +
-	return total;
+    T total;				// instantiate T, select 0
+    total = 0;
+    for ( int i = 0; i < n; i += 1 )
+	total = total + a[i];		// select +
+    return total;
 }
 
@@ -42,31 +27,30 @@
 
 int main() {
-	const int low = 5, High = 15, size = High - low;
-	int si = 0, ai[size];
-	int v = low;
-	for ( int i = 0; i < size; i += 1, v += 1 ) {
-		si += v;
-		ai[i] = v;
-	}
-	printf( "sum from %d to %d is %d, check %d\n",
-			low, High, sum( size, ai ), si );
+    const int size = 10, low = 0, High = 10;
+    int si = 0, ai[10]; // size
+    int i;
+    for ( i = low; i < High; i += 1 ) {
+	si += i;
+	ai[i] = i;
+    }
+    printf( "sum from %d to %d is %d, check %d\n",
+	    low, High, sum( size, ai ), si );
 
-//	char ci[size];
-//	char c = sum( size, ci );
-//	float fi[size];
-//	float f = sum( size, fi );
+//    char ci[10];
+//    char c = sum( size, ci );
+//    float fi[10];
+//    float f = sum( size, fi );
 
-	double sd = 0.0, ad[size];
-	double v = low / 10.0;
-	for ( int i = 0; i < size; i += 1, v += 0.1 ) {
-		sd += v;
-		ad[i] = v;
-	}
-	printf( "sum from %g to %g is %g, check %g\n",
-			low / 10.0, High / 10.0, sum( size, ad ), sd );
+    double sd = 0.0, ad[10]; // size
+    for ( i = low; i < High; i += 1 ) {
+	double d = i / (double)size;
+	sd += d;
+	ad[i] = d;
+    }
+    printf( "sum from %g to %g is %g, check %g\n",
+	    low / (double)size, High / (double)size, sum( size, ad ), sd );
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa sum.c" //
+// compile-command: "../../bin/cfa sum.c" //
 // End: //
Index: src/examples/swap.c
===================================================================
--- src/examples/swap.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/swap.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,37 +1,21 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// swap.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:34:47 2015
-// Update Count     : 1
-//
-
 extern "C" {
-	int printf( const char *, ... );
+    int printf( const char *, ... );
 }
 
 forall( type T )
 void swap( T *left, T *right ) {
-	T temp = *left;
-	*left = *right;
-	*right = temp;
+    T temp = *left;
+    *left = *right;
+    *right = temp;
 }
 
 int main() {
-	int x = 1, y = 2;
-	printf( "%d %d\n", x, y );
-	swap( &x, &y );
-	printf( "%d %d\n", x, y );
+    int x = 1, y = 2;
+    printf( "%d %d\n", x, y );
+    swap( &x, &y );
+    printf( "%d %d\n", x, y );
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa swap.c" //
+// compile-command: "../../bin/cfa swap.c" //
 // End: //
Index: src/examples/twice.c
===================================================================
--- src/examples/twice.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/twice.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,31 +1,15 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// twice.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:37:23 2015
-// Update Count     : 1
-//
-
 #include "fstream.h"
 
 forall( type T | { T ?+?( T, T ); T ?++( T * ); [T] ?+=?( T *, T ); } )
 T twice( const T t ) {
-	return t + t;
+    return t + t;
 }
 
 int main() {
-	ofstream *sout = ofstream_stdout();
-	sout << twice( 1 ) << ' ' << twice( 3.2 ) << '\n';
+    ofstream *sout = ofstream_stdout();
+    sout << twice( 1 ) << ' ' << twice( 3.2 ) << '\n';
 }
 
 // Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa twice.c fstream.o iostream.o" //
+// compile-command: "../../bin/cfa twice.c fstream.o iostream.o" //
 // End: //
Index: src/examples/vector_int.c
===================================================================
--- src/examples/vector_int.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/vector_int.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,16 +1,3 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// vector_int.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:38:05 2015
-// Update Count     : 3
-//
+// "cfa vector_int.c"
 
 #include "vector_int.h"
@@ -23,33 +10,33 @@
 
 vector_int vector_int_allocate() {
-	return vector_int_allocate( DEFAULT_CAPACITY );
+    return vector_int_allocate( DEFAULT_CAPACITY );
 }
 
 vector_int vector_int_allocate( int reserve ) {
-	vector_int new_vector;
-	new_vector.last = -1;
-	new_vector.capacity = reserve;
-	new_vector.data = malloc( sizeof( int ) * reserve );
-	return new_vector;
+    vector_int new_vector;
+    new_vector.last = -1;
+    new_vector.capacity = reserve;
+    new_vector.data = malloc( sizeof( int ) * reserve );
+    return new_vector;
 }
 
 void vector_int_deallocate( vector_int vec ) {
-	free( vec.data );
+    free( vec.data );
 }
 
 void reserve( vector_int *vec, int reserve ) {
-	if ( reserve > vec->capacity ) {
-		vec->data = realloc( vec->data, sizeof( int ) * reserve );
-		vec->capacity = reserve;
-	}
+    if ( reserve > vec->capacity ) {
+	vec->data = realloc( vec->data, sizeof( int ) * reserve );
+	vec->capacity = reserve;
+    }
 }
 
 void append( vector_int *vec, int element ) {
-	vec->last++;
-	if ( vec->last == vec->capacity ) {
-		vec->capacity *= 2;
-		vec->data = realloc( vec->data, sizeof( int ) * vec->capacity );
-	}
-	vec->data[ vec->last ] = element;
+    vec->last++;
+    if ( vec->last == vec->capacity ) {
+	vec->capacity *= 2;
+	vec->data = realloc( vec->data, sizeof( int ) * vec->capacity );
+    }
+    vec->data[ vec->last ] = element;
 }
 
@@ -57,14 +44,9 @@
 
 lvalue int ?[?]( vector_int vec, int index ) {
-	return vec.data[ index ];
+    return vec.data[ index ];
 }
 
 int last( vector_int vec ) {
-	return vec.last;
+    return vec.last;
 }
 
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa vector_int.c" //
-// End: //
Index: src/examples/vector_int.h
===================================================================
--- src/examples/vector_int.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/vector_int.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// vector_int.h -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:39:05 2015
-// Update Count     : 2
-//
-
 #ifndef VECTOR_INT_H
 #define VECTOR_INT_H
@@ -20,25 +5,20 @@
 
 typedef struct vector_int {
-	int last;											// last used index
-	int capacity;										// last possible index before reallocation
-	int *data;											// array
+    int last;						// last used index
+    int capacity;					// last possible index before reallocation
+    int *data;						// array
 } vector_int;
 
-vector_int vector_int_allocate();						// allocate vector with default capacity
-vector_int vector_int_allocate( int reserve );			// allocate vector with specified capacity
-void vector_int_deallocate( vector_int );				// deallocate vector's storage
+vector_int vector_int_allocate();			// allocate vector with default capacity
+vector_int vector_int_allocate( int reserve );		// allocate vector with specified capacity
+void vector_int_deallocate( vector_int );		// deallocate vector's storage
 
-void reserve( vector_int *vec, int reserve );			// reserve more capacity
-void append( vector_int *vec, int element );			// add element to end of vector, resizing as necessary
+void reserve( vector_int *vec, int reserve );		// reserve more capacity
+void append( vector_int *vec, int element );		// add element to end of vector, resizing as necessary
 
 // implement bounded_array
 
-lvalue int ?[?]( vector_int vec, int index );			// access to arbitrary element (does not resize)
-int last( vector_int vec );								// return last element
+lvalue int ?[?]( vector_int vec, int index );		// access to arbitrary element (does not resize)
+int last( vector_int vec );				// return last element
 
 #endif // VECTOR_INT_H
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa vector_int.c" //
-// End: //
Index: src/examples/vector_test.c
===================================================================
--- src/examples/vector_test.c	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/examples/vector_test.c	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,17 +1,2 @@
-//
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-//
-// vector_test.c -- 
-//
-// Author           : Richard C. Bilson
-// Created On       : Wed May 27 17:56:53 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed May 27 18:42:55 2015
-// Update Count     : 2
-//
-
 #include "fstream.h"
 #include "vector_int.h"
@@ -20,37 +5,32 @@
 
 int main() {
-	ofstream *sout = ofstream_stdout();
-	ifstream *sin = ifstream_stdin();
-	vector_int vec = vector_int_allocate();
+    ofstream *sout = ofstream_stdout();
+    ifstream *sin = ifstream_stdin();
+    vector_int vec = vector_int_allocate();
 
-	// read in numbers until EOF or error
-	int num;
+    // read in numbers until EOF or error
+    int num;
 
-	sout << "enter N elements and C-d on a separate line:\n";
-	for ( ;; ) {
+    sout << "enter N elements and C-d on a separate line:\n";
+    for ( ;; ) {
 	sin >> &num;
-	  if ( fail( sin ) || eof( sin ) ) break;
+      if ( fail( sin ) || eof( sin ) ) break;
 	append( &vec, num );
-	}
-	// write out the numbers
+    }
+    // write out the numbers
 
-	sout << "Array elements:\n";
-//	write_all( begin( vec ), end( vec ), sout );
-//	sout << "\n";
-	for ( int index = 0; index <= last( vec ); index += 1 ) {
+    sout << "Array elements:\n";
+//    write_all( begin( vec ), end( vec ), sout );
+//    sout << "\n";
+    for ( int index = 0; index <= last( vec ); index += 1 ) {
 	sout << vec[ index ] << " ";
-	}
-	sout << "\n";
+    }
+    sout << "\n";
 #if 1
-	sout << "Array elements reversed:\n";
-	write_reverse( begin( vec ), end( vec ), sout );
-	sout << "\n";
+    sout << "Array elements reversed:\n";
+    write_reverse( begin( vec ), end( vec ), sout );
+    sout << "\n";
 #endif
 }
 
 // ../bin/cfa vector_test.c fstream.o iostream.o vector_int.o iterator.o array.o
-
-// Local Variables: //
-// tab-width: 4 //
-// compile-command: "cfa vector_test.c fstream.o iostream.o vector_int.o iterator.o array.o" //
-// End: //
