Shorten the array syntax
This commit is contained in:
@ -205,20 +205,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 transpile_array_type;
|
||||
@ -285,10 +283,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