root/trunk/config_gram.l

Revision 24, 2.1 kB (checked in by george, 11 years ago)

added python interpreter

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
Line 
1 %{
2 /* ======================================================================
3  * Copyright (c) 2000 Theo Schlossnagle
4  * All rights reserved.
5  * The following code was written by Theo Schlossnagle <jesus@omniti.com>
6  * This code was written to facilitate clustered logging via Spread.
7  * More information on Spread can be found at http://www.spread.org/
8  * Please refer to the LICENSE file before using this software.
9  * ======================================================================
10 */
11
12 #include <string.h>
13
14 #include "config.h"
15 #include "y.tab.h"
16
17 extern int line_num;
18 extern int semantic_errors;
19
20 #define yylval sld_lval
21 #define yytext sld_text
22
23 %}
24 qstring \"[^\"]*\"|\'[^\']*\'
25 string  [^ \t\r\n#{}]+
26 %option noyywrap
27 %%
28 #.*                             {} /* Comments */
29 [ \t\r]                         {} /* White space */
30 \n                              { line_num++;}
31 "{"                             { return OPENBRACE; }
32 "}"                             { return CLOSEBRACE; }
33 "="                             { return EQUALS; }
34 BufferSize                      { return BUFFERSIZE; }
35 Spread                          { return SPREAD; }
36 Port                            { return PORT; }
37 Host                            { return HOST; }
38 Log                             { return LOG; }
39 VhostGroup                      { return VHOSTGROUP; }
40 Group                           { return GROUP; }
41 File                            { return FILENAME; }
42 VhostDir                        { return VHOSTDIR; }
43 Match                           { return MATCH; }
44 RewriteTimestamp                { return REWRITETIMES; }
45 CommonLogFormat                 { return CLF; }
46 PerlLib                         { return PERLLIB; }
47 PerlUse                         { return PERLUSE; }
48 PerlLog                         { return PERLLOG; }
49 PythonImport                    { return PYTHONIMPORT; }
50 PythonLog                       { return PYTHONLOG; }
51 {qstring}                       { int l = strlen(yytext);
52                                   yytext[l-1] = 0;
53                                   yylval = strdup(yytext+1);
54                                   return STRING; }
55 {string}                        { yylval = strdup(yytext);
56                                   return STRING; }
57 %%
Note: See TracBrowser for help on using the browser.