Steve Jobs
I won't forget how you inspired my life. My first computer was LC630. During in collage, I encountered your speech. I still can't beleive you have passed.
RIP, Steve.
コンパイラの基本構成
文字列をある法則に基づいて区切る処理を行いたい。
その法則とは、
- 文字列はカンマによって区切られる
- 「”(ダブルクォーテーション)」によって区切られている文字列にあるカンマは、文字列を区切る対象として除外する。
はじめ、Rubyでこのような文字列を扱いたいのだが、二つ目の法則がやっかいだ。
CSVファイルを扱うようなクラスはあるが、ダブルクォーテーションがある文字列を扱えない。そんななか、ふとコンパイラの字句解析の処理が使えないかと思いついた。
ぐぐってみると、コンパイラは下記から構成されていることが分かった。
- 字句解析
- 構文解析
- 意味解析
- コード最適化
- コード生成
詳細はこれから勉強していくことにする。
ちょっと参考になるようなサイト。
http://www.atmarkit.co.jp/fjava/rensai4/compiler01/compiler01_02.html
Ruby Using array as STACK
Ruby's array could be used for stack.