複数の言語への対応と限界
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/04/28 20:29 UTC 版)
「シンタックスハイライト」の記事における「複数の言語への対応と限界」の解説
2つ以上の言語に対応するエディタでは、シンタックスハイライトを正しくおこなうために、ユーザーがテキストの言語を指定するか、エディタがファイルの拡張子や内容から言語を自動的に判別する必要がある。 複数の言語のシンタックスハイライトをサポートする方法として、言語ごとにシンタックスハイライトの規則を独立して保持する方式がある。この方式には複数の言語に対応したエディタの作成がある程度は簡単になるという利点があるが、潜在的な限界もある。 例えば、ユーザーによっては以下のような要求もありうる。 複数の言語を含むテキストを取り扱いたい。例えば JavaScript コードを埋め込んだHTMLファイルなど。 エディタが対応していない言語のテキストを取り扱いたい。例えば、マイナーな言語や擬似コードなど。 1985年に Live Parsing Editor(LEXXやLPEXと呼ばれる)がオックスフォード英語辞典の電子化のために開発された。これが色付きのシンタックスハイライトを利用したおそらく最初のエディタであろう。その Live parsing 機能はユーザーが文章やプログラム、データファイル用にパーサを追加することができた。 ほとんどのエディタは、言語ごとにパーサを実装するといった複雑で面倒な方法はとらず、パターンマッチングによるヒューリスティクスに基づいてシンタックスハイライトを行うので、その結果は完全に正確というわけにはいかない。さらに、パターンマッチングアルゴリズムによっては、ある種の構文のハイライト処理が非常に遅いものとなってしまう。常にファイル全体を解析するのではなく、表示する部分のみを解析することでこの問題を解決するエディタもある。
※この「複数の言語への対応と限界」の解説は、「シンタックスハイライト」の解説の一部です。
「複数の言語への対応と限界」を含む「シンタックスハイライト」の記事については、「シンタックスハイライト」の概要を参照ください。
- 複数の言語への対応と限界のページへのリンク