DUP programming language

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. 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.

Functions
A function is declared as follows:

{ }

The  is one of the ASN.1 types supported by the application in which is used. It is possible to add  to the type which implies that the return value is constant and can not be changed. A function can also have the return type  which means that it does not return anything.

The  is a comma separated list of arguments. Each argument is declared as follows: The  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; }