hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。
HSPコマンドラインコンパイラ - HSP開発wiki
トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS
カウンター 9974
入室中 1
HSP3用です。

概要

HSP3に対応した、オープンソースのコマンドラインコンパイラを 製作するプロジェクトです。 随時、協力者募集中です。

あと、実行ファイル名は、h3cc.exeの予定ですが、もっと良い名前を思いついた方は、 下にある、投稿フォームでご連絡いただけるとありがたいです。

実装予定

実装できたら、こんなふうに消してください。

  • ファイル名をコマンドラインから実行できる(できれば複数)
  • 出力するファイル名を指定できる /o で指定
  • デバッグモードの指定 /debug で指定
  • マクロの使用について指定 /usemacro で指定
  • バージョン表示 /v or /version
  • マニュアル、ヘルプの表示 /h or /help or /?
  • スクリプトの直接実行 /e "文字列"
  • コマンドラインのファイルパスの解析が少し問題。ファイルパスに半角空白を含む場合(My Documentsなど)の処理

ダウンロード

fileh3cc.lzh
hspcmp.dllと同じ場所においてください。 ソースコードの方をF5で実行した方がまともに動くと思います。

filefrontend.lzh razさんがCで実装してくれました。 ありがとうございます。感謝、感謝。

ソースコード

Everything is expanded.Everything is shortened.
  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
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
-
|
|
|
!
 
 
 
 
 
 
 
 
 
-
|
|
!
 
 
 
 
 
-
|
!
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
;--------------------------------------------------------------------------------
;HSP3 コマンドラインコンパイラ
;--------------------------------------------------------------------------------
 
 
;	HSPCMP.DLLをHSPスクリプトから呼び出すサンプルを示します。
;	以下は、スクリプトエディタの「コンパイル+実行」と同じ動作を行ないます。
    #runtime "hsp3cl"
    #include "hspcmp.as"
 
    ;
    ;	HSP3ソーススクリプトをコンパイルして実行する
    ;
    sdim mesbuf,$10000
    sdim rtname,256
 
    ;mes dir_cmdline
    fname = dir_cmdline        ; スクリプトファイル名
// exeを作成し単体で実行したときには上のdir_cmdlineシステム変数が空なので
// hsc_iniおよびhsc_compに失敗しているのかもしれない。<kz3
 
    if instr(fname,0,"/v")!-1 {    ;バージョン情報表示
        hsc_ver
        mes refstr
        end
    }
 
    ;mes fname
    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
 
 
 

サンプルコードとして載っているオリジナルです。 著作権は、おにたまさんにあります。

Everything is expanded.Everything is shortened.
  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"
 
    ;
    ;	HSP3ソーススクリプトをコンパイルして実行する
    ;
    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
 
 
    

要望、ご意見、実装報告

要望や、ご意見や、バグ報告や、実装報告をしていただけるとうれしいですね。

  • このプロジェクトの発起人のくにです。ちょっと、思うのですが、ぼくのHSPスクリプトの書き方って、 Cっぽい様な気がします。 -- くに 2005-07-20 00:27:12 (水)
  • なんか、前の投稿が消えたようです。すいません。 -- くに 2005-07-21 00:47:13 (木)
  • また、直してもらったようです。ありがとうございます。 -- くに 2005-07-23 00:35:06 (土)
  • いえいえ、直したハズなのにまたなってたので・・・。 -- kz3 2005-07-24 08:46:25 (日)
  • たぶんソースコードを更新するときになったのだと思います。僕の不注意ですね。気をつけます。 -- くに 2005-07-24 15:02:40 (日)
  • ちょっと、開発が頓挫してます。僕自身が忙しいのと、どうも、このプログラムは、実行ファイルにすると、エラーを吐きますので、それが解決するまでは、開発は、停止ということになります。 -- くに 2005-07-25 20:04:45 (月)
  • コマンドラインが指定されてないのでエラーになるのかと・・・まだ細かく見ていってませんが、これはつまるところ指定されたコマンドを実行するコア部分で、例えばその上にユーザーの入力させるインターフェースを被せることでアプリになるのかと。
    インターフェース
    ↓↓↓h3cc.axへコマンドラインとしてコマンドを渡す↓↓↓
    コマンドラインコンパイラ
    h3cc.axと出力して外部から実行できるような形式にするとexeとして外部に置かずに、 内部に組み込めたり?

    -- kz3 2005-07-25 20:28:44 (月)
  • 違うな・・・まだコマンドラインは関係なかったか・・・HSP3触っておけばよかったなぁ;; -- kz3 2005-07-25 20:35:17 (月)
    • サンプルのほうを見てました;;h3ccにはちゃんとdir_cmdlineが使われていましたね。 -- kz3 2005-07-25 21:14:44 (月)
  • 以前本家BBSに貼った2.61用ソースをwiki内にUPしておきます。 -- kz3 2005-07-25 20:39:54 (月)
  • ありがとうございます。ちゃんと動いてます。僕も、いずれはこのように、ちゃんと実行ファイルを吐ける、コマンドラインコンパイラを作ってみたいです。 -- くに 2005-07-25 21:06:19 (月)
  • くにさんの考えだと、h3cc.exeはDOSプロンプトから起動するのでしょうか??参考資料もご覧になってみてください^^; -- kz3 2005-07-26 13:21:00 (火)
  • はい、そうです。そのほうが、他のツールからも呼び出しやすいと思いますし。TeraPad?でも、ツールに登録すれば、呼び出すだけで、コンパイル、実行ができるようになるはず……です。それと、参考資料とは、2.61のスクリプトのことでしょうか? -- くに 2005-07-26 17:10:30 (火)
  • いえ、GUIコマンドライン例の画像の方です
    実行形式の方は了解しました! -- kz3 2005-07-26 20:50:55 (火)
  • はじめまして。フラっとしてたらここにたどり着きました。C言語でおおよそ同等のものを作りましたが宜しければ寄贈します。このプロジェクトでの使用言語がHSPであればお門違いでしょうが…(^^; -- raz? 2005-07-30 16:22:13 (土)
  • 個人的にC言語のソースが欲しいかも・・・|_・)" -- kz3 2005-07-30 21:15:09 (土)
  • razさん、はじめまして。くにです。そうですか。できちゃったんですね。すごい。本当は、HSP Wikiのほうに、コマンドラインコンパイラをC言語で作る計画があったのですが、僕は、HSPで作ってみたかったので、このプロジェクトを立ち上げました。でも、C言語のソースも参考になるかもしれないですし、C言語のソースがほしいという人もいらっしゃるので、(というより、kz3さんがほしいといってますが)ここのページのどこかに貼り付けていただけると、ありがたいです。 -- くに 2005-07-30 21:30:52 (土)
  • どうもです。このページの添付ファイルの欄に「frontend.lzh」と言うファイルをアップしました。HSP Wikiのほうに、コマンドラインコンパイラがあったとは知りませんでした…(汗)これじゃ車輪の再開発ですね(ぐはっ…)。また、HSP Wikiの物と私が今回アップした物は思想が少し違うので場違いだったかもしれませんね…。 -- raz? 2005-07-31 02:08:32 (日)
  • コマンドラインオプションですがこのページにたどり着く前に既に出来上がっていたので若干使い勝手が異なりますがご了承ください -- raz? 2005-07-31 02:14:18 (日)
  • いえいえ、参考になります。ありがとうございます。あと、バージョンというのは、hspcmp.dllのバージョンです。 -- くに 2005-07-31 13:22:28 (日)
  • どうもです。ヘルプ、バージョン表示に対応したものを再アップさせていただきました。ご自由にお使いください。それでは。 -- raz? 2005-07-31 17:56:19 (日)
  • 本当にありがとうございます。 -- くに 2005-07-31 18:35:27 (日)
  • すいません。僕には、やはり無理そうです。僕以外の方がもっと高機能で、便利なコンパイラを作って下さっているので、そちらの方を使ってください。コンパイラへのリンクは、このページにいくつか貼ってあります。 -- くに 2005-08-16 16:06:53 (火)
  • くにさんお疲れ様でした…wikiの方やらで忙しそうですもんね;; -- kz3 2005-08-17 18:52:07 (水)

URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

参考資料

2.61用コンパイルスクリプト例
スクリプトコンパイラ>filetrycmpgo.as/対象ファイル>filetrycmp.as
一応動きますが2.61では作成したオブジェクトファイルの実行命令が無かったり? -- kz3
GUIコマンドライン例
h3cc_ss.png
コンボボックスです^^; -- kz3

リンク

C言語版ソース
HSP3コマンドラインコンパイラ
HSPwikiに置いてあります。
cHspComp?
プログラミング工房 - HSPの部屋
chronoさんが作った、HSP3対応のcHspComp?があります。
frontend
filefrontend.lzh
razさんがCで実装してくれました。

添付ファイル:
filetrycmpgo.as
494件 [詳細]
filetrycmp.as
488件 [詳細]
fileh3cc_ss.png
414件 [詳細]
fileh3cc.lzh
605件 [詳細]
filefrontend.lzh
639件 [詳細]
トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS
Last-modified: 2011-10-01 (土) 12:54:58 (799d)