0

関数/マクロ呼び出しを、それらが呼び出された場所でその定義に展開できるようにする小さな IDE を作成する準備をしています (必要に応じて再帰的に実行し、関数 A が B を呼び出した場合、B を展開し、次に B を呼び出すようにします)。 C - B などのコードで C を展開します):

ここに画像の説明を入力

質問 1: この機能を備えた既存の IDE をご存知ですか?

質問 2: どのように実装しますか? 私のアプローチは次のとおりです。IDE がさまざまなプログラミング言語を理解できるようにしたいと考えています。関数定義を抽出するには、パーサーを使用する必要があるようです。さまざまな言語のパーサーのコレクションはありますか? 私は Ctags と Pygments lexer を調べましたが、それらの出力はこのタスクを達成するには不十分です。

IDE に適した言語は Python (ただし、Java と C の提案も問題ありません)、グラフィカル ライブラリ - gtk+2 です。ありがとう。

4

2 に答える 2

1

質問 1: この機能を備えた既存の IDE をご存知ですか?

おそらくあなたが説明したものとはまったく異なりますが、Visual Studio のコード定義ウィンドウには、現在のカーソル位置にあるシンボルの定義が表示されます。もちろん、エディターウィンドウとは別のウィンドウに定義を表示するという点で異なりますが、正直なところ、呼び出しは意味的にインラインではないため、あなたの提案はやや不快で直感に反することがわかります。

于 2013-01-19T10:30:43.930 に答える
0

必要なものは、ほとんどの IDE で「定義に移動」と呼ばれます。確かに、それらはインラインで展開されませんが、定義をどこかに配置する必要があります。

原則として、多くの IDE ではウィンドウが分割されているため、元の呼び出しと同時に定義を確認できます。あなたは基本的に、ウィンドウを分割して定義点に行くセットアップを自動化したいようです。

多くの IDE には、内部的にプログラム可能なインターフェイスが含まれています。おそらくEclipseでできるでしょう。Mx goto-definition-in-new-window がまだ組み込まれていない場合は、Emacs でこれを行うことができます:-}

于 2013-01-19T16:46:33.887 に答える