aboutsummaryrefslogtreecommitdiff
path: root/unix/boot/spp/rpp/ratlibf/omatch.f
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
commitfa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch)
treebdda434976bc09c864f2e4fa6f16ba1952b1e555 /unix/boot/spp/rpp/ratlibf/omatch.f
downloadiraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz
Initial commit
Diffstat (limited to 'unix/boot/spp/rpp/ratlibf/omatch.f')
-rw-r--r--unix/boot/spp/rpp/ratlibf/omatch.f60
1 files changed, 60 insertions, 0 deletions
diff --git a/unix/boot/spp/rpp/ratlibf/omatch.f b/unix/boot/spp/rpp/ratlibf/omatch.f
new file mode 100644
index 00000000..60d57c83
--- /dev/null
+++ b/unix/boot/spp/rpp/ratlibf/omatch.f
@@ -0,0 +1,60 @@
+ integer function omatch (lin, i, pat, j)
+ integer lin (128), pat (128)
+ integer i, j
+ integer bump
+ integer locate
+ omatch = 0
+ if (.not.(lin (i) .eq. -2))goto 23000
+ return
+23000 continue
+ bump = -1
+ if (.not.(pat (j) .eq. 97))goto 23002
+ if (.not.(lin (i) .eq. pat (j + 1)))goto 23004
+ bump = 1
+23004 continue
+ goto 23003
+23002 continue
+ if (.not.(pat (j) .eq. 37))goto 23006
+ if (.not.(i .eq. 1))goto 23008
+ bump = 0
+23008 continue
+ goto 23007
+23006 continue
+ if (.not.(pat (j) .eq. 63))goto 23010
+ if (.not.(lin (i) .ne. 10))goto 23012
+ bump = 1
+23012 continue
+ goto 23011
+23010 continue
+ if (.not.(pat (j) .eq. 36))goto 23014
+ if (.not.(lin (i) .eq. 10))goto 23016
+ bump = 0
+23016 continue
+ goto 23015
+23014 continue
+ if (.not.(pat (j) .eq. 91))goto 23018
+ if (.not.(locate (lin (i), pat, j + 1) .eq. 1))goto 23020
+ bump = 1
+23020 continue
+ goto 23019
+23018 continue
+ if (.not.(pat (j) .eq. 110))goto 23022
+ if (.not.(lin (i) .ne. 10 .and. locate (lin (i), pat, j + 1) .eq.
+ *0))goto 23024
+ bump = 1
+23024 continue
+ goto 23023
+23022 continue
+ call error (24Hin omatch: can't happen.)
+23023 continue
+23019 continue
+23015 continue
+23011 continue
+23007 continue
+23003 continue
+ if (.not.(bump .ge. 0))goto 23026
+ i = i + bump
+ omatch = 1
+23026 continue
+ return
+ end