2009-11-01から1ヶ月間の記事一覧

Compact言語(C式)の提案

プログラミング言語にはいくつかの系統があります。 アセンブラ一族はマシン語を人間の読める形にしたもので、ニーモニックと呼ばれる命令とパラメータの組み合わせです。 パスカル一族はbeginで始まりendで終わります。 Rubyはbeginなしのendで終わる一族。…

定数畳み込みというか項書き換えシステムっぽい何か。

php

eクラスが式オブジェクトで、phpだと関数名とクラス名は同じもの使えるのでnewを書かなくてすむようにするためだけにe関数があります。 で、evalCompでコンパイル用の定数畳み込みっぽいことをする計算をしてグローバル変数の$chgという書き換えがあったかど…

D式: Lisp パワー, Dylan スタイル

DylanのD式の論文http://people.csail.mit.edu/jrb/Projects/dexprs.pdfを読もうといつもIntroductionだけ読んで挫折していたので、目次だけ作ってみました。1 Abstract 1 要約 2 Introduction 2 序論 2.1 Successes and Failures 2.1 成功と失敗 2.2 Lisp P…

新しいC言語かどうかを判定する方法

新しいC言語かどうかを判定するひとつの方法は、そのパーサを300行程度でかけるかどうかである。 Go言語はalgol68とそれほど変わらないという記事があったようなのだけど、まったくそのとおりだと思う。 結局はBNFベースの言語だ。 objective Cの別シンタ…

Excel読み込みできるCSVファイルをダウンロードする

phpでCSVをダウンロードする場合、file put csv mb convert variables ダウンロード php 標準出力 stdout あたりのキーワードで検索して作ります。 でも毎回作るのもめんどいし、まとまって作ってあると便利なので作りました。これで、 h_sakurai php csv で…

簡単なインタプリタのテスト付きバージョン

ぜんぜん、簡単ではない、簡単なインタプリタにテストをつけて書き直しをしました。 14回でここまで作るソースもあるのですけど、解説書く前にいろいろやることがあるとおもうので まだまだ先になりそうです。 Go言語 C言語の後継としていい線いってそうな…

OAuthライブラリのストレージエンジンの例の翻訳

php

http://oauth.googlecode.com/svn/code/php/example/SimpleOAuthDataStore.php をとりあえず、翻訳してみたので載せておきます。 ライセンスはMIT ライセンスです。 http://oauth.googlecode.com/svn/code/php/LICENSE.txt

プログラミング言語の作り方の書き方

今日もプログラミング言語を作っていました。 否、プログラミング言語の作り方の効率的な書き方を考えていました。 だいたいのプログラミング言語の完成系はイメージがついているのですが、その過程をどれだけシンプルに書くか? これは非常に難しい問題です…