我正在尝试复制一个 C 语法,我可以将可变数量的字符串连接成一个字符串,就像 printf 支持的那样。这是一个例子:
log("here is line 1, "
"and here is line 2");
我目前有以下支持单独参数的:
| LOG LPAREN STRING COMMA STRING RPAREN {
func($$, LOG, STR_ST, STR_ST, $3, $5); }
我希望能够将多个 STRING 标记连接成一个字符串,然后将其传递给 func。这可能吗?
最佳答案
是的,你只需要为你的参数使用通常的分隔列表生产。
LOG '(' PARAMS ')' {...} ;
PARAMS : STRING
| PARAMS ';' STRING
;
关于连接 YACC token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30655492/