yaccを使って、コンパイラを作るためにコンパイラ言語の文法を定義しなくてはならない。
今回のTiny Basicの場合、
10 INPUT X
20 Y= x*x + 6*x + 9
30 PRINT Y
というようなBASICの言語の文法を定義する。
続きを読む
yaccを使って、コンパイラを作るためにコンパイラ言語の文法を定義しなくてはならない。
今回のTiny Basicの場合、
10 INPUT X
20 Y= x*x + 6*x + 9
30 PRINT Y
というようなBASICの言語の文法を定義する。
続きを読む
毎週、自宅フィットネス運動したかどうかのチェックをする。
1/11~の分。
月曜 エアロバイク運動のみ
火曜 エアロバイクのみ
水曜 エアロバイク運動と筋トレ(腹筋)とストレッチ
ノートPCをストレッチ用ヨガマット脇に置いて、動画を見ながらストレットをするようにしてみた
木曜 エアロバイク
金曜 エアロバイクとストレッチ少々
土曜 豊橋の動物園に出掛けて、結構歩いた
Segwayにも乗って少し運動になった
エアロバイク運動と筋トレ(腹筋)とストレッチ
日曜 エアロバイクとストレッチ
エアロバイクは、ちゃんと毎日できるようになった。
iPadをエアロバイクのところに設置してゲーム(デレステ)で毎日遊ぶのと一緒という習慣付けがうまくいったようだ。
ストレッチについても同様にしたいが、ゲームしながらストレッチはできない。
とりあえず動画鑑賞をしながらというのを試してみる。
エアロバイク後に膝に少し痛みが出ることがあるのがちょっと気になる。
豊橋総合動植物公園のんほいパークで、Segway(セグウェイ)に乗って園内ツアーができるというので、行ってきた。


豊橋総合動植物公園のんほいパークは、豊橋市にある公園で、1つの敷地に動物園と植物園と科学館と遊園地と展望台がある。
「のんほい」というのは東三河方言の特徴で、語尾に「のん」とか「ほい」と付くのだそうだ。(のんのんびよりみたいな感じか? のんほいびより。)
続きを読む
去年、Segwayっぽい小型の2輪電動Scooter(ホバーボード)を買って乗ってみている。
このタイプの中華製”ホバーボード”は、発火のおそれがあるということで12月にAmazonから警告(?)と返品を受け付ける(?)ようなことが書かれたメールが来ていた。
Amazonのカスターマーサービスと連絡して返品対応について聞いてみた。
返品というか、Amazonギフト券で返金するけど品物は回収しないので、お客様側で処分してくださいということだ。
処分に費用が掛かってもこちら持ちだという。
どうしようか悩ましい。
いくつか選択肢が考えられる。
(1) ハードオフとかキンブルなどの古道具屋に売りとばしてしまう。
(2) 発火の危険に目をつぶってそのまま使い続ける。
(3) 不燃ゴミや粗大ゴミの日にそのまま出してしまう。粗大ゴミだと回収費用の出費が必要だ。
(4) 分解してモーターとか使えそうな部品を取って、残った残骸と危険性のあるバッテリーを処分する。(大容量バッテリーの処分方法が分からない。リサイクル業者か?)
売り飛ばせば、返金分+売れた値段分が戻るので得をする計算になる。
ネタ的には分解してみたい気がする。
—
追記
返金された。
Amazonのポイントが補充されたので、Amazonの買い物に使ってる。
去年、Segwayっぽい小型の2輪電動Scooter(ホバーボード)を買って乗ってみている。
このタイプの中華製”ホバーボード”は、発火の問題があり、ヤバイらしい。
・棒なしセグウェイは発火しやすい?米Amazonが『ホバーボード』の一部を販売中止に
・とんでもホバーボードから落ちて死亡や家が丸焼けなど、いま買うべきでない2つの理由
・新品の2輪ホバーボードがピクリとも動かないまま突如炎上する瞬間を捉えたムービー
自分にも、Amazonからメールが来ている。
続きを読む
薄焼き卵メーカーで錦糸卵やクレープ、生春巻きを作ってみた。


曙産業 ez egg レンジでうすやきたまご EZ-289(Amazon)
続きを読む
先月、蕎麦を茹でる代わりに蒸して作る”蒸し蕎麦”を作ってみた。
風味や味は良いのだけど、どうも食感が悪い。
改善できないか、色々と試してみようと思う。(蒸し蕎麦の話を蒸し返す)
前回はヌードルメーカーでそば粉100%の蕎麦を自作したのだけど、面倒なので今回は市販の蕎麦を使う。

安いやつはそば粉よりも小麦粉の方が多いのだけど、そば粉の多いちょっとお高いのを買ってきた。
星崎の名店の蕎麦だ。
続きを読む
ミックスナッツを食べて腹痛になったのはアレルギーが原因かもしれない。
自分はピーナッツのアレルギーが少しあるらしい。
ミックスナッツ(カシューナッツ,アーモンド,くるみ)を時々袋買いして定期的に2年くらいずっと食べていた。
しかし、最近食べた後に謎の腹痛が起きるようになった。

椿屋 業務用 ゴールド木の実 500g(Amazon)
続きを読む
LLVM-IR(LLVM中間コード)を生成するTiny BASICコンパイラを作ったという話の補足。
コンパイラを作るのは、いくつか作らなければならない部品がある。
主に、「構文解析」と「コード生成」に分けられる。
まずは構文解析について。(追記 – コード生成については「その4」から)
構文解析は、コンパイラの言語の文法のルールに沿って、入力されたソースコードを解読して、解読した結果を出力する。
これがアセンブリ言語のような単純な文法の言語ならば、構文解析のソフトは1から手作りをして作ることができる。
予約語と変数(ラベル)と定数だけで、文法の並び順も単純だからだ。
解読した結果も、基本的には1次元の配列のようなものに順番に入れていけば良い。
BASICみたいな言語の場合、構文解析は少し複雑になるが、手作りで作ることはできる。
再帰下降パーサーという作り方で、文法要素を再帰のソフトで組んでいく方法だ。
中間言語を使う方式のBASICの場合、ソースコードの1行分だけを独立してパーサーに書けて1行分のコード出力を得るというのを、行数分だけ繰り返すという作り方もできる。
C言語やPascalみたいな言語の場合、構文解析はかなり複雑になるので手作りで作るのは困難になる。
そこでyaccやbisonというようなコンパイラコンパイラを用いる。(単純なBASICみたいな言語にも用いることができる)
コンパイラを作るためのメタコンパイラだ。
コンパイラ言語の文法のルールを、それ用の記述方式でソースコードに記述してコンパイラコンパイラに掛けると、構文解析用のパーサーソフトの部分を自動生成してくれるものだ。
解析して解読した結果は構文木というツリー構造のデータに入れるとよい。
コンパイラコンパイラについては、
古い参考書だけど、yaccによるCコンパイラプログラミングという本で自分はマスターした。
→ コンパイラ「Cm」を改造してみる
—
続く
毎週、自宅フィットネス運動したかどうかのチェックをする。
1/4
腹筋マシンで腹筋運動をした。
昼食でうどん+かき揚げを食べたのだけど胃もたれで、横になっていた。
1/5
エアロバイク少しだけ。
1/6
iPad2を復活させて、エアロバイクに設置。
iOSでデレステのゲームをしながらエアロバイクをするようにした。
スタミナ回復のタイミングで一定時間の自転車漕ぎができそうだ。
1/7
栄のアップルストアとか久屋大通の東急ハンズに出掛けて少し歩いた。
デレステでエアロバイク。
1/8
旅行に出掛けた
青春18切符で一日電車に乗ったのと、1kmくらいは歩いたので少しは運動になった
旅行中、外食と間食で一時的に体重が増加。
1/9
エアロバイク少しだけ。昨日食べ過ぎて増加した体重を少し戻した。
ヨガマットでストレッチ運動を少し。
糖尿の医者の定期検査。結果は普通。
1/10
腹筋運動。
デレステでエアロバイク。
クルミを刻んで入れて作ったクッキーで体調が悪くなり、横になっていた。
一昨日食べ過ぎて増えていた体重は一時的なものだったので、もう食べすぎる前に戻った。
有酸素運動は大目にできた。
筋トレは、腹筋のみだが2回できた。
ストレッチは、できれば毎日やりたいが出来ていない。うまく習慣付けできるように工夫をしたい。