main.go 556 B

123456789101112131415161718192021222324252627282930313233343536
  1. package main
  2. import (
  3. "fmt"
  4. "os"
  5. "github.com/docker/docker/builder/dockerfile/parser"
  6. )
  7. func main() {
  8. var f *os.File
  9. var err error
  10. if len(os.Args) < 2 {
  11. fmt.Println("please supply filename(s)")
  12. os.Exit(1)
  13. }
  14. for _, fn := range os.Args[1:] {
  15. f, err = os.Open(fn)
  16. if err != nil {
  17. panic(err)
  18. }
  19. defer f.Close()
  20. d := parser.Directive{LookingForDirectives: true}
  21. parser.SetEscapeToken(parser.DefaultEscapeToken, &d)
  22. ast, err := parser.Parse(f, &d)
  23. if err != nil {
  24. panic(err)
  25. } else {
  26. fmt.Println(ast.Dump())
  27. }
  28. }
  29. }