Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision fd4df379a19cd8ddb365ec1ad548df3a82d4efc1)
+++ src/Parser/parser.yy	(revision 1bb017077f97c1ee52b5e23882e2b6f50fa44ba9)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep  1 20:22:55 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Jul 25 15:19:32 2024
-// Update Count     : 6730
+// Last Modified On : Fri Jul 26 14:09:30 2024
+// Update Count     : 6733
 //
 
@@ -1114,8 +1114,9 @@
 argument_expression:
 	'?'													// CFA, default parameter
-		{ SemanticError( yylloc, "Argument to default parameter is currently unimplemented." ); $$ = nullptr; }
-		// { $$ = new ExpressionNode( build_constantInteger( *new string( "2" ) ) ); }
+		// { SemanticError( yylloc, "Argument to default parameter is currently unimplemented." ); $$ = nullptr; }
+		{ $$ = new ExpressionNode( build_constantInteger( yylloc, *new string( "2" ) ) ); }
 	| '?' identifier '=' assignment_expression			// CFA, keyword argument
-		{ SemanticError( yylloc, "keyword argument is currently unimplemented." ); $$ = nullptr; }
+		// { SemanticError( yylloc, "keyword argument is currently unimplemented." ); $$ = nullptr; }
+		{ $$ = $4; }
 	| assignment_expression
 	;
@@ -3547,5 +3548,6 @@
 		{ $$ = DeclarationNode::newName( $1 ); }
 	| '?' identifier
-		{ SemanticError( yylloc, "keyword parameter is currently unimplemented." ); $$ = nullptr; }
+		// { SemanticError( yylloc, "keyword parameter is currently unimplemented." ); $$ = nullptr; }
+		{ $$ = DeclarationNode::newName( $2 ); }
 	| '(' paren_identifier ')'							// redundant parenthesis
 		{ $$ = $2; }
