我正在寻找一种编写Treetop规则的方法,它可以按任何顺序查找某些值。所以:
rule top
# ?
end
rule gender
('women'/'men') / ''
end
rule age_under
('under' age) / ''
end
rule age
[0-9]+
end
我想解析这些输入:
"women under 10"
"under 10 women"
"under 10"
"women"
我怎样才能做到这一点?感谢
答案 0 :(得分:1)
以下是以任何顺序解析的示例。唯一的麻烦是你必须手工处理重复,因为Treetop没有无序 - 非重复元素的规则。
rule top
((gender / age_under) ' '?)*
end
rule gender
'women' / 'men'
end
rule age_under
'under ' age
end
rule age
[0-9]+
end