caperを使って簡単に簡易的な電卓を作る

この記事はAizu Advent Calendar 2016の15日目の記事です。

はじめに

艦これイベントとテストとHaskellにどっぷりハマって内容薄いです(本当にすいません)。

数日前、構文解析に使うパーサジェネレータを探していたらcaperを見つけました。

構文解析?パーサジェネレータ?なにそれ?みたいな方はこちらへ
構文解析 - Wikipedia

caperとは

caperとはモダンでクリーンなC++コードを出力するパーサジェネレータで、C++以外にもJavaScript/C#/D/Java/Boo/Ruby/PHP/Haxeにも対応しているみたいです。
こんな感じで定義できます。

非終端記号名<非終端記号の型> : [セマンティックアクション名] 項 項
                             | [セマンティックアクション名] 項(0) 項(1)
                             | [セマンティックアクション名] 項(0) 項 項(1)
                             ;

(0)とか(1)とか付けるとセマティックアクションに引数として渡すことができます。

詳しくはこちら。

caper -- LALR(1) パーサジェネレータ

パーサジェネレータ"caper"の紹介 - Qiita

続きを読む

言語実装したいなって話

唐突にプログラミング言語を作りたくなったので勉強してます。

まだ勉強中ですが、正規表現を用いた字句解析とcaperでparser作って文法規則を作って構文解析しようかなと。caperがC#にも対応してるみたいなのでC#C++どっちで実装しようか悩んでます。正直GCほしい。

ニコニコ学会β・実行委員長 江渡浩一郎さんの話を聞いて

長いタイトル申し訳ありません。

先日、自分の大学にニコニコ学会βの実行委員長である江渡さんのお話しを聞くことができました。内容としては「江渡さんがどういう人生を過ごしたのか?」や「ニコニコ学会βとはどういうものか」・「共創プラットフォーム」などについてです。

続きを読む

青軸キーボード購入

こんにちは。スルメです。

自分はG-tuneのノートPCを普段使っていてキーボードを気にしたことは特にないのですが、先日友人と自作PCを作ったのでキーボードが必須となり購入いたしました。

友人は青軸を使っていて、よく遊びに行っていたときに叩いていたのですが、その時の青軸が奏でる音に惚れました。その結果、もし買うときは青か黒を買おうと心に決めていました。

購入したのはこちらです。

f:id:slme9364:20160102120215j:plain

続きを読む

ブログ始めました

新年あけましておめでとうございます。

ちょうど新年ということで前からやってみたかった事を積極的にやろうと思いまして開設致しました。

このブログに自分が学んだことを進捗報告的な感じで上げていけたらなぁと思います。(あとは共有したいことなど)

実際ブログは初めてみたいなもんで他の人のもそこまで見たことがないので恐らく雑になってしまいますがご了承ください。

三日坊主と自覚してるので、長く継続する自信はありません(震え声)

よろしくお願いしますー