new spec, looks a lot more readable

much closer to yacc/bison compatible too