From 2b7ea844ab7d2239afce687e6f6d9073d98be090 Mon Sep 17 00:00:00 2001 From: Denis Isaev Date: Sun, 20 Jan 2019 21:36:05 +0300 Subject: [PATCH] dev: add script for printing AST of file --- scripts/print_ast/main.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 scripts/print_ast/main.go 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) +}