Rewrote prcontext.py in tcl.
authorTanya Lattner <tonic@nondot.org>
Sat, 13 Nov 2004 21:03:22 +0000 (21:03 +0000)
committerTanya Lattner <tonic@nondot.org>
Sat, 13 Nov 2004 21:03:22 +0000 (21:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17708 91177308-0d34-0410-b5e6-96231b3b80d8

test/Scripts/prcontext.tcl [new file with mode: 0755]

diff --git a/test/Scripts/prcontext.tcl b/test/Scripts/prcontext.tcl
new file mode 100755 (executable)
index 0000000..5ab0854
--- /dev/null
@@ -0,0 +1,36 @@
+#!/usr/bin/tclsh
+#
+# Usage:
+# prcontext <pattern> <# lines of context>
+# (for platforms that don't have grep -C)
+
+
+#
+# Get the arguments
+#
+set pattern [lindex $argv 0]
+set num [lindex $argv 1]
+
+
+#
+# Get all of the lines in the file.
+#
+set lines [split [read stdin] \n]
+
+set index 0
+foreach line $lines {
+    if { [regexp $pattern $line match matchline] } {
+        if { [ expr [expr $index - $num] < 0 ] } {
+            set bottom 0
+        } else {
+            set bottom [expr $index - $num]
+        }
+        set endLineNum [ expr [expr $index + $num] + 1]
+        while {$bottom < $endLineNum} {
+            set output [lindex $lines $bottom]
+            puts $output
+            set bottom [expr $bottom + 1]
+        }
+    }
+    set index [expr $index + 1]
+}
\ No newline at end of file