scanner package
Goには良く使用するであろうbufio Scannerとは別に、構文解析を行うためのscannerパッケージに属するScanner型が存在する
Package scanner implements a scanner for Go source text. It takes a []byte as source which can then be tokenized through repeated calls to the Scan method.
scannerパッケージはGoのソースコードのscannerを実装しています。このパッケージはbyte配列をソースコードとみなし、Scanメソッドを繰り返し呼び出すことで、トークナイズします。
公式ドキュメントのScanメソッドのコード例を実行してみるとscannerパッケージの役割がよくわかる。 scanner - The Go Programming Language
src := []byte("cos(x) + 1i*sin(x) // Euler")
1:1 IDENT "cos" 1:4 ( "" 1:5 IDENT "x" 1:6 ) "" 1:8 + "" 1:10 IMAG "1i" 1:12 * "" 1:13 IDENT "sin" 1:16 ( "" 1:17 IDENT "x" 1:18 ) "" 1:20 ; "\n" 1:20 COMMENT "// Euler"
scannerを使用して構文解析をしている例 d.hatena.ne.jp