このページでは cpp2htm で利用する「語彙ファイル」の書式について説明します。
たいていの場合はサンプルが最も参考になります。
・語彙ファイルとは
・語彙ファイルの構成
・書式のバージョン - #version 文字列
・語句の種類 - [語句の種類], [+語句の種類], [-語句の種類]
・[keyword], [+keyword], [-keyword]
・[line_comment], [+line_comment], [-line_comment]
・[block_comment], [+block_comment], [-block_comment]
・[string_literal], [+string_literal], [-string_literal]
・[char_constant], [+char_constant], [-char_constant]
・サンプル
・c.txt
・c99.txt
・csharp.txt
・pascal.txt
・java.txt
・js.txt
・awk.txt
cpp2htm はソースコード中の特定の語句をタグで囲んだファイルを出力することでソースコードを含んだHTML形式ファイルの作成を支援するソフトです。
「語彙ファイル」は cpp2htm が認識する予約語やコメント・文字列・文字定数の開始記号と終了記号などを拡張するためのファイルです。
語彙ファイルには以下の3項目を記述します。
項目 [書式のバージョン] は常に必要です。
大文字と小文字は区別されます。
書式のバージョン | …… | #version 文字列 |
語句の種類 | …… | [語句の種類], [+語句の種類] |
語句 | …… | 語句 |
#version
語彙ファイル書式のバージョンを指定します。
現在のバージョンは 00000000 です。
書式のバージョンは必ずファイルの先頭行に記述してください。
大文字と小文字は区別されます。
例) #version 00000000
指定する語句の種類です。
以下の5種類の語句が指定できます。
[語句の種類] は指定の種類の語句群を新たに定義します。
[語句の種類] では、それまでに指定されていた語句は全て無効になります。
[+語句の種類] は既に指定されている語句群に新たな語句を追加します。
[-語句の種類] は既に指定されている語句群から指定の語句を削除します。
各語句群のデフォルトの状態についてはサンプルを参照してください。
大文字と小文字は区別されます。
keyword | …… | キーワード(一般には処理系の予約語) |
line_comment | …… | 単一行コメントの開始記号 |
block_comment | …… | 複数行コメントの開始記号と終了記号の組 |
string_literal | …… | 文字列定数の開始記号と終了記号の組 |
char_constant | …… | 文字定数の開始記号と終了記号の組 |
[keyword],
[+keyword],
[-keyword]
キーワードを指定します。
一行に一つのキーワードを記述します。
[line_comment],
[+line_comment],
[-line_comment]
単一行コメントの開始記号を指定します。
開始記号から行末までがコメントになります。
一行に一つの開始記号を記述します。
[block_comment],
[+block_comment],
[-block_comment]
複数行コメントの開始記号と終了記号を指定します。
開始記号から対応する終了記号までがコメントになります。
対応する一組の開始記号と終了記号を、一つ以上の空白文字 ' 'で区切って同一行に記述します。
[string_literal],
[+string_literal],
[-string_literal]
文字列定数の開始記号と終了記号を指定します。
始記号から対応する終了記号までが文字列定数になります。
対応する一組の開始記号と終了記号を、一つ以上の空白文字 ' 'で区切って同一行に記述します。
[char_constant],
[+char_constant],
[-char_constant]
文字定数の開始記号と終了記号を指定します。
開始記号から対応する終了記号までが文字定数になります。
対応する一組の開始記号と終了記号を、一つ以上の空白文字 ' 'で区切って同一行に記述します。
c.txt | …… | C の語彙ファイル |
c99.txt | …… | C99 の語彙ファイル |
csharp.txt | …… | C# の語彙ファイル |
pascal.txt | …… | PASCAL の語彙ファイル |
java.txt | …… | JAVA の語彙ファイル |
js.txt | …… | JavaScript の語彙ファイル |
awk.txt | …… | AWK の語彙ファイル |
cpp2htm はデフォルトで以下の語彙を持ちます。
---cpp2htm デフォルトの語彙--- #version 00000000 [line_comment] // [block_comment] /* */ [string_literal] " " [char_constant] ' ' [keyword] #include #line #error #pragma #define #undef #ifdef #ifndef #if #endif #else #elif bool true false char short int long float double void signed unsigned const volatile auto register static extern typedef struct union enum class do while for switch case default if else break continue goto return sizeof new delete this inline typeid static_cast reinterpret_cast const_cast dynamic_cast private protected public virtual friend asm operator template using namespace try catch throw [EOF]