問題タブ [context-free-language]
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.
theory - a の長さ = b の 2 倍の長さの文脈自由文法言語を設計する
誰かが文脈自由文法の設計を手伝ってくれるかどうか知りたい
{ w | |w|a=2|w|b }
たとえば、 w=aab 、 aaaabb 、 aaaaaabbb 、baa 、 aba 、 aabbaaaba ...
S-> aab | ばあ | あば | SS | アブサ | バサ | aaSb | bSaa は aaabba を生成しません。
だから私の次の質問は、このように見える文法を持つにはあまりにも曖昧ではありませんか ->
**
**
前もって感謝します
grammar - 関数を使用して CFG を作成する方法は?
課題で、次のような関数の CFG を作成するように依頼されました。
def f(x, y): x + y を返す
def g(x, y): x – y を返す
def h(x, y, z): x + y % z を返す
def w(x, y, z): x * y – z を返す
と
def h1(x, y, z): return (x + y) % z
def h2(x, y, z): x + y % z を返す
通常の CFG として作成しようとしましたが、関数定義と関数本体に対してはできませんでした。この種の CFG をどのように開始すればよいかよくわかりません。
context-free-grammar - DFA を構築して通常の文法を見つけるのは正しい方法ですか?
これは私の宿題です。
質問は、私が答えを得る方法を示すように求めます. だからここに私の説明があります。
DFA を構築します DFAから、 S -> aA |を取得します。ba A -> aS | BS | nullしたがって、通常の文法は G = {V , T , S, P} です。ここで、V = {S, A} T = {a, b} P = {S -> aA | null bA、A -> aS | BS | ヌル}
ただし、次の質問は次のとおりです。
演習 3 の文法によって生成された言語を受け入れる DFA を構築します。可能であれば、構築された DFA を単純化します。
したがって、DFA を描画することは演習 3 の説明として期待されているものではないと思います。おそらく、DFA を描画せずに通常の言語を取得する別の方法があると思います。私にお知らせください。
ありがとうございました。
grammar - 次の言語の文法を教えてください
次の言語の文法を教えてください{0^n w 1^n | n>=0 w is in {0,1}* and |w|=n}
解決策の試み:
r の長さが 0 または 1 の数と同じであることを保証する方法がわかりません。
java - ll(1) の別の文法に対して文法をチェックするアルゴリズム
G1 の言語が G2 の言語のサブセットであるかどうかをチェックするアルゴリズムが必要です。(G1 と G2 が同じアルファベットを持つ 2 つの LL(1) 文法であり、その生成規則が A-->aB または A-->a のいずれかの形式であり、「a」が非イプシロンであると仮定します。解析アルゴリズムがあります。文字列に対して文法をチェックするが、別の言語に対してチェックしない.解決策を持っている人はいますか.