Tôi đang cố gắng giữ mã Prolog của mình theo mô-đun và tôi tự hỏi liệu có ai có lời khuyên nào về cách thực hiện điều này không. Cách tôi đã làm điều này với đơn giản consult
s, nhưng đó là nhận được cồng kềnh như số lượng các tập tin của tôi tăng và chống chọi với tên cuộc đụng độ. Có bất kỳ cấu trúc nào tương tự như cấu trúc của nhập "điển hình", chẳng hạn nhưLập trình ở quy mô lớn với prolog
%-------------------------------------------------------------------- compiler.pl
[ scanner, parser, codegen ] .
%-------------------------------------------------------------------- compile
% compile(S, I) :- Compiling the source string S gives the list of instructions
% I
compile(S, I) :- scan(S, T), parse(T, A), codegen(A, I) .
%-------------------------------------------------------------------------------%
ở đầu tệp nguồn? Nếu nó là chương trình cụ thể, tôi đang sử dụng gprolog
. Cảm ơn trước sự giúp đỡ nào.
Các hệ thống mô đun dựa trên biến vị ngữ được đề cập đều rất giống với nguồn mở hoặc thương mại. Chuyển từ một đến khác là tương đối đơn giản. Đó là, bạn có một số nhà cung cấp có thể. Hệ thống Logtalk khá khác biệt và chỉ có một nguồn. – false
Có, Logtalk là khác nhau. Tuy nhiên, mặc dù có sự khác biệt, Logtalk áp dụng các mô-đun Prolog trong hầu hết các chức năng của chúng và có thể biên dịch các mô-đun Prolog thành các đối tượng. Ví dụ, hầu hết thư viện cơ bản SWI-Prolog hiện tại có thể được biên dịch và sử dụng làm đối tượng bằng cách chỉ thay đổi phần mở rộng tên tệp từ .pl thành .lgt. –