That code is not portable yacc code, because it uses TAB
before defining it.  It may work with some yacc implementations,
but not with others.  To make the code portable, put this near the
start of the grammar:

%{
#define TAB '\t'
%}

so that the grammar doesn't use TAB before defining it.

For more on this, please see the yacc specification

<http://pubs.opengroup.org/onlinepubs/9699919799/utilities/yacc.html>

which talks about this issue in its "Programs Section" section.

Reply via email to