프로텔
Protel프로텔은 "Procedure Oriented Type Equirement Language"를 의미한다. 노텔네트웍스가 만든 프로그래밍 언어로 DMS-100 등 통신 스위칭 시스템에 사용된다.[1][2] 프로텔-2는 프로텔의 객체 지향 버전이다.[3][4]
PROTEL 언어는 디지털 전화의 요구를 충족시키기 위해 설계되었으며, 전환 시스템의 DMS-100 라인의 기초가 된다. PROTEL은 PASCAL과 ALGOL 68에 크게 기반을 둔 강력한 타입의 블록 구조 언어로서, 가변 크기 배열과 확장 가능한 구조를 가지고 있다. PROTEL의 설계자들은 외부 컴파일을 추가하고 언어로 이용할 수 있는 데이터 구조를 확장함으로써 당시의 PASCAL을 상당히 확장시켰다.[3]
변수 및 할당
변수는 파스칼과 유사한 방식으로 선언된다.
- VAR MYVAR: INT;
값을 할당하려면:
- 5 -> MYVAR;
참고: digraph '->는 구어적으로 gazinta 연산자(위 예에서 5는 (=gazinta) MYVAR로 들어가기 때문에)라고 부른다.
'FOO'라는 이름의 문자열 변수를 선언하려면:
- VAR FOO는 차르의 [1..10]이다.
참고: PROTEL은 1부터 배열을 다룬다.
절차들
- PROC myprocname( 인수 목록 ) IS BEGIN...코드... 끝
참고: 블록 범위는 BEGIN과 END로 정의된다.
기능들
- FUNC myfuncname( 인수 목록 ) RETURN INSTANT IS BEGIN...코드... 끝
구조물들
TABLE은 기본 구조다. 선언되어 파스칼어(Pascal descent language)와 유사한 방식으로 사용된다.
유니언스
Overlay는 기본 조합 구조다. 선언되어 파스칼어(Pascal descent language)와 유사한 방식으로 사용된다.
지역들
영역은 TABLE 및 ORVERYS에 캐스트될 수 있는 메모리 블록이다. 그것들은 바이트 단위로 선언되며, 일반적으로 미래의 확장을 허용할 만큼 충분히 크다고 선언된다. 다시 시작할 필요 없이 DMS 소프트웨어 '라이브'를 업그레이드하려는 욕구 때문이다. PROTEL의 모듈적 특성은 상대적으로 작은 코드 덩어리를 로드로 교환할 수 있게 한다. AREA가 현명하게 계획되었다면 이는 메모리 내 모듈 배치에 영향을 주지 않기 때문에 재시작을 피할 수 있다.
모듈
파일은 대개 MODEL 선언으로 시작한다: 모듈은 컴파일 단위다.
- MODE mymodulename;
제어 흐름
스위치 문장이 C에서처럼 통과되지 않는다.
참조
- ^ Krishna, Sundeep Sahay, Brian Nicholson, S. (2003). Global IT outsourcing : software development across borders. Cambridge: Cambridge University Press. p. 7. ISBN 978-0521816045.
- ^ Telesis (3), 1989
{{citation}}: 누락 또는 비어 있음title=(도움말) - ^ a b "모듈식 형식 언어의 경험: PROTEL", ICSE '81년 제5차 소프트웨어 엔지니어링 국제 회의의 절차"
- ^ Dini, P.; Boutaba, R.; Logrippo, L., eds. (1997). Feature interactions in telecommunications networks IV. Amsterdam: IOS Press. p. 23. ISBN 978-9051993479.