• ベストアンサー

プログラミングの字句解析についてです。

プログラミングの字句解析についてです。 プログラミングにおいて「字句解析」がわかるとどんないいことがあるのでしょうか? また、お勧めの参考書やサイト、勉強法などを教えていただきたいです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#125129
noname#125129
回答No.1

こんにちは。大学で構文解析をちょっとがじったことのあるエンジニアです。 字句解析だけだといいことはそんなにないと思います(笑 もうすこし広範囲の、構文解析だといいことあったりします。 ソースコードって結局テキストデータなので扱いにくいですが、 構文解析して木構造のデータにしちゃうと、いろいろできます。 ソースコードの解析ができるということなので、 ソースコードの自動生成ができたり、コードの品質を測ったりできますよね。 おすすめの書籍は、「ふつうのコンパイラをつくろう」です。 字句解析、構文解析、意味解析のあたりがとても分かりやすく書いてあります。 ニッチな分野なので、あんまり本はたくさんないのが現状でしょう。 もっと詳しく知りたい場合は、論文でも探してみてはいかがですか。 海外も含めたらなんかあるかも。

参考URL:
http://amzn.to/aSYqXs

その他の回答 (2)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.3

以前に自己流(excel VBA)で簡単な構文解析プログラムを作って、ソースコードから変数等を抜き出してソースの解析に使うプログラムを作りました。 解析ができればコンパイラを作る事も可能ですし、読み込んだ文字列を利用して色々な制御も行えます。

回答No.2

字句解析がわかるとテキストファイルの解析ができます。テキストファイルの解析ができるというのは、自分で任意のテキストファイルフォーマットをつくれるということです。例えば、CSV形式や簡単な設定ファイルなんかは字句解析ができるとすぐに解析出来ますし、自分で同じようなものを作ることもできます。 入れ子構造のフォーマットを作るにはこれに加えて構文解析もできないといけませんが、その場合でも字句解析が出来ていることが基本になります。 いまどきほとんどの言語に字句解析、構文解析のためのライブラリくらいあると思いますので自分で手書きする必要はないと思いますが、良いプログラマは自分が使うライブラリがどのように作られているかは把握しているものです。 字句解析、構文解析を学ぶ参考書には次のようなコンパイラの教科書がよいでしょう。 「コンパイラの構成と最適化」 「プログラミング言語処理系」