我的语法中有这个表达式:
function_expr (('*'|'/'|'%') multiplicative_expression)*
我正在尝试在 AST 中形成它,但是使用“|” 符号我不知道该怎么做。我正在尝试做这样的事情:
function_expr (('*'|'/'|'%') multiplicative_expression)* -> ^('*' ^(FUNC_EXPR function_expr) multiplicative_expression)
当然是不正确的。最好的方法是:
function_expr (('*'^|'/'^|'%'^) multiplicative_expression)*
不幸的是,我还需要定义一些令牌。请问有人有想法吗?