Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #1637 > unrolled thread

Yet Another Earley's Parser (YAEP)

Started byVladimir Makarov <vmakarov@redhat.com>
First post2015-10-13 14:54 -0400
Last post2015-10-13 14:54 -0400
Articles 1 — 1 participant

Back to article view | Back to comp.compilers


Contents

  Yet Another Earley's Parser (YAEP) Vladimir Makarov <vmakarov@redhat.com> - 2015-10-13 14:54 -0400

#1637 — Yet Another Earley's Parser (YAEP)

FromVladimir Makarov <vmakarov@redhat.com>
Date2015-10-13 14:54 -0400
SubjectYet Another Earley's Parser (YAEP)
Message-ID<15-10-010@comp.compilers>
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

[toc] | [standalone]


Back to top | Article view | comp.compilers


csiph-web