2011-10-27 9 views
0

私はPrologを初めて使い、いくつかの値が日付であるかどうかをチェックするプログラムを実行しようとしていますが、その言語で何ができるのか分かりません。私は命令を知らない。Prologコマンドのリストはどこにありますか?

例として、文字列の長さを取得したいのですが、これが可能かどうかわかりません。

誰かが私にPrologコマンドのリストを表示できますか?私はJava用のtuPrologを使用しています。

ところで、私がしたいプログラムはこれです:2つまたは3つのパラメータを受け取り、あるタイプの日付であることを確認します(例:10/2000、2011/09、11/03/1191など)。 )。

答えて

1

documentationSICStus Prologについては、その標準ライブラリが記載されている。私はそれのどの部分がPrologの実装のための標準ではないか、それとも標準ではないのか完全には分かっていませんが、それはあなたを助けるかもしれません。

1

tuPrologのユーザーガイドを簡単に見つけることができます:Documentation。第5章では、Prologコマンドについて説明します。

あなたの質問から、私はあなたが文字列として日付を受け取って、日付文字列がどのフォーマットで到着するかわからないと推測します。

私はtext_term/2を参照して、文字列を用語に変換します(私は100%確信していません、私が使用するPrologシステムはそれとは異なる名前の述語を持っています)。これがあれば

Term = D/M/Y 

とテスト:その後、所望の構造の用語で統一用語で、それは、1つのまたは2つのスラッシュが含まれている(または別の形式であるか、全ての日付ではありません)かどうかをテストすることができます有効な日付:

text_term(Text,Term), 
(Term = D/M/Y, valid_date(D,M,Y) -> 
    true 
; Term = M/D/Y, valid_date(D,M,Y) -> 
    true 
; ... 

->は、 "IF-THEN"、;は "他" です。 上記のvalid_date/3と呼ばれる有効な日付をテストする述語を記述する必要があります。

2

tuProlog at this location セクション4.4の組み込み述語のユーザーガイドをチェックアウトできます。

このリンクも参考になる場合があります。 Working with strings in Prolog

と解析のために、tuProlog内のライブラリの一つがDCGsのためであることを考える: Prolog DCG presentation

また、他の人の質問と回答を見ることがプロローグとDCGのためにStackOverflowを検索することができます。

関連する問題