DUP (DataUnit Processing language) is a special-purpose, interpreted and functional
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming ...
. The DUP language looks like a mixture of
C and
ASN.1
Abstract Syntax Notation One (ASN.1) is a standard interface description language for defining data structures that can be serialized and deserialized in a cross-platform way. It is broadly used in telecommunications and computer networking, and ...
.
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++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
and ASN.1 to use the language. It was developed at
Ericsson
(lit. "Telephone Stock Company of LM Ericsson"), commonly known as Ericsson, is a Swedish multinational networking and telecommunications company headquartered in Stockholm. The company sells infrastructure, software, and services in informat ...
, and used in Ericsson Billing Gateway and Ericsson Multi Activation platform.
Language
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
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
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)
Notes
Ericsson
Programming languages created in the 1990s
{{Compu-lang-stub