Protel
≈ 4 min read
Names in other languages
No names in other languages are held for this entry yet.
Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.
Protel stands for "Procedure Oriented Type Enforcing Language". Protel is a programming language designed in 1975 by Nortel Networks and used on telecommunications switching systems such as the DMS-100. Protel-2 is the object-oriented version of Protel. The PROTEL language was designed to meet the needs of digital telephony and is the basis of the DMS-100 line of switching systems. PROTEL is a strongly typed, block-structured language which is based heavily on PASCAL and ALGOL 68 with left-to-right style of variable assignment, variable-sized arrays, and extensible structures. The designers of PROTEL significantly extended PASCAL of the day by adding external compilation and extending the data structures available in the language. The PROTEL compiler is tightly integrated with the operating system (SOS), application (CALLP), the development environment (PLS) and originally the processor (NT40). PLS, SOS, CALLP and the compiler itself are all written in PROTEL. Any description of the PROTEL language can't help but include some aspects of the other components. PROTEL has very strict type enforcement but the tight coupling of the components creates opportunities to bypass some type checking for skilled coders by using internal compiler features directly. PROTEL is considered 'wordy', containing a large number of reserved words with some statements reading like English.…
Protel stands for "Procedure Oriented Type Enforcing Language". Protel is a programming language designed in 1975 by Nortel Networks and used on telecommunications switching systems such as the DMS-100. Protel-2 is the object-oriented version of Protel. The PROTEL language was designed to meet the needs of digital telephony and is the basis of the DMS-100 line of switching systems. PROTEL is a strongly typed, block-structured language which is based heavily on PASCAL and ALGOL 68 with left-to-right style of variable assignment, variable-sized arrays, and extensible structures. The designers of PROTEL significantly extended PASCAL of the day by adding external compilation and extending the data structures available in the language. The PROTEL compiler is tightly integrated with the operating system (SOS), application (CALLP), the development environment (PLS) and originally the processor (NT40). PLS, SOS, CALLP and the compiler itself are all written in PROTEL. Any description of the PROTEL language can't help but include some aspects of the other components. PROTEL has very strict type enforcement but the tight coupling of the components creates opportunities to bypass some type checking for skilled coders by using internal compiler features directly. PROTEL is considered 'wordy', containing a large number of reserved words with some statements reading like English. PROTEL source code is case insensitive but by convention upper case is used for reserved words. A TDSIZE operator also exists as a legacy of the descriptor implementation on NT40: TDSIZE = UPB+1. Descriptors have automatic run time bounds checking on dynamically allocated arrays. Indexing a descriptor out of bounds or indexing a NULL descriptor will cause a descriptor range check trap. UPB is generally used by application software to more gracefully handle index out of range. DECL my_int_array DESC OF INT INIT NULL; Note NULL can be used for pointers and descriptors. Strings use descriptors extensively. Strings are of a defined length with no NULL character terminator. DECL foo DESC OF CHAR IS "my string named foo";
Text derived from https://en.wikipedia.org/w/index.php?oldid=1320045686 under CC BY-SA 4.0; modifications have been made.