[Oberon] [EXT] Porting S3 / V4 Oberon (was: File transfer)
skulski at pas.rochester.edu
Sun Jan 3 17:35:07 CET 2021
Andreas and Peter:
after I submit my grant application due in a couple days, I will write a document on porting. Every project needs a plan... Some cleanup progress can be achieved "by eye". This can also be helpful perhaps.
One good way, which is probably not going to happen (who would do it?) is adding warnings to the OP2 compiler under V4. Let's face it that V4 is a very mature and efficient development environment. It makes backups easy because it lives under Windows. There is no need for git or any other SVN because one can just accumulate the revisions in a separate directory. I do it all the time (using a convention file_name_Jan_02_2021.Mod). It is a very effective method which does not need learning one more tool.
Another idea perhaps worth considering is not a new compiler, but a scanner front end which will add commented warnings to the code under V4. That is, the output will be the same source file (with all the Elements and formatting!) with added lines like:
(*--- W: obsolescent RETURN ---*)
(*--- W: obsolescent EXIT ---*)
Flagging places to be fixed (perhaps with some indication why?) would be of help. This could be done entirely under V4. Such a preprocessor front end would not even produce any machine code. It would be a "beautifier". I vaguely remember seeing beautifiers under BlackBox. Perhaps there is one under V4/S3 as well?
>So *if* there is a “real” need (i.e. a *serious* effort to port V4), one may
>consider adding those few constructs to the compiler, with a switch.
Thank you for considering providing a tool to achieve the transition.
> But again,..one should absolutely make sure that one uses only *one*
> of the two language variants, as.. "children and accounting don’t mix”!
If the transition is gentle rather than abrupt then the old SW can be eventually evolved to the new standard step by step.
The idea of the bootstrap compiler is not new. NW did it several times in his carrier, like transitioning from Lilith to Ceres, from Modula-II to Oberon-1, etc. He would probably liked the idea.
More information about the Oberon