Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: [Marpa::R2] Help with EBNF Grammar Formatting (SLIF is more BNF than EBNF)

by Anonymous Monk
on Nov 10, 2013 at 01:49 UTC ( #1061880=note: print w/ replies, xml ) Need Help??


in reply to [Marpa::R2] Help with EBNF Grammar Formatting

I was under the impression that its more BNF than EBNF ... whatever that means :)

meaning you don't use * to specify OPTIONAL rule, or zero or more times ... or whatever you mean by it :) see http://blogs.perl.org/users/jeffrey_kegler/2013/01/making-dsls-even-simpler.html#comment-311460 and http://stackoverflow.com/questions/18634749/marpa-parser-cant-seem-to-cope-with-optional-first-symbol

With that in mind I come up with something which doesn't croak on the SLIF; I've no idea what it does :)

sub get_grammar { return q{ :start ::= Alias :discard ~ ws Alias ::= 'User_Alias' User_Alias repeatUser_Alias | 'User_Alias' User_Alias repeatUser_Alias ::= manyColonUser_Alias ### repeated OPTIONALLY repeatUser_Alias ::= ### repeated many times manyColonUser_Alias ::= colonUser_Alias* colonUser_Alias ::= ':' User_Alias User_Alias ::= NAME '=' User_List User_List ::= User | User ',' User_List User ::= <user name> ws ~ [\s]+ NAME ~ <name_firstchar><name_restchars> name_firstchar ~ [A-Z] name_restchars ~ [A-Z0-9_]* <user name> ~ <username_firstchar><username_restchars> username_firstchar ~ [a-z] username_restchars ~ [a-z0-9_]* };

I'm eager to learn what you learn about this :)


Comment on Re: [Marpa::R2] Help with EBNF Grammar Formatting (SLIF is more BNF than EBNF)
Download Code
Re^2: [Marpa::R2] Help with EBNF Grammar Formatting (clever amon)
by Anonymous Monk on Nov 10, 2013 at 01:56 UTC

      Awesome! Thanks for the links. Looks like I have a bit more reading to do :)

      I certainly know about feeling overwhelmed with Marpa.

      I swear I read somewhere that Marpa supported EBNF but looking at the docs, maybe that isn't true...

      I've got a bit more digesting to do, but I'll post back my results.

        EBNF is an actual spec, I saysedit EEBNF cause its not BNF but its not EBNF ; I guess its E+BNF-ish? :)

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (16)
As of 2015-07-02 13:18 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 (38 votes), past polls