aboutsummaryrefslogtreecommitdiff
path: root/c++filt/c++filt.l
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2007-07-01 16:33:44 +0000
committerMike Buland <eichlan@xagasoft.com>2007-07-01 16:33:44 +0000
commitbd5542900c087827df2a12cd08bb7e81aba57344 (patch)
tree7398cf839863f159f34f3a8794de581595dcb553 /c++filt/c++filt.l
parent794a87fc3a1583cbd7b4e0287e2c3152fc58edf9 (diff)
downloadbuild-bd5542900c087827df2a12cd08bb7e81aba57344.tar.gz
build-bd5542900c087827df2a12cd08bb7e81aba57344.tar.bz2
build-bd5542900c087827df2a12cd08bb7e81aba57344.tar.xz
build-bd5542900c087827df2a12cd08bb7e81aba57344.zip
Added c++filt, but in the wrong place, next commit it'll build.
Diffstat (limited to 'c++filt/c++filt.l')
-rw-r--r--c++filt/c++filt.l62
1 files changed, 62 insertions, 0 deletions
diff --git a/c++filt/c++filt.l b/c++filt/c++filt.l
new file mode 100644
index 0000000..af12cac
--- /dev/null
+++ b/c++filt/c++filt.l
@@ -0,0 +1,62 @@
1%{
2# include <string>
3
4int nBC = 0;
5%}
6
7%s hasT
8%x inWith
9%x inT
10%option noyywrap nounput batch
11
12%%
13
14"operator<<" { ECHO; }
15"operator>>" { ECHO; }
16"operator". { ECHO; }
17
18"<<" { ECHO; }
19">>" { ECHO; }
20" <<" { ECHO; }
21" >>" { ECHO; }
22
23"<anonymous>" { ECHO; }
24
25\n+ {
26 BEGIN( INITIAL );
27 nBC = false;
28 ECHO;
29}
30
31" <" { ECHO; }
32
33"<" {
34 BEGIN( inT );
35 printf("<...>");
36 nBC++;
37}
38
39<inT>"<" {
40 nBC++;
41
42}
43<inT>[^<>]* { }
44<inT>">" {
45 nBC--;
46 if( nBC == 0 )
47 BEGIN( hasT );
48}
49
50<hasT>" [with"[^\]]*"]" { }
51
52%%
53
54int main()
55{
56 yyin = stdin;
57
58 yylex();
59
60 return 0;
61}
62