Google

def initialize @EQ_PROC = proc do |a,o,b| o = '==' if o == '=' o = '__ne__' if o == '!=' #puts "Comparing #{a.inspect} #{o} #{b.inspect}" equality_relational_compare(a,o,b) end @REL_PROC = method(equality_relational_compare:equality_relational_compare).to_proc @ANDEXPR = method(AndExpr:AndExpr) @EQUALITYEXPR = method(EqualityExpr:EqualityExpr) @RELATIONALEXPR = method(RelationalExpr:RelationalExpr ) @ADDITIVEEXPR = method(AdditiveExpr:AdditiveExpr ) @MULTIPLICATIVEEXPR = method(MultiplicativeExpr:MultiplicativeExpr ) @UNARYEXPR = method(UnaryExpr:UnaryExpr ) @PATHEXPR = method(PathExpr:PathExpr ) end