まぁ、いろいろと考えていることはあるのだが
STEP1) コマンドライン
ターゲットは Mac OS X(Darwin), Linux(x86), FreeBSD(x86), Windows XP, Be(x86)、iPod Linux、それとまだ試していないけど Linux Zaurus。
Perl, Ruby, Python の置換えが目標。でも文字列処理、正規表現、ライブラリの充実など問題が山積み。
(さらに…)
まぁ、いろいろと考えていることはあるのだが
STEP1) コマンドライン
ターゲットは Mac OS X(Darwin), Linux(x86), FreeBSD(x86), Windows XP, Be(x86)、iPod Linux、それとまだ試していないけど Linux Zaurus。
Perl, Ruby, Python の置換えが目標。でも文字列処理、正規表現、ライブラリの充実など問題が山積み。
(さらに…)
バージョン管理システムの trac を導入しました。まだ使い方がよくわかっていないのですが今後はこれを使っていこうと思っています。
NEWT/0 ソースコードを doxygen でドキュメント化したものを公開しました。
生成に時間がかかるのでいつも最新版とは限りませんがとりあえず現時点の最新版(v0.1.0 2005-05-07-1, Rev 19)になります。
ソースコードで make doc しても同じものが生成できます(要 doxygen & graphviz)
⇒ NEWT/0 Documentation(Generated by doxygen)
リポジトリの最新版 trunk(Rev. 17) は NEWT0_0.1.0_20050506_1 となります。
このバージョンから autoconf に対応しました。make する前に ./configure を実行する必要があります。Xcode でコンパイルする場合には ./configure の必要はありません。
Newton OS 2.0 との互換性のために –newton(または –nos2) オプションを追加しました。まだ完全な互換性を保障するものではありませんが、とりあえず NEWT/0 の独自拡張を使おうとするとワーニングを発生します。
NSOF(Newton Streamed Object Format) の作成・読込関数として MakeNSOF, ReadNSOF という2つを追加しました。まだ互換性に問題があります。文字コードで UTF16 に対応してません。Newton のマジックポインタには対応できていません。リトルエンディアン環境での動作。あとファイルの入出力を行う機能もありません(※ protoFILE を利用すれば可能)
[変更箇所]
– –newton or –nos2 オプションを追加(不完全)
– MakeNSOF, ReadNSOF 関数追加(互換性は不完全)
– 文字リテラル内の改行コードをサポート
– _ARGV_ の仕様を変更
– __FILE__, __LINE__ を追加
– OBSOLUTE な C関数群をファイルから削除
– Windows 環境でのディレクトリ区切り文字の処理を修正
– autoconf 対応
– BSD make 対応
– その他、バグ修正
[コンパイル方法]
# ./configure
# make
[Subversion]
–revision 17
svn://so-kukan.com/gnue/NEWT0/trunk
[Update]
–revision 19: BeOS 対応
–revision 20: MinGW 対応
–revision 22: Require で .newt のファイルを読込めないバグを修正
–revision 23: CompileFile 関数を追加
–revision 24: ReadNSOF で precedent なデータを正しく扱えないバグを修正
–revision 31: contrib フォルダを追加
試験的にバージョン管理ソフト “Subversion” のリポジトリを公開してみました。URL は
svn://so-kukan.com/gnue/NEWT0/
です。Subversion のクライアント(通常は svn)でチェックアウトすることができます。
例:
svn co svn://so-kukan.com/gnue/NEWT0/trunk
svn co svn://so-kukan.com/gnue/NEWT0/tags/0.0.9
※リポジトリには NativeCalls, NewtObjC は含まれていません。
最新版の trunk で make する場合は ./configure が必要ですので注意してください。Xcode でコンパイルする場合は ./configure の必要はありません。
参考:
⇒ Subversion
⇒ Subversionによるバージョン管理(日本語訳)
NEWT0_0.0.9_20050328_1 を公開しました。
メソッドの継承(resend)が正常に動作しないというプロトタイプ指向にあるまじきバグを修正しました(なんてこった :-{)。Paul にはほんと助けられてます。
それと NS**** の関数を大幅に名称変更しました。たぶんこれからはこういう大規模な名称変更はないようにしたい。
あと今回より Linux のバイナリに NativeCalls を、Windows のバイナリに protoREGEX(GNU regex を使用)を追加しました。
[変更箇所]
– メソッドの継承(resend)のバグを修正
– ネイティブ関数から VM を再呼出しする場合の問題を修正
– レキシカルスコープのバグを修正
– onexception の中で例外が発生すると無限ループしてしまうバグを修正
– 特定の範囲の整数リテラルが正しい値にならないバグを修正
– マイナスの整数リテラルのバイトコード生成を修正
– フレーム以外にメソッドを送ったときに segmentation fault になるバグを修正
– コンスタントが関数定義の中で見えなくなってしまうバグを修正
– ParamStr のバグを修正
– ソースコードにおいて NS**** の関数名を大幅に名称変更・修正
– グローバル変数 _ENV_ に PLATFORM スロットと DYLIBSUFFIX を追加
– グローバル変数 _STROUT_, _STRERR_ に文字列をセットすることにより標準出力、標準エラー出力の出力先を指定された文字列にする機能を追加
– 基本的なグローバル関数をいろいろと追加
– <#….> バイナリ表現をリードオンリーから書込み可能なオブジェクトに変更
– NativeCalls, NewtObjC(Paul Guyot 作)も最新のものに更新
– basicFns.newt (Map, DeepClone を実装) を追加
– サンプルコードに inherit.newt, exception.newt(Paul Guyot 作)と regex.newt, fib.newt を追加
– ソースコードの misc フォルダに “dumpFn” ファイルを追加(NTK または Newton の関数オブジェクト/バイトコードをダンプするためのサンプルコードです)
[実行環境]
– Mac OS X 10.3 以上(フルスペック)
– Mac OS X 10.2 (注意:外部ライブラリの読込みができません)
– Linux (KNOPPIX 3.7 でコンパイル)
– Windows (MinGW+MSYS でコンパイル、protoREGEX では GNU regex を使用、NativeCalls は未対応)
⇒ NEWT0_20050328_1_src.tgz (download)
⇒ NEWT0_20050328_1_macosx.tgz (download)
⇒ NEWT0_20050328_1_linux.tgz (download)
⇒ NEWT0_20050328_1_win.zip (download)
NEWT0_0.0.9_20050315_1 を公開しました。
(さらに…)
NEWT0_0.0.9_20050314_1 を公開しました。
今回のトピックは Paul Guyot 作の NewtObjC です。名前を見てピンと来る人は通です(笑)。Python に PyObjC、Ruby に RubyCocoa があるように NewtonScript で Cocoa プログラミングが可能になります。ワンダフル! 感謝です、Paul 🙂
あと Paul Guyot 作の protoNATIVE が NativeCalls に置き換わりました。使いやすいようにプロトではなくグローバル関数を使うように変更されています。
※すみません、Mac OS X 以外のバイナリはまだコンパイルしていません。あとでコンパイルしてダウンロードできるようにします。
[変更箇所]
– Length 関数に文字列を与えた場合の仕様に問題があった(文字列の長さを返していた)ので、Newton と同じ仕様(バイナリのサイズを返す)に変更しました
– 上記の修正にともない StrLen 関数を追加しました
– NewtObjC サポートのための修正(Paul Guyot のパッチを取入れました)
– FreeBSD コンパイルのための修正(Paul Guyot のパッチを取入れました)
– Paul Guyot 作の NativeCalls を添付(protoNATIVE の置換え)
– Paul Guyot 作の NewtObjC を添付
[実行環境]
– Mac OS X 10.3 以上(フルスペック)
– Mac OS X 10.2 (注意:外部ライブラリの読込みができません)
⇒ NEWT0_20050314_1_src.tgz (download)
⇒ NEWT0_20050314_1_macosx.tgz (download)
NEWT0_0.0.9_20050311_1 を公開しました。
(さらに…)
NEWT0_0.0.8_20050111_4 を公開しました。
(さらに…)