diff options
author | Will Estes <westes575@gmail.com> | 2014-06-04 15:54:44 -0400 |
---|---|---|
committer | Will Estes <westes575@gmail.com> | 2014-11-12 05:14:26 -0500 |
commit | ea001b9938a38d2d09e1623f52a8b5162c281427 (patch) | |
tree | 49de7c33ffe8c594709470551c2fb584d38da786 /tests/bison_yylloc_scanner.l | |
parent | 120ce9c07d2aa933c3d02f08de535b0d450ba88a (diff) |
use underscores in test file names to silence automake warnings
Diffstat (limited to 'tests/bison_yylloc_scanner.l')
-rw-r--r-- | tests/bison_yylloc_scanner.l | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/bison_yylloc_scanner.l b/tests/bison_yylloc_scanner.l new file mode 100644 index 0000000..b4bb9f7 --- /dev/null +++ b/tests/bison_yylloc_scanner.l @@ -0,0 +1,65 @@ +/* + * This file is part of flex. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +%{ +/* The scanner expects to link to bison yylval . */ +#include <stdio.h> +#include <stdlib.h> +#include "bison_yylloc_parser.h" +#include "config.h" +static char* STRDUP(char* s1); +#define YY_EXTRA_TYPE int +%} + +%option 8bit prefix="test" +%option reentrant bison-bridge bison-locations yylineno +%option nomain nounput noyy_top_state noyywrap nodefault warn +%option header="bison_yylloc_scanner.h" + + +%% + + if ( !yyextra) + yyextra = 1; + +^[[:digit:]]+ { + yylval->lineno = yyextra++; + yylloc->first_line = (int)strtol(yytext,NULL,10); + return LINENO; + } +":" { return COLON; } +" " { return SPACE; } +"=" { return EQUAL; } +[[:alnum:]_]+ { yylval->str = STRDUP(yytext); return IDENT;} + +\r|\n { } +. { yyterminate();} +%% + + +static char* STRDUP(char* s1) +{ + char* s2 = (char*)malloc(strlen(s1)+1); + sprintf(s2,"%s",s1); + return s2; +} |