Home | History | Annotate | Line # | Download | only in veriexecctl
veriexecctl_conf.l revision 1.1
      1  1.1  blymn %{
      2  1.1  blymn /*
      3  1.1  blymn  * Configuration file lexer for Verified exec
      4  1.1  blymn  *
      5  1.1  blymn  *
      6  1.1  blymn  */
      7  1.1  blymn 
      8  1.1  blymn #include <stdio.h>
      9  1.1  blymn #include <string.h>
     10  1.1  blymn #include "veriexecctl_parse.h"
     11  1.1  blymn 
     12  1.1  blymn int lineno = 1;
     13  1.1  blymn 
     14  1.1  blymn void yyerror(const char *message);
     15  1.1  blymn void warning(const char *message);
     16  1.1  blymn int yylex __P((void));
     17  1.1  blymn 
     18  1.1  blymn %}
     19  1.1  blymn 
     20  1.1  blymn %%
     21  1.1  blymn 
     22  1.1  blymn path     { return PATH; }
     23  1.1  blymn string   { return STRING; }
     24  1.1  blymn eol      { return EOL; }
     25  1.1  blymn 
     26  1.1  blymn \/[^ 	]+  {
     27  1.1  blymn 	yylval.string = strdup(yytext);
     28  1.1  blymn 	return PATH;
     29  1.1  blymn }
     30  1.1  blymn 
     31  1.1  blymn [0-9a-zA-Z]+  {
     32  1.1  blymn 	yylval.string = strdup(yytext);
     33  1.1  blymn 	return STRING;
     34  1.1  blymn }
     35  1.1  blymn 
     36  1.1  blymn \n      {
     37  1.1  blymn 	lineno++;  /* for error reporting */
     38  1.1  blymn 	return EOL;
     39  1.1  blymn }
     40  1.1  blymn 
     41  1.1  blymn [ \t\r] ;  /* eat white ones */
     42  1.1  blymn 
     43  1.1  blymn #.* ;      /* comment */
     44  1.1  blymn 
     45  1.1  blymn .    yyerror("invalid character");
     46  1.1  blymn 
     47  1.1  blymn %%
     48  1.1  blymn 
     49  1.1  blymn void yyerror(const char *string)
     50  1.1  blymn {
     51  1.1  blymn   fprintf(stderr, "%d: %s at %s\n", lineno, string, yytext);
     52  1.1  blymn }
     53