On Sun, Jun 16, 2013 at 1:29 AM, wrote: > If I've understood correct, two points come to mind: > > a) exp : exp exp | ... > > Seems highly ambiguous for no good reason. BTW, did you > really want to exclude the possibility of productions that have > only one symbol on the right-hand side?
No, I want to parse a file that contains arbitrary legal BNF productions. > Not sure why you > wouldn't use very standard/common constructs for defining > lists with n or more members. > Because I don't know them, unless you mean something like: zero_or_more_items : /* empty */ | zero_or_more_items item ; one_or_more_items : item zero_or_more_items ; item : blah-blah-blah > b) 2 token lookahead. > > You may want to google "yacc manual" and read their discussion > of the yacc grammar being LR(2) and their solution of having the > lexer look ahead and return a different token type for a name > followed by a ':'. > I will try this if the alternative grammar that I found (see my reply to Chris) does not solve the problem. Regards, Test User. _______________________________________________ help-bison@gnu.org https://lists.gnu.org/mailman/listinfo/help-bison