diff --git a/src/language/PEGGrammar.hpp b/src/language/PEGGrammar.hpp
index f45d46ccb84be654f7d131b40c5fa461fd52f32b..6ab533b41e236c6f3e9d1db90ba4e31020d902da 100644
--- a/src/language/PEGGrammar.hpp
+++ b/src/language/PEGGrammar.hpp
@@ -131,7 +131,8 @@ struct close_parent : seq< one< ')' >, ignored > {};
 struct expression;
 struct parented_expression : if_must< open_parent, expression, close_parent > {};
 
-struct function_evaluation : seq< NAME, parented_expression > {};
+struct expression_list;
+struct function_evaluation : seq< NAME, sor<  expression_list, parented_expression > > {};
 
 struct primary_expression : sor< BOOL, REAL, INTEGER, LITERAL, function_evaluation, NAME, parented_expression > {};
 
@@ -208,7 +209,7 @@ struct type_expression : list_must< TYPESPECIFIER, one< '*' > >{};
 struct type_mapping : seq< type_expression, RIGHT_ARROW, type_expression >{};
 
 struct name_list : seq< open_parent, list_must< NAME, COMMA >, close_parent >{};
-struct expression_list : seq< open_parent, list_must< expression, COMMA >, close_parent >{};
+struct expression_list : seq< open_parent, expression, plus< if_must< COMMA, expression > >, close_parent >{};
 
 struct function_definition : seq< sor< name_list, NAME >, RIGHT_ARROW, sor< expression_list, expression > >{};