2016-08-26 4 views
0

Я новичок в бизоне, так что это может показаться тривиальным. У меня есть производство предположить:

A: B C D E { $$ = $1 + $2 + $3 + $4 }

Теперь, можно написать цикл за $ 1 + $ 2 ... потому что я мог бы иметь большое количество не терминалов на РИТ, и я не хочу вручную записать это так. Я пробовал делать $ i, где я был переменной цикла, но это не сработало.

+0

Во многих грамматиках типы терминов различны (тип 'B' отличается от типа' C'), поэтому нет необходимости делать то, что вы пытаетесь сделать. Я не думаю, что есть короткий отрезок в стандартном Bison. –

ответ

1

Нет, вы не можете. Что касается bison, то $$, $1, $2 и т. Д. Являются идентификаторами, и каждый из них имеет тип. Таким образом, это будет похоже на запрос ярлыка на запись var1 + var2 + var3 ... как цикл.