home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1990-10-24 | 4.5 KB | 153 lines |
-
- (* MAS Lisp Utility Definition Module. *)
- DEFINITION MODULE MASLISPU;
-
- (* Import lists and declarations. *)
-
- FROM MASSTOR IMPORT LIST;
-
- FROM Portab IMPORT STRING;
-
- CONST EXPR = 1;
-
- (* Types, S-Expresion Types and Indicators. *)
-
- TYPE
- PROCF0 = PROCEDURE(): LIST;
- PROCF1 = PROCEDURE(LIST): LIST;
- PROCF2 = PROCEDURE(LIST, LIST): LIST;
- PROCF3 = PROCEDURE(LIST, LIST, LIST): LIST;
- PROCF4 = PROCEDURE(LIST, LIST, LIST, LIST): LIST;
-
- PROCP0 = PROCEDURE();
- PROCP1 = PROCEDURE(LIST);
- PROCP2 = PROCEDURE(LIST, LIST);
- PROCP3 = PROCEDURE(LIST, LIST, LIST);
-
- PROCP0V1 = PROCEDURE(VAR LIST);
- PROCP0V2 = PROCEDURE(VAR LIST, VAR LIST);
-
- PROCP1V1 = PROCEDURE(LIST, VAR LIST);
- PROCP1V2 = PROCEDURE(LIST, VAR LIST, VAR LIST);
- PROCP1V3 = PROCEDURE(LIST, VAR LIST, VAR LIST, VAR LIST);
-
- PROCP2V1 = PROCEDURE(LIST, LIST, VAR LIST);
- PROCP2V2 = PROCEDURE(LIST, LIST, VAR LIST, VAR LIST);
- PROCP2V3 = PROCEDURE(LIST, LIST, VAR LIST, VAR LIST, VAR LIST);
-
- PROCP3V1 = PROCEDURE(LIST, LIST, LIST, VAR LIST);
- PROCP3V2 = PROCEDURE(LIST, LIST, LIST, VAR LIST, VAR LIST);
- PROCP3V3 = PROCEDURE(LIST, LIST, LIST, VAR LIST, VAR LIST, VAR LIST);
-
-
- VAR EXTYP, ARITY, SUBR : LIST; (*indicators*)
-
-
- (* Procedure declarations. *)
-
- PROCEDURE CallCompiled(F, PI : LIST; VAR PO : LIST; VAR fu : BOOLEAN);
- (*Call compiled function or procedure. F is a function or procedure
- symbol. PI is the list of input parameters. fu is TRUE if F is a
- function and FALSE if F is a procedure. PO is a list of output
- parameters if F is a procedure and PO is the output parameter if
- F is a function. *)
-
-
- PROCEDURE Compiledp0(F : PROCP0; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE Compiledp1(F : PROCP1; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE Compiledp2(F : PROCP2; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE Compiledp3(F : PROCP3; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE Compiledf0(F : PROCF0; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE Compiledf1(F : PROCF1; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE Compiledf2(F : PROCF2; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE Compiledf3(F : PROCF3; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE Compiledf4(F : PROCF4; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE Compiledp1v2(F : PROCP1V2; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE Compiledp1v3(F : PROCP1V3; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE Compiledp2v2(F : PROCP2V2; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE Compiledp2v3(F : PROCP2V3; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE Compiledp3v2(F : PROCP3V2; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE Compiledp3v3(F : PROCP3V3; S : STRING);
- (*Compiled function declaration. F is a Modula-2 procedure, S is
- the print name of F. *)
-
-
- PROCEDURE CompSummary();
- (*Compiled function and procedure summary. Write out all
- compiled functions with their signature from symbol table SYMTB. *)
-
-
- PROCEDURE Declare(VAR X : LIST; S : STRING);
- (*Declare. X is declared as symbol with print name S. *)
-
-
- PROCEDURE PROCP(X : LIST): BOOLEAN;
- (*Procedure Pointer. Test if the symbol X is a compiled function. *)
-
-
- PROCEDURE Signature(F : LIST; VAR PI, PO : LIST; VAR def : BOOLEAN);
- (*Signature of a compiled function or procedure. F is a function or
- procedure symbol. PI is the number of input parameters. def is TRUE if
- F is defined as compiled function or procedure else def is FALSE.
- PO is the number of output parameters if F is a procedure,
- PO = -1 if F is a function. *)
-
-
- END MASLISPU.
-