NUM
- это тип токена. Это категория значения, а не само значение.
Другими словами, некоторые из ваших собственных кодов YACC могут не заботиться о том, что фактическое значение, просто о том, что оно имеет определенный тип.
Классическим примером является (очень) простой оценщик выражений, который принимает NUM
+
NUM
. Вам не нужно специальное правило для каждого случая:
0 + 0
0 + 1
0 + 2
:
65535 + 65534
65535 + 65535
так что у вас есть одно правило, которое обрабатывает общий случай, затем используйте yylval
для конкретного значения.