compiler-construction

    0

    1答えて

    Cプログラミング言語、BRIAN Wカーニハン& DENNIS M.リッチー 「Cは特定のシステムに縛られない、genereal目的言語である」 を設定し、すべてのWindowsマシン上で動作する.exeを作ることができます。これは、Windowsが動作するすべてのCPU上で実行されることを意味します。 私の質問は、すべてのx86-64 CPU(IntelまたはAMD)が同じ命令セットを使用してい

    1

    1答えて

    祖先から子ノードへ情報を渡す「受け入れ可能な」方法は何か? たとえば、代入式の各側にそれがどちらの側にあるかを伝えたい場合は(lhsの式にlhs、rhsの式にrhsを指定します)。 私は情報を渡すために使用する別のParseTreePropertyを使って情報を渡すという考えがありました。または、同じものを使用して、情報を上下に渡すことができます。

    -2

    1答えて

    シンボルテーブルのメカニズムについては、コード例で詳しく説明できますか?

    0

    1答えて

    Iのような表現は、以下を有する:(N) eg 1: (f1 AND f2) eg 2: ((f1 OR f2) AND f3) eg 3: ((f1 OR f2) AND (f3 OR (f4 AND f5))) Fのそれぞれは、SQLの断片を生成するために使用され、これらのフラグメントの各々は、ORを使用して接合/ AND式的に説明します。 1)この式 2)それ 3)を発現させるため

    1

    2答えて

    この文法は、演算子の優先順位を指定していても競合しています。ドラゴンの本でさえ、そのような方法で解決されました(最初の7行で実装された方法)が、まだ矛盾します!以下 はYACCで実装コードです %right THEN_KW %right ELSE_KW %left XOR_KW OR_KW %right '=' %left AND_KW ALSO_KW %left EQ_KW LT_KW

    0

    1答えて

    (begin expr1 expr2 ...)はすべての式を評価し、評価された最後の式を返します。 私はChez Schemeではbeginのような式を使わずに(begin)を使用することができます。私は私の研究の一環としてChez Schemeを使用しています。私がコンソールに書き込むときには、voidのように構文エラーを出さず、何も表示しません。 私の質問は、何が返されますか? (void)を

    0

    1答えて

    基本的に、私は3つの命令:load $src,store $destおよびmodifyがあるとします。ただ直接アクセスすることはできません特殊レジスタを変更 load $x modify store $x ロードとストアのようなものをいただきたい そして私は、固有/命令foo $xを追加します。 私が直面している問題は、何らかの理由で複数の命令を出力するテーブルgenのPattern<..

    0

    1答えて

    "boolean x;"という式をチェックしようとしていますが、私は "構文エラー"を取得していると私はなぜ理解できません。 "x = 3;"という式をチェックしているときに、または "2 = 1;"の場合、抽象構文ツリーが生成され、エラーは表示されません。 %% [\n\t ]+; boolean {return BOOL;} TRUE {return TRUE;} FALSE {ret

    0

    1答えて

    明示的な構文解析ツリーを構築しないとコンパイラはどうすることができますか?明示的な解析木構築のメリットと欠点は何ですか? コンパイラは、SDTを使用し、解析中にそれに関連付けられたセマンティクスを実行することによって、明示的な解析ツリーなしで構築を行うことができます。しかし、明示的な解析木構築の利点と欠点を知りたい。

    -3

    1答えて

    私はCで作成している言語用のインタープリタを作成中です。現在、ソースコードをトークンにレキシングしてから、これらのトークンを解析してASTにすることができます。いくつかの読書をした後、私は結論に達すると、バイトコードを使うのは、木をたどるのに必要な再帰の量のせいでASTを歩いているよりも速いということです。 ASTを指定すると、これをバイトコードに変換するにはどうすればよいですか?具体的には、実際