タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

raccに関するgan2のブックマーク (3)

  • Racc でおてがる構文解析

    Ruby/Rails 勉強会@関西第36回で発表したスライド。構文解析についてと、パーサージェネレーターRaccの基的な使い方についてRead less

    Racc でおてがる構文解析
    gan2
    gan2 2010/09/17
  • RaccによるC言語パーサ - imHo

    C言語のソースをパースしたいと思ってたときがあったな、と思い出した。RubyでRaccを使って、K&Rに載ってるBNFをわせてみたが、コンフリクトが発生する。 $ racc c.y 1 shift/reduce conflicts 2 reduce/reduce conflictsによれば「唯一ぶつかりがあるのは、if-elseのあいまいさである。」と書いてあるんだけど。「-v」オプションをつけて詳細を表示するとぶつかってるのは state 2 7) declaration : declaration_specifiers _ init_declarator_list_opt ";" 13) declaration_specifiers_opt : declaration_specifiers _ "*" shift, and go to state 36 "*" [reduce us

    RaccによるC言語パーサ - imHo
    gan2
    gan2 2010/09/17
  • racc

    Racc は Ruby で使えるパーサジェネレータです。これを使うと自分用のプログラム言語を Ruby で記述するのも夢ではありません。しかし、使い方がもう1つ分かりません。ところが、配布パッケージに添附してある calc.y を利用すると、なんとなく使い方のコツが分かるのに気づきました。Racc のダウンロードはここからできます。calc.y は配布パッケージの racc-1.4.5-all/packages/racc/sample/ の中にあります。 calc.y をコンパイルする 最初に calc.y から Racc が何を作ることができるかを見るために、calc.y を Racc でコンパイルしてみましょう。この場合ターゲットファイルの名前を calc.rb にしたいので -o オプションをつけてコンパイルします。 $ racc -o calc.rb calc.y 作成された ca

    gan2
    gan2 2010/05/24
    ruby で構文解析
  • 1