About lex and yacc

parag <[email protected]> Wed, 31 Dec 2008 10:10:47 -0800 (PST)
Newsgroups gmane.comp.gnu.utils
Organization http://groups.google.com
Message-ID <0a4cd4c3-4995-422b-b154-9dc1b83170c4@g39g2000pri.googlegroups.com>
I saw the following code some where,  How come the following yacc rule
uses $4, which does not exist. Can you help me

internal_op_call_with_args
        : IPOINT '('
                {

                    if ((void*)$1 == (void*)CSample) {
                        fcSTF = 1;
                    }
                }
           expression_or_null_list ')'
                {

                    $$ = (long)getInternalOpPtr((void*)$1, (PT*)$4);
                }