Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

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 and

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

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

      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?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1061880]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2018-07-17 03:57 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (354 votes). Check out past polls.