カウンター 9974
入室中 1
HSP3用です。
概要 †
HSP3に対応した、オープンソースのコマンドラインコンパイラを
製作するプロジェクトです。
随時、協力者募集中です。
あと、実行ファイル名は、h3cc.exeの予定ですが、もっと良い名前を思いついた方は、
下にある、投稿フォームでご連絡いただけるとありがたいです。
実装できたら、こんなふうに消してください。
- ファイル名をコマンドラインから実行できる(できれば複数)
- 出力するファイル名を指定できる /o で指定
- デバッグモードの指定 /debug で指定
- マクロの使用について指定 /usemacro で指定
バージョン表示 /v or /version
- マニュアル、ヘルプの表示 /h or /help or /?
- スクリプトの直接実行 /e "文字列"
- コマンドラインのファイルパスの解析が少し問題。ファイルパスに半角空白を含む場合(My Documentsなど)の処理
h3cc.lzh
hspcmp.dllと同じ場所においてください。
ソースコードの方をF5で実行した方がまともに動くと思います。
frontend.lzh
razさんがCで実装してくれました。
ありがとうございます。感謝、感謝。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
-
|
|
|
!
-
|
|
!
-
|
!
|
#runtime "hsp3cl"
#include "hspcmp.as"
sdim mesbuf,$10000
sdim rtname,256
fname = dir_cmdline
if instr(fname,0,"/v")!-1 { hsc_ver
mes refstr
end
}
objname="obj"
hsc_ini fname
hsc_objname objname
hsc_comp 0
res=stat
if res!=0 {
mes "ERROR"
goto *goerror
}
delete fname+".i"
hsc3_getruntime rtname, objname
if rtname="" {
rtname="hsp3.exe"
}
debug_mode=0
cmdexe = dir_exe+"\\"+rtname+" "+objname
hsc3_run cmdexe, debug_mode
end
*goerror
hsc_getmes mesbuf
mes mesbuf
stop
|
サンプルコードとして載っているオリジナルです。
著作権は、おにたまさんにあります。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
| ---------------------------------------------------------------------------
Appendix : HSPからスクリプトのコンパイルを行なう方法
---------------------------------------------------------------------------
HSPCMP.DLLをHSPスクリプトから呼び出すサンプルを示します。
以下は、スクリプトエディタの「コンパイル+実行」と同じ動作を行ないます。
#include "hspcmp.as"
sdim mesbuf,$10000
sdim rtname,256
fname="test1.as" objname="obj"
hsc_ini fname
hsc_objname objname
hsc_comp 0
res=stat:if res!=0 : dialog "ERROR" : goto *goerror
delete fname+".i"
hsc3_getruntime rtname, objname
if rtname="" : rtname="hsp3.exe"
debug_mode=0
cmdexe = dir_exe+"\\"+rtname+" "+objname
hsc3_run cmdexe, debug_mode
*goerror
hsc_getmes mesbuf
objmode 1
flg=1 ; 0=編集不可/1=編集可能
mesbox mesbuf,636,446,flg+4
stop
|
要望や、ご意見や、バグ報告や、実装報告をしていただけるとうれしいですね。
- 2.61用コンパイルスクリプト例
- スクリプトコンパイラ>trycmpgo.as/対象ファイル>trycmp.as
一応動きますが2.61では作成したオブジェクトファイルの実行命令が無かったり? -- kz3
- GUIコマンドライン例
コンボボックスです^^; -- kz3
- C言語版ソース
- HSP3コマンドラインコンパイラ
HSPwikiに置いてあります。
- cHspComp?
- プログラミング工房 - HSPの部屋
chronoさんが作った、HSP3対応のcHspComp?があります。
- frontend
- frontend.lzh
razさんがCで実装してくれました。