github.com/elek/golangci-lint@v1.42.2-0.20211208090441-c05b7fcb3a9a/scripts/print_ast/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "go/ast" 6 "go/parser" 7 "go/token" 8 "log" 9 ) 10 11 func main() { 12 var filename string 13 flag.StringVar(&filename, "f", "", "input file") 14 flag.Parse() 15 16 fset := token.NewFileSet() 17 f, err := parser.ParseFile(fset, filename, nil, parser.ParseComments) 18 if err != nil { 19 log.Fatalf("Failed to parse file %s: %s", filename, err) 20 } 21 ast.Print(fset, f) 22 }