I am compiling a very old program (wu-ftpd 2.6.1 circa 2000) and it was failing on this code:
cmd_list: /* empty */
| cmd_list cmd
= {
fromname = (char *) NULL;
restart_point = 0;
}
| cmd_list rcmd
;
Bison says the problem is the unexpected '=' which makes sense, as every other Yacc program I've seen (admittedly not very many) does not use an '=' sign there. I've replaced the =\t{ pattern with \t{ and the software builds (with many warnings of course) but I'm wondering how it was built in the past. Has Yacc syntax changed?