home *** CD-ROM | disk | FTP | other *** search
Modula Implementation | 1988-01-24 | 2.4 KB | 81 lines | [TEXT/????] |
- IMPLEMENTATION MODULE MakeLibraries;
- (*
- * MAKEMAKE. Create a MAKEFILE for a MODULA-2 program.
- *
- * Written by Steve Tynor, 30 September 1986.
- * UUCP : tynor@gitpyr
- * USNAIL: 2550 Akers Mill Rd. T-2, Atlanta GA. 30339
- *
- * Permission is granted to distribute, copy and change this program as long
- * as this notice remains...
- ---
- *
- * Make.
- * Modified and extended for MacMETH by :
- * J?rgen N?rgaard, 23 october 1987.
- * UUCP : jnp@daimi.dk
- * MAIL : Dybb?lvej 29, v?r. 2+3, 8240 Risskov, DENMARK
- *
- * Essentially only the parser remains from the original.
- * Extensions are a dependency-tree and a make-like facility.
- *
- *)
-
- (* NOTE: this module is implementation specific. Substitute the library
- * modules supplied by your compiler.
- *)
- IMPORT StringLib0;
-
- CONST
- NumLibraryModules = 18;
-
- VAR
- LibraryModule : ARRAY [1 .. NumLibraryModules] OF ARRAY[0..31] OF CHAR;
-
- (*-----------------------------------------------------------------------*)
- PROCEDURE IsALibraryModule (VAR modulename : ARRAY OF CHAR) : BOOLEAN;
- (* binary search... *)
- VAR
- low, mid, high : CARDINAL;
- BEGIN
- low := 1;
- high := NumLibraryModules;
- WHILE low <= high DO
- mid := low + (high - low) DIV 2;
- CASE StringLib0.Compare (modulename, LibraryModule[mid]) OF
- StringLib0.EqualTo :
- RETURN TRUE;
- | StringLib0.LessThan :
- high := mid - 1;
- ELSE
- low := mid + 1;
- END; (* CASE *)
- END; (* WHILE *)
- RETURN FALSE;
- END IsALibraryModule;
-
- BEGIN
- (* NOTE: we're doing a binary search, so these must be in sorted order: *)
-
- (* MacMETH supplied libraries: *)
- LibraryModule [ 1] := 'CursorMouse';
- LibraryModule [ 2] := 'EventBase';
- LibraryModule [ 3] := 'FileSystem';
- LibraryModule [ 4] := 'GraphicWindows';
- LibraryModule [ 5] := 'InOut';
- LibraryModule [ 6] := 'LongMathLib';
- LibraryModule [ 7] := 'LongRealInOut';
- LibraryModule [ 8] := 'MathLib';
- LibraryModule [ 9] := 'Menu';
- LibraryModule [10] := 'Printer';
- LibraryModule [11] := 'RealInOut';
- LibraryModule [12] := 'SYSTEM';
- LibraryModule [13] := 'System';
- LibraryModule [14] := 'Terminal';
- LibraryModule [15] := 'TerminalIn';
- LibraryModule [16] := 'TerminalOut';
- LibraryModule [17] := 'TextWindows';
- LibraryModule [18] := 'Windows';
-
- END MakeLibraries.
-