В коде, который вы ссылаетесь тоже:
http://www.quut.com/c/ANSI-C-grammar-y.html,
посмотрите внизу:
Вы увидите эту функцию
int check_type(void)
{
/*
* pseudo code --- this is what it should check
*
* if (yytext == type_name)
* return TYPE_NAME;
*
* return IDENTIFIER;
*/
/*
* it actually will only return IDENTIFIER
*/
return IDENTIFIER;
}
Вам действительно нужно написатькод, который идентифицирует последовательность (yytest, yytext + yylength), является идентификатором или TYPE_NAME. Это означает, что в синтаксическом анализаторе вам необходимо создать некоторую структуру при анализе кода, чтобы эта функция могла искать идентификатор в структуре.
Предварительно заполните структуру типами по умолчанию char / int / short / long / float / double и т. Д. Другие типы, которые вам нужно будет добавить при разборе ввода.