Вы можете заменить эти printf на код, который вставляет данные в вашу собственную структуру данных.Примерно так:
rule: TOKEN1 TOKEN2 TOKEN3
{
add_data(your_data, $1, $2, $3);
};
, где add_data
- это функция, которая добавляет данные, содержащиеся в $1
, $2
и $3
, в пользовательскую структуру данных, содержащуюся в переменной your_data
.
Боюсь, your_data
должен быть глобальным.Я копался в некоторых старых проектах yacc, которые у меня есть, и в других вопросах stackoverflow, таких как this , и я не нашел другого способа сделать это.Если кто-то знает лучший способ, пожалуйста, прокомментируйте.
Если вы отправите свой код, я могу попытаться помочь вам с подробностями.