Shorten the array syntax
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user