0

Java や C++ で何かをプログラミングすることを想像してみてください。約 5000 行相当の純粋なコードであるファイルがあります。1 文字を入力して一瞬 (Eclipse や Visual C++ を考えてみてください) 一時停止するたびに、IDE はファイル全体 (エディターによっては同じ行のみ) に大量のエラーを表示します。私が疑問に思っているのは、IDE がこれをどのように行うのかということです。文字を入力するたびにテキスト ファイル全体を読み取る IDE は、非常に非効率的であり、特定の文字数に達したときに速度が非常に速く低下し始めると想像することしかできません。

完全なアルゴリズム ソリューションなどを探しているわけではありません。私は楽しみのために非常に単純なエディターを作成しようとしていますが、ファイル全体のスキャンをどのように組み込むべきか疑問に思っています。キーワード (this、class、static、extern、transient、public、private、protected など) に別の色を付けたい場合でも、このスキャン「アルゴリズム」を実装する方法を知る必要があります。 .

4

1 に答える 1

0

そのような単一のアルゴリズムはありませんが、いつものように分割して征服します。大きな XML ファイルを DOM 構造を使用して操作できるように、同様にソース コードを AST (Abstract Syntax Tree) と呼ばれるものに保持できます。ウィキペディアやその他の場所で詳細を読むことができます。以下は、ここから始めるのに適したいくつかのリンクです。

http://www.eclipse.org/articles/article.php?file=Article-JavaCodeManipulation_AST/index.html

Eclipse 以外のプロジェクトで Java Eclipse 抽象構文ツリーを使用するにはどうすればよいですか? (つまり、Eclipse プラグインではありません)

于 2013-06-17T06:41:28.480 に答える