5 ms·
I came across this issue when looking to build a stripped down Ruby interpreter in JS last summer. A few attempts have been made at defining its grammar, though
by joeroot 14y ago
I came across this issue when looking to build a stripped down Ruby interpreter in JS last summer. A few attempts have been made at defining its grammar, though with each new version the task becomes more and more challenging.
If anyone's interested, this definition of Ruby 1.4 is pretty good:
http://www.cse.buffalo.edu/~regan/cse305/RubyBNF.pdf http://www.cse.buffalo.edu/~regan/cse305/RubyBNF.pdf
- masklinn 14y ago> If anyone's interested, this definition of Ruby 1.4 is pretty good The question is whether what it defines corresponds to Ruby. It's easy enough to define an unambiguous subset of the language and declare you're done, but it's irrelevant if the grammar does not match what the language actually is.
- joeroot 14y agoYou'll never reduce Ruby to a pure grammar, there are too many ambiguous cases - my point was simply that it covers a subset which incorporates almost all common idioms. As far as I am aware it is one of the few openly available, non-trivial attempts to do so and thought it might be of interest.