しびら

技術ネタのメモとか。

go/parserを調べる

   

 

参考にしているのはこちらのページです。このブログ見るより以下のページを見た方がわかりやすいかも。

https://motemen.github.io/go-for-go-book/#はじめに

go/parserとは

goの標準パッケージで構文解析を行っている部分です。

a * -1をParseしてみます。以下の結果が得られました。

より詳細な結果を見るにはast.printを使います。

結果は以下。どうparseされたのかわかりやすいですね。

今回Parserは2項演算(a * -1)を与えたので2項演算するためのExprであるBinaryExprを返しています。処理によってExprはいくつかあるようです。

ファイル全体の解析

ファイル全体の解析を行うにはparser.ParseFileを使えば良いようです。

結果は以下

構文木の探索

 

 

コメント文の解析

ParseFileの第4引数にparser.ParseCommentsを入れると解析できるようです。

 

 

 

 

 - golang ,