問題タブ [automaton]
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.
java - 複数の正規表現を 1 つのオートマトンに組み合わせる
正規表現のリストがあるとしましょう(外部ソースから読み取る-ファイル、データベースなど)。文字列がこれらの正規表現のどれに一致するかを確認したい。
これらすべての正規表現を反復して照合することはできますが、リストが膨大になる可能性があり、これは重要な操作です。
これらすべての正規表現を 1 つに (それらの間に | を使用して) 結合することはできますが、問題は、すべてではなく、最初に一致した正規表現しか識別できないことです。
もう 1 つのアイデアは、これらすべての正規表現のオートマトンを作成し、対応する正規表現のインデックスなどで最終状態をマークすることです。http://cs.au.dk/~amoeller/automaton/を見ていましたが、これは正規表現とオートマトンを扱うことができるようですが、私の問題を解決するために拡張できるかどうかはわかりません。
他にアイデアはありますか?
いくつかのコメントを明確にするために、コード サンプルを追加しました。
印刷します
ご覧のとおり、最初のグループのみが一致しており、他の 2 つのグループを一致させる方法がわかりません。
その他の調査結果 - 上記のオートマトン ライブラリを使用すると、問題は次のようになります。
regex - 正規表現「ab」が与えられると、dk.brics.automatonは無限ループに入りますか?
メタ文字は何をdk.brics.automaton
サポートしているのでしょうか。
.
オペレーターもサポートしていませんか?私がそれに与えるときa.b
、それはまで無限ループに入りますErr: OutOfMemory
。
と同じ目的を達成するための代替手段はあります.
か?
どの演算子がサポートしているかについてのアイデアがある場合はdk.brics.automaton
、ここにそれらをリストするのを手伝ってください。
automaton - Java: Indexoutofrange 何が起こっているのですか?
私が取り組んでいるセルオートマトンのコードは次のとおりです。
これを実行したときのエラーメッセージは次のとおりです。
一体何?なぜこのエラーが発生するのですか?どうすれば修正できますか? 何時間もエラーを見つけようとしてきましたが、助けていただければ幸いです。
automaton - Java: セルオートマトンの Indexoutofbound
私が取り組んでいるセルオートマトンのコードは次のとおりです。
アップデート:
}
これは、3 つのタイムステップでルール 30 を入力したときに表示されるエラー メッセージです。
更新されたエラー メッセージ:
対応する行はコードに記載されています。なぜこのエラーが発生するのですか?どうすれば修正できますか? 何時間もエラーを見つけようとしてきましたが、助けていただければ幸いです。
parsing - LR(0) パーサーの競合
lr(0) パーサーについて疑問があります。たとえば、次の文法があります。
lr0 オートマトンの最初の状態を構築しようとすると、次の最初の状態が得られます。
ですから、ここで私にはばかげた疑問が浮かびます。「S -> 」があるので。最初の状態では、これは lr0 パーサーのシフト/リデュースの状況ですか? パーサーは、非終端記号 S によってアクションをシフトしたり、空のトランジションによってアクションを減らしたりすることができます (私はそう思います)。
空のトランジションの例を探して Web を検索しましたが、見つかりませんでした。
automata - このオートマトンの書き方
私は、Peter Linz による An Introduction to Formal Languages and Automata のいくつかの問題を解決しようとしています。セクション 2.1 (決定論的有限アクセプター) では、オートマトンを書くことができず、それを解決するために助けが必要です。
質問 17-(f)、第 2 章:
na
は単語のa
文字数、 は単語
nb
のb
文字数です。
解決策はありますが、ここに描く方法がわかりません。
regular-language - 順序付き言語が規則的であることをどのように証明しますか?
順序制約のある言語が規則的であることを証明する方法を知りたいです。たとえば、Σ = {1,2,3,4,5} で、L (Σ* のサブセット) = (a1,a2,...an) で、an+1 が an よりも大きい場合、これが正規言語であることを証明しますか?
たとえば、α = (1,3,5) は受け入れられますが、α = (1,4,5,2) は受け入れられません。
java - Java オートマトンの単純な列挙型
このオートマトンの例を実装しようとしています: http://www.javacodegeeks.com/2012/03/automaton-implementation-in-java.html。
ただし、プログラムの実行中にエラーが表示され続けます。
エラーの原因となっている行を変更しようとしましたが、何も変わりませんでした。誰かがこのプログラムを見て、解決策を見つけるのを手伝ってくれませんか?
私は次の .java を持っています:
State.java :
注意: 元の「public Stat next()」を「public State next(Input in);」に変更する必要がありました。
入力.java:
Test.java :