2012-01-01から1年間の記事一覧

とりあえず、これから作るもの

3. 変数付きスタックマシンインタプリタ var a:int = 2 var b:double = 3 + 3.5 var c:double = a + b c で、2+3+3.5なので、8.5になるというのを作れればいいと。4. 配列付きスタックマシンインタプリタ var a:int[10] = [1,2,3,4] a[3] = a[1] + a[2] a[3]…

今後の予定

今年も後わずかです。 残念ながら、今年中にC言語ライクな言語を作る目標は達成出来ないかもしれません。 でも、少しずつ前進して止まらなければいつか出来上がる日は来るでしょう。暗黙的型変換ありのネイティブコンパイラは作れました。 スタックマシンに…

暗黙の型変換付き四則演算計算機のコンパイラ(X86_64用)

doubleとintの暗黙の型変換付き四則演算のX86_64用コンパイラを作りました。このプログラムでは以下のような処理を行っています。1構文木を演算子順位法で読み込み(read)2パターンマッチングで抽象構文木に変換(st2ast)3パターンマッチングで暗黙の型変換…

C言語に変わる言語を作りたいスレ

http://thebbs.fc2.com/298986!/?l=102chに書き込めない、、、。うぐぐ。でも掲示板は欲しい。 ってことで、適当に掲示板を作ってみました。 ということで、冷やかしで良いので、こぞって書き込みよろしくお願いします。

pdp11のディスアセンブラ

日曜日に池袋バイナリ勉強会に行ってきました。 で、pdp11のエミュレータのようなものの手順書を貰ったのだけど、 Mountain LionにしたばっかりでMacPorts動かないんですけど、、、。 makeとか出来ないんですけど、、、。 って感じだったので、コマンド表み…

NetBeansのバグを報告してみる(3)

前回の、バグはfixされてナイトリービルドではfixしてるらしいです。 よかったー。 ということで、次は、グレップ検索して、検索結果をタブを閉じずに2回目のグレップ検索をすると、エディット機能が無効になってしまうバグを報告してみました。http://netb…

暗黙の型変換付き四則演算計算機のコンパイラ(スタックマシン用)

doubleとintの暗黙の型変換付き四則演算のコンパイラを作りました。 ターゲットとなるマシンは仮想的なS(Stack)とC(Code)の2つが存在しているだけのSCVMにしました。 理由はSECDマシン風のマシンならパターンマッチングを使って短く美しく実装出来るためで…

11月です

自分が作っている言語の特徴について1.C言語の人気な要素を取り出して一般化した式言語をベースに言語を構築します。 2.プログラムをプログラムで操作する事が出来る強力なマクロ機能を作成可能です。 3.簡単にパーサが作れます。 4.OSや言語を作成可能なC言…

NetBeans7.3 Betaのバグを報告してみましたの続き

なんかメールが来ててチェックしなきゃと思って見てるんですけど 20個くらい同じバグがあるってなってfixしてるーってなってます。http://netbeans.org/bugzilla/show_bug.cgi?id=218624よくわかってないですけど、Jan Lahodaさん達に感謝っと。

NetBeans7.3 Betaのバグを報告してみました

NetBeans7.3のベータが出たということで、早速入れてみました。 結構かっこよくなってて嬉しいし機能もいろいろ増えてていい感じです。 画面下にパンくずリストが表示されるようになったのですがPHPって書いてる箇所をクリックしたらエラーが出ました。エラ…

SWFの勉強会に行かなかった

スケジュール管理できてないので、行かないでしまった。 うーむ。 忘れっぽいので、よく忘れるので、もう仕方ないっす。U-Streamはあるようなので、そのへん見て楽しみまっす。ここんところ、疲れてる忘れてるでほとんど勉強会に行けてないなぁ。 誰も誘って…

暗黙の型変換

暗黙の型変換を修正しました。 ネストした式にも対応しました。 関数呼び出しの型は、呼び出したリターン値の型にしました。 EIdにも型を持たせて、関数の型を入れるようにしました。 package t7; object Main { trait TType case class TFloat() extends TT…

暗黙的型変換

ここの所は、夏の疲れがまだ取れないって感じなのですが、ちょっとだけ進めました。 この間のソースはコンパイルすら通らないという、どんだけやる気なかったのかと思ったりします。 思ったりするけど、まぁ、何も書かないよりは良い。ちょっとでも進み続け…

smarty

スマーティプラグインを使うと、色がつきます。ということで、NetBeansは設定が楽なので試してみてください。そういえば、検索をしたあとに、編集できなくなるバグがあって、同僚の人も気にしてたので完全してもらえたらなぁと思います。 思いますで終わらず…

SubVerisionの設定

ちゃんとやればできますが、WindowsではTortoizeSVNを使ったほうが良いのでとくに設定しなくても大丈夫です。

デバッガを使ってみる

例えば、マイページ C:\xampp\htdocs\mypage.php を開いて、エディタのウィンドウの行番号の表示されている箇所を左クリックします。デバッグ>ファイルをデバッグを選択してデバッグを開始できます。 デバッグはデバッグ開始ボタンが常に画面上に表示されて…

デフォルトブラウザをfirefoxにする

オプション>一般>Webブラウザの中のFireFoxを選択します。

最初にブレイクしないようにする。

ツール>オプション>PHPタブ>デバッグタブを選択します。 「最初の行で停止」のチェックを外します。

xdebug

php.iniを書き換え C:\xampp\php\php.ini [XDebug] zend_extension = "C:\xampp\php\ext\php_xdebug.dll" ; for mac zend_extension="/opt/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so" xdebug.remote_enable=1 xdebug.remote_host=local…

プロジェクト設定

現状のままだと、検索等に時間がかかるので、不要なフォルダは除外します。 右側のプロジェクトタブ内のプロジェクトを右クリックして、プロパティを表示します。 カテゴリ内の無視されたフォルダを選択します。 フォルダの追加ボタンを押して、以下のフォル…

プロジェクト作成

1. ファイル>新規プロジェクト>既存のソースを使用するPHPアプリケーション を選択し「次」を押します。 2. ソースフォルダに C:\***プロジェクト名に***とします。 3. NetBeansのメタデータを別のディレクトリに配置を選択し「次」を押します。 4. …

インストール

netbeans-7.2-ml-php-windows.exe を実行します。 jdkなどが入っていれば特に問題なくインストールできるはずです。

NetBeansインストール

http://ja.netbeans.org/からダウンロードページに移動します。http://netbeans.org/downloads/index.html?pagelang=jaPHP版をダウンロードします。

NetBeans7.2設定

NetBeans で PHP のデバッガを動かせるようにする設定方法です。 とにかく、まず、xdebugでデバッガを使える設定を先にして試してみてもらい気に入ったら、subversionなどの設定もしてもらうように書きました。

こんな感じで考えるのを辞めた

object ttest { trait TType case class TFloat() extends TType case class TInt() extends TType case class TNone() extends TType case class TStr() extends TType case class TFun(prms:List[TType],rc:TType) extends TType abstract class E(t:TType…

型推論と暗黙の型変換とオーバーロードをなんとかしようとしている。

Hindley/Milnerの型推論はだいぶわかったのですが、暗黙の型変換も合わせて行わないとうまく使えないので どうしたもんかなぁっと、いろいろ釣ってみてます。難しい

まずは型推論で型チェック

1.型推論で型チェックをしっかり行う。 2.JVMにコンパイルできるようにする。 3.アセンブラへコンパイルできるようにする。という段階を追って行く事にします。 型推論ではまず、関数の型推論だけではなく、各段階の全ての式について型情報を残すようにしま…

行き詰まったけど、出口を探してます。

配列が無理矢理な実装だったので、先に進む気になれません。 もっとごちゃごちゃになる事は必須です。 ってことで、他の処理系を見て移植してみようとして規模に圧倒されて参っている今日この頃です。 そこで、本読んで、なにをやっているかをちゃんと把握し…

svn checkout http://jatran.googlecode.com/svn/trunk/ jatran-read-only cd jatran-read-only/ ant ./jatran.sh

配列を作る

今週末は配列を作ってました。 だいたいコンパイルは通ったのだけど、もう少しの所で止まってます。ポインタ操作は64bitつまり8byte単位で行うことになるので、サイズや、レジスタの取り扱いがちょいと面倒なのですが、慣れの問題なのかな?先にlong(8byte長…