compiler-design

    1

    1答えて

    私はコンパイラ設計コース用のコンパイラを作成しています。現在、パーサーを書く必要があるシンタックス解析です。 ソーステキストに表示される可能性のあるエラーを処理するには、FIRSTとFOLLOWのセットが必要です。私は文法の中ですべての非終端記号に対してFIRSTとFOLLOWの組をあらかじめ計算していますが、プログラムのどこで実際にそれらをコード化すべきかを決めるのは難しいです。 キーを非端末の

    8

    1答えて

    Left Most Derivationの意味は、LのLL Parserにあります。 最も簡単な例で説明してください。 私は左端の導出を説明する以下の写真を見たが、私はそれを理解していない:

    15

    6答えて

    Left FactoringとLeft Recursionの違いは何ですか?私はLeft factoringが予測的なトップダウン解析手法であることを理解しています。しかし、私はこれら二つの言葉を聞いて混乱します。

    -2

    1答えて

    多くの一般的な言語が使用する2つの一般的な変数宣言構文の背後にある理由は次のとおりです。 int foo = 0; および foo:int = 0; 2つ目の選択肢で問題になるのは、「int = 0;」のように見えるということです。なぜ言語は特定の方法を使用しますか?解析するのが簡単か、それとも類似のものがありますか?

    1

    2答えて

    明確化 私は(GWTと思う)私はある言語から別の言語を意味クロスコンパイルを言及するときではなく、対象プラットフォームにホストプラットフォームから。 背景私はJavaへのクロスコンパイルアラビア語のプログラミング言語を開発しています が、これは私のプラットフォーム固有の激論を救いました。これを保留にして、さまざまな理由でCにクロスコンパイルする必要がありました。 コンパイル時に実行されているシステ

    4

    2答えて

    私はイテレーターをしばらく使用しており、私はそれらを愛しています。 しかし、私はそれについて懸念していましたが、「イテレータを認識するコンパイラがどのように実装されるか」を理解できませんでした。私はそれについても研究しましたが、コンパイラ設計の状況を説明するリソースは見つかりませんでした。 説明すると、反復子に関する記事のほとんどは、希望の動作を実装する何らかの「魔法」があることを暗示しています。

    10

    2答えて

    私は現在コンパイラクラスを取っていますが、私はLR(1)の解析アルゴリズムをaction/gotoテーブルを使って理解するのに苦労しています。今私たちは、クラス・テキストブックとしてCooperとTorczonのエンジニアリング・コンパイラを使用しています。また、テーブル生成に関するウィキペディア・ページも読んでいますが、私はまだその概念を理解していません。可能であれば、誰かが、よく解析するか、オ

    0

    2答えて

    SQLクエリパーサーを作成する予定です。 注文を適切にトークン化して確認するだけで済みます。 しかし、私は(数年前けど)私のコンパイラデザインコースで学んだ何かからそれを行うには を計画しています私は含めるクエリのための文法を定義することができますが、私は、最初でいくつかの助けが必要ガイダンス、実装するパーサーの種類トップダウン/ボトムアップなど。これは簡単に始めることができます。 私はいくつかの

    5

    3答えて

    プログラミングに関する知識が不足しているという私の不満を解消するために、バイトコードにコンパイルする(少なくとも今のところは)シンプルなプログラミング言語を書こうとしています。問題は、私は言語デザインの最初のことを知らないということです。パーサーを構築するためのメソドロジについてのアドバイスはありますか?どの言語にどのような基本機能が必要ですか?言葉のデザインにはどんな読書をお勧めしますか?どのよ

    7

    2答えて

    誰でも「構文指向翻訳」とは何かを簡単に説明できますか?私はドラゴンブックから話題を読み始めましたが、理解できませんでした。 Wiki articleも役に立たなかった。