"Fossies" - the Fresh Open Source Software Archive

Member "srg-1.3.6/libconfig/config.parser.y" (5 Aug 2009, 741 Bytes) of package /linux/privat/old/srg-1.3.6.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bison source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 %{
    2 #include "config_internal.h"
    3 #include <stdio.h>
    4 
    5 int yylex();
    6 void yyerror(const char *);
    7 
    8 %}
    9 %token <str>TOK_IDENTIFIER
   10 %token <str>TOK_STRING
   11 %token TOK_FALSE
   12 %token TOK_TRUE
   13 %token TOK_WHITE
   14 %token TOK_EOL
   15 %token TOK_UNKNOWN
   16 %token <i>TOK_INTEGER
   17 
   18 %union {
   19     char *str;
   20     int i;
   21 }
   22 
   23 %%
   24 
   25 config
   26 : /* Empty */ 
   27 | config lws TOK_EOL
   28 | config lws directive TOK_EOL
   29 | error TOK_EOL { printf("Expected configuration directive\n"); }
   30 ;
   31 
   32 directive
   33 : TOK_IDENTIFIER lws TOK_INTEGER lws { set_config_int($1,$3); }
   34 | TOK_IDENTIFIER lws TOK_STRING lws  { set_config_str($1,$3); }
   35 | TOK_IDENTIFIER lws TOK_TRUE lws    { set_config_int($1,1); }
   36 | TOK_IDENTIFIER lws TOK_FALSE lws   { set_config_int($1,0); }
   37 ;
   38 
   39 lws
   40 : /* empty */
   41 | lws TOK_WHITE { }
   42 ;
   43