summaryrefslogtreecommitdiffstats
path: root/trunk/src/constexp.l
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/src/constexp.l')
-rw-r--r--trunk/src/constexp.l120
1 files changed, 0 insertions, 120 deletions
diff --git a/trunk/src/constexp.l b/trunk/src/constexp.l
deleted file mode 100644
index fae99cf..0000000
--- a/trunk/src/constexp.l
+++ /dev/null
@@ -1,120 +0,0 @@
-/******************************************************************************
- *
- *
- *
- *
- * Copyright (C) 1997-2012 by Dimitri van Heesch.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation under the terms of the GNU General Public License is hereby
- * granted. No representations are made about the suitability of this software
- * for any purpose. It is provided "as is" without express or implied warranty.
- * See the GNU General Public License for more details.
- *
- * Documents produced by Doxygen are derivative works derived from the
- * input used in their production; they are not affected by this license.
- *
- */
-
-%{
-
-#include "constexp.h"
-#include "cppvalue.h"
-#include "ce_parse.h" // generated header file
-
-#define YY_NEVER_INTERACTIVE 1
-
-QCString g_strToken;
-CPPValue g_resultValue;
-int g_constExpLineNr;
-QCString g_constExpFileName;
-
-static const char *g_inputString;
-static int g_inputPosition;
-
-#undef YY_INPUT
-#define YY_INPUT(buf,result,max_size) result=yyread(buf,max_size);
-
-static int yyread(char *buf,int max_size)
-{
- int c=0;
- while( c < max_size && g_inputString[g_inputPosition] )
- {
- *buf = g_inputString[g_inputPosition++] ;
- c++; buf++;
- }
- return c;
-}
-
-%}
-
-CONSTSUFFIX ([uU][lL]?[lL]?)|([lL][lL]?[uU]?)
-
-%option nounput
-
-%%
-
-"?" { return TOK_QUESTIONMARK; }
-":" { return TOK_COLON; }
-"||" { return TOK_OR; }
-"&&" { return TOK_AND; }
-"|" { return TOK_BITWISEOR; }
-"^" { return TOK_BITWISEXOR; }
-"&" { return TOK_AMPERSAND; }
-"!=" { return TOK_NOTEQUAL; }
-"==" { return TOK_EQUAL; }
-"<" { return TOK_LESSTHAN; }
-">" { return TOK_GREATERTHAN; }
-"<=" { return TOK_LESSTHANOREQUALTO; }
-">=" { return TOK_GREATERTHANOREQUALTO; }
-"<<" { return TOK_SHIFTLEFT; }
-">>" { return TOK_SHIFTRIGHT; }
-"+" { return TOK_PLUS; }
-"-" { return TOK_MINUS; }
-"*" { return TOK_STAR; }
-"/" { return TOK_DIVIDE; }
-"%" { return TOK_MOD; }
-"~" { return TOK_TILDE; }
-"!" { return TOK_NOT; }
-"(" { return TOK_LPAREN; }
-")" { return TOK_RPAREN; }
-"'"(([^\'\n\r\\]+)|(\\(([ntvbrfa\\?'\"])|([0-9]+)|([xX][0-9a-fA-F]+))))"'" {
- g_strToken=yytext;
- return TOK_CHARACTER;
- }
-0[0-7]*{CONSTSUFFIX}? { g_strToken=yytext;
- return TOK_OCTALINT;
- }
-[1-9][0-9]*{CONSTSUFFIX}? { g_strToken=yytext;
- return TOK_DECIMALINT;
- }
-(0x|0X)[0-9a-fA-F]+{CONSTSUFFIX}? { g_strToken=yytext+2;
- return TOK_HEXADECIMALINT;
- }
-(([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+))([eE]([\-\+])?[0-9]+)?([fFlL])? {
- g_strToken=yytext; return TOK_FLOAT;
- }
-([0-9]+[eE])([\-\+])?[0-9]+([fFlL])? {
- g_strToken=yytext; return TOK_FLOAT;
- }
-.
-\n
-
-%%
-
-bool parseCppExpression(const char *fileName,int lineNr,const QCString &s)
-{
- //printf("Expression: `%s'\n",s.data());
- g_constExpFileName = fileName;
- g_constExpLineNr = lineNr;
- g_inputString = s;
- g_inputPosition = 0;
- cppExpYYrestart( cppExpYYin );
- cppExpYYparse();
- //printf("Result: %ld\n",(long)g_resultValue);
- return (long)g_resultValue!=0;
-}
-
-extern "C" {
- int cppExpYYwrap() { return 1; }
-}