Real Time Pascal Compiler SW2114 Release 2.22, 1993.09.27 DANOSI Contents 1 diskette marked "Real Time Pascal Compiler, Rel. 2.22" 1 Reference Manual for The Programming Language Real Time Pascal, PN: 99110141 1 Real-Time Pascal Compiler Re- ference Manual, PN: 99001464 1 Package Description (this docu- ment) Purpose The package contains the Real Time Pascal Compiler for the RC5000 Network Switch, the RC5000 MegaSwitch, and the Intel x86 equipped controllers. The compiler is used to make executable software for the above mentioned systems. Reason for Release This release corrects a number of errors found in previous releases. Prerequisites SW2114 requires: MS-DOS 3.3 (SW954001) rel. 1.0 or later or Concurrent DOS vers. 6.0 or later The system may run under UNIX VP/ix too. Identification of Files DISK: SW2114_2.22 README21.14 INST.BAT 1182 RTP. EXE 68000 RTP. OVR 415812 RTPPAR.TAB 31472 RTPERR .TXT 15852 RTPSTD35.ENV 31169 RTPSTD35.N2B 17422 RTPSTD35.A2B 40960 RTPSTD35.M22 6393 RTPOPE35.LIB 1722 RTPSTD50.ENV 14919 RTPSTD50.N5B 14350 RTPSTD50.A5B 32768 RTPSTD50.M50 5401 RTPOPE50.LIB 1363 RTPSTD86.ENV 13054 RTPSTD86.N8B 14350 RTPSTD86.A8B 32768 RTPSTD86.M86 5962 RTPOPE86.LIB 1679 SYS35 \SYS35 RTPNEW35.ENV 31169 RTPNEW35.N2B 21518 RTPNEW35.A2B 65536 RTPNEW35.M22 9735 Documentation Reference Manual for the Programming Language Real-Time Pascal. Abstract: This manual contains the third revised definition of the programming language Real-Time Pascal. The definition is is implementation independent. The Real-Time Pascal programming language is a high level Pascal-like language, designed to express algorithms and their implementation as parallel cooperating processes, executing on a network of processing components. Real-Time Pascal Compiler Re- ference Manual Abstract: This manual describes the usage of the MS-DOS implementation of the Real-Time Pascal Compiler for the RC5000 Network Switch, the RC5000 MegaSwitch, and the Intel x86 equipped controllers. Corrections and Enhancements The extension of the objectfile is changed from .T35 to .T22 Corrections since release 2.19 - Exception pointer nil removed from new in situations with not enough memory. - 'Not compatible family' exception when the formal parameter to a routine is a bound type, is removed. - Rangecheck at subrange + 1 is activated. - Attempt to use an output file as for RTP35 is rejected with a RTP- CALL ERROR Enhancements for the MegaSwitch: Type int64 = RECORD lsp : integer; msp : integer; END; double = RECORD b1, b2, b3, b4 : byte; END; FUNCTION swap ( n: int16): int16; PROCEDURE swop ( VAR a: int16); PROCEDURE swop ( VAR a: integer); FUNCTION max ( a, b: integer): integer; FUNCTION min ( a, b: integer): integer; FUNCTION madd ( a, b: itype): int64; (here itype may be integer or int64) The double routines as described in the Compiler Reference Manual. Limitations and Recommenda- tions Bound string type: When a formal value parameter is of a bound string type (e.g. alfa), the actual parameter has to be string of the same length, because the actual parameter is not converted to a string of the same length as the formal parameter. RC5000 MegaSwitch as target com- puter - Structured values of type packed array and packed record are not implemented. - packed3502 is only implemented for types where the components are either not crossing a byte boundary or are of type INT16 Intel x86 as target computer - packed3502 is only implemented for types where the components are either not crossing a byte boundary or are of type integer RC5000 Network Switch (RC3502) as target computer - Structured values are not imple- mented - Use of RC3502 interrupt handling is not supported ( i.e. CHANNEL statements ) - Structured constant as array limits is not implemented correct. - Succ on a subrange, which limits are given as process parameters does not work correct. - LOCKDATA of dynamic types with packed array of bit are not packed. - Pointer type to the type itself is not allowed. Memory Requirements for RTP Code 143 K bytes Data 31 - Stack 10 - Heap 60 - ------------------------------- Total 244 K bytes Above figures are fixed except the heapsize, which depends on the program compiled. The heap used for the internal name and symbol table is not included in the above figures. Per default the name and symbol table will occupy all available heap (except the above 60 Kbytes) if needed. Note it is possible for the user to specify the maximum amount of heap the name and symbol table may occupy. Installation The installation of SW2114 is perfor- med by inserting the diskette in a drive, selecting that drive and typing:- INST This batch job will provide a guide to installation of the files on the disc onto a specific drive. The compiler will be installed in a directory called RTP. To be able to call the compiler from all directories the path RTP must be included in the searchpath of the operating system. This may be done by adding RTP as parameter to the PATH command in the AUTOEXEC.- BAT file ( for CDOS: the STARTxyy.- BAT file ).