]> thyrsus.com Git - mad.git/commitdiff
Initial revision
authorEric S. Raymond <esr@thyrsus,com>
Tue, 17 Feb 2004 22:45:27 +0000 (22:45 +0000)
committerEric S. Raymond <esr@thyrsus,com>
Tue, 17 Feb 2004 22:45:27 +0000 (22:45 +0000)
doc/flowchart.pic [new file with mode: 0644]

diff --git a/doc/flowchart.pic b/doc/flowchart.pic
new file mode 100644 (file)
index 0000000..ad7bc98
--- /dev/null
@@ -0,0 +1,93 @@
+define terminal {box $1 ht 0.3 rad 0.2}
+
+define diamond {[
+   FRAME: box invis "$1" $2 $3 $4
+   line from FRAME.e to FRAME.n
+   line from FRAME.w to FRAME.n
+   line from FRAME.e to FRAME.s
+   line from FRAME.w to FRAME.s
+]}
+
+define triangle {[
+   FRAME: box invis "      $1" ht 1.0 $2 $3 $4
+   line from FRAME.w to FRAME.ne
+   line from FRAME.w to FRAME.se
+   line from FRAME.se to FRAME.ne
+   NO: 0.7<FRAME.se,FRAME.ne>
+   "NO" at NO + (0.2, 0.06)
+   YES: 0.2<FRAME.se,FRAME.ne>
+   "YES" at YES + (0.2, 0.06)
+]}
+
+define revtriangle {[
+   FRAME: box invis "$1" ht 1.0 $2 $3 $4
+   line from FRAME.e to FRAME.nw
+   line from FRAME.e to FRAME.sw
+   line from FRAME.sw to FRAME.nw
+   NO: 0.7<FRAME.sw,FRAME.nw>
+   "NO" at NO + (-0.2, 0.06)
+   YES: 0.2<FRAME.sw,FRAME.nw>
+   "YES" at YES + (-0.2, 0.06)
+]}
+
+define iter {[
+   FRAME: box "      $4" "      $3" "      $5" ht 1.5 wid 1.0
+   line from FRAME.w to 0.85<FRAME.se,FRAME.ne>
+   line from FRAME.w to 0.15<FRAME.se,FRAME.ne>
+   line from FRAME.se to FRAME.ne
+   NO: 0.8<FRAME.se,FRAME.ne>
+   "NO" at NO + (0.2, 0.06)
+   YES: 0.2<FRAME.se,FRAME.ne>
+   "YES" at YES + (0.2, 0.06)
+   "$1" at FRAME.n + (-0.1, -0.2)
+   "$2" at FRAME.s + (-0.1, 0.2)
+]}
+
+define downbend {line right 0.1 $1; arrow down}
+
+define read {[
+  FRAME: box ht 0.5 wid 1.0 $1 invis
+  line from FRAME.ne to 0.8<FRAME.ne,FRAME.nw>
+  line from last line.end to 0.8<FRAME.sw,FRAME.nw>
+  line from last line.end to FRAME.sw
+  line from FRAME.se to FRAME.ne
+  line from FRAME.se to FRAME.sw
+  "READ" at FRAME.n - (0, 0.1)
+]}
+
+define printme {[
+  FRAME: box ht 0.8 invis
+  line from FRAME.ne to FRAME.nw
+  $1 $2 $3 at FRAME.c
+  L: line from FRAME.nw to FRAME.sw
+  R: line from FRAME.ne to 0.85<FRAME.ne,FRAME.se>
+  HILEFT: 0.9<FRAME.sw,FRAME.nw>
+  HIRIGHT: 0.9<FRAME.se,FRAME.ne>
+  MID: FRAME.s
+  arc from L.end to MID
+  arc from R.end to MID rad 0.4
+  "PRINT" at FRAME.n - (0, 0.1)
+]} 
+
+define throughbox{[
+  FRAME: box invis wid 1.1 "THROUGH $1" "FOR $2 = $3,$4," "$5"
+  NW: 0.1<FRAME.nw,FRAME.ne>
+  NE: 0.1<FRAME.ne,FRAME.nw>
+  SW: 0.1<FRAME.sw,FRAME.se>
+  SE: 0.1<FRAME.se,FRAME.sw>
+  line from NE to NW
+  line from SE to SW
+  line from NE to FRAME.e
+  line from SE to FRAME.e
+  line from NW to FRAME.w
+  line from SW to FRAME.w
+]}
+
+define label {[
+   FRAME: box invis "$1"
+   line from FRAME.e to FRAME.n
+   line from FRAME.w to FRAME.n
+   line from FRAME.e to FRAME.s
+   line from FRAME.w to FRAME.s
+   circle rad 0.2 with .c at FRAME.c
+]}