Yet Another Earley's Parser (YAEP)

Vladimir Makarov <vmakarov@redhat.com>
Tue, 13 Oct 2015 14:54:36 -0400

          From comp.compilers

Related articles
Yet Another Earley's Parser (YAEP) vmakarov@redhat.com (Vladimir Makarov) (2015-10-13)
| List of all articles for this month |

From: Vladimir Makarov <vmakarov@redhat.com>
Newsgroups: comp.compilers
Date: Tue, 13 Oct 2015 14:54:36 -0400
Organization: Aioe.org NNTP Server
Keywords: parse, tools
Posted-Date: 14 Oct 2015 07:36:19 EDT

A standalone C/C++ library implementing Earley's Parser
called YAEP is available now on


      https://github.com/vnmakarov/yaep


      Major features of this implementation:


      o It makes a simple syntax directed translation.
      o It can make error recovery with minimal number
          of skipped tokens.
      o It can parse an input described by ambiguous
          grammar producing one or all abstract
          trees in a compact form (DAG).
      o It can produce minimal cost abstract trees
          of an input described by ambiguous grammar.
      o It has two interfaces to describe a grammar
          through function calls or through providing
          YACC-like description.
      o It is pretty fast. It can parse 300K lines
          of C code per second. Still it is 2.5-6 times
          slower than YACC (1.6 - 3 times with taking
          scanner into account).


YAEP is actually a further development of Earley's parser in COCOM
tool set originally written in 2002. The original version has been
sped up to 2 times by implementing new optimizations. Some
optimizations are described briefly on


      https://github.com/vnmakarov/yaep/blob/master/README.md



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.