I'm pretty sure this error comes from the use of bison 2.0 since a similar system that uses bison 1.875 works.
Compiling language.c y.tab.c:382: error: two or more data types in declaration of `yyss' y.tab.c:500: error: two or more data types in declaration of `yyprhs' y.tab.c:568: error: two or more data types in declaration of `yyrhs' y.tab.c:762: error: two or more data types in declaration of `yyrline' y.tab.c:919: error: two or more data types in declaration of `yyr1' y.tab.c:1057: error: two or more data types in declaration of `yydefact' [...more of the same...]
This in turn is caused by:
#define short int
The code contains statements such as:
short int yyss;
which of course gets turned into int int. The old version of bison generates code which uses "short" instead of "short int".
What is the correct solution? Remove the define or post-process the file, replacing "short int" with "int" using sed or similar?