summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/datamodel/c89/parser/c89.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/plugins/datamodel/c89/parser/c89.l')
-rw-r--r--src/uscxml/plugins/datamodel/c89/parser/c89.l158
1 files changed, 0 insertions, 158 deletions
diff --git a/src/uscxml/plugins/datamodel/c89/parser/c89.l b/src/uscxml/plugins/datamodel/c89/parser/c89.l
deleted file mode 100644
index 8681565..0000000
--- a/src/uscxml/plugins/datamodel/c89/parser/c89.l
+++ /dev/null
@@ -1,158 +0,0 @@
-/* see: http://www.phpcompiler.org/articles/reentrantparser.html */
-/* see: http://spinroot.com/spin/Man/operators.html */
-
-%option yylineno
-%option reentrant
-%option bison-bridge
-%option prefix="c89_"
-%option outfile="c89.lex.yy.cpp"
-%option noyywrap
-/*%option debug*/
-%option never-interactive nounistd
-%option bison-locations
-
-%{
-
-#include "../C89Parser.h"
-#include "c89.tab.hpp"
-#define YYSTYPE C89_STYPE
-#define YYLTYPE C89_LTYPE
-#define YY_USER_INIT \
- yycolumn = yylloc->first_line = yylloc->first_column = 0; \
- yylineno = yylloc->last_line = yylloc->last_column = 0; \
-
-//int yycolumn = 1;
-
-#define YY_USER_ACTION \
-{ \
- yylloc->first_line = yylineno; \
- yylloc->first_column = yycolumn; \
- yylloc->last_column = yycolumn + yyleng; \
- yylloc->last_line = yylineno; \
- yycolumn = yycolumn + yyleng; \
-}
-
-%}
-
-D [0-9]
-L [a-zA-Z_]
-H [a-fA-F0-9]
-E [Ee][+-]?{D}+
-FS (f|F|l|L)
-IS (u|U|l|L)*
-
-%{
-#include <stdio.h>
-
-int check_type()
-{
-/* if (yytext == uint)
- return(TYPE_NAME);
-*/
- return(IDENTIFIER);
-}
-
-%}
-
-%%
-\/\*([^*]|\*[^/])*\*+\/ /* multiline comments */
-"//".* /* singlelien comments */
-"#".* /* singlelien comments */
-
-"auto" { return(AUTO); }
-"break" { return(BREAK); }
-"case" { return(CASE); }
-"char" { return(CHAR); }
-"const" { return(CONST); }
-"continue" { return(CONTINUE); }
-"default" { return(DEFAULT); }
-"do" { return(DO); }
-"double" { return(DOUBLE); }
-"else" { return(ELSE); }
-"enum" { return(ENUM); }
-"extern" { return(EXTERN); }
-"float" { return(FLOAT); }
-"for" { return(FOR); }
-"goto" { return(GOTO); }
-"if" { return(IF); }
-"int" { return(INT); }
-"long" { return(LONG); }
-"register" { return(REGISTER); }
-"return" { return(RETURN); }
-"short" { return(SHORT); }
-"signed" { return(SIGNED); }
-"sizeof" { return(SIZEOF); }
-"static" { return(STATIC); }
-"struct" { return(STRUCT); }
-"switch" { return(SWITCH); }
-"typedef" { return(TYPEDEF); }
-"union" { return(UNION); }
-"unsigned" { return(UNSIGNED); }
-"void" { return(VOID); }
-"volatile" { return(VOLATILE); }
-"while" { return(WHILE); }
-
-{L}({L}|{D})* { yylval->value = strdup(yytext); return(IDENTIFIER); }
-
-0[xX]{H}+{IS}? { yylval->value = strdup(yytext); return(CONSTANT); }
-0{D}+{IS}? { yylval->value = strdup(yytext); return(CONSTANT); }
-{D}+{IS}? { yylval->value = strdup(yytext); return(CONSTANT); }
-L?'(\\.|[^\\'])+' { yylval->value = strdup(yytext); return(CONSTANT); }
-
-{D}+{E}{FS}? { yylval->value = strdup(yytext); return(CONSTANT); }
-{D}*"."{D}+({E})?{FS}? { yylval->value = strdup(yytext); return(CONSTANT); }
-{D}+"."{D}*({E})?{FS}? { yylval->value = strdup(yytext); return(CONSTANT); }
-
-L?\"(\\.|[^\\"])*\" { yylval->value = strdup(yytext); return(STRING_LITERAL); }
-
-"..." { return(ELLIPSIS); }
-">>=" { return(RIGHT_ASSIGN); }
-"<<=" { return(LEFT_ASSIGN); }
-"+=" { return(ADD_ASSIGN); }
-"-=" { return(SUB_ASSIGN); }
-"*=" { return(MUL_ASSIGN); }
-"/=" { return(DIV_ASSIGN); }
-"%=" { return(MOD_ASSIGN); }
-"&=" { return(AND_ASSIGN); }
-"^=" { return(XOR_ASSIGN); }
-"|=" { return(OR_ASSIGN); }
-">>" { return(RIGHT_OP); }
-"<<" { return(LEFT_OP); }
-"++" { return(INC_OP); }
-"--" { return(DEC_OP); }
-"->" { return(PTR_OP); }
-"&&" { return(AND_OP); }
-"||" { return(OR_OP); }
-"<=" { return(LE_OP); }
-">=" { return(GE_OP); }
-"==" { return(EQ_OP); }
-"!=" { return(NE_OP); }
-";" { return(';'); }
-("{"|"<%") { return('{'); }
-("}"|"%>") { return('}'); }
-"," { return(','); }
-":" { return(':'); }
-"=" { return('='); }
-"(" { return('('); }
-")" { return(')'); }
-("["|"<:") { return('['); }
-("]"|":>") { return(']'); }
-"." { return('.'); }
-"&" { return('&'); }
-"!" { return('!'); }
-"~" { return('~'); }
-"-" { return('-'); }
-"+" { return('+'); }
-"*" { return('*'); }
-"/" { return('/'); }
-"%" { return('%'); }
-"<" { return('<'); }
-">" { return('>'); }
-"^" { return('^'); }
-"|" { return('|'); }
-"?" { return('?'); }
-
-[ \t\v\n\f] { }
-. { /* ignore bad characters */ }
-
-%%