Re: Questions about slif grammar edge cases.

2017-03-30 Thread Andreas Kupries
> (a) X ::= CC ~ 'cc' BB ~ 'bb' A A ~ 'a':discard ~ A > > Forbidden. is required to be a lexeme since it is a discard symbol, Oh! You are looking at discard symbols as a kind of the same thing as lexemes, with lexemes the visible part, and discards hidden (*). But from the

Re: Questions about slif grammar edge cases.

2017-03-30 Thread Andreas Kupries
> The way Marpa checks internally is this > > 1.) Look for G1 symbols on a RHS, but not on a LHS -- these are the G1 > lexemes. > 2.) Look for L0 symbols on a LHS, but not on a RHS -- these are the L0 > lexemes. > 3.) The two sets of lexemes (G1 and L0) *should* be the same. If not, an > error

Re: Questions about slif grammar edge cases.

2017-03-30 Thread Jeffrey Kegler
(a) X ::= CC ~ 'cc' BB ~ 'bb' A A ~ 'a':discard ~ A Forbidden. is required to be a lexeme since it is a discard symbol, and cannot appear on the RHS of an L0 rule. (b) X ::= C C ~ 'cc' B ~ 'bb' A A ~ 'a' :discard ~ A is *not* unreachable. It is an L0 lexeme,