Shorten the array syntax

This commit is contained in:
2025-05-30 12:57:04 +02:00
parent bd41736697
commit 96bcfdcbb4
4 changed files with 304 additions and 304 deletions

View File

@ -215,20 +215,18 @@ var
WrittenBytes: CARDINAL;
begin
WriteString('ARRAY');
Token := transpiler_lex(ALexer);
Token := lexer_current(ALexer);
if Token.Kind <> lexerKindOf then
Write('[');
Token := transpiler_lex(ALexer);
WrittenBytes := WriteNBytes(StdOut, ADDRESS(ALexer^.Current - ALexer^.Start), ALexer^.Start);
Token := transpiler_lex(ALexer);
WriteString('..');
Token := transpiler_lex(ALexer);
WrittenBytes := WriteNBytes(StdOut, ADDRESS(ALexer^.Current - ALexer^.Start), ALexer^.Start);
Token := transpiler_lex(ALexer);
Write(']');
if Token.Kind = lexerKindArray then
Token := transpiler_lex(ALexer)
end;
if Token.Kind <> lexerKindOf then
WriteString('[1..');
Token := transpiler_lex(ALexer);
WrittenBytes := WriteNBytes(StdOut, ADDRESS(ALexer^.Current - ALexer^.Start), ALexer^.Start);
Token := transpiler_lex(ALexer);
Write(']')
end;
WriteString(' OF ');
transpile_type_expression(AContext, ALexer)
end;
@ -299,10 +297,10 @@ begin
if Token.Kind = lexerKindLeftParen then
transpile_enumeration_type(AContext, ALexer)
end;
if Token.Kind = lexerKindArray then
if (Token.Kind = lexerKindArray) OR (Token.Kind = lexerKindLeftSquare) then
transpile_array_type(AContext, ALexer)
end;
if (Token.Kind = lexerKindPointer) OR (Token.Kind = lexerKindHat) then
if Token.Kind = lexerKindHat then
transpile_pointer_type(AContext, ALexer)
end;
if Token.Kind = lexerKindProc then