[Lazarus] WriteLn back to the GUI
listmember at letterboxes.org
Sat Oct 26 18:12:25 CEST 2013
On 2013-10-26 15:19, Sven Barth wrote:
> And of course additional tests can be added and maybe we'll also need
> to mark some tests as "parses, but fails to compile" (e.g. to test
> linker errors, semantic errors or whatever).
> Additionally one could try to make fcl-passrc a fragmentary parser so
> that it could be used for an IDE like Lazarus as well (code
> depublication) or for a Pascal script engine (I know there are already
> DWScript and PascalScript).
One of my main hope is to come up with a fast enough code formatter with
the options that I need.
Reason is, I am self-destructively (time and/or productivity-wise)
pedantic about the way code is formatted. And, I sometimes find myself
manually formatting stuff irrespective of how large the units are.
The other one is removal of 'with'. I find it one of the worst blocks
imepeding refactoring. I have also been to known to spend days removing
'with's from units (e.g VirtualTrees.pas). And, even though I did write
a special utility just to help me with that, I still managed to
introduce subtle bugs that I cannot get rid of for the life of me.
To do it right, I need a parser thats smart enough to identify which
variable/property/etc. belong to which object (in the case of derived
objects, it needs to be able to go all the way back to TObject, if
necessary) and rewrite the relevant portion of code.
I have started looking at fcl-passrc and it looks usable so far. But, I
need to reformat it all :) And, then get it to work under D7.
Actually, I did get it to compile under D7 but that does not, of course,
mean I have digested any of it yet.
If I may go back to the topic of 'compiler as dll' and use you as a
sounding board for a moment:
What I had in mind was that the dll would have no access to disk/storage
It would, instead, request and receive any unit it needs through streams
--similarly, it would also output its binary through the same mechanism
back to the owner application.
This would keep any changes from the user: I.e. the main application (as
far as the user is concerned) would be the same compiler executable in
This would open up other uses, such as (with a suitably produced main
application) remote development.
I think this would be especially useful for platforms that have limited
storage; or conversely, the when the compiler's platform is stronger
(more memory, faster cpu etc.) than the one the developer is using
(laptop, tablet etc.)
Personally, I would love something mostly because I like (I am a lot
more accustomed to) Windows better than other platforms for all sorts of
things, and Lazarus appears to be more solid on Windows. Plus, I find
using stuff like VNC or even RDP to be confusing to track where the
cursonr/keyboard actioans will apply.
But, of course, if this were possible for Windows, it would also be
possible for other platforms that Lazarus (or other IDEs) can be run.
Do you think this would be as useful as I am portraying it to be?
Or, if so, can it be done with reasonable effort --for someone better
than I, I presume.
More information about the Lazarus