解析代码文件

时间:2017-07-23 15:03:54

标签: ruby parsing text

也许有一些工具可以做到这一点?我必须提取整个块和子块,例如'

2 个答案:

答案 0 :(得分:3)

我怀疑任何解析器都可以帮助将代码块加载到变量中。它需要eval,但即使使用eval,也很难收集所有上下文等。

目标是rspec场景,我会使用monkeypatching rspec core,在你自己的探测器之前添加:

def before(*args, &block)
  MyCollector.collect_block(block)
  super(*args, &block)
end

答案 1 :(得分:1)

您可以使用

进行解析

https://github.com/seattlerb/ruby_parser 要么 https://github.com/whitequark/parser

并将收到一个AST(Abstrax语法树),然后您可以进一步处理。根据您从源代码中需要的详细信息量,您还可以使用一些Regexp或编写自己的解析器... 也许您可以告诉我们更多关于您的项目(输入,输出,原因)