使用 Bison,我想出了如何将所有内容放入一个长字符串中,如下所示:
arg_list:
WORD arg_list { strcat( $1, "IFS" ); $$ = strcat($1, $2); } |
WORD
;
和:
WORD arg_list { printf("%s, %s\n", $1, $2); }
但问题是我将不得不在第二条规则中再次拆分 $2 来解析它。有没有办法填充数组而不是仅仅使用连接?我会以错误的方式解决这个问题吗?
如果我需要构建一个有意义的链接列表之类的东西,只是不确定绑定到 arg_list 的正确方法是什么,然后清理内存。