Могу ли я выбрать собственные значения токенов? - PullRequest
1 голос
/ 24 января 2011

Когда я делаю файл грамматики и выполняю yacc -d, я получаю выходной файл y.tab.h.Есть ли способ, которым я могу передать значения токенов, которые я хочу, в yacc вместо того, чтобы выбирать значения?

Например,

%token    FIRST_NAME
%token    LAST_NAME
...

производит (в y.tab.h):

#define   FIRST_NAME  257
#define   LAST_NAME   258

Я знаю, что первые 256 значений зарезервированы для совпадений с одним символом, но мне бы очень хотелось, чтобы FIRST_NAME был #defined как 1001 и LAST_NAME был #defined как 1002. Что это означаетчто я выбрал бы #defines и поместил бы их во включаемый файл перед тем, как сделать YACC для файла грамматики.

Возможно ли это?

Спасибо

1 Ответ

1 голос
/ 24 января 2011

Я начал читать руководство по бизону GNU, где говорилось, что вы можете сделать

%token FIRST_NAME    1001
%token LAST_NAME     1002

в зубрах, и он будет использовать эти значения. Затем я просто попробовал его для yacc, и он тоже работает.

Спасибо за ваше время.

...