func main() { if len(os.Args) > 2 { fmt.Fprintln(os.Stderr, "USAGE: pegparse FILE") os.Exit(1) } var in io.Reader nm := "stdin" if len(os.Args) == 2 { f, err := os.Open(os.Args[1]) if err != nil { fmt.Fprintln(os.Stderr, err) os.Exit(2) } defer f.Close() in = f nm = os.Args[1] } else { in = bufio.NewReader(os.Stdin) } p := bootstrap.NewParser() if _, err := p.Parse(nm, in); err != nil { log.Fatal(err) } }
func TestBuildParser(t *testing.T) { p := bootstrap.NewParser() g, err := p.Parse("", strings.NewReader(grammar)) if err != nil { t.Fatal(err) } if err := BuildParser(ioutil.Discard, g); err != nil { t.Fatal(err) } }