대화형 ALGOL 68

Interactive ALGOL 68

ALGOL 68용 인터랙티브 ALGOL 68 컴파일러는 1984년부터 Algol ApplicationsPeter Craven에 의해 이용 가능하게 되었다.[1]그 후 1994년 OCCL (Oxford and Cambridge Compilers Ltd)에서 2004년까지.[2]

플랫폼

표준 ALGOL 68로 확장

  1. 소스 코드 및 소스 코드 버전을 포함하는 기능.
  2. 내포 가능한 주석
  3. 배열 루핑을 위한 FORALL 구문 요소.
  4. ANYMODE는 컴파일러에 알려진 모든 모드의 조합으로, 따라서 동적 타이핑을 한다.
  5. 스트링거가 "강력한" 강제력을 허용하는 강화된 강제력(캐스팅)
  6. 구조화 유형에서 구조체(유형)로 변수를 자동으로 강제 적용
  7. UNION(SHINT, MUDS)을 GINT에 준수하지만, 현재 유니온 무드가 아닐 경우 런타임 오류가 발생한다.
  8. 기본 운영 체제 및 기타 라이브러리에 대한 라이브러리 인터페이스.
  9. 연산자 SIZE
  10. 부울 식의 단락 회로 평가를 위한 의사 연산자 ANTH 및 ORL, ANF 및 ORF.
  11. 배열은 요소의 하위 집합을 선택하기 위해 계단식 슬라이스가 될 수 있다.
  12. MOID는 다르게 취급된다.

코드 예제

모듈 벡터 시작 INT dim=3; 모드 벡터 = [dim]REAL;     OP + = (VECTOR a, b) VECTOR: ( VECTOR out; FOR i FROM LWB a TO UPB a DO out:=a[i]+b[i] OD; out ),        - = (VECTOR a, b) VECTOR: ( VECTOR out; FOR i FROM LWB a TO UPB a DO out:=a[i]-b[i] OD; out ),        DOT = (VECTOR a, b) REAL: ( REAL out:=0; FOR i FROM LWB a TO UPB a DO out+:=a[i]*b[i] OD; out ); END KEEP VECTOR, +, -, DOT

표준 ALGOL 68의 언어 제한

  1. 변수, 모드 및 연산자는 사용하기 전에 선언되어야 한다.
  2. 익명 절차는 행 선언자를 매개 변수로 사용할 수 있다.
  3. 유연한 어레이의 임시 하위 이름 없음
  4. 포맷된 Transput(또는 형식 텍스트)이 없음.
  5. Transput 중 다중 값 직선 사용 제한
  6. BYTES, BITS 및 BOOL의 제한적 사용.
  7. EX를 따르도록 라벨 사용 제한IT 설명.

참고 항목

참조

  1. ^ "AB52.3.1: Survey of Viable ALGOL 68 Implementations". Archived from the original on September 27, 2007. Retrieved April 26, 2007.
  2. ^ "Oxford and Cambridge Compilers Ltd Home Page". Archived from the original on June 12, 2004. Retrieved April 26, 2007.

외부 링크