RTL/2

RTL/2
RTL/2
패러다임다중 패러다임: 명령적, 구조적, 실시간
가족알골
설계자J.G.P.반스
개발자제국 화학공업
첫 등장1972년; 50년 전 (1998년)
타이핑 규율정적, 강력, 안전, 구조적
범위어휘소
플랫폼PDP-11, VAX
OS크로스(멀티) 플랫폼RSX-11M, VMS
방언
없는
영향을 받은
알골 68

RTL/2(Real-Time Language)는 J.G.P.반스가 ICI(Industrial Chemical Industries, Ltd. ICI)에서 개발한 실시간 컴퓨팅에 사용하기 위한 단종된 고급 프로그래밍 언어다.원래는 ICI에서 내부적으로 사용되었으나 1974년 SPL 인터내셔널에서 배포하였다.[1]ALGOL 68의 개념에 근거한 것으로, 작고 단순한 것을 의도했다.[2][3][4]RTL/2는 1980년 영국 표준 협회에 의해 표준화되었다.[5]

언어 개요

RTL/2의 데이터 유형은 별도의 컴파일이 있는 강하게 입력되었다.편찬 단위에는 벽돌이라는 항목이 하나 이상 들어 있었다.

  • 프로시저 브릭
  • 데이터 브릭
  • 벽돌 쌓기

절차 브릭은 (scalar) 값을 반환하거나 반환하지 않거나, (scalar) 매개변수를 가지거나, 국부(scalar) 변수를 가질 수 있는 절차였다.지역 변수의 진입 메커니즘과 구현이 재입찰되었다.비 스칼라 데이터는 참조를 통해서만 접근할 수 있었다( 소위 REF 변수를 스칼라로 간주했다).

데이터 벽돌은 스칼라, 배열, 레코드의 명명된 정적 수집이었다.힙이나 가비지 수집이 없어 프로그래머들은 메모리 관리를 수동으로 구현해야 했다.

스택 브릭은 단일 프로세스의 모든 절차를 실행하기 위해 예약된 저장 영역이며 통화 스택, 지역 변수 및 기타 하우스키핑 항목이 포함되어 있다.스택 브릭을 사용하는 범위는 RTL/2 프로그램이 실행되는 호스트 환경에 따라 달라졌다.

RTL/2 프로그램의 호스트 환경에 대한 접근은 SVC 절차SVC 데이터라고 불리는 특별한 절차와 데이터 벽돌을 통해 제공되었다.이러한 것들은 RTL/2에서 액세스할 수 있었지만 호스트 환경에서 다른 언어로 구현되었다.

안녕 세계

제목 Hello World; LET NL=10; EXT PROC(REF 어레이 바이트) TWRT; ENT PROC RRJOB(); TWRT("Hello World#NL#"), RETUR(1); ENDPRC;

임베디드 조립체

RTL/2는 어셈블리 언어로 컴파일하고CODERTL/2 소스 코드에 어셈블리 언어를 포함할 수 있는 문장.시스템 프로그래밍 옵션(CN:F)으로 컴파일된 경우에만 사용 가능

CODE문에는 두 개의 피연산자가 필요하다: 코드 삽입에 사용되는 바이트 수와 사용된 스택의 바이트 수입니다.

코드 명세서 내에서 RTL/2 변수에 접근하기 위해 두 개의 트립 문자를 사용한다.이는 운영 체제에 따라 달라진다.RSX-11M을 실행하는 DEC(Digital Equipment Corporation) PDP-11VMS를 실행하는 VAX에서 트립 문자는*그리고/.

운영 체제에 따라 세부 사항이 달라졌지만 VAX/VMS에 코드를 삽입한 예는 다음과 같다.

코드 6,0; JMP 코드_ENT ; 이 코드 삽입은 새로운 psect로 점프할 때 고정된 길이로 설정될 수 있다. ; 이 방법은 특히 VMS와 같은 시스템에 유용하다. ; 명령은 가변적이다. .Save_P섹트 ; 현재 프로그램 저장 섹션 .P섹트 ASMB_CODE,EXE,NOWRT, 코드_ENT: 모빌 *PARAM1(AP),*카운터/마이데이터 JMP 코드_EX .RESTORE_P섹트 코드_EX: *RTL 

이 코드 삽입은 RTL/2 절차에 전달된 변수 값을 명명된 변수로 이동시킨다.COUNTER명명된 데이터 벽돌로MYDATA.

예약어

  • ABS
  • AND
  • 배열
  • 블록
  • BY
  • 바이트
  • 코드
  • 데이터
  • DO
  • 기타
  • 엘시프
  • 끝 블록
  • 엔드 데이터
  • 엔드프로크
  • 엔티
  • EXT
  • for
  • 프락
  • 에 가다
  • 헥스
  • IF
  • INT
  • 라벨
  • 랜드
  • 길이
  • LET
  • 로르
  • MOD
  • NEV
  • NOT
  • 10월
  • OF
  • 옵션
  • OR
  • 프로시저
  • 진짜
  • REF
  • RP
  • 리턴
  • RTL
  • SHA
  • SHL
  • SLA
  • SLL
  • SRA
  • SRL
  • 쌓다
  • SVC
  • 스위치
  • 그럼
  • 제목
  • 그러는 동안

참조

  1. ^ Barnes, J.G.P. (September 1980). "The Standardisation of RTL/2". Software: Practice and Experience. Wyley. 10 (9): 707–719. doi:10.1002/spe.4380100904. S2CID 5050804.
  2. ^ RTL/2 언어 규격
  3. ^ "The Encyclopedia of Computer Languages". Archived from the original on 10 March 2011.
  4. ^ Barnes, J.G.P. (1 January 1976). RTL/2 design and philosophy. Heyden. ISBN 978-0855012243.
  5. ^ BS 5904:1980: Specification for computer programming language RTL/2. British Standards Institution. 30 September 1980. ISBN 978-0580114410.

SPL 문서화

SPL은 RTL/2에 대한 광범위한 문서를 발행했다.그러한 문서에는 각각 참조 번호가 할당되었다.다음은 불완전한 목록이다.

RTL/2 Ref 1  – RTL/2 Language Specification RTL/2 Ref 2  – Introduction to RTL/2 RTL/2 Ref 3  – RTL/2 Training Manual RTL/2 Ref 4  – System Standards RTL/2 Ref 5  – Stream I/O RTL/2 Ref 18 – Hints on writing RTL/2 Programs RTL/2 Ref 26 – Language Reference Card RTL/2 Ref 39 – Run time environment on the PDP-11 RTL/2 Ref 63 – User Manual for the PDP-11 RSX-11M RTL/2 Ref 107 – VAX/VMS RTL/2 사용 설명서 RTL/2 REF 130 – VAX의 RTL/2 32비트 실행 시간 환경