タグ付けされた質問 「formal-grammars」

形式文法、形式言語の生成的記述に関する質問。

1
LL文法とLR文法の言語理論的比較
LR(k)パーサーはLL(k)パーサーよりも強力であるとよく言われます。これらの声明はほとんどの場合あいまいです。特に、固定またはすべてのkの和集合のクラスを比較する必要がありますか?では、状況はどうですか?特に、LL(*)がどのように適合するかに興味があります。kkkkkk 私の知る限り、LLパーサーとLRパーサーが受け入れるそれぞれの文法セットは直交しているため、それぞれの文法セットによって生成される言語について話しましょう。ましょによって解析することができる文法によって生成される言語のクラス示すLのR (K )パーサ、および他のクラスの類似します。LR(k)LR(k)LR(k)LR(k)LR(k)LR(k) 次の関係に興味があります。 LL(k)⊆?LR(k)LL(k)⊆?LR(k)LL(k) \overset{?}{\subseteq} LR(k) ⋃∞i=1LL(k)⊆?⋃∞i=1LR(k)⋃i=1∞LL(k)⊆?⋃i=1∞LR(k)\bigcup_{i=1}^{\infty} LL(k) \overset{?}{\subseteq} \bigcup_{i=1}^{\infty} LR(k) ⋃∞i=1LL(k)=?LL(∗)⋃i=1∞LL(k)=?LL(∗)\bigcup_{i=1}^{\infty} LL(k) \overset{?}{=} LL(*) LL(∗)∘?⋃∞i=1LR(k)LL(∗)∘?⋃i=1∞LR(k)LL(*) \overset{?}{\circ} \bigcup_{i=1}^{\infty} LR(k) これらのいくつかはおそらく簡単です。私の目標は、「完全な」比較を収集することです。参考文献を歓迎します。

2
本質的に曖昧で決定論的なコンテキストフリー言語はありますか?
決定論的プッシュダウンオートマトンで受け入れられる場合にのみ、コンテキストフリー言語を決定論的と呼び、そうでない場合は非決定的と呼びます。 言語を生成するすべての文脈自由文法が曖昧であり、それ以外では曖昧でない場合にのみ、本質的に曖昧な文脈自由言語を呼び出しましょう。 決定論的で明確な言語の例は次の言語です。 非決定的で明確な言語の例は次の言語です。 { W ∈ { 、B } * | w = w R }{ anbn∈ { a 、b }∗| N≥0}{anbn∈{a、b}∗|n≥0}\{a^{n}b^{n} \in \{a, b\}^{*} | n \ge 0\}{ W ∈ { 、B }∗| w= wR}{w∈{a、b}∗|w=wR}\{w \in \{a, b\}^{*} | w = w^{R}\} ウィキペディアから、本質的に曖昧なコンテキストフリー言語の例は、コンテキストフリー言語の以下の結合であり、これもコンテキストフリーでなければなりません: L = { anbmcmdn∈ { …

9
状況依存(タイプ1)言語の重要性は何ですか?
Chomsky Hierarchyでは、タイプ3言語は外部メモリのない状態マシン(すなわち、有限オートマトン)によって認識され、タイプ2は単一スタックの状態マシン(すなわち、プッシュダウンオートマトン)およびタイプ0によって認識されます。2つのスタックを持つステートマシン(または、チューリングマシンの場合と同じように、テープ)、Type 1言語はこの図にどのように適合しますか?また、言語がタイプ0だけでなくタイプ1であると判断することにはどのような利点がありますか?

2
「文脈自由文法」の「文脈」とは何を指しますか?
文脈自由文法とは何かについてはオンラインで多くの定義がありますが、私の主な問題を満足させるものはありません。 どんな文脈から解放されていますか? 調査するために、「コンテキスト依存文法」をグーグル検索しましたが、「コンテキスト」が何であるかを見つけることができませんでした。 誰かcontextがこれらの名前でこの用語が何を指しているのか説明してください


6
要素の繰り返しなしでペアのセットから組み合わせを生成する
ペアのセットがあります。各ペアの形式は(x、y)で、x、yは範囲の整数に属します[0,n)。 したがって、nが4の場合、次のペアがあります。 (0,1) (0,2) (0,3) (1,2) (1,3) (2,3) 私はすでにペアを持っています。次に、n/2整数が繰り返されないようにペアを使用して組み合わせを作成する必要があります(つまり、各整数は最終的な組み合わせで少なくとも1回出現します)。理解を深めるための正しい組み合わせと間違った組み合わせの例を次に示します 1. (0,1)(1,2) [Invalid as 3 does not occur anywhere] 2. (0,2)(1,3) [Correct] 3. (1,3)(0,2) [Same as 2] ペアができたら、可能性のあるすべての組み合わせを生成する方法を誰かが提案できますか?

2
言語がコンテキストフリーであることを証明する方法は?
あります多くの技術言語であることを証明するためではない文脈自由は、しかし、どのように私は言語があることを証明んです文脈自由? これを証明するためのテクニックは何ですか?明らかに、1つの方法は、言語の文脈自由文法を示すことです。特定の言語の文脈自由文法を見つけるための体系的な手法はありますか? 通常の言語では、そこにある 体系的な方法正規文法/有限状態オートマトンを導出するには:例えば、マイヒル-ネローデの定理は、1つの方法を提供します。コンテキストフリー言語に対応する技術はありますか? ここでの私の動機は、(願わくば)与えられた言語が文脈自由であることを証明しようとするとき、しばしば役立つテクニックのリストを含む参照質問を構築することです。この特別なケースである多くの質問がここにあるので、この種の問題に直面したときに使用できる一般的なアプローチまたは一般的なテクニックを文書化できればいいでしょう。

4
文法が明確であることを証明する方法は?
私の問題は、文法が明確であることをどのように証明できますか?私は次の文法を持っています: S→statement∣if expression then S∣if expression then S else SS→statement∣if expression then S∣if expression then S else SS → statement ∣ \mbox{if } expression \mbox{ then } S ∣ \mbox{if } expression \mbox{ then } S \mbox{ else } S これを明確な文法にすると、正しいと思います: S→S1∣S2S→S1∣S2 S → S_1 ∣ S_2 S1→if expression then …

1
EPALを認識する非一般的なCFG解析アルゴリズムはありますか?
EPALはパリンドロームの言語でもあり、次の明確なコンテキストフリーの文法によって生成される言語として定義されています。 S→aaS→aaS \rightarrow a a S→bbS→bbS \rightarrow b b S→aSaS→aSaS \rightarrow a S a S→bSbS→bSbS \rightarrow b S b EPALは、多くの解析アルゴリズムの「悩みの種」です。言語を記述する文法を解析できる明確なCFGの解析アルゴリズムにはまだ出会っていません。特定のパーサーでは解析できない明確なCFGがあることを示すためによく使用されます。これは私の質問に影響を与えました: EPALで動作する明確なCFGのみを受け入れる解析アルゴリズムはありますか? もちろん、言語を線形時間で解析するグラマー用のアドホック2パスパーサーを設計できます。EPALを念頭に置いて特別に設計されていない解析メソッドに興味があります。

1
L = L(G)と表示する方法は?
正式な文法を与えることによって正式な言語を指定することは頻繁に行われます。言語を記述するだけでなく、言語を解析するため、または適切な科学を行うためにも文法が必要です。すべての場合において、手元の文法が正しいこと、つまり希望する単語を正確に生成することが重要です。 正式な証明を省略して、なぜ文法が目的の言語の適切な表現であるのかを高レベルで議論することができます。しかし、何らかの理由で疑問がある場合、または正式な証拠が必要な場合はどうでしょうか?適用できる手法は何ですか? これは参照質問になると思われます。したがって、少なくとも1つの例で説明されているが、多くの状況をカバーする、一般的で教訓的に提示された答えを与えるように注意してください。ありがとう!


4
残された再帰がなぜ悪いのですか?
この質問は、コンピューターサイエンススタック交換で回答できるため、理論的コンピューターサイエンススタック交換から移行されました。 6年前に移行され ました。 コンパイラの設計で、なぜ文法で再帰を残すべきなのですか?私はそれが無限再帰を引き起こす可能性があるからだと読んでいますが、正しい再帰文法にも当てはまりませんか?

1
線形文脈自由文法の言語平等は決定可能ですか?
2つの文脈自由文法とG 2を考えて、次の質問をしてみましょう:L (G 1)= L (G 2)、つまり、2つの文法は同等ですか?G1G1G_1G2G2G_2L (G1)= L (G2)L(G1)=L(G2)L(G_1) = L(G_2) 一般に、この問題は決定不能です。ただし、とG 2の両方が左線形(または右線形)文法である場合、両方の文法が通常の言語を記述するため、問題は決定可能です。G1G1G_1G2G2G_2 私の質問は、両方の文法が線形であるときに同じ問題が決定可能かどうかです。また、誰かが関連する文献を参照できる場合、それは非常に高く評価されます!

1
言語を認識するチューリングマシンを無制限の文法に変換するにはどうすればよいですか?
このウィキペディアの記事によると、無制限の文法はチューリングマシンと同等です。この記事では、あらゆるチューリングマシンを無制限の文法に変換できると述べていますが、文法をチューリングマシンに変換する方法のみを示しています。 どうすれば実際にそれを行い、認識言語を認識するチューリングマシンを無制限の文法に変換できますか?遷移規則を文法規則に置き換えようとしましたが、チューリングマシンにはさまざまな状態の構成もあります...LLL

2
文脈自由文法に「死んだ状態」がありますか?
文脈自由文法に、オートマトンからの「死んだ状態」を含めることができますか。 G=({a,b,c},{A,B,C},{A→aB,B→b,B→C,C→cC},A)?G=({a,b,c},{A,B,C},{A→aB,B→b,B→C,C→cC},A)?G = \big(\{a, b, c\}, \{A, B, C\}, \{A\to aB, B\to b, B\to C, C\to cC\}, A\big)\,? プロダクションルールおよびは永久にループし、単語を生成しません。これは許可されますか、または生産ルールはある時点で端末で終了する必要がありますか?B→CB→CB\to CC→cCC→cCC\to cC

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.