SourceToHTML にGUIを

「SourceToHTML」と「SourceToRTF」をマージし、
また、"HTA"によるユーザーインターフェースを持たせました。

以下は、「SourceToHtml」の本体です。

.\library\SourceToHtml.js (2/3)


//=============================================================================
// 言語タイプに応じて、変換用オブジェクトを設定する
//=============================================================================
function setConvertOption()
{
//-------------------------------------------------------------------------
// 大文字・小文字を区別する/しない
//-------------------------------------------------------------------------
switch(_arg.langType)
{
// 大文字・小文字を区別する
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
_convert.ignoreCase = false; // 大文字・小文字を区別する
_convert.getKeyword = getKeywordCase; // 予約語を返す
break;

// 上記以外は、大文字・小文字を区別しない
// case "vb6": // Visual Basci 6.0
// case "vb7": // Visual Basci.NET
// case "vba": // Visual Basic for Application
// case "vbs": // VBScript
// case "del": // Delphi
// case "psql": // PL/SQL
// case "tsql": // T-SQL
default:
_convert.ignoreCase = true; // 大文字・小文字を区別しない
_convert.getKeyword = getKeywordIgnoreCase; // 予約語を返す
break;
}

//-------------------------------------------------------------------------
// 日本語の使用を許可する/しない
//-------------------------------------------------------------------------
switch(_arg.langType)
{
// 日本語の使用を許可する
case "cs7": // Visual C#.NET
case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
case "vb6": // Visual Basci 6.0
case "vb7": // Visual Basci.NET
case "vba": // Visual Basic for Application
case "vbs": // VBScript
case "psql": // PL/SQL
case "tsql": // T-SQL
_convert.useMultiByte = true; // 日本語の使用を許可する
break;

// 上記以外は、日本語の使用を許可しない
// case "vc6": // Visual C++ 6.0
// case "vc7": // Visual C++.NET
// case "bcb": // C++Builder
// case "java": // Java
// case "del": // Delphi
default:
_convert.useMultiByte = false; // 日本語の使用を許可しない
break;
}

//-------------------------------------------------------------------------
// 変換用 主処理の 割り当て
//-------------------------------------------------------------------------
if (_arg.langType == "txt")
// テキストなら、文字のエスケ−プだけ
_convert.ConvToHtml = ConvToHtmlText;
else
// それ以外なら変換処理を行う
_convert.ConvToHtml = ConvToHtmlOther;

//-------------------------------------------------------------------------
// トークンの開始を 判定
//-------------------------------------------------------------------------
_convert.state = new Object();
_convert.state.waitStart = new Array();

// ディレクティブか?
var idx = 0;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
// case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
// case "vb6": // Visual Basci 6.0
// case "vb7": // Visual Basci.NET
// case "vba": // Visual Basic for Application
// case "vbs": // VBScript
// case "psql": // PL/SQL
// case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^#[A-Za-z]+/)); }; // #
break;
case "del": // Delphi
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^\{\$.*\}/)); }; // {$ }
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "ディレクティブ";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 単一行コメントか?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
case "del": // Delphi
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^\/\/.*$/)); }; // //
break;
case "vb6": // Visual Basci 6.0
case "vb7": // Visual Basci.NET
case "vba": // Visual Basic for Application
case "vbs": // VBScript
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^'.*$/)); }; // '
break;
case "psql": // PL/SQL
case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^--.*$/)); }; // --
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "コメント";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 複数行コメントか?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
// case "vb6": // Visual Basci 6.0
// case "vb7": // Visual Basci.NET
// case "vba": // Visual Basic for Application
// case "vbs": // VBScript
case "psql": // PL/SQL
case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^\/\*.*\*\//)); }; // /* */
break;
case "del": // Delphi
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^\(\*.*\*\)/)); }; // (* *)
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "コメント";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 複数行コメントか?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
// case "vc6": // Visual C++ 6.0
// case "vc7": // Visual C++.NET
// case "cs7": // Visual C#.NET
// case "bcb": // C++Builder
// case "java": // Java
// case "js": // JavaScript
// case "vj6": // Visual J++ 6.0
// case "vj7": // Visual J#.NET
// case "vb6": // Visual Basci 6.0
// case "vb7": // Visual Basci.NET
// case "vba": // Visual Basic for Application
// case "vbs": // VBScript
case "del": // Delphi
// case "psql": // PL/SQL
// case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^\{.*\}/)); }; // { }
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "コメント";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 複数行コメントの 開始か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
// case "vb6": // Visual Basci 6.0
// case "vb7": // Visual Basci.NET
// case "vba": // Visual Basic for Application
// case "vbs": // VBScript
case "psql": // PL/SQL
case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^\/\*.*$/)); }; // /*
_convert.state.waitStart[idx].getTerm = function(arg) { return (arg.match(/^.*\*\//)); }; // */
break;
case "del": // Delphi
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^\(\*.*$/)); }; // (*
_convert.state.waitStart[idx].getTerm = function(arg) { return (arg.match(/^.*\*\)/)); }; // *)
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "コメント";
_convert.state.waitStart[idx].nextState = "終了待ち";

// 複数行コメントの 開始か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
// case "vc6": // Visual C++ 6.0
// case "vc7": // Visual C++.NET
// case "cs7": // Visual C#.NET
// case "bcb": // C++Builder
// case "java": // Java
// case "js": // JavaScript
// case "vj6": // Visual J++ 6.0
// case "vj7": // Visual J#.NET
// case "vb6": // Visual Basci 6.0
// case "vb7": // Visual Basci.NET
// case "vba": // Visual Basic for Application
// case "vbs": // VBScript
case "del": // Delphi
// case "psql": // PL/SQL
// case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^\{.*$/)); }; // {
_convert.state.waitStart[idx].getTerm = function(arg) { return (arg.match(/^.*\}/)); }; // }
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "コメント";
_convert.state.waitStart[idx].nextState = "終了待ち";

// 文字列か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^"(\\.|[^"])*("|$)/)); }; // " \" "
break;
case "vb6": // Visual Basci 6.0
case "vb7": // Visual Basci.NET
case "vba": // Visual Basic for Application
case "vbs": // VBScript
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^"(""|[^"])*("|$)/)); }; // " "" "
break;
case "del": // Delphi
case "psql": // PL/SQL
case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^'(''|[^'])*('|$)/)); }; // ' '' '
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "文字列";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 文字列か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
// case "vc6": // Visual C++ 6.0
// case "vc7": // Visual C++.NET
// case "cs7": // Visual C#.NET
// case "bcb": // C++Builder
// case "java": // Java
case "js": // JavaScript
// case "vj6": // Visual J++ 6.0
// case "vj7": // Visual J#.NET
// case "vb6": // Visual Basci 6.0
// case "vb7": // Visual Basci.NET
// case "vba": // Visual Basic for Application
// case "vbs": // VBScript
// case "del": // Delphi
// case "psql": // PL/SQL
// case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^'(\\.|[^'])*('|$)/)); }; // ' \" '
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "文字列";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 文字か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
// case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
// case "vb6": // Visual Basci 6.0
// case "vb7": // Visual Basci.NET
// case "vba": // Visual Basic for Application
// case "vbs": // VBScript
// case "psql": // PL/SQL
// case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^'(\\.|[^'])*('|$)/)); }; // ' \" '
break;
case "del": // Delphi
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^#(\$[0-9A-F]|[0-9])+/i)); }; // #$FF #99
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "文字";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 逐語的文字列か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
// case "vc6": // Visual C++ 6.0
// case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
// case "bcb": // C++Builder
// case "java": // Java
// case "js": // JavaScript
// case "vj6": // Visual J++ 6.0
// case "vj7": // Visual J#.NET
// case "vb6": // Visual Basci 6.0
// case "vb7": // Visual Basci.NET
// case "vba": // Visual Basic for Application
// case "vbs": // VBScript
// case "del": // Delphi
// case "psql": // PL/SQL
// case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^@"(""|[^"])*"/)); }; // @" "" "
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "文字列";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 逐語的文字列の 開始か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
// case "vc6": // Visual C++ 6.0
// case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
// case "bcb": // C++Builder
// case "java": // Java
// case "js": // JavaScript
// case "vj6": // Visual J++ 6.0
// case "vj7": // Visual J#.NET
// case "vb6": // Visual Basci 6.0
// case "vb7": // Visual Basci.NET
// case "vba": // Visual Basic for Application
// case "vbs": // VBScript
// case "del": // Delphi
// case "psql": // PL/SQL
// case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^@"(""|[^"])*$/)); }; // @" ""
_convert.state.waitStart[idx].getTerm = function(arg) { return (arg.match(/^(""|[^"])*"/)); }; // "" "
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "文字列";
_convert.state.waitStart[idx].nextState = "終了待ち";

// 識別子か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
case "vb6": // Visual Basci 6.0
case "vb7": // Visual Basci.NET
case "vba": // Visual Basic for Application
case "vbs": // VBScript
case "del": // Delphi
case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^[A-Za-z_][A-Za-z0-9_]*/)); }; // _z9
break;
case "psql": // PL/SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^[A-Za-z][A-Za-z0-9_#$]*/)); }; // z9$#
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "識別子";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 8進か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^0[0-7]+[A-Z]{0,2}/i)); }; // 07
break;
case "vb6": // Visual Basci 6.0
case "vb7": // Visual Basci.NET
case "vba": // Visual Basic for Application
case "vbs": // VBScript
// case "del": // Delphi
// case "psql": // PL/SQL
// case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^&O[0-7]+[A-Z]{0,2}/i)); }; // &o7
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "数字";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 16進か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
// case "psql": // PL/SQL
case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^0X[0-9A-F]+[A-Z]{0,2}/i)); }; // 0xff
break;
case "vb6": // Visual Basci 6.0
case "vb7": // Visual Basci.NET
case "vba": // Visual Basic for Application
case "vbs": // VBScript
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^&H[0-9A-F]+[A-Z]{0,2}/i)); }; // &hff
break;
case "del": // Delphi
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^\$[0-9A-F]+/i)); }; // $ff
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "数字";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 数字か? (99e99)
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
case "vb6": // Visual Basci 6.0
case "vb7": // Visual Basci.NET
case "vba": // Visual Basic for Application
case "vbs": // VBScript
case "del": // Delphi
case "psql": // PL/SQL
case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^[0-9]*\.?[0-9]?e{1}[+-]?[0-9]+[A-Z]{0,2}/i)); };
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "数字";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 数字か? (99.99)
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
case "vb6": // Visual Basci 6.0
case "vb7": // Visual Basci.NET
case "vba": // Visual Basic for Application
case "vbs": // VBScript
case "del": // Delphi
case "psql": // PL/SQL
case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^[0-9]*\.[0-9]+[A-Z]{0,2}/i)); };
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "数字";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 数字か? (99)
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
case "vb6": // Visual Basci 6.0
case "vb7": // Visual Basci.NET
case "vba": // Visual Basic for Application
case "vbs": // VBScript
case "del": // Delphi
case "psql": // PL/SQL
case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^[0-9]+[A-Z]{0,2}/i)); };
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "数字";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 正規表現か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
// case "vc6": // Visual C++ 6.0
// case "vc7": // Visual C++.NET
// case "cs7": // Visual C#.NET
// case "bcb": // C++Builder
// case "java": // Java
case "js": // JavaScript
// case "vj6": // Visual J++ 6.0
// case "vj7": // Visual J#.NET
// case "vb6": // Visual Basci 6.0
// case "vb7": // Visual Basci.NET
// case "vba": // Visual Basic for Application
// case "vbs": // VBScript
// case "del": // Delphi
// case "psql": // PL/SQL
// case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^\/(\[[^\}].*\]|\\\/|[^/])*\//)); }; // / \/ /
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "文字列";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 日付か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
// case "vc6": // Visual C++ 6.0
// case "vc7": // Visual C++.NET
// case "cs7": // Visual C#.NET
// case "bcb": // C++Builder
// case "java": // Java
// case "js": // JavaScript
// case "vj6": // Visual J++ 6.0
// case "vj7": // Visual J#.NET
case "vb6": // Visual Basci 6.0
case "vb7": // Visual Basci.NET
case "vba": // Visual Basic for Application
case "vbs": // VBScript
// case "del": // Delphi
// case "psql": // PL/SQL
// case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^#[^'"]+#/)); }; // # #
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "文字列";
_convert.state.waitStart[idx].nextState = "開始待ち";

// エスケープされた識別子か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
// case "vc6": // Visual C++ 6.0
// case "vc7": // Visual C++.NET
// case "cs7": // Visual C#.NET
// case "bcb": // C++Builder
// case "java": // Java
// case "js": // JavaScript
// case "vj6": // Visual J++ 6.0
// case "vj7": // Visual J#.NET
case "vb6": // Visual Basci 6.0
case "vb7": // Visual Basci.NET
case "vba": // Visual Basic for Application
case "vbs": // VBScript
// case "del": // Delphi
// case "psql": // PL/SQL
case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^\[(\\\]|[^\]])*(\]|$)/)); }; // [ ]
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "識別子";
_convert.state.waitStart[idx].nextState = "開始待ち";


// エスケープされた識別子か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
// case "vc6": // Visual C++ 6.0
// case "vc7": // Visual C++.NET
// case "cs7": // Visual C#.NET
// case "bcb": // C++Builder
// case "java": // Java
// case "js": // JavaScript
// case "vj6": // Visual J++ 6.0
// case "vj7": // Visual J#.NET
// case "vb6": // Visual Basci 6.0
// case "vb7": // Visual Basci.NET
// case "vba": // Visual Basic for Application
// case "vbs": // VBScript
// case "del": // Delphi
case "psql": // PL/SQL
case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^"(""|[^"])*("|$)/)); }; // " "" "
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "識別子";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 記号か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
case "vb6": // Visual Basci 6.0
case "vb7": // Visual Basci.NET
case "vba": // Visual Basic for Application
case "vbs": // VBScript
case "del": // Delphi
case "psql": // PL/SQL
case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^[!"#$%&'()*+,\-./:;<=>?@\[\\\]^_`\{|\}~]/)); };
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "記号";
_convert.state.waitStart[idx].nextState = "開始待ち";

// 空白か?
idx++;
_convert.state.waitStart[idx] = new Object();
switch(_arg.langType)
{
case "vc6": // Visual C++ 6.0
case "vc7": // Visual C++.NET
case "cs7": // Visual C#.NET
case "bcb": // C++Builder
case "java": // Java
case "js": // JavaScript
case "vj6": // Visual J++ 6.0
case "vj7": // Visual J#.NET
case "vb6": // Visual Basci 6.0
case "vb7": // Visual Basci.NET
case "vba": // Visual Basic for Application
case "vbs": // VBScript
case "del": // Delphi
case "psql": // PL/SQL
case "tsql": // T-SQL
_convert.state.waitStart[idx].getToken = function(arg) { return (arg.match(/^\s+/)); };
break;
default:
_convert.state.waitStart[idx].getToken = function(arg) { return null; };
break;
}
_convert.state.waitStart[idx].currType = "空白";
_convert.state.waitStart[idx].nextState = "開始待ち";
}