問題タブ [iso-prolog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
235 参照

prolog - 慣用句の好みのためのDCG

手動で作成したDCGルールを使用して、1つの単語よりも慣用句を選択します。DCGルールは次のようになります。

(:-)/2の代わりにが使用されるため、最初の句は手動で作成され(-->)/2ます。この手動で作成された句を、標準のDCGを使用する句に置き換えることはできますか?

よろしくお願いします

PS:ここにいくつかのテストデータがあります:

そして、ここにいくつかのテストケースがあります。重要なテストケースは最初のテストケースです。これは、n3のみを提供し、cons(n1、n2)は提供しないためです。最初のテストケースの動作は、特に望ましいものです。

0 投票する
1 に答える
182 参照

prolog - Prologでファイル長をどのように切り捨てますか?

Prolog でファイルの長さを切り詰めるにはどうすればよいですか?

set_stream_position/2ISO規格の述語しか見つかりません。set_stream_length/2しかし、主要な Prolog システムには述語が見つかりません。

同様に、ストリーム プロパティがありますが、ストリーム プロパティposition/1はどこにもありませんlength/1。後者は を使用するのに役立ちますset_stream_length/2

回避策は何ですか?

さよなら

0 投票する
1 に答える
8459 参照

prolog - Prologオペレーターの優先順位

ユーザー入力は、a:b> c> d>e...などの形式で与えられます。入力を:(a、>(b、>(c、>(d、e)))に解析したいのですが、それは可能でしょうか?それを行うための提案はありますか?これでテストしました

入力は変更できません。どんな提案でもありがたいです。ありがとう!

0 投票する
2 に答える
459 参照

prolog - /3 が翻訳するフレーズを確認する標準的な方法は?

私はGNU Prologの動作を掘り下げようとしています:

フレーズ/3 が何に変換されるかを確認する標準的な方法はありますか?

ISO DCG 提案 (*) によると、expand_term/2 が必要です。これで、次のことを確認できます。

これは、フレーズ/3 が私のテスト/3 でどのように使用されているかを教えてくれますか?

(*) ISO/IEC DTR 13211–3:2006 確定
節文法規則
Klaus Daessler
2012 年 11 月 20 日
http://www.complang.tuwien.ac.at/ulrich/iso-prolog/dcgs/dcgsdin121120.pdf

0 投票する
2 に答える
1087 参照

prolog - プロローグで頭のない節はどういう意味ですか?

Prolog プログラムの冒頭で、次のように表示されます。

頭のない節のようです。どういう意味ですか?

0 投票する
1 に答える
312 参照

prolog - 同じアリティを持つすべての述語を見つける

のようなクエリを提示することは可能ですか?

アリティ 1 を持つすべての述語を返すことができますか? 一般に、変数を使用して述語名を参照することは可能ですか?

0 投票する
2 に答える
437 参照

prolog - プロローグの再割り当て演算子

私はプロローグが初めてで、優先順位を変更してプロローグで演算子を再割り当てしようとしています。次の 4 つのエラーが発生しています。

最初の 2 つで、次のような同様のエラーが表示されます。

モジュロ 1 でもエラー (別のエラー) が発生します%が、引用符で囲む必要がないためだと思われます (しかし、コメント マーカーと区別するにはどうすればよいでしょうか?)。

他の演算子 (加算演算子など:-op(500,yfx,+).) を再定義しましたが、問題はありません。上記の3つだけでエラーが発生します。

誰でもこれに光を当てることができますか?

ありがとう!

0 投票する
1 に答える
6818 参照

javascript - Javascript の Prolog システム

Javascript は、他のプログラミング言語の実装言語として人気が出てきているようです。(C)LP から JavaScript への軽量コンパイルの記事 。ICLP 2012 はこれに注目しました。

Web 上には、Javascript で書かれた Prolog システムの概念実証プロトタイプがたくさんあります。

Javascript で書かれた現在の、積極的に維持されている、できれば ISO 準拠の Prolog システムは何ですか?

0 投票する
2 に答える
716 参照

prolog - HiLog 用語は、現代の Prolog でもまだ有用ですか?

Hilog ターム (つまり、ファンクターとして任意のタームを持つ化合物) は、XSB Prolog (またはその他の Prolog) の強力な機能とみなされますか? 現在、この機能を使用している XSB プロジェクトは多数ありますか? たとえば、どれですか?

私が理解している限りでは、ISO 組み込みの call/N を使用して高次のプログラミングが同様に可能であるため、質問します。

具体的には、XSB が単に歴史的な理由で Hilog 用語を使用しているのか、それとも現在の ISO 標準と比較して Hilog 用語にかなりの利点があるのか​​を理解したいと思います。

0 投票する
2 に答える
382 参照

prolog - Prologのアトムエスケープルール

Javaで任意の用語表現を使用して表現されたPrologプログラムをファイルにエクスポートする必要があります。アイデアは、Prologインタープリターが後で生成されたファイルを参照できるようにする必要があるということです。私の質問は、アトム用語を表すJava文字列をファイルに書き込む正しい方法についてです。

たとえば、文字列の中央にスペースがある場合は、ファイル内で一重引用符で囲む必要があります。

 helloworld      「helloworld」になります

また、エクスポーターは、エスケープする必要のある文字を考慮に入れる必要があります。

 '     '\''になります

誰かが私にこれらの規則が指定された場所を教えてもらえますか?そして:これらの規則が主要なProlog実装者によって尊重されていると仮定できますか?(つまり、これらのルールに従って生成されたPrologプログラムは、ほとんどのPrologインタープリターによって正しく解析されますか?)