Protel stands for 'Procedure Oriented Type Enforcing Language'. It is a programming language created by Nortel Networks and used on telecommunications switching systems such as the DMS-100.[1][2] Protel-2 is the object-oriented version of Protel.[3][4]
PROTEL languages were 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.[3]
Variables and Assignment[edit]
Mar 19, 2019 For everyone already managing their hotel with protel MPE or SPE: Use the app as an optional add-on to your protel PMS. Increase your efficiency by getting mobile. Use all front office features not only at your desk but additionally on your Android tablet from any location. For more information, visit the protel website to learn more about our hotel management solutions. Protel Air is a cloud native, fully internationalized, enterprise property management system for hotels and accommodation businesses, from small independents through to global hotel groups.
Variables are declared in a manner similar to Pascal.
- VAR MYVAR: INT;
To assign a value:
- 5 -> MYVAR;
Note: The digraph '->' is colloquially called the gazinta operator (because, in the example above, 5 goes into (=gazinta) MYVAR).
To declare a string variable named 'FOO':
- VAR FOO IS DESC[1..10] OF CHAR;
Note: PROTEL addresses arrays from 1.
Procedures[edit]
- PROC myprocname( argument list ) IS BEGIN ...code... END
Note: Block scope is defined by BEGIN and END.
Functions[edit]
- FUNC myfuncname( argument list ) RETURNS INT IS BEGIN ...code... END
Structures[edit]
The TABLE is the basic structure. It is declared and used in a manner similar to Pascal-descended languages.
Unions[edit]
The OVERLAY is the basic union structure. It is declared and used in a manner similar to Pascal-descended languages.
AREAs[edit]
Areas are memory blocks that could be casted to TABLES and OVERLAYS. They are declared in bytes and typically are declared large enough to allow for future expansion. This is due to the desire to upgrade DMS software 'live' without requiring a restart. The modular nature of PROTEL allows relatively small chunks of code to be swapped into a load; if AREAs were planned smartly, this would not affect the placement of modules in memory, thereby avoiding a restart.
MODULEs[edit]
Files usually start with a MODULE declaration: the module is the unit of compilation.
- MODULE mymodulename;
Control Flow[edit]
The switch statement does NOT fall-through as it does in C.
References[edit]
- ^Krishna, Sundeep Sahay, Brian Nicholson, S. (2003). Global IT outsourcing : software development across borders. Cambridge: Cambridge University Press. p. 7. ISBN978-0521816045.
- ^Telesis (3), 1989Missing or empty
|title=
(help) - ^ ab“Experience with a modular typed language: PROTEL”, ICSE '81 Proceedings of the 5th international conference on Software engineering
- ^Dini, P.; Boutaba, R.; Logrippo, L., eds. (1997). Feature interactions in telecommunications networks IV. Amsterdam: IOS Press. p. 23. ISBN978-9051993479.
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Protel&oldid=931355480'