From b09ddfcbbedce37910daa6a1488a6e16a1be7c69 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Wed, 27 May 2026 14:05:17 +0200 Subject: Remove need for trailing semicolons --- boot/stage21/cl.elna | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'boot/stage21') diff --git a/boot/stage21/cl.elna b/boot/stage21/cl.elna index d00c3b6..bd54ecd 100644 --- a/boot/stage21/cl.elna +++ b/boot/stage21/cl.elna @@ -3991,10 +3991,16 @@ begin result^.parameters := parameter_head; (* Skip semicolon or arrow. *) - token := elna_lexer_read(cursor); + token := elna_lexer_peek(cursor); if token^.kind = ElnaLexerKind.arrow then + elna_lexer_read(cursor); result^.return_type := elna_parser_type_expression(cursor); + token := elna_lexer_peek(cursor); + if token^.kind = ElnaLexerKind.semicolon then + elna_lexer_read(cursor) + end + elsif token^.kind = ElnaLexerKind.semicolon then elna_lexer_read(cursor) else result^.return_type := nil @@ -4270,8 +4276,10 @@ begin current_declaration := parser_node; (* Skip semicolon. *) - elna_lexer_read(cursor); - + token := elna_lexer_peek(cursor); + if token^.kind = ElnaLexerKind.semicolon then + elna_lexer_read(cursor) + end; goto elna_parser_procedures_loop end; return result @@ -4393,8 +4401,10 @@ begin elna_lexer_read(cursor); result^.type_expression := elna_parser_type_expression(cursor); - elna_lexer_read(cursor); - + token := elna_lexer_peek(cursor); + if token^.kind = ElnaLexerKind.semicolon then + elna_lexer_read(cursor); + end; return result end; @@ -4512,8 +4522,10 @@ begin variable_node := elna_parser_variable_declaration(cursor); (* Skip semicolon. *) - elna_lexer_read(cursor); - + token := elna_lexer_peek(cursor); + if token^.kind = ElnaLexerKind.semicolon then + elna_lexer_read(cursor) + end; if result = nil then result := variable_node else @@ -6032,4 +6044,4 @@ begin else exit(4) end -end; +end. -- cgit v1.2.3