/[hydra]/hydra/src/boa_grammar.y
ViewVC logotype

Diff of /hydra/src/boa_grammar.y

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by nmav, Sat Sep 21 13:53:38 2002 UTC revision 1.2 by nmav, Tue Sep 24 17:12:47 2002 UTC
# Line 40  int yyerror(char * msg); Line 40  int yyerror(char * msg);
40  #endif  #endif
41    
42  char *arg1hold;  char *arg1hold;
43    char *arg2hold;
44    char *arg3hold;
45  char mime_type[256];            /* global to inherit */  char mime_type[256];            /* global to inherit */
46    
47  %}  %}
# Line 51  char mime_type[256];            /* globa Line 53  char mime_type[256];            /* globa
53  };  };
54    
55  /* boa.conf tokens */  /* boa.conf tokens */
56  %token <cval> STMT_NO_ARGS STMT_ONE_ARG STMT_TWO_ARGS  %token <cval> STMT_NO_ARGS STMT_ONE_ARG STMT_TWO_ARGS STMT_FOUR_ARGS
57    
58  /* mime.type tokens */  /* mime.type tokens */
59  %token <sval> MIMETYPE  %token <sval> MIMETYPE
60  %token <sval> STRING  %token <sval> STRING
61  %token <ival> INTEGER  %token <ival> INTEGER
62    %token STRING_SEP ':'
63    
64  %start ConfigFiles  %start ConfigFiles
65    
# Line 73  BoaConfigStmt: Line 76  BoaConfigStmt:
76                          StmtNoArgs                          StmtNoArgs
77          |               StmtOneArg          |               StmtOneArg
78          |               StmtTwoArgs          |               StmtTwoArgs
79            |               StmtFourArgs
80          ;          ;
81    
82  StmtNoArgs:             STMT_NO_ARGS  StmtNoArgs:             STMT_NO_ARGS
83                  { if ($1->action) {                  { if ($1->action) {
84                          DBG(printf("StmtNoArgs: %s\n",$1->name);)                          DBG(printf("StmtNoArgs: %s\n",$1->name);)
85                          $1->action(NULL,NULL,$1->object);                          $1->action(NULL, NULL, NULL,NULL,$1->object);
86                   }                   }
87                  }                  }
88          ;          ;
# Line 86  StmtNoArgs:            STMT_NO_ARGS Line 90  StmtNoArgs:            STMT_NO_ARGS
90  StmtOneArg:             STMT_ONE_ARG STRING  StmtOneArg:             STMT_ONE_ARG STRING
91                  { if ($1->action) {                  { if ($1->action) {
92                          DBG(printf("StmtOneArg: %s %s\n",$1->name,$2);)                          DBG(printf("StmtOneArg: %s %s\n",$1->name,$2);)
93                          $1->action($2,NULL,$1->object);                          $1->action($2,NULL, NULL, NULL,$1->object);
94                   }                   }
95                  }                  }
96          ;          ;
# Line 97  StmtTwoArgs:           STMT_TWO_ARGS STRING Line 101  StmtTwoArgs:           STMT_TWO_ARGS STRING
101                  { if ($1->action) {                  { if ($1->action) {
102                          DBG(printf("StmtTwoArgs: '%s' '%s' '%s'\n",                          DBG(printf("StmtTwoArgs: '%s' '%s' '%s'\n",
103                                      $1->name,arg1hold,$4);)                                      $1->name,arg1hold,$4);)
104                          $1->action($4,arg1hold,$1->object);                          $1->action($4,arg1hold,NULL, NULL, $1->object);
105                    }                    }
106                    free(arg1hold);                    free(arg1hold);
107                  }                  }
108    StmtFourArgs:           STMT_FOUR_ARGS STRING
109                    { arg1hold = strdup($2); }
110                             STRING
111                    { arg2hold = strdup($4); }
112                             STRING
113                    { arg3hold = strdup($6); }
114                             STRING
115                    { if ($1->action) {
116                            DBG(printf("StmtTwoArgs: '%s' '%s' '%s' '%s' '%s'\n",
117                                        $1->name,arg1hold, arg2hold, arg3hold, $8);)
118                            $1->action(arg1hold, arg2hold, arg3hold, $8, $1->object);
119                      }
120                      free(arg1hold);
121                      free(arg2hold);
122                      free(arg3hold);
123                    }
124          ;          ;
125    
   
126  /******************* mime.types **********************/  /******************* mime.types **********************/
127    
128  MimeTypeStmts:          MimeTypeStmts MimeTypeStmt  MimeTypeStmts:          MimeTypeStmts MimeTypeStmt

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

webmaster@linux.gr
ViewVC Help
Powered by ViewVC 1.1.26