На сайте у них сказано, что все поддерживается на ура. Добавил в проект два файла: lex.l и calc.y. В configure.in я написал AM_PROG_LEX и AC_PROG_YACC. Далее запускаем configure & autoсonf. Все нормально. Но при компиляции как lex.l, так и calc.y транслируются в lex.c и calc.c и компилируются по отдельности!!! Естественно, что lex.c, в котором полно строчек вроде:else { return TOKEN_ELSE; }
while { return TOKEN_WHILE; }
for { return TOKEN_FOR; }
do { return TOKEN_DO; }
var { return TOKEN_VAR; }
и других, определенных в calc.y как
%token TOKEN_ELSE // (и др.)
выдает массу ошибок TOKEN_ELSE undeclared (...)
Те же lex.l и calc.y прекрасно компилируются консольными командами
flex lex.l
bison calc.y
g++ calc.tab.c -ly -lfl
(или как-то так).
Может, можно вынести определения токенов в отдельный заголовочный файл, включаемый в lex.l, чтобы kdevelop его захавал?
Но тогда как быть с calc.y, где они определены ключевыми %token ?