[프로그래밍 언어론 과제] 7. Prolog 로 팩토리얼 구현
Prolog란? Prolog는 1973년 개발된 논리지향적 언어다. 특히 술어논리(Predicate Logic)에 기반을두고 있다. 인공지능 언어의 초기인 LISP 보다는 규모가 작아서 더 다양한 종류의 컴퓨터에서 실행 가능하다. Prolog 문법 1) Atom(상수) - 자바에서의 String과 의미가 유사 - 항상 소문자로 시작 - 문자, 숫자, 언더바, ' 로 구성된 데이터 예시) dog, 'hi', chung_god 2) Number(상수) - 숫자 의미 예시) 1, 100, 56, 12.5, -23 3) Variable(변수) - 단어에 뜻대로 변수를 뜻하고 대문자로 시작 예시) A, B, C 과제 목적 Prolog 를 통해서 계승 프로그램 순환, 반복 버전 작성 여기서 순환은 재귀, 반복은 반..
2021. 5. 21.
[프로그래밍 언어론] 10. 구문론2
syntax 나타내는 방법 문법 가장 작은 계층 정규(reg),CFG,CSF,UG Context-Free Grammar (N,T,P,S) 비단말기호, 단말기호, 생성규칙, 시작기호 Derivation -> Parse Tree (시간) Derivation Ambiguity Grammar 의 결합순서등을 잘못 이해하면 모호해짐 parse tree 가 여러 개 나옴 -> 모호 아래의 parser는 +* 을 통해서 중복되는 parse tree가 만들어짐 모호성을 없애는 방법 Associativity 를 넣음, 같은 수준에서 만들 수 있기 때문에 모호성이 생김 왼쪽 오른쪽 둘다 트리를 만들 수 있는 게 아니라 한쪽만 넣을 수 있게 한다. 아래에서 곱하기 같은 경우 깊이 2 에서만 할 수 있음 term 에서만 만들..
2021. 4. 14.