" /> UA-112510989-1

We've Inc. 旧「マクロスクロニクル」に習い Web 独自機能を加味した日本初のロボテック辞典です。

コピー&ペースト記法のクラス名として

CC CPP CS CYC JAVA BSH CSH SH CV PY PERL PL PM RB JS HTML XHTML XML XSL

のいずれかを指定することにより、シンタックス・ハイライトを使用することができます。

画像:Html-source-code3.pngHyperText 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++)
{
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つ以上の言語に対応するエディタでは、シンタックスハイライトを正しくおこなうために、ユーザーがテキストの言語を指定するか、エディタがファイルの拡張子や内容から言語を自動的に判別する必要がある。

複数の言語のシンタックスハイライトをサポートする方法として、言語ごとにシンタックスハイライトの規則を独立して保持する方式がある。この方式には複数の言語に対応したエディタの作成がある程度は簡単になるという利点があるが、潜在的な限界もある。

例えば、ユーザーによっては以下のような要求もありうる。

複数の言語を含むテキストを取り扱いたい。

例えば JavaScript コードを埋め込んだHTMLファイルなど。

エディタが対応していない言語のテキストを取り扱いたい。

例えば、マイナーな言語や擬似コードなど。

1985年に Live Parsing Editor(LEXXやLPEXと呼ばれる)がオックスフォード英語辞典の電子化のために開発された。

これが色付きのシンタックスハイライトを利用したおそらく最初のエディタであろう。

その Live parsing 機能はユーザーが文章やプログラム、データファイル用に構文解析器【パーサ】
を追加することができた。
*2

ほとんどのエディタは、言語ごとにパーサを実装するといった複雑で面倒な方法はとらず、パターンマッチによるヒューリスティクスに基づいてシンタックスハイライトを行うので、その結果は完全に正確というわけにはいかない。

さらに、パターンマッチのアルゴリズムによっては、ある種の構文のハイライト処理が非常に遅いものとなってしまう。

常にファイル全体を解析するのではなく、表示する部分のみを解析することで、この問題を解決するエディタもある。



分類:テキストエディタ

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

  1. ロボテックシリーズの登場人物 - Wikipedia
  2. ロボテック:実写映画の構成案
  3. 超時空騎団サザンクロス雑誌記事
  4. 超時空騎団サザンクロス・故マイアニメ記事
  5. 超時空騎団サザンクロス と 故アニメック
  6. 機甲創世記モスピーダ と 故アニメック



開く(Open)

の Flash が機能しない Apple & 携帯電話 向けに、メニュー(左 Side-bar)の展開内容を記載 ↓

Variable Fighter / Attacker MASTER File

管理人/副管理人のみ編集できます