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 :)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: [Marpa::R2] Help with EBNF Grammar Formatting (clever amon)
by Anonymous Monk on Nov 10, 2013 at 01:56 UTC | |
by three18ti (Monk) on Nov 10, 2013 at 02:26 UTC | |
by Anonymous Monk on Nov 10, 2013 at 02:38 UTC | |
by three18ti (Monk) on Nov 10, 2013 at 19:00 UTC |