dcg

    5

    2答えて

    私はリストを検索と置換によって変更しようとしていますが、検索用語をリストとして検索するにはどうすればいいですか? [1,2,3,4]私は2と3を選び出すと5,6 とそれを交換したいので、理想的に、私は、述語を持つことができ、私はリストを持っているとしましょう: search_and_replace(Search_Term, Replace_Term, Target_List, Result_Lis

    3

    3答えて

    私はXとYがリストZsに隣接している場合trueとして、プロローグ adjacent(X,Y,Zs)でルールを記述しようとしています。 私は現在持っている: append([],L,L). append([H|T],L,[H|LT]):-append(T,L,LT). sublist(S,L):-append(_,S,P),append(P,_,L). adjacent(X,Y,Zs):-s

    3

    1答えて

    エクステンデッドDCGテストケースを探しています。なく、その脱糖 能力の点で得 変換ルールの挙動の点でDCG プロセッサの正しい機能をチェック テストケースを意味します。 私はネット上で一度このようないくつかのテストケースを見ましたと思います。 しかし、私はそれらのトラックを失った。 (同じここで:http://www.sju.edu/~jhodgson/wg17/dcgs.pdf) http:/

    0

    1答えて

    私はuniのタスクの例としていくつかのコードを受け取りました。私は彼らの例を実行しようとしているので、必要なものと同様のものを作るための実例を見ることができます。私はそこにあるエラーのほとんどを修正しましたが( " - >"ではなく " - >")、それでもエラーメッセージが表示されます。 example.pl:4:0: Syntax error: Operator expected % exa

    7

    2答えて

    私はすでに機能プログラミングに慣れてきました。私は、HaskellとPLT Schemeには慣れ親しんでいます(しかし、堪能ではありません)。私はPLT Schemeを使用して、おもちゃの言語用の通訳をほとんど作っていません(PLAIを参照しています)。 私はPrologで私が選んだおもちゃの言語の小さな通訳を作るために使うことができるリソースに誰かを案内できますか?

    3

    5答えて

    Prologに述語palindrome/1を書き込もうとしていますが、リスト入力が回文リストである場合にのみ真です。例えば : ?- palindrome([1,2,3,4,5,4,3,2,1]). が真です。 アイデアや解決策はありますか?

    1

    3答えて

    私はテキストファイルを持っていて、それを読み込んで画面に出力し、それらを新しい出力ファイルに書きたいと思います。それでは、私がこれまで行ってきたことは main :- open('text.txt', read, ID), % open a stream repeat, % try again forever read(ID, X), % read from

    2

    1答えて

    次のコードは、Find w/Replaceのすべての数字をRequest &に置き換えるDCGです。答えはResultです。マットのおかげで、コードはthis questionになりました。 eos([], []). replace(_, _) --> call(eos), !. replace(Find, Replace), Replace --> Find, !,

    9

    2答えて

    私はPrologのDCGに非常に感銘を受けています。 しかし、私はこの検索を他の制約と組み合わせたいと思います。たとえば、複雑な文法を定義し、Prologに10語以下のすべての文を生成するように依頼します。または、同じ単語を2度繰り返さないすべての文章。 このような余分な制約をDCG文法に追加することは可能ですか?あるいは、私は基本的にDCGを通常のProlog句に変換して修正する必要がありますか

    6

    2答えて

    、Prologであなたは機能をキャプチャ: foo(feature(X)) --> [X], bar. は、この共通の設計DCGsですか? foo(featureA(X), featureB(Y)) --> [X], [Y], bar.