compiler-construction

    0

    2答えて

    これはちょっと狂っているかもしれませんが、私は次の考えを持っていました... #includeを使ってすべてのコードを1つのファイルに入れたり、単純にコピーして貼り付けたときに、これにより、稲妻の高速コンパイルが可能になります。 ここでは簡単にするため、ヘッダーのみのライブラリがあると仮定し、クラスを使用するように制限しています(名前空間には名前空間があります)。 これは自動化されていればうまくい

    0

    1答えて

    基本的なデータ構造の使い方と、パターンマッチングのパフォーマンスはどうですか?特に、Trieを検索するパフォーマンスと比較します。 更新:私は、Erlangコンパイラによってどのようなパターンマッチングが実装されているかを簡潔かつ正確に理解しています。基礎となるデータ構造とは何ですか。パターンの検索効率はどれくらいですか?

    1

    1答えて

    字句解析の識別子の状態図を見てみましょう。基本的には、アナライザーが数字の文字以外の文字を読み取るときはいつも、トークンを(識別子、属性)と戻します。文字列dtf56 * f %% fを読んでいる間、この規則に従って、 のトークンは次のように生成されますか? dtf56:識別子 F:識別子 F:私が思う何識別子 が、これは単一の文字列であるため、字句解析が、この場合にはエラーをスローしなければなら

    1

    2答えて

    Appelの "Modern Compiler Implementation in ML"の本でTiger Parserを生成するCh3プログラミング演習を行っています。私のtiger.grmファイルはhereです。私が診断しようとしているエラーは、単項演算子と二項マイナス演算子の規則に起因するreduce-reduceの競合です。私はMINUSよりも高い優先順位を持つUNARY定義され、%pre

    4

    4答えて

    プログラミング言語を書いたとします。名前は、langとします。 長い旅を書き始めるには、lang、私は自分自身でlangを書くことで始めることにしました。私は実際にを実行することはできませんそれは、実行するプログラムを実行するために何もないためです。 だから私はlangのJavaで別のコンパイラを書くことから始めます。今回は、私が終わったらバイトコードに変換してそれを残すことにしました。私は今、私

    3

    1答えて

    質問をまず入れておきます。この特定の文法を実装しているパーズツリーをASTに変換することは簡単ですか? 私はパースツリー構築するために、この文法を与えられました。この特定のたとえば literal := INTEGER | FLOAT | TRUE | FALSE . designator := IDENTIFIER { "[" expression0 "]" } . op0 := ">=

    2

    1答えて

    私は自分のASTを取り込み、OCaml ASTを出力するコンパイラを作成しています。コンパイルする場合: (List.length '(1 2 3)) に List.length [1; 2; 3] を私は次の出力AST取得:検査時 [ structure_item (_none_[1,0+-1]..[1,0+-1]) ghost Pstr_eval expr

    0

    2答えて

    私はBaysickに似たInternalDSLプロジェクトでコンパイラを構築しています。コードhereの一部を理解しています。ファイルBaysick.scalaには、暗黙の関数があり、行番号、代入、シンボルなどを取得しており、対応するケースクラスに渡されます。 この('dist := 100)の表現がどのように解析されているかを教えてもらえますか?どの暗黙の関数がここで使用されているのか、それに対

    0

    1答えて

    私はFlexとBisonで電卓を作成しました。標準入力から得られる式の接頭辞表記を出力できるようにする必要があります。私はポストフィックス記法を簡単に印刷することができましたが、接頭辞表記をするのが難しいです。ここで私はこれまでのバイソンで達成したものである: %{ #include <math.h> #include <stdio.h> #include <stdlib.h> int

    0

    1答えて

    私の小さなコンパイラでグローバル変数をサポートしたい。他のすべての基本ブロックとグローバル変数を保持する "グローバル"基本ブロックを作成する必要がありますか、グローバル変数を外部に保持できますか?