macroprocessor: if you encounter dates(date), insert quotes
parent
858159a4f5
commit
9eb34cee4a
|
@ -51,7 +51,8 @@ typedef Macro::parser::token token;
|
||||||
%x FOR_BODY
|
%x FOR_BODY
|
||||||
%x THEN_BODY
|
%x THEN_BODY
|
||||||
%x ELSE_BODY
|
%x ELSE_BODY
|
||||||
%x END_DATE
|
%x DATE_MATCH
|
||||||
|
%x CLOSE_DATE
|
||||||
|
|
||||||
%{
|
%{
|
||||||
// Increments location counter for every token read
|
// Increments location counter for every token read
|
||||||
|
@ -92,8 +93,10 @@ DATE (-[1-9][0-9]*|[0-9]+)([YyAa]|[Mm]([1-9]|1[0-2])|[Qq][1-4]|[Ww]([1-9]{1}|[1-
|
||||||
<INITIAL>{DATE} { yylloc->step(); *yyout << "dates('" << yytext << "')"; }
|
<INITIAL>{DATE} { yylloc->step(); *yyout << "dates('" << yytext << "')"; }
|
||||||
<INITIAL>${DATE} { yylloc->step(); *yyout << yytext + 1; }
|
<INITIAL>${DATE} { yylloc->step(); *yyout << yytext + 1; }
|
||||||
|
|
||||||
<INITIAL>dates{SPC}*\({SPC}*\'{DATE} { yylloc->step(); *yyout << yytext; BEGIN(END_DATE); }
|
<INITIAL>dates{SPC}*\({SPC}* { yylloc->step(); *yyout << "dates("; BEGIN(DATE_MATCH); }
|
||||||
<END_DATE>{SPC}*\'{SPC}*\) { yylloc->step(); *yyout << yytext; BEGIN(INITIAL); }
|
<DATE_MATCH>\'{SPC}*{DATE}{SPC}*\' { yylloc->step(); *yyout << yytext; BEGIN(CLOSE_DATE); }
|
||||||
|
<DATE_MATCH>{DATE} { yylloc->step(); *yyout << "'" << yytext << "'"; BEGIN(CLOSE_DATE); }
|
||||||
|
<CLOSE_DATE>{SPC}*\) { yylloc->step(); *yyout << ")"; BEGIN(INITIAL); }
|
||||||
|
|
||||||
<EXPR>\} { BEGIN(INITIAL); return token::EOL; }
|
<EXPR>\} { BEGIN(INITIAL); return token::EOL; }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue