ツリートップの文法で分数を解析するのに少し苦労しています。
私の文法はこんな感じ
grammar Numbers
rule number
regular_number optional_frac {
def value
[:number, text_value]
end
}
end
rule optional_frac
frac_number? {
def value
[:optional_frac, text_value]
end
}
end
rule frac_number
(s? regular_number '/' regular_number)? / ('/' regular_number)? {
def value
[:frac_number, text_value]
end
}
end
rule regular_number
[0-9\.\/-]+ {
def value
text_value
end
}
end
end
から値を取得しようとすると
2 => number
1/2 => number, frac_number
2 2/4 => not recognized
私はルールが
s? regular_number '/' regular_number
分数として返されます。私の文法の何が悪いのか分かりますか?