package main //go:generate -command yacc go tool yacc //go:generate yacc -o parser.go parser.y import ( "bufio" "flag" "io" "os" ) const prefix = " " // six spaces func init() { flag.IntVar(&yyDebug, "debug", 1, "debug level") flag.Parse() } func main() { in := bufio.NewReader(os.Stdin) for { os.Stdout.WriteString(prefix) line, err := in.ReadString('\n') if err == io.EOF { return } yyParse(lex(line)) } }