Subject: Re: [PATCH] gnu: Add peg.

From: Jakub Kądziołka <[email-masked]>
Date: Sat, 15 Feb 2020 12:07:44 +0100

On Mon, Jan 06, 2020 at 11:30:43AM +0000, Josh Holland wrote:
> * gnu/packages/parser.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
> ---
>  gnu/local.mk            |  2 ++
>  gnu/packages/parser.scm | 55 +++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 57 insertions(+)
>  create mode 100644 gnu/packages/parser.scm

Hi Josh,
it seems that PEG doesn't build fully from source, src/peg.peg-c is a
pre-generated file that's pretty much not human-readable. While
bootstrapping fully from source is not a hard requirement, sidestepping
it is usually reserved to highly-desirable packages. Could you take a
look at the possibility of generating src/peg.peg-c during build?

Meanwhile, I have fixed up the description a bit (texinfo markup,
grammar):

    (description "@command{peg} and @command{leg} are tools for generating
recursive-descent parsers: programs that perform pattern matching on text.
They process a Parsing Expression Grammar (PEG) to produce a program that
recognises legal sentences of that grammar.  @command{peg} processes PEGs
written using the original syntax described by Ford; @command{leg} processes
PEGs written using slightly different syntax and conventions that are intended
to make it an attractive replacement for parsers built with @command{lex}
and @command{yacc}.  Unlike @command{lex} and @command{yacc}, @command{peg}
and @command{leg} support unlimited backtracking, provide ordered choice
as a means for disambiguation, and can combine scanning (lexical analysis) and
parsing (syntactic analysis) into a single activity.")

Regards,
Jakub Kądziołka