<html><body>Hi Wojciech,<div><br></div><div>I am looking in my copy of V4, does not seem to contain `Def.Mod'. Where it comes from in your version?</div><div><br></div><div>$ tar -tzf ProjectOberon.V4.tar.gz | grep Def.Mod</div><div><br></div><div>Many thanks</div><div>Tomas</div><div><br><p>---------- Původní zpráva ----------<br>Od: Skulski, Wojciech <skulski@pas.rochester.edu><br>Komu: ETH Oberon and related systems <oberon@lists.inf.ethz.ch><br>Datum: 25. 3. 2017 15:53:54<br>Předmět: Re: [Oberon] FPGA Oberon - Definition Module Tool</p><br><blockquote style="z-index:auto">> I am thinking of a simple tool that could extract definition info from *.Mod
<br>
<br>How about Def.Mod which is available under Oberon System V4?
<br>
<br>Right click on "Def.Show Def.Mod" opens a new viewer with the following:
<br>
<br>DEFINITION Def;       (* CAS  *)
<br>
<br>      PROCEDURE Show; (* ( "*" | "^" | name ) [ "\P" ]   --P option enforces plain text style *)
<br>END Def.
<br>----------------------------------------------------------------
<br>Def.Show Documents.Mod opens the following viewer:
<br>
<br>DEFINITION Documents;
<br>      CONST
<br>              profile = "Documents.Profile";        (* on startup all openers contained in this file are registered automatically *)
<br>      TYPE
<br>              Opener = POINTER TO RECORD
<br>                      pattern-, cmd-: ARRAY 32 OF CHAR;
<br>                      next-: Opener
<br>              END;
<br>      VAR
<br>              openers-: Opener;
<br>      PROCEDURE Open; (* ^ | name     Opens the specified file with the registered opener, if no specific opener is found for the extension of the file, Edit.Open is used. *)
<br>      PROCEDURE RegisterOpener (pattern, command: ARRAY OF CHAR);     (* Registers the opener command for the pattern. Openers that are registered earlier can be overwritten by (more specific) openers registered later. *)
<br>      PROCEDURE RegisterOpeners;      (* ^ | filename Registers all the openers contained in the specified file. Their precedence is as they appear in the file. *)
<br>END Documents.
<br>
<br>________________________________________
<br>From: Oberon [oberon-bounces@lists.inf.ethz.ch] on behalf of thomas.kral@email.cz [thomas.kral@email.cz]
<br>Sent: Friday, March 24, 2017 7:52 AM
<br>To: ETH Oberon and related systems
<br>Subject: [Oberon] FPGA Oberon - Definition Module Tool
<br>
<br>Hi,
<br>
<br>I am thinking of a simple tool that could extract definition info from *.Mod and produce respective *.Def file. Definition files can be quickly looked at, to remind a programmer of the interface *.Mod modules export.
<br>
<br>While on Linux one could use grep
<br>$ grep PROCEDURE\ * *.Mod.txt
<br>
<br>to obtain info at least about procedures, but how about exported types and variables?
<br>
<br>I am looking for a recommended way how to simply code such a tool, is it a good idea to use `ORP' parser somehow for the task? I prefer to code it simple, does not have to be perfect, but should carry the idea.
<br>
<br>Tomas
<br>--
<br>Oberon@lists.inf.ethz.ch mailing list for ETH Oberon and related systems
<br>https://lists.inf.ethz.ch/mailman/listinfo/oberon
<br></blockquote></div></body></html>