grammar

    3

    2答えて

    実際に何もせずにマッチツリーに物を挿入できるかどうか不思議でした。私が解決しようとしている問題はありません。 この例では、その一致がハッシュのキーであることを確認するトークンmarketがあります。私はそのハッシュの値を何とかマッチツリーに挿入しようとしていました。私はlong_market_stringと常に一致するトークンを持つことができたと思って、どういうわけかmarketが何を探していたの

    6

    3答えて

    ここには2つの文法があります。 1つはproto tokenを使用し、1つは使用しません。彼らはどちらも同じことをします。これらは基本的にS05 under "Variable (non-)interpolation"の例です。この単純な例では、どちらも同じことをすることができます。 追加の入力をすべて正当化する状況はありますか? protoトークンには、アクションクラスには異なるメソッドがあり、

    1

    1答えて

    ここでは、LL(k)パーサの相互左回帰問題に関するStackOverflowに関する多くの質問を読んでいます。私は、左再帰除去するために一般的なアルゴリズムを見つけました: A : Aa | b ; はしかし、私は私の状況に適用する方法を見つけ出すことはできません A : bR ; R : (aA)? ; になります。私は、など left_exp: IDENT | exp DOT IDE

    0

    1答えて

    におけるイプシロン遷移が(1)パーサ私は一眼レフを書いている(1)以下の文法からパーサ: 1) S -> aSb 2) S -> cB 3) B -> cB 4) B -> ε まず第一に、私は、関連するLR(0)を見つけることで開始しました拡張された文法を使用して自動生成し、さまざまな状態を計算することを開始しました(S' -> S)。私が見つけた状態は次のとおりです。 I0 = {S

    0

    1答えて


    1

    2答えて

    これはANTLR4で私の文法である:私はのようなものを入力すると grammar Hello; r : WORD ID ; ID : [a-z]+ ; WORD : [a-z]+ ; WS : [ \t\r\n]+ -> skip ; は: line 1 missing WORD at 'hello' : hello buddy 私は、次のエラーメッセージが表示されましたしか

    1

    1答えて

    現在、私は公式の言語と文法を学び、理解しようとしています。 私はチョムスキー階層を理解していますが、どのように解決策が得られたのか分かりません。 タスクは次のとおりです。 G=({S},{a,b},S,P) P={S->epsilon, S->aS, S->Sb} この文法の最大のタイプは何ですか? L(G)の最大タイプは何ですか? 私は文法は2タイプであることを知っているが、答えにL(G)

    1

    1答えて

    コバルトをコンパイルすると、次のエラーが発生します。理由を知っている人がいますか? 「ShadowType」はgrammy.yのクラスまたは名前空間ではありません:3421、grammy.yに何が使用されているのかわからず、コードをトレースして修正しようとしましたが動作しません。 grammar.y error details

    2

    1答えて

    しばらくの間、私はLLパーサがどのように動作するのかを知ろうとしていましたが、これを正しく理解すれば、トップダウンの再帰的降下パーサを手作業で書くとき、終端記号。したがって、この例のために: S -> AB A -> aA|ε B -> bg|dDe D -> ab|cd 私はこのようにそれぞれS、A、BおよびDのための関数を作成する必要があると思います: Token B() {

    0

    1答えて

    私は、文法が与えられたときに何かの派生を示す方法を少し混乱させています。たとえば、((()))の派生を、文法を使ってSで始める必要があります。これは文法です:S =()| (S)。ここで、私の解答はこれまでのS - >() - >(()) - >(())のようになります。私はこれが完全に間違っているように感じるので、どんな説明も私を大いに助けてくれるだろう。私はこのトピックを初めて知りました。