compiler-theory

    9

    2答えて

    :ビット損失の所与 レートに対する最大可能な計算性能を実現 は、一般的に最も低いレベルで、しかしcomputing-のすべてのレベルではない のみ明示的な可逆性を必要とします回路、アーキテクチャ、言語、アルゴリズム(確かに と推測されますが、正式には証明されていません - それをFrankの法則と呼んでいます)。 私が理解しているように、ビットがゼロになると、エネルギーが失われます。ソフトウェアお

    3

    1答えて

    文脈自由である言語Lがあり、その中の「a」がアルファベットに属しているとします。 L(f.e.abbac - > bbc)によって生成された文字列 'a'のすべてのインスタンスを削除する言語ERASEa(L)が文脈自由であることをどのように証明できますか?前もって感謝します!

    2

    1答えて

    コンパイラ(字句解析、構文解析、セマンティック解析)を実装する必要があります。 私は既にflex ++の構文を手続き(再帰的なdescent)、 から実装しています。私は意味論(セマンティックルールを既存のパーサに追加する)に取り組んでいることを知っています。 私の質問は - 私はどのように属性を実装するのですか?生産のための例えば 、:すべての文法シンボルのようにだからここに私はTYPEのための

    5

    3答えて

    学校では、コンパイラがコンピュータプログラムを機械語にコンパイルすることを教えてきました。また、機械語はハードウェアへの直接命令で構成されていることも教えています。次に、同じコンパイル済みのプログラムを、ハードウェアの異なる複数のコンピュータ構成で実行するにはどうすればよいですか?

    1

    1答えて

    は、私は、例えば、コンパイラの段階で異なるエラーの違いを理解する上で、このプログラムをいくつかの問題を抱えている: int main() { int x = 5; int x = 6; } 私の推測では、これが意味分析フェーズで失敗するだろうが、私はありませんということです(int x)の重複トークンが生成されるため、字句解析段階で失敗する可能性はありますか?) あ

    7

    1答えて

    大きな数式(数百万のノード)に対応する式グラフの共通部分式消去(CSE)の実装を検討しています。 これを実行するにはどのようなアルゴリズムが適していますか?インターネットを検索して簡単にアルゴリズムを実装していましたが、何も見つかりませんでした。可能であれば、アルゴリズムは完全な式グラフのノード数に線形の複雑さを持たなければならない。

    0

    3答えて

    これはSwift 2.1です。 「卵を追加(£2.00)」のような文字列から量を抽出するにはどうすればよいですか?この例では、「2.00」部分が必要です。 括弧で囲まれたものを探しているのは難しいですか?それとももっと効果的な方法がありますか?私。正規表現か何か?

    1

    1答えて

    29ページで、「左から右へ読む解析木の葉は、樹木の収量を形成します。樹木の収量は、図2.2では、生成された文字列は9-5 * 2です。この図では、すべての葉が最下段に表示されていますので、必ずしもこのように葉を並べるわけではありません。何故なの? 「すべてのツリーは、aとbが同じ親を持つ2人の子供であり、aがbの左側にあるという考えに基づいて、その葉に自然な左から右の順序を与えますaのすべての子孫

    5

    2答えて

    コンパイラなどの複雑なユニットを単体テストするにはどうすればよいでしょうか? 長年にわたりコンパイラとインタプリタを作成しましたが、この種のコードは良い方法でテストするのがかなり難しいです。 抽象構文木生成のようなものを取るとすれば、あなたはTDDを使ってこれをどのようにテストしますか? 小さな構造体は、テストするのが簡単かもしれません。例: string code = @"public clas

    5

    3答えて

    私の理解では、この、定義のようなものです。 コンパイル - 機械コードへの翻訳。 マシンコード - CPUのための直接指示。 docs.oracle.comから今 、: のjavac - Javaプログラミング言語 コンパイラコンパイラ...?私はそれがマシンコードではないコードを生成しているので、それはJava 翻訳者だと思う。バイトコードにはインタープリタ(JVM)が必要です。マシンコードでは