[erlang-questions] [ANN] Neotoma 1.7.0

Sean Cribbs seancribbs@REDACTED
Mon Jan 6 20:25:20 CET 2014


David,

Roughly, yes. I usually recommend Neotoma for smallish grammars, where
regexps are insufficient but a full tokenizer/parser is overkill. I haven't
spent loads of time optimizing it for memory usage and complexity, so
deeply recursive grammars or ones with lots of rules tend to be slower than
yecc. On the other hand, Neotoma generates parsers which are comparatively
readable and, where possible, will use binary-sharing on the input. There's
more about Neotoma usage on the wiki[1].

Neotoma is currently in use in myproto[2], cuttlefish[3], and rivus[4], to
name a few.

[1] https://github.com/seancribbs/neotoma/wiki
[2] https://github.com/altenwald/myproto
[3] https://github.com/basho/cuttlefish
[4] https://github.com/vascokk/rivus_cep



On Mon, Jan 6, 2014 at 1:15 PM, David Mercer <dmercer@REDACTED> wrote:

> This is as an alternative to *yecc,* yes?  *Yecc* if you want to specify
> your grammar in BNF, *neotoma* for PEG?  Any advantages of one over the
> other?
>
>
>
> Cheers,
>
>
>
> DBM
>
>
>
> *From:* erlang-questions-bounces@REDACTED [mailto:
> erlang-questions-bounces@REDACTED] *On Behalf Of *Sean Cribbs
> *Sent:* Monday, January 06, 2014 11:22
> *To:* Erlang Questions
> *Subject:* Re: [erlang-questions] [ANN] Neotoma 1.7.0
>
>
>
> Woops, GMail sent my message before I was ready. Here's the link for [1]
> https://github.com/seancribbs/neotoma/tree/1.7.0#neotoma
>
>
>
> Cheers,
>
>
>
> Sean Cribbs
>
>
>
> On Mon, Jan 6, 2014 at 11:21 AM, Sean Cribbs <seancribbs@REDACTED> wrote:
>
> Hi Erlangers,
>
>
>
> I'm happy to announce a long-awaited version bump to Neotoma[1].
>
>
>
> The main feature of this release is the removal of several dialyzer type
> warnings in generated parsers: namely, unused parser-combinators are elided
> via macros.  Thanks to Kostis Sagonas and Anthony Ramine for help in
> diagnosing these errors.
>
>
>
> Breaking Changes:
>
>
>
> If your parser uses the included line/1 or column/1 functions, you will
> need to define the 'line' or 'column' macros, respectively, at compile time
> or in your global code block.  Future releases might inspect inline code
> blocks for usage of these functions and include them for you, but that is
> not present in this release.
>
>
>
> The 'neotoma_peg' module has been moved to the test/ directory as it was
> only used for testing the combinators. I'm sorry if anyone was using this
> module outside Neotoma.
>
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140106/b4dd70d8/attachment.htm>


More information about the erlang-questions mailing list