I agree, code browsing and completion is much better in Lazarus.
I'll stop on FCL-PasSrc, thanks for saving my time, guys.
One more thing,
there are AnsiString and String usages, like this
TPrimitiveExpr = class(TPasExpr)
Value : AnsiString;
constructor Create(AParent : TPasElement; AKind: TPasExprKind; const AValue : AnsiString); overload;
function GetDeclaration(full : Boolean) : String; override;
end;
I suppose AnsiStrings can be replaced with String (or at least aliased to TFPCString/TFPCAnsiString).