diff --git a/jortsc/parser/parser.py b/jortsc/parser/parser.py index 6143f14..47410a2 100644 --- a/jortsc/parser/parser.py +++ b/jortsc/parser/parser.py @@ -18,13 +18,14 @@ QUOTE: "\\"" identifier: WHITESPACE* ANY WHITESPACE* -single_comment: "//" ANY* NEWLINE +single_comment: SINGLE_COMMENT ANY* NEWLINE multi_comment: COM_START ANY* COM_END import_stmt: IMPORT identifier NEWLINE fn_arg: identifier identifier -fn_stmt: FN identifier? "(" [fn_arg COMMA] ")" [ARROW identifier] "{" [stmt NEWLINE]* "}" +parameters: fn_arg (COMMA fn_arg) +fn_stmt: FN identifier? "(" parameters? ")" [ARROW identifier] "{" NEWLINE? [stmt NEWLINE]* "}" sign_int: "+" | "-" string: QUOTE ANY* QUOTE @@ -32,9 +33,9 @@ value: (sign_int* INTEGER) | string call_stmt: [identifier DOT] identifier "(" [value COMMA]* ")" -stmt: (NEWLINE*) | import_stmt | fn_stmt | call_stmt +stmt: value | import_stmt | fn_stmt | call_stmt -start: (stmt NEWLINE)* +start: (NEWLINE | stmt)* """ def parse(string: str):