POP-11

POP-11

POP-11해석된 언어의 많은 특징을 가진 반사적이고 점진적으로 컴파일프로그래밍 언어다.본래 서섹스 대학에서 개발한 팝로그 프로그래밍 환경의 핵심 언어로서, 최근에는 메인 팝로그 웹사이트를 호스트하는 버밍엄 대학의 컴퓨터 과학 학교에서 사용되고 있다.

POP-11은 에든버러 대학교에서 개발된 POP-2 언어의 진화로, 오픈 스택 모델(포스와 같은 것, 그 에서도 포스와 같은 것)이 특징이다.주로 절차적이지만 패턴 매처(pattern mather)를 비롯한 선언적 언어구성을 지원하며, 다른 많은 계층의 문제점에 충분한 특징을 가지고 있지만 대부분 인공지능의 연구와 교습에 사용된다.Lisp보다 POP 구문이 더 친숙하다고 생각하는 Pascal과 같은 더 전통적인 언어의 프로그래머들에게 상징적인 프로그래밍 기법을 도입하는 데 종종 사용된다.POP-11의 특징 중 하나는 1등 기능을 지원한다는 점이다.

POP-11은 Poplog 시스템의 핵심 언어다.런타임에 컴파일러와 컴파일러 서브루틴을 이용할 수 있기 때문에(증분 컴파일을 위한 요구 사항) 매크로 시설만 사용할 수 있는 것보다 훨씬 더 광범위한 확장(신규 데이터 유형 추가와 같은 런타임 확장 포함)을 지원할 수 있다.이를 통해 (선택적) 증분 컴파일러를 Prolog, Common Lisp Standard ML에 추가할 수 있게 되었으며, 이 컴파일러는 POP-11 구조를 사용하지 않고 제2 언어로 혼합 언어 개발 또는 개발을 지원하는 데 필요할 때 추가할 수 있었다.이를 통해 한 언어에만 관심이 있는 교사, 연구자, 개발자들이 팝로그를 사용할 수 있게 되었다.POP-11에서 개발된 제품 중 가장 성공적인 것은 ISL이 개발한 클레멘타인 데이터 마이닝 시스템이었다.SPSS가 ISL을 구입한 후 클레멘타인을 C++와 자바에 포팅하기로 결정하였고, 결국 큰 노력으로 (아마도 AI 언어를 사용함으로써 제공되는 유연성의 일부 상실) 성공했다.

POP-11은 한때 값비싼 상업용 패키지(Poplog)의 일부로서만 이용할 수 있었지만, 1999년경부터 다양한 추가 패키지 및 티칭 라이브러리를 포함한 Poplog의 오픈 소스 버전의 일부로 자유롭게 이용할 수 있게 되었다.POP-11을 이용한 ELIZA의 온라인 버전은 버밍엄에서 구할 수 있다.

서섹스 대학에서 데이비드 영은 C, 포트란과 결합하여 POP-11을 사용하여 이미지 처리와 비전을 위한 교육 및 대화형 개발 도구 세트를 개발했으며, 이를 팝비전의 연장선에서 팝로그까지 사용할 수 있게 했다.

단순 코드 예제

간단한 POP-11 프로그램의 예는 다음과 같다.

더블(소스) 정의 -> 결과; 소스*2 -> 결과; 엔드데핀;
더블(123) =>

인쇄된 내용은 다음과 같다.

** 246

여기에는 몇 가지 목록 처리가 포함된다.

;결과, 지수 lvars,[지 않는 한 지수 = 요소 또는 지수 그 지수 요소와 일치하는 지수에 소스에서 -LSB-%;endunless, endfor.%니]]->,시키고, enddefine, RemoveElementsMatching("는",[경우에는 그 고양이는 매트에 앉았습니다]])=>출력는 경우에는[고양이 RemoveElementsMatching(원소, 소스)-> 정의합니다. m에 앉았습니다at] 제거ElementsMatching("the", [[tat] [sat on]))=> ;;;; 출력 [cat] [sat on] RemoveElementsMatching([[=cat]), [[cat]]은 [[big cat]]] =];;; 출력 [[]은 a]이다.

학생들이 '머리'와 '꼬리' 기능(Lisp의 CAR과 CDR)이 접근하는 나무 구조로 패턴을 취급하지 않고도 비교적 쉽게 정교한 목록 처리 프로그램을 개발할 수 있도록 하는 POP-11 패턴 매처(Pattern-11 pattern-processing)를 사용하는 예는 온라인 입문 튜토리얼에서 찾아볼 수 있다.Matcher는 SimAgent(Sim_에이전트) 툴킷의 핵심에 있다.패턴 변수를 인라인 코드 변수에 연결하는 것과 같은 툴킷의 강력한 기능 중 일부는 증분 컴파일러 기능이 없었다면 구현이 매우 어려웠을 것이다.

참고 항목

  • COWSEL(일명 POP-1) 프로그래밍 언어

참조

  • R. 버스타올, A. 콜린스와 R. Popplstone, 1968년 Edinburgh, Pop-2 University Press의 프로그래밍
  • D.J.M. 데이비스, POP-10 사용자 설명서, 컴퓨터 과학 보고서 #25, 웨스턴 온타리오 대학교, 1976
  • S. 하디와 C.Mellish, 'Poplog 환경에서 Prolog를 통합'한 J.A. Campbell, Wiley, 1983년 뉴욕, 페이지 147–162
  • R. Barrett, A, Ramsay, A.Sloman, POP-11: 인공지능을 위한 실용 언어, Ellis Horwood, Chicester, 1985년
  • M. 버튼과 N.애디슨-웨슬리, 1987년 인공지능 POP-11 프로그래밍 샤드볼트
  • J. Laventhol, 1987년 블랙웰 과학 출판사 POP-11의 프로그래밍
  • R. 배럿과 A.Ramsay, 인공지능 실행:팝-11, 엘리스 호우드, 체스터, 1987의 예.
  • M. 샤플스 외, 컴퓨터와 생각, MIT 프레스, 1987. (팝-11을 이용한 인지과학 소개).위에서 참조한 온라인 버전)
  • 제임스 앤더슨, 에드, 팝-11 시대: 엘리스 호우드, 치체스터, 1989년 AI 프로그래밍 언어의 발전
  • G. 가즈다르와 C.Mellish, Natural Language Processing in Pop11/Prolog/Lisp, Addison Wesley, 1989. (온라인 읽기)
  • R. Smith, A. Sloman 및 J. Gibson, POPLOG의 인터랙티브 언어에 대한 2단계 가상 머신 지원, 인지 과학 제5권: 인공지능, Eds. D.Sleeman and N. Bernsen, Lawrence Erlbaum Associates, 페이지 203–231, 1992. (인지과학 연구 보고서 153, School of Informatics, University of Sussex)로 이용 가능.
  • 크리스 손튼과 베네딕트 듀 불레이, 검색을 통한 인공지능, 클루워어 아카데미(Paperback 버전 Intelligence Books) 도드레히트 네덜란드 & 노웰, MA USA(Oxford) 1992년.
  • A. Sloman, Pop-11 Primer, 1999년 (제3판)

외부 링크