diff --git a/scripts/print_ast/main.go b/scripts/print_ast/main.go new file mode 100644 index 00000000..7f4f0213 --- /dev/null +++ b/scripts/print_ast/main.go @@ -0,0 +1,22 @@ +package main + +import ( + "flag" + "go/ast" + "go/parser" + "go/token" + "log" +) + +func main() { + var filename string + flag.StringVar(&filename, "f", "", "input file") + flag.Parse() + + fset := token.NewFileSet() + f, err := parser.ParseFile(fset, filename, nil, parser.ParseComments) + if err != nil { + log.Fatalf("Failed to parse file %s: %s", filename, err) + } + ast.Print(fset, f) +}