btyacc is a public-domain backtracking implementation of yacc. It can be found at //www.siber.com/btyacc/.