文字列が特定のパターンに一致するかどうかを確認する必要があるプログラムを作成しています。今のところ、20 を優に超える異なる定義を持つルールに一致するパターン (S) として、これを Prolog に実装しています。
パターン チェック述語を使用して、すべてのバイナリ文字列を特定の長さまで実行することになります。プログラムはかなり遅いです (Prolog はよくあることですが)。非常に多くの異なる定義があるため、理想的には、最も一致するものを順序付けの最初に並べ、Prolog によって最初に一致するように並べ替えたいと考えています。できる限り。
現在、SWI Prolog を使用していますが、SICStus にアクセスできるので、SICStus または無料で入手できる Prolog インタープリターを使用したいと考えています。