Skip to content
Snippets Groups Projects
Commit 5bbfc08f authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Add the void keyword. It designate the empty set in functions.

parent 734299b6
No related branches found
No related tags found
1 merge request!164Fix function with tuple type in codomain
......@@ -72,6 +72,7 @@ struct B_set : TAO_PEGTL_KEYWORD("B"){};
struct N_set : TAO_PEGTL_KEYWORD("N"){};
struct Z_set : TAO_PEGTL_KEYWORD("Z"){};
struct R_set : TAO_PEGTL_KEYWORD("R"){};
struct empty_set : TAO_PEGTL_KEYWORD("void"){};
struct string_type : TAO_PEGTL_KEYWORD("string") {};
......@@ -90,6 +91,7 @@ struct tuple_type_specifier : sor<try_catch< open_parent, simple_type_specifier
if_must< at< open_parent >, raise< simple_type_specifier >, until< eof > > >{};
struct TYPE_SPECIFIER : seq< sor<simple_type_specifier, tuple_type_specifier>, ignored >{};
struct EMPTY_SET : seq<empty_set, ignored >{};
struct type_expression : list_must< TYPE_SPECIFIER, seq< ignored, one< '*' >, ignored > >{};
struct TYPE_EXPRESSION : seq< type_expression, ignored >{};
......@@ -262,7 +264,8 @@ struct name_list : seq< open_parent, list_must< NAME, COMMA >, close_parent >{};
struct function_definition : seq< sor< name_list, NAME >, RIGHT_ARROW, sor< expression_list, expression > >{};
struct fct_declaration : seq< LET, NAME, COLUMN, type_mapping, COMMA, function_definition >{};
struct fct_declaration : sor< seq< LET, NAME, COLUMN, type_mapping, COMMA, function_definition >,
seq< LET, EMPTY_SET, COLUMN, type_mapping, COMMA, EMPTY_SET, RIGHT_ARROW, sor< expression_list, expression > >>{};
struct open_brace : seq< one< '{' >, ignored >{};
struct close_brace : seq< one< '}' >, ignored >{};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment