PL360
PL360패러다임 | 절차, 필수, 구조화 |
---|---|
가족 | 워스 인식하다 |
설계자 | 니클라우스 워스 조지프 W. 웰스 주니어 에드윈 새터스와이트 주니어 |
개발자 | 스탠퍼드 대학교 |
처음 등장한 | 전 |
타이핑 분야 | 정적, 강력 |
범위 | 어휘(정적) |
구현 언어 | ALGOL, PL360 |
플랫폼 | Burroughs B5000, IBM System/360 |
영향을 받다 | |
ALGOL, 이그제큐티브 시스템 문제 지향 언어(ESPOL) | |
영향받은 | |
알골 W |
PL360(또는 PL/360)은 Niklaus Worth가 설계하고 Worth, Joseph W. Wells Jr. 및 Edwin Satterthwaite Jr.가 작성한 스탠포드 대학의 시스템/360 컴퓨터용 시스템 프로그래밍 언어입니다.PL360에 대한 설명은 1968년 초에 발표되었지만, 구현은 1967년 [1]워스가 스탠포드를 떠나기 전에 완료되었을 것입니다.
묘사
PL/360은 ALGOL과 유사한 구문을 가진 원패스 컴파일러로 어셈블리 언어와 유사한 기계 코드(언어) 명령 및 레지스터를[a] 지정하는 기능을 제공하지만 복잡한 산술식 및 제어 구조 등 고급 프로그래밍 언어에서 일반적으로 볼 수 있는 기능을 제공합니다.Worth는 PL360을 사용하여 ALGOL W를 작성했습니다.
데이터 유형은 다음과 같습니다.[2]: 8
- 바이트 또는 문자– 1 바이트
- 짧은 정수 – 2바이트, 2의 보완 바이너리 표기법에서의 정수로 해석됩니다.
- 정수 또는 논리 – 4바이트, 2의 보완 바이너리 표기법에서의 정수로 해석됩니다.
- [Real] : 4 바이트, 베이스 16(16 진수) 쇼트 부동 소수점 산술 수치로 해석됩니다.
- Long real :8 바이트 (베이스 16 롱 부동 소수점 수치로 해석)
레지스터에는 정수, 실수 또는 긴 실수 중 하나를 포함할 수 있습니다.
개별 시스템/360 명령은 형식 및 작업 코드로 명령을 정의한 PL360 "함수 문"을 사용하여 인라인으로 생성할 수 있습니다.함수 인수는 명령의 필드에 순차적으로 할당되었습니다.예를 들면 다음과 같습니다.
정의. | 언급 | |
---|---|---|
UNPK(10,#F300) | UNPK(3,7,B2,worker) | |
EX(2,#4400) | EX(R1,MVC(0,lines,buffer)) | 주 중첩 참조 |
예
R0, R1 및 R2 및 FLAG는 사전 선언된 이름입니다.
시작한다. 정수 BUCKET; 한다면 플래그 그리고나서 시작한다. BUCKET := R0; R0 := R1; R1 := R2; R2 := BUCKET; 끝. 또 다른 시작한다. BUCKET := R2; R2 := R1; R1 := R0; R0 := BUCKET; 끝. 리셋(플래그); 끝.
실행
워스는 1963년에서 1967년 사이에 스탠포드에 있었고, 그 동안 그는 그의 오일러 컴파일러와 통역을 개발했고, 그 출처는 1965년으로 거슬러 올라간다.또한 1965년 스탠포드는 드럼 메모리 기반의 Burroughs 대형 시스템 B5000을 디스크 스토리지 기반의 B5500으로 업데이트했습니다.
타겟 IBM S/360(기존 IBM 7090을 대체)이 1967년까지 설치되지 않았기 때문에 PL360의 초기 구현은 ALGOL로 작성되어 스탠포드의 B5500에서 테스트되었습니다.작업 후 컴파일러는 PL360으로 인코딩되어 Burroughs 시스템에서 다시 컴파일되어 이진 파일로 S/360으로 이동되었습니다.[ 1 ]
B5500은 ALGOL에서 파생된 고급 언어인 ESPOL(Executive Systems Problem Oriented Language)로 프로그래밍되었으며, PL360은 어셈블러 F와 ESPOL의 주요 설비가 부족했지만 IBM 메인프레임 아키텍처에 동등한 설비를 제공하기 위해 고안되었습니다.프로그래머들이 IBM의 매크로 어셈블러의 구현을 계속 사용하면서 이러한 의도는 대부분 무시되었습니다.
그러나 1970년대 초에 PL360은 더 많은 기능을 제공하기 위해 확장되었으며, 스탠포드의 데이터베이스 관리 시스템인 SPIES(Stanford Physical Information Retrieval System)를 개발하기 위해 선택된 프로그래밍 언어였습니다.
「 」를 참조해 주세요.
메모들
- ^ 하지만 부적절한 주소 지정에 대한 설비가 부족하다.
USING
레퍼런스
- ^ Wirth, Niklaus (January 1968). "PL360, a Programming Language for the 360 Computers". Journal of the ACM. 15 (1): 34–74. doi:10.1145/321439.321442.
- ^ Wirth, Niklaus (December 24, 1965). A Programming Language for the 360 Computers (PDF) (Technical report). Stanford University. CS33.
외부 링크
- Wirth, Niklaus (December 24, 1965). A Programming Language for the 360 Computers (PDF) (Technical report). Stanford University. CS33.
- Malcolm, Michael A. (May 1972). PL360 (Revised) A Programming Language for the 360 Computers (PDF) (Technical report). Stanford University. STAN-CS-71-215r.