summaryrefslogtreecommitdiff
path: root/src/testpattern/testpatternl.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/testpattern/testpatternl.l')
-rw-r--r--src/testpattern/testpatternl.l20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/testpattern/testpatternl.l b/src/testpattern/testpatternl.l
index a6894c9..825bf08 100644
--- a/src/testpattern/testpatternl.l
+++ b/src/testpattern/testpatternl.l
@@ -1,5 +1,5 @@
/*
- * "$Id: testpatternl.l,v 1.22 2008/06/08 01:03:51 rlk Exp $"
+ * "$Id: testpatternl.l,v 1.25 2009/06/14 17:12:44 rlk Exp $"
*
* Test pattern generator for Gimp-Print
*
@@ -64,22 +64,18 @@ do \
%option noyywrap
+ldigit [1-9]
digit [0-9]
-integer ([-+]|0[xX])?{digit}+
+odigit [0-7]
+xdigit [0-9a-fA-F]
+integer ([-+]?(0|{ldigit}{digit}*))|(0{odigit}*)|(0[xX]{xdigit}+)
float [-+]?{digit}+(\.{digit}+)?([eE][-+]?{digit}+)?
-string ([\"][^\"]+[\"])|([a-zA-Z0-9_][-a-zA-Z0-9_]*)|([\'][^\']*[\'])
+string ([\"][^\"]*[\"])|([a-zA-Z0-9_][-a-zA-Z0-9_]*)|([\'][^\']*[\'])
ws [ \t]+
+color ((l_)?(cyan|magenta|yellow|black))|(l_l_black)|(d_yellow)
%%
-cyan yylval.sval = yytext;DBG(CYAN); return CYAN;
-l_cyan yylval.sval = yytext;DBG(L_CYAN); return L_CYAN;
-magenta yylval.sval = yytext;DBG(MAGENTA); return MAGENTA;
-l_magenta yylval.sval = yytext;DBG(L_MAGENTA); return L_MAGENTA;
-yellow yylval.sval = yytext;DBG(YELLOW); return YELLOW;
-d_yellow yylval.sval = yytext;DBG(D_YELLOW); return D_YELLOW;
-black yylval.sval = yytext;DBG(BLACK); return BLACK;
-l_black yylval.sval = yytext;DBG(L_BLACK); return L_BLACK;
gamma DBG(GAMMA); return GAMMA;
level DBG(LEVEL); return LEVEL;
steps DBG(STEPS); return STEPS;
@@ -120,7 +116,7 @@ start_job DBG(START_JOB); return START_JOB;
end_job DBG(END_JOB); return END_JOB;
end DBG(END); return END;
-
+{color} yylval.sval = yytext;DBG(COLOR); return COLOR;
{integer} yylval.ival = strtol(yytext, NULL, 0); yylval.dval = (double) yylval.ival; DBG(tINT); return tINT;
{float} yylval.dval = strtod(yytext, NULL); DBG(tDOUBLE); return tDOUBLE;
{string} yylval.sval = c_strstrip(yytext); DBG(tSTRING); return tSTRING;