From 6dfea71b967f6e4ab1372a26653bf806f77443c7 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Thu, 11 Feb 2010 00:12:12 -0500 Subject: Support spaces after the '#' in language directives. --- dimension/lexer.l | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'dimension/lexer.l') diff --git a/dimension/lexer.l b/dimension/lexer.l index d206605..d065ed5 100644 --- a/dimension/lexer.l +++ b/dimension/lexer.l @@ -207,18 +207,18 @@ unsigned long wchar; "z" RETURN_TOKEN(DMNSN_T_Z); (?# Directives) -"#declare" RETURN_TOKEN(DMNSN_T_DECLARE); -"#else" RETURN_TOKEN(DMNSN_T_ELSE); -"#end" RETURN_TOKEN(DMNSN_T_END); -"#if" RETURN_TOKEN(DMNSN_T_IF); -"#ifdef" RETURN_TOKEN(DMNSN_T_IFDEF); -"#ifndef" RETURN_TOKEN(DMNSN_T_IFNDEF); -"#include" RETURN_TOKEN(DMNSN_T_INCLUDE); -"#local" RETURN_TOKEN(DMNSN_T_LOCAL); -"#undef" RETURN_TOKEN(DMNSN_T_UNDEF); -"#version" RETURN_TOKEN(DMNSN_T_VERSION); -"#while" RETURN_TOKEN(DMNSN_T_WHILE); -"#"[[:alnum:]_]* { +#[\b\r\t\v ]*declare RETURN_TOKEN(DMNSN_T_DECLARE); +#[\b\r\t\v ]*else RETURN_TOKEN(DMNSN_T_ELSE); +#[\b\r\t\v ]*end RETURN_TOKEN(DMNSN_T_END); +#[\b\r\t\v ]*if RETURN_TOKEN(DMNSN_T_IF); +#[\b\r\t\v ]*ifdef RETURN_TOKEN(DMNSN_T_IFDEF); +#[\b\r\t\v ]*ifndef RETURN_TOKEN(DMNSN_T_IFNDEF); +#[\b\r\t\v ]*include RETURN_TOKEN(DMNSN_T_INCLUDE); +#[\b\r\t\v ]*local RETURN_TOKEN(DMNSN_T_LOCAL); +#[\b\r\t\v ]*undef RETURN_TOKEN(DMNSN_T_UNDEF); +#[\b\r\t\v ]*version RETURN_TOKEN(DMNSN_T_VERSION); +#[\b\r\t\v ]*while RETURN_TOKEN(DMNSN_T_WHILE); +#[\b\r\t\v ]*[[:alnum:]_]* { dmnsn_diagnostic(filename, yylineno, yycolumn, "Unrecognized language directive '%s'", yytext); RETURN_TOKEN(DMNSN_T_LEX_ERROR); -- cgit v1.2.3