「拡張子からコンソール実行」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
22行目: 22行目:


== [[File:拡張子でコンソール実行.png]] ZIP ==
== [[File:拡張子でコンソール実行.png]] ZIP ==
[[Media:拡張子でコンソール実行inマクロ.zip|ダウンロード【2016/06/02版】]]<br>
[[Media:拡張子でコンソール実行inマクロ.zip|ダウンロード【2016/12/11版】]]<br>
[[:File:拡張子でコンソール実行inマクロ.zip|旧版]]<br>
[[:File:拡張子でコンソール実行inマクロ.zip|旧版]]<br>
変換済みicoファイル込<br>
変換済みicoファイル込<br>
30行目: 30行目:


== [[File:拡張子でコンソール実行.png]] ソース ==
== [[File:拡張子でコンソール実行.png]] ソース ==
;exec_cmd.vbs
<syntaxhighlight lang=VBScript line>
#icon="exec_cmd.ico"
#icon="exec_cmd.ico"
#title="コンソール実行"
#title="コンソール実行"
59行目: 57行目:
'C++
'C++
Case "cpp"
Case "cpp"
'ENGINE="cl"
ENGINE="cl"
'ENGINE="bcc32"
'ENGINE="bcc32"
ENGINE="g++"
'ENGINE="g++"
'C#
'C#
Case "cs"
Case "cs"
81行目: 79行目:
'JavaScript
'JavaScript
Case "js"
Case "js"
'ENGINE="node"
ENGINE="node"
ENGINE="jscript"
'ENGINE="jscript"
'ENGINE="jsc"
'ENGINE="jsc"
'ENGINE="rhino"
'ENGINE="rhino"
104行目: 102行目:
'Python
'Python
Case "py"
Case "py"
ENGINE="python"
'ENGINE="python"
'ENGINE="python2"
ENGINE="python3"
'ENGINE="pypy"
'ENGINE="pypy"
'ENGINE="jython"
'ENGINE="jython"
118行目: 118行目:
'Clojure
'Clojure
Case "clj"
Case "clj"
ENGINE="clojure"
'ENGINE="clojure"
'ENGINE="clojure-clr"
ENGINE="clojure-clr"
End Select
End Select
End Function
End Function
126行目: 126行目:
Function ENGINE_PATH(file_format)
Function ENGINE_PATH(file_format)
Select Case LCase(file_format)
Select Case LCase(file_format)
'VC++
Case "cl"
'ENGINE_PATH="%ProgramFiles%\Microsoft Visual Studio 14.0\VC\bin"
'ENGINE_PATH="%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\bin"
ENGINE_PATH="%ProgramFiles%\Microsoft Visual Studio 14.0\VC\bin"
'ENGINE_PATH="%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\bin"
'C#, VB.NET
'C#, VB.NET
Case "csc","vbc"
Case "csc","vbc"
ENGINE_PATH="%SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319"
'ENGINE_PATH="%SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319"
'ENGINE_PATH="%ProgramFiles%\MSBuild\12.0\Bin"
'ENGINE_PATH="%ProgramFiles%\MSBuild\12.0\Bin"
'ENGINE_PATH="%ProgramFiles(x86)%\MSBuild\12.0\Bin"
'ENGINE_PATH="%ProgramFiles(x86)%\MSBuild\12.0\Bin"
'ENGINE_PATH="%ProgramFiles%\MSBuild\14.0\Bin"
ENGINE_PATH="%ProgramFiles%\MSBuild\14.0\Bin"
'ENGINE_PATH="%ProgramFiles(x86)%\MSBuild\14.0\Bin"
'ENGINE_PATH="%ProgramFiles(x86)%\MSBuild\14.0\Bin"
'Mono C#, Mono VB.NET
'Mono C#, Mono VB.NET
224行目: 230行目:


'タイトル、実行コマンド
'タイトル、実行コマンド
Select Case LCase(file_format)
If load_option("cmd:") Then
Case "c","cpp" 'C, C++
'一行目に"cmd:"を含めるとそれ以降が実行コマンドになる。
Select Case ENGINE(file_format)
'ただし、既定の実行エンジンも指定されないため、
Case "cl" 'Visual C++  
'そこを含めてのコマンド設定が必要。
TITLE="Visual C++ " & Document.Name
EXEC_COMMAND=Split(LCase(Document.GetLine(1)),"cmd:")(1)
EXEC_COMMAND=Join(Array( _
 
"cl ",Document.Name,br, _
Else
DOC_NAME,".exe" _
Select Case LCase(file_format)
),"")
Case "c","cpp" 'C, C++
Select Case ENGINE(file_format)
Case "cl" 'Visual C++  
TITLE="Visual C++ " & Document.Name
EXEC_COMMAND=Join(Array( _
"""",Replace(ENGINE_PATH(ENGINE(file_format)),"\bin",""),"\vcvarsall"" & ",_
"""",ENGINE_PATH(ENGINE(file_format)),"\cl"" /nologo /EHsc ",Document.Name,br, _
DOC_NAME,".exe" _
),"")
Case "bcc32" 'Borland C++
TITLE="Borland C++ " & Document.Name
EXEC_COMMAND=Join(Array( _
"bcc32 ",Document.Name,br, _
DOC_NAME,".exe" _
),"")
 
Case "gcc" 'GCC C
TITLE="GCC C " & Document.Name
EXEC_COMMAND=Join(Array( _
"gcc -o ",DOC_NAME,".exe ",Document.Name,br, _
DOC_NAME,".exe" _
),"")
 
Case "g++" 'GCC C++
'コンパイルオプション
'一行目に //not11 と入力するとC++11以前のコンパイルを行う。
If load_option("//not11") Then
CMD_OPTION=""
Else
CMD_OPTION="-std=c++11 "
End If
TITLE="GCC C++ " & Document.Name
EXEC_COMMAND=Join(Array( _
"g++ ",CMD_OPTION,"-o ",DOC_NAME,".exe ",Document.Name,br, _
DOC_NAME,".exe" _
),"")
End Select
 
Case "d" 'D言語
TITLE="D言語 " & Document.Name
EXEC_COMMAND="dmd " & Document.Name & br & DOC_NAME & ".exe"
 
Case "cs" 'C#
'コンパイルファイル選択
'デフォルトでフォルダ内全てをコンパイル。
'一行目に //only と加えることでそのファイルのみコンパイルを行う。
If load_option("//only") Then
PKG_FILES=Document.Name
Else
PKG_FILES="*.cs"
End If
 
Select Case ENGINE(file_format)
Case "csc" 'C#
TITLE="C# "+ Document.Name
EXEC_COMMAND=Join(Array( _
"""",ENGINE_PATH(ENGINE(file_format)),"\csc"" ", _
"/nologo /out:",DOC_NAME,".exe ",PKG_FILES," /optimize+",br, _
DOC_NAME,".exe" _
),"")
 
Case "mcs" 'Mono C#
TITLE="Mono C# "+ Document.Name
EXEC_COMMAND=Join(Array( _
"""",ENGINE_PATH(ENGINE(file_format)),"\mcs"" ", _
"-out:",DOC_NAME,".exe ",PKG_FILES," -optimize+",br, _
DOC_NAME,".exe" _
),"")
End Select


Case "bcc32" 'Borland C++
Case "csx" 'C#Script
TITLE="Borland C++ " & Document.Name
Select Case ENGINE(file_format)
EXEC_COMMAND=Join(Array( _
Case "csi" 'C#Script
"bcc32 ",Document.Name,br, _
TITLE="C#Script "+ Document.Name
DOC_NAME,".exe" _
EXEC_COMMAND=Join(Array( _
),"")
"""",ENGINE_PATH(ENGINE(file_format)),"\csi"" ",Document.Name _
),"")
Case "csharp" 'Mono C#Script
TITLE="Mono C#Script "+ Document.Name
EXEC_COMMAND=Join(Array( _
"""",ENGINE_PATH(ENGINE(file_format)),"\csharp"" ",Document.Name _
),"")
Case "scriptcs" 'ScriptCS
TITLE="scriptcs "+ Document.Name
EXEC_COMMAND="scriptcs " & Document.Name
End Select


Case "gcc" 'GCC C
Case "java" 'Java
TITLE="GCC C " & Document.Name
'jar化は手順が面倒そうなので保留
EXEC_COMMAND=Join(Array( _
TITLE="Java " & Document.Name
"gcc -o ",DOC_NAME,".exe ",Document.Name,br, _
EXEC_COMMAND=Join(Array( _
DOC_NAME,".exe" _
"javac ",Document.Name,br, _
),"")
"java ",DOC_NAME _
),"")


Case "g++" 'GCC C++
Case "scala" 'Scala
TITLE="GCC C++ " & Document.Name
'コンパイルオプション
EXEC_COMMAND=Join(Array( _
'一行目に //class と加えることでclassファイルにコンパイルを行う。
"g++ -o ",DOC_NAME,".exe ",Document.Name,br, _
TITLE="Scala " & Document.Name
DOC_NAME,".exe" _
If load_option("//class") Then
),"")
EXEC_COMMAND="scalac " & Document.Name
End Select
Else
EXEC_COMMAND="scala " & Document.Name
End If


Case "d" 'D言語
Case "groovy" 'Groovy
TITLE="D言語 " & Document.Name
'コンパイルオプション
EXEC_COMMAND="dmd " & Document.Name & br & DOC_NAME & ".exe"
'一行目に //class と加えることでclassファイルにコンパイルを行う。
TITLE="Groovy " & Document.Name
If load_option("//class") Then
EXEC_COMMAND="groovyc " & Document.Name
Else
EXEC_COMMAND="groovy " & Document.Name
End If


Case "cs" 'C#
Case "pl" 'Perl
'コンパイルファイル選択
Select Case ENGINE(file_format)
'デフォルトでフォルダ内全てをコンパイル。
Case "perl"
'一行目に //only と加えることでそのファイルのみコンパイルを行う。
TITLE="Perl " & Document.Name
If load_option("//only") Then
EXEC_COMMAND="perl " & Document.Name
PKG_FILES=Document.Name
Else
PKG_FILES="*.cs"
End If


Select Case ENGINE(file_format)
Case "perl6"
Case "csc" 'C#
TITLE="Perl6 " & Document.Name
TITLE="C# "+ Document.Name
EXEC_COMMAND="perl6 " & Document.Name
EXEC_COMMAND=Join(Array( _
End Select
"""",ENGINE_PATH(ENGINE(file_format)),"\csc"" ", _
"/nologo /out:",DOC_NAME,".exe ",PKG_FILES," /optimize+",br, _
DOC_NAME,".exe" _
),"")


Case "mcs" 'Mono C#
Case "php" 'PHP
TITLE="Mono C# "+ Document.Name
Select Case ENGINE(file_format)
EXEC_COMMAND=Join(Array( _
Case "php" 'PHP
"""",ENGINE_PATH(ENGINE(file_format)),"\mcs"" ", _
TITLE="PHP " & Document.Name
"-out:",DOC_NAME,".exe ",PKG_FILES," -optimize+",br, _
EXEC_COMMAND="php " & Document.Name
DOC_NAME,".exe" _
),"")
End Select


Case "csx" 'C#Script
Case "phpc" 'Phalanger
Select Case ENGINE(file_format)
TITLE="Phalanger " & Document.Name
Case "csi" 'C#Script
EXEC_COMMAND=Join(Array( _
TITLE="C#Script "+ Document.Name
"phpc /debug- /quiet ",Document.Name,br, _
EXEC_COMMAND=Join(Array( _
"bin\",DOC_NAME,".exe" _
"""",ENGINE_PATH(ENGINE(file_format)),"\csi"" ",Document.Name _
),"")
),"")
End Select
Case "csharp" 'Mono C#Script
TITLE="Mono C#Script "+ Document.Name
EXEC_COMMAND=Join(Array( _
"""",ENGINE_PATH(ENGINE(file_format)),"\csharp"" ",Document.Name _
),"")
Case "scriptcs" 'ScriptCS
TITLE="scriptcs "+ Document.Name
EXEC_COMMAND="scriptcs " & Document.Name
End Select


Case "java" 'Java
Case "go" 'Go
'jar化は手順が面倒そうなので保留
'コンパイルオプション
TITLE="Java " & Document.Name
'一行目に//buildでビルドを行う。
EXEC_COMMAND=Join(Array( _
If load_option("//build") Then
"javac ",Document.Name,br, _
CMD_OPTION="build "
"java ",DOC_NAME _
Else
),"")
CMD_OPTION="run "
End If
TITLE="GO " & Document.Name
EXEC_COMMAND=Join(Array( _
"go ",CMD_OPTION,Document.Name _
),"")


Case "scala" 'Scala
Case "dart" 'Dart
'コンパイルオプション
TITLE="Dart " & Document.Name
'一行目に //class と加えることでclassファイルにコンパイルを行う。
EXEC_COMMAND="dart " & Document.Name _
TITLE="Scala " & Document.Name
If load_option("//class") Then
EXEC_COMMAND="scalac " & Document.Name
Else
EXEC_COMMAND="scala " & Document.Name
End If


Case "groovy" 'Groovy
Case "r","q","s" 'R言語
'コンパイルオプション
TITLE="R言語 " & Document.Name
'一行目に //class と加えることでclassファイルにコンパイルを行う。
EXEC_COMMAND="rscript " & Document.Name
TITLE="Groovy " & Document.Name
If load_option("//class") Then
EXEC_COMMAND="groovyc " & Document.Name
Else
EXEC_COMMAND="groovy " & Document.Name
End If


Case "pl" 'Perl
Case "js" 'JavaScript
Select Case ENGINE(file_format)
If load_option("//comp") Then
Case "perl"
'js圧縮モード
TITLE="Perl " & Document.Name
'一行目にコメントで //compと加える。
EXEC_COMMAND="perl " & Document.Name
TITLE="Uglify.js " & Document.Name
EXEC_COMMAND=COMP_JS & BUILDED
Else
Select Case ENGINE(file_format)
Case "node" 'Node.js
'デバッグオプション
'一行目に、
' //debug と加えることでデバッグモードでの実行を行う。
If load_option("//debug") Then
CMD_OPTION="debug"
Else
CMD_OPTION=""
End If


Case "perl6"
TITLE="Node.js " & Document.Name
TITLE="Perl6 " & Document.Name
EXEC_COMMAND=Join(Array("node ",CMD_OPTION," ",Document.Name),"")
EXEC_COMMAND="perl6 " & Document.Name
End Select


Case "php" 'PHP
Case "jscript" 'JScript
Select Case ENGINE(file_format)
TITLE="JScript " & Document.Name
Case "php" 'PHP
EXEC_COMMAND="cscript //nologo //E:JScript " & Document.Name
TITLE="PHP " & Document.Name
EXEC_COMMAND="php " & Document.Name


Case "phpc" 'Phalanger
Case "jsc" 'JScript.NET
TITLE="Phalanger " & Document.Name
PKG_FILES=Document.Name
EXEC_COMMAND=Join(Array( _
TITLE="JScript.NET "+ Document.Name
"phpc /debug- /quiet ",Document.Name,br, _
EXEC_COMMAND=Join(Array( _
"bin\",DOC_NAME,".exe" _
"""",ENGINE_PATH(ENGINE(file_format)),"\jsc"" /nologo /out:", _
),"")
DOC_NAME,".exe ",PKG_FILES,br, _
End Select
DOC_NAME,".exe" _
),"")


Case "go" 'Go
Case "rhino" 'Rhino
'コンパイルオプション
TITLE="Rhino " & Document.Name
'一行目に//buildでビルドを行う。
EXEC_COMMAND=Join(Array("java -jar ",ENGINE_PATH(ENGINE(file_format)),"\js.jar ",Document.Name),"")
If load_option("//build") Then
End Select
CMD_OPTION="build"
End If
Else
CMD_OPTION="run"
End If
TITLE="GO " & Document.Name
EXEC_COMMAND=Join(Array( _
"go ",CMD_OPTION,Document.Name _
),"")


Case "dart" 'Dart
Case "ts" 'TypeScript
TITLE="Dart " & Document.Name
TITLE="TypeScript to " & ENGINE("js") & " " & Document.Name
EXEC_COMMAND="dart " & Document.Name _
EXEC_COMMAND=Join(Array("""",ENGINE_PATH(file_format),"\tsc"" -t ES6 ",Document.Name,br),"")
If load_option("//comp") Then
'js圧縮モード
'一行目にコメントで //compと加える。
TITLE="Uglify.js + " & TITLE
EXEC_COMMAND=EXEC_COMMAND & COMP_JS & BUILDED
Else
'JavaScript実行
Select Case ENGINE("js")
Case "node" 'Node.js
EXEC_COMMAND=Join(Array(EXEC_COMMAND, _
"node ",DOC_NAME,".js" _
),"")


Case "r","q","s" 'R言語
Case "jscript" 'JScript
TITLE="R言語 " & Document.Name
EXEC_COMMAND=Join(Array(EXEC_COMMAND, _
EXEC_COMMAND="rscript " & Document.Name
"cscript //nologo //E:JScript ",DOC_NAME,".js" _
),"")
End Select
End If


Case "js" 'JavaScript
Case "f","f90","f95","f03" 'Fortran
If load_option("//comp") Then
TITLE="GFortran " & Document.Name
'js圧縮モード
EXEC_COMMAND=Join(Array( _
'一行目にコメントで //compと加える。
"gfortran -o ",DOC_NAME," ",Document.Name,br, _
TITLE="Uglify.js " & Document.Name
DOC_NAME,".exe" _
EXEC_COMMAND=COMP_JS & BUILDED
),"")
Else
Select Case ENGINE(file_format)
Case "node" 'Node.js
'デバッグオプション
'一行目に、
' //debug と加えることでデバッグモードでの実行を行う。
If load_option("//debug") Then
CMD_OPTION="debug"
Else
CMD_OPTION=""
End If


TITLE="Node.js " & Document.Name
Case "vbs" 'VBScript
EXEC_COMMAND=Join(Array("node ",CMD_OPTION," ",Document.Name),"")
TITLE="VBScript " & Document.Name
EXEC_COMMAND="cscript  //nologo //E:VBScript " & Document.Name


Case "jscript" 'JScript
Case "vb" 'VB.NET
TITLE="JScript " & Document.Name
'コンパイルファイル選択
EXEC_COMMAND="cscript //nologo //E:JScript " & Document.Name
'デフォルトでフォルダ内全てをコンパイル。
'一行目に 'only と加えることでそのファイルのみコンパイルを行う。
If load_option("'only") Then
PKG_FILES=Document.Name
Else
PKG_FILES="*.vb"
End If


Case "jsc" 'JScript.NET
Select Case ENGINE(file_format)
PKG_FILES=Document.Name
Case "vbc" 'VB.NET
TITLE="JScript.NET "+ Document.Name
TITLE="VB.NET "+ Document.Name
EXEC_COMMAND=Join(Array( _
EXEC_COMMAND=Join(Array( _
"""",ENGINE_PATH(ENGINE(file_format)),"\jsc"" /nologo /out:", _
"""",ENGINE_PATH(ENGINE(file_format)),"\vbc""", _
DOC_NAME,".exe ",PKG_FILES,br, _
" /nologo /out:",DOC_NAME,".exe ",PKG_FILES," /optimize+",br, _
DOC_NAME,".exe" _
DOC_NAME,".exe" _
),"")
),"")


Case "rhino" 'Rhino
Case "vbnc" 'Mono VB.NET
TITLE="Rhino " & Document.Name
TITLE="Mono VB.NET"
EXEC_COMMAND=Join(Array("java -jar ",ENGINE_PATH(ENGINE(file_format)),"\js.jar ",Document.Name),"")
EXEC_COMMAND=Join(Array( _
End Select
"""",ENGINE_PATH(ENGINE(file_format)),"\vbnc""", _
End If
" /quiet /nologo /out:",DOC_NAME,".exe ",PKG_FILES," /optimize+",br, _
 
DOC_NAME,".exe" _
Case "ts" 'TypeScript
TITLE="TypeScript to " & ENGINE("js") & " " & Document.Name
EXEC_COMMAND=Join(Array("""",ENGINE_PATH(file_format),"\tsc"" ",Document.Name,br),"")
If load_option("//comp") Then
'js圧縮モード
'一行目にコメントで //compと加える。
TITLE="Uglify.js + " & TITLE
EXEC_COMMAND=EXEC_COMMAND & COMP_JS & BUILDED
Else
'JavaScript実行
Select Case ENGINE("js")
Case "node" 'Node.js
EXEC_COMMAND=Join(Array(EXEC_COMMAND, _
"node ",DOC_NAME,".js" _
),"")
 
Case "jscript" 'JScript
EXEC_COMMAND=Join(Array(EXEC_COMMAND, _
"cscript //nologo //E:JScript ",DOC_NAME,".js" _
),"")
),"")
End Select
End Select
End If


Case "f","f90","f95","f03" 'Fortran
Case "bas" 'BASIC
TITLE="GFortran " & Document.Name
TITLE="FreeBasic " & Document.Name
EXEC_COMMAND=Join(Array( _
EXEC_COMMAND=Join(Array( _
"gfortran -o ",DOC_NAME," ",Document.Name,br, _
"fbc -lang deprecated ",Document.Name,br _
DOC_NAME,".exe" _
,DOC_NAME,".exe" _
),"")
),"")


Case "vbs" 'VBScript
Case "pas","pp" 'PASCAL
TITLE="VBScript " & Document.Name
TITLE="FreePascal " & Document.Name
EXEC_COMMAND="cscript  //nologo //E:VBScript " & Document.Name
EXEC_COMMAND=Join(Array( _
"fpc ",Document.Name,br, _
DOC_NAME,".exe" _
),"")


Case "vb" 'VB.NET
Case "adb" 'Ada
'コンパイルファイル選択
TITLE="GNAT Ada " & Document.Name
'デフォルトでフォルダ内全てをコンパイル。
EXEC_COMMAND=Join(Array( _
'一行目に 'only と加えることでそのファイルのみコンパイルを行う。
"gnatmake ",Document.Name,br _
If load_option("'only") Then
,DOC_NAME,".exe" _
PKG_FILES=Document.Name
),"")
Else
PKG_FILES="*.vb"
End If


Select Case ENGINE(file_format)
Case "rb" 'Ruby
Case "vbc" 'VB.NET
Select Case ENGINE(file_format)
TITLE="VB.NET "+ Document.Name
Case "ruby" 'Ruby
EXEC_COMMAND=Join(Array( _
TITLE="Ruby " & Document.Name
"""",ENGINE_PATH(ENGINE(file_format)),"\vbc""", _
EXEC_COMMAND="ruby " & Document.Name
" /nologo /out:",DOC_NAME,".exe ",PKG_FILES," /optimize+",br, _
DOC_NAME,".exe" _
),"")


Case "vbnc" 'Mono VB.NET
Case "jruby" 'JRuby
TITLE="Mono VB.NET"
TITLE="JRuby " & Document.Name
EXEC_COMMAND=Join(Array( _
EXEC_COMMAND="jruby " & Document.Name
"""",ENGINE_PATH(ENGINE(file_format)),"\vbnc""", _
" /quiet /nologo /out:",DOC_NAME,".exe ",PKG_FILES," /optimize+",br, _
DOC_NAME,".exe" _
),"")
End Select


Case "bas" 'BASIC
Case "ir" 'IronRuby
TITLE="FreeBasic " & Document.Name
TITLE="IronRuby " & Document.Name
EXEC_COMMAND=Join(Array( _
EXEC_COMMAND="ir " & Document.Name
"fbc -lang deprecated ",Document.Name,br _
End Select
,DOC_NAME,".exe" _
),"")


Case "pas","pp" 'PASCAL
Case "lua" 'Lua
TITLE="FreePascal " & Document.Name
Select Case ENGINE(file_format)
EXEC_COMMAND=Join(Array( _
Case "lua" 'Lua
"fpc ",Document.Name,br, _
TITLE="Lua " & Document.Name
DOC_NAME,".exe" _
EXEC_COMMAND="lua " & Document.Name
),"")


Case "adb" 'Ada
Case "luajit" 'LuaJIT
TITLE="GNAT Ada " & Document.Name
TITLE="LuaJIT " & Document.Name
EXEC_COMMAND=Join(Array( _
EXEC_COMMAND="luajit " & Document.Name
"gnatmake ",Document.Name,br _
End Select
,DOC_NAME,".exe" _
),"")


Case "rb" 'Ruby
Case "m" 'MATLAB
Select Case ENGINE(file_format)
Select Case ENGINE(file_format)
Case "ruby" 'Ruby
Case "matlab" 'MATLAB
TITLE="Ruby " & Document.Name
'環境不所持により、動作未確認。
EXEC_COMMAND="ruby " & Document.Name
TITLE="Matlab " & Document.Name
EXEC_COMMAND="matlab -nodisplay " & Document.Name


Case "jruby" 'JRuby
Case "octave" 'GNU Octave
TITLE="JRuby " & Document.Name
TITLE="GNU Octave " & Document.Name
EXEC_COMMAND="jruby " & Document.Name
EXEC_COMMAND="octave-cli " & Document.Name
End Select


Case "ir" 'IronRuby
Case "sce" 'Scilab
TITLE="IronRuby " & Document.Name
'最後にexitを実行しないとreplに移行します。
EXEC_COMMAND="ir " & Document.Name
'また、日本語で文字化け注意。
End Select
TITLE="Scilab " & Document.Name
EXEC_COMMAND="Scilex -nwni -nb -l ja -f " & Document.Name


Case "lua" 'Lua
Case "py" 'Python
Select Case ENGINE(file_format)
Select Case ENGINE(file_format)
Case "lua" 'Lua
Case "python" 'Python
TITLE="Lua " & Document.Name
'コンパイルオプション
EXEC_COMMAND="lua " & Document.Name
'一行目に #pyc と加えることでコンパイルを行う。
If load_option("#pyc") Then
CMD_OPTION="-m compileall"
Else
CMD_OPTION=""
End If


Case "luajit" 'LuaJIT
TITLE="Python " & Document.Name
TITLE="LuaJIT " & Document.Name
EXEC_COMMAND=Join(Array( _
EXEC_COMMAND="luajit " & Document.Name
"python ",CMD_OPTION," ",Document.Name _
End Select
),"")


Case "m" 'MATLAB
Case "python2" 'Python2
Select Case ENGINE(file_format)
TITLE="Python2 " & Document.Name
Case "matlab" 'MATLAB
EXEC_COMMAND="py -2 " & Document.Name
'環境不所持により、動作未確認。
TITLE="Matlab " & Document.Name
EXEC_COMMAND="matlab -nodisplay " & Document.Name


Case "octave" 'GNU Octave
Case "python3" 'Python3
TITLE="GNU Octave " & Document.Name
TITLE="Python3 " & Document.Name
EXEC_COMMAND="octave-cli " & Document.Name
EXEC_COMMAND="py -3 " & Document.Name
End Select


Case "sce" 'Scilab
Case "pypy" 'PyPy
'最後にexitを実行しないとreplに移行します。
TITLE="PyPy " & Document.Name
'また、日本語で文字化け注意。
EXEC_COMMAND="pypy " & Document.Name
TITLE="Scilab " & Document.Name
EXEC_COMMAND="Scilex -nwni -nb -l ja -f " & Document.Name


Case "py" 'Python
Case "jython" 'Jython
Select Case ENGINE(file_format)
TITLE="Jython " & Document.Name
Case "python" 'Python
EXEC_COMMAND="jython " & Document.Name
'コンパイルオプション
'一行目に #pyc と加えることでコンパイルを行う。
If load_option("#pyc") Then
CMD_OPTION="-m compileall"
Else
CMD_OPTION=""
End If


TITLE="Python " & Document.Name
Case "ipy" 'IronPython
EXEC_COMMAND=Join(Array( _
TITLE="IronPython " & Document.Name
"python ",CMD_OPTION," ",Document.Name _
EXEC_COMMAND="ipy " & Document.Name
),"")


Case "pypy" 'PyPy
Case "ipy64" 'IronPython
TITLE="PyPy " & Document.Name
TITLE="IronPython64 " & Document.Name
EXEC_COMMAND="pypy " & Document.Name
EXEC_COMMAND="ipy64 " & Document.Name
End Select


Case "jython" 'Jython
Case "coffee" 'CoffeeScript
TITLE="Jython " & Document.Name
'コンパイルオプション
EXEC_COMMAND="jython " & Document.Name
'一行目に #js と加えることでjsファイルにコンパイルを行う。
If load_option("#js") Then
CMD_OPTION="--compile"
Else
CMD_OPTION=""
BUILDED=""
End If


Case "ipy" 'IronPython
TITLE="CoffeeScript " & Document.Name
TITLE="IronPython " & Document.Name
EXEC_COMMAND=Join(Array( _
EXEC_COMMAND="ipy " & Document.Name
"""",ENGINE_PATH(file_format),"\coffee"" ",CMD_OPTION," ",Document.Name, _
BUILDED _
),"")
If load_option("#js") And load_option("comp") Then
'js圧縮モード
'一行目にコメントで #comp と加える。
TITLE="Uglify.js + " & TITLE
EXEC_COMMAND=Join(Array(EXEC_COMMAND,br,COMP_JS,BUILDED),"")
End If


Case "ipy64" 'IronPython
Case "nako" 'なでしこ
TITLE="IronPython64 " & Document.Name
'起動オプション
EXEC_COMMAND="ipy64 " & Document.Name
'一行目にコメントで下記を含める。なしでコンソール実行
End Select
' vnako: 標準GUI
' gnako: 簡易GUI
' pad:  なでしこエディタ起動(コンパイルはエディタから行う)
TITLE="なでしこ " & Document.Name
If load_option("vnako") Then
EXEC_COMMAND="vnako " & Document.Name
ElseIf load_option("gnako") Then
EXEC_COMMAND="gnako " & Document.Name
ElseIf load_option("pad") Then
EXEC_COMMAND="nakopad " & Document.Name
Else
EXEC_COMMAND="cnako " & Document.Name
End If


Case "coffee" 'CoffeeScript
Case "l","lisp","lsp","cl" 'LISP, CommonLisp
'コンパイルオプション
Select Case ENGINE(file_format)
'一行目に #js と加えることでjsファイルにコンパイルを行う。
Case "clisp" 'CLISP
If load_option("#js") Then
'コンパイルオプション
CMD_OPTION="--compile"
'一行目に ;fas と加えることでfasファイルにコンパイルを行う。
Else
If load_option(";fas") Then
CMD_OPTION=""
CMD_OPTION="-c"
BUILDED=""
Else
End If
CMD_OPTION=""
End If


TITLE="CoffeeScript " & Document.Name
TITLE="CLISP " & Document.Name
EXEC_COMMAND=Join(Array( _
EXEC_COMMAND=Join(Array("clisp ",CMD_OPTION," ",Document.Name),"")
"""",ENGINE_PATH(file_format),"\coffee"" ",CMD_OPTION," ",Document.Name, _
BUILDED _
),"")
If load_option("#js") And load_option("comp") Then
'js圧縮モード
'一行目にコメントで #comp と加える。
TITLE="Uglify.js + " & TITLE
EXEC_COMMAND=Join(Array(EXEC_COMMAND,br,COMP_JS,BUILDED),"")
End If


Case "nako" 'なでしこ
Case "sbcl" 'SteelBankCommonLisp
'起動オプション
'コンパイルオプション
'一行目にコメントで下記を含める。なしでコンソール実行
'一行目に ;fasl と加えることでfaslファイルにコンパイルを行う。
' vnako: 標準GUI
'(Macros\exec_cmdフォルダにexec_sbcl_comp.lisp 必須)
' gnako: 簡易GUI
' pad:  なでしこエディタ起動(コンパイルはエディタから行う)
TITLE="なでしこ " & Document.Name
If load_option("vnako") Then
EXEC_COMMAND="vnako " & Document.Name
ElseIf load_option("gnako") Then
EXEC_COMMAND="gnako " & Document.Name
ElseIf load_option("pad") Then
EXEC_COMMAND="nakopad " & Document.Name
Else
EXEC_COMMAND="cnako " & Document.Name
End If


Case "l","lisp","lsp","cl" 'LISP, CommonLisp
'なお、SBCLのEXE化は以下の設定文をlispファイルに書き加えることで可能となる。
Select Case ENGINE(file_format)
'(sb-ext:save-lisp-and-die "Hello.exe" ;ファイル名
Case "clisp" 'CLISP
' :toplevel #'main ;初期起動関数
'コンパイルオプション
' :executable t)
'一行目に ;fas と加えることでfasファイルにコンパイルを行う。
If load_option(";fas") Then
CMD_OPTION="-c"
Else
CMD_OPTION=""
End If


TITLE="CLISP " & Document.Name
If load_option(";fasl") Then
EXEC_COMMAND=Join(Array("clisp ",CMD_OPTION," ",Document.Name),"")
Dim me_paths:me_paths=Split(Editor.FullName,"\")
me_paths(UBound(me_paths))=""
'Macrosフォルダのパス取得
Dim me_path:me_path=Join(me_paths,"\") & "Macros\exec_cmd\"


Case "sbcl" 'SteelBankCommonLisp
CMD_OPTION=me_path & "exec_sbcl_comp.lisp"
'コンパイルオプション
Else
'一行目に ;fasl と加えることでfaslファイルにコンパイルを行う。
CMD_OPTION=""
'(Macros\exec_cmdフォルダにexec_sbcl_comp.lisp 必須)
End If


'なお、SBCLのEXE化は以下の設定文をlispファイルに書き加えることで可能となる。
TITLE="SBCL " & Document.Name
'(sb-ext:save-lisp-and-die "Hello.exe" ;ファイル名
EXEC_COMMAND=Join(Array( _
' :toplevel #'main ;初期起動関数
"sbcl --script ",CMD_OPTION," ",Document.Name _
' :executable t)
),"")


If load_option(";fasl") Then
Case "ccl" 'ClozureLisp
Dim me_paths:me_paths=Split(Editor.FullName,"\")
'オプション無し。コンパイルはlispファイルに以下のような設定文を書き加える。
me_paths(UBound(me_paths))=""
'(ccl:save-application "hello.exe" ;ファイル名
'Macrosフォルダのパス取得
' :toplevel-function #'main ;初期起動関数
Dim me_path:me_path=Join(me_paths,"\") & "Macros\exec_cmd\"
' :prepend-kernel t)
TITLE="ClozureLisp " & Document.Name
EXEC_COMMAND="wx86cl --load " & Document.Name


CMD_OPTION=me_path & "exec_sbcl_comp.lisp"
Case "ccl64" 'ClozureLisp64
Else
TITLE="ClozureLisp64 " & Document.Name
CMD_OPTION=""
EXEC_COMMAND="wx86cl64 --load " & Document.Name
End If


TITLE="SBCL " & Document.Name
Case "mkcl" 'ManKaiCommonLisp
EXEC_COMMAND=Join(Array( _
'コンパイルオプション
"sbcl --script ",CMD_OPTION," ",Document.Name _
'一行目に ;fas でfasファイル生成。
),"")
' ;exe でexeファイル生成
 
If load_option(";fas") Then
Case "ccl" 'ClozureLisp
CMD_OPTION="-compile " & Document.Name
'オプション無し。コンパイルはlispファイルに以下のような設定文を書き加える。
ElseIf load_option(";exe") Then
'(ccl:save-application "hello.exe" ;ファイル名
TITLE="MKCL " & Document.Name
' :toplevel-function #'main ;初期起動関数
CMD_OPTION=Join(Array( _
' :prepend-kernel t)
"-not-fasl-p -compile ",Document.Name,br, _
TITLE="ClozureLisp " & Document.Name
"timeout /t 1 > nul",br, _
EXEC_COMMAND="wx86cl --load " & Document.Name
"mkcl -o ",DOC_NAME,".exe -link ",DOC_NAME,".o", _
BUILDED _
),"")
'mkcl -not-fasl-p -compile a.lisp & mkcl -o a.exe -link a.o
'exe化失敗を防ぐためにwaitの小細工
Else
CMD_OPTION="-shell " & Document.Name
End If


Case "ccl64" 'ClozureLisp64
TITLE="ClozureLisp64 " & Document.Name
EXEC_COMMAND="wx86cl64 --load " & Document.Name
Case "mkcl" 'ManKaiCommonLisp
'コンパイルオプション
'一行目に ;fas でfasファイル生成。
' ;exe でexeファイル生成
If load_option(";fas") Then
CMD_OPTION="-compile " & Document.Name
ElseIf load_option(";exe") Then
TITLE="MKCL " & Document.Name
TITLE="MKCL " & Document.Name
CMD_OPTION=Join(Array( _
EXEC_COMMAND="mkcl " & CMD_OPTION
"-not-fasl-p -compile ",Document.Name,br, _
End Select
"timeout /t 1 > nul",br, _
"mkcl -o ",DOC_NAME,".exe -link ",DOC_NAME,".o", _
BUILDED _
),"")
'mkcl -not-fasl-p -compile a.lisp & mkcl -o a.exe -link a.o
'exe化失敗を防ぐためにwaitの小細工
Else
CMD_OPTION="-shell " & Document.Name
End If


TITLE="MKCL " & Document.Name
Case "el" 'EmacsLisp
EXEC_COMMAND="mkcl " & CMD_OPTION
'コンパイルオプション
End Select
'一行目に ;elc でelcファイル生成。
If load_option(";elc") Then
CMD_OPTION="-batch -f batch-byte-compile"
Else
CMD_OPTION="-Q --script"
End If
TITLE="EmacsLisp " & Document.Name
EXEC_COMMAND=Join(Array( _
"emacs ",CMD_OPTION," ",Document.Name _
),"")


Case "el" 'EmacsLisp
Case "scm" 'Scheme
'コンパイルオプション
TITLE="Gauche " & Document.Name
'一行目に ;elc でelcファイル生成。
EXEC_COMMAND="gosh " & Document.Name
If load_option(";elc") Then
CMD_OPTION="-batch -f batch-byte-compile"
Else
CMD_OPTION="-Q --script"
End If
TITLE="EmacsLisp " & Document.Name
EXEC_COMMAND=Join(Array( _
"emacs ",CMD_OPTION," ",Document.Name _
),"")


Case "scm" 'Scheme
Case "clj" 'Clojure
TITLE="Gauche " & Document.Name
Select Case ENGINE(file_format)
EXEC_COMMAND="gosh " & Document.Name
Case "clojure" 'Clojure(JVM)
Dim version
version=Split(ENGINE_PATH(ENGINE(file_format)),"-")
TITLE="Clojure " & Document.Name
EXEC_COMMAND=Join(Array( _
"java -jar """,ENGINE_PATH(ENGINE(file_format)), _
"\clojure-",version(UBound(version)),".jar"" ",Document.Name _
),"")


Case "clj" 'Clojure
Case "clojure-clr" 'ClojureCLR
Select Case ENGINE(file_format)
TITLE="ClojureCLR " & Document.Name
Case "clojure" 'Clojure(JVM)
EXEC_COMMAND="Clojure.Main " & Document.Name
Dim version
End Select
version=Split(ENGINE_PATH(ENGINE(file_format)),"-")
TITLE="Clojure " & Document.Name
EXEC_COMMAND=Join(Array( _
"java -jar """,ENGINE_PATH(ENGINE(file_format)), _
"\clojure-",version(UBound(version)),".jar"" ",Document.Name _
),"")


Case "clojure-clr" 'ClojureCLR
Case "fs","ml","mli" 'F#
TITLE="ClojureCLR " & Document.Name
PKG_FILES=Document.Name
EXEC_COMMAND="Clojure.Main " & Document.Name
End Select
TITLE="F# "+ Document.Name
EXEC_COMMAND=Join(Array( _
"""",ENGINE_PATH(file_format),"\fsc""", _
" --nologo --out:",DOC_NAME,".exe ",PKG_FILES," --optimize+",br, _
DOC_NAME,".exe" _
),"")


Case "fs","ml","mli" 'F#
Case "hs" 'Haskell
PKG_FILES=Document.Name
TITLE="GHC " & Document.Name
EXEC_COMMAND=Join(Array( _
TITLE="F# "+ Document.Name
"ghc --make ",Document.Name,br, _
EXEC_COMMAND=Join(Array( _
DOC_NAME,".exe" _
"""",ENGINE_PATH(file_format),"\fsc""", _
),"")
" --nologo --out:",DOC_NAME,".exe ",PKG_FILES," --optimize+",br, _
DOC_NAME,".exe" _
),"")


Case "hs" 'Haskell
Case "cas" 'CASL II
TITLE="GHC " & Document.Name
TITLE="Java CASL II " & Document.Name
EXEC_COMMAND=Join(Array( _
EXEC_COMMAND=Join(Array( _
"ghc --make ",Document.Name,br, _
"java -jar """,ENGINE_PATH(file_format),"\casl2.jar"" ",Document.Name,br, _
DOC_NAME,".exe" _
"java -jar ",ENGINE(file_format),"\run.jar ",DOC_NAME,".obj" _
),"")
),"")
'java -jar casl2.jar aaa.cas
'java -jar run.jar aaa.obj


Case "cas" 'CASL II
Case "asm" 'NASM
TITLE="Java CASL II " & Document.Name
TITLE="NAST " & Document.Name
EXEC_COMMAND=Join(Array( _
EXEC_COMMAND=Join(Array("nasm -f win32 ",Document.Name,br, _
"java -jar """,ENGINE_PATH(file_format),"\casl2.jar"" ",Document.Name,br, _
"""",ENGINE_PATH("link"),"\link"" /nologo /out:",DOC_NAME,".exe ",DOC_NAME,".obj ", _
"java -jar ",ENGINE(file_format),"\run.jar ",DOC_NAME,".obj" _
"""",ENGINE_PATH("msvcrt"),"\msvcrt.lib"" """,ENGINE_PATH("kernel32"),"\Kernel32.lib"" ", _
),"")
ENGINE_PATH("addlib"),br, _
'java -jar casl2.jar aaa.cas
DOC_NAME,".exe" _
'java -jar run.jar aaa.obj
),"")
'nasm -f win32 aaa.asm
'link /nologo /out:aaa.exe aaa.obj msvcrt.lib Kernel32.lib
'aaa.exe


Case "asm" 'NASM
Case "il" '.NetILアセンブラ
TITLE="NAST " & Document.Name
TITLE=".NetIL " & Document.Name
EXEC_COMMAND=Join(Array("nasm -f win32 ",Document.Name,br, _
EXEC_COMMAND=Join(Array( _
"""",ENGINE_PATH("link"),"\link"" /nologo /out:",DOC_NAME,".exe ",DOC_NAME,".obj ", _
"""",ENGINE_PATH(file_format),"\ilasm"" /nologo /quiet ",Document.Name,br, _
"""",ENGINE_PATH("msvcrt"),"\msvcrt.lib"" """,ENGINE_PATH("kernel32"),"\Kernel32.lib"" ", _
DOC_NAME,".exe" _
ENGINE_PATH("addlib"),br, _
),"")
DOC_NAME,".exe" _
),"")
'nasm -f win32 aaa.asm
'link /nologo /out:aaa.exe aaa.obj msvcrt.lib Kernel32.lib
'aaa.exe


Case "il" '.NetILアセンブラ
Case "bat" 'BAT
TITLE=".NetIL " & Document.Name
TITLE="BAT " & Document.Name
EXEC_COMMAND=Join(Array( _
EXEC_COMMAND=Document.Name
"""",ENGINE_PATH(file_format),"\ilasm"" /nologo /quiet ",Document.Name,br, _
DOC_NAME,".exe" _
),"")


Case "bat" 'BAT
Case "wsf" 'WSF
TITLE="BAT " & Document.Name
TITLE="WSF " & Document.Name
EXEC_COMMAND=Document.Name
EXEC_COMMAND="cscript  //nologo " & Document.Name


Case "wsf" 'WSF
Case "ps1" 'PowerShell
TITLE="WSF " & Document.Name
TITLE="PowerShell " & Document.Name
EXEC_COMMAND="cscript  //nologo " & Document.Name
EXEC_COMMAND="powershell " & Document.Name


Case "ps1" 'PowerShell
Case Else
TITLE="PowerShell " & Document.Name
TITLE=Document.Name
EXEC_COMMAND="powershell " & Document.Name
EXEC_COMMAND=Document.Name
 
End Select
Case Else
End If
TITLE=Document.Name
EXEC_COMMAND=Document.Name
End Select


'コマンドライン起動
'コマンドライン起動

2016年12月11日 (日) 23:30時点における版

概要

コンソール実行をVBSに移植して、1ファイルのみで多言語対応出来るように機能強化したものです。
拡張子からコマンドを判別するため、以前のように呼び出す時に設定する必要はありません。
足りない言語についても、Caseを追加して実行コマンドを設定することで使用できるようになります。
不具合要望などは以下のリンクまで。

もう少しリファレンス

対応済み言語処理系一覧

C、C++(VC++、BCC32、GCC、G++)、D、C#(Mono)、C#Script(Mono、scriptcs)、Java、Scala、Groovy、Perl、PHP(Phalanger)、
Go、Dart、R言語、JavaScript(Node.js、JScript、JScript.NET、Rhino)、TypeScript、Fortran(G)、
VBScript、VB.NET(Mono)、BASIC(FreeBasic)、Pascal(FPC)、Ada(GNAT)、Ruby(JRuby、IR)、Lua(JIT)、
Matlab(Octave)、Scilab、Python(PyPy、Jython、IPy)、なでしこ、CoffeeScript、
CommonLisp(CLISP、SBCL、MKCL、CCL)、EmacsLisp、Scheme(Gauche)、Clojure(JVM、CLR)、
F#、Haskell(GHC)、CASL II、NASM、.NetIL(ilasm)、BAT、WSF、PowerShell

※ただし、基本的にはパスが通っていることが前提。
HSPはコマンドラインコンパイラが標準で用意されていないため断念。
公式プラグインのHSPコンパイル実行プラグインをご利用ください。

※2 処理系ではないけどjs系はUglify.jsがコメント追記で呼べるようになりました。

ZIP

ダウンロード【2016/12/11版】
旧版
変換済みicoファイル込

アイコン

  

ソース

  1. icon="exec_cmd.ico"
  2. title="コンソール実行"

' exec_cmd.vbs

'ファイルの保存 Document.Save()

'保存してなければ終了。 If Document.Name="" Then MsgBox "ファイルが保存されてません。" Quit End If

'タイトル名 Dim TITLE '実行コマンド Dim EXEC_COMMAND

'使用エンジン選択 Function ENGINE(file_format) Select Case LCase(file_format) 'C言語 Case "c" 'ENGINE="bcc32" ENGINE="gcc" 'C++ Case "cpp" ENGINE="cl" 'ENGINE="bcc32" 'ENGINE="g++" 'C# Case "cs" ENGINE="csc" 'ENGINE="mcs" 'C#Script Case "csx" ENGINE="csi" 'ENGINE="csharp" 'ENGINE="scriptcs" 'Perl Case "pl" ENGINE="perl" 'ENGINE="perl6" 'PHP Case "php" ENGINE="php" 'ENGINE="phpc" 'JavaScript Case "js" ENGINE="node" 'ENGINE="jscript" 'ENGINE="jsc" 'ENGINE="rhino" 'VB.NET Case "vb" ENGINE="vbc" 'ENGINE="vbnc" 'Ruby Case "rb" ENGINE="ruby" 'ENGINE="jruby" 'ENGINE="ir" 'Lua Case "lua" ENGINE="lua" 'ENGINE="luajit" 'MATLAB Case "m" 'ENGINE="matlab" ENGINE="octave" 'Python Case "py" 'ENGINE="python" 'ENGINE="python2" ENGINE="python3" 'ENGINE="pypy" 'ENGINE="jython" 'ENGINE="ipy" 'ENGINE="ipy64" 'LISP, CommonLisp Case "l","lisp","lsp","cl" 'ENGINE="clisp" ENGINE="sbcl" 'ENGINE="ccl" 'ENGINE="ccl64" 'ENGINE="mkcl" 'Clojure Case "clj" 'ENGINE="clojure" ENGINE="clojure-clr" End Select End Function

'使用するエンジンのパス パスが通しにくかったり通らないものを記述 Function ENGINE_PATH(file_format) Select Case LCase(file_format) 'VC++ Case "cl" 'ENGINE_PATH="%ProgramFiles%\Microsoft Visual Studio 14.0\VC\bin" 'ENGINE_PATH="%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\bin" ENGINE_PATH="%ProgramFiles%\Microsoft Visual Studio 14.0\VC\bin" 'ENGINE_PATH="%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\bin" 'C#, VB.NET Case "csc","vbc" 'ENGINE_PATH="%SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319" 'ENGINE_PATH="%ProgramFiles%\MSBuild\12.0\Bin" 'ENGINE_PATH="%ProgramFiles(x86)%\MSBuild\12.0\Bin" ENGINE_PATH="%ProgramFiles%\MSBuild\14.0\Bin" 'ENGINE_PATH="%ProgramFiles(x86)%\MSBuild\14.0\Bin" 'Mono C#, Mono VB.NET Case "mcs","vbnc" ENGINE_PATH="%ProgramFiles%\Mono\lib\mono\4.5" 'ENGINE_PATH="%ProgramFiles(x86)%\Mono\lib\mono\4.5" 'C#Script Case "csi" ENGINE_PATH="%ProgramFiles%\MSBuild\14.0\Bin" 'ENGINE_PATH="%ProgramFiles(x86)%\MSBuild\14.0\Bin" 'Mono C#Script Case "csharp" ENGINE_PATH="%ProgramFiles%\Mono\lib\mono\4.5" 'ENGINE_PATH="%ProgramFiles(x86)%\Mono\lib\mono\4.5" 'JScript.NET Case "jsc" ENGINE_PATH="%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727" 'Rhino Case "rhino" ENGINE_PATH="%HOMEDRIVE%\rhino" 'TypeScript Case "ts" 'ENGINE_PATH="%ProgramFiles%\Microsoft SDKs\TypeScript\1.0" 'ENGINE_PATH="%ProgramFiles(x86)%\Microsoft SDKs\TypeScript\1.0" ENGINE_PATH="%APPDATA%\npm" 'CoffeeScript Case "coffee" ENGINE_PATH="%APPDATA%\npm" 'Clojure(JVM) Case "clojure" 'clojure-x.x.xのバージョン表記"-x.x.x"を消すと動かなくなる。 ENGINE_PATH="%HOMEDRIVE%\clojure-1.8.0" 'F# Case "fs","ml","mli" ENGINE_PATH="%ProgramFiles%\Microsoft SDKs\F#\3.1\Framework\v4.0" 'ENGINE_PATH="%ProgramFiles(x86)%\Microsoft SDKs\F#\3.1\Framework\v4.0" 'CASL II Case "cas" ENGINE_PATH="%HOMEDRIVE%\javaCASL2" 'NASM LINK用(VC++必須) Case "link" ENGINE_PATH="%ProgramFiles%\Microsoft Visual Studio 12.0\VC\bin" 'ENGINE_PATH="%ProgramFiles(x86)%\Microsoft Visual Studio 12.0\VC\bin" Case "msvcrt" ENGINE_PATH="%ProgramFiles%\Microsoft Visual Studio 12.0\VC\lib" 'ENGINE_PATH="%ProgramFiles(x86)%Microsoft Visual Studio 12.0\VC\lib" Case "kernel32" ENGINE_PATH="%ProgramFiles%\Microsoft SDKs\Windows\v7.1A\Lib" 'ENGINE_PATH="%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Lib" Case "addlib" 'ライブラリが他に必要であれば空白区切りで与えてください。 '(ファイルパスに空白を含む時は注意) ENGINE_PATH="" 'NASM LINK用ここまで '.NetILアセンブラ Case "il" ENGINE_PATH="%SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319" End Select End Function

'js圧縮コマンド(uglifyjs) Function COMP_JS() COMP_JS=Join(Array("uglifyjs -m -o ",DOC_NAME,".min.js ",DOC_NAME,".js"),"") End Function

'パッケージファイル Dim PKG_FILES 'コマンドオプション Dim CMD_OPTION 'ビルドメッセージ '頭の&は何も無い所に付け加えるため必須とする。 Dim BUILDED BUILDED=" & Echo Complited."

Dim br:br=" & " '改行用

'Document.Name:現在のファイル名 Dim doc_names:doc_names=Split(Document.Name,".")

'拡張子 Dim file_format:file_format=doc_names(UBound(doc_names)) doc_names(UBound(doc_names))=""

'拡張子を除いたファイル名 Dim DOC_NAME DOC_NAME=Join(doc_names,".") DOC_NAME=Mid(DOC_NAME,1,Len(DOC_NAME)-1)

'実行時exe、class、obj、js、min.jsにコンパイルする形式の場合は一行目にコメントで ' delexe, delclass, delobj, deljs, delmin を含めることで '事前にexe, class, obj, js, min.jsを削除することができます。

'タイトル、実行コマンド If load_option("cmd:") Then '一行目に"cmd:"を含めるとそれ以降が実行コマンドになる。 'ただし、既定の実行エンジンも指定されないため、 'そこを含めてのコマンド設定が必要。 EXEC_COMMAND=Split(LCase(Document.GetLine(1)),"cmd:")(1)

Else Select Case LCase(file_format) Case "c","cpp" 'C, C++ Select Case ENGINE(file_format) Case "cl" 'Visual C++ TITLE="Visual C++ " & Document.Name EXEC_COMMAND=Join(Array( _ """",Replace(ENGINE_PATH(ENGINE(file_format)),"\bin",""),"\vcvarsall"" & ",_ """",ENGINE_PATH(ENGINE(file_format)),"\cl"" /nologo /EHsc ",Document.Name,br, _ DOC_NAME,".exe" _ ),"") Case "bcc32" 'Borland C++ TITLE="Borland C++ " & Document.Name EXEC_COMMAND=Join(Array( _ "bcc32 ",Document.Name,br, _ DOC_NAME,".exe" _ ),"")

Case "gcc" 'GCC C TITLE="GCC C " & Document.Name EXEC_COMMAND=Join(Array( _ "gcc -o ",DOC_NAME,".exe ",Document.Name,br, _ DOC_NAME,".exe" _ ),"")

Case "g++" 'GCC C++ 'コンパイルオプション '一行目に //not11 と入力するとC++11以前のコンパイルを行う。 If load_option("//not11") Then CMD_OPTION="" Else CMD_OPTION="-std=c++11 " End If TITLE="GCC C++ " & Document.Name EXEC_COMMAND=Join(Array( _ "g++ ",CMD_OPTION,"-o ",DOC_NAME,".exe ",Document.Name,br, _ DOC_NAME,".exe" _ ),"") End Select

Case "d" 'D言語 TITLE="D言語 " & Document.Name EXEC_COMMAND="dmd " & Document.Name & br & DOC_NAME & ".exe"

Case "cs" 'C# 'コンパイルファイル選択 'デフォルトでフォルダ内全てをコンパイル。 '一行目に //only と加えることでそのファイルのみコンパイルを行う。 If load_option("//only") Then PKG_FILES=Document.Name Else PKG_FILES="*.cs" End If

Select Case ENGINE(file_format) Case "csc" 'C# TITLE="C# "+ Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(ENGINE(file_format)),"\csc"" ", _ "/nologo /out:",DOC_NAME,".exe ",PKG_FILES," /optimize+",br, _ DOC_NAME,".exe" _ ),"")

Case "mcs" 'Mono C# TITLE="Mono C# "+ Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(ENGINE(file_format)),"\mcs"" ", _ "-out:",DOC_NAME,".exe ",PKG_FILES," -optimize+",br, _ DOC_NAME,".exe" _ ),"") End Select

Case "csx" 'C#Script Select Case ENGINE(file_format) Case "csi" 'C#Script TITLE="C#Script "+ Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(ENGINE(file_format)),"\csi"" ",Document.Name _ ),"") Case "csharp" 'Mono C#Script TITLE="Mono C#Script "+ Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(ENGINE(file_format)),"\csharp"" ",Document.Name _ ),"") Case "scriptcs" 'ScriptCS TITLE="scriptcs "+ Document.Name EXEC_COMMAND="scriptcs " & Document.Name End Select

Case "java" 'Java 'jar化は手順が面倒そうなので保留 TITLE="Java " & Document.Name EXEC_COMMAND=Join(Array( _ "javac ",Document.Name,br, _ "java ",DOC_NAME _ ),"")

Case "scala" 'Scala 'コンパイルオプション '一行目に //class と加えることでclassファイルにコンパイルを行う。 TITLE="Scala " & Document.Name If load_option("//class") Then EXEC_COMMAND="scalac " & Document.Name Else EXEC_COMMAND="scala " & Document.Name End If

Case "groovy" 'Groovy 'コンパイルオプション '一行目に //class と加えることでclassファイルにコンパイルを行う。 TITLE="Groovy " & Document.Name If load_option("//class") Then EXEC_COMMAND="groovyc " & Document.Name Else EXEC_COMMAND="groovy " & Document.Name End If

Case "pl" 'Perl Select Case ENGINE(file_format) Case "perl" TITLE="Perl " & Document.Name EXEC_COMMAND="perl " & Document.Name

Case "perl6" TITLE="Perl6 " & Document.Name EXEC_COMMAND="perl6 " & Document.Name End Select

Case "php" 'PHP Select Case ENGINE(file_format) Case "php" 'PHP TITLE="PHP " & Document.Name EXEC_COMMAND="php " & Document.Name

Case "phpc" 'Phalanger TITLE="Phalanger " & Document.Name EXEC_COMMAND=Join(Array( _ "phpc /debug- /quiet ",Document.Name,br, _ "bin\",DOC_NAME,".exe" _ ),"") End Select

Case "go" 'Go 'コンパイルオプション '一行目に//buildでビルドを行う。 If load_option("//build") Then CMD_OPTION="build " Else CMD_OPTION="run " End If TITLE="GO " & Document.Name EXEC_COMMAND=Join(Array( _ "go ",CMD_OPTION,Document.Name _ ),"")

Case "dart" 'Dart TITLE="Dart " & Document.Name EXEC_COMMAND="dart " & Document.Name _

Case "r","q","s" 'R言語 TITLE="R言語 " & Document.Name EXEC_COMMAND="rscript " & Document.Name

Case "js" 'JavaScript If load_option("//comp") Then 'js圧縮モード '一行目にコメントで //compと加える。 TITLE="Uglify.js " & Document.Name EXEC_COMMAND=COMP_JS & BUILDED Else Select Case ENGINE(file_format) Case "node" 'Node.js 'デバッグオプション '一行目に、 ' //debug と加えることでデバッグモードでの実行を行う。 If load_option("//debug") Then CMD_OPTION="debug" Else CMD_OPTION="" End If

TITLE="Node.js " & Document.Name EXEC_COMMAND=Join(Array("node ",CMD_OPTION," ",Document.Name),"")

Case "jscript" 'JScript TITLE="JScript " & Document.Name EXEC_COMMAND="cscript //nologo //E:JScript " & Document.Name

Case "jsc" 'JScript.NET PKG_FILES=Document.Name TITLE="JScript.NET "+ Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(ENGINE(file_format)),"\jsc"" /nologo /out:", _ DOC_NAME,".exe ",PKG_FILES,br, _ DOC_NAME,".exe" _ ),"")

Case "rhino" 'Rhino TITLE="Rhino " & Document.Name EXEC_COMMAND=Join(Array("java -jar ",ENGINE_PATH(ENGINE(file_format)),"\js.jar ",Document.Name),"") End Select End If

Case "ts" 'TypeScript TITLE="TypeScript to " & ENGINE("js") & " " & Document.Name EXEC_COMMAND=Join(Array("""",ENGINE_PATH(file_format),"\tsc"" -t ES6 ",Document.Name,br),"")

If load_option("//comp") Then 'js圧縮モード '一行目にコメントで //compと加える。 TITLE="Uglify.js + " & TITLE EXEC_COMMAND=EXEC_COMMAND & COMP_JS & BUILDED Else 'JavaScript実行 Select Case ENGINE("js") Case "node" 'Node.js EXEC_COMMAND=Join(Array(EXEC_COMMAND, _ "node ",DOC_NAME,".js" _ ),"")

Case "jscript" 'JScript EXEC_COMMAND=Join(Array(EXEC_COMMAND, _ "cscript //nologo //E:JScript ",DOC_NAME,".js" _ ),"") End Select End If

Case "f","f90","f95","f03" 'Fortran TITLE="GFortran " & Document.Name EXEC_COMMAND=Join(Array( _ "gfortran -o ",DOC_NAME," ",Document.Name,br, _ DOC_NAME,".exe" _ ),"")

Case "vbs" 'VBScript TITLE="VBScript " & Document.Name EXEC_COMMAND="cscript //nologo //E:VBScript " & Document.Name

Case "vb" 'VB.NET 'コンパイルファイル選択 'デフォルトでフォルダ内全てをコンパイル。 '一行目に 'only と加えることでそのファイルのみコンパイルを行う。 If load_option("'only") Then PKG_FILES=Document.Name Else PKG_FILES="*.vb" End If

Select Case ENGINE(file_format) Case "vbc" 'VB.NET TITLE="VB.NET "+ Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(ENGINE(file_format)),"\vbc""", _ " /nologo /out:",DOC_NAME,".exe ",PKG_FILES," /optimize+",br, _ DOC_NAME,".exe" _ ),"")

Case "vbnc" 'Mono VB.NET TITLE="Mono VB.NET" EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(ENGINE(file_format)),"\vbnc""", _ " /quiet /nologo /out:",DOC_NAME,".exe ",PKG_FILES," /optimize+",br, _ DOC_NAME,".exe" _ ),"") End Select

Case "bas" 'BASIC TITLE="FreeBasic " & Document.Name EXEC_COMMAND=Join(Array( _ "fbc -lang deprecated ",Document.Name,br _ ,DOC_NAME,".exe" _ ),"")

Case "pas","pp" 'PASCAL TITLE="FreePascal " & Document.Name EXEC_COMMAND=Join(Array( _ "fpc ",Document.Name,br, _ DOC_NAME,".exe" _ ),"")

Case "adb" 'Ada TITLE="GNAT Ada " & Document.Name EXEC_COMMAND=Join(Array( _ "gnatmake ",Document.Name,br _ ,DOC_NAME,".exe" _ ),"")

Case "rb" 'Ruby Select Case ENGINE(file_format) Case "ruby" 'Ruby TITLE="Ruby " & Document.Name EXEC_COMMAND="ruby " & Document.Name

Case "jruby" 'JRuby TITLE="JRuby " & Document.Name EXEC_COMMAND="jruby " & Document.Name

Case "ir" 'IronRuby TITLE="IronRuby " & Document.Name EXEC_COMMAND="ir " & Document.Name End Select

Case "lua" 'Lua Select Case ENGINE(file_format) Case "lua" 'Lua TITLE="Lua " & Document.Name EXEC_COMMAND="lua " & Document.Name

Case "luajit" 'LuaJIT TITLE="LuaJIT " & Document.Name EXEC_COMMAND="luajit " & Document.Name End Select

Case "m" 'MATLAB Select Case ENGINE(file_format) Case "matlab" 'MATLAB '環境不所持により、動作未確認。 TITLE="Matlab " & Document.Name EXEC_COMMAND="matlab -nodisplay " & Document.Name

Case "octave" 'GNU Octave TITLE="GNU Octave " & Document.Name EXEC_COMMAND="octave-cli " & Document.Name End Select

Case "sce" 'Scilab '最後にexitを実行しないとreplに移行します。 'また、日本語で文字化け注意。 TITLE="Scilab " & Document.Name EXEC_COMMAND="Scilex -nwni -nb -l ja -f " & Document.Name

Case "py" 'Python Select Case ENGINE(file_format) Case "python" 'Python 'コンパイルオプション '一行目に #pyc と加えることでコンパイルを行う。 If load_option("#pyc") Then CMD_OPTION="-m compileall" Else CMD_OPTION="" End If

TITLE="Python " & Document.Name EXEC_COMMAND=Join(Array( _ "python ",CMD_OPTION," ",Document.Name _ ),"")

Case "python2" 'Python2 TITLE="Python2 " & Document.Name EXEC_COMMAND="py -2 " & Document.Name

Case "python3" 'Python3 TITLE="Python3 " & Document.Name EXEC_COMMAND="py -3 " & Document.Name

Case "pypy" 'PyPy TITLE="PyPy " & Document.Name EXEC_COMMAND="pypy " & Document.Name

Case "jython" 'Jython TITLE="Jython " & Document.Name EXEC_COMMAND="jython " & Document.Name

Case "ipy" 'IronPython TITLE="IronPython " & Document.Name EXEC_COMMAND="ipy " & Document.Name

Case "ipy64" 'IronPython TITLE="IronPython64 " & Document.Name EXEC_COMMAND="ipy64 " & Document.Name End Select

Case "coffee" 'CoffeeScript 'コンパイルオプション '一行目に #js と加えることでjsファイルにコンパイルを行う。 If load_option("#js") Then CMD_OPTION="--compile" Else CMD_OPTION="" BUILDED="" End If

TITLE="CoffeeScript " & Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(file_format),"\coffee"" ",CMD_OPTION," ",Document.Name, _ BUILDED _ ),"") If load_option("#js") And load_option("comp") Then 'js圧縮モード '一行目にコメントで #comp と加える。 TITLE="Uglify.js + " & TITLE EXEC_COMMAND=Join(Array(EXEC_COMMAND,br,COMP_JS,BUILDED),"") End If

Case "nako" 'なでしこ '起動オプション '一行目にコメントで下記を含める。なしでコンソール実行 ' vnako: 標準GUI ' gnako: 簡易GUI ' pad: なでしこエディタ起動(コンパイルはエディタから行う) TITLE="なでしこ " & Document.Name If load_option("vnako") Then EXEC_COMMAND="vnako " & Document.Name ElseIf load_option("gnako") Then EXEC_COMMAND="gnako " & Document.Name ElseIf load_option("pad") Then EXEC_COMMAND="nakopad " & Document.Name Else EXEC_COMMAND="cnako " & Document.Name End If

Case "l","lisp","lsp","cl" 'LISP, CommonLisp Select Case ENGINE(file_format) Case "clisp" 'CLISP 'コンパイルオプション '一行目に ;fas と加えることでfasファイルにコンパイルを行う。 If load_option(";fas") Then CMD_OPTION="-c" Else CMD_OPTION="" End If

TITLE="CLISP " & Document.Name EXEC_COMMAND=Join(Array("clisp ",CMD_OPTION," ",Document.Name),"")

Case "sbcl" 'SteelBankCommonLisp 'コンパイルオプション '一行目に ;fasl と加えることでfaslファイルにコンパイルを行う。 '(Macros\exec_cmdフォルダにexec_sbcl_comp.lisp 必須)

'なお、SBCLのEXE化は以下の設定文をlispファイルに書き加えることで可能となる。 '(sb-ext:save-lisp-and-die "Hello.exe" ;ファイル名 ' :toplevel #'main ;初期起動関数 ' :executable t)

If load_option(";fasl") Then Dim me_paths:me_paths=Split(Editor.FullName,"\") me_paths(UBound(me_paths))="" 'Macrosフォルダのパス取得 Dim me_path:me_path=Join(me_paths,"\") & "Macros\exec_cmd\"

CMD_OPTION=me_path & "exec_sbcl_comp.lisp" Else CMD_OPTION="" End If

TITLE="SBCL " & Document.Name EXEC_COMMAND=Join(Array( _ "sbcl --script ",CMD_OPTION," ",Document.Name _ ),"")

Case "ccl" 'ClozureLisp 'オプション無し。コンパイルはlispファイルに以下のような設定文を書き加える。 '(ccl:save-application "hello.exe" ;ファイル名 ' :toplevel-function #'main ;初期起動関数 ' :prepend-kernel t) TITLE="ClozureLisp " & Document.Name EXEC_COMMAND="wx86cl --load " & Document.Name

Case "ccl64" 'ClozureLisp64 TITLE="ClozureLisp64 " & Document.Name EXEC_COMMAND="wx86cl64 --load " & Document.Name

Case "mkcl" 'ManKaiCommonLisp 'コンパイルオプション '一行目に ;fas でfasファイル生成。 ' ;exe でexeファイル生成 If load_option(";fas") Then CMD_OPTION="-compile " & Document.Name ElseIf load_option(";exe") Then TITLE="MKCL " & Document.Name CMD_OPTION=Join(Array( _ "-not-fasl-p -compile ",Document.Name,br, _ "timeout /t 1 > nul",br, _ "mkcl -o ",DOC_NAME,".exe -link ",DOC_NAME,".o", _ BUILDED _ ),"") 'mkcl -not-fasl-p -compile a.lisp & mkcl -o a.exe -link a.o 'exe化失敗を防ぐためにwaitの小細工 Else CMD_OPTION="-shell " & Document.Name End If

TITLE="MKCL " & Document.Name EXEC_COMMAND="mkcl " & CMD_OPTION End Select

Case "el" 'EmacsLisp 'コンパイルオプション '一行目に ;elc でelcファイル生成。 If load_option(";elc") Then CMD_OPTION="-batch -f batch-byte-compile" Else CMD_OPTION="-Q --script" End If TITLE="EmacsLisp " & Document.Name EXEC_COMMAND=Join(Array( _ "emacs ",CMD_OPTION," ",Document.Name _ ),"")

Case "scm" 'Scheme TITLE="Gauche " & Document.Name EXEC_COMMAND="gosh " & Document.Name

Case "clj" 'Clojure Select Case ENGINE(file_format) Case "clojure" 'Clojure(JVM) Dim version version=Split(ENGINE_PATH(ENGINE(file_format)),"-") TITLE="Clojure " & Document.Name EXEC_COMMAND=Join(Array( _ "java -jar """,ENGINE_PATH(ENGINE(file_format)), _ "\clojure-",version(UBound(version)),".jar"" ",Document.Name _ ),"")

Case "clojure-clr" 'ClojureCLR TITLE="ClojureCLR " & Document.Name EXEC_COMMAND="Clojure.Main " & Document.Name End Select

Case "fs","ml","mli" 'F# PKG_FILES=Document.Name

TITLE="F# "+ Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(file_format),"\fsc""", _ " --nologo --out:",DOC_NAME,".exe ",PKG_FILES," --optimize+",br, _ DOC_NAME,".exe" _ ),"")

Case "hs" 'Haskell TITLE="GHC " & Document.Name EXEC_COMMAND=Join(Array( _ "ghc --make ",Document.Name,br, _ DOC_NAME,".exe" _ ),"")

Case "cas" 'CASL II TITLE="Java CASL II " & Document.Name EXEC_COMMAND=Join(Array( _ "java -jar """,ENGINE_PATH(file_format),"\casl2.jar"" ",Document.Name,br, _ "java -jar ",ENGINE(file_format),"\run.jar ",DOC_NAME,".obj" _ ),"") 'java -jar casl2.jar aaa.cas 'java -jar run.jar aaa.obj

Case "asm" 'NASM TITLE="NAST " & Document.Name EXEC_COMMAND=Join(Array("nasm -f win32 ",Document.Name,br, _ """",ENGINE_PATH("link"),"\link"" /nologo /out:",DOC_NAME,".exe ",DOC_NAME,".obj ", _ """",ENGINE_PATH("msvcrt"),"\msvcrt.lib"" """,ENGINE_PATH("kernel32"),"\Kernel32.lib"" ", _ ENGINE_PATH("addlib"),br, _ DOC_NAME,".exe" _ ),"") 'nasm -f win32 aaa.asm 'link /nologo /out:aaa.exe aaa.obj msvcrt.lib Kernel32.lib 'aaa.exe

Case "il" '.NetILアセンブラ TITLE=".NetIL " & Document.Name EXEC_COMMAND=Join(Array( _ """",ENGINE_PATH(file_format),"\ilasm"" /nologo /quiet ",Document.Name,br, _ DOC_NAME,".exe" _ ),"")

Case "bat" 'BAT TITLE="BAT " & Document.Name EXEC_COMMAND=Document.Name

Case "wsf" 'WSF TITLE="WSF " & Document.Name EXEC_COMMAND="cscript //nologo " & Document.Name

Case "ps1" 'PowerShell TITLE="PowerShell " & Document.Name EXEC_COMMAND="powershell " & Document.Name

Case Else TITLE=Document.Name EXEC_COMMAND=Document.Name End Select End If

'コマンドライン起動 Dim cmd:Set cmd = CreateObject("WScript.Shell") cmd.Run Join(Array( _ "cmd /C """, _ "title ",TITLE,br, _ "cd/d ",Document.Path,br, _ DEL_BINARY(), _ EXEC_COMMAND,br, _ "pause > nul",br, _ "exit"""),""),1

Set cmd=Nothing

'コマンドラインオプションの読込 Function load_option(opt) load_option=Instr(LCase(Document.GetLine(1)),opt) End Function

'exe、class、obj、min.js、jsファイルを削除するかどうか Function DEL_BINARY() If load_option("delexe") Then DEL_BINARY=Join(Array("del ",DOC_NAME,".exe",br),"") ElseIf load_option("delclass") Then DEL_BINARY=Join(Array("del ",DOC_NAME,".class",br),"") ElseIf load_option("delobj") Then DEL_BINARY=Join(Array("del ",DOC_NAME,".obj",br),"") ElseIf load_option("deljs") And file_format<>"js" Then DEL_BINARY=Join(Array("del ",DOC_NAME,".js",br),"") Else DEL_BINARY="" End IF

If load_option("delmin") Then DEL_BINARY=Join(Array("del ",DOC_NAME,".min.js",br),"") End If End Function

</syntaxhighlight>

exec_sbcl_comp.lisp
;exec_sbcl_comp.lisp
;exec_cmd.vbs SBCLコンパイル用
;Mery以下のMacro\exec_cmd\に配置してください。
(compile-file (elt *posix-argv* 1))
スポンサーリンク