<div dir="ltr">Oberon S3 had a Builder included in the distribution.<div><br></div><div>Inspired by its existence, I used Coco to make a grammar for project Gather.  It was identical to the Oberon grammer through the end of the IMPORT statement.</div><div><br></div><div>All files named in the parameter list were added to the internal import, and as each file was scanned its imports were also added to this internal import list.  It understood the file name reassignment in the IMPORT statement.</div><div><br></div><div>It output a command: Compiler.Compile file1.mod/s file2.mod/s fileN.mod/s ~</div><div><br></div><div>A well known subsystem, e.g. Oberon, could be put early on the Gather.Gather command line before the applications, and all the supporting modules would be gathered before the remaining application imports were gathered.</div><div><br></div><div>There were versions for S3 as well as V4, and perhaps Blackbox component builder.  Later, I played around making many of the procedure calls in the grammar be methods, so that they could be overridden.  I don't really know a great need for this, but it was an amusing exercise that I was somewhat proud of.</div><div><br></div><div>My copies are in storage at the moment, but there should be copies in some user submission archive online.</div><div><br></div><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Sat, Aug 11, 2018 at 5:16 PM Skulski, Wojciech <<a href="mailto:skulski@pas.rochester.edu">skulski@pas.rochester.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Nemo wrote:<br>
>Indeed.  I recall that some Modula-2/Oberon distributions<br>
> (Grosch's mtc, GPM, Mocka, ULM) could check dependencies <br>
> and recompile as need be. Some come with a tool<br>
> to generate makefiles.<br>
<br>
It would be nice if it became a standard part of the Oberon System. Any chances to convince Professor Wirth that this is a common pattern which would deserve a new chapter in his classic book? Or perhaps an Appendix.<br>
<br>
Just kidding. ;-(<br>
<br>
W<br>
--<br>
<a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="noreferrer" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr">Aubrey McIntosh, Ph.D.<div>1502 Devon Circle</div><div>Austin TX 78723</div><div>(512) 791-3801</div><div><br></div></div></div></div></div>