* lib/racc/parser.rb (do_parse, yyparse): using class eval to define

method and avoid __send__.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
tenderlove 2010-11-15 02:47:05 +00:00
Родитель 8a6ebf4c51
Коммит b73d1fbd25
2 изменённых файлов: 13 добавлений и 4 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Mon Nov 15 08:36:12 2010 Aaron Patterson <aaron@tenderlovemaking.com>
* lib/racc/parser.rb (do_parse, yyparse): using class eval to define
method and avoid __send__.
Mon Nov 15 06:43:48 2010 Aaron Patterson <aaron@tenderlovemaking.com>
* etc/openssl/ossl_ssl.c (ossl_ssl_get_cert): raise exception if

Просмотреть файл

@ -30,10 +30,10 @@ module Racc
class Parser
Racc_Runtime_Version = '1.4.5'
Racc_Runtime_Version = '1.4.6'
Racc_Runtime_Revision = %w$originalRevision: 1.8 $[1]
Racc_Runtime_Core_Version_R = '1.4.5'
Racc_Runtime_Core_Version_R = '1.4.6'
Racc_Runtime_Core_Revision_R = %w$originalRevision: 1.8 $[1]
begin
require 'racc/cparse'
@ -95,9 +95,11 @@ module Racc
### do_parse
###
class_eval %{
def do_parse
__send__(Racc_Main_Parsing_Routine, _racc_setup(), false)
#{Racc_Main_Parsing_Routine}(_racc_setup(), false)
end
}
def next_token
raise NotImplementedError, "#{self.class}\#next_token is not defined"
@ -147,9 +149,11 @@ module Racc
### yyparse
###
class_eval %{
def yyparse(recv, mid)
__send__(Racc_YY_Parse_Method, recv, mid, _racc_setup(), true)
#{Racc_YY_Parse_Method}(recv, mid, _racc_setup(), true)
end
}
def _racc_yyparse_rb(recv, mid, arg, c_debug)
action_table, action_check, action_default, action_pointer,