NORD Programming Language
Encyclopedia
NPL was a programming language by the Norwegian
Norway
Norway , officially the Kingdom of Norway, is a Nordic unitary constitutional monarchy whose territory comprises the western portion of the Scandinavian Peninsula, Jan Mayen, and the Arctic archipelago of Svalbard and Bouvet Island. Norway has a total area of and a population of about 4.9 million...

 minicomputer
Minicomputer
A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems...

 manufacturer Norsk Data
Norsk Data
Norsk Data was a computer manufacturer located in Oslo, Norway. Existing from 1967 to 1992, it had its most active period in the years from the early 1970s to the late 1980s...

. It shipped as a standard component of the operating system SINTRAN III
SINTRAN III
SINTRAN III was a real-time, multitasking, multi-user operating system used with Norsk Data computers from 1974. Unlike its predecessors SINTRAN I and II, it was entirely written by Norsk Data....

.

The language was also used to implement SINTRAN III. I.e. the core and file system of SINTRAN III was written in NPL. The NPL compiler was also written in NPL and some core applications was early on written in NPL until PLANC
PLANC
PLANC is a high level computer programming language. The acronym stands for Programming LAnguage for Nd Computers.Compilers were developed by Norsk Data for several architectures, including the Motorola 68000, 88000, x86, and the Norsk Data NORD-10 minicomputer architecture and ND-500 supermini.The...

 came and linker and other software was rewritten in PLANC.

The NPL compiler was also special in that it did not produce object code as most compilers do. Instead it produced assembler code which then had to be assembled using the MAC
Norsk Data Assembler
MAC was a Macro assembler for computers of the NORD-1, NORD-10, and ND-100 lines from Norsk Data.-Identifier length:Like many assemblers MAC placed a limit on the length of variable names, however, rather than simply disallowing names greater than the maximum length it only kept the last five...

assembler.

The registers of the CPU was available in NPL as predefined variables. Thus you could write:

X + T =: A

and the compiler would generate:

COPY SX DA
RADD ST DA

Functions could be declared with multiple entry points:

FUNC FUN1, FUN2

FUN1: T := 1
FUN2:

code here

END

Here you could either call FUN1 which set T to 1 before falling into FUN2 or you could set T to something else and call FUN2. If T register specified which file handle to write to you could then either call FUN1 to always output to terminal or you could specify a file handle yourself in T and call FUN2 to output to that file.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK