Index: src/SynTree/AggregateDecl.cc
===================================================================
--- src/SynTree/AggregateDecl.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/AggregateDecl.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Sun May 17 23:56:39 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 08:12:49 2015
-// Update Count     : 6
+// Last Modified On : Tue May 19 16:52:08 2015
+// Update Count     : 5
 //
 
@@ -19,5 +19,5 @@
 
 
-AggregateDecl::AggregateDecl( const std::string &name ) : Parent( name, DeclarationNode::NoStorageClass, LinkageSpec::Cforall ) {
+AggregateDecl::AggregateDecl( const std::string &name ) : Parent( name, Declaration::NoStorageClass, LinkageSpec::Cforall ) {
 }
 
Index: src/SynTree/ArrayType.cc
===================================================================
--- src/SynTree/ArrayType.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/ArrayType.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun  6 14:11:48 2015
-// Update Count     : 9
+// Last Modified On : Mon May 18 07:52:08 2015
+// Update Count     : 2
 //
 
@@ -25,6 +25,6 @@
 
 ArrayType::ArrayType( const ArrayType &other )
-		: Type( other ), base( maybeClone( other.base ) ), dimension( maybeClone( other.dimension ) ),
-		  isVarLen( other.isVarLen ), isStatic( other.isStatic ) {
+	: Type( other ), base( maybeClone( other.base ) ), dimension( maybeClone( other.dimension ) ),
+	  isVarLen( other.isVarLen ), isStatic( other.isStatic ) {
 }
 
@@ -43,4 +43,5 @@
 	} else if ( dimension ) {
 		os << "array of ";
+		dimension->print( os, indent );
 	} else {
 		os << "open array of ";
@@ -48,8 +49,4 @@
 	if ( base ) {
 		base->print( os, indent );
-	} // if
-	if ( dimension ) {
-		os << "with dimension of ";
-		dimension->print( os, indent );
 	} // if
 }
Index: src/SynTree/BasicType.cc
===================================================================
--- src/SynTree/BasicType.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/BasicType.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Jun  7 08:44:36 2015
-// Update Count     : 5
+// Last Modified On : Mon May 18 07:55:16 2015
+// Update Count     : 1
 //
 
Index: src/SynTree/CompoundStmt.cc
===================================================================
--- src/SynTree/CompoundStmt.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/CompoundStmt.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun 23 11:37:49 2015
-// Update Count     : 3
+// Last Modified On : Mon May 18 08:11:02 2015
+// Update Count     : 1
 //
 
@@ -33,7 +33,7 @@
 }
 
-void CompoundStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "CompoundStmt" << endl ;
-	printAll( kids, os, indent + 2 );
+void CompoundStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string(indent, ' ') << "CompoundStmt" << endl ;
+	printAll( kids, os, indent+2 );
 }
 
Index: src/SynTree/Constant.cc
===================================================================
--- src/SynTree/Constant.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Constant.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Wed Jun 10 14:41:03 2015
-// Update Count     : 8
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Mon May 18 08:13:25 2015
+// Update Count     : 1
 //
 
@@ -20,5 +20,5 @@
 #include "Type.h"
 
-Constant::Constant( Type *type_, std::string value_ ) : type( type_ ), value( value_ ) {}
+Constant::Constant( Type *_type, std::string _value ) : type(_type), value(_value) {}
 
 Constant::~Constant() {}
@@ -27,10 +27,10 @@
 
 void Constant::print( std::ostream &os ) const {
-	os << "(" << value;
+	os << value;
 	if ( type ) {
-		os << ": ";
+		os << " (type: ";
 		type->print( os );
+		os << ")";
 	} // if
-  os << ")";
 }
 
Index: src/SynTree/DeclStmt.cc
===================================================================
--- src/SynTree/DeclStmt.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/DeclStmt.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun 23 11:38:15 2015
-// Update Count     : 4
+// Last Modified On : Mon May 18 08:16:03 2015
+// Update Count     : 2
 //
 
@@ -28,8 +28,9 @@
 }
 
-void DeclStmt::print( std::ostream &os, int indent ) const {
-	assert( decl != 0 );
+void DeclStmt::print( std::ostream &os, int indent ) {
 	os << "Declaration of ";
-	decl->print( os, indent );
+	if ( decl ) {
+		decl->print( os, indent );
+	} // if
 }
 
Index: src/SynTree/Declaration.cc
===================================================================
--- src/SynTree/Declaration.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Declaration.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 08:07:20 2015
-// Update Count     : 9
+// Last Modified On : Mon May 18 08:18:35 2015
+// Update Count     : 2
 //
 
@@ -22,14 +22,16 @@
 #include "utility.h"
 
+const char* Declaration::storageClassName[] = { "", "auto", "static", "extern", "register" };  
+
 static UniqueId lastUniqueId = 0;
 typedef std::map< UniqueId, Declaration* > IdMapType;
 static IdMapType idMap;
 
-Declaration::Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage )
-		: name( name ), storageClass( sc ), linkage( linkage ), uniqueId( 0 ) {
+Declaration::Declaration( const std::string &name, StorageClass sc, LinkageSpec::Type linkage )
+	: name( name ), storageClass( sc ), linkage( linkage ), uniqueId( 0 ) {
 }
 
 Declaration::Declaration( const Declaration &other )
-		: name( other.name ), storageClass( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) {
+	: name( other.name ), storageClass( other.storageClass ), linkage( other.linkage ), uniqueId( other.uniqueId ) {
 }
 
@@ -42,9 +44,15 @@
 }
 
+/* static class method */
 Declaration *Declaration::declFromId( UniqueId id ) {
 	IdMapType::const_iterator i = idMap.find( id );
-	return i != idMap.end() ? i->second : 0;
+	if ( i != idMap.end() ) {
+		return i->second;
+	} else {
+		return 0;
+	} // if
 }
 
+/* static class method */
 void Declaration::dumpIds( std::ostream &os ) {
 	for ( IdMapType::const_iterator i = idMap.begin(); i != idMap.end(); ++i ) {
Index: src/SynTree/Declaration.h
===================================================================
--- src/SynTree/Declaration.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Declaration.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 09:10:31 2015
-// Update Count     : 25
+// Last Modified On : Mon May 18 08:46:25 2015
+// Update Count     : 2
 //
 
@@ -21,16 +21,25 @@
 #include "Mutator.h"
 #include "Parser/LinkageSpec.h"
-#include "Parser/ParseNode.h"
 
 class Declaration {
   public:
-	Declaration( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage );
+	enum StorageClass {  
+		NoStorageClass,
+		Extern,
+		Static,
+		Auto,
+		Register,
+		Inline,
+		Fortran,
+	};	
+
+	Declaration( const std::string &name, StorageClass sc, LinkageSpec::Type linkage );
 	Declaration( const Declaration &other );
 	virtual ~Declaration();
 
-	const std::string &get_name() const { return name; }
+	std::string get_name() const { return name; }
 	void set_name( std::string newValue ) { name = newValue; }
-	DeclarationNode::StorageClass get_storageClass() const { return storageClass; }
-	void set_storageClass( DeclarationNode::StorageClass newValue ) { storageClass = newValue; }
+	StorageClass get_storageClass() const { return storageClass; }
+	void set_storageClass( StorageClass newValue ) { storageClass = newValue; }
 	LinkageSpec::Type get_linkage() const { return linkage; }
 	void set_linkage( LinkageSpec::Type newValue ) { linkage = newValue; }
@@ -44,9 +53,11 @@
 	virtual void printShort( std::ostream &os, int indent = 0 ) const = 0;
 
+	static const char* storageClassName[];  
+
 	static void dumpIds( std::ostream &os );
 	static Declaration *declFromId( UniqueId id );
   private:
 	std::string name;
-	DeclarationNode::StorageClass storageClass;
+	StorageClass storageClass;
 	LinkageSpec::Type linkage;
 	UniqueId uniqueId;
@@ -55,5 +66,5 @@
 class DeclarationWithType : public Declaration {
   public:
-	DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage );
+	DeclarationWithType( const std::string &name, StorageClass sc, LinkageSpec::Type linkage );
 	DeclarationWithType( const DeclarationWithType &other );
 	virtual ~DeclarationWithType();
@@ -75,5 +86,5 @@
 	typedef DeclarationWithType Parent;
   public:
-	ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init );
+	ObjectDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init );
 	ObjectDecl( const ObjectDecl &other );
 	virtual ~ObjectDecl();
@@ -101,5 +112,5 @@
 	typedef DeclarationWithType Parent;
   public:
-	FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline, bool isNoreturn );
+	FunctionDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline );
 	FunctionDecl( const FunctionDecl &other );
 	virtual ~FunctionDecl();
@@ -112,6 +123,6 @@
 	CompoundStmt *get_statements() const { return statements; }
 	void set_statements( CompoundStmt *newValue ) { statements = newValue; }
-	bool get_isInline() const { return isInline; }
-	bool get_isNoreturn() const { return isNoreturn; }
+//    bool get_isInline() const { return isInline; }
+//    void set_isInline( bool newValue ) { isInline = newValue; }
 	std::list< std::string >& get_oldIdents() { return oldIdents; }
 	std::list< Declaration* >& get_oldDecls() { return oldDecls; }
@@ -125,5 +136,5 @@
 	FunctionType *type;
 	CompoundStmt *statements;
-	bool isInline, isNoreturn;
+	bool isInline;
 	std::list< std::string > oldIdents;
 	std::list< Declaration* > oldDecls;
@@ -133,5 +144,5 @@
 	typedef Declaration Parent;
   public:
-	NamedTypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type );
+	NamedTypeDecl( const std::string &name, StorageClass sc, Type *type );
 	NamedTypeDecl( const TypeDecl &other );
 	virtual ~NamedTypeDecl();
@@ -158,5 +169,5 @@
 	enum Kind { Any, Dtype, Ftype };
 
-	TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind );
+	TypeDecl( const std::string &name, StorageClass sc, Type *type, Kind kind );
 	TypeDecl( const TypeDecl &other );
 
@@ -174,5 +185,5 @@
 	typedef NamedTypeDecl Parent;
   public:
-	TypedefDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type ) : Parent( name, sc, type ) {}
+	TypedefDecl( const std::string &name, StorageClass sc, Type *type ) : Parent( name, sc, type ) {}
 	TypedefDecl( const TypedefDecl &other ) : Parent( other ) {}
 
Index: src/SynTree/DeclarationWithType.cc
===================================================================
--- src/SynTree/DeclarationWithType.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/DeclarationWithType.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 08:08:07 2015
-// Update Count     : 3
+// Last Modified On : Mon May 18 08:20:23 2015
+// Update Count     : 2
 //
 
@@ -18,5 +18,5 @@
 #include "utility.h"
 
-DeclarationWithType::DeclarationWithType( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage )
+DeclarationWithType::DeclarationWithType( const std::string &name, StorageClass sc, LinkageSpec::Type linkage )
 		: Declaration( name, sc, linkage ) {
 }
Index: src/SynTree/Expression.cc
===================================================================
--- src/SynTree/Expression.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Expression.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Jun  7 08:40:46 2015
-// Update Count     : 16
+// Last Modified On : Mon May 18 08:27:07 2015
+// Update Count     : 2
 //
 
@@ -50,12 +50,12 @@
 }
 
-void Expression::print( std::ostream &os, int indent ) const {
+void Expression::print(std::ostream &os, int indent) const {
 	if ( env ) {
-		os << std::string( indent, ' ' ) << "with environment:" << std::endl;
+		os << std::string(indent, ' ') << "with environment:" << std::endl;
 		env->print( os, indent+2 );
 	} // if
 
 	if ( argName ) {
-		os << std::string( indent, ' ' ) << "with designator:";
+		os << std::string(indent, ' ') << "with designator:";
 		argName->print( os, indent+2 );
 	} // if
@@ -72,6 +72,7 @@
 
 void ConstantExpr::print( std::ostream &os, int indent ) const {
-	os << "constant expression " ;
-	constant.print( os );
+	os << std::string(indent, ' ') << "Constant Expression: " ;
+	constant.print(os);
+	os << std::endl;
 	Expression::print( os, indent );
 }
@@ -92,5 +93,5 @@
 
 void VariableExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Variable Expression: ";
+	os << std::string(indent, ' ') << "Variable Expression: ";
 
 	Declaration *decl = get_var();
@@ -121,5 +122,5 @@
 
 void SizeofExpr::print( std::ostream &os, int indent) const {
-	os << std::string( indent, ' ' ) << "Sizeof Expression on: ";
+	os << std::string(indent, ' ') << "Sizeof Expression on: ";
 
 	if (isType)
@@ -151,5 +152,5 @@
 
 void AttrExpr::print( std::ostream &os, int indent) const {
-	os << std::string( indent, ' ' ) << "Attr ";
+	os << std::string(indent, ' ') << "Attr ";
 	attr->print( os, indent + 2 );
 	if ( isType || expr ) {
@@ -183,9 +184,9 @@
 
 void CastExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Cast of:" << std::endl;
+	os << std::string(indent, ' ') << "Cast of:" << std::endl;
 	arg->print(os, indent+2);
-	os << std::endl << std::string( indent, ' ' ) << "to:" << std::endl;
+	os << std::endl << std::string(indent, ' ') << "to:" << std::endl;
 	if ( results.empty() ) {
-		os << std::string( indent+2, ' ' ) << "nothing" << std::endl;
+		os << std::string(indent+2, ' ') << "nothing" << std::endl;
 	} else {
 		printAll(results, os, indent+2);
@@ -206,8 +207,8 @@
 
 void UntypedMemberExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Member Expression, with field: " << get_member();
+	os << std::string(indent, ' ') << "Member Expression, with field: " << get_member();
 
 	Expression *agg = get_aggregate();
-	os << std::string( indent, ' ' ) << "from aggregate: ";
+	os << std::string(indent, ' ') << "from aggregate: ";
 	if (agg != 0) agg->print(os, indent + 2);
 	Expression::print( os, indent );
@@ -233,13 +234,13 @@
 
 void MemberExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Member Expression, with field: " << std::endl;
+	os << std::string(indent, ' ') << "Member Expression, with field: " << std::endl;
 
 	assert( member );
-	os << std::string( indent + 2, ' ' );
+	os << std::string(indent + 2, ' ');
 	member->print( os, indent + 2 );
 	os << std::endl;
 
 	Expression *agg = get_aggregate();
-	os << std::string( indent, ' ' ) << "from aggregate: " << std::endl;
+	os << std::string(indent, ' ') << "from aggregate: " << std::endl;
 	if (agg != 0) agg->print(os, indent + 2);
 	Expression::print( os, indent );
@@ -260,7 +261,7 @@
 
 void UntypedExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Applying untyped: " << std::endl;
+	os << std::string(indent, ' ') << "Applying untyped: " << std::endl;
 	function->print(os, indent + 4);
-	os << std::string( indent, ' ' ) << "...to: " << std::endl;
+	os << "\r" << std::string(indent, ' ') << "...to: " << std::endl;
 	printArgs(os, indent + 4);
 	Expression::print( os, indent );
@@ -281,5 +282,5 @@
 
 void NameExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Name: " << get_name() << std::endl;
+	os << std::string(indent, ' ') << "Name: " << get_name() << std::endl;
 	Expression::print( os, indent );
 }
@@ -300,5 +301,5 @@
 
 void LogicalExpr::print( std::ostream &os, int indent )const {
-	os << std::string( indent, ' ' ) << "Short-circuited operation (" << (isAnd?"and":"or") << ") on: ";
+	os << std::string(indent, ' ') << "Short-circuited operation (" << (isAnd?"and":"or") << ") on: ";
 	arg1->print(os);
 	os << " and ";
@@ -322,9 +323,9 @@
 
 void ConditionalExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Conditional expression on: " << std::endl;
+	os << std::string(indent, ' ') << "Conditional expression on: " << std::endl;
 	arg1->print( os, indent+2 );
-	os << std::string( indent, ' ' ) << "First alternative:" << std::endl;
+	os << std::string(indent, ' ') << "First alternative:" << std::endl;
 	arg2->print( os, indent+2 );
-	os << std::string( indent, ' ' ) << "Second alternative:" << std::endl;
+	os << std::string(indent, ' ') << "Second alternative:" << std::endl;
 	arg3->print( os, indent+2 );
 	os << std::endl;
@@ -333,5 +334,5 @@
 
 void UntypedValofExpr::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << "Valof Expression: " << std::endl;
+	os << std::string(indent, ' ') << "Valof Expression: " << std::endl;
 	if ( get_body() != 0 )
 		get_body()->print( os, indent + 2 );
Index: src/SynTree/Expression.h
===================================================================
--- src/SynTree/Expression.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Expression.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Jun  7 22:03:44 2015
-// Update Count     : 4
+// Last Modified On : Mon May 18 08:46:15 2015
+// Update Count     : 3
 //
 
@@ -125,5 +125,5 @@
 	virtual ~NameExpr();
 
-	const std::string &get_name() const { return name; }
+	std::string get_name() const { return name; }
 	void set_name( std::string newValue ) { name = newValue; }
 
Index: src/SynTree/FunctionDecl.cc
===================================================================
--- src/SynTree/FunctionDecl.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/FunctionDecl.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 09:10:32 2015
-// Update Count     : 16
+// Last Modified On : Thu May 21 21:31:16 2015
+// Update Count     : 11
 //
 
@@ -21,6 +21,6 @@
 #include "utility.h"
 
-FunctionDecl::FunctionDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline, bool isNoreturn )
-		: Parent( name, sc, linkage ), type( type ), statements( statements ), isInline( isInline ), isNoreturn( isNoreturn ) {
+FunctionDecl::FunctionDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, FunctionType *type, CompoundStmt *statements, bool isInline )
+		: Parent( name, sc, linkage ), type( type ), statements( statements ), isInline( isInline ) {
 	// this is a brazen hack to force the function "main" to have C linkage
 	if ( name == "main" ) {
@@ -30,5 +30,5 @@
 
 FunctionDecl::FunctionDecl( const FunctionDecl &other )
-	: Parent( other ), type( maybeClone( other.type ) ), statements( maybeClone( other.statements ) ), isInline( other.isInline ), isNoreturn( other.isNoreturn ) {
+		: Parent( other ), type( maybeClone( other.type ) ), statements( maybeClone( other.statements ) ), isInline( other.isInline ) {
 }
 
@@ -52,5 +52,5 @@
 	
 	if ( get_name() != "" ) {
-		os << get_name() << ": ";
+		os << get_name() << ": a ";
 	} // if
 	if ( get_linkage() != LinkageSpec::Cforall ) {
@@ -60,9 +60,6 @@
 		os << "inline ";
 	} // if
-	if ( isNoreturn ) {
-		os << "_Noreturn ";
-	} // if
-	if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
-		os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
+	if ( get_storageClass() != NoStorageClass ) {
+		os << storageClassName[ get_storageClass() ] << ' ';
 	} // if
 	if ( get_type() ) {
@@ -73,17 +70,17 @@
 
 	if ( ! oldIdents.empty() ) {
-		os << string( indent + 2, ' ' ) << "with parameter names" << endl;
+		os << string( indent+2, ' ' ) << "with parameter names" << endl;
 		for ( std::list< std::string >::const_iterator i = oldIdents.begin(); i != oldIdents.end(); ++i ) {
-			os << string( indent + 4, ' ' ) << *i << endl;
+			os << string( indent+4, ' ' ) << *i << endl;
 		} // for
 	} // if
 
 	if ( ! oldDecls.empty() ) {
-		os << string( indent + 2, ' ' ) << "with parameter declarations" << endl;
-		printAll( oldDecls, os, indent + 4 );
+		os << string( indent+2, ' ' ) << "with parameter declarations" << endl;
+		printAll( oldDecls, os, indent+4 );
 	} // if
 	if ( statements ) {
-		os << string( indent + 2, ' ' ) << "with body " << endl;
-		statements->print( os, indent + 4 );
+		os << string( indent+2, ' ' ) << "with body " << endl;
+		statements->print( os, indent+4 );
 	} // if
 }
@@ -94,14 +91,11 @@
 	
 	if ( get_name() != "" ) {
-		os << get_name() << ": ";
+		os << get_name() << ": a ";
 	} // if
 	if ( isInline ) {
 		os << "inline ";
 	} // if
-	if ( isNoreturn ) {
-		os << "_Noreturn ";
-	} // if
-	if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
-		os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
+	if ( get_storageClass() != NoStorageClass ) {
+		os << storageClassName[ get_storageClass() ] << ' ';
 	} // if
 	if ( get_type() ) {
Index: src/SynTree/Mutator.h
===================================================================
--- src/SynTree/Mutator.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Mutator.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Rob Schluntz
-// Last Modified On : Fri May 29 16:34:08 2015
-// Update Count     : 4
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Mon May 18 10:12:28 2015
+// Update Count     : 3
 //
 #include <cassert>
@@ -104,4 +104,5 @@
 		assert( newnode );
 		return newnode;
+///	    return tree->acceptMutator( mutator );
 	} else {
 		return 0;
Index: src/SynTree/NamedTypeDecl.cc
===================================================================
--- src/SynTree/NamedTypeDecl.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/NamedTypeDecl.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 08:13:55 2015
-// Update Count     : 3
+// Last Modified On : Mon May 18 10:13:19 2015
+// Update Count     : 1
 //
 
@@ -18,5 +18,5 @@
 #include "utility.h"
 
-NamedTypeDecl::NamedTypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *base )
+NamedTypeDecl::NamedTypeDecl( const std::string &name, StorageClass sc, Type *base )
 	: Parent( name, sc, LinkageSpec::Cforall ), base( base ) {}
 
@@ -37,8 +37,8 @@
 	
 	if ( get_name() != "" ) {
-		os << get_name() << ": ";
+		os << get_name() << ": a ";
 	} // if
-	if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
-		os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
+	if ( get_storageClass() != NoStorageClass ) {
+		os << storageClassName[ get_storageClass() ] << ' ';
 	} // if
 	os << typeString();
@@ -61,8 +61,8 @@
 	
 	if ( get_name() != "" ) {
-		os << get_name() << ": ";
+		os << get_name() << ": a ";
 	} // if
-	if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
-		os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
+	if ( get_storageClass() != NoStorageClass ) {
+		os << storageClassName[ get_storageClass() ] << ' ';
 	} // if
 	os << typeString();
Index: src/SynTree/ObjectDecl.cc
===================================================================
--- src/SynTree/ObjectDecl.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/ObjectDecl.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 08:10:16 2015
-// Update Count     : 15
+// Last Modified On : Mon May 18 10:14:18 2015
+// Update Count     : 2
 //
 
@@ -20,5 +20,5 @@
 #include "utility.h"
 
-ObjectDecl::ObjectDecl( const std::string &name, DeclarationNode::StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init )
+ObjectDecl::ObjectDecl( const std::string &name, StorageClass sc, LinkageSpec::Type linkage, Expression *bitfieldWidth, Type *type, Initializer *init )
 	: Parent( name, sc, linkage ), type( type ), init( init ), bitfieldWidth( bitfieldWidth ) {
 }
@@ -36,5 +36,5 @@
 void ObjectDecl::print( std::ostream &os, int indent ) const {
 	if ( get_name() != "" ) {
-		os << get_name() << ": ";
+		os << get_name() << ": a ";
 	} // if
 
@@ -43,6 +43,6 @@
 	} // if
 
-	if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
-		os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
+	if ( get_storageClass() != NoStorageClass ) {
+		os << storageClassName[ get_storageClass() ] << ' ';
 	} // if
 
@@ -65,15 +65,10 @@
 
 void ObjectDecl::printShort( std::ostream &os, int indent ) const {
-#if 0
-	if ( get_mangleName() != "") {
-		os << get_mangleName() << ": "; 
-	} else 
-#endif
 	if ( get_name() != "" ) {
-		os << get_name() << ": ";
+		os << get_name() << ": a ";
 	} // if
 
-	if ( get_storageClass() != DeclarationNode::NoStorageClass ) {
-		os << DeclarationNode::storageName[ get_storageClass() ] << ' ';
+	if ( get_storageClass() != NoStorageClass ) {
+		os << storageClassName[ get_storageClass() ] << ' ';
 	} // if
 
Index: src/SynTree/ReferenceToType.cc
===================================================================
--- src/SynTree/ReferenceToType.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/ReferenceToType.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Jun  7 08:31:48 2015
-// Update Count     : 4
+// Last Modified On : Tue May 19 16:52:40 2015
+// Update Count     : 3
 //
 
@@ -101,5 +101,5 @@
 	
 	Type::print( os, indent );
-	os << "instance of " << typeString() << " " << get_name() << " (" << ( isFtype ? "" : "not" ) << " function type) ";
+	os << "instance of " << typeString() << " " << get_name() << " (" << ( isFtype ? "" : "not" ) << " a function type) ";
 	if ( ! parameters.empty() ) {
 		os << endl << std::string( indent, ' ' ) << "with parameters" << endl;
Index: src/SynTree/Statement.cc
===================================================================
--- src/SynTree/Statement.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Statement.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun 23 11:42:09 2015
-// Update Count     : 21
+// Last Modified On : Mon May 18 10:55:19 2015
+// Update Count     : 2
 //
 
@@ -30,5 +30,5 @@
 Statement::Statement( std::list<Label> _labels ) : labels(_labels ) {}
 
-void Statement::print( std::ostream &, int indent ) const {}
+void Statement::print( std::ostream &, int indent ) {}
 
 Statement::~Statement() {}
@@ -38,6 +38,6 @@
 ExprStmt::~ExprStmt() {}
 
-void ExprStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Expression Statement:" << endl;
+void ExprStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string(indent, ' ') << "Expression Statement:" << endl;
 	expr->print( os, indent + 2 );
 } 
@@ -46,5 +46,5 @@
 
 BranchStmt::BranchStmt( std::list<Label> labels, Label _target, Type _type ) throw ( SemanticError ) :
-	Statement( labels ), originalTarget(_target ), target(_target ), type(_type ) {
+	Statement( labels ), target(_target ), type(_type ) {
 	//actually this is a syntactic error signaled by the parser
 	if ( type == BranchStmt::Goto && target.size() == 0 )
@@ -58,6 +58,6 @@
 }
 
-void BranchStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Branch (" << brType[type] << ")" << endl ;
+void BranchStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Branch (" << brType[type] << ")" << endl ;
 }
 
@@ -68,6 +68,6 @@
 }
 
-void ReturnStmt::print( std::ostream &os, int indent ) const {
-	os << std::string( indent, ' ' ) << string ( isThrow? "Throw":"Return" ) << " Statement, returning: ";
+void ReturnStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << std::string( indent, ' ') << string ( isThrow? "Throw":"Return" ) << " Statement, returning: ";
 	if ( expr != 0 ) expr->print( os );
 	os << endl;
@@ -79,9 +79,9 @@
 IfStmt::~IfStmt() {}
 
-void IfStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "If on condition: " << endl ;
+void IfStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "If on condition: " << endl ;
 	condition->print( os, indent + 4 );
 
-	os << string( indent, ' ' ) << ".... and branches: " << endl;
+	os << string( indent, ' ') << ".... and branches: " << endl;
 
 	thenPart->print( os, indent + 4 );
@@ -103,13 +103,13 @@
 void SwitchStmt::add_case( CaseStmt *c ) {}
 
-void SwitchStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Switch on condition: ";
+void SwitchStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Switch on condition: ";
 	condition->print( os );
 	os << endl;
 
 	// branches
-	std::list<Statement *>::const_iterator i;
+	std::list<Statement *>::iterator i;
 	for ( i = branches.begin(); i != branches.end(); i++)
-		(*i)->print( os, indent + 4 );
+		(*i )->print( os, indent + 4 );
 
 	//for_each( branches.begin(), branches.end(), mem_fun( bind1st(&Statement::print ), os ));
@@ -126,12 +126,8 @@
 }
 
-CaseStmt * CaseStmt::makeDefault( std::list<Label> labels, std::list<Statement *> branches ) {
-	return new CaseStmt( labels, 0, branches, true );
-}
-
-void CaseStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' );
-
-	if ( isDefault() )
+void CaseStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ');
+
+	if ( isDefault())
 		os << "Default ";
 	else {
@@ -142,5 +138,5 @@
 	os << endl;
 
-	std::list<Statement *>::const_iterator i;
+	std::list<Statement *>::iterator i;
 	for ( i = stmts.begin(); i != stmts.end(); i++)
 		(*i )->print( os, indent + 4 );
@@ -158,11 +154,11 @@
 void ChooseStmt::add_case( CaseStmt *c ) {}
 
-void ChooseStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Choose on condition: ";
+void ChooseStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Choose on condition: ";
 	condition->print( os );
 	os << endl;
 
 	// branches
-	std::list<Statement *>::const_iterator i;
+	std::list<Statement *>::iterator i;
 	for ( i = branches.begin(); i != branches.end(); i++)
 		(*i )->print( os, indent + 4 );
@@ -171,6 +167,6 @@
 }
 
-void FallthruStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Fall-through statement" << endl;
+void FallthruStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Fall-through statement" << endl;
 }
 
@@ -183,9 +179,9 @@
 }
 
-void WhileStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "While on condition: " << endl ;
+void WhileStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "While on condition: " << endl ;
 	condition->print( os, indent + 4 );
 
-	os << string( indent, ' ' ) << ".... with body: " << endl;
+	os << string( indent, ' ') << ".... with body: " << endl;
 
 	if ( body != 0 ) body->print( os, indent + 4 );
@@ -203,26 +199,20 @@
 }
 
-void ForStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Labels: {";
-	for ( std::list<Label>::const_iterator it = get_labels().begin(); it != get_labels().end(); ++it) {
-		os << *it << ",";
-	}
-	os << "}" << endl;
-
-	os << string( indent, ' ' ) << "For Statement" << endl ;
-
-	os << string( indent + 2, ' ' ) << "initialization: \n"; 
+void ForStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "For Statement" << endl ;
+
+	os << "\r" << string( indent + 2, ' ') << "initialization: \n"; 
 	if ( initialization != 0 )
 		initialization->print( os, indent + 4 );
 
-	os << "\n" << string( indent + 2, ' ' ) << "condition: \n"; 
+	os << "\n\r" << string( indent + 2, ' ') << "condition: \n"; 
 	if ( condition != 0 )
 		condition->print( os, indent + 4 );
 
-	os << "\n" << string( indent + 2, ' ' ) << "increment: \n"; 
+	os << "\n\r" << string( indent + 2, ' ') << "increment: \n"; 
 	if ( increment != 0 )
 		increment->print( os, indent + 4 );
 
-	os << "\n" << string( indent + 2, ' ' ) << "statement block: \n"; 
+	os << "\n\r" << string( indent + 2, ' ') << "statement block: \n"; 
 	if ( body != 0 )
 		body->print( os, indent + 4 );
@@ -245,17 +235,18 @@
 }
 
-void TryStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Try Statement" << endl;
-	os << string( indent + 2, ' ' ) << "with block: " << endl;
+void TryStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Try Statement" << endl;
+	os << string( indent + 2, ' ') << "with block: " << endl;
 	block->print( os, indent + 4 );
 
 	// handlers
-	os << string( indent + 2, ' ' ) << "and handlers: " << endl;
-	for ( std::list<Statement *>::const_iterator i = handlers.begin(); i != handlers.end(); i++)
+	os << string( indent + 2, ' ') << "and handlers: " << endl;
+	std::list<Statement *>::iterator i;
+	for ( i = handlers.begin(); i != handlers.end(); i++)
 		(*i )->print( os, indent + 4 );
 
 	// finally block
 	if ( finallyBlock != 0 ) {
-		os << string( indent + 2, ' ' ) << "Finally block: " << endl;
+		os << string( indent + 2, ' ') << "Finally block: " << endl;
 		finallyBlock->print( os, indent + 4 );
 	} // if
@@ -271,15 +262,15 @@
 }
 
-void CatchStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Catch Statement" << endl;
-
-	os << string( indent, ' ' ) << "... catching" << endl;
+void CatchStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Catch Statement" << endl;
+
+	os << "\r" << string( indent, ' ') << "... catching" << endl;
 	if ( decl ) {
 		decl->printShort( os, indent + 4 );
 		os << endl;
 	} else if ( catchRest )
-		os << string( indent + 4 , ' ' ) << "the rest" << endl;
+		os << "\r" << string( indent + 4 , ' ') << "the rest" << endl;
 	else
-		os << string( indent + 4 , ' ' ) << ">>> Error:  this catch clause must have a declaration <<<" << endl;
+		os << "\r" << string( indent + 4 , ' ') << ">>> Error:  this catch clause must have a declaration <<<" << endl;
 }
 
@@ -293,7 +284,7 @@
 }
 
-void FinallyStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Finally Statement" << endl;
-	os << string( indent + 2, ' ' ) << "with block: " << endl;
+void FinallyStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Finally Statement" << endl;
+	os << string( indent + 2, ' ') << "with block: " << endl;
 	block->print( os, indent + 4 );
 }
@@ -303,6 +294,6 @@
 NullStmt::~NullStmt() {}
 
-void NullStmt::print( std::ostream &os, int indent ) const {
-	os << string( indent, ' ' ) << "Null Statement" << endl ;
+void NullStmt::print( std::ostream &os, int indent ) {
+	os << "\r" << string( indent, ' ') << "Null Statement" << endl ;
 }
 
Index: src/SynTree/Statement.h
===================================================================
--- src/SynTree/Statement.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Statement.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jun 23 11:44:27 2015
-// Update Count     : 20
+// Last Modified On : Mon May 18 10:57:40 2015
+// Update Count     : 2
 //
 
@@ -28,10 +28,9 @@
 
 	std::list<Label> & get_labels() { return labels; }
-	const std::list<Label> & get_labels() const { return labels; }
 
 	virtual Statement *clone() const = 0;
 	virtual void accept( Visitor &v ) = 0;
 	virtual Statement *acceptMutator( Mutator &m ) = 0;
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   protected:
 	std::list<Label> labels;
@@ -49,5 +48,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual CompoundStmt *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	std::list<Statement*> kids;
@@ -65,5 +64,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Expression *expr;
@@ -85,5 +84,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Expression *condition;
@@ -107,5 +106,5 @@
 
 	virtual SwitchStmt *clone() const { return new SwitchStmt( *this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Expression * condition;
@@ -128,5 +127,5 @@
 
 	virtual ChooseStmt *clone() const { return new ChooseStmt( *this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Expression *condition;
@@ -142,5 +141,5 @@
 
 	virtual FallthruStmt *clone() const { return new FallthruStmt( *this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
 };
 
@@ -151,8 +150,5 @@
 	virtual ~CaseStmt();
 
-	static CaseStmt * makeDefault( std::list<Label> labels = std::list<Label>(),
-		std::list<Statement *> stmts = std::list<Statement *>() );
-
-	bool isDefault() const { return _isDefault; }
+	bool isDefault() { return _isDefault; }
 	void set_default(bool b) { _isDefault = b; }
 
@@ -167,5 +163,5 @@
 
 	virtual CaseStmt *clone() const { return new CaseStmt( *this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Expression * condition;
@@ -190,5 +186,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Expression *condition;
@@ -215,5 +211,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Statement *initialization;
@@ -225,5 +221,5 @@
 class BranchStmt : public Statement {
   public:
-	enum Type { Goto = 0, Break, Continue };
+	enum Type { Goto = 0 , Break, Continue };
 
 	BranchStmt( std::list<Label> labels, Label target, Type ) throw (SemanticError);
@@ -231,5 +227,4 @@
 	virtual ~BranchStmt() {}
 
-	Label get_originalTarget() { return originalTarget; }
 	Label get_target() { return target; }
 	void set_target( Label newValue ) { target = newValue; }
@@ -244,8 +239,7 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	static const char *brType[];
-	Label originalTarget;  // can give better error messages if we remember the label name that the user entered
 	Label target;
 	Expression *computedTarget;
@@ -264,5 +258,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Expression *expr;
@@ -280,5 +274,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual NullStmt *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
 	
   private:
@@ -301,5 +295,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
 	
   private:
@@ -323,5 +317,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
 	
   private:
@@ -342,5 +336,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	CompoundStmt *block;
@@ -361,5 +355,5 @@
 	virtual void accept( Visitor &v ) { v.visit( this ); }
 	virtual Statement *acceptMutator( Mutator &m ) { return m.mutate( this ); }
-	virtual void print( std::ostream &os, int indent = 0 ) const;
+	virtual void print( std::ostream &os, int indent = 0 );
   private:
 	Declaration *decl;
Index: src/SynTree/Type.h
===================================================================
--- src/SynTree/Type.h	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/Type.h	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jun 26 16:47:54 2015
-// Update Count     : 13
+// Last Modified On : Mon May 18 11:01:40 2015
+// Update Count     : 1
 //
 
@@ -57,5 +57,5 @@
 	bool get_isAttribute() { return tq.isAttribute; }
 	void set_isConst( bool newValue ) { tq.isConst = newValue; }
-	void set_isVolatile( bool newValue ) { tq.isVolatile = newValue; }
+	void set_iisVolatile( bool newValue ) { tq.isVolatile = newValue; }
 	void set_isRestrict( bool newValue ) { tq.isRestrict = newValue; }
 	void set_isLvalue( bool newValue ) { tq.isLvalue = newValue; }
@@ -110,5 +110,5 @@
 	};  
 
-	static const char *typeNames[];						// string names for basic types, MUST MATCH with Kind
+	static const char *typeNames[];			// string names for basic types, MUST MATCH with Kind
 
 	BasicType( const Type::Qualifiers &tq, Kind bt );
@@ -214,5 +214,5 @@
 	virtual ~ReferenceToType();
 
-	const std::string &get_name() const { return name; }
+	std::string get_name() const { return name; }
 	void set_name( std::string newValue ) { name = newValue; }
 	std::list< Expression* >& get_parameters() { return parameters; }
@@ -372,5 +372,5 @@
 	virtual ~AttrType();
 
-	const std::string &get_name() const { return name; }
+	std::string get_name() const { return name; }
 	void set_name( const std::string &newValue ) { name = newValue; }
 	Expression *get_expr() const { return expr; }
Index: src/SynTree/TypeDecl.cc
===================================================================
--- src/SynTree/TypeDecl.cc	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/TypeDecl.cc	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jun 13 08:14:35 2015
-// Update Count     : 2
+// Last Modified On : Mon May 18 11:02:11 2015
+// Update Count     : 1
 //
 
@@ -18,5 +18,5 @@
 #include "utility.h"
 
-TypeDecl::TypeDecl( const std::string &name, DeclarationNode::StorageClass sc, Type *type, Kind kind ) : Parent( name, sc, type ), kind( kind ) {
+TypeDecl::TypeDecl( const std::string &name, StorageClass sc, Type *type, Kind kind ) : Parent( name, sc, type ), kind( kind ) {
 }
 
Index: src/SynTree/module.mk
===================================================================
--- src/SynTree/module.mk	(revision 721f17ac6221a75230b4b1228917e6a163b53ff6)
+++ src/SynTree/module.mk	(revision 09d789c493c816483fb88c49a900967b7addbd2c)
@@ -1,18 +1,2 @@
-######################### -*- 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.
-##
-## module.mk -- 
-##
-## Author           : Richard C. Bilson
-## Created On       : Mon Jun  1 17:49:17 2015
-## Last Modified By : Peter A. Buhr
-## Last Modified On : Mon Jun  1 17:54:09 2015
-## Update Count     : 1
-###############################################################################
-
 SRC += SynTree/Type.cc \
        SynTree/VoidType.cc \
@@ -46,4 +30,5 @@
        SynTree/Mutator.cc \
        SynTree/CodeGenVisitor.cc \
-       SynTree/TypeSubstitution.cc
+       SynTree/TypeSubstitution.cc \
+	$(NULL)
 
