Nord Programming Language

{{Short description|Procedural programming language}}

{{More citations needed|date=December 2021}}

{{Use dmy dates|date=December 2021}}

{{Infobox programming language

| name = Nord Programming Language

| logo =

| logo caption =

| screenshot =

| screenshot caption =

| paradigm = Procedural, imperative

| family =

| designer =

| developer = Norsk Data

| released = {{Start date and age|1974}}

| latest release version = Final

| latest release date =

| typing = Static, strong

| scope = Lexical

| programming language =

| discontinued = Yes

| platform = Norsk Data minicomputers

| operating system = Sintran III

| license = Proprietary

| file ext =

| file format =

| website =

| implementations =

| dialects =

| influenced by =

| influenced =

}}

Nord Programming Language (NPL), is a procedural programming language by the Norwegian minicomputer manufacturer Norsk Data. It shipped as a standard component of the operating system Sintran III.

The language was also used to implement Sintran III: the core and file system of which are written in NPL, as was the NPL compiler, and some core applications early on, until the release of high-level programming language named PLANC. Then, the linker and other software were rewritten in PLANC.

The NPL compiler was also special in that it did not emit object code as most compilers do. Instead it emitted an intermediate representation, in the form of assembly language code, which then had to be assembled using the Norsk Data Assembler.

The registers of the CPU were available in NPL as predefined variables. Thus could be written:

X + T =: A

and the compiler would emit:

COPY SX DA

RADD ST DA

Functions could be declared with multiple entry points:

FUNC FUN1, FUN2

FUN1: T := 1

FUN2:

code here

END

FUN1 could be called to set T to 1 before falling into FUN2 or T could be set to something else and call FUN2. If T register specified which file handle to write to, then either FUN1 could be called to always output to terminal or T could be specified to handle a file in T and call FUN2 to output to that file.

{{Norsk Data}}

Category:Procedural programming languages

Category:Norsk Data software