Paradigm | functional, interpreted |
---|---|
First appeared | 1990s |
OS | Solaris, Linux |
License | Proprietary |
DUP (DataUnit Processing language) is a special-purpose, interpreted and functional programming language. The DUP language looks like a mixture of C and ASN.1.[1] It borrows its structure from C, while the way of using variables comes from ASN.1. This makes it intuitive for a programmer used to C/C++ and ASN.1 to use the language. It was developed at Ericsson, and used in Ericsson Billing Gateway and Ericsson Multi Activation platform.[2]
Language
Functions
A function is declared as follows:
<return type> <function name> ( <argument list> ) { <function body> }
The <return type>
is one of the ASN.1 types supported by the application in which is used.
It is possible to add CONST
to the type which implies that the return value is constant and can not be changed. A function can also have the return type VOID
which means that it does not return anything.
The <argument list>
is a comma separated list of arguments.
Each argument is declared as follows:
<argument name> <argument type>
The <argument type>
is an ASN.1 data type. It is
also possible to use the ANY type if the type is unknown.
All return values and arguments are passed as reference.
An example of DUP code can be seen below:
CONST INTEGER add(a CONST INTEGER) { declare result INTEGER; result ::= 10; result += a; return result; }
Notes
- ↑ Valdemar Mejstad and Karl-Johan Tångby. "Improving Multiprocessor Performance of a Large Telecommunication System by Replacing Interpretation with Compilation" (PDF). Department of Software Engineering and Computer Science. Blekinge Institute of Technology.
- ↑ "Ericsson Multi Activation 5.0 Training Programs. Catalog of Course Descriptions". Ericsson AB Global Services.