С Бизоном я разобрался, как собрать все в одну длинную строку следующим образом:
arg_list:
WORD arg_list { strcat( $1, "IFS" ); $$ = strcat($1, $2); } |
WORD
;
и
WORD arg_list { printf("%s, %s\n", $1, $2); }
Но проблема в том, что мне придется снова разделить 2 $ во втором правиле, чтобы разобрать его. Есть ли способ заполнить массив вместо просто конкатенации? Я поступаю неправильно?
Если мне нужно создать что-то вроде связанного списка, который мог бы иметь смысл, просто не уверен, что будет правильным способом связать arg_list, а затем очистить память.