コピー&ペースト記法のクラス名として
CC CPP CS CYC JAVA BSH CSH SH CV PY PERL PL PM RB JS HTML XHTML XML XSL
のいずれかを指定することにより、シンタックス・ハイライトを使用することができます。
シンタックスハイライト
(英語: Syntax highlighting)とは、テキストエディタの機能であり、テキスト中の一部分をその分類ごとに異なる色やフォントで表示するものである。
シンタックスカラーリング(英: Syntax coloring)とも。
この機能により、プログラミング言語やマークアップ言語といった構造化された言語において、その構造や構文上のエラーが視覚的に区別しやすくなるため、ソースコードの記述が容易となる。
エディタによってはシンタックスハイライトと、スペルチェックやコード畳み込みといった、その他の機能を統合して提供するものもある。
== 実用上の特徴 ==
シンタックスハイライトは、特に複数ページにわたるようなコードについて、テキストの可読性を向上させ、文脈をより明瞭にするための手法の1つである。
読み手は関心のないコードやコメント (コンピュータ)を、それが長いものであっても、楽に無視して読むことができる。
例えば、ほとんどのエディタは文字列のリテラルを地のコードとは異なった色でハイライトする。
文字色の対比から、文字列リテラルの区切り記号の忘れを見つけることがより簡単になる。
また、多くのテキストエディタには括弧の対応をチェックする機能もある。
カーソル位置の括弧のペアを特別な色で表示することで、正しく対応しているかの確認が容易となる。
エディタによっては、色付けの情報を、印刷や他のテキスト処理ソフトウェアとの交換に適した形式でエクスポートできるものもある。
エクスポート用のファイルフォーマット(ファイル形式)としては『HTML』や色つきのLaTeX、PostScript、Rich Text Format/RTFなどが使われる。
しかし、シンタックスハイライトには
CC CPP CS CYC JAVA BSH CSH SH CV PY PERL PL PM RB JS HTML XHTML XML XSL
のいずれかを指定することにより、シンタックス・ハイライトを使用することができます。
![]() | |
画像:Html-source-code3.png | HyperText Markup Language/HTML |
シンタックスハイライト
(英語: Syntax highlighting)とは、テキストエディタの機能であり、テキスト中の一部分をその分類ごとに異なる色やフォントで表示するものである。
シンタックスカラーリング(英: Syntax coloring)とも。
この機能により、プログラミング言語やマークアップ言語といった構造化された言語において、その構造や構文上のエラーが視覚的に区別しやすくなるため、ソースコードの記述が容易となる。
エディタによってはシンタックスハイライトと、スペルチェックやコード畳み込みといった、その他の機能を統合して提供するものもある。
== 実用上の特徴 ==
シンタックスハイライトは、特に複数ページにわたるようなコードについて、テキストの可読性を向上させ、文脈をより明瞭にするための手法の1つである。
読み手は関心のないコードやコメント (コンピュータ)を、それが長いものであっても、楽に無視して読むことができる。
例えば、ほとんどのエディタは文字列のリテラルを地のコードとは異なった色でハイライトする。
文字色の対比から、文字列リテラルの区切り記号の忘れを見つけることがより簡単になる。
また、多くのテキストエディタには括弧の対応をチェックする機能もある。
カーソル位置の括弧のペアを特別な色で表示することで、正しく対応しているかの確認が容易となる。
エディタによっては、色付けの情報を、印刷や他のテキスト処理ソフトウェアとの交換に適した形式でエクスポートできるものもある。
エクスポート用のファイルフォーマット(ファイル形式)としては『HTML』や色つきのLaTeX、PostScript、Rich Text Format/RTFなどが使われる。
しかし、シンタックスハイライトには
という指摘もある
*1
== 実例 ==
以下は【C++】のコードをシンタックスハイライトしたものである。
<source lang="cpp">
for (int i = 0; i < max; i++)
{
</source>
この例では、ソフトウェアはキーワード(予約語)として <code>for</code>・<code>int</code>・<code>new</code> を、変数 (プログラミング)名として <code>i</code>・<code>wins</code>・<code>max</code> を判別し、異なる色でハイライトしている。
1行目のコメントもコード部分とは区別できるようにハイライトされている。
== 複数の言語への対応と限界 ==
1つ以上の言語に対応するエディタでは、シンタックスハイライトを正しくおこなうために、ユーザーがテキストの言語を指定するか、エディタがファイルの拡張子や内容から言語を自動的に判別する必要がある。
複数の言語のシンタックスハイライトをサポートする方法として、言語ごとにシンタックスハイライトの規則を独立して保持する方式がある。この方式には複数の言語に対応したエディタの作成がある程度は簡単になるという利点があるが、潜在的な限界もある。
例えば、ユーザーによっては以下のような要求もありうる。
*1
== 実例 ==
以下は【C++】のコードをシンタックスハイライトしたものである。
<source lang="cpp">
for (int i = 0; i < max; i++)
{
wins[i] = new Window();}
</source>
この例では、ソフトウェアはキーワード(予約語)として <code>for</code>・<code>int</code>・<code>new</code> を、変数 (プログラミング)名として <code>i</code>・<code>wins</code>・<code>max</code> を判別し、異なる色でハイライトしている。
1行目のコメントもコード部分とは区別できるようにハイライトされている。
== 複数の言語への対応と限界 ==
1つ以上の言語に対応するエディタでは、シンタックスハイライトを正しくおこなうために、ユーザーがテキストの言語を指定するか、エディタがファイルの拡張子や内容から言語を自動的に判別する必要がある。
複数の言語のシンタックスハイライトをサポートする方法として、言語ごとにシンタックスハイライトの規則を独立して保持する方式がある。この方式には複数の言語に対応したエディタの作成がある程度は簡単になるという利点があるが、潜在的な限界もある。
例えば、ユーザーによっては以下のような要求もありうる。
例えば、マイナーな言語や擬似コードなど。
1985年に Live Parsing Editor(LEXXやLPEXと呼ばれる)がオックスフォード英語辞典の電子化のために開発された。
これが色付きのシンタックスハイライトを利用したおそらく最初のエディタであろう。
その Live parsing 機能はユーザーが文章やプログラム、データファイル用に構文解析器【パーサ】
を追加することができた。
*2。
ほとんどのエディタは、言語ごとにパーサを実装するといった複雑で面倒な方法はとらず、パターンマッチによるヒューリスティクスに基づいてシンタックスハイライトを行うので、その結果は完全に正確というわけにはいかない。
さらに、パターンマッチのアルゴリズムによっては、ある種の構文のハイライト処理が非常に遅いものとなってしまう。
常にファイル全体を解析するのではなく、表示する部分のみを解析することで、この問題を解決するエディタもある。
分類:テキストエディタ
1985年に Live Parsing Editor(LEXXやLPEXと呼ばれる)がオックスフォード英語辞典の電子化のために開発された。
これが色付きのシンタックスハイライトを利用したおそらく最初のエディタであろう。
その Live parsing 機能はユーザーが文章やプログラム、データファイル用に構文解析器【パーサ】
を追加することができた。
*2。
ほとんどのエディタは、言語ごとにパーサを実装するといった複雑で面倒な方法はとらず、パターンマッチによるヒューリスティクスに基づいてシンタックスハイライトを行うので、その結果は完全に正確というわけにはいかない。
さらに、パターンマッチのアルゴリズムによっては、ある種の構文のハイライト処理が非常に遅いものとなってしまう。
常にファイル全体を解析するのではなく、表示する部分のみを解析することで、この問題を解決するエディタもある。
分類:テキストエディタ
タグ
コメントをかく