sanemat / ruby-parser-book

2 stars 0 forks source link

ruby-parse, ruby-rewrite, unparser #5

Open sanemat opened 9 years ago

sanemat commented 9 years ago

だいたいこれらは

ruby-parse Gemfile
ruby-parse -e "contents"

とやるひつようがあって、

cat Gemfile | ruby-parse -

と出来てほしい!とunix哲学厨としては思うわけです。

で、parser-cli_wrapperを作って、

cat Gemfile| ruby-parse-wrapped -

出来るようにした。

unparserもそういう風にやろうとしたが、ここで、そういう仕組みじゃないことがようやく分かった。

sanemat commented 9 years ago

parserはstringとして出力するが、unparserコマンドはastを受け取ることは想定しておらず、

unparser Gemfile
unparser -e "contents"

を想定している。そもそも、文字列として渡ってきたASTっぽいものをASTに組み立て直すAPIがunparserにないっぽい。(要出典) astはrubyのastオブジェクトである必要がありそう。ここはjsonで渡せるjavascriptとはちょっと異なっていることに、しばらくしてから気づいた。

ASTっぽい文字列 -> ruby AST にするapiをあとで作る。