From: Mathieu Bouchard Date: 2002-01-13T14:46:48+09:00 Subject: Markus' ruby-parser Hi Markus and folks, I checked-out ruby-parser (aka RubyInRubyParser 0.1-alpha) from the ruby cvs (repository /src; directory ruby-parser; this is not included in Ruby 1.7) Note: I didn't choose Rulator/Rockit because I've been told (by Robert) that it is still too experimental, but that was a while ago. If this is not true anymore I'd like to know. But there's also a reason I chose Markus' parser in particular... it is that it only supports MetaRuby's RubyAST.rb, and it is also the only parser to support it now. However our versions have forked and I want to merge them back together. Note that I have the intention of bundling one parser with MetaRuby. I'd like to know which one would be the best, and why. I hope the cvs-head version is up-to-date, because i'm starting to modify it now. The migrate.rb file is missing; I presume it only contains this line: require "RubySchema-old.rb" BEFORE MERGING: The differences in the Contract file are: i renamed Contract to Assert; Contract is an alias; i will introduce a distinction in the future. The differences in the Type file are: i renamed Tuple to Form (this is an important change) i changed Nameable#const_name_is i changed Any@alternatives -> Any#terms i made Form extend Nameable i removed Boolean (already in Contract.rb) i added Template#specializations,#normalize_args i added calls to Nameable#const_name_is i added ChoiceType#base, MultiChoiceType, All you moved SymbolSubset over there i parenthesised some method calls for Ruby-1.7 compatibility. The differences in the RubySchema file are: i added SymbolSubset #to_s, include Nameable i fixed RRescue, DefArgs, DefClass you moved SymbolSubset to Type.rb you fixed Ident, IdentSel you added VarSpecial, GVar, etc.; i added those differently; in particular, they are not Forms, they are directly SymbolSubsets. i don't know (or remember) why you did that. __FILE__,__LINE__ are called XVar. VarSpecial merged into GVar. you added Self