팩트(컴퓨터 언어)

FACT (computer language)
팩트
패러다임절차, 명령
설계자Honeywell, 컴퓨터 과학 회사
첫 등장1959 (1959)
영향받은
코볼

팩트1959년 미니애폴리스 허니웰의 데이터마틱 부서가 모델 800 시리즈 비즈니스 컴퓨터를 위해 만든 초기 단종된 컴퓨터 프로그래밍 언어다. FACT는 "Fully Automatic Composing Technology"[1]의 약자였다. COBOL 프로그래밍 언어의 설계에 영향을 미쳤다.

팩트의 일부 디자인은 C.K에 의해 1925년경에 개발된 언어 프로젝트인 Basic English에 기초하였다. 오그덴.

이 소프트웨어는 실제로 허니웰의 리차드 클리핑거와 계약을 맺고 컴퓨터 사이언스 주식회사(Fletcher Jones, Roy Nutt, Robert L. Patrick)에 의해 설계되었다.

COBOL에 대한 기여

팩트는 COBOL의 설계에 영향을 미쳤으며, 모든 COBOL 설명서에서 인정된 3개의 이전 언어 중 하나이다.

FACT의 몇 가지 요소가 COBOL에 통합되었다.

  • 그룹 항목 및 기본 항목을 사용하여 데이터를 수준으로 정의
  • 정의되는 데이터에 초기 값 할당(VALUE 절이다.
  • 특정 필드에 허용되는 리터럴 값의 제한된 목록 지정(88 데이터 항목을 수준별로 구분하십시오.
  • 원하는 보고서의 외관(COBOL-66의 보고서 섹션) 지정에 기초한 비절차적 보고서 생성기.
  • 데이터 이름 검증(Data name)IN 또는 OF 절이다.
  • 이름이 같은 항목의 그룹 이동(MOVE CORRESPONDING).
  • 절차서에 대한 유효성 검사 (ON ERROR 절이다.
  • 붙박이 SORT 기능을 하다

구현

Honeywell이 팩트의 작업 버전을 발매한 적이 있는지 확실하지 않다. 언어는 설계되었고, 상세한 명세서(참고문헌 참조)가 발표되었지만, "컴퓨터과학공사도 팩트(FACT) 구현 계약을 가지고 있다"고 되어 있어, 당시에도 구현 작업을 계속하고 있었음을 시사한다. 그 무렵, 쇼트 레인지 위원회는 COBOL을 개발하기 시작했고, CSC의 3대 교장 중 한 명인 로이 너트는 COBOL에 관한 위원회와 협력하기 시작했다. 그가 팩트를 실행하기 위해 돌아온 적이 있는지, 아니면 Honeywell이 그들의 프로그래밍 노력을 COBOL 컴파일러에 집중시켰는지는 확실하지 않다.

그러나 [2]PRATE는 1960년대와 1970년대 초에 호주 국방부에 의해 사용되었다.[clarification needed][clarification needed]

샘플 프로그램

FACT 명세서의 단순 급여 신청서에 나오는 다음의 코드 샘플은 FACT의 고정 형태 성격과 COBOL과의 유사성을 보여준다.

파일 개요:

O   1       RU   상세-파일, (상세),(D) O   2             날짜 O   3               O   4              데이 O   5              연도 O   6            *직원-기록 O   7              직원-NO, (고용인노) O   8             *신입 사원,(NW) O   9               이름 O  10               요금 O  11               면제,(면제) O  12               본드-공인,(보세교) O  13               본드-디노미네이션,(본데넘)  O  30        I   내부-FILE1 O  31             작업 데이터 O  32     11 D     일괄 처리-섬 O  33     11 D     배치-숫자 O  34     11 D     배치-카운트   O O  35     11 D 1   시간의 합계 O  36     11 D     카드 삽입-배치  O 

출처 문:

P  85 본드 절차.  쓰기 본드 오더 AND 빼기 1 From NUM. P  86 P  87 참고.  위상 I OF 샘플 프로그램.   다음 절차들 이다 사용했다  P  88      Make 집단 체크스   카드 읽기 통과하다. P  89 P  90 합계 절차.  추가 RP 몇시간.  시간의 합계.  추가 1  카드인- P  91      -집단. P  92 P  93 배치-체크 절차.  IF 일괄 처리-섬 IS NOT 이퀄  시간의 합계 OR 집단- P  94      -카운트 IS NOT 이퀄  카드 삽입-배치 참조 BAD-Batch.  세트 시간의 합계 P  95      AND 카드 삽입-배치  . P  96 P  97  BAD-Batch 절차.  역행 새-마스터.  가까운. 페이지 OF 오류-보고서. P  98 P  99            L.  놓다 제로스 INO 프린트라인.  세트 NUM  8. P 100 P 101            빌드.  놓다 고용인노 AND RP 몇시간. INO (NUM)TH EN AND EH. 후보선수- P 102       트랙스 1 From 카드 삽입-배치 AND NUM.  IF 카드 삽입-배치 IS  쓰기 P 103       오류-보고서, 역행 새-마스터, 떠나다 절차.  얻다 다음 그룹. P 104       IF NUM IS  쓰기 오류-보고서 AND 바둑  L, 그렇지 않으면 리턴  P 105       빌드.  OF 절차. 

보고서 설명:

R   1  40오류-보고서 A   2 페이지 제목      HDEJ 2 F   3 배치-숫자                            24집단 아니요..   ^ F   4 페이지 번호                 1           43 오류    페이지  ^ A   5 기둥-제목   HD   3 F   6                                         30EMP.아니요.. 몇시간.  EMP.아니요..몇시간.^ F   7                                         60EMP.아니요.. 몇시간.  EMP.아니요..몇시간.^ F   8                                         90EMP.아니요.. 몇시간.  EMP.아니요..몇시간.^ F   9                                        120EMP.아니요.. 몇시간.  EMP.아니요..몇시간.^ A  10 오류-라인        OO   1 F  11 1세인트 EN                                   8     ^ F  12 1세인트 RH                                  14  .^ F  13 2ND EN                                  23     ^ F  14 2ND RH                                  29  .^ F  15 3RD EN                                  38     ^ F  16 3RD RH                                  44  .^  R 101  4오본도어 A 102 본드-헤딩      HDEJ 2 F 103 BPAGE                        1 A 104 본드오더-라인    OO   1 F 105 M 고용인노 F 106 M 이름 

보고서 레이아웃:

L   1  페이지 제목                 집단 아니요..   ^  오류   페이지 ^ L   2  기둥-헤딩     EMP.아니요.. 몇시간.  EMP.아니요.. 몇시간.  EMP.아니요.. 몇시간.  EMP.아니요.. 몇시간.  EMP.아니요.. 몇시간.  EMP.아니요.. 몇시간.  EMP.아니요.. 몇시간.  EMP.아니요.. 몇시간. L   3  오류-라인               ^    .^        ^    .^        ^    .^        ^    .^        ^    .^        ^    .^        ^    .^        ^    .^ L   4  본드-헤딩       본드 주문  EMP. 아니요..     이름           날짜       본드    페이지   ^ L   5  본드오더-라인                        ^                ^   ^- ^- ^      . ^ L   6  델헤딩        종료  EMP. 아니요..   날짜        이름         본드 CR. 합계.. 그로스     세금     피카   인슈어    RET     페이지  ^ L   7  삭제-라인                         ^   ^- ^- ^                ^      . ^              . ^      . ^     . ^     . ^     . ^ L   8  오류-헤딩      오류...    EMP. 아니요..    날짜         유형         페이지  ^ L   9  오류-라인                            ^    ^- ^- ^                 ^ L  10  제목-라인         장소 체크   프린터 L  12 1페이라인                       ^             ^/ ^/ ^                                                 .^     ^/ ^/  ^ L  13 2페이라인                                                                          . ^     . ^     . ^     .^      . ^ L  14 3페이라인                                    ^        $****. ^                                     . ^             . ^ 

원천

  • Jean E. Sammet (1969). PROGRAMMING LANGUAGES: History and Fundamentals. Englewood Cliffs, N.J: Prentice-Hall. pp. 316–324. LCCN 68028110. OL 5619276M.
  • FACT Fully Automatic Compiling Technique A New Business Language (PDF). 1960. 160-2M.

참조

  1. ^ FACT Fully Automatic Compiling Technique (PDF). Honeywell Electronic Data Processing. 1960. DSI-27.
  2. ^ Clippinger, R. F. (1 August 1962). "Fact". The Computer Journal. 5 (2): 112–119 (118 - Experience with the use of FACT). doi:10.1093/comjnl/5.2.112. ISSN 0010-4620.