i16@寓

にゃ~ん

6月10日(火)のつぶやき その1

2014年06月11日 05時30分54秒 | Weblog

『Twitterまとめ投稿 2014/06/10』あなたを幸せにします。林愛一郎です。愛ち..|i16.blog.so-net.ne.jp/2014-06-10


とりあえず動くセルフコンパイラがあるセルフコンパイラの言語移行は、ターゲット言語で書いたターゲット言語のセルフコンパイラをつくるんだけど、ターゲット言語で書いた元言語のコンパイラをテストプログラムにして、元言語で書いたターゲット言語のコンパイラを徐々に作っていったらいいかなー。


むかし懐かしい本に載ってたマイクロPlanコンパイラをとりあえず動かしてから、別言語のコンパイラに仕様変更できるように、つまり見通しが良くなるように改造してる。元のマイクロPlanコンパイラが超絶技巧で極小サイズになってたので、どんどんエレガントでなくなってるけどしょうがない。


今週はDTMステーションPlusはないんですねー。


(1)マイクロPlan言語を拡張して文字列定数対応にした。
(2)拡張マイクロPlanのコンパイラを拡張マイクロPlanで見通し良さ気に書いた。←イマココ
(3)元のマイクロPlanで拡張マイクロPlanのコンパイラを書いてみようかな。見通し悪くてOK。
(4)さらに言語拡張。


んーまーいいかー。番号は付けては見たけど予定は未定というか予定の(3)は中止して、先へ進む方(4)をやろうかねえ。


ぼくの今日の運勢です 恋愛運 ★★☆☆☆ 金運 ★★☆☆☆ 健康運 ★★☆☆☆ 仕事運 ★★★★☆ 自分の得意分野に周りを引き込んだら、超モテモテに。でも自己中と言われない程度に控えめに。
 ラッキーアイテム 『プリン』→uranaitter.com


マイクロPlanとC言語の間ぐらいの何とも気持ち悪い言語のコンパイラが出来た。中間語は文字列定数拡張をしたマイクロPlanのものと同じまま。んー。このコンパイラを改造してC言語のサブセットにするのは面倒かもしれないなあ。むしろスクラッチから作ったほうがスッキリするかも知れず。


会社「追加料金払ったらなんでも描いてくれるの?」ボク「そんなわけないでしょ、詳しい発注やリティク内容を聞いて受けるかどうか決めるためです、そもそも描けないモノや絵柄ありますし」会社「えり好みで仕事されても」 描けないものをえり好みって言われたので俺氏、覚醒

林愛一郎Aiichiro HAYASHIさんがリツイート | RT

ボク「じゃあそっちが描けや、描けないとか言うなよ仕事なんだからえり好みすんじゃねえよ、それができないから発注するでしょ?発注したら何でもできると思うなよまず自分の稿料を考えろよ幾らだよ相場以下だよそれ自覚あるの」会社「それはですね」ボク「イェスかノーで答えろや」会社「いぇすぅ…」

林愛一郎Aiichiro HAYASHIさんがリツイート | RT

ボク「絵描きとはレストランだよ、和食でパスタクダサイーって言う人いる?あっ居る?そうよねいるよね、世間はそれをモンスター顧客かクレーマーというんだよ、そのクレーマーがアンタだよ、そもそもこっちがなんでも出来たならアンタの仕事受けずもっと良い仕事してるに決まってるでしょ!」

林愛一郎Aiichiro HAYASHIさんがリツイート | RT

次の商品を購入しました:林 晴比古 『明快入門コンパイラ・インタプリタ開発 C処理系を作りながら学ぶ (林晴比古実用マスターシリーズ)』 via amazonJP amazon.co.jp/dp/4797357037/…


マイクロPlanの中間語はスタックトップをコピーする命令がないのでCのように多重代入できる言語をコンパイルする場合にはいったん変数にストアする必要が出てきちゃうことに気がついた、(昔Cコンパイラ作った時も気がついたのを思い出したw)、、けどまあそれでもいいか。すげー無駄だけど。。


多重代入用に大域変数をひとつ予約しちゃえば話は簡単になるかなあ。局所変数でもいいかなあ。局所予約があるのは美しくないような気。。。。んー。インタプリタを拡張してスタックトップをコピーできるようにしちゃおうかなあ。あ。どうせサブセットなんだから多重代入禁止しちゃうという手もあるかw


式が文になってる時に++とか--とか関数呼び出しでスタックトップにある右辺値を捨てる処理は要るのか。ダミー変数にストアすればいいんだけどやっぱ予約変数方式か。多重代入も出来そうだけどそこはとりあえず省略で。サブセットと言ってもミョーな言語になるかも。Cでも使えるソースが書ければ。


式文ナシでもまあ構わないといえば構わないかw。制御構文とかセミコロンの扱いがCと同じである必要はあるよねえ。んーこれは作りたいコンパイラだったんだろうか。再帰下降式のワンパス処理でサラッと流したいのは確かなんだけど。


とりあえずいま出来ているのはマイクロPlanの字句表をすげ替えてCモドキにしたものではある。procをvoidにしたりvarをintにしたりincを++にしたり。。。


カナリ久しぶりに見てみたけど必ずしもワクワクしないソースだなあ。まあ元祖UNIXのツールみたいな訳にはいかないか。最小メモリでゴニョゴニョやる奴でも逆に富豪的な奴でもないねえ。//cppの詳細情報 : Vector ソフトを探す! vector.co.jp/soft/maker/lsi…


LLVMの本買ったんだからちゃんと読むかなあ。コンパイラがコンパイラである部分は人のをそのまま使って、バックエンドだけ作ればマシンに適用できるハズである。ホントなのかなあ。Macの標準のCコンパイラもLLVMだそうであるし。実用ならコレか。


んー。大規模なコンパイラはまだリハビリ途上で対応できないけど小さい奴じゃしょうがないってことかなあ。PICとかならアセンブラでチマチマ書くのもおそらくカナリ楽しくはあるんだけど。コンパイラじゃクロック数えてられないし、マイクロコントローラでタイトな部分はアセンブラでやりたいし。


むかし書いたCのサブセットのコンパイラのソースがあったら自分が書いただけに参考になるハズなんだけどまあきっと見つからないよねえ。8080なCPM上で動くサブセットCのセルフコンパイラだったような覚えがあるけど違ったっけな。。。。5インチフロッピーとかに入ってるに違いない。


電子工作で作るっつってもMIDI関係の何かというぐらいしかアイデアはないのである。まあそれでいいっちゃいいか。どうせ趣味なら話をややこしくするためにクロック数えたりしながらソフトウエアシリアル通信かねー。色々ツール作ったりするほうがおそらくハマりやすい世界。


あー。small-cコンパイラの載ったDDJ合本あるなあ。日本語訳な工学社のやつは残念ながら捨てちゃったけど英語の奴はある。出して来るかいね。。


small-Cって今見るとちっちゃいねえ。手で打ち込んでもダイジョブなぐらいちっちゃいけどコレは確かネット上にあったような気がする。日本のマイクロPlanは失われてるけどメリケンなモロモロはネット上でよく見つかるのだった。


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 6月9日(月)のつぶやき その2 | トップ | 6月10日(火)のつぶやき その2 »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

Weblog」カテゴリの最新記事