package main import ( "fmt" "log" "os" "sfdl/parser" "sfdl/scanner" "sfdl/semantices" ) func main() { if len(os.Args) < 2 { fmt.Println("usage: sfdl ") return } filename := os.Args[1] sc, err := scanner.NewScannerFromFile(filename) if err != nil { log.Fatalf("open file failed: %v", err) } // 初始化语义状态 & 画布 parser.ResetState() semantices.InitCanvas() p := parser.NewParser(sc) p.Parse() // 保存图片 outFile := "out.png" if err := semantices.SavePNG(outFile); err != nil { log.Fatalf("save png failed: %v", err) } fmt.Println("Done. output:", outFile) }