From ff31180482f956e2d63f12b32381f711aaa3a0a2 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Tue, 17 Feb 2004 22:45:27 +0000 Subject: [PATCH] Initial revision --- doc/flowchart.pic | 93 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 doc/flowchart.pic diff --git a/doc/flowchart.pic b/doc/flowchart.pic new file mode 100644 index 0000000..ad7bc98 --- /dev/null +++ b/doc/flowchart.pic @@ -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 + "NO" at NO + (0.2, 0.06) + YES: 0.2 + "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 + "NO" at NO + (-0.2, 0.06) + YES: 0.2 + "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 + line from FRAME.w to 0.15 + line from FRAME.se to FRAME.ne + NO: 0.8 + "NO" at NO + (0.2, 0.06) + YES: 0.2 + "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 + line from last line.end to 0.8 + 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 + HILEFT: 0.9 + HIRIGHT: 0.9 + 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 + NE: 0.1 + SW: 0.1 + SE: 0.1 + 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 +]} -- 2.43.0