summaryrefslogtreecommitdiff
path: root/codegen
diff options
context:
space:
mode:
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.co.uk>2010-12-13 20:25:52 +0200
committerGeorge Kiagiadakis <george.kiagiadakis@collabora.co.uk>2010-12-13 20:25:52 +0200
commitcce3089b8d9eba9597d3237c28788f2b095a2492 (patch)
tree48712af77a3bc7817393a2b375bf048c67da90a9 /codegen
parent4f51c0c761caf5adebccf71cabbbd179ae17fe33 (diff)
Catch C++ keywords only if they have space before.
This is to make value.h, which is using boost::is_enum<T>, to work with codegen.
Diffstat (limited to 'codegen')
-rw-r--r--codegen/analyzer.l6
1 files changed, 3 insertions, 3 deletions
diff --git a/codegen/analyzer.l b/codegen/analyzer.l
index 89bfe4c..de4b869 100644
--- a/codegen/analyzer.l
+++ b/codegen/analyzer.l
@@ -51,7 +51,7 @@ QGLIB_REGISTER_TYPE\( { yy_push_state(REGISTER_TYPE); return REGISTER_TYPE_BE
. { yyerror(codegen, "Syntax error in QGLIB_REGISTER_TYPE"); }
}
-enum { yy_push_state(ENUM); return ENUM_KEYWORD; }
+[[:space:]]enum { yy_push_state(ENUM); return ENUM_KEYWORD; }
<ENUM>{
\{ { return LEFT_BRACE; }
\} { return RIGHT_BRACE; }
@@ -91,14 +91,14 @@ enum { yy_push_state(ENUM); return ENUM_KEYWORD; }
.
}
-namespace { yy_push_state(NAMESPACE); }
+[[:space:]]namespace { yy_push_state(NAMESPACE); }
<NAMESPACE>{
{id} { codegen->setCurrentNameSpace(yytext); yy_pop_state(); }
[[:space:]]*
. { yyerror(codegen, "Expected identifier after namespace keyword"); }
}
-class { yy_push_state(CLASS); }
+[[:space:]]class { yy_push_state(CLASS); }
<CLASS>{
{id} { codegen->setCurrentClass(yytext); yy_pop_state(); }
[[:space:]]*