From a1bc3936b85eab573361026ae323c1a02e0f0ccd Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Sun, 1 Jul 2007 16:45:07 +0000 Subject: Ok, now there's a dir of bfilts, build-filters, that's the best I can come up with right now for these until they're integrated and it won't matter anymore. --- src/bfilt/c++/bfilt-c++.l | 62 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/bfilt/c++/bfilt-c++.l (limited to 'src/bfilt/c++/bfilt-c++.l') diff --git a/src/bfilt/c++/bfilt-c++.l b/src/bfilt/c++/bfilt-c++.l new file mode 100644 index 0000000..af12cac --- /dev/null +++ b/src/bfilt/c++/bfilt-c++.l @@ -0,0 +1,62 @@ +%{ +# include + +int nBC = 0; +%} + +%s hasT +%x inWith +%x inT +%option noyywrap nounput batch + +%% + +"operator<<" { ECHO; } +"operator>>" { ECHO; } +"operator". { ECHO; } + +"<<" { ECHO; } +">>" { ECHO; } +" <<" { ECHO; } +" >>" { ECHO; } + +"" { ECHO; } + +\n+ { + BEGIN( INITIAL ); + nBC = false; + ECHO; +} + +" <" { ECHO; } + +"<" { + BEGIN( inT ); + printf("<...>"); + nBC++; +} + +"<" { + nBC++; + +} +[^<>]* { } +">" { + nBC--; + if( nBC == 0 ) + BEGIN( hasT ); +} + +" [with"[^\]]*"]" { } + +%% + +int main() +{ + yyin = stdin; + + yylex(); + + return 0; +} + -- cgit v1.2.3