Transpile type section
This commit is contained in:
@ -6,6 +6,7 @@ FROM SYSTEM IMPORT ADR;
|
||||
FROM Storage IMPORT DEALLOCATE, ALLOCATE;
|
||||
FROM Strings IMPORT Length;
|
||||
FROM MemUtils IMPORT MemZero;
|
||||
FROM StrCase IMPORT Lower;
|
||||
|
||||
CONST
|
||||
ChunkSize = 65536;
|
||||
@ -210,7 +211,7 @@ BEGIN
|
||||
Result := TRUE;
|
||||
|
||||
WHILE (Index < Length(Keyword)) AND (TokenStart <> TokenEnd) AND Result DO
|
||||
Result := Keyword[Index] = TokenStart^;
|
||||
Result := (Keyword[Index] = TokenStart^) OR (Lower(Keyword[Index]) = TokenStart^);
|
||||
INC(TokenStart);
|
||||
INC(Index)
|
||||
END;
|
||||
@ -344,6 +345,10 @@ BEGIN
|
||||
AToken^.Kind := lexerKindModule
|
||||
ELSIF CompareKeyword('IMPLEMENTATION', ALexer^.Start, ALexer^.Current) THEN
|
||||
AToken^.Kind := lexerKindImplementation
|
||||
ELSIF CompareKeyword('POINTER', ALexer^.Start, ALexer^.Current) THEN
|
||||
AToken^.Kind := lexerKindPointer
|
||||
ELSIF CompareKeyword('ARRAY', ALexer^.Start, ALexer^.Current) THEN
|
||||
AToken^.Kind := lexerKindArray
|
||||
ELSIF CompareKeyword('TRUE', ALexer^.Start, ALexer^.Current) THEN
|
||||
AToken^.Kind := lexerKindBoolean;
|
||||
AToken^.booleanKind := TRUE
|
||||
@ -685,7 +690,6 @@ VAR
|
||||
Result: LexerToken;
|
||||
BEGIN
|
||||
ALexer^.Current := ALexer^.Start;
|
||||
Result.Kind := lexerKindTrait;
|
||||
CurrentState := transitionStateStart;
|
||||
|
||||
WHILE CurrentState <> transitionStateEnd DO
|
||||
|
Reference in New Issue
Block a user