Difference between revisions of "NORD PL"

From Computer History Wiki
Jump to: navigation, search
m (A couple of was -> were fixes)
m (more grammar/punc tweaks)
Line 1: Line 1:
'''NORD PL''' ('''NORD''' '''P'''rogramming '''L'''anguage, or '''''NPL''''' ) is a programming language from [[Norsk Data]]. It shipped as a standard component of the operating system [[SINTRAN III]]. It could also run freestanding, or under [[NORD-TSS]].
+
'''NORD PL''' ('''NORD''' '''P'''rogramming '''L'''anguage, or '''''NPL''''' ) is a programming language from [[Norsk Data]]. It shipped as a standard component of the operating system [[SINTRAN III]]; the language was also used to implement SINTRAN III. It could also run free-standing, or under [[NORD-TSS]].
  
The language was also used to implement SINTRAN III. The NORD PL compiler was also written in NORD PL and some core applications were early on written in NORD PL until [[PLANC]] came and linker and other software were rewritten in PLANC.
+
The NORD PL compiler was itself written in NORD PL; some core applications were early on written in NORD PL until [[PLANC]] arrived, when the linker and other software were re-written in PLANC.
  
 
A quote from the NORD PL Users Guide, July 77, "important advice to the NORD PL programmer":
 
A quote from the NORD PL Users Guide, July 77, "important advice to the NORD PL programmer":
  
''NORD PL is not a problem oriented high level language like FORTRAN or COBOL. It is a machine oriented medium level language introduced to simplify the assembly coding, i.e., in any statement written the programmer should call attention to the influence oon the register contents!''
+
''NORD PL is not a problem oriented high level language like FORTRAN or COBOL. It is a machine oriented medium level language introduced to simplify the assembly coding, i.e., in any statement written the programmer should call attention to the influence on the register contents!''
  
 
The NORD PL compiler produced [[MAC]] assembly code which then had to be assembled using the [[MAC]] assembler. The syntax resembles [[ALGOL]], but it was used like an assembler because all instructions, addressing modes, registers, and memory could be accessed from the language.
 
The NORD PL compiler produced [[MAC]] assembly code which then had to be assembled using the [[MAC]] assembler. The syntax resembles [[ALGOL]], but it was used like an assembler because all instructions, addressing modes, registers, and memory could be accessed from the language.
  
Compared to writing assembly (MAC) directly, the intention was to make it easier to write code and to improve error checking and readability. At the same time, using NORD PL produces code about as if assembly was used directly, unlike if a more traditional systems language (e.g. C) is used.
+
Compared to writing assembly (MAC) directly, the intention was to make it easier to write code and to improve error checking and readability. At the same time, using NORD PL produces code about as if assembly was used directly, unlike if a more traditional systems language (e.g. [[C]]) is used.
  
 
== Properties ==
 
== Properties ==

Revision as of 13:55, 7 August 2017

NORD PL (NORD Programming Language, or NPL ) is a programming language from Norsk Data. It shipped as a standard component of the operating system SINTRAN III; the language was also used to implement SINTRAN III. It could also run free-standing, or under NORD-TSS.

The NORD PL compiler was itself written in NORD PL; some core applications were early on written in NORD PL until PLANC arrived, when the linker and other software were re-written in PLANC.

A quote from the NORD PL Users Guide, July 77, "important advice to the NORD PL programmer":

NORD PL is not a problem oriented high level language like FORTRAN or COBOL. It is a machine oriented medium level language introduced to simplify the assembly coding, i.e., in any statement written the programmer should call attention to the influence on the register contents!

The NORD PL compiler produced MAC assembly code which then had to be assembled using the MAC assembler. The syntax resembles ALGOL, but it was used like an assembler because all instructions, addressing modes, registers, and memory could be accessed from the language.

Compared to writing assembly (MAC) directly, the intention was to make it easier to write code and to improve error checking and readability. At the same time, using NORD PL produces code about as if assembly was used directly, unlike if a more traditional systems language (e.g. C) is used.

Properties

  • Conditional compiling
  • Declaration statements
  • Arithmetical statements
  • Constant expressions, evaluated at compile time
  • Control statments, including:
GO unconditional branching
IF conditional branching
FOR loop control
WHILE conditional loop control
CALL subroutine call
  • One pass compiler
  • The compiler needs about 6.5Kwords of memory, plus symbol table (5 words per symbol)

I/O must be performed via monitor calls as when writing MAC directly.

References

NDWiki: NORD PL

Wikipedia:Nord Programming Language