Index: src/Parser/StatementNode.cpp
===================================================================
--- src/Parser/StatementNode.cpp	(revision fca78f10fcf2198f57e0f9e7ea3fe351ee91befa)
+++ src/Parser/StatementNode.cpp	(revision 738a9b4179be373eea343a62621378d38b2b53c8)
@@ -11,6 +11,6 @@
 // Created On       : Sat May 16 14:59:41 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Sep  9 21:49:15 2024
-// Update Count     : 431
+// Last Modified On : Mon Sep 23 22:50:35 2024
+// Update Count     : 432
 //
 
@@ -105,6 +105,6 @@
 } // ClauseNode::append_last_case
 
-ast::Stmt * build_expr( CodeLocation const & location, ExpressionNode * ctl ) {
-	if ( ast::Expr * e = maybeMoveBuild( ctl ) ) {
+ast::Stmt * build_expr( CodeLocation const & location, ExpressionNode * ctrl ) {
+	if ( ast::Expr * e = maybeMoveBuild( ctrl ) ) {
 		return new ast::ExprStmt( location, e );
 	} else {
@@ -113,14 +113,14 @@
 } // build_expr
 
-static ast::Expr * build_if_control( CondCtl * ctl,
+static ast::Expr * build_if_control( CondCtrl * ctrl,
 		std::vector<ast::ptr<ast::Stmt>> & inits ) {
 	assert( inits.empty() );
-	if ( nullptr != ctl->init ) {
-		buildMoveList( ctl->init, inits );
+	if ( nullptr != ctrl->init ) {
+		buildMoveList( ctrl->init, inits );
 	} // if
 
 	ast::Expr * cond = nullptr;
-	if ( ctl->condition ) {
-		cond = maybeMoveBuild( ctl->condition );
+	if ( ctrl->condition ) {
+		cond = maybeMoveBuild( ctrl->condition );
 	} else {
 		for ( ast::ptr<ast::Stmt> & stmt : inits ) {
@@ -132,11 +132,11 @@
 		}
 	}
-	delete ctl;
+	delete ctrl;
 	return cond;
 } // build_if_control
 
-ast::Stmt * build_if( const CodeLocation & location, CondCtl * ctl, StatementNode * then, StatementNode * else_ ) {
-	std::vector<ast::ptr<ast::Stmt>> astinit;						// maybe empty
-	ast::Expr * astcond = build_if_control( ctl, astinit ); // ctl deleted, cond/init set
+ast::Stmt * build_if( const CodeLocation & location, CondCtrl * ctrl, StatementNode * then, StatementNode * else_ ) {
+	std::vector<ast::ptr<ast::Stmt>> astinit;			// maybe empty
+	ast::Expr * astcond = build_if_control( ctrl, astinit ); // ctrl deleted, cond/init set
 
 	ast::Stmt const * astthen = buildMoveSingle( then );
@@ -148,5 +148,5 @@
 } // build_if
 
-ast::Stmt * build_switch( const CodeLocation & location, bool isSwitch, ExpressionNode * ctl, ClauseNode * stmt ) {
+ast::Stmt * build_switch( const CodeLocation & location, bool isSwitch, ExpressionNode * ctrl, ClauseNode * stmt ) {
 	std::vector<ast::ptr<ast::CaseClause>> aststmt;
 	buildMoveList( stmt, aststmt );
@@ -169,10 +169,10 @@
 	// aststmt.size() == 0 for switch (...) {}, i.e., no declaration or statements
 	return new ast::SwitchStmt( location,
-		maybeMoveBuild( ctl ), std::move( aststmt ) );
+		maybeMoveBuild( ctrl ), std::move( aststmt ) );
 } // build_switch
 
-ast::CaseClause * build_case( const CodeLocation & location, ExpressionNode * ctl ) {
+ast::CaseClause * build_case( const CodeLocation & location, ExpressionNode * ctrl ) {
 	// stmt starts empty and then added to
-	auto expr = maybeMoveBuild( ctl );
+	auto expr = maybeMoveBuild( ctrl );
 	return new ast::CaseClause( location, expr, {} );
 } // build_case
@@ -183,7 +183,7 @@
 } // build_default
 
-ast::Stmt * build_while( const CodeLocation & location, CondCtl * ctl, StatementNode * stmt, StatementNode * else_ ) {
+ast::Stmt * build_while( const CodeLocation & location, CondCtrl * ctrl, StatementNode * stmt, StatementNode * else_ ) {
 	std::vector<ast::ptr<ast::Stmt>> astinit;			// maybe empty
-	ast::Expr * astcond = build_if_control( ctl, astinit ); // ctl deleted, cond/init set
+	ast::Expr * astcond = build_if_control( ctrl, astinit ); // ctrl deleted, cond/init set
 
 	return new ast::WhileDoStmt( location,
@@ -196,8 +196,8 @@
 } // build_while
 
-ast::Stmt * build_do_while( const CodeLocation & location, ExpressionNode * ctl, StatementNode * stmt, StatementNode * else_ ) {
+ast::Stmt * build_do_while( const CodeLocation & location, ExpressionNode * ctrl, StatementNode * stmt, StatementNode * else_ ) {
 	// do-while cannot have declarations in the contitional, so init is always empty
 	return new ast::WhileDoStmt( location,
-		maybeMoveBuild( ctl ),
+		maybeMoveBuild( ctrl ),
 		buildMoveSingle( stmt ),
 		buildMoveOptional( else_ ),
@@ -207,13 +207,13 @@
 } // build_do_while
 
-ast::Stmt * build_for( const CodeLocation & location, ForCtrl * forctl, StatementNode * stmt, StatementNode * else_ ) {
+ast::Stmt * build_for( const CodeLocation & location, ForCtrl * forctrl, StatementNode * stmt, StatementNode * else_ ) {
 	std::vector<ast::ptr<ast::Stmt>> astinit;			// maybe empty
-	buildMoveList( forctl->init, astinit );
-
-	if ( forctl->range_over ) {
-		ast::Expr * range_over = maybeMoveBuild( forctl->range_over );
-		bool isIncreasing = forctl->kind == OperKinds::LEThan;
+	buildMoveList( forctrl->init, astinit );
+
+	if ( forctrl->range_over ) {
+		ast::Expr * range_over = maybeMoveBuild( forctrl->range_over );
+		bool isIncreasing = forctrl->kind == OperKinds::LEThan;
 		// Copy all the data needed before the delete.
-		delete forctl;
+		delete forctrl;
 		return new ast::ForeachStmt( location,
 			std::move( astinit ),
@@ -226,9 +226,9 @@
 
 	ast::Expr * astcond = nullptr;						// maybe empty
-	astcond = maybeMoveBuild( forctl->condition );
+	astcond = maybeMoveBuild( forctrl->condition );
 
 	ast::Expr * astincr = nullptr;						// maybe empty
-	astincr = maybeMoveBuild( forctl->change );
-	delete forctl;
+	astincr = maybeMoveBuild( forctrl->change );
+	delete forctrl;
 
 	return new ast::ForStmt( location,
@@ -257,12 +257,12 @@
 } // build_branch
 
-ast::Stmt * build_computedgoto( ExpressionNode * ctl ) {
-	ast::Expr * expr = maybeMoveBuild( ctl );
+ast::Stmt * build_computedgoto( ExpressionNode * ctrl ) {
+	ast::Expr * expr = maybeMoveBuild( ctrl );
 	return new ast::BranchStmt( expr->location, expr );
 } // build_computedgoto
 
-ast::Stmt * build_return( const CodeLocation & location, ExpressionNode * ctl ) {
+ast::Stmt * build_return( const CodeLocation & location, ExpressionNode * ctrl ) {
 	std::vector<ast::ptr<ast::Expr>> exps;
-	buildMoveList( ctl, exps );
+	buildMoveList( ctrl, exps );
 	return new ast::ReturnStmt( location,
 		exps.size() > 0 ? exps.back().release() : nullptr
@@ -272,8 +272,8 @@
 static ast::Stmt * build_throw_stmt(
 		const CodeLocation & location,
-		ExpressionNode * ctl,
+		ExpressionNode * ctrl,
 		ast::ExceptionKind kind ) {
 	std::vector<ast::ptr<ast::Expr>> exps;
-	buildMoveList( ctl, exps );
+	buildMoveList( ctrl, exps );
 	assertf( exps.size() < 2, "CFA internal error: leaking memory" );
 	return new ast::ThrowStmt( location,
@@ -284,14 +284,14 @@
 }
 
-ast::Stmt * build_throw( const CodeLocation & loc, ExpressionNode * ctl ) {
-	return build_throw_stmt( loc, ctl, ast::Terminate );
+ast::Stmt * build_throw( const CodeLocation & loc, ExpressionNode * ctrl ) {
+	return build_throw_stmt( loc, ctrl, ast::Terminate );
 } // build_throw
 
-ast::Stmt * build_resume( const CodeLocation & loc, ExpressionNode * ctl ) {
-	return build_throw_stmt( loc, ctl, ast::Resume );
+ast::Stmt * build_resume( const CodeLocation & loc, ExpressionNode * ctrl ) {
+	return build_throw_stmt( loc, ctrl, ast::Resume );
 } // build_resume
 
-ast::Stmt * build_resume_at( ExpressionNode * ctl, ExpressionNode * target ) {
-	(void)ctl;
+ast::Stmt * build_resume_at( ExpressionNode * ctrl, ExpressionNode * target ) {
+	(void)ctrl;
 	(void)target;
 	assertf( false, "resume at (non-local throw) is not yet supported," );
@@ -516,14 +516,14 @@
 } // build_corun
 
-ast::Stmt * build_cofor( const CodeLocation & location, ForCtrl * forctl, StatementNode * stmt ) {
+ast::Stmt * build_cofor( const CodeLocation & location, ForCtrl * forctrl, StatementNode * stmt ) {
 	std::vector<ast::ptr<ast::Stmt>> astinit;						// maybe empty
-	buildMoveList( forctl->init, astinit );
+	buildMoveList( forctrl->init, astinit );
 
 	ast::Expr * astcond = nullptr;						// maybe empty
-	astcond = maybeMoveBuild( forctl->condition );
+	astcond = maybeMoveBuild( forctrl->condition );
 
 	ast::Expr * astincr = nullptr;						// maybe empty
-	astincr = maybeMoveBuild( forctl->change );
-	delete forctl;
+	astincr = maybeMoveBuild( forctrl->change );
+	delete forctrl;
 
 	return new ast::CoforStmt( location,
Index: src/Parser/StatementNode.hpp
===================================================================
--- src/Parser/StatementNode.hpp	(revision fca78f10fcf2198f57e0f9e7ea3fe351ee91befa)
+++ src/Parser/StatementNode.hpp	(revision 738a9b4179be373eea343a62621378d38b2b53c8)
@@ -10,6 +10,6 @@
 // Created On       : Wed Apr  5 11:42:00 2023
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Aug 11 11:44:07 2023
-// Update Count     : 2
+// Last Modified On : Mon Sep 23 22:43:05 2024
+// Update Count     : 3
 //
 
@@ -51,8 +51,8 @@
 };
 
-ast::Stmt * build_expr( CodeLocation const &, ExpressionNode * ctl );
+ast::Stmt * build_expr( CodeLocation const &, ExpressionNode * ctrl );
 
-struct CondCtl {
-	CondCtl( DeclarationNode * decl, ExpressionNode * condition ) :
+struct CondCtrl {
+	CondCtrl( DeclarationNode * decl, ExpressionNode * condition ) :
 		init( decl ? new StatementNode( decl ) : nullptr ), condition( condition ) {}
 
@@ -65,5 +65,5 @@
 		init( stmt ), condition( condition ), change( change ), range_over( nullptr ) {}
 	ForCtrl( StatementNode * decl, ExpressionNode * range_over, OperKinds kind ) :
-		init( decl ), condition( nullptr ), change( nullptr ),  range_over( range_over ), kind( kind ) {}
+		init( decl ), condition( nullptr ), change( nullptr ), range_over( range_over ), kind( kind ) {}
 
 	StatementNode * init;
@@ -74,18 +74,18 @@
 };
 
-ast::Stmt * build_if( const CodeLocation &, CondCtl * ctl, StatementNode * then, StatementNode * else_ );
-ast::Stmt * build_switch( const CodeLocation &, bool isSwitch, ExpressionNode * ctl, ClauseNode * stmt );
-ast::CaseClause * build_case( const CodeLocation &, ExpressionNode * ctl );
+ast::Stmt * build_if( const CodeLocation &, CondCtrl * ctrl, StatementNode * then, StatementNode * else_ );
+ast::Stmt * build_switch( const CodeLocation &, bool isSwitch, ExpressionNode * ctrl, ClauseNode * stmt );
+ast::CaseClause * build_case( const CodeLocation &, ExpressionNode * ctrl );
 ast::CaseClause * build_default( const CodeLocation & );
-ast::Stmt * build_while( const CodeLocation &, CondCtl * ctl, StatementNode * stmt, StatementNode * else_ = nullptr );
-ast::Stmt * build_do_while( const CodeLocation &, ExpressionNode * ctl, StatementNode * stmt, StatementNode * else_ = nullptr );
-ast::Stmt * build_for( const CodeLocation &, ForCtrl * forctl, StatementNode * stmt, StatementNode * else_ = nullptr );
+ast::Stmt * build_while( const CodeLocation &, CondCtrl * ctrl, StatementNode * stmt, StatementNode * else_ = nullptr );
+ast::Stmt * build_do_while( const CodeLocation &, ExpressionNode * ctrl, StatementNode * stmt, StatementNode * else_ = nullptr );
+ast::Stmt * build_for( const CodeLocation &, ForCtrl * forctrl, StatementNode * stmt, StatementNode * else_ = nullptr );
 ast::Stmt * build_branch( const CodeLocation &, ast::BranchStmt::Kind kind );
 ast::Stmt * build_branch( const CodeLocation &, std::string * identifier, ast::BranchStmt::Kind kind );
-ast::Stmt * build_computedgoto( ExpressionNode * ctl );
-ast::Stmt * build_return( const CodeLocation &, ExpressionNode * ctl );
-ast::Stmt * build_throw( const CodeLocation &, ExpressionNode * ctl );
-ast::Stmt * build_resume( const CodeLocation &, ExpressionNode * ctl );
-ast::Stmt * build_resume_at( ExpressionNode * ctl , ExpressionNode * target );
+ast::Stmt * build_computedgoto( ExpressionNode * ctrl );
+ast::Stmt * build_return( const CodeLocation &, ExpressionNode * ctrl );
+ast::Stmt * build_throw( const CodeLocation &, ExpressionNode * ctrl );
+ast::Stmt * build_resume( const CodeLocation &, ExpressionNode * ctrl );
+ast::Stmt * build_resume_at( ExpressionNode * ctrl , ExpressionNode * target );
 ast::Stmt * build_try( const CodeLocation &, StatementNode * try_, ClauseNode * catch_, ClauseNode * finally_ );
 ast::CatchClause * build_catch( const CodeLocation &, ast::ExceptionKind kind, DeclarationNode * decl, ExpressionNode * cond, StatementNode * body );
@@ -105,3 +105,3 @@
 ast::Stmt * build_mutex( const CodeLocation &, ExpressionNode * exprs, StatementNode * stmt );
 ast::Stmt * build_corun( const CodeLocation &, StatementNode * stmt );
-ast::Stmt * build_cofor( const CodeLocation & location, ForCtrl * forctl, StatementNode * stmt );
+ast::Stmt * build_cofor( const CodeLocation & location, ForCtrl * forctrl, StatementNode * stmt );
Index: src/Parser/lex.ll
===================================================================
--- src/Parser/lex.ll	(revision fca78f10fcf2198f57e0f9e7ea3fe351ee91befa)
+++ src/Parser/lex.ll	(revision 738a9b4179be373eea343a62621378d38b2b53c8)
@@ -10,6 +10,6 @@
  * Created On       : Sat Sep 22 08:58:10 2001
  * Last Modified By : Peter A. Buhr
- * Last Modified On : Wed Sep 11 17:16:23 2024
- * Update Count     : 791
+ * Last Modified On : Mon Sep 23 22:45:33 2024
+ * Update Count     : 792
  */
 
@@ -49,5 +49,5 @@
 #include "ParseNode.hpp"
 #include "ParserTypes.hpp"                              // for Token
-#include "StatementNode.hpp"                            // for CondCtl, ForCtrl
+#include "StatementNode.hpp"                            // for CondCtrl, ForCtrl
 #include "TypedefTable.hpp"
 // This (generated) header must come late as it is missing includes.
