프로그램 상태
프로그램 상태
Prolog 프로그램을 로드하고 나열하는 술어들을 설명해요.
본문
consult/1, '.'/2 - 프로그램 consult
Templates
consult(+atom_or_atom_list)
'.'(+atom, +atom_list)
Description
consult(Files)는 리스트 Files의 각 파일을 컴파일하여 메모리에 로드해요. 각 파일은 GNU Prolog 컴파일러(4.4절)를 사용해 바이트코드로 컴파일된 다음 load/1(8.23.2절)을 사용해 로드돼요. 파일 이름으로 user를 지정해 터미널에서 직접 프로그램을 입력할 수 있어요. Files는 단일 파일 이름(즉 원자)일 수도 있어요. Prolog 프로그램의 consult에 관한 더 자세한 내용은 해당 절(4.2.3절)을 참조해요. 파일의 최종 파일 이름은 prolog_file_name/2(8.26.4절)와 absolute_file_name/2(8.26.1절) 술어를 사용해 계산돼요.
[File | Files], 즉 '.'(File, Files)는 consult([File | Files])와 동일해요.
버전 1.4.0부터 shebang 지원이 도입되면서, consult/1은 직접 #로 시작하는 Prolog 소스 파일의 첫 줄을 무시해요. shebang 지원과 PrologScript에 관한 자세한 내용은 4.2.4절을 참조해요.
Errors
- Files가 부분 리스트이거나 변수인 요소 E를 가진 리스트 —
instantiation_error - Files가 부분 리스트도 리스트도 아니고 원자도 아님 —
type_error(list, Files) - Files 리스트의 어떤 요소 E가 변수도 원자도 아님 —
type_error(atom, E) - Files 리스트의 어떤 요소 E가 원자이지만 유효한 경로명이 아님 —
domain_error(os_path, E) - Files 리스트의 어떤 요소 E가 유효한 경로명이지만 기존 소스에 대응하지 않음 —
existence_error(source_sink, E) - 지시자를 실행하는 동안 오류 발생 —
call/1오류 참조(7.2.3절)
Portability: GNU Prolog 술어.
load/1
Templates
load(+atom_or_atom_list)
Description
load(Files)는 리스트 Files의 각 파일을 메모리에 로드해요. 각 파일은 GNU Prolog 컴파일러(4.4절)를 사용해 이전에 바이트코드로 컴파일되어야 해요. Files는 단일 파일 이름(즉 원자)일 수도 있어요. 파일의 최종 파일 이름은 absolute_file_name/2(8.26.1절) 술어를 사용해 계산돼요. 접미사가 주어지지 않으면 파일 이름에 .wbc가 추가돼요.
Errors
- Files가 부분 리스트이거나 변수인 요소 E를 가진 리스트 —
instantiation_error - Files가 부분 리스트도 리스트도 아니고 원자도 아님 —
type_error(list, Files) - Files 리스트의 어떤 요소 E가 변수도 원자도 아님 —
type_error(atom, E) - Files 리스트의 어떤 요소 E가 원자이지만 유효한 경로명이 아님 —
domain_error(os_path, E) - Files 리스트의 어떤 요소 E가 유효한 경로명이지만 기존 소스에 대응하지 않음 —
existence_error(source_sink, E) - 지시자를 실행하는 동안 오류 발생 —
call/1오류 참조(7.2.3절)
Portability: GNU Prolog 술어.
listing/1, listing/0
Templates
listing(+predicate_indicator)
listing(+atom)
listing
Description
listing(Pred)는 술어 지시자(predicate indicator)가 Pred인 consult된 술어들의 절을 나열해요. Pred는 단일 원자일 수도 있는데, 그 경우 이름이 Pred인 모든 술어(어떤 항수든)가 나열돼요. 이 술어는 portray_clause/2(8.14.8절)를 사용해 절을 출력해요.
listing은 모든 consult된 술어들의 모든 절을 나열해요.
Errors
- Pred가 변수 —
instantiation_error - Pred가 변수도 술어 지시자도 원자도 아님 —
type_error(predicate_indicator, Pred)
Portability: GNU Prolog 술어.