我正在尝试构建一个解析器,它可以采用人类语言表达twenty five percent
,并将其转换为数字,如25%
.
基本上我有这样的规则:
Number:
(T1 | T2 | T3 T1) 'percent'?
;
terminal T1: 'zero' | 'one' | 'two' etc....;
terminal T2: 'ten' | 'eleven' | 'twelve' etc...;
terminal T3: 'twenty' | 'thirty' | 'forty' etc...;
而且我想以某种方式对其进行转换,以便当我Number
在 Xtend 中访问以生成我的代码时,它不会是文本,twenty five percent
而是一个数字。
这可能吗?