Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #1637
| From | Vladimir Makarov <vmakarov@redhat.com> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Yet Another Earley's Parser (YAEP) |
| Date | 2015-10-13 14:54 -0400 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <15-10-010@comp.compilers> (permalink) |
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 comp.compilers | Previous | Next | Find similar | Unroll thread
Yet Another Earley's Parser (YAEP) Vladimir Makarov <vmakarov@redhat.com> - 2015-10-13 14:54 -0400
csiph-web