%{
+#include <config.h>
+
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include "parser.hpp"
#include "globals.hpp"
+// there seems to be a bug in flex that adds some ECHO directives
+// in some rules, we don't need debug output
+#define ECHO {}
+
#define YY_NEVER_INTERACTIVE 1
#define YY_DECL int yylex(YYSTYPE* yylval)
protected { return T_PROTECTED; }
private { return T_PRIVATE; }
namespace { return T_NAMESPACE; }
+__suspend { return T_SUSPEND; }
+__custom { return T_CUSTOM; }
[a-zA-Z_][a-zA-Z_0-9]* {
Namespace* ns = search_namespace;
if(ns == 0)
ns = current_namespace;
// is it a type?
yylval->atomic_type = ns->_findType(yytext, search_down);
- if(yylval->atomic_type)
+ if(yylval->atomic_type) {
return T_ATOMIC_TYPE;
+ }
// or a namespace? (hack for now...)
yylval->_namespace = ns->_findNamespace(yytext, search_down);
if(yylval->_namespace) {