]> granicus.if.org Git - yasm/commitdiff
Cleanup script for re2c output that removes unreferenced labels (significantly
authorPeter Johnson <peter@tortall.net>
Mon, 3 Jun 2002 07:13:09 +0000 (07:13 -0000)
committerPeter Johnson <peter@tortall.net>
Mon, 3 Jun 2002 07:13:09 +0000 (07:13 -0000)
reducing C compiler warnings).

svn path=/trunk/yasm/; revision=647

tools/re2c/Makefile.am
tools/re2c/Makefile.inc
tools/re2c/cleanup.pl [new file with mode: 0755]

index 75d564888eb023e54e9fb7c2496f94f3ef510f39..6c8c5ae12b4fb2ee31c36a891ef2acb49dbe1def 100644 (file)
@@ -52,4 +52,5 @@ EXTRA_DIST = \
        examples/simple.re      \
        examples/rexx/README    \
        examples/rexx/rexx.l    \
-       examples/rexx/scanio.c
+       examples/rexx/scanio.c  \
+       cleanup.pl
index 75d564888eb023e54e9fb7c2496f94f3ef510f39..6c8c5ae12b4fb2ee31c36a891ef2acb49dbe1def 100644 (file)
@@ -52,4 +52,5 @@ EXTRA_DIST = \
        examples/simple.re      \
        examples/rexx/README    \
        examples/rexx/rexx.l    \
-       examples/rexx/scanio.c
+       examples/rexx/scanio.c  \
+       cleanup.pl
diff --git a/tools/re2c/cleanup.pl b/tools/re2c/cleanup.pl
new file mode 100755 (executable)
index 0000000..7034a46
--- /dev/null
@@ -0,0 +1,10 @@
+#!/usr/bin/perl
+my @sourcelines = <>;
+my %usedlabel;
+for (@sourcelines) {
+    $usedlabel{"$1:"} = "$1:" if m/goto\s+(yy[0-9]*)\s*;/
+}
+for (@sourcelines) {
+    s/^(yy[0-9]*:)/$usedlabel{$1}/;
+    print;
+}