%s NORMAL
%o 6000
%{
/*
* $Header$
*
* Filter to add vile "attribution" sequences to a mCRL(2) specification
* or model, based on the text filter.
*
* By Paul van Tilburg
and Bas Kloet .
*/
#include
DefineFilter("mcrl");
static char *Comment_attr;
static char *Keyword_attr;
static char *Number_attr;
%}
COMMENT %.*\n
KEYWORD [[:alpha:]_][[:alnum:]_]*
SIGN [-+]
DECIMAL [[:digit:]_]+
REAL [-+]?([[:digit:]_]*\.[[:digit:]][[:digit:]_]*)([eE][+-]?[[:digit:]_]+)?
NUMBER {SIGN}?({DECIMAL}|{REAL})
%%
{KEYWORD} { WriteToken(keyword_attr(yytext)); }
{COMMENT} { WriteToken(Comment_attr); }
{NUMBER} { WriteToken(Number_attr); }
%%
static void
init_filter(int before GCC_UNUSED)
{
(void) before;
}
static void
do_filter(FILE *inputs)
{
yyin = inputs;
Comment_attr = class_attr(NAME_COMMENT);
Keyword_attr = class_attr(NAME_KEYWORD);
Number_attr = class_attr(NAME_NUMBER);
BEGIN(NORMAL);
while (yylex() > 0) {
}
flt_bfr_finish();
}