summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2013-11-17 20:03:50 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2013-11-17 20:03:50 (GMT)
commite0af50954d180b1b4ad7d873a05877be8b22b832 (patch)
tree4d33b45f4983b2c1066ac1c26e7386270366e558
parent3daf3dbd33fd9e117eabf8b361cb612af82d8aa8 (diff)
parent73d94c3852893eef59af1ef8252df12bb1db9371 (diff)
downloadDoxygen-e0af50954d180b1b4ad7d873a05877be8b22b832.zip
Doxygen-e0af50954d180b1b4ad7d873a05877be8b22b832.tar.gz
Doxygen-e0af50954d180b1b4ad7d873a05877be8b22b832.tar.bz2
Merge pull request #56 from albert-github/feature/debug_lex
Debug output for lexical analyzer
-rw-r--r--src/config.l7
-rw-r--r--src/doctokenizer.l12
2 files changed, 17 insertions, 2 deletions
diff --git a/src/config.l b/src/config.l
index cc0a2f8..05df386 100644
--- a/src/config.l
+++ b/src/config.l
@@ -33,6 +33,7 @@
#include "version.h"
#include "portable.h"
#include "util.h"
+#include "message.h"
#include "lang_cfg.h"
#include "configoptions.h"
@@ -1686,8 +1687,12 @@ bool Config::parseString(const char *fn,const char *str)
bool Config::parse(const char *fn)
{
+ int retval;
encoding = "UTF-8";
- return parseString(fn,configFileToString(fn));
+ printlex(yy_flex_debug, TRUE, __FILE__, fn);
+ retval = parseString(fn,configFileToString(fn));
+ printlex(yy_flex_debug, FALSE, __FILE__, fn);
+ return retval;
}
extern "C" { // some bogus code to keep the compiler happy
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
index deded6a..5ba1a72 100644
--- a/src/doctokenizer.l
+++ b/src/doctokenizer.l
@@ -320,6 +320,9 @@ static int yyread(char *buf,int max_size)
}
//--------------------------------------------------------------------------
+#define REAL_YY_DECL int doctokenizerYYlex (void)
+#define YY_DECL static int local_doctokinizer(void)
+#define LOCAL_YY_DECL local_doctokinizer()
%}
@@ -736,7 +739,7 @@ REFWORD {LABELID}|{REFWORD2}|{REFWORD3}|{LNKWORD2}
}
<St_CodeOpt>{BLANK}*"{"(".")?{LABELID}"}" {
g_token->name = yytext;
- int i=g_token->name.find('{');
+ int i=g_token->name.find('{'); /* } to keep vi happy */
g_token->name = g_token->name.mid(i+1,g_token->name.length()-i-2);
BEGIN(St_Code);
}
@@ -1387,6 +1390,13 @@ void doctokenizerYYendAutoList()
g_autoListLevel--;
}
+REAL_YY_DECL
+{
+ printlex(yy_flex_debug, TRUE, __FILE__, g_fileName);
+ int retval = LOCAL_YY_DECL;
+ printlex(yy_flex_debug, FALSE, __FILE__, g_fileName);
+ return retval;
+}
#if !defined(YY_FLEX_SUBMINOR_VERSION)
extern "C" { // some bogus code to keep the compiler happy
void doctokenizerYYdummy() { yy_flex_realloc(0,0); }