Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: [Marpa::R2] More Help With Grammar

by Jeffrey Kegler (Hermit)
on Nov 17, 2013 at 02:57 UTC ( #1062960=note: print w/ replies, xml ) Need Help??


in reply to [Marpa::R2] More Help With Grammar

The problem you are having with multiple lines was caused by defining your file as only containing a single line. Here's what you need:

:default ::= action => [values] :start ::= Definitions :discard ~ ws Definitions ::= Definition + Definition ::= Alias <new line>

As for the backslash'd newlines, to treat them as horizontal space, you want something like:

ws ~ <ws element> + <ws element> ~ [\s] <ws element> ~ backslash [\n] <backslash> ~ '\'

I did test both of these with your multi-line example and they seem to work. The Sudoer's format is newline-sensitive -- it treats horizontal and vertical whitespace differently. You'll probably need to nail down exactly where newlines are OK according to the spec, before you're 100% compliant. Marpa has a mailing list, btw, where expert users hang out. Several of the people on the group have more experience with parsers for this kind of file than I have. You might consider joining up.

I hope this helps.


Comment on Re: [Marpa::R2] More Help With Grammar
Select or Download Code
Re^2: [Marpa::R2] More Help With Grammar (ABNF to Marpa/SLIF)
by Anonymous Monk on Nov 17, 2013 at 03:21 UTC

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1062960]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (8)
As of 2015-07-06 06:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls