Example #1
0
func PHPEval(p phpast.Node) goast.Expr {
	buf := &bytes.Buffer{}
	pr := printer.NewPrinter(buf)
	pr.PrintNode(p)
	return &goast.CallExpr{
		Fun: goast.NewIdent("PHPEval"),
		Args: []goast.Expr{
			&goast.BasicLit{Kind: token.STRING, Value: strconv.Quote(buf.String())},
		},
	}
}
Example #2
0
func main() {
	flag.Parse()
	for _, arg := range flag.Args() {

		fmt.Println(arg)
		fmt.Println()

		src, err := ioutil.ReadFile(arg)
		if err != nil {
			fmt.Println(err)
			continue
		}
		p := printer.NewPrinter(os.Stdout)
		file, err := parser.NewParser().Parse("test.php", string(src))
		if err != nil {
			log.Fatal(err)
		}
		for _, node := range file.Nodes {
			p.PrintNode(node)
		}
	}
}