RomanYankovsky / DelphiAST

Abstract syntax tree builder for Delphi
Mozilla Public License 2.0
271 stars 116 forks source link

{$I ..\file.inc} is not proceed correctly #306

Closed eugeneilyin closed 3 years ago

eugeneilyin commented 3 years ago

{$I ..\file.inc} produces an error {$I '..\file.inc'} includes file as expected

In order to include files with a relative path without quotes, the next fix suggested:

AST.Delphi.Parser.pas

Before fix:

begin
  while True do begin
    Result := TTokenID(Lexer.NextToken);
    if Result = token_closefigure then
      break;

    if Result = token_identifier then
      FileName := FileName + Lexer.OriginalToken
    else
      FileName := FileName + '.'; // tmp
  end;

After fix:

begin
  while True do begin
    Result := TTokenID(Lexer.NextToken);
    case Result of
      token_closefigure:
        Break;

      token_identifier:
        FileName := FileName + Lexer.OriginalToken;

      token_period:
        FileName := FileName + '..'; // tmp

      else
        FileName := FileName + '.'; // tmp
    end;
  end;