作成者別アーカイブ: maruyamadoubleboggy

アニメを見る

宇宙より遠い場所

というアニメを見る。まだ3話だ。

● 仕事柄

小中学生に偉そうなことをよく言っていていけない。
僕のような小坊がだ。

今日だって、大きな駄目なことをし、始終奥歯を噛み締め、
申し訳無さと、未熟な対応の仕方に、途方も無く、苦しく、僕はなんて駄目なんだと。

僕なんかが、人々の前に立ってては駄目なんじゃないか。

● 仕事柄

進路の話をする場合もある。曰く

−人生は、選択肢を、徐々に狭める

なんてこった。
そんなことを言わなけりゃ良かった。

だから、中学時代に成績で1や2をとってるなら、絶対3まで上げようぜ、なんて陳腐な話だ。

● 仕事柄

若い先生と出会う。
うちの塾出身の、横浜サイエンスフロンティア高校出身、ある国公立の生物学を専攻した、若い先生だ。

代講でうちの教室で教鞭。

● 仕事柄

若い先生と、懇ろになりたい。
学ぶべきことは沢山あるし、暦の上では初老だが、そんなこと言ってたら小中学生に話なんてできないのだ。

● サイフロの体育祭のことを

聞く。(個人の感想です)

・単語帳を持ち込み、体育祭の待ち時間に、記憶脳を刺激し続ける
・棒きれで、体育祭の待ち時間に、何やら証明を試みる

※個人の感想です

● サイフロの文化祭のことを

聞く。(個人の感想です)

・企業の協賛がある  ← えぇ?!
・燃える
・めっちゃ、燃える

※個人の感想です

● 授業の流れで

人生は、選択肢を、狭めていく。時間は戻らず、云々。
終礼で言う。

代講の若い先生は、こちらを見ている。

● 2年後、3年後って

どう考えてるの?という話になり。
その若い先生は言うのだ。

−南極に、行っています。

ええ!?

僕は

−いいなあ、僕にはもう、無理な話だけれども
−無理じゃないです。
−・・え?
−無理じゃないです

● 僕に、南極が、無理じゃない?

という。
何てこった。

曰く

−僕が横浜サイエンスフロンティア高校に在学中に、南極観測隊の方がいらして、講演をして下さって

それがきっかけだったという。

南極の夏場に、南極観測隊に赴くことを「日帰り」というんだそうだ。日が落ちないから。一日中。白夜だ。
すげえ。

僕は僕で、

● オカルトが大好きで

そういえば、南極って、15世紀か、16世紀に、なぜか、南極大陸を記録した地図があった。という。
ねーというと

−ピーリーレイスっすよね!(参考:ウィキペディア

って笑顔で即答。「いいっすよねー」だって。おぉ。

いいなあ。トップ校出身、南極へ行く。

● だから

ー丸山先生、南極、行けますよ。無理じゃないです

まじか。
彼は、大真面目でそういうのだ。

僕は、なんて矮小な授業をしていたんだろう。

−人生は、選択肢を、徐々に狭める
中学時代に成績で1や2をとってるなら、絶対3まで上げようぜ

なんて、こった。

● 僕は今さら

南極なんて行けない前提で生き、そして、未来ある小学生中学生に、なんと未来のない話をしていたんだろう。

● 仕事柄

この先生に出会えた。
僕はまだ、南極に行ったことがない。そうみんなにはまだ、云ってなかったけどね。

● 宇宙よりも遠い場所

は、実は地球上にある。というメタファー。
そういえばシャチはシャチ語を話し、狩りをしていて、
日本海溝には、まだ見たことも聞いたこともない生物が生命を営んでいるとか云う。

何をしったかぶった様なことをいってたんだろう僕は。

ーーー

人生から何をわれわれはまだ期待できるかが問題なのではなくて、
むしろ人生が何をわれわれから期待しているかが問題なのである
ヴィクトール・E・フランクル

Xcodeでflexつかうとエラーになる時のメモ

半日潰したのでメモ。

● 出てたのは

2つ。
Xcode付属のflex,bisonで下記。

  • (1) flex ver 2.5.: C++11仕様でコンパイルでワーニング
  • (2) bison ver2.x:「%define parser_class_name { Parser }」が通じない

(1)(2)ともにXcode付属のflex/bisonが古いぜ。

● 結論

(1)(2)ともに,flex&bisonをverUpしたがXcodeがそれをガン無視。
 ↓
Scanner.cpp, Parser.hpp, Parser.cppを予めコマンドラインで生成して,Xcodeのプロジェクトに追加することに。
 ↓
今度は,Xcodeの環境で読み込む「#include 」が古いファイルを参照するので,/Application/Xcode.app/〜以下のFlexLexer.hをXcodeに内緒で差し替える
 ↓
ビルド成功(ちょっぴりwarningまだ出るけどね)

ここまで半日格闘。

● (1)flex 2.5.x だと c++11 コンパイルでワーニング

flex 2.5.xは,変数宣言だかにregisterキーワードが使われる。
registerはc++11でdeprecatedに。だから Xcode でコンパイル時にワーニングだらけになる。

こちとら趣味だしワーニングなんで放っとこうかと思ったが,何しろ多量だし気味が悪い。

● 調べると

flex 2.6.xは,registerキーワード吐かなくなったらしい。おお。
早速brewでインストール。

$ brew install flex
$ brew link flex --force

これでScanner.lをコンパイルする。

$ flex -o Scanner.cpp Scanner.l

中身からキレイにregisterが消えた。

● このファイルをXcode

に追加すると,register絡みのワーニングは消えた。

● が

今度はエラーが大量に出るように。

Xcode曰く
Too many errors emitted, stopping now

て。ええ!?

● みると Semantic Issue だそうで

「Member reference type ‘std::istream *’ (aka ‘basic_istream *’) is a pointer; did you mean to use ‘->’?」

みると確かに「yyin」がポインターとして宣言されて,「.」演算子が付されてる。
「yyin.rdbuf(std::cin.rdbuf())」みたくなってて妙だ。
「yyin->rdbuf(std::cin.rdbuf())」では,ってコンパイラが言うのも確かに。

しっかしsemanticエラーたって,flexが吐いたコードだしなあ。
webによっては「もう,自分で.を->に編集しちゃおうか」的な話もあり。

● だが救世主はやはり

webの中に。

● stack overflowというサイト

国内に情報が少ない場合に大体googleでヒットするstack overflowだ。

もう。stack overflowyahoo知恵袋に世界の大半は記録されてるんじゃないか。

上記リンク先のAlex H.さん(stack overflowの方ね)曰く

you might be able to just use a newer “FlexLexer.h” (for example the one from here: https://github.com/westes/flex/blob/master/src/FlexLexer.h)
(新しいほうの”FlexLexer.h”が使える。(例えばこことか))

FlexLexer.hが古いんで,新しいやつダウンロードして使えば?という。

理由はAlex H.さんの予想だと

I believe the issue is an out of sync “FlexLexer.h”. Flex 2.6.0 changed the storage definition of yyin storage for C++ scanners for both the header and the generated source. However I suppose the mac port package is including an out-of-date FlexLexer.h, even though flex itself has been updated. This leads to the mismatch you are seeing as compilation errors.

ということのよう。って英語だらけ。だいたい

  • flex 2.6.0で,yyinの定義が変更になってる
  • flex自体は更新されても,古いまんまの”FlexLexer.h”が読み込まれてるんじゃないか

ということか。

● そこで

仰せの通りここへ行って,FlexLexer.hをダウンロード。
いや実際にはここでcloneをダウンロード。
どこに入れればいいかというと

~$ find /Applications/Xcode.app/ -name "FlexLexer.h"
/Applications/Xcode.app//Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/FlexLexer.h

発見。

これで(1)が解決。
Xcodeにはコマンドラインで作ったScanner.h

$ flex -o Scanner.cpp Scanner.l

を後から読み込ませれば世はすべて事もなし。

● (2) bison ver2.x:「%define parser_class_name { Parser }」が通じない

$ brew install bison
$ brew link bison --force

そして

$ bison -o Parser.cpp Parser.y

を後からXcodeに読み込ませる。

● なんとかおしまい

上記でビルド成功(ちょっぴりwarningまだ出るけどね)。

次は

● 今まで作ってた

SDL2.0のプログラムとマージしてみる。

Apple Watchを買ったら自分の腕のほうが大きかった話

というわけで

買っちゃった。apple watchだ。そしてAirPodsだ。

● 苦節3年

 ずっと欲しい欲しい言ってきたわけだ。apple watch。
 癇症の疲れたお嫁いわく

−もうな,

 欲しい?買えばええやん。もう。

● という

 『ハッピーウエディング前ソング』ヤバイTシャツ屋さん

 だ。

● で

● 勢いで38mm買ったら付属のバンドが小さすぎて手首に巻けませんでした

 という一連の流れを,だいたい

● 56,000円ぐらい掛けてお送りするわけだ

 まずは5月13日。

 届いた。
 前日14時までのネット発注で,翌日午前中に届くというこのサイバーシティ。

● まずは

 AirPodsだ。

 ダンボールを開けるとこんにちはする。

● こんな感じで

 収まってるわけだが,手に持つと

 小さい・・。
 すげえ。

● 開けてく

 いつものカードがこんにちは。

 の下に真珠のように

 ケース&本体。

 の下がライトニングケーブル。

 丸いぜ。

● 続いて,いよいよ本命

 開け口はこんな

 ここを持って剥ぐパターンのやつ。

 なるほどキレイに剥がせるって
 わ
  け

    か

 キャー既にアップルウォッチみたーい♥

● という

 ことを言ってると,いよいよ御大が

 こんにちはする。

 これの

 両端の発泡スチロールは後に,子どもたちのメガネに。

 こんな感じのキャラのあれだ。

 apple watchの中敷きの発泡スチロールまでがアミューズメント。

● 更に開ける

 いつものカード・・。

 

 そのカードをどけると・・

 ・・・・!?

● 高まる鼓動

 これ・・・・・

 俺の腕より短いやん・・。

● 以下,

 動揺しすぎて,撮影できず。
 身体中の毛穴が閉じたり開いたり揺らめいたりする中口元は半笑いで

 もう,ね・・

● 僕の記憶の中では

 こんな

 もうね。

 「おれ うで おおきい。
  あっぽうぉっち おれ ちっちゃい くやしい。」

 て感じだ。だった。巨人かよ。

 しかし,あんなに

● 口の中って乾くんだ

 で,結局。

● 最後の袋だ

 この中には。

● 何となしに

 amazonで発注してた

 これが入ってるはず。
 シルバーリンクブレスレットで2,499円。

 本家だと45,800円。
 その差は43,301円。

 差額が,ほぼ本家の値段だ。

 

● ふとメールを

 チェックすると

 送られてるのは・・・

 ・・・・。

● ゴールドッ

● エクスペリエンスッ

● レクイエムッ!

 最強の香りが漂う。

 うそ,これ送ってんの!?

 俺,シルバーっつったよね!?

 え?ゴールド?!

● この 俺の エクスペンシブ シルバー

 がッ!

● 恐る恐る

 開ける・・・。

● あ,ケースね

 あけるぞ あけるぞ

 あけろ あけろ

 う・・・

● !?

 シルバーでした。
 こっちは。

 で,つけてみる。

 おー。

● というか

 こっちは腕にハマるのか。恐る恐る

● 巻くと

 無調整でぴったり。

 レビューには「調整できない」とか「部品壊れた」とか書かれてたんで,調整なしなのはありがたく。

 あの38mmのフォグ色のバンドはどうしようか思案。

 ま,何しろ,3年間悩んでる間,一度も試着もせず,腕周りを測りもせずだったのがいけない。
 これを着けて,これから盛岡へいく。

映画『ダイバージェント』をみる

午前2時に,見始めるHulu

● なんか

2時間20分ぐらい掛かるらしい。
吹き替えでもいいけど,そのまんまを聞けるし,英語の勉強になるかなと

● 字幕版

で見て

● フーフー!

言ってたら,4時20分じゃねえか。

● ッアー

そういやそう言ってたな。2時間20分だって。
正確だ。

● キャッチフレーズは

『たった1回の性格診断で未来は決まる』
だ。

すげー気になるじゃん。しかも近未来。

● 100年前の「最終戦争」で

教訓を得た人類は,性格診断で人種を分けたんだそうだ。
分けるから争うだろうに。。

おまえらもう一遍ジョンレノンの『イマジン』でも聴いてろって

● 江戸前のてやんでえで

言ってやりたいですよ。ええ。僕なんかになるとね。(なんだ)

● その人種は


  1. 博識
  2. 無欲
  3. 勇敢
  4. ???
  5. ???

あとなんだっけ。
あと2つぐらいあったぜ。

・・・。
出てこないんで分かんないや。えーと(「平和」「高潔」だって)。

あと,どれにも属さない「ダイバージェント=「異端者」」がいる。
劇中では,もう,日本史の穢多非人的な役どころ。

「派閥」内で脱落したりタブーを犯したりしたらなるっぽい。

さすが契約社会だ。

欧米だ。

● そしたら

政治は「無欲」が司ることになってたけど,そのうちに

● 「博識」が

例のごとく

「永遠の平和を実現するのは,あてくし共ですわっ」みたく

やってくる。
あのヒール役の女優さんは何て人だろう。あんまりにも憎らしすぎてリスペクトする。

● 結局

分類するから軋轢が生ずるのか。
どうあがいても,人間の性でしようがないのか。

支配する側と,される側になるという構図を描いてて吐き気が止めどもない。

次に生まれるときは神様になりてえなあ。

● 「無欲」出身の

主人公は,なんだかのセレモニー(儀式)で「勇敢(治安部隊)」に
兄貴は,同じ日のセレモニー(生年関係ないのかな)で「博識(研究職,で,そのトップはクーデタラー)」に

それぞれ手のひらにナイフを入れて,誓いを立ててしまう。

痛そう。

ナイフで「グサ」って。ケッパンみたいなもんか。
にしても痛そう。

なんで,本気度示すときって,洋の東西血ぃを出すのか。
小学生がついおっぱい見て鼻血出すのはやっぱ本気度なのかも知れないなと思って映画を見る。

● あ

これネタバレサイトかも知れないです。

● つまり

出生はどうあれ,手のひらさえ切れれば,

● 商人の子が

侍に。

● 侍でござるが

やっぱ農民になるだよ。

● とか,一応ありだけど

家柄と異なると,両親ともう

● 会えないという。

なかなかの縛り。

● 「無欲」出身の

兄妹はそれぞれ

兄:「俺ってインテリジェンスだから博愛ってか,「博識」だよな。」
妹:「なんか,性格診断で「ヤバめ」って出ちゃった。直感で「勇敢」かな」

てなった。
文章理解能力希薄。

● なんか

フォーっていう男がイケメンすぎてため息が止まらないうちに

娘をかばって母(実は「勇敢」出身)が凶弾に倒れ,
敵の中枢進入時に,かなり勇敢で憤慨しきった父(格好いい)が,でもやはり凶弾に倒れ

主人公は

● 両親を失う

イヤー!!

これも幻覚であって欲しかった。

● アクションや

その他諸々。例えば

● 幻覚剤を

打たれて,幻覚世界を彷徨い歩くとか。
起きたと思ったらまだ幻覚世界だったーーとか。

● で起きたら

やっぱまだ幻覚世界やないかーい

● とか

どれがホントか分かんなーい♡

みたいな

● ヤバめの

トリックが2重3重なのかと思いきや,意外とガチだったり。チュー
ここでエロか?!と思ったら,主人公の女の子が

● まだだめー♥

とか。
エロやサイコや,かなり格好いいアクションシーンで僕を揺さぶりながら,

しかし

● 「無欲」の人々を押さえつけ

芝生に泣き崩れる「無欲」の人々に銃口を突きつける,
「博識」がつくっったヤクで操られた「勇敢」の黒尽くめの人々(中には主人公の親友の女の子も銃口構えてたり)を見たり。

● ホロコーストって

こんな絵面だったのかとか。
先の大戦で,日本人はどんなことまではしたのかなとか。

ばーちゃんは
「アメリカさんは,女にひどいことをしてくると聴いてたけど,アメリカさんは,結局紳士だっただよなあ」とか。

まあ近隣のアジア諸国をよく言わなかった祖母の言は
僕からすればあれはあれだけど

● もう一度

人が人を殺すことに
何ら正当な理由なんかない。

戦争なんていうのは

● やっちゃいけないことで

大抵,そこにwin-loseのえげつない図式があり
僕ら善良な市民は,そのことを子々孫々伝えるのが
文化を持った良心なんだろうと

● 思うにとどめつつ

設定や,「博識」が「勇敢」を操り,「無欲」を駆逐しようと,
先の戦争からわずか100年で
そういう構図が生まれるということを暗示した設定に

● 考えさせられた

わけだ。

いつか書いたけど
僕の愛する子どもたちが,やがて大人になる頃に
世の中がもう少しでもよくなれば
いいのになあと思ったわけだ。

コログ

最近のこと。

これは生きたログだから,最近のことをかき殴ろうというわけだ。

● プログラム紀

始まる。
久しぶりに,プログラムを趣味でカタカタやる。

もっぱら

● flex & bison in C++

というやつだ。
flexとbisonを使って,簡単すぎるインタプリタぐらいまでは作れそうな感じに。

bison -> flex へのヘッダファイル提供。
実際には,bisonで言語ルールまで書いて%tokenや%typeで宣言した部分を,
後に flex で#includeして使うということのよう。

これには,

● これに

めっぽうお世話になりました。
動物の柄のこの本,学生時代から憧れの象徴。

実際には,2年前ぐらいか。秋ぐらいから寝床で読んでは
単語がわからずiphoneとかで調べる。

  • precedence:優先順位(計算機演算ではpriorityて言わないのかな)
  • arbitrary:任意の
  • adequate:十分な
  • punctuation:句読点(句読法か)
  • glue to:接着する
  • simultaneously:同時に
  • albeit:〜であるが。
    (p12. “This is a hack, albeit a very useful one, since most of the time it does the right thing.”)

いくつかは入試レベルな気もし。
albeitって,そういう意味で使うんだ。など。

● 下記は,去年の夏に書いてボツにしたブログから

−−−−−−
● 学生のとき(1994〜2000年ぐらい)

大学の授業でBNF記法というのを学んだわけだが、まあ

→ 学べてなかった

単位はもらえたんだっけ。という。
bisonでは、言語仕様をBNF風に書かねばならなかったはず。

● 戸塚時代(2002年〜2007年ぐらい)

よーしいっちょう、flexでも勉強して、新種のプログラミング言語でも発明してやりますかぁ〜
と意気込み、再三挫折。

ギリflexまでは分かる。
けどbisonで何度やってもどうやっても僕の書いたBNFの言語仕様が

● ambiguous grammar

ていうエラーになる。
訳すと「曖昧な文法」。何が曖昧じゃい。曖昧な日本の私のプログラム言語の仕様。

僕にはもう、bisonを使う才能とか、生きている価値とか、死なない権利とか、笑う勇気とか、

● 何にもないに違いない

と咆哮したり呻いたりして畳の目に逆らって爪を立てたり、足の裏で敷居をゴシゴシしたりしては、とにかく、諦めていた訳だ。
−−−−−−

● という

存外に元気な感じでやってたわけだ。
やがて分かりかける。

● 飯も自炊し

再び去年の盆に書いてボツにしたブログから引用する。

−−−−−−
● で

何に感動したかというと、この『flex&bison』の「計算式を入力すると、加減乗除を優先順位を守って計算する」という
サンプルプログラムをつくる中での p.14 だ。

またしばらくすると、仕事で頭が一杯になって、何を理解したのか忘れると思うので、備忘録として残す。

Ambiguous Grammars: Not Quite
The reader may be wondering at this point whether the grammar in Example 1-5 is needlessly complicated. Why not just write this?
(読者はExample 1-5が不必要に複雑だと思っているかも知れない。こう書いてはだめかと。)

exp: exp ADD exp
   | exp SUB exp
   | exp MUL exp
   | exp DIV exp
   | ABS exp
   | NUMBER

そうそう、まさにそう。↑みたく書いちゃなんでダメなんだって十年来わからなかった。
この辺、わくわくしながら読んだ。

ちなみに「Example 1-5」というのは、bisonへ渡す言語仕様を書いたもので p.11 にはこうある。

Bison’s Rule Input Language
Bison rules are basically BNF, with the punctuation simplified a little to make them easier to type. Example 1-5 shows the bison code, including the BNF, for the first version of our calculator.
(bisonに渡すコードは基本的にBNFだが、容易に書けるよう記法を少し簡単にしている。Example 1-5 に計算機の一番最初のバージョンのためのbison用のコード(BNFを含む)を示す。)
Example 1-5 Simple calculator fb1-5.y

 <前略>

calclist: /* nothing */
  | calclist exp EOL { printf("= %d\n", $1); }
  ;

exp: factor
  | exp ADD factor { && = $1 + $3; }
  | exp SUB factor { && = $1 - $3; }
  ;

factor: term
  | factor MUL term { $$ = $1 * $3; }
  | factor DIV term { $$ = $1 / $3; }
  ;

term: NUMBER
  | ABS term { $$ = $2 >= 0? $2 : -$2; }
 ;

<後略>

そうコレなのだ。僕が戸塚時代にメロメロになったやつ。
よく入門書なんかに書いてあるやつだ。

何でこんなに分けて、わざわざ複雑に書かねばならんのだと。謎だった。

p.14でLevine先生が言う「The reader wondering at the point」こそ僕だ。

そしたらそのp.14にはこう続く。

There are two answers: precedence and ambiguity. The separate symbols for term, factor, and exp tell bison to handle ABS, then MUL and DIV, and then ADD and SUB.
(答えは2つある。優先順位と曖昧さだ。termとfactorとexpを分けて書くことで、bisonにまずABSを、その次にMULとDIVを、そしてその次にADDとSUBを処理するよう指示している。)

興奮して音読していた。
そういうことだったんだ。今までこの世のどこにもなかった答えが初めて身に染み入る。ッアー!
−−−−−−

● 何やら

感動している。
スピッツのメドレーをyoutubeで流しながら,暑い日,来る日も来る日も

● 新築の

家の中で猫と僕だけ住んでる状況。
その中で,ずっとプログラム三昧。何度かラム肉食って赤ワイン飲みまくって吐く。

● 分かったことは

C++でflex, bisonを利用することは可能ということと,
ヘッダファイルで

#undef YY_DECL
#define YY_DECL \
yy::Parser::token_type \
Scanner::scan(yy::Parser::semantic_type* yylval, \
			  yy::Parser::location_type* yylloc, \
			  ParseDriver& driver)

とかやったり,かなりトリッキーだということと。

Parser.y内で,


%{
#include "ParseDriver.hpp"

//yylex()のオーバーロード
yy::Parser::token_type
yylex(
yy::Parser::semantic_type* yylval,
yy::Parser::location_type* yylloc,
ParseDriver& driver) {
	return driver.scanner->scan(yylval, yylloc, driver);
}

// parser's error routine <- it's need to be implemented by us
void
yy::Parser::error(
const yy::Parser::location_type& l,
const std::string& m) {
	driver.error(l, m);
}
%}

なんていう,なかなか香ばしいことを書く必要。

● なんか

もともと flex, bison が広域変数使いまくったり,
#ifndefや#defineつかって,凄いことになってたりする中,

● flex, bison in C++も

C++のクラスを使う上で,かなり凄いことになってる。ということのよう。
勉強したのは下記。

  • Blog Alpha Networkingめっちゃお世話になりました。GW前〜GW中@ハトヤ。ずっと解読してました。言ったら実際に手で打って写してました。
  • bison-test@GitHub日本人の方のソース。めっっっっっちゃ分かりやすかったっす。ありがたい。
  • flatB-Compiler-and-Interpreter@GitHubAST(Abstract Syntax Tree:抽象構文木)をC++で作ろうという場合の,B-flatというC言語ぽい言語の,(1)文法チェック(2)インタプリタ(3)コンパイラの例示。すげえ。
  • 10.1.4 C++ Parser InterfaceGNUか何かの,てほどき。bison側の。
  • Generating C++ scannersGNUか何か。flex側の。

やっと,コンパイルフリーなBison/Flexのtinyセットを作成できた。
コレを元に,ASTつくって逐次実行するサンプルができたら,

● やっと

1年以上ぶりにyoutubeのサイトを更新できそうだ。
今日はプログラム紀について。

● 次回は音楽編

そんで次は,最近の人生観について。
順次追記していく。

ぜんぜんあれ

これは

息子の書いた何かだ。

● これの前の

更新がいつかはもはや

● 皆目見当も

つかない事態。
なんのためのブログかがわからなくなってる。

出世とか立身とか

● 書くべき記録は

あるにはある。

まずは近況だ。

● 僕ごときが

生きた記録などどうでもいい。
僕の周りの大切な何かや何かどうしがどうしたのか。

● まずは

去年の話だ。

僕はひどく打ちひしがれてて
現状の仕事を,本職を,

もうどうでもいいかなと
思い始めてた。これは本当。小中学生が算数が苦手になるかもしれない。

それを阻止!!どやー

● よく若い人に聞かれるわけだ

丸山先生は,どんな教室をつくりたいんですか。
ほほう,それ,どのレイヤーの偉い人に聞けって言われたんだ。僕に。

● 僕は,こうだ

例えば,こういう父親にはなりたくない。
保護者面談で

ーほら,こいつ算数苦手でしょう。私も苦手だったんでねー。算数。(細胞レベルでの快感を伝える何かの音)。

いや,
いやだ。

そんなことを聞かされ続けて生きる子どものことを一瞬でも考えるなら。

● 僕は

授業中に発狂する。わけだ。

いいかみんな。みんなはいつか大人になり,人の子の親になる。かも知んない。

どうか,こんな事は言わないでほしいんだ。
そのためにおっちゃん,ここに居るんだ。

ーほら,こいつ算数苦手でしょう。私も苦手だったんでねー。算数。(細胞レベルでの快感を伝える何かの音)。(ニヤニヤ)

いや,
いやだ。

だから,どうか歯を食いしばって俺に着いてきて欲しい。
こう言ってほしいんだよ。

ー算数が苦手なんだね,算数は確かに難しい。でも,大丈夫だよ。私もそうだった。だがそれが出来るようになった。
 だからきっと,あなたもきっと,それができるようになる。

● そのほうが

素敵だと思う。んだがどうなんだろう。
言いすぎて。

これは良くない。
上記において前者だった悪気のない方々や親々が良くは思うまい。

だが,続ける。

親が苦手だったから子が苦手。そこに気持ちの悪い水のチャポチャポいう
「なのよねぇ」なんていう射精や排卵は要らんのだ。

● だが

去年はそういうの度外視して
僕がそもそも,そんな偉そうなことを言ってていいのかモードだ。

僕ら民間の仕事ごときで,人が死んだり生き返ったりするわけでもない。

多くの人が言う。

● この仕事で

命を取られるわけでもない。

そりゃそうだ。
そんなしょっちゅう命を取ったり取られたりのしごとなんてあってたまるか。

しかし

● その人の魂を

魂を取られる仕事はある。
魂を取る仕事もある一方でだ。

魂を取られたら堪らない。

生きてはいけないからだ。だから,「死ぬぐらいなら,辞めればいいのに,そんな仕事」と

いう御仁が
いるがそんな単純じゃない。

● 命なんか取られないんだよ,サラリーマンは

魂を取られ,だから時々,人が死ぬ。サラリーマンが死ぬのはこれだ。

● 僕はこの仕事が

第1に,人間の社会の次の時代をつくる仕事だと思って胸を張ってる。
第2に,これぐらいしかできまいと高をくくってる。
第3に,マニュアルに書いてる毎年くりかえす仕事にあこがれている。

● まあ

それはいい。
最近思うこと。

● ぼくは

何かを成し遂げることを恐怖するのか,面倒くさいと心底思うのか

● やり遂げない

傾向がある。偏向がする。
 ・大学受験。プログラムが好きで,曲を作っているうちに締め切り。現在の学歴となる。
 ・再受験。僕には音楽と文筆の才能があるんですぅ。→総落ち。でも僕には音楽と・・
 ・前の会社。出世競争が今後出てきそう。転職しますぅ。
 ・今の会社。同期がとうとう全員,僕より職位が上になる。あーあ。で?

● 僕には

作曲の才能があるんですよ。だから出世できなくても,これが言い訳になるんじゃないか。
あーもーどーでもいいよ。

● そんな中

なるほど。
今生では今生で学ぶことがあって,生まれてきている。

ワイス博士は,どこまでも科学者なのかも知れない。しかしその時間軸の原点の向こうに

● 数学で言う負の領域

前世というのが,普通に続いているという前提の記述が心地よい。
僕が

● 今生で

学ぶべきは何だったのか。
とりあえず,魂がいつまでも死なないという話があったとして,

現世が,何らかのレクチャーの意味があり,生まれる前の自分が望み,選んできた生であると思うのなら

● 非常に

考えるべき所多い。
そりゃ1回の人生が短いわけだ。そんな何百年もあっても仕方ないし。

「いい人から死んじゃうんだ」(『大往生』永六輔さん)

もあるわなあと。
今生でクリアすべき業が残れば,また次の生でも同じ課題を背負って生まれてくるって。

flex&bisonの勉強

をしてる。

IMG_9153

これ。
今わかった所までの覚え書き。

● 近況

 youtubeへは下記をアップロード。

 ゲームのメインループをクラスに切り出してみたという話。

● で、いよいよ次は

 スクリプトの解析をする処理。アドベンチャーゲームだから。
 シナリオを書いたテキストファイルを読み込んで、ゲームを動かしてみたい。

 で現状下記がボツに。

  1. logo.gif lua :スクリプト言語。いろいろ目処立たず。
  2. kirikiri_inside_small吉里吉里:windows版のよう。なのと、すごい存在感。手を出すとここまで撮った動画が無為になるため見て見ぬふり。

 というわけで自分でつくることにした。

● スクリプトファイルを

 単語単位に分けるのがflex

fade 0           画面の輝度を0に
load "awesome.jpg"    背景画像をロード
fade 0 to 100 in 500   画面の輝度を0から100%まで500ミリ秒で

wait            ユーザ入力を待つ

 こういうのを。

fade
0
load
awesome.jpg
fade
0
to
100
in
500
wait

 こういう風に直してくれるのがflex
 ありがとうflex

● これやるためのflexコードが

 こんな感じ。

%{
#include "myparser.tab.h"
%}

%%

<INITIAL>"fade"		{ return FADE; }
<INITIAL>"load"		{ return LOAD; }
<INITIAL>"to"			{ return TO; }
<INITIAL>"in"			{ return IN; }
<INITIAL>"wait"		{ return WAIT; }
<INITIAL>[0-9]+		{ yylval.integer_value = atoi(yytext); return INT_VALUE; }
<INITIAL>[ \t]		{ }
<INITIAL>"\""			{ yylval.string_literal[0] = '\0'; BEGIN _LITERAL; }
<_LITERAL>"\""		{ BEGIN INITIAL; return STR_LITERAL; }
<_LITERAL>.			{ strcat(yylval.string_literal, yytext); }

%%

 flexにお願いするとこれを元に、C言語のコードを生成してくれる。
 そのC言語のコードの冒頭あたりに

#include "myparser.tab.h"

 が挿入される。

 また、

<INITIAL>"fade"		{ return FADE; }

 と書いておくと、
 入力されたファイルの中に「fade」という単語が見つかったら、「return FADE;」を実行するようなC言語のコードが生成される感じだ。

 このときFADEは記号定数だが、宣言部分を生成してくれるのはbison

● bisonの方のコードが

 これで

%{
#include "stdio.h"
extern int yylex();
extern int yyerror(char *);
%}

%union {
	int integer_value;
	char string_literal[2048];
}

%token FADE LOAD TO IN WAIT
%token <integer_value> INT_VALUE
%token <string_literal> STR_LITERAL

%%

program			: /* empty or.. */
				| program command
				;

command			: FADE INT_VALUE { printf("fade to %d\n", $2); }
				| LOAD STR_LITERAL { printf("load the file named: '%s'\n", $2); }
				| FADE INT_VALUE TO INT_VALUE IN INT_VALUE { printf("fade from %d to %d in %d milli second\n", $2, $4, $6); }
				| WAIT { printf("ordered to wait.\n"); }
				;

 これの

%token FADE LOAD TO IN WAIT

 ここで指定したやつが”myparser.tab.h”に

#define FADE 258
#define LOAD 259
#define TO 260
#define IN 261
#define WAIT 262
 :

 みたく展開される。これをさっきflexのほうで

#include "myparser.tab.h"

 として読み込んでいる。
 だからflexが読み込むファイルの中に

<INITIAL>"fade"		{ return FADE; }

 とあっても、FADEがdefineされているので通る。

● あとは

mylange.c

#include <stdio.h>
#include "myparser.tab.h"

int yyerror(char *s) {
	printf("yyerror(): %s", s);
	return -1;
}

int yywrap(void) {
	return 1;
}

extern int yyparse(void);

int main() {
	yyparse();
	return 0;
}

 これでmain()からyyparse()を呼び出す。
 yyparse()が、bisonが生成したコード(構文解析器)の処理呼び出しになっている。
 yyparse()の中では、flexが生成したコード(字句解析器)の処理(単語単位で取り出す処理)を使うという寸法。

 yyerror()とyywrap()はこんな感じで定義しておくらしい(いい加減)。

● 実行結果

 こんな感じ。

$ ./mylang < sample.txt
fade to 0
load the file named: 'awesome.jpg'
fade from 0 to 100 in 500 milli second
ordered to wait.
$

 なんか元のスクリプトと同じような出力にしてしまった・・。
 けど正真正銘、字句解析器→構文解析器を通した結果出力。

● はじめ

 特に理解がいかなかったのがflex生成コードと、
 bisonが生成したコードの結びつき具合。

● 現在は

 flexとbisonが出してくれたCコードを、
 ゲームメインのC++から呼び出すときの齟齬が出ないか恐る恐るリンク中。

父の日208*9

 という訳で

IMG_8864

 父の日だ2017。
 いろいろ秘密だ。

 僕の,実の父との話は,本当に

● 秘密だ

 という

● わけで

 数日前から

● あった

 らしい。置き手紙を6月17日の朝,とうとう見つける。
 仕事では,新たに,色々なクレームを抱える。

IMG_8851

● なんねなんね

 これの裏は,

IMG_8852

 こうなってる。
 「おくれないでね」?

● ?

 だと?
 というわけもあり,本日6月18日午前0時数分,

● 開けてみたよマイサン

 すると

IMG_8855

 ようするにチャレンジだ。ベネッセだ!!
 親の感動するツボを心得ているだ!

● そんな

 出来すぎた状況に涙なんか

● する

● もんか

 というわけで,

● 20歳にして始めて

 近所の飲み屋で平日の7時台に,スズメの丸焼きが出てきて

● 部活へ向かう南西中の

 僕らのはるか下の後輩のジャージ姿を
 頭頂に,竹串の穴が空いた

● スズメを

 タレで食いながら眺めてた22歳ぐらいの僕が言う。

● 違和感しか

 ないっすよ。これ。
 うまいけどね。

 スズメの丸焼きは。タレでも塩でも。

● ああ

 というわけで

  1. サントリー ウーロンハイ350×2
  2. 白角水割り×2
  3. タカラ缶酎ハイ×1

 を飲みきり,家でボールペンを持ってA4に書くには。

IMG_8861

 というわけだ。

● 全文,という名の生きたログ

___くん お母さん __ちゃん

 父の日のプレゼントありがとう。
 ほんとうにありがとう。

 お父さんはみんなに
 会えて ほんとうに
 良かったと 思っています。

 たった一回の人の人生で
 みんなに 会うことが できて。

 みんなを 生んでくれた お母さん。
 生まれてきてくれたみんな みんな 大好きですよ。

 ありがとう。

 この家と この家の窓から見える 青空が好きで
 しばし 泡沫と見ずに 楽しくいきていこうね

 さーーーーーー肉,喰うぞーー!ウホー!

● ここまで

 色々あったからこそ
 深く,深まる感謝があるんだろう。

自分でもう一度読もうと思うタイトル

本当は、自分の生きてきたことをテキストエディタでどこかで書かねばなあ。

IMG_8423moz

と思いながら、昔の書き込みを見てたら。

あ、ちなみに写真は気持ち悪い。
ある日、仕事から帰ると、左足になぜかハンコ(2色)が押されてたという写真。なんだこれ。

そういえば2日前ほどに、とうとうUFOを見た(気がした)。
すると息子が言う。

僕は7歳になって2回見たんだ、UFO。

  1. 西行のうた 2014年4月7日, 15時52分
    2014年の話。
    相武台前の駅前で仕事をしてた頃。
    相陽中の桜だろう。
    綺麗に散っていた。その時、入学を祝った生徒はもう
    高校を卒業しようとしている。

    いろいろなことがあった。
    その2年後の2月、大きなクレームを母親から頂いて、
    すげー投げやりなため息とともに、当時4,5歳の息子と、雪そぼ降る中、箱根の温泉につかったのはまだ記憶に鮮明に残る。

    いや。

    西行のうたである。
    この花は、一体、何十垓人の心と生と死を彩ってきたのだろう。

    wikipediaで「辞世」を調べるとこの花を詠んだ句は無数にある。

    友を得て なほぞうれしき 桜花 昨日にかはる 今日のいろ香は  毛利元就

    ちりぬべき 時知りてこそ 世の中の 花も花なれ 人も人なれ    細川ガラシャ

    限りあれば 吹かねど花は 散るものを 心短き 春の山風    蒲生氏郷

    散るをいとふ 世にも人にも さきがけて 散るこそ花と 吹く小夜嵐  三島由紀夫

  2. ダルマ掃除 2005年12月31日, 01時53分

    今、7歳の息子と2歳の娘が家にいる。
    41歳の僕と、41歳のお嫁もだ。

    息子に<<今も>>必ず僕はこういうことにしている。

    極めてシンクロニシティな私的なこと 2013年8月17日, 00時01分
    の中で書いた。

    言うのは下記点である。

    (1)◎◎くん、大好きだよ
    (2)お父さんとお母さんの子供に生まれてきてくれてありがとう
    (3)お父さんも、お母さんも、本当に嬉しかったんだよ

    今では息子は7歳で、
    足は長いし、身体はでかいし、寝返りは信じられないほど信じられない方向にうつし

    しかし、(1)を言うと「うんうん、わかってるって」というふうに、寝顔で笑顔で、小さく頷いてくれるんだ。

    そうそう娘には最近ことあるごとに「かわいいねー」と言い続ける。
    やがて頷き始める娘。

    お嫁曰く、だんなさんはおじいちゃんに会えて本当によかったね。

    僕に底の知れない人の優しさと、いわゆる「人の良さ」の存在をこの世に高らかに
    赤らんだ頬と鼻と、
    青空の向こうに巨大な雲のあること、
    足元に黒いオタマジャクシの気味の悪い世界があること、
    人はこんなに人にやさしく、ひとの性や業を許し赦し生きることができるのだと
    おしりのポッケに片方をしまいこんだ白い手ぬぐいで汗を拭い拭い
    僕に示し続けてくれた、そしていまも示し続けてくれている
    底なしに優しく、短気で、そこそこ酒飲みで、ばあちゃんのイビキを買ったばかりのカセットテープレコーダーで録音してみたりした
    子供のような
    僕のだいすきなおじいちゃんの話だ。

  3. 夜歩く 2013年4月26日, 03時19分

    同名の本があるとかないとか。
    主にミスチルの『ランニングハイ』を想い。

    少し前(2004年ぐらい)に、前の会社のSさんという方の説法を聞くうちに、

    気が狂いそうになり、今で言うパワハラというやつで
    心療内科で、中学生以来の謎の白い錠剤をたくさんもらい、しかも中学生以来
    一度も「うつ病ですよ」と言われることなく、気がついたら、錠剤を飲み忘れるようになっていた頃。

    戸塚から1号線を、原宿方面へ車を走らせると、曲がりにくい右折を通り越した先にそのクリニックはある。

    行き帰りに、よせばいいのに、大音量で聞いてたのがこの曲だ。
    ランニングハイ

    亡霊が出るというお屋敷を
    キャタピラが踏みつぶして
    来春ごろにマンションに変わると代理人が告げる
    また僕を育ててくれた景色が呆気なく金になった
    少しだけ感傷に浸った後「まぁ それもそうだなぁ」

    たまらなかった。
    今でも、この曲を聞くと、当時の情景が浮かぶ。

  4. ばあちゃん他界

    僕の嫌いだったばあちゃんがなくなった。
    家のことは、おって書こう。

    テキストエディタで書こうとしたが止まった。

    直接wwwにつながるこのエディタ(ブラウザ上)で書き綴るのが向いている話。

    とにかくばあちゃんが亡くなる。

    お嫁への感謝、父親が意外と泣いてた話、母はよくあんだけ献身的になれたもんだ、
    ばあちゃんの甥にあたる、僕の叔父が

    普段の冷静沈着な印象に反し、ここまで僕の祖母を想ってくださっていたんだという
    気持ちを書いている。

xcodeでsdlのヘッダに出てくる謎のワーニングを回避するメモ

 というわけで、今までつくりためたsdl関係のC++クラスを使って、

wwwthumbnail.php

 アクションゲームを作りたくなってきている。(画面は2008年に作りかけてたときのやつ)
 んだが。

● ふと気づくと

 sdl2.0のヘッダファイルをインクルードすると

● ワーニングが

スクリーンショット 2017-06-02 13.49.17

 表示されるようになってた。
 息子が横で見てて、

ー何それー?ねえ、全部消してね、全部ちゃんと消して〜

 と言う。
 んん。まあ、動くからいいじゃん、とも思いつつ気になるので調べてみた。

● どうも

 よく見ると

スクリーンショット 2017-06-02 13.49.28

 「Documentation Issue」とのことで、なんでも

– ‘\return’ command used in a comment that is attached to a function returning void

 だそう。意訳すると

ー戻り値の型がvoidの関数に付随するコメント内で、戻り値があるかのようにreturnコマンドについて書かてるからおかしいよ。

● 見ると

 SDL_assert.hとか、ヘッダファイル内を指してるぽい。

 で、見てみると

スクリーンショット 2017-06-02 13.50.16

 コメントがワーニング・・だと。

● んなアホなと。

● 思いつつ

 どうも

● コメント内に関数とかそういうのの

 仕様を記述しておくものらしい。

 ツールを通して、自動で仕様書?みたいな「ドキュメント」を作るような支援機能用なのか、
 後からそこを追いかけて、IDEのエディタがカーソル付近に情報を表示してくれるのか。

● これは

 絶対、オフにするオプションがあるハズ、と思ってネットを当たってみたが
 日本語のページを探し当てられず、
 出てくるのは

ー Hi im having a big trouble in ほにゃらかほにゃらか

 みたいな英文ばかり。

 なので、メモしとく。

● 下記

スクリーンショット 2017-06-02 13.50.40

 だ。
 これをNoに設定すればワーニングは消える。

 じゃ次は、いま上げてるyoutubeのプログラム動画の次のテーマを
 アクションゲームづくりにできそうかどうか実験してみる。