Skip to content

Page 1

ND 10058 SIMULA

INTRODUCTION

SIMULA* is a general purpose high-level computer language for use in scientific programming and in operational research.

The language was defined in 1967 in the «SIMULA Common Base Language» (Ref. I.) by the Norwegian Computing Center, and has previously been implemented on large computers such as CDC 3300/CYBER, DEC-10, IBM 370 and Univac 1100 series.

It is based on the algorithmic language ALGOL 60 with extensions through the introduction of the «class» declaration and interaction mechanisms such as «object»-references, «remote»-accessing of data, block-«concatenation» and «quasiparallel» operation.

SIMULA has achieved great acceptance in universities and computer teaching institutes for its exceptional program and data structuring capabilities.

The list processing and simulation features offered by the SIMSET and SIMULATION system classes, makes SIMULA a programming language with capabilities far beyond those normally found in FORTRAN, COBOL, BASIC etc.

This implementation was performed by Mr. G. Philippoff of TPH Data A.S. Advanced programming capabilities are for the first time available on low cost minicomputers.

* SIMULA is a registered Trade Mark of the Norwegian Computing Center (NCC), Oslo.

FEATURES

  • «SIMULA Common Base Language» as defined by the NCC
  • Includes SIMSET and SIMULATION system classes
  • Compatible with DEC-10, IBM 370, and Univac 1100 source language notations
  • Various compile and run-time options can be activated in the source-deck or as compiler commands
  • Self-explanatory messages both during compilation and execution simplify the debugging process
  • Debugging option allows the setting of breakpoints at source-line level, step-wise execution of the program, and the displaying of the contents of the variables
  • The compiler may generate binary relocatable format (SIM), binary absolute program (PROG), or instructions placed in memory for direct execution
  • Compiler directives in the source-deck include:
    • conditional compilation of selected portions of the programs depending on flags set
    • additional source-file at any point in a compilation
  • Built-in loader for externally compiled library routines and assembly-coded routines
  • Possibility to call external FORTRAN functions and subroutines

PRODUCT DESCRIPTION

The ND SIMULA compiler is implemented as a three-pass compiler. The compiler occupies approximately 52 Kwords of program including run-time library. It executes as a reentrant subsystem under the SINTRAN III/VS Operating System, where only the necessary 1 Kpages are brought into the memory, and several active users will share common code. The normal workset requires from 10 to 16 pages depending on options selected.

During compilation, the system scratch file is used in addition to the user specified files and various run-time library files. All system dependent files are automatically assigned when needed and closed after use.

Source lines of up to 120 characters using the ASCII upper and lower case set are accepted from any medium supported by the ND File System. Source-statements may follow any of the DEC, IBM, or Univac notations, where a set of reserved words denotes SIMULA basic symbols.

Identifiers can be up to 72 characters in length, all significant, and may contain the underscore character (_) to increase readability. The underscores are also significant.

The SIM-format must be loaded with the built-in SIMULA loader to form an executable program, because the format contains some special attributes not supported by the ND Relocatable Loader.

COMMAND SUMMARY

The SIMULA - compiler is activated by giving the command:
SIMULA (or the installation-selected name)

The following commands can be given:

>SETOPT ccc . . . the options mentioned are incremented, see next section for valid options
>RESOPT ccc . . . decrement options

10058-D1-4000-0481

Page 2

Requirements

ND SIMULA can be used on any ND-100 or NORD-10/S system under the SINTRAN III/VS, with approximately 96 Kwords of memory, or more.

The following disk files must be available with read access for public users:

Filename Description
SIMULA:PROG (or NI0-SIMULA:BPUN if reentrant subsystem)
SIMRT3:SIM (run-time object library)
SIMBASE:SIM (object library direct file)
SIMULA3:SIM (SIMULATION object library)
SIMERR:DATA (run-time error message text file)
SIMRAND3:SIM (random routines object library)
SIMERC:DATA (compile-time error message text file)
SIMMAT:SIM (mathematical routines object library)
SIMSET3:SIM (SIMSET object library)
S-LOAD-DUAL:PROG (two bank :PROG file loader)

(SIM denotes BRF-files in SIMULA format)

A total disk space of approximately 100 pages is required. For the reentrant subsystem, a 54 page segment must be available on one of the system segment files.

For both compiling and executing a program, the compiler uses the «additional page-index-table», and requires a background segment of 128 Kwords. This can be set for single or all terminals/batch processors according to installation.

(This datasheet refers to the TPH SIMULA version 4.036 as of March 1981.)

Commands

Command Description
>RTSO pre-execution conversation allows interactive assignment of system input and output units
>LIB file user's library file in SIMULA-relocatable format to be searched for external quantities
>ASM file symbolic assembly-code to be generated on the specified file
>BRF file binary relocatable format (SIM) to be generated on the specified file
>BIN file binary absolute code (in standard ND-10/100 hardware format) to be generated on the specified file
>PROG file binary absolute code (in standard SINTRAN G @ DUMP format) to be generated on the specified file
>LIST file compiler listing according to options including any error-messages to be generated on the specified file
>RUNOFF file documentation output goes to the specified file. Such output is generated on the specified file
>COMPILE file compile, according to options, the source-program in the specified file. If V-option is set and no error occurs, the program is automatically executed
>LOAD file binary relocatable format is loaded from the specified file, and if V-option is set, execution started
>EXIT return to the operating system

Options

The following options are implemented:

Option Description
A Turn off array bound checking at run-time
D Debugging symbol table produced
F Flags for BEGIN-END in short form on listing
G Generate symbolic code for ASM-file
I Inhibit generation of line numbers
K Kill compilation on first error detected
L List all lines including macro-commands
M Produce a RUNOFF document file instead of compilation
N No checks for arithmetic multiply overflow
O On-line debugging at run-time
Q Remove qualification checks
R Remove NONE checks
S Source-listing with suppressed macro-commands (normal compiler listing)
T Time and space required are listed
V Automatic execution
W Warning message suppressed
X Experimental compilation for system maintenance
Y Print loader map
Z Zimula, an extended language

References

  1. O. J. Dahl, B. Myrhaug, K. Nygaard: Common Base Language (S-22), Norwegian Computing Center
  2. G. Birtwistle et al: SIMULA Begin. Studentlitteratur, Lund, Sweden
  3. G. Philippot: ND-100 SINTRAN III SIMULA Reference Manual. Norsk Data A.S (ND-60.092)
  4. SINTRAN III Reference Manual. Norsk Data A.S (ND-60.128)