Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
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 rifling through the Monastery: (12)
As of 2014-12-18 21:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (66 votes), past polls