title: bison not creating the tab.h file
body: <p>i am a newbie to flex and bison and i have been working on this project for a couple of days now.  I had a bison file that had bee previously working correctly and i changed it a little and now it doesn't create a tab.h file... i have placed both the error and my bison and flex files below...
    error:</p>
  
  <pre><code>  In file included from stojk_3_2.y:55:
    stojkovic_project1_2.l:4:27: error: stojk_3_2.tab.h: No such file or directory
    stojk_3_2.tab.c: In function ‘int yyparse()’:
    stojk_3_2.tab.c:1416: warning: deprecated conversion from string constant to ‘char*’
    stojk_3_2.tab.c:1562: warning: deprecated conversion from string constant to ‘char*’
  </code></pre>
  
  <p>.y file:</p>
  
  <pre><code>%{
  #include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;ctype.h&gt;
  
  #define YYSTYPE double
  
  int yylex(void);
  
  static
  void yyerror(char *s)
  {
  printf("yyerror: %s\n", s);
  }
  
  %}
  
  %token PLUS
  %token MINUS
  %token MULT
  %token DIVIDE
  
  %token LPAREN
  %token RPAREN
  
  %token UNSIGNEDINTEGER
  
  %left PLUS MINUS
  %left MULT DIVIDE
  
  %token Variable
  %token Exp
  %token Sign
  %token Unsigned_int
  %token Unsigned_float_int
  %token Factor
  
  %%
  
  lines     :         lines expr   '\n'         {printf("%g\n", $2);}
  |         lines '\n'
  |         /*empty*/
  ;
  
  expr      :          expr PLUS  expr           {$$  =  $1  +  $3;}  
  |          expr MINUS  expr           {$$  =  $1  -  $3;} 
  |          expr MULT  expr           {$$  =  $1  *  $3;} 
  |          expr DIVIDE  expr           {$$  =  $1  /  $3;} 
  |          LPAREN  expr  RPAREN        {$$ =  $2;}
  |          UNSIGNEDINTEGER
  ;
  
  %%
  
  #include  "lex.yy.c"
  
  int yylex(void);
  int yyparse(void);
  
  int main(void)
  {
  return yyparse();
  }
  </code></pre>
  
  <p>.l file</p>
  
  <pre><code>/*** Definition section ***/
  %{
  
  #include "stojk_3_2.tab.h"
  %}
  
  
  Variable                    [a-zA-Z_]+[a-zA-Z0-9_]*
  Digit                       [0-9]
  Digits                      [0-9]*
  Sign                        [+]|[-]
  Exp                         [E]+{Sign}|[e]+{Sign}
  Unsigned_int                {Digit}|{Digits}
  Unsigned_float_int          ({Digit}|{Digits}+[.]+{Digit}|{Digits})({Digit}|    {Digits}+[.]+{Digit}|{Digits}+{Exp}+{Digit}|{Digits})
  Factor                      {Variable}|{Unsigned_int}|    {Unsigned_float_int}  
  
  
  
  
  %{
  /* C code to be copied verbatim */
  #include &lt;stdio.h&gt;
  
  %}
  
  /* This tells flex to read only one input file */
  %option noyywrap
  
  %%
      /*** Rules section ***/
  
      /* [0-9]+ matches a string of one or more digits */
  
  {Variable}   {  return Variable; }
  
  {Exp}   {return Exp; }
  {Sign}   { return Sign; }
  
  {Unsigned_int}   {  return Unsigned_int; }
  {Unsigned_float_int}  { return Unsigned_float_int; }
  {Factor}               {  return Factor; }
  
  
  
  
  
  
  
  
  
  .|\n    {   /* Ignore all other characters. */   }
  
  %%
  </code></pre>