最近のトラックバック

2018年10月
  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      
無料ブログはココログ

2011-04-04

LLVM 導入覚書

LLVM (Low Level Virtual Machine) を導入するための覚書です。

Windows の Visual Studio でビルドする方法

CMake のサイトからインストーラ cmake-2.8.4-win32-x86.exe をダウンロードし、インストールします。C:\Program Files\Cmake 2.8\bin にパスを通しておきます。

LLVM のサイトからソースパッケージ llvm-2.8.tgz をダウンロードして展開します。

Visual Studio のコマンドラインプロンプトを開き、LLVM のソースパッケージを展開したディレクトリに入って以下のコマンドを実行します。

> mkdir build-msc
> cd build-msc
> cmake ..
> nmake

これで、build-msc\bin にツールの実行ファイル、build-msc\lib にライブラリファイルが生成されます。

テストをします (http://d.hatena.ne.jp/propella/20110224/p1 から拝借)。

; hello.ll
@hello = internal constant [13 x i8] c"hello, world\00"
declare i32 @puts(i8*)
define i32 @main() {
start:
  %0 = call i32 @puts(i8* getelementptr inbounds ([13 x i8]* @hello, i32 0, i32 0))
  ret i32 0
}
> llvm-as hello.ll
> lli hello.bc

2011-04-03

Gura プログラミング言語 v0.2.0 リリース

Bannermedium


Gura は、リストやイテレータで表される複数データを一度に処理できる暗黙的マッピングとメンバマッピングを特徴としたプログラミング言語です 。繰り返し構文でごりごりと書いていた内容を、巧妙な記述でシンプルにまとめる快感を味わえます。

ベータ版 v0.2.0 をリリースします。ダウンロード

Windows 用インストーラを作成しました。
拡張子 .gura および .guraw がそれぞれ実行ファイルに関連付けられます。

2011-03-22

Gura プログラミング言語リリース

Bannermedium

今まで AScript という名前でプログラミング言語を開発してきましたが、この名称はもともと仮名だったのでいつか変えようと思っていました。

このたび、Windows 用のインストーラを作る段になって正式な名称が必要になり、Gura プログラミング言語 と名前を変えました。ホームページは以下の URI  です。

http://gura.sourceforge.jp/

初めは、個人的に好きな動物、モグラにちなんで Mogura と名づけようと思っていたのですが、有名な言語 Modula とまぎらわしいので、ちょっと長さをつめてみました。子供たちに人気の絵本にでてくるネズミの名前も少々意識しています。

今後ともよろしくお願いします。

2011-03-21

WiX のライセンス確認を削除する方法

Gura の Windows インストーラを作るのに WiX を使っているのですが、ライセンス確認はいらないので削除したいと思いました。方法がちょっとわかりづらかったので、備忘録としてここに記しておきます。

はじめにしなくてはいけないのは、WiX のソースパッケージを入手することです。
UI をカスタマイズするには UIExtension のソースファイルが必要になるのですが、バイナリパッケージにはこれが入っていないからです。

ソースパッケージを展開したら、以下のディレクトリを開きます。

wix36-sources/src/ext/UIExtension/wixlib

WiX のインストーラの形式は UIRef エレメントで指定すると思いますが、この指定で上記のディレクトリにあるファイルの内容がとりこまれます。ですので、たとえば

<UIRef Id='WixUI_InstallDir' />

と記述していたところは、上のディレクトリにある WixUI_InstallDir.wxs から <UI /> エレメントの内容抜き出して以下のように置き換えることができます。

<UI Id="WixUI_InstallDir">
  <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
  <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
   ...
</UI>

<Publish/> エレメントでページの遷移状態を定義しているので、以下のように編集します。

  • LicenseAgreementDlg の行を削除
  • WelcomeDlg の Next の内容を LicenseAgreementDlg から InstallDirDlgに修正
  • InstallDirDlg の Back の内容を LicenseAgreementDlg から WelcomeDlg に修正

フォントの指定もすべてカスタマイズできるようですね。このアプローチを最初からチュートリアルに載せてくれていたほうがよかったんじゃないかな..。

2011-03-17

「仕方がない」の前向きな解釈

東日本大震災の状況は、あまりにも酷すぎます。被災地の方々にこれ以上の災いが来ませんように!!

今回の震災は、今は被災地の外にいる自分自身におよんでいる危機でもあります。第二の巨大地震の可能性が示唆されていますし、今後の社会や経済のことを考えると課題が多すぎて気が遠くなりそうです。

ところで、この災害は外国のメディアなどでも大きくとりあげられていて、この悲惨な状況の中でも日本人がパニックにならないことに驚嘆している記事が掲載されているそうです。同胞としてこのことは誇りに感じますし、自分が同じ状況になってもやはり同じようにふるまいたいと思っています。

日本語でよく使われる言葉に「仕方がない」というものがあります。この言葉はネガティブな意味合いを多く含むのですが、どうもそれだけではないらしい。「あきらめ」や「落胆」といった感情を超えて、それらをも許容する何か。自分では手の施しようがなかった災害や事故、または失敗に対して、その結果を受け止め、自らができることをやっていこうという決意が含まれているように思えます。

絶望的な状況の中で、それでも前に進まなければいけないというところに立ったとき、この言葉は最後に自分たちを支える芯になっているのかもしれません。

2011-02-19

GMC-4 シミュレータのアクセス

GMC-4 シミュレータをリリースしてから 1 年以上たちます。

このブログ、管理人の筆不精が祟って更新が少なく、アクセス数もやはり多くないのですが、その中にあって一番アクセスが多いのが GMC-4 シミュレータのページです。

GMC-4 自体、もう書店で見かけることもなくなったので、その存在を知っている人の数も限られると思うのですが、興味のある方は健在のようですね。

GMC-4 を、今どのような形で使っているのか、とても興味があります。

2010-05-01

スクリプト言語 AScript を公開しました

スクリプト言語 AScript を公開しました。ぜひお試しください。

Gura プログラミング言語 と名称を変えました。お試しください。

2010-04-21

プログラミング言語の開発

ずいぶんと長いことブログの更新をしていませんでした。どうもおひさしぶりです。

現在、新しいプログラミング言語の開発にとりくんでいます。名前は AScript。仕事とは関係がない、まったくの趣味の言語です。(2011 年 5 月現在、名前を「Gura プログラミング言語」に変更して開発中です)

言語好きな人を刺激しそうないくつかの特徴をもりこんでいます。キーワードを列挙すると:

  1. 暗黙的マッピング処理
  2. LISP のマクロ定義に似た機能を可能にする quoted value 引数
  3. Ruby ライクなブロック定義

1. と同等な機能は、ベクトル演算用の言語以外でサポートしているものはあまりないようです。これが実装したくて、この言語の開発を始めたとも言えます。

その他、オブジェクト指向プログラミング・関数オブジェクトなどといったモダンなプログラミング言語がサポートする仕様はだいたい組み込んであります。文法は C++ や Java に似せていますが、モジュール管理やオブジェクトの扱いは Python を強く意識しています。

思わせぶりなことばかり書きましたが、もう少しで発表ができそうです。プログラミング界に一石を投じることができればいいですね (と、夢は大きく)。

2009-11-14

GMC-4 シミュレータ v1.38 リリース

GMC-4 シミュレータ v1.38 (ダウンロード) をリリースします。

アセンブラエディタにオブジェクトデータを入力できるようにしました。ファイルを介さなくてもデータのやりとりができるようになります。

例えば以下のようなダンプデータがあった場合:

00:0 1 F 0 0

このテキストを GMC-4 シミュレータのアセンブラエディタにペーストして、メニューから [Simulator] - [Disasm Hex] を実行すると逆アセンブルした結果に置き換わります。解釈できるフォーマットは、HEX・DMP・FXP のいずれかです。

2009-11-01

「プリズムの夏」 の読後

集英社文庫 / 関口 尚

高校三年生の主人公とその友人は、不思議な雰囲気を持つ年上の女性に恋心を抱く。二人が偶然見つけたブログのうつ病日記の作者が彼女ではないかと疑いを持つうち、日記の内容はだんだんと深刻になっていき..。

「うつ」と「ブログ」といういかにも現代的なトピックを扱った小説です。主人公たちにいまいち感情移入できなかったのは、彼らの年からかけ離れてしまったためなのか。それとも「ブログ」というものの概念が、私の中でしっくりくるほど汎化されていないせいかもしれません。

話の中に、箏という古楽器が持ち出されるのは、少々わざとらしくもあります。でもデジタル化の傾向が強すぎる今の世の中に対抗するにはそのくらいアナクロな小道具を配する必要はあったのかもしれません。それに、そういった部分でようやく現実感をとりもどして、ホッと安心できる気がします。

«GMC-4 シミュレータ v1.37 リリース