【发布时间】:2012-09-21 13:57:52
【问题描述】:
有没有办法使用 Treetop 以编程方式匹配复数单词。 Linguistics gem 会将一个单词复数,但如何将它插入到解析器中。
这是我正在尝试做的一个示例:
#!/usr/bin/env ruby
require 'treetop'
require 'linguistics'
include Linguistics::EN
Treetop.load_from_string DATA.read
parser = RecipeParser.new
p parser.parse('cans')
__END__
grammar Recipe
rule units
unit &{|s| plural(s[0].text_value) }
end
rule unit
'can'
end
end
【问题讨论】:
-
看看你的完整语法以及你用它做什么会很有帮助。另外:你绝对必须使用 Treetop 吗?像正则表达式这样简单的东西能否实现您的目标?
标签: ruby parsing nlp treetop peg