알골 60

알골 60(ALGOL 60, ALGOrithmic Language 1960의 준말)은 알골 계열의 컴퓨터 프로그래밍 언어의 멤버이다. BCPL, B, 파스칼, 시뮬라, C 등의 다른 수많은 프로그래밍 언어에 영향을 주었다. 알골 58은 코드 블록 및 이들을 제거할 begin과 end 쌍을 도입하였다. 알골 60은 어휘 범위의 네스티드 함수 정의를 처음 추가한 언어이다.

 역사 
존 배커스는 알골 58에 맞춘 프로그래밍 언어를 기술하는 바쿠스 표기법을 개발하였다. 페테르 나우르는 알골 60에 맞추어 이를 개선하고 확장하였으며 도널드 커누스의 제안에 따라 이름을 바쿠스-나우르 표기법으로 변경하였다.Knuth, Donald E. (1964) Backus Normal Form vs Backus Naur Form. Communications of the ACM 7(12):735-736

 특성 
 알골 60 예비 낱말 및 제한되는 식별자 
표준 Burroughs large systems의 하부 언어에서 35가지 예비 낱말(예약어)이 있다.:
 ALPHA
 ARRAY
 BEGIN
 BOOLEAN
 COMMENT
 CONTINUE
 DIRECT DO
 DOUBLE
 ELSE
 END
 EVENT
 FALSE
 FILE FOR
 FORMAT
 GO
 IF
 INTEGER
 LABEL
 LIST LONG
 OWN
 POINTER
 PROCEDURE
 REAL
 STEP
 SWITCH TASK
 THEN
 TRUE
 UNTIL
 VALUE
 WHILE
 ZIP

표준 Burroughs large systems의 하부 언어에는 71개의 제한된 식별자가 있다:
 ACCEPT
 AND
 ATTACH
 BY
 CALL
 CASE
 CAUSE
 CLOSE
 DEALLOCATE
 DEFINE
 DETACH
 DISABLE
 DISPLAY
 DIV
 DUMP ENABLE
 EQL
 EQV
 EXCHANGE
 EXTERNAL
 FILL
 FORWARD
 GEQ
 GTR
 IMP
 IN
 INTERRUPT
 IS
 LB LEQ
 LIBERATE
 LINE
 LOCK
 LSS
 MERGE
 MOD
 MONITOR
 MUX
 NEQ
 NO
 NOT
 ON
 OPEN OR
 OUT
 PICTURE
 PROCESS
 PROCURE
 PROGRAMDUMP
 RB
 READ
 RELEASE
 REPLACE
 RESET
 RESIZE
 REWIND
 RUN SCAN
 SEEK
 SET
 SKIP
 SORT
 SPACE
 SWAP
 THRU
 TIMES
 TO
 WAIT
 WHEN
 WITH
 WRITE

또, 고유 함수의 이름도 존재한다.

 표준 연산자 
우선 순위연산자 우선 산술  제1  ↑ (power) 제2  ×, / (real), ÷ (integer) 제3  +, - 제2  <, ≤, =, ≥, >, ≠ 제3  ¬ (not) 제4  ∧ (or) 제5  ∨ (and) 제6  ⊃ (implication) 제7  ≡ (equivalence)

 같이 보기 
 알골
 알골 58

 참조 

 참고 문헌 

 B. Randell and L.J. Russell, ALGOL 60 Implementation: The Translation and Use of ALGOL 60 Programs on a Computer. Academic Press, 1964. The design of the Whetstone Compiler. One of the early published descriptions of implementing a compiler. See the related papers: Whetstone Algol Revisited, and The Whetstone KDF9 Algol Translator by B. Randell

 외부 링크 
 Revised Report on the Algorithmic Language Algol 60 by Peter Naur, et al. ALGOL definition
 A BNF syntax summary of ALGOL 60

분류:절차적 프로그래밍 언어
분류:구조적 프로그래밍 언어
분류:알골 프로그래밍 언어 계열
분류:시스템 프로그래밍 언어
분류:ISO 표준 프로그래밍 언어