Index: src/Common/CodeLocation.h
===================================================================
--- src/Common/CodeLocation.h	(revision 7ee1e2f680889bd1007bad91d7b36d00880e948d)
+++ src/Common/CodeLocation.h	(revision b128d3e4ba865ad1a58f26770aa954b69ba89769)
@@ -9,7 +9,7 @@
 // Author           : Andrew Beach
 // Created On       : Thr Aug 17 11:23:00 2017
-// Last Modified By : Andrew Beach
-// Last Modified On : Thr Aug 17 14:07:00 2017
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Mon Aug 28 12:46:01 2017
+// Update Count     : 2
 //
 
@@ -66,5 +66,6 @@
 
 inline std::string to_string( const CodeLocation& location ) {
-    return location.isSet() ? location.filename + ":" + std::to_string(location.linenumber) + " " : "";
+    // Column number ":1" allows IDEs to parse the error message and position the cursor in the source text.
+    return location.isSet() ? location.filename + ":" + std::to_string(location.linenumber) + ":1 " : "";
 }
 
Index: src/InitTweak/InitTweak.cc
===================================================================
--- src/InitTweak/InitTweak.cc	(revision 7ee1e2f680889bd1007bad91d7b36d00880e948d)
+++ src/InitTweak/InitTweak.cc	(revision b128d3e4ba865ad1a58f26770aa954b69ba89769)
@@ -325,5 +325,5 @@
 			std::string name = getFunctionName( expr );
 			assertf( name == "*?", "Unexpected untyped expression: %s", name.c_str() );
-			assertf( ! expr->get_args().empty(), "Can't get called function from dereference with no arguments" );
+			assertf( ! expr->get_args().empty(), "Cannot get called function from dereference with no arguments" );
 			return getCalledFunction( expr->get_args().front() );
 		}
@@ -433,5 +433,5 @@
 			std::string name = getFunctionName( expr );
 			assertf( name == "*?", "Unexpected untyped expression: %s", name.c_str() );
-			assertf( ! expr->get_args().empty(), "Can't get function name from dereference with no arguments" );
+			assertf( ! expr->get_args().empty(), "Cannot get function name from dereference with no arguments" );
 			return funcName( expr->get_args().front() );
 		}
Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision 7ee1e2f680889bd1007bad91d7b36d00880e948d)
+++ src/Parser/parser.yy	(revision b128d3e4ba865ad1a58f26770aa954b69ba89769)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep  1 20:22:55 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Aug 26 17:50:19 2017
-// Update Count     : 2712
+// Last Modified On : Mon Aug 28 13:24:10 2017
+// Update Count     : 2720
 //
 
@@ -3136,9 +3136,8 @@
 
 void yyerror( const char * ) {
-	cout << "Error ";
 	if ( yyfilename ) {
-		cout << "in file " << yyfilename << " ";
+		cout << yyfilename << ":";
 	} // if
-	cout << "at line " << yylineno << " reading token \"" << (yytext[0] == '\0' ? "EOF" : yytext) << "\"" << endl;
+	cout << yylineno << ":1 syntax error at token \"" << (yytext[0] == '\0' ? "EOF" : yytext) << "\"" << endl;
 }
 
Index: src/ResolvExpr/AlternativeFinder.cc
===================================================================
--- src/ResolvExpr/AlternativeFinder.cc	(revision 7ee1e2f680889bd1007bad91d7b36d00880e948d)
+++ src/ResolvExpr/AlternativeFinder.cc	(revision b128d3e4ba865ad1a58f26770aa954b69ba89769)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Sat May 16 23:52:08 2015
-// Last Modified By : Andrew Beach
-// Last Modified On : Wed Jul 26 11:33:00 2017
-// Update Count     : 31
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Mon Aug 28 13:47:24 2017
+// Update Count     : 32
 //
 
@@ -195,5 +195,5 @@
 				AltList winners;
 				findMinCost( alternatives.begin(), alternatives.end(), back_inserter( winners ) );
-				stream << "Can't choose between " << winners.size() << " alternatives for expression ";
+				stream << "Cannot choose between " << winners.size() << " alternatives for expression ";
 				expr->print( stream );
 				stream << "Alternatives are:";
Index: src/SymTab/Validate.cc
===================================================================
--- src/SymTab/Validate.cc	(revision 7ee1e2f680889bd1007bad91d7b36d00880e948d)
+++ src/SymTab/Validate.cc	(revision b128d3e4ba865ad1a58f26770aa954b69ba89769)
@@ -9,7 +9,7 @@
 // Author           : Richard C. Bilson
 // Created On       : Sun May 17 21:50:04 2015
-// Last Modified By : Andrew Beach
-// Last Modified On : Tus Aug  8 13:27:00 2017
-// Update Count     : 358
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Mon Aug 28 13:47:23 2017
+// Update Count     : 359
 //
 
@@ -664,5 +664,5 @@
 		} else {
 			TypeDeclMap::const_iterator base = typedeclNames.find( typeInst->get_name() );
-			assertf( base != typedeclNames.end(), "Can't find typedecl name %s", typeInst->get_name().c_str() );
+			assertf( base != typedeclNames.end(), "Cannot find typedecl name %s", typeInst->get_name().c_str() );
 			typeInst->set_baseType( base->second );
 		} // if
