On Sat, 12 Oct 2019, Ryan Joseph wrote:

More tests with the parser but it seems like it doesn’t know quite a bit of 
syntax. Are these not implemented yet?

1) class operators for records

EParserError: Expected "procedure" at token "operator" in file 
/Users/ryanjoseph/Developer/Projects/FPC/GLCanvas/GLCanvas.pas at line 115 column 7

class operator TVertex3.= (constref a, b: TVertex3): boolean;
begin
 result := (@a = @b);
end;

This can be.


2)  For..in loops

EParserError: Expected := or in at token "(" in file 
/Users/ryanjoseph/Developer/Projects/FPC/NewEngine/Sources/Examples/EmptyWindow.pas at 
line 138 column 14


For in loops should be supported, but I've never seen this before:

 for pointer(entity) in entities do

What is for pointer(entity) in entities  supposed to do ?

It can be that this syntax is not supported (no surprise, since I don't have
a clue what this is supposed to do).


   begin
     entity.Update;
     entity.Draw(renderer);
     renderer.PushBox(entity.GetHitBox, TRGBA.RedColor);
   end;

3) {$i settings} will not find the file “settings.inc”. This is valid in FPC 
but the parser seems to have other rules.

They should be the same.

As said, pas2js uses fcl-passrc, and pas2js handles inifiles just as FPC
does.

You must provide valid include path and file resolvers, of course.

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to