The Marpa parser was intended to make the best results in the academic literature on Earley's algorithm available as a practical general parser. Earley-based parsers have had issues handling nullable symbols. Initially, we dealt with nullable symbols by following the approach in Aycock and Horspool's 2002 paper. This paper reports our experience with the approach in that paper, and the approach to handling nullables that we settled on in reaction to that experience.
翻译:Marpa解析器的设计初衷是将学术界关于Earley算法的最佳研究成果转化为实用的通用解析器。基于Earley的解析器在处理可空符号时存在一些问题。最初,我们参照Aycock与Horspool于2002年发表的论文中的方法处理可空符号。本文报告了我们在应用该方法过程中的实践经验,以及基于这些经验最终确定的处理可空符号的解决方案。