From: Robert Retzbach Date: 2006-01-08T23:15:54+09:00 Subject: Re: [QUIZ] Dice Roller (#61) Pierre Barbier de Reuille schrieb: >Matthew Moss a �crit : > > >>Wow... You guys are just having too much fun with >>"(5d5-4)d(16/d4)+3", I think. Heck, if y'all know Ruby so well (more >>than me, cause I'm still such a n00b), you'd be able to swap in loaded >>dice for random dice and get your min's and max's. =) >> >>Anyway, I just wanted to add a couple of notes. It was made aware to >>me that the simplified BNF (in the original post) is slightly in >>error, in that it allows expressions like this: >> >> 3dddd6 >> >>which is invalid. >> >>A couple possible fixes: >> >>1. Use the expanded BNF I posted, which doesn't have this fault. >>2. Implement your dice parser using right-associativity for 'd' >>operators (but maintain left-assoc for the other binary operators). >> >>Feel free to do what you like. >> >> >> >> > >Well, why do you say it's invalid ? Given the simplified BNF it must be >read as : > >3d(d(d(d6))) > >and it is perfectly valid as there is no other way to understand that ... > >Pierre > > > > Hmm so that expr has 18 as maximum result with fully loaded dice? 3d(d(d(d6))) 3d(d(d6)) 3d(d6) 3d6 => 18 Is that correct?