最近、プログラミング言語の構文解析とかがマイブームです。
私の場合、発想法は主に抽象化による同一視や、あるパラダイムをジャンルを跨いで適用できないか
と考えるという、オーソドックスな手法を使っています。
そして、この間の東京勉強会のライブを見ていて、電卓の状態遷移をプログラム言語の構文解析の手法で扱えないかな、と考えたのでした。
電卓をプログラムする際に状態遷移図を用いて状態の遷移を捉えようという趣旨のことが取り上げられています。
一連の操作の流れを構文として捉える
私が思い浮かべたのは、時系列をいったん置いておいたとして、電卓のボタンの押下順序を並べると、
ひとつのプログラミング言語的なものになるのではないか、という考えです。
たとえば1+1を計算する際のボタンの一連の操作は
[1] [+] [1] [=]
というものですが、これを解析して演算ロジックを生成するコンパイラ、あるいは、
これを解析して演算を行うインタープリタを想定します。
そうすることで、通常の演算のほかに、逆ポーランド記法といった記法へも切り替えることが出来る、
一段抽象的な作りの電卓が作れるのではないか…
応用
連続操作を解析して何かを行うという類のものには適用できるように思えます。たとえば
- 格闘ゲームなどのコマンド入力判定
- マウスジェスチャーの入力判定
といったもの。
とりあえず、今日は妄想だけ放出ということで。
投稿日時 : 2008年3月17日 22:19