main.go 538 B

1234567891011121314151617181920212223242526272829303132333435
  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. d := parser.Directive{LookingForDirectives: true}
  20. parser.SetEscapeToken(parser.DefaultEscapeToken, &d)
  21. ast, err := parser.Parse(f, &d)
  22. if err != nil {
  23. panic(err)
  24. } else {
  25. fmt.Println(ast.Dump())
  26. }
  27. }
  28. }