Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #1637 > unrolled thread
| Started by | Vladimir Makarov <vmakarov@redhat.com> |
|---|---|
| First post | 2015-10-13 14:54 -0400 |
| Last post | 2015-10-13 14:54 -0400 |
| Articles | 1 — 1 participant |
Back to article view | Back to comp.compilers
Yet Another Earley's Parser (YAEP) Vladimir Makarov <vmakarov@redhat.com> - 2015-10-13 14:54 -0400
| From | Vladimir Makarov <vmakarov@redhat.com> |
|---|---|
| Date | 2015-10-13 14:54 -0400 |
| Subject | Yet 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
Back to top | Article view | comp.compilers
csiph-web