에든버러 IMM

Edinburgh IMP
에든버러 IMM
패러다임절차적, 필수적, 구조적
가족알골
설계자브래틀리, 휘트필드, M. M. 배릿, 데이비드 리스, 피터 D. 스코필드, 로데릭 맥리어드, 해미쉬 드워, 피터 D. 스티븐스, 피터 로버트슨
개발자에든버러 대학교
첫 등장1966; 56년 전 (1996년)
타이핑 규율정적, 강력
범위어휘소
구현 언어Atlas Autocode, IMM
플랫폼잉글리시 일렉트릭 KDF9,
ICL System 4, UNIVAC 1108, IBM System/360, DEC PDP-9, DEC PDP-15, CTL Modular One, x86
OSBOS/360, DOS, Windows, Linux
주요 구현
에든버러 IMM
방언
IMM77, IMM80
영향을 받은
ALGOL 60, Atlas Autocode

에든버러 IMM스코틀랜드 에든버러 대학에서 1966-1969년경에 처음 개발된 아틀라스 오토코드의 개발이다. 그것은 시스템 프로그래밍에 많이 사용되었던 범용 프로그래밍 언어다.

표현적으로 IMM은 ALGOL과 매우 유사하며 모든 ALGOL 스타일의 블록 구조, 예약 단어(키워드), 배열, 레코드 등의 데이터 유형 등이 포함된다. 그것은 ALGOL 스타일의 언어에 문자열 유형(문자의 배열은 사전 정의된 크기를 가지고 있지만), 문자열 조작과 문자 처리를 위한 내장 연산자를 추가한다.

IMF는 데이터의 스토리지 매핑에 대한 중요한 제어권을 제공하며, 단어 내에서의 어드레싱을 위한 명령도 제공한다. 대부분의 IMM 컴파일러는 컴파일러가 생성한 런타임 체크와 스택 추적(백트레이스) 기능을 기본적으로 제공하며, 생산 코드에서도 가능하다. IMF는 인라인 어셈블러 기계 언어 지시를 소스 코드로 허용한다.

초기 IMP 컴파일러는 잉글리시 일렉트릭 KDF9, ICL 시스템 4, UNIVAC 1108, IBM 시스템/360, DEC PDP-9, DEC PDP-15CTL 모듈러컴퓨터를 위해 개발되었다. IMF는 에든버러 다중접속시스템(EMAS) 운영체제를 구현하기 위해 사용되었고, ICL 2900 시리즈를 위해 컴파일러를 작성하여 그 플랫폼에 EMAS를 포팅할 수 있도록 하였다. 후에, EDM77이라는 이름의 IMM의 버전은 E딘버러의 컴퓨터 과학 부서 내에 있는 Peter Robertson에 의해 개발되었는데, 이것은 훨씬 더 많은 플랫폼에 IMM을 가져온 휴대용 컴파일러였다. 2002년, IMM77 언어는 DOS, 윈도, 리눅스를 실행하는 인텔 x86 하드웨어를 위한 에든버러 컴퓨터 히스토리 프로젝트에 의해 부활되었고, 에든버러 졸업생과 전직 팟들이 다시 한번 사용하고 있다.

분리된 IMM과 IMM77은 나중에 에딘버러 지역 컴퓨터 센터의 구현에 의해 지원되는 IMM80 표준의 도입으로 하나의 언어로 통합되었다. IMM80은 인텔을 포함한 여러 플랫폼에 포팅되어 1990년대에 활발하게 사용되어 왔다.

에든버러 IMM은 Edgar T가 개발한 후기 IMM 구문 확장 프로그래밍 언어와 무관하다. 아이언스(Irons)는, 수년 동안 국가안전보장국(NSA)에 의해 사용된 주요 언어인 CDC 6600을 위해 사용되었다.

참고 항목

원천

참조

Barritt, M. M.; et al. (July 1970). Edinburgh IMP Language Manual. University of Edinburgh, Edinburgh Regional Computing Centre.