問題タブ [dcg]

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 投票する
2 に答える
2292 参照

prolog - (swi)プロローグのファイルから整数を読み取るための述語

swi-prologのIOマニュアルページを閲覧していましたが、ファイル/ストリームから整数(または数値)を読み取るための述語が見つかりませんでした。グーグルでも何も見つかりませんでした:|

私はそれを書く方法を知っています、私はそれがより速いだろうと思うので、何かが組み込まれているのかどうか疑問に思っています。

0 投票する
3 に答える
319 参照

list - 葉からの情報をリストに入れる

木の葉の情報をリストに載せるプログラムを書きたい。私はこれをやってみました:

しかし、それは私に与えますL=[_A]。何故ですか?

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

prolog - プロローグ --> 演算子-演算子が必要

大学でのタスクの例として、いくつかのコードを受け取りました。私は彼らの例を実行しようとしているので、実際の例を見て、必要な同様のものを作ることができます。そこにあるほとんどのエラーを修正しました(「-->」ではなく「-->」がありました)が、それでもエラーメッセージが表示されます。

最後の行のようなものを使用したことがないので、エラーが何であるかわかりません。「-->」演算子については、これまで使用したことがなかったので、リンクがあると思いましたが、有用なものは何も見つかりませんでした。私はswi-prologを使用しています。

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

prolog - 再帰的なsicstusプロローグ関数を書き直します

私の目標は、次のような情報を提供することです。

この出力で:

そして、このコードを使用すると、ツリーの葉の数がカウントされます。

入力としてツリーではなくリストを関数に与えるだけで、目的の出力を取得できます。例:

ここでの唯一の問題は、引数が間違った順序で取得されることです(つまり、build_tree(L、T)ではなくbuild_tree(T、L))。

では、どうすれば同じ結果を生成できますが、入力引数を単純に入れ替えることができますか?私はすべての「明白な」解決策(変数を入れ替える)を試しましたが、再帰的な方法であるため、見た目ほど簡単ではないかもしれないと推測しています。

0 投票する
5 に答える
2491 参照

prolog - 中括弧を含む文法

プロローグで DCG 文法を解決しようとしていて、ある程度まで成功しました。これらのような中括弧を含む式の評価に行き詰まっています。 expr( T, [’(’, 5, +, 4, ’)’, *, 7], []),

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

prolog - Prolog での式ツリーの構築

Prolog で Expression Tree を構築する方法を探しています。私はすでにいくつかの実験を行い、次の作業コードを思いつきました(定数とプラス式のみを処理します):

このアプローチに代わるより簡単な方法はありますか? プログラムに追加する予定の演算子ごとに、これら 4 つのケースを定義する必要がありますか?

0 投票する
4 に答える
711 参照

prolog - プロローグで「左のどこか」を表す方法は?

プロローグで、「どこか左へ」という状況をどう表現するか。たとえば、リスト "List" と 2 つの用語 "X" と "Y" があり、規則を表す方法: X はリスト内の Y の左側にあります。

0 投票する
3 に答える
3287 参照

prolog - Prolog ベースのインタープリター

私はすでに関数型プログラミングに慣れてきました。私は Haskell と PLT スキームに精通しています (熟練していませんが)。私は PLT スキームを使用して、玩具言語 (PLAI を参照) 用の小さなインタープリターを作成しました。命令型言語の方が得意です。

Prolog で選択したおもちゃの言語の小さなインタープリターを構築するために使用できるリソースを誰か教えてもらえますか?

0 投票する
4 に答える
177 参照

list - ファクトの順序を変更すると、述語の動作が変わるのはなぜですか?

これが私の最初のアイデアです。

を実行しようとすると-? perm([1, 2, 3], P).、スタックオーバーフローの問題が発生しました。

ただし、2つのステートメントの順序を変更すると、機能します。

なんで?私はPrologの初心者です。助けてください。

0 投票する
3 に答える
3086 参照

io - テキストファイルを読み込んでPrologのファイルに印刷するにはどうすればよいですか?

テキストファイルがあり、それを読み込んで画面に印刷し、新しい出力ファイルに書き込みたいと思います。だから私がこれまでにやったことは

しかし、私は次のようなエラーメッセージを受け取っただけです。

私は何をすべきか?