// ================================================================ // c2htm : c/c++ 設定ファイル // ================================================================ // ---------------------------------------------------------------- // オプション TAB=4 // 入力のタブサイズ. 出力では空白になる LNO=5 // 行番号を付ける指定. 値は桁数. 0で無し LNOSEP=" : " // 行番号を付ける場合の、テキストとの間に置く文字列 // ---------------------------------------------------------------- // C/C++ソース以外の用途に使う場合の調整項目. // ※ C/C++では ` $ @ はだたの文字扱いだが、一応設定しておく // 記号として扱う 記号文字. 最初の=以降行末まで. 空白や// /*は置かないこと SYM =!"#%&'()=~|-^[:]/,.{}*+?><;`$@ // 名前として扱う 記号文字. NAMESYM =_ // LINECMTを定義すると、C/C++の // /*コメントをやめ、 // 記号1文字から行末までをコメントとする.指定できるのは、記号1文字 // LINECMT=# // ---------------------------------------------------------------- // 色やフォントスタイルの設定. // .C_STR{color:#888833} のようにそのままcssの中身になる C_LNO =color:#808080; // 行番号の色 C_SY =color:#661155; // 記号 C_STR =color:#888833; // "文字列" C_CH =color:#888800; // 'C'定数. C_ESC =color:#805030; // 文字列/文字定数中の エスケープシーケンス文字 C_ESCX =color:#FF4411; // 通常ソース中の のとき C_VAL =color:#888800; // 定数. 100や0x100L など C_OCT =color:#802000; // 0が1文字のみ以外の8進数. C_CMT =color:#209000; // // コメント. C_CMTK定義時は//の直後に空白がある場合の色 C_CMTJ =color:#006000; // /// /** //! /*! で始まる doxygen(jdoc/qt)コメント //C_CMTK=color:#808080; // "//コメント". // の直後に空白がない場合 C_SH =color:#308080; font-weight:normal; // #単語 や #,## C_W1 =color:#000080; font-weight:normal; // 単語グループ1 C_W2 =color:#204080; font-weight:normal; // 単語グループ2 C_W3 =color:#206080; font-weight:normal; // 単語グループ3 C_W4 =color:#006080; font-weight:normal; // 単語グループ4 C_W5 =color:#000080; font-weight:normal; // 単語グループ5 C_W6 =color:#204080; font-weight:normal; // 単語グループ6 C_W7 =color:#204080; font-weight:normal; // 単語グループ7 C_W8 =color:#204080; font-weight:normal; // 単語グループ8 C_W9 =color:#204080; font-weight:normal; // 単語グループ9 C_HT =color:#A0A0A0; // マーク行以外に使うハーフトーン行設定 //※ 補足 //・SYM= に該当記号文字を登録していない場合、C_指定の動作は不定 //・以下のものは設定がない場合(コメントアウトした場合)、 // 別の指定に置き換わる // ・C_OCT がない場合、C_VAL で判定 // ・C_ESCXがない場合、C_ESC で判定 // ・C_CMTJがない場合、C_CMT で判定 // ・C_CMTKがない場合、C_CMT で判定 // その他C_色設定がない場合、ただの文字として判定 // ---------------------------------------------------------------- // 色をつける単語の登録 SHARP { // #行の単語 #define #if #elif #else #endif #ifdef #ifndef #include #pragma #error #undef // プリプロセッサ関係 defined __FILE__ __LINE__ __DATE__ __FUNCTION__ } WORD1 { // 制御文系 // c break case continue default else for goto if return switch while do // c++ delete new throw try catch asm } WORD2 { // 修飾子や型関係 // c auto typedef static struct extern const void int char long short float double signed unsigned volatile typeof union enum register // c++ typename bool inline template using virtual using mutable namespace explicit friend class private protected public explicit const_cast static_cast dynamic_cast reinterpret_cast // 特殊な値や表現なモノ // c sizeof // c++ operator typeid this false true } WORD3 { // 標準ライブラリ定義の一般的(?)なもの NULL size_t wchar_t offsetof } WORD4 { // コンパイラ固有 typeof __cdecl __far __near __huge __int64 __int128 __inline _inline __fastcall __stdcall __based pascal cdecl __declspec __attribute__ } // ---------------------------------------------------------------- // ヘッダ&フッター // *fn* は入力ソース名に置き換わる // *css* は.C_SY{...}のようなスタイル設定に置き換わる HEADER { <html> <head> <title> *fn* </title> <meta http-equiv="Content-Type" content="text/html; charset=x-sjis"> <style><!-- .C_PRE{background-color: #f0f0f0;} *css* --></style> </head> <body> <blockquote> <pre class=C_PRE> } FOOTER { </pre> </blockquote> </body> </html> } // ---------------------------- // 交代ヘッダ&フッダ 1 HEADER1 { <pre> } FOOTER1 { </pre> } // 交代ヘッダ&フッダ 2 HEADER2 { } FOOTER2 { } // 交代ヘッダ&フッダ 3 HEADER3 { } FOOTER3 { }