重写Ruby';来自Gem的s基C代码
为了进行实验,我正在寻找一种方法来修改Ruby的一些基本代码,特别是解析器。我想知道这是否有可能做到,更不用说使用宝石了 我已经缩小了需要在重写Ruby';来自Gem的s基C代码,c,ruby,parsing,C,Ruby,Parsing,为了进行实验,我正在寻找一种方法来修改Ruby的一些基本代码,特别是解析器。我想知道这是否有可能做到,更不用说使用宝石了 我已经缩小了需要在parser.c中更改为static int yylex()的代码范围。我打算尝试使用别名,但这似乎要求我更改parser.h,据我所知,这在Gem中是无法完成的 这可以从宝石上完成吗?不可以 gems可以访问的唯一基本C代码是。 这里没有公开解析/词法分析代码 如果您想定义自定义语法,我将尝试(按顺序): 稍微放松你的需求,定义一个新的需求。Ruby具有强
parser.c
中更改为static int yylex()
的代码范围。我打算尝试使用别名,但这似乎要求我更改parser.h
,据我所知,这在Gem中是无法完成的
这可以从宝石上完成吗?不可以
gems可以访问的唯一基本C代码是。
这里没有公开解析/词法分析代码
如果您想定义自定义语法,我将尝试(按顺序):
eval
。丑陋,可能有点慢,但可以让你做任何你想做的事就我对ruby的理解而言,您不能从Gem上执行此操作,因为Gem在ruby解释器上运行。您可以向gem添加c扩展,但不能影响已经运行的解释程序。有关带有c扩展名的gems的更多信息:rats。我打算尝试把++--放在那里,只是出于怨恨。哦,好吧。