marunomaruno-memo

marunomaruno-memo

Java から C++ への変換ツール cppconv 0.2

2005年10月20日 | C / C++
つぎのツールを作りました。
ご興味がありましたら、ご試用ください。

(の)

2005/10/20 convcpp Ver.0.2
--------------------------------------------------------------------------------

■概要

convcpp.groovy は、Jude から自動生成した Java ソース・ファイル (クラス名.java)
をもとに、BCC 用の C++ のCPP ファイル (クラス名.cpp) と ヘッダー・ファイル (クラ
ス名.h) を生成します。
あわせて、makefile も作成します。

convcpp.groovy は、指定されたフォルダーにある Java ソース・ファイル をすべて変換
します。

■機能

変換するのは、つぎのとおりです。

class 宣言 -> cpp) なし
h) extends は、": public", import は、": virtual public"
に変更。

フィールド -> cpp) なし
h) abstract は、"virtual" に変更。final は、"const" に変更。

メソッド -> cpp) メソッド名の前に "クラス名::" をつける。
static などの修飾子は削除。
h) abstract は、"virtual" に変更。final は、"const" に変更。
アクセス修飾子とメソッド定義は別の行にする。

コンストラクター -> クラス名から自動生成。
デストラクター -> クラス名から virtual つきで自動生成。

include -> cpp) "クラス名.h", <string>, <iostream> を生成。
h) <string>, <iostream> を生成。

makefile -> フォルダー内のすべてのクラスをオブジェクト (クラス名.obj) と
して生成。
ターゲットは、コマンドライン引数で指定。


■起動方法

> groovy convcpp [-pPATH] [TARGET]
-p パス PATH を指定します。省略時は、カレント・ディレクトリーを意
味します。
TARGET makefile で指定する 実行ファイル名(拡張子なし)。省略された場合、
DEFAULT_TARGET になります。

指定例

> groovy convcpp MyClass

ターゲット MyClass.exe ができます。
Java ソースは、カレント・ディレクトリーにあります。

> groovy convcpp -pc:myclass MyClass

ターゲット MyClass.exe を作る makefile ができます。
Java ソースは、c:myclass にあります。


■動作環境

Microsoft Windows 98/Me/NT4/2000/XP
J2SDK 1.4 以上
groovy 1.0 以上


■インストール

ダウンロードしたファイルを解凍してください。

下記のファイルが解凍されます。これらのファイルを適当なフォルダーにおいてください。

・convcpp.groovy スクリプト本体
・readme.txt このファイル


■アンインストール

インストール先のフォルダ内のファイルをすべて削除してください。


■著作権その他

このプログラムはフリーなので、ご自由にご利用ください。
なお、著作権は作者が保有しています。転載は自由ですが、事後でも結構ですのでメール
を頂ければ幸いです。
また、本ソフトを使用した結果については、作者は一切責任を負えませんのでご了承くだ
さい。


■障害報告お願い

convcpp 使用中に例外が発生した、また動作がおかしくなった、などの障害情報をお待ち
しております。

障害の内容や、動作環境などを
marunomarunola@yahoo.co.jp
あてにメールで送信してください。


■サポート

個別メールでのお問い合わせなどにつきましても、可能な限りご回答させていただきたい
と思っております。
ただし、時間などの都合により、個別に返信できない状況もありえますので、その際は、
ご容赦ください。


■更新履歴

日付 Ver. 理由
---------- ----- -----------------------------------------------------------
2005-10-20 V.0.2 公開


■謝辞

このスクリプトを使用する前提として、JUDE-Community モデリング・ツールがあります。
このような有用で使いやすいツールを公開されていることに感謝いたします。


以上