“Ruby Under a Microscope”的版本间的差异

来自Dennis的知识库
跳转到: 导航搜索
第3行: 第3行:
 
== 分词与语法解析 ==
 
== 分词与语法解析 ==
  
* 使用 Ripper
+
* 使用 Ripper 输出 lex 结果。
  
 
<pre>
 
<pre>
第20行: 第20行:
 
</code>
 
</code>
 
</pre>
 
</pre>
 +
 +
* Ripper.sexp 输出 parse 结果,也可以使用命令行 ruby --dump parsetree xxxx.rb 得到。

2016年12月9日 (五) 00:00的版本


分词与语法解析

  • 使用 Ripper 输出 lex 结果。
<code>
require 'ripper'
require 'pp'
#ripper is not parser, it can't find error.
code = <<STR
10.times do |n|
  puts n
end
STR

puts code
pp Ripper.lex(code)
</code>
  • Ripper.sexp 输出 parse 结果,也可以使用命令行 ruby --dump parsetree xxxx.rb 得到。
个人工具
名字空间

变换
操作
导航
工具箱