Index: src/CodeGen/CodeGenerator.cc
===================================================================
--- src/CodeGen/CodeGenerator.cc	(revision 4d2434a3b1b9692aecc5c41cc41df0d3c37fbefb)
+++ src/CodeGen/CodeGenerator.cc	(revision 73bf8cf2602dc17f80562a5cac0b8c71ae1bcd8a)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Mon May 18 07:44:20 2015
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jul 15 15:53:15 2016
-// Update Count     : 306
+// Last Modified By : 
+// Last Modified On : Sun Jul 31 08:42:18 2016
+// Update Count     : 345
 //
 
@@ -45,5 +45,5 @@
 	bool wantSpacing( Statement * stmt) {
 		return dynamic_cast< IfStmt * >( stmt ) || dynamic_cast< CompoundStmt * >( stmt ) ||
-			dynamic_cast< WhileStmt * >( stmt ) || dynamic_cast< ForStmt * > ( stmt ) || dynamic_cast< SwitchStmt *>( stmt );
+			dynamic_cast< WhileStmt * >( stmt ) || dynamic_cast< ForStmt * >( stmt ) || dynamic_cast< SwitchStmt *>( stmt );
 	}
 
@@ -83,5 +83,5 @@
 	}
 
-	CodeGenerator::CodeGenerator( std::ostream &os ) : indent( *this), cur_indent( 0 ), insideFunction( false ), output( os ), printLabels( *this ) { }
+	CodeGenerator::CodeGenerator( std::ostream &os ) : indent( *this), cur_indent( 0 ), insideFunction( false ), output( os ), printLabels( *this ) {}
 
 	CodeGenerator::CodeGenerator( std::ostream &os, std::string init, int indentation, bool infunp )
@@ -155,4 +155,5 @@
 			objectDecl->get_init()->accept( *this );
 		} // if
+
 		if ( objectDecl->get_bitfieldWidth() ) {
 			output << ":";
@@ -172,9 +173,9 @@
 
 			cur_indent += CodeGenerator::tabsize;
-			for ( std::list< Declaration* >::iterator i = memb.begin(); i != memb.end();  i++) {
+			for ( std::list< Declaration* >::iterator i = memb.begin(); i != memb.end(); i++ ) {
 				output << indent;
 				(*i)->accept( *this );
 				output << ";" << endl;
-			}
+			} // for
 
 			cur_indent -= CodeGenerator::tabsize;
@@ -257,6 +258,6 @@
 				(*iter)->accept( *this );
 				output << "]";
-			}
-		}
+			} // if
+		} // for
 		output << " = ";
 	}
@@ -317,5 +318,5 @@
 					// do nothing
 					;
-				}
+				} // switch
 
 				switch ( opInfo.type ) {
@@ -385,5 +386,5 @@
 					// there are no intrinsic definitions of 0/1 or label addresses as functions
 					assert( false );
-				}
+				} // switch
 			} else {
 				varExpr->accept( *this );
@@ -417,5 +418,4 @@
 				  case OT_CALL:
 					assert( false );
-
 
 				  case OT_CTOR:
@@ -437,5 +437,5 @@
 						// no constructors with 0 or more than 2 parameters
 						assert( false );
-					}
+					} // if
 					break;
 
@@ -470,10 +470,17 @@
 					// there are no intrinsic definitions of 0 or 1 as functions
 					assert( false );
-				}
+				} // switch
 			} else {
-				nameExpr->accept( *this );
-				output << "(";
-				genCommaList( untypedExpr->get_args().begin(), untypedExpr->get_args().end() );
-				output << ")";
+				if ( nameExpr->get_name() == "Range" ) { // case V1 ... V2 or case V1~V2
+					assert( untypedExpr->get_args().size() == 2 );
+					(*untypedExpr->get_args().begin())->accept( *this );
+					output << " ... ";
+					(*--untypedExpr->get_args().end())->accept( *this );
+				} else {								// builtin routines
+					nameExpr->accept( *this );
+					output << "(";
+					genCommaList( untypedExpr->get_args().begin(), untypedExpr->get_args().end() );
+					output << ")";
+				} // if
 			} // if
 		} else {
@@ -521,5 +528,5 @@
 			// otherwise, the cast is to an lvalue type, so the cast should be dropped, since the result of a cast is
 			// never an lvalue in C
-		}
+		} // if
 		castExpr->get_arg()->accept( *this );
 		output << ")";
@@ -654,5 +661,5 @@
 			if ( wantSpacing( *i ) ) {
 				output << endl;
-			}
+			} // if
 		}
 		cur_indent -= CodeGenerator::tabsize;
@@ -737,5 +744,5 @@
 			(*i)->accept( *this );
 			output << endl;
-		}
+		} // for
 		cur_indent -= CodeGenerator::tabsize;
 	}
@@ -759,5 +766,5 @@
 			output << "continue";
 			break;
-		}
+		} // switch
 		output << ";";
 	}
@@ -798,5 +805,5 @@
 		if ( forStmt->get_condition() != 0 ) {
 			forStmt->get_condition()->accept( *this );
-		}
+		} // if
 		output << ";";
 
@@ -805,5 +812,5 @@
 			Expression * expr = new CastExpr( forStmt->get_increment() );
 			expr->accept( *this );
-		}
+		} // if
 		output << ") ";
 
Index: src/CodeGen/CodeGenerator.h
===================================================================
--- src/CodeGen/CodeGenerator.h	(revision 4d2434a3b1b9692aecc5c41cc41df0d3c37fbefb)
+++ src/CodeGen/CodeGenerator.h	(revision 73bf8cf2602dc17f80562a5cac0b8c71ae1bcd8a)
@@ -10,6 +10,6 @@
 // Created On       : Mon May 18 07:44:20 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jul  4 17:12:40 2016
-// Update Count     : 34
+// Last Modified On : Sat Jul 30 11:10:42 2016
+// Update Count     : 37
 //
 
@@ -118,5 +118,5 @@
 		void handleAggregate( AggregateDecl *aggDecl );
 		void handleTypedef( NamedTypeDecl *namedType );
-	};
+	}; // CodeGenerator
 
 	template< class Iterator >
