Page 1¶
ND PASCAL¶
ND 211001 ND PASCAL for ND-100
ND 211003 ND PASCAL for ND-500
[Photo: Industrial space with machinery and equipment]
. . . . . .
. . .
. ND . ND .
. . . . . .
. Norsk Data .
. . . . . .
Scanned by Jonny Oddene for Sintran Data © 2021
Page 2¶
ND PASCAL¶
INTRODUCTION¶
The two PASCAL compilers described in this data sheet replace the previous three compilers ND-210076, ND-210133, and ND-210187. The features of the PASCAL compilers for ND-100 and ND-500 systems are identical.
The ND-100 PASCAL compiler generates codes both in 32-bit and 48-bit real format. This compiler is supplied with two different runtime libraries, one for the 32-bit and the other for the 48-bit format. Programs may then be linked to the appropriate runtime library. Optionally, this compiler is capable of generating codes in 64-bit real format for ND-500 systems.
The ND-500 PASCAL compiler, in addition to generation of 64-bit real format code, is also capable of generating code in 32-bit real format for ND-100.
Both compilers are capable of generating special code sequences to exploit the additional instructions of a machine with the CX option. This improves the runtime performance of PASCAL programs. Programs compiled on non-CX systems will run on systems with the CX option, but not vice versa. Both compilers conform to the ISO standards. A validation suite from BSI (British Standard Institute 6192) has been used for certification.
In addition to the standard language specifications, powerful features are introduced to facilitate the development of large application systems. Two of these are the prologue file and the compilation of separate modules. The prologue file allows for incorporation of predefined constants, types, variables, procedures and functions into the PASCAL program. Among other extensions, the compilers have "pretty" printing and cross-referencing functions.
FEATURES¶
- Full conformity with the ISO PASCAL language specifications.
- Separate compilation of modules.
- Full separation of code and data.
- Double-precision integer variables and constants.
- No restriction on the range of set type.
- Read/Write operations on sequential files are buffered in memory.
- Generated code is implicitly reentrant.
- Dynamic opening and closing of files during program execution.
- Comparison of structured types allowed.
- Conversion from integer to arbitrary scalar type.
- First and last value of scalar type available through FIRST (type) and LAST (type).
- Full support of real-time programming.
- Heap allocation of memory for dynamic variables through NEW/MARK/RELEASE or NEW/DISPOSE.
- Variables may be initialized at compile time.
- SINTRAN monitor calls may be invoked.
- Routines written in other languages, like FORTRAN or COBOL, may be called.
- Compiler options may be included in the source code.
- Inclusion of text from multiple source files.
- Extensions to handle random access files.
- Run-time and input/output errors may be handled in the user program.
- Options to allow intermixing of definition sections.
Page 3¶
ND PASCAL¶
- Extensive run-time error diagnostics and messages.
- Run-time library contains an extensive set of mathematical functions.
- Convenient syntax for initializing arrays.
- Simple overlaying mechanism for extremely large programs.
- Packed structures always utilize memory optimally.
- ND-500 compatible 64-bit floating point representation.
- Code generation for both 32-bit and 48-bit floating point (ND-100 specific) hardware.
- (ND-100 specific) Two-bank programs give 128K bytes of data space.
PRODUCT DESCRIPTION¶
Norsk Data's PASCAL compilers are written in PASCAL itself. The user interface to the PASCAL compilers conforms to Norsk Data's standard. Users are provided with a set of commands for manipulating the program compile process. A short description of these commands follows:
| Command | Description |
|---|---|
| CLEAR | Reinitializes the command processor. |
| COMPILE | Invokes the compilation process. |
| CROSS | Generates a formatted listing of the source program. |
| EXIT | Exits from the compiler to SINTRAN. |
| HELP | Lists all available commands. |
| OPTIONS | Specifies the type of codes to be generated. |
| PROLOG | Defines a file containing declarations of constants, types, variables and functions that are frequently used. |
| RESET | Resets a user-defined flag for conditional compilation. |
| SET | Sets a user-defined flag for conditional compilation. |
| LINK | Links object file(s) into an executable program. |
| VALUE | Lists the value of all user-defined flags. |
| @ | Identifies a SINTRAN command. |
Substantial extensions are introduced in the field of input/output handling. The CONNECT and DISCONNECT procedures allow the program to dynamically associate a file identifier with an external SINTRAN file. The file name may also be specified by the user at execution time. Random access files may be declared and used in the same way as sequential files through GET and PUT. In addition, it is possible to read a specific record through the procedure sequence POSITION, GET and to write a specific record through the procedure PUTPOS. Sequential files may be specified as PACKED, which will cause packing of as many components of data as possible into each word on the file.
REQUIREMENTS¶
SINTRAN version J or later is a prerequisite for both compilers.
DOCUMENTATION¶
- PASCAL Reference Manual ND-60.222 EN