In article <xG8VO2x+zMsWv+f0SjYHkocHGNgf / 4ax.com>, Stefan Matthias Aust <sma / 3plus4.de> wrote: > >I wasn't really successful. Most parsers, including javacc are LL(1) >or LL(k) parsers. Unfortunately, Ruby can't be expressed as LL(k) >grammar, so these parsers aren't powerful enough to be used without >modification. >I think, you has to use at least an LALR(k) parser, BYACC or CUP for >example. Unfortunately, Ruby isn't also LALR(k), not even LR(k) or >any context free grammar. I'm intrigued. What issues in Ruby prevent it from being expressible in either LL(k) or LR(k), for sufficiently high values of 'k'? I wouldn't have expected there to be that many areas of semantic ambiguity in the grammar (but admittedly I haven't attempted to implement it). --Mirian