dos_compilers/Logitech Modula-2 v1/COMPPARA.DEF

182 lines
7.0 KiB
Plaintext
Raw Permalink Normal View History

2024-07-01 00:16:10 +02:00
(****************************************
* *
* MODULA-2 Multi-Pass Compiler *
* **************************** *
* *
* Implementation for Intel 8086 *
* *
* Resident Compiler *
* *
* *
* M86CompPara: *
* *
* parameter module to configurate *
* the Modula-2 compiler *
* implementation module may be *
* changed by the user *
* *
* Version: *
* 1.0 Dec 14, 1983 *
* *
* *
* Copyright: *
* (C) 1983 *
* LOGITECH S.A. *
* CH-1143 Apples (Switzerland) *
* *
****************************************)
DEFINITION MODULE CompPara;
EXPORT QUALIFIED
CPpageLength, CPpageWidth, (* listing definition *)
CPffAtEnd, CPffAtBegin,
CPheader, CPdate,
CPfooter, CPfooterText,
CPpriorityLevels, (* interrupt system definition: 8259A *)
CPRTSfunctVector, (* interrupt vector to access to RTS functions *)
CPemulator, (* default settings of compiler options *)
CPinteractiv,
CPquery, CPautoquery,
CPdebug, CPversion,
CPlister, CPerrorLister,
CPafterPass1, CPafterPass2,(* defines moment of listing generation *)
CPstacktest, CPrangetest, (* default settings of program-source options *)
CParithmetictest;
VAR
(* the following variables are used to define the format of *)
(* the listing generated by the compiler *)
CPpageLength,
(* number of lines per page : initial value is 60 *)
(* valid range: 40..65535 (if out of range: 60 is taken) *)
CPpageWidth: CARDINAL;
(* number of characters per line : initial value is 79 *)
(* valid range: 50..150 (if out of range: 79 is taken) *)
(* the next two parameters are used to define the page eject *)
CPffAtEnd: BOOLEAN;
(* defines whether a formfeed at last character *)
(* is generated or not: initial value is TRUE *)
CPffAtBegin: BOOLEAN;
(* defines whether a formfeed at first character *)
(* is generated or not: initial value is FALSE *)
(* the next two parameters define the header of each page *)
CPheader: BOOLEAN;
(* defines whether a headerline is generated on each *)
(* page or not: initial value is TRUE *)
CPdate: BOOLEAN;
(* defines whether date in headerline is generated *)
(* or not: initial value is FALSE *)
(* a header line has the following format: *)
(* Modula-2/86 filename.ext Date Page n *)
(* e.g. *)
(* Modula-2/86 COMPPARA.DEF Nov 16'83 Page 1 *)
(* the next two parameters define the footer of each page *)
CPfooter: BOOLEAN;
(* defines whether a footerline is generated on each *)
(* page or not: initial value is FALSE *)
CPfooterText: ARRAY [0..149] OF CHAR;
(* string of pagewidth characters that defines the footerline *)
(* normally used for Copyright text: initially an empty string *)
(* definition of interrupt system: number of priority levels *)
CPpriorityLevels: CARDINAL;
(* initial value of distributed version is 8: *)
(* defined by the (8259A) interrupt controller(s) *)
(* definition of interface to Run-Time-Support system *)
CPRTSfunctVector: CARDINAL;
(* defines the interrupt vector to acces the RTS *)
(* RTS: Runtime Support: Assembley part of Modula-2/86 System *)
(* normally 228: may be only changed if RTS is changed *)
(* the following boolean variable defines whether code for an *)
(* 8087 coprocessoror an 8087 emulator is generated by the compiler *)
CPemulator: BOOLEAN; (* initial value is FALSE *)
(* the following options define the interactive behaviour of the compiler *)
CPinteractiv: BOOLEAN; (* initial value is TRUE *)
(* whether compiler may be stopped by typing a key *)
CPquery: BOOLEAN; (* initial value is FALSE *)
(* whether compiler asks for the symbol files of *)
(* the imported modules or tries to find them by *)
(* the default strategy: *)
(* build filename from module name by taking *)
(* the 8 first characters and the extension 'SYM' *)
CPautoquery: BOOLEAN; (* initial value is TRUE *)
(* whether compiler falls automatically in query mode *)
(* if it didn't find the file by the default mechanism *)
CPdebug: BOOLEAN; (* initial value is TRUE *)
(* whether compiler generates a reference file *)
(* that would be used by the debugger, or not *)
CPversion: BOOLEAN; (* initial value is FALSE *)
(* whether compiler displays version info or not *)
CPlister: BOOLEAN; (* initial value is FALSE *)
(* whether compiler generates a listing file or not *)
CPerrorLister: BOOLEAN; (* initial value is TRUE *)
(* whether compiler generates automatically an *)
(* error listing if errors occured or not *)
(* moment of listing generation in case of errors *)
(* if both variables are set to FALSE the listing *)
(* will be generated after pass3 *)
(* the functions of the different passes are: *)
(* pass1 checks syntactic of program *)
(* pass2 checks declaration parts (allocation) *)
(* pass3 checks bodys (compatibility test) *)
CPafterPass1: BOOLEAN; (* initial value: TRUE *)
(* whether compiler goes to lister if error detected *)
(* in pass1 and terminates compilation, or not *)
CPafterPass2: BOOLEAN; (* initial value: FALSE *)
(* whether compiler goes to lister if error detected *)
(* in pass2 and terminates compilation, or not *)
(* the following boolean variables are used to define the default *)
(* setting of the corresponding testcode options: *)
(* TRUE means: default is '+'; FALSE means: default is '-' *)
CPstacktest: BOOLEAN;
(* for option 'S': initial value is TRUE *)
CPrangetest: BOOLEAN;
(* for option 'R': initial value is TRUE *)
CParithmetictest: BOOLEAN;
(* for option 'T': initial value is TRUE *)
END CompPara.
ial value is TRUE *)
CParithmetic