soukouki’s diary

なんとなく思ったこととかを書いてたりする。

raccをとりあえず動かした

とりあえずソースを

parse.rb.y

class Parser

rule
    EXP : int
        { p val[0].to_i }
end

---- inner
def parse tokens
    @q = tokens + [[false, '$']]
    do_parse
end

def next_token
    @q.shift
end

perser-test.rb

require_relative "./parser.tab.rb"

P = Parser.new
P.parse [[:int,"12"]]

参考にしたサイト

Racc の使い方
---- innerの後とかは書いてない。

platform-echo: Raccを使って言語処理系作ってた

Ruby: Racc - Qiita

Racc ユーザマニュアル
始めるときに知っていたら・・・

soukouki.hatenablog.jp

動作環境

racc version 1.4.14
ruby 2.3.0p0 (2015-12-25 revision 53290) [x64-mingw32]