+++ /dev/null
-.TH OBNC-PATH 1
-.SH NAME
-obnc-path \- print directory path for Oberon module
-.SH SYNOPSIS
-.B obnc-path
-[\fB\-v\fR]
-MODULE
-.br
-.B obnc-path
-(\fB\-h\fR | \fB\-v\fR)
-.SH DESCRIPTION
-.B obnc-path
-prints the directory path for an Oberon module. For a module M, the printed path is the first directory found which contains either the Oberon source file,
-.IR .obnc/M.sym
-or
-.IR M.sym .
-.P
-First the current directory is searched. Then paths in OBNC_IMPORT_PATH are searched. Finally the default library directory in the OBNC installation path is searched.
-.P
-For each path P, modules are searched both in P and in first-level subdirectories of P. Subdirectories represent individual libraries and are expected to be in lowercase. For the modules in a subdirectory L, only modules prefixed with L followed by an uppercase letter are searched. The other modules in L are considered local to the library.
-.SH OPTIONS
-.TP
-.BR \-h
-Display help and exit.
-.TP
-.BR \-v
-Without argument, display version and exit. Otherwise, print each inspected directory path to standard output.
-.SH ENVIRONMENT
-.IP OBNC_IMPORT_PATH
-List of directory paths to search Oberon modules in. Paths are separated with a colon on POSIX systems, and with a semicolon on MS Windows.
-.SH AUTHOR
-Written by Karl Landstr\[:o]m
-.SH "SEE ALSO"
-.BR obnc (1),
-.BR obnc-compile (1)
+++ /dev/null
-.TH OBNCDOC 1
-.SH NAME
-obncdoc \- extract exported features from Oberon modules
-.SH SYNOPSIS
-.B obncdoc
-[\fB\-h\fR | \fB\-v\fR]
-.SH DESCRIPTION
-.B obncdoc
-reads the Oberon source files in the current directory and creates module definitions in plain-text and HTML. A module index is also created. Each definition contains the exported declarations and the exported comments (start with an asterisk) for the corresponding module. The definition files are created, updated or deleted only as needed. A default style file,
-.IR style.css ,
-is created only if not present. This provides for custom style sheets. All output files are written to the directory
-.I obncdoc
-in the current directory. Oberon source filenames are expected to end with
-.IR .obn ,
-.IR .Mod
-or
-.IR .mod .
-.P
-.B obncdoc
-is not a complete parser so no syntactical or semantical checks are performed.
-.SH OPTIONS
-.TP
-.BR \-h
-Display help and exit.
-.TP
-.BR \-v
-Display version and exit.
-.SH AUTHOR
-Written by Karl Landstr\[:o]m
+++ /dev/null
-DEFINITION ExportedFeatures; (*documentation...*)
-
- IMPORT F := Files;
-
- CONST
- s = "s* = 'foo'; (**"; (*(*"foo"*)*)
-
- TYPE
- T = RECORD
- f: RECORD (*documentation...*)
- h: INTEGER
- END;
- END;
-
- T1 = RECORD (T) END;
-
- VAR
- x: T; (*documentation...*)
- u: F.File;
-
- PROCEDURE P(x: INTEGER;
- y: REAL;
- z: BYTE);
-(*documentation,
-documentation...*)
-
- PROCEDURE R((*in/out*) VAR x: INTEGER; (*out*) VAR y: REAL; VAR z: BYTE);
-(*documentation...*)
-
-END ExportedFeatures.
+++ /dev/null
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
- <head>
- <meta name='viewport' content='width=device-width, initial-scale=1.0' />
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
- <title>DEFINITION ExportedFeatures</title>
- <link rel='stylesheet' type='text/css' href='style.css' />
- </head>
- <body>
- <p><a href='index.html'>Index</a></p>
-
- <pre>
-DEFINITION <em>ExportedFeatures</em>; <span class='comment'>(*documentation...*)</span>
-
- IMPORT F := Files;
-
- CONST
- s = <span class='string'>"s* = 'foo'; (**"</span>; <span class='comment'>(*(*"foo"*)*)</span>
-
- TYPE
- T = RECORD
- f: RECORD <span class='comment'>(*documentation...*)</span>
- h: INTEGER
- END;
- END;
-
- T1 = RECORD (T) END;
-
- VAR
- x: T; <span class='comment'>(*documentation...*)</span>
- u: F.File;
-
- PROCEDURE <em>P</em>(x: INTEGER;
- y: REAL;
- z: BYTE);
-<span class='comment'>(*documentation,
-documentation...*)</span>
-
- PROCEDURE <em>R</em>(<span class='comment'>(*in/out*)</span> VAR x: INTEGER; <span class='comment'>(*out*)</span> VAR y: REAL; VAR z: BYTE);
-<span class='comment'>(*documentation...*)</span>
-
-END ExportedFeatures.
-</pre>
- </body>
-</html>
+++ /dev/null
-module ExportedFeatures; (**documentation...*)
-
- import F := Files, Out;
-
- const
- s* = "s* = 'foo'; (**"; (**(*"foo"*)*)
- (*s* = "s* = 'foo'; (**"; (**(*"foo"*)*)*)*)
- t = 37;
-
- type
- T0 = Int;
-
- (*documentation...*)
- T* = record
- f*: record (**documentation...*)
- g: Int;
- h*: Int
- end;
- g: Real
- end;
-
- T1* = record (T) (*documentation...*)
- h: Int
- end;
-
- T2 = record
- (*f*: Int*)
- end;
-
- var
- x*, y: T; (**documentation...*)
- z, u*: F.File;
-
- procedure P*(x: Int;
- y: Real;
- z: Byte);
-(**documentation,
-documentation...*)
- end P;
-
-
- procedure Q;
-(*documentation...*)
- end Q;
-
-
- procedure R*((**in/out*) var x: Int; (**out*) var y: Real; (*out*) var z: Byte);
-(**documentation...*)
- end R;
-
-end ExportedFeatures.
+++ /dev/null
-definition NoExportedFeatures;
-end NoExportedFeatures.
+++ /dev/null
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
- <head>
- <meta name='viewport' content='width=device-width, initial-scale=1.0' />
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
- <title>DEFINITION NoExportedFeatures</title>
- <link rel='stylesheet' type='text/css' href='style.css' />
- </head>
- <body>
- <p><a href='index.html'>Index</a></p>
-
- <pre>
-DEFINITION <em>NoExportedFeatures</em>;
-END NoExportedFeatures.
-</pre>
- </body>
-</html>
+++ /dev/null
-module NoExportedFeatures;
-
- import M := Math;
-
- const
- alpha = M.pi; (*documentation*)
-
- type
- Int = Int;
-
- var
- x: Int;
-
- procedure P;
- end P;
-
-end NoExportedFeatures.