abstract-syntax-tree

    1

    1答えて

    私はbisonとflexを使用して、(将来のどこか)抽象構文木(AST)を作成しています。今のところ、私は算術式(例えば+を使って)だけを持っていますが、式 - >式 '+'式|定数ですが、式には2つの属性、つまりコード(ルールの右側の最初の要素(RHS)の値を持つ文字列、+と2番目の式の値)が必要です。 私は次の構造を作成:文字列が(今のところ、私はちょうどそれらを印刷したい)としてそれらの両方

    0

    1答えて

    私はBabel.jsとJavaScriptコードのスニペットにImportDeclarationを挿入しようとしていた。 const babel = require('babel-core') const t = babel.types const traverse = babel.traverse const template = babel.template const

    0

    1答えて

    私はclangプラグインを作成します.3つのクラスTestConsumer、TestAction、TestVisitorがあります。TestVisitorでは、VisitObjCPropertyDeclとVisitCallExprでアクションを実行しました。 訪問者が最初にすべてのObjCPropertyDeclを訪問してDeclの名前をベクターに格納し、すべてのCallExprを訪問し、ベクトル

    -3

    1答えて

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

    0

    1答えて

    私は、typecriptソースファイルからコメントを、好ましくは行番号で抽出したいと思います。私は、すべてのノードのテキストを印刷したとき、私はコメントが完全に破棄されたことを見ることができ、実際には var program = ts.createProgram(files, { target: ts.ScriptTarget.ES5, module: ts.ModuleKind.Com

    0

    1答えて

    clang lib-toolingとRecursiveAStVisitorを使用してC++フロントエンドを作成しました。 私はあらかじめ生成されたを使用しています。compile_commands.jsonファイルをコンパイルデータベースに読み込みます。 ソースファイルのコンパイルコマンドに、-include <file.h>コンパイラ引数が含まれることがあります。 clangは対応するコンパイル

    2

    1答えて

    私は現在、F#を使ってASTの一部として関数をリンクすることをモデル化しようとしています。各リンクは関数であり、チェーンにもチェーンがついている可能性があります。ただし、リンクに接続されているチェーンのタイプシグネチャを指定するには、さらにタイプパラメータを追加する必要があります。しかし、あなたはそれを行い、さらに1つのパラメータが追加され、無限に追加されます。その一例を以下に示します。 type