dos_compilers/Logitech Modula-2 v1.1/COMPPARA.MOD

174 lines
6.8 KiB
Plaintext
Raw Permalink Normal View History

2024-07-01 00:43:04 +02:00
(****************************************
* *
* MODULA-2 Multi-Pass Compiler *
* **************************** *
* *
* Implementation for Intel 8086 *
* *
* *
* CompPara: *
* *
* parameter module to configurate *
* the Modula-2 compiler *
* implementation module may be *
* changed by the user *
* *
* *
* Version: *
* 1.10 Nov 23' 1984 *
* *
* *
* Copyright (C) 1984 Logitech. *
* All Rights Reserved. *
* *
* This program is a trade secret of *
* Logitech, and it is not to be *
* reproduced, published, disclosed *
* to others, copied, adapted, *
* distributed or displayed without *
* the prior authorization of Logitech *
* *
* Licensee agrees to attach or embed *
* this notice on all copies of the *
* program, including partial copies *
* or modified versions thereof. *
* *
****************************************)
IMPLEMENTATION MODULE CompPara;
BEGIN
(* the following variables are used to define the format of *)
(* the listing generated by the compiler *)
CPpageLength := 60;
(* number of lines per page : initial value is 60 *)
(* valid range: 40..65535 (if out of range: 60 is taken) *)
CPpageWidth := 79;
(* 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 := TRUE;
(* defines whether a formfeed at last character *)
(* is generated or not: initial value is TRUE *)
CPffAtBegin := FALSE;
(* 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 := TRUE;
(* defines whether a headerline is generated on each *)
(* page or not: initial value is TRUE *)
CPdate := FALSE;
(* defines whether date in headerline is generated *)
(* or not: initial value is FALSE *)
(* a header line has the following format: *)
(* Modula-2/86 Date filename.ext Page n *)
(* e.g. *)
(* Modula-2/86 Nov 16'83 COMPPARA.DEF Page 1 *)
(* the next two parameters define the footer of each page *)
CPfooter := FALSE;
(* defines whether a footerline is generated on each *)
(* page or not: initial value is FALSE *)
CPfooterText := "";
(* 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 := 8;
(* initial value of distributed version is 8: *)
(* defined by the (8259A) interrupt controller(s) *)
(* definition of interface to Run-Time-Support system *)
CPRTSfunctVector := 228;
(* 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 coprocessor or an 8087 emulator is generated by the compiler *)
CPemulator := TRUE; (* initial value is TRUE *)
(* the following options define the interactive behaviour of the compiler *)
CPinteractiv := TRUE; (* initial value is TRUE *)
(* whether compiler may be stopped by typing a key *)
CPstatistic := TRUE; (* initial value is TRUE *)
(* whether compiler displays some statistic values *)
CPquery := FALSE; (* 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 := TRUE; (* initial value is TRUE *)
(* whether compiler falls automatically in query mode *)
(* if it didn't find the file by the default mechanism *)
CPdebug := TRUE; (* initial value is TRUE *)
(* whether compiler generates a reference file *)
(* that would be used by the debugger, or not *)
CPversion := FALSE; (* initial value is FALSE *)
(* whether compiler displays version info or not *)
CPlister := FALSE; (* initial value is FALSE *)
(* whether compiler generates a listing file or not *)
CPerrorLister := TRUE; (* 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 := TRUE; (* initial value: TRUE *)
(* whether compiler goes to lister if error detected *)
(* in pass1 and terminates compilation, or not *)
CPafterPass2 := FALSE; (* 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 := TRUE;
(* for option 'S': initial value is TRUE *)
CPrangetest := TRUE;
(* for option 'R': initial value is TRUE *)
CPindextest := TRUE;
(* for option 'T': initial value is TRUE *)
END CompPara.