我想保持我的Prolog代碼的模塊化,我想知道如果任何人有任何意見,如何做到這一點。我用這種簡單的consult
這樣做的方式,但是隨着我的文件數量增加並且屈服於命名衝突,這變得越來越麻煩。是否有任何類似於「典型」導入的構造,如大規模編程與序言
%-------------------------------------------------------------------- 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) .
%-------------------------------------------------------------------------------%
位於源文件的頂部?如果程序特定,我使用gprolog
。預先感謝您的幫助。
所提到的基於謂詞模塊系統都非常相似,他們是應當開源或商業移植。從一個移植到另一個相對簡單。也就是說,你有幾個可能的提供者。 Logtalk系統非常不同,只有一個來源。 – false
是的,Logtalk是不同的。但是,儘管存在差異,Logtalk在其大部分功能中包含了Prolog模塊,並且能夠將Prolog模塊編譯爲對象。例如,目前的大多數SWI-Prolog基本庫都可以通過將文件擴展名從.pl改爲.lgt來作爲對象進行編譯和使用。 –