A similar tool to yacc, but tentatively independent of programming languages