Semanticは、ソースコードパーサー(source code
parsers)
にもとづく、言語認識(language-aware)による編集のためのコマンドを提供します。このセクションは、Semanticについての簡単な説明を提供します。完全な詳細については、
Semantic in Semanticを参照してください。
Font Lockモード(Font Lockモードを参照してください)のような、Emacsの言語認識機能(language aware features)のほとんどは、rules of thumb17にもとづいています。これは大抵の場合においてよい結果を得られますが、完全に正しい結果は決して得られない、ということを意味します。対照的に、Semanticで使用されるパーサーは、プログラミング言語の構文を正確に理解します。これによりSemanticは、より強力で正確な検索、操作、補完コマンドが提供できるのです。
Semanticの使用を開始するには、M-x semantic-modeをタイプするか、‘Tools’メニューの、‘Source Code Parsers (Semantic)’という名前のメニューをクリックします。これはグローバルなマイナーモードのSemanticモードを有効にします。
Semanticモードが有効な場合、Emacsはファイルをvisitするたびに自動的にパースを試みます。現在のところ、SemanticはC、C++、HTML、Scheme、Java、Javascript、Make、Python、Scheme、SRecord、Texinfoを理解します。パースされたバッファーでは以下のコマンドが利用可能です:
カレントファイルで定義された関数名の入力を求め、ポイントをそこに移動します(semantic-complete-jump-local
)。
Emacsがパースした任意のファイルで定義された関数名の入力を求め、ポイントをそこに移動します(semantic-complete-jump
)。
ポイント位置のシンボルにたいして可能な補完候補のリストを表示します(semantic-complete-analyze-inline
)。これは補完候補を選択するための特別なキーバインドのセットをアクティブにします。RETはカレントの補完候補を選択し、M-nとM-pは可能な補完候補を巡回、TABは可能なところまで補完を行ってから巡回、そして、C-gまたは他のキーは補完を中止します。
ポイント位置のシンボルにたいして可能な補完候補のリストを、他のウィンドウに表示します(semantic-analyze-possible-completions
)。
上記のコマンドに加えて、Semanticパッケージは、パーサー情報を使用する他のさまざまな方法を提供します。たとえば、Emacsがアイドルのとき、補完候補のリストを表示するために、それを使用することができます。 詳細は、Semantic in Semanticを参照してください。