php-parser/main.go
2018-01-10 00:03:53 +02:00

43 lines
739 B
Go

package main
import (
"flag"
"fmt"
"log"
"os"
"path/filepath"
"github.com/yookoala/realpath"
"github.com/z7zmey/php-parser/parser"
)
func main() {
flag.Parse()
for _, path := range flag.Args() {
real, err := realpath.Realpath(path)
checkErr(err)
err = filepath.Walk(real, func(path string, f os.FileInfo, err error) error {
if !f.IsDir() && filepath.Ext(path) == ".php" {
fmt.Printf("==> %s\n", path)
src, _ := os.Open(string(path))
parser.Parse(src, path)
nodes, comments, positions := parser.Parse(src, path)
visitor := dumper{" | ", comments, positions}
nodes.Walk(visitor)
}
return nil
})
checkErr(err)
}
}
func checkErr(err error) {
if err != nil {
log.Fatal(err)
}
}