Announce: grappa 1.0.0-beta.5

classic Classic list List threaded Threaded
5 messages Options
fge
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Announce: grappa 1.0.0-beta.5

fge
Hello,

Another version of grappa is out for your parboiled1 needs! Project home is always at the same location (https://github.com/parboiled1/grappa) and artifacts are available on Maven Central and Bintray.

It is still fully compatible with parboiled and 1.0.0 will be; changes (package names in particular) will happen starting with 1.1 (which will however still be compatible with Java 6; 2.0 will require Java 7).

In this version, not much with regards to new stuff, but a few bug fixes:

* CharSequenceInputBuffer didn't report the number of lines correctly... Oops
* JoinMatcher now analyzes each time whether the "joining matcher" returns empty (it shouldn't); unfortunately it is still necessary at this moment;
* more classes deprecated (with links to alternatives), but most of these were internal classes which you would normally not use directly;
* IndentDedentInputBuffer is now deprecated.

"Internally", a lot more has happened:

* nearly all the code is fully annotated with JSR 305 now;
* a lot (more than 80%) of tests rewritten from using string-based output tests to using assertions and JSON test files;
* a lot of replacement of old, obsolete classes with "post Java 5" solutions (Deque, for instance);
* generation: instruction group hashing (and names) now use SHA1 and Base32 instead of MD5 and (pseudo) Base64;
* a lot of @Documented annotations made their appearance into the code; they are telling the intents about what is to come;
* grappa now has the option to run mutation testing (voluntarily insert faults into production code, rerun test with faulty code) thanks to pitest: https://github.com/hcoles/pitest.

Also, grappa now has an IRC channel: #grappa on freenode (server: irc.freenode.net). A package is also being developed to provide support tools such as source code generation from parser bytecode and performance testing using Caliper: https://github.com/parboiled1/grappa-support.

There are now two dedicated Google groups: grappa-users and grappa-devel. And finally, I wish feedback on an idea I have for an easier to use "consuming API": https://github.com/parboiled1/grappa/wiki/%22Parser-consumer%22-API

Feedback, testing are of course more than welcome!

Happy parsing!
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Announce: grappa 1.0.0-beta.5

mathias
Administrator
Right on!
This sure looks great!

I’m glad you bring some momentum back into PEG parsing on the JVM!

Cheers and keep it up,
Mathias

---
[hidden email]
http://www.parboiled.org

On 11 May 2014, at 23:51, fge [via parboiled users] <[hidden email]> wrote:

> Hello,
>
> Another version of grappa is out for your parboiled1 needs! Project home is always at the same location (https://github.com/parboiled1/grappa) and artifacts are available on Maven Central and Bintray.
>
> It is still fully compatible with parboiled and 1.0.0 will be; changes (package names in particular) will happen starting with 1.1 (which will however still be compatible with Java 6; 2.0 will require Java 7).
>
> In this version, not much with regards to new stuff, but a few bug fixes:
>
> * CharSequenceInputBuffer didn't report the number of lines correctly... Oops
> * JoinMatcher now analyzes each time whether the "joining matcher" returns empty (it shouldn't); unfortunately it is still necessary at this moment;
> * more classes deprecated (with links to alternatives), but most of these were internal classes which you would normally not use directly;
> * IndentDedentInputBuffer is now deprecated.
>
> "Internally", a lot more has happened:
>
> * nearly all the code is fully annotated with JSR 305 now;
> * a lot (more than 80%) of tests rewritten from using string-based output tests to using assertions and JSON test files;
> * a lot of replacement of old, obsolete classes with "post Java 5" solutions (Deque, for instance);
> * generation: instruction group hashing (and names) now use SHA1 and Base32 instead of MD5 and (pseudo) Base64;
> * a lot of @Documented annotations made their appearance into the code; they are telling the intents about what is to come;
> * grappa now has the option to run mutation testing (voluntarily insert faults into production code, rerun test with faulty code) thanks to pitest: https://github.com/hcoles/pitest.
>
> Also, grappa now has an IRC channel: #grappa on freenode (server: irc.freenode.net). A package is also being developed to provide support tools such as source code generation from parser bytecode and performance testing using Caliper: https://github.com/parboiled1/grappa-support.
>
> There are now two dedicated Google groups: grappa-users and grappa-devel. And finally, I wish feedback on an idea I have for an easier to use "consuming API": https://github.com/parboiled1/grappa/wiki/%22Parser-consumer%22-API
>
> Feedback, testing are of course more than welcome!
>
> Happy parsing!
>
> If you reply to this email, your message will be added to the discussion below:
> http://users.parboiled.org/Announce-grappa-1-0-0-beta-5-tp4024321.html
> To start a new topic under parboiled users, email [hidden email]
> To unsubscribe from parboiled users, click here.
> NAML

fge
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Announce: grappa 1.0.0-beta.5

fge
Hello,

On Mon, May 12, 2014 at 9:42 AM, mathias [via parboiled users]
<[hidden email]> wrote:
> Right on!
> This sure looks great!
>

Thanks!

> I’m glad you bring some momentum back into PEG parsing on the JVM!
>

Well, you did in the first place. As a small request, can you point
out to good books/online resources about parsing theory? I want to
avoid blunders the day I try and make impacting changes...

> Cheers and keep it up,

Oh, I will! I have never had such an involving project to work on
since JSON Schema ;)

Regards,
--
Francis Galiegue, [hidden email], https://github.com/fge
JSON Schema in Java: http://json-schema-validator.herokuapp.com
Parsers in pure Java: https://github.com/parboiled1/grappa (redde
Caesaris: https://github.com/sirthias)
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Announce: grappa 1.0.0-beta.5

mathias
Administrator
> > I’m glad you bring some momentum back into PEG parsing on the JVM!
> >
>
> Well, you did in the first place. As a small request, can you point
> out to good books/online resources about parsing theory? I want to
> avoid blunders the day I try and make impacting changes…

Well, that is the nice thing about PEGs, they are quite easy to understand.
Apart from the wikipedia article (http://en.wikipedia.org/wiki/Parsing_expression_grammar) I’d recommend you
- join the (extremely low volume) PEG ML (https://lists.csail.mit.edu/pipermail/peg/)
- check out the original PEG paper from Bryan Ford (http://dl.acm.org/citation.cfm?id=964001.964011)
- look through this page: http://bford.info/packrat/

Also, it be cool if you manage to get parboiled onto the list of implementation on the latter. I tried several times a few years back but somehow never got through to Bryan.

Cheers,
Mathias

---
[hidden email]
http://www.parboiled.org

On 12 May 2014, at 11:17, fge [via parboiled users] <[hidden email]> wrote:

> Hello,
>
> On Mon, May 12, 2014 at 9:42 AM, mathias [via parboiled users]
> <[hidden email]> wrote:
> > Right on!
> > This sure looks great!
> >
>
> Thanks!
>
> > I’m glad you bring some momentum back into PEG parsing on the JVM!
> >
>
> Well, you did in the first place. As a small request, can you point
> out to good books/online resources about parsing theory? I want to
> avoid blunders the day I try and make impacting changes...
>
> > Cheers and keep it up,
>
> Oh, I will! I have never had such an involving project to work on
> since JSON Schema ;)
>
> Regards,
> --
> Francis Galiegue, [hidden email], https://github.com/fge
> JSON Schema in Java: http://json-schema-validator.herokuapp.com
> Parsers in pure Java: https://github.com/parboiled1/grappa (redde
> Caesaris: https://github.com/sirthias)
>
>
> If you reply to this email, your message will be added to the discussion below:
> http://users.parboiled.org/Announce-grappa-1-0-0-beta-5-tp4024321p4024323.html
> To start a new topic under parboiled users, email [hidden email]
> To unsubscribe from parboiled users, click here.
> NAML

fge
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Announce: grappa 1.0.0-beta.5

fge
Hello again,

[...]

>
> Well, that is the nice thing about PEGs, they are quite easy to understand.
> Apart from the wikipedia article
> (http://en.wikipedia.org/wiki/Parsing_expression_grammar) I’d recommend you
> - join the (extremely low volume) PEG ML
> (https://lists.csail.mit.edu/pipermail/peg/)
> - check out the original PEG paper from Bryan Ford
> (http://dl.acm.org/citation.cfm?id=964001.964011)
> - look through this page: http://bford.info/packrat/
>

I will look into these, thanks!

> Also, it be cool if you manage to get parboiled onto the list of
> implementation on the latter. I tried several times a few years back but
> somehow never got through to Bryan.
>

Well, it is mentioned, actually, near the bottom of the page:

    "parboiled includes a grammar for Java." (links to www.parboiled.org)

But yes, strangely enough it didn't make it into the implementation
list which is above...

--
Francis Galiegue, [hidden email], https://github.com/fge
JSON Schema in Java: http://json-schema-validator.herokuapp.com
Parsers in pure Java: https://github.com/parboiled1/grappa (redde
Caesaris: https://github.com/sirthias)
Loading...