home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-07-27 | 47.5 KB | 1,661 lines |
- Newsgroups: comp.sources.misc
- From: jsp@Princeton.EDU (James Plank)
- Subject: v31i056: jgraph - A filter for plotting postscript graphs v8.0, Patch01
- Message-ID: <1992Jul27.024838.2499@sparky.imd.sterling.com>
- X-Md4-Signature: 71a21280b87e58ed0579de1a8b9575b8
- Date: Mon, 27 Jul 1992 02:48:38 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: jsp@Princeton.EDU (James Plank)
- Posting-number: Volume 31, Issue 56
- Archive-name: jgraph/patch01
- Environment: UNIX, VMS, postscript
- Patch-To: jgraph: Volume 31, Issue 55-61
-
- Jgraph patch 8.1: Wed Jul 22 16:16:01 EDT 1992
-
- This is a small patch to jgraph:
-
- Fixed a bug where rarrow and larrow weren't getting copied
- on a copycurve
- Fixed a bug dealing with hash_label commands not exitting well
- with EOF's.
- Increased the default linelength on legends
- Included more example graphs.
- Fixed the makefile to make the example .jps files.
- Created NeXT.help for NeXT users.
-
- As usual, the new shar file is in princeton.edu:/pub/jgraph.Z,
- or you can get it from netlib (mail "send jgraph.shar from jgraph"
- to netlib@ornl.gov).
-
- Thanks to all who responded to my earlier query.
-
- Let me know if there are any more problems.
-
- Take it easy,
-
- Jim
-
- jsp@princeton.edu
-
-
- Patches from 8.0:
-
- *** /dev/null Wed Jul 22 14:07:57 1992
- --- NeXT.help Wed Jul 22 16:05:24 1992
- ***************
- *** 0 ****
- --- 1,6 ----
- + To compile jgraph on the NeXT machines, compile with -DLCC. This will
- + define LCC in jgraph.h so that <stdlib.h> will be included. Otherwise,
- + the compilation will go fine, but there will be type conversion errors
- + in token.c which will give bogus output.
- +
- + Jim
- *** ../work/README Wed Jul 22 15:31:55 1992
- --- README Wed Jul 22 16:05:25 1992
- ***************
- *** 1,4 ****
- ! $Revision: 8.0 $
-
- Jgraph takes the description of a graph or graphs in the standard
- input, and produces a postscript file on the standard output. Jgraph
- --- 1,4 ----
- ! $Revision: 8.1 $
-
- Jgraph takes the description of a graph or graphs in the standard
- input, and produces a postscript file on the standard output. Jgraph
- ***************
- *** 21,27 ****
- example graphs.
-
- Jgraph is available via anonymous ftp to princeton.edu, in the
- ! file jgraph.Z. This file is a compressed shell bundle file.
-
- Jgraph is also available from netlib, a mail archive server.
- To acquire jgraph from netlib, send a mail message to
- --- 21,27 ----
- example graphs.
-
- Jgraph is available via anonymous ftp to princeton.edu, in the
- ! file pub/jgraph.Z. This file is a compressed shell bundle file.
-
- Jgraph is also available from netlib, a mail archive server.
- To acquire jgraph from netlib, send a mail message to
- *** /dev/null Wed Jul 22 14:07:57 1992
- --- bailey.jgr Wed Jul 22 16:05:28 1992
- ***************
- *** 0 ****
- --- 1,30 ----
- +
- + (* Example of Unix spline(1) to smooth a curve.
- + This is a file to draw sin(i) for i going from -pi to pi *)
- +
- + newgraph
- +
- + yaxis min -1 max 1 label : sin(i)
- + xaxis label : i
- + grid_lines
- + border
- + title : Example Unix spline(1) to interpolate points
- +
- + (* Plot the sin curve *)
- + newline
- + label : data
- + pts include bailey.pts
- + copycurve
- + label : splined
- + linetype dotted
- + pts shell : spline < bailey.pts
- +
- + (*
- + bailey.pts file:
- + -3.1416 0.0
- + -1.81 -0.9715
- + -0.55 -0.5226
- + 0.71 0.6518
- + 1.97 0.9213
- + 3.1416 0.0
- + *)
- *** /dev/null Wed Jul 22 14:07:57 1992
- --- bailey.pts Wed Jul 22 16:05:28 1992
- ***************
- *** 0 ****
- --- 1,6 ----
- + -3.1416 0.0
- + -1.81 -0.9715
- + -0.55 -0.5226
- + 0.71 0.6518
- + 1.97 0.9213
- + 3.1416 0.0
- *** /dev/null Wed Jul 22 14:07:57 1992
- --- data.txt Wed Jul 22 16:05:29 1992
- ***************
- *** 0 ****
- --- 1,60 ----
- + Number of records = 0 Time = 0
- + Number of records = 5000 Time = 2
- + Number of records = 10000 Time = 3
- + Number of records = 15000 Time = 4
- + Number of records = 20000 Time = 6
- + Number of records = 25000 Time = 9
- + Number of records = 30000 Time = 10
- + Number of records = 35000 Time = 11
- + Number of records = 40000 Time = 13
- + Number of records = 45000 Time = 15
- + Number of records = 50000 Time = 16
- + Number of records = 55000 Time = 18
- + Number of records = 60000 Time = 21
- + Number of records = 65000 Time = 21
- + Number of records = 70000 Time = 23
- + Number of records = 75000 Time = 26
- + Number of records = 80000 Time = 27
- + Number of records = 85000 Time = 28
- + Number of records = 90000 Time = 31
- + Number of records = 95000 Time = 32
- + Number of records = 100000 Time = 33
- + Number of records = 105000 Time = 36
- + Number of records = 110000 Time = 38
- + Number of records = 115000 Time = 38
- + Number of records = 120000 Time = 41
- + Number of records = 125000 Time = 45
- + Number of records = 130000 Time = 44
- + Number of records = 135000 Time = 46
- + Number of records = 140000 Time = 48
- + Number of records = 145000 Time = 49
- + Number of records = 150000 Time = 51
- + Number of records = 155000 Time = 52
- + Number of records = 160000 Time = 54
- + Number of records = 165000 Time = 56
- + Number of records = 170000 Time = 58
- + Number of records = 175000 Time = 61
- + Number of records = 180000 Time = 61
- + Number of records = 185000 Time = 63
- + Number of records = 190000 Time = 69
- + Number of records = 195000 Time = 66
- + Number of records = 200000 Time = 69
- + Number of records = 210000 Time = 73
- + Number of records = 220000 Time = 77
- + Number of records = 230000 Time = 78
- + Number of records = 240000 Time = 88
- + Number of records = 250000 Time = 86
- + Number of records = 260000 Time = 89
- + Number of records = 270000 Time = 94
- + Number of records = 280000 Time = 96
- + Number of records = 290000 Time = 102
- + Number of records = 300000 Time = 104
- + Number of records = 310000 Time = 106
- + Number of records = 320000 Time = 111
- + Number of records = 330000 Time = 113
- + Number of records = 340000 Time = 120
- + Number of records = 350000 Time = 122
- + Number of records = 360000 Time = 124
- + Number of records = 370000 Time = 133
- + Number of records = 380000 Time = 131
- + Number of records = 390000 Time = 134
- *** ../work/draw.c Wed Jul 22 15:31:58 1992
- --- draw.c Wed Jul 22 16:05:31 1992
- ***************
- *** 1,7 ****
- /*
- ! * $Source: /n/fs/vd/jsp/src/jgraph/RCS/draw.c,v $
- ! * $Revision: 8.0 $
- ! * $Date: 92/07/03 14:15:39 $
- * $Author: jsp $
- */
-
- --- 1,7 ----
- /*
- ! * $Source: /n/fs/grad1/jsp/src/jgraph/RCS/draw.c,v $
- ! * $Revision: 8.1 $
- ! * $Date: 92/07/20 16:44:32 $
- * $Author: jsp $
- */
-
- *** ../work/edit.c Wed Jul 22 15:32:00 1992
- --- edit.c Wed Jul 22 16:05:33 1992
- ***************
- *** 1,7 ****
- /*
- ! * $Source: /n/fs/vd/jsp/src/jgraph/RCS/edit.c,v $
- ! * $Revision: 8.0 $
- ! * $Date: 92/07/03 14:15:40 $
- * $Author: jsp $
- */
-
- --- 1,7 ----
- /*
- ! * $Source: /n/fs/grad1/jsp/src/jgraph/RCS/edit.c,v $
- ! * $Revision: 8.1 $
- ! * $Date: 92/07/20 16:44:34 $
- * $Author: jsp $
- */
-
- ***************
- *** 122,129 ****
- c1->afill[2] = c2->afill[2];
- c1->postscript = c2->postscript;
- c1->postfile = c2->postfile;
- ! c1->rarrow = c2->rarrows;
- ! c1->larrow = c2->larrows;
- c1->rarrows = c2->rarrows;
- c1->larrows = c2->larrows;
- c1->asize[0] = c2->asize[0];
- --- 122,129 ----
- c1->afill[2] = c2->afill[2];
- c1->postscript = c2->postscript;
- c1->postfile = c2->postfile;
- ! c1->rarrow = c2->rarrow;
- ! c1->larrow = c2->larrow;
- c1->rarrows = c2->rarrows;
- c1->larrows = c2->larrows;
- c1->asize[0] = c2->asize[0];
- ***************
- *** 617,634 ****
- char *s;
- char inp_str[256];
- String st;
-
- s = CNULL;
-
- at = (first(a->hash_lines) == nil(a->hash_lines)) ? FSIG
- : first(a->hash_lines)->loc;
- ! while (getstring(inp_str)) {
- ! if (strcmp(inp_str, ":") == 0) {
- ! if ((s = getlabel()) == CNULL) return;
- ! } else if (strcmp(inp_str, "at") == 0) {
- ! if (getfloat(&f)) at = f; else rejecttoken();
- } else {
- ! rejecttoken();
- if (s == CNULL) return;
- if (at == FSIG) {
- error_header();
- --- 617,648 ----
- char *s;
- char inp_str[256];
- String st;
- + int done;
-
- s = CNULL;
-
- at = (first(a->hash_lines) == nil(a->hash_lines)) ? FSIG
- : first(a->hash_lines)->loc;
- ! while(1) {
- ! done = 0;
- ! if (getstring(inp_str)) {
- ! if (strcmp(inp_str, ":") == 0) {
- ! if ((s = getlabel()) == CNULL) return;
- ! } else if (strcmp(inp_str, "at") == 0) {
- ! if (getfloat(&f)) {
- ! at = f;
- ! } else {
- ! rejecttoken();
- ! done = 1;
- ! }
- ! } else {
- ! rejecttoken();
- ! done = 1;
- ! }
- } else {
- ! done = 1;
- ! }
- ! if (done) {
- if (s == CNULL) return;
- if (at == FSIG) {
- error_header();
- *** /dev/null Wed Jul 22 14:07:57 1992
- --- ex1.jgr Wed Jul 22 16:05:34 1992
- ***************
- *** 0 ****
- --- 1,36 ----
- + (* This is a graph for Figure 1 of the USENIX jgraph abstract. It shows
- + three simple curves plotted with jgraph.
- +
- + There are two graphs plotted -- the first is the actual jgraph. The
- + second is a text string showing the input for the graph. Print it
- + out -- you'll see what I mean.
- + *)
- +
- + newgraph
- + xaxis size 2
- + yaxis size 1.5
- +
- + newcurve pts 0 6 1 9 2 11 3 14 4 18 5 20
- + newcurve marktype triangle linetype solid
- + pts 0 3 1 4 2 7 3 9 4 10 5 13
- + newcurve marktype none linetype dashed
- + pts 0 0 1 2 2 3 3 5 4 6 5 9
- +
- + copygraph
- + x_translate -3.5
- + border
- + xaxis nodraw min 0 max 1 size 2.8
- + yaxis nodraw min 0 max 1
- +
- + newstring hjl vjc x .05 y .5 font Courier fontsize 7 :
- + newgraph\
- + newcurve \
- + pts 0 6 1 9 2 11 3 14 4 18 5 20\
- + newcurve \
- + marktype triangle \
- + linetype solid\
- + pts 0 3 1 4 2 7 3 9 4 10 5 13\
- + newcurve \
- + marktype none \
- + linetype dashed\
- + pts 0 0 1 2 2 3 3 5 4 6 5 9
- *** /dev/null Wed Jul 22 14:07:57 1992
- --- ex2.jgr Wed Jul 22 16:05:34 1992
- ***************
- *** 0 ****
- --- 1,58 ----
- + (* This is a graph for Figure 2 of the USENIX jgraph abstract. It shows
- + how to extract points from a data file with awk, and how to use awk
- + to plot a function to match the data (the function that is plot here
- + is (n/k)log(n), where k is expermentally chosen to be 35000.
- +
- + There are two graphs plotted -- the first is the actual jgraph. The
- + second is a text string showing the input for the graph. Print it
- + out -- you'll see what I mean.
- +
- + *)
- +
- + newgraph
- + xaxis size 2.5
- + hash_labels font Helvetica
- + label : Number of indexed Records (N)
- + yaxis size 2.1
- + label : Running time (seconds)
- + hash_labels font Helvetica
- +
- + newcurve
- + marktype cross
- + label : Data
- + pts shell : awk '{print $5, $8}' data.txt
- +
- + newcurve
- + marktype none linetype solid
- + label : N log N / 35000
- + pts shell : nawk \
- + ' $5 != 0 { \
- + print $5, $5 * log($5) / 35000}' \
- + data.txt
- +
- + copygraph
- + x_translate -3.1
- + border
- + xaxis nodraw min 0 max 1 size 2.3
- + yaxis nodraw min 0 max 1
- +
- + newstring hjl vjc x .03 y .5 font Courier fontsize 6 :
- + xaxis size 2.5 \
- + hash_labels font Helvetica\
- + label : Number of indexed Records (N)\
- + yaxis size 2.1 \
- + label : Running time (seconds)\
- + hash_labels font Helvetica\
- + \
- + newcurve \
- + marktype cross\
- + label : Data\
- + pts shell : awk '{print $5, $8}' data.txt\
- + \
- + newcurve\
- + marktype none linetype solid\
- + label : N log N / 35000\
- + pts shell : nawk \\
- + ' $5 != 0 { \\
- + print $5, $5 * log($5) / 35000}' \\
- + data.txt\
- *** /dev/null Wed Jul 22 14:07:57 1992
- --- g8col.jgr Wed Jul 22 16:05:36 1992
- ***************
- *** 0 ****
- --- 1,72 ----
- + (* $Log: g8.jgr,v $
- + * Revision 1.1 90/10/12 17:33:33 jsp
- + * Initial revision
- + *
- + *)
- +
- + Y 3
- +
- + (* Graph #8: Frequency of Traps. This graph shows examples of plotting
- + * character strings. *)
- +
- + newgraph
- +
- + yaxis size 1.9 min 0 max 10 hash 1 mhash 0
- + hash_labels fontsize 7
- + label fontsize 8 : Traps per 0.1 second Interval
- +
- + xaxis size 2.14 min 0 max 2.6001 hash .5 mhash 4 precision 1
- + hash_labels fontsize 7
- + label fontsize 8 : Starting Time of 0.1 second interval (sec)
- +
- + newcurve marktype box cfill 1 1 0 marksize 11 60 pts 1.3 5
- +
- + copygraph
- +
- + title fontsize 10 : Graph 8: Frequency of Traps.
- +
- +
- + newcurve
- + marktype circle fill 0
- + linetype none
- + pts
- + 0.0 9
- + 0.1 3
- + 0.2 5
- + 0.3 6
- + 0.4 6
- + 0.5 5
- + 0.6 6
- + 0.7 6
- + 0.8 6
- + 0.9 6
- + 1.0 6
- + 1.1 4
- + 1.2 5
- + 1.3 3
- + 1.4 4
- + 1.5 5
- + 1.6 3
- + 1.7 5
- + 1.8 5
- + 1.9 4
- + 2.0 3
- + 2.1 4
- + 2.2 5
- + 2.3 5
- + 2.4 4
- + 2.5 0
- + 2.6 0
- +
- + newstring
- + : Average Trap Time = 0.015 seconds
- + x 2.6 y 10
- + hjr vjc
- + fontsize 7
- +
- + newstring
- + : ...
- + x 2.7 y 0
- + hjl vjb
- + fontsize 7
- +
- *** ../work/jgraph.1 Wed Jul 22 15:32:04 1992
- --- jgraph.1 Wed Jul 22 16:05:41 1992
- ***************
- *** 1466,1471 ****
- --- 1466,1473 ----
- Point interpolation is essentially the same as
- function plotting, and therefore is left out of
- \fBjgraph. \fR
- + The UNIX spline(1) routine is a simple way to get interpolation
- + between points. See bailey.jgr described below.
- Maybe in a future release.
- .SH HINTS AND EXAMPLE GRAPHS
- \fBJgraph \fR
- ***************
- *** 1482,1487 ****
- --- 1484,1491 ----
- the file acc.jps in the acc.tex file.
- .sp
- - g8.jgr is a simple graph with some plotted text.
- + - g8col.jgr shows how to produce a color background -- it is
- + the same as g8.jgr only all on a yellow background.
- - ebars.jgr is a simple graph with error bars.
- - sin.jgr shows how a sin function can be plotted using a simple c
- program to produce the sin wave. Moreover, this file shows a use of
- ***************
- *** 1497,1507 ****
- --- 1501,1517 ----
- - sin3.jgr shows how a bizarre effect can be gotten by sorting the
- points in a different manner.
- .sp
- + - bailey.jgr shows how to use the UNIX spline(1) routine to get
- + interpolation between points.
- + .sp
- - gpaper.jgr shows how you can get jgraph to easily produce graph paper.
- .sp
- - g9n10.jgr contains two graphs with complicated legends. It
- contains a description of how the legend was created.
- .sp
- + - ex1.jgr and ex2.jgr are two examples which were figures 1 and
- + two in an extended abstract for a paper about jgraph.
- + .sp
- - mab2.jgr is a graph created by Matt Blaze which shows how a
- complicated output graph can be quite concisely and simply stated.
- In this graph, the x axis is a time line. It shows usage of the
- ***************
- *** 1518,1523 ****
- --- 1528,1537 ----
- was created by an awk script which Adam Buchsbaum wrote to draw
- trees and graphs.
- .sp
- + - wortman.jgr is a neat graph of processor utilization written
- + by Dave Wortman for SIGPLAN '92. It was created by an awk script,
- + which processed the data and emitted the jgraph.
- + .sp
- To view these graphs, use jgraph -P, and view the resulting output
- file with
- \fIgs,\fB
- ***************
- *** 1531,1537 ****
- preprocessor to make drawings. There are two advantages
- using jgraph to draw pictures instead of using standard drawing tools like
- \fIxfig\fB,
- ! \fIfibtool\fB,
- or
- \fIidraw\fB.
- The first is that with jgraph, you know exactly where strings, lines,
- --- 1545,1551 ----
- preprocessor to make drawings. There are two advantages
- using jgraph to draw pictures instead of using standard drawing tools like
- \fIxfig\fB,
- ! \fIfigtool\fB,
- or
- \fIidraw\fB.
- The first is that with jgraph, you know exactly where strings, lines,
- ***************
- *** 1582,1585 ****
- .sp
- There may well be loads of other bugs. Send to jsp@princeton.edu.
- .sp
- ! This is $Revision: 8.0 $.
- --- 1596,1600 ----
- .sp
- There may well be loads of other bugs. Send to jsp@princeton.edu.
- .sp
- !
- ! This is $Revision: 8.1 $.
- *** ../work/jgraph.c Wed Jul 22 15:32:05 1992
- --- jgraph.c Wed Jul 22 16:05:42 1992
- ***************
- *** 1,7 ****
- /*
- ! * $Source: /n/fs/vd/jsp/src/jgraph/RCS/jgraph.c,v $
- ! * $Revision: 8.0 $
- ! * $Date: 92/07/03 14:15:54 $
- * $Author: jsp $
- */
-
- --- 1,7 ----
- /*
- ! * $Source: /n/fs/grad1/jsp/src/jgraph/RCS/jgraph.c,v $
- ! * $Revision: 8.1 $
- ! * $Date: 92/07/20 16:44:39 $
- * $Author: jsp $
- */
-
- *** ../work/jgraph.h Wed Jul 22 15:32:06 1992
- --- jgraph.h Wed Jul 22 16:05:43 1992
- ***************
- *** 1,7 ****
- /*
- ! * $Source: /n/fs/vd/jsp/src/jgraph/RCS/jgraph.h,v $
- ! * $Revision: 8.0 $
- ! * $Date: 92/07/03 14:15:58 $
- * $Author: jsp $
- */
-
- --- 1,7 ----
- /*
- ! * $Source: /n/fs/grad1/jsp/src/jgraph/RCS/jgraph.h,v $
- ! * $Revision: 8.1 $
- ! * $Date: 92/07/20 16:44:42 $
- * $Author: jsp $
- */
-
- *** ../work/list.c Wed Jul 22 15:32:07 1992
- --- list.c Wed Jul 22 16:05:45 1992
- ***************
- *** 1,7 ****
- /*
- ! * $Source: /n/fs/vd/jsp/src/jgraph/RCS/list.c,v $
- ! * $Revision: 8.0 $
- ! * $Date: 92/07/03 14:16:00 $
- * $Author: jsp $
- */
-
- --- 1,7 ----
- /*
- ! * $Source: /n/fs/grad1/jsp/src/jgraph/RCS/list.c,v $
- ! * $Revision: 8.1 $
- ! * $Date: 92/07/20 16:44:43 $
- * $Author: jsp $
- */
-
- *** ../work/list.h Wed Jul 22 15:32:08 1992
- --- list.h Wed Jul 22 16:05:46 1992
- ***************
- *** 1,7 ****
- /*
- ! * $Source: /n/fs/vd/jsp/src/jgraph/RCS/list.h,v $
- ! * $Revision: 8.0 $
- ! * $Date: 92/07/03 14:16:02 $
- * $Author: jsp $
- */
-
- --- 1,7 ----
- /*
- ! * $Source: /n/fs/grad1/jsp/src/jgraph/RCS/list.h,v $
- ! * $Revision: 8.1 $
- ! * $Date: 92/07/20 16:44:44 $
- * $Author: jsp $
- */
-
- *** ../work/makefile Wed Jul 22 15:32:09 1992
- --- makefile Wed Jul 22 16:05:48 1992
- ***************
- *** 1,3 ****
- --- 1,11 ----
- + # If you're running this on a NeXT machine (or with an ansi-c compiler),
- + # you should make sure that
- + # cc is run with -DLCC. This makes sure that macro LCC is defined, and
- + # should make sure that <stdlib.h> is included.
- +
- + # Also, before installing, you should change the string "JGRAPH_DIR" in
- + # jgraph.1 to be the directory containing the example jgraphs.
- +
- CC = cc
-
- OBJS = draw.o \
- ***************
- *** 10,21 ****
- show.o \
- token.o
-
- all: jgraph
-
- .SUFFIXES: .c .o .h .jgr .jps .tex .dvi
-
- .jgr.jps:
- ! jgraph < $*.jgr > *.jps
-
- .tex.dvi:
- latex $*.tex
- --- 18,53 ----
- show.o \
- token.o
-
- + EXAMPLES = \
- + acc.jps \
- + alb.jps \
- + bailey.jps \
- + ebars.jps \
- + ex1.jps \
- + ex2.jps \
- + g8.jps \
- + g8col.jps \
- + g9n10.jps \
- + gpaper.jps \
- + hypercube.jps \
- + mab2.jps \
- + sin.jps \
- + sin1.jps \
- + sin2.jps \
- + sin3.jps \
- + tree1.jps \
- + tree2.jps \
- + wortman.jps
- +
- +
- all: jgraph
-
- + examples: $(EXAMPLES)
- +
- .SUFFIXES: .c .o .h .jgr .jps .tex .dvi
-
- .jgr.jps:
- ! jgraph -P < $*.jgr > $*.jps
-
- .tex.dvi:
- latex $*.tex
- ***************
- *** 26,31 ****
- --- 58,80 ----
- jgraph: $(OBJS)
- $(CC) -g $(OBJS) -lm -o jgraph
-
- + sin: sin.o
- + cc -o sin sin.o -lm
- +
- + bailey.jps: bailey.pts
- + ex2.jps: data.txt
- + mab2.jps: mab2.times
- + sin.jps: sin
- + sin2.jps: sin2.pts
- + sin3.jps: sin3.pts
- + tree1.jps: tree.awk
- + ( echo "4 3" | nawk -f tree.awk ; echo "xaxis size 5.4" ) | \
- + jgraph -P > tree1.jps
- + tree2.jps: tree.awk
- + ( echo "5 2" | nawk -f tree.awk ; echo "xaxis size 5.4" ) | \
- + jgraph -P > tree2.jps
- +
- +
- ###
- draw.o: draw.c jgraph.h list.h prio_list.h
- edit.o: edit.c jgraph.h list.h prio_list.h
- ***************
- *** 37,40 ****
- show.o: show.c jgraph.h list.h prio_list.h
- token.o: token.c list.h
- clean:
- ! rm -f *.o a.out
- --- 86,89 ----
- show.o: show.c jgraph.h list.h prio_list.h
- token.o: token.c list.h
- clean:
- ! rm -f *.o a.out *.jps
- *** ../work/printline.c Wed Jul 22 15:32:10 1992
- --- printline.c Wed Jul 22 16:05:49 1992
- ***************
- *** 1,7 ****
- /*
- ! * $Source: /n/fs/vd/jsp/src/jgraph/RCS/printline.c,v $
- ! * $Revision: 8.0 $
- ! * $Date: 92/07/03 14:16:05 $
- * $Author: jsp $
- */
-
- --- 1,7 ----
- /*
- ! * $Source: /n/fs/grad1/jsp/src/jgraph/RCS/printline.c,v $
- ! * $Revision: 8.1 $
- ! * $Date: 92/07/20 16:44:47 $
- * $Author: jsp $
- */
-
- *** ../work/prio_list.c Wed Jul 22 15:32:11 1992
- --- prio_list.c Wed Jul 22 16:05:49 1992
- ***************
- *** 1,7 ****
- /*
- ! * $Source: /n/fs/vd/jsp/src/jgraph/RCS/prio_list.c,v $
- ! * $Revision: 8.0 $
- ! * $Date: 92/07/03 14:16:06 $
- * $Author: jsp $
- */
-
- --- 1,7 ----
- /*
- ! * $Source: /n/fs/grad1/jsp/src/jgraph/RCS/prio_list.c,v $
- ! * $Revision: 8.1 $
- ! * $Date: 92/07/20 16:44:48 $
- * $Author: jsp $
- */
-
- *** ../work/prio_list.h Wed Jul 22 15:32:11 1992
- --- prio_list.h Wed Jul 22 16:05:50 1992
- ***************
- *** 1,7 ****
- /*
- ! * $Source: /n/fs/vd/jsp/src/jgraph/RCS/prio_list.h,v $
- ! * $Revision: 8.0 $
- ! * $Date: 92/07/03 14:16:08 $
- * $Author: jsp $
- */
-
- --- 1,7 ----
- /*
- ! * $Source: /n/fs/grad1/jsp/src/jgraph/RCS/prio_list.h,v $
- ! * $Revision: 8.1 $
- ! * $Date: 92/07/20 16:44:49 $
- * $Author: jsp $
- */
-
- *** ../work/process.c Wed Jul 22 15:32:12 1992
- --- process.c Wed Jul 22 16:05:52 1992
- ***************
- *** 1,7 ****
- /*
- ! * $Source: /n/fs/vd/jsp/src/jgraph/RCS/process.c,v $
- ! * $Revision: 8.0 $
- ! * $Date: 92/07/03 14:16:11 $
- * $Author: jsp $
- */
-
- --- 1,7 ----
- /*
- ! * $Source: /n/fs/grad1/jsp/src/jgraph/RCS/process.c,v $
- ! * $Revision: 8.1 $
- ! * $Date: 92/07/20 16:44:51 $
- * $Author: jsp $
- */
-
- ***************
- *** 73,79 ****
- }
- }
- if (l->linelength == FSIG)
- ! l->linelength = (l->anylines) ? (MAX(maxmark + 6.0, 12.0)) : 0.0;
- else l->linelength = disttop(l->linelength, g->x_axis);
- if (l->midspace == FSIG)
- l->midspace = (l->anylines) ? 4.0 : (maxmark / 2.0) + 4.0;
- --- 73,79 ----
- }
- }
- if (l->linelength == FSIG)
- ! l->linelength = (l->anylines) ? (MAX(maxmark + 6.0, 24.0)) : 0.0;
- else l->linelength = disttop(l->linelength, g->x_axis);
- if (l->midspace == FSIG)
- l->midspace = (l->anylines) ? 4.0 : (maxmark / 2.0) + 4.0;
- *** ../work/show.c Wed Jul 22 15:32:14 1992
- --- show.c Wed Jul 22 16:05:54 1992
- ***************
- *** 1,7 ****
- /*
- ! * $Source: /n/fs/vd/jsp/src/jgraph/RCS/show.c,v $
- ! * $Revision: 8.0 $
- ! * $Date: 92/07/03 14:16:15 $
- * $Author: jsp $
- */
-
- --- 1,7 ----
- /*
- ! * $Source: /n/fs/grad1/jsp/src/jgraph/RCS/show.c,v $
- ! * $Revision: 8.1 $
- ! * $Date: 92/07/20 16:44:53 $
- * $Author: jsp $
- */
-
- *** ../work/token.c Wed Jul 22 15:32:21 1992
- --- token.c Wed Jul 22 16:06:01 1992
- ***************
- *** 1,14 ****
- /*
- ! * $Source: /n/fs/vd/jsp/src/jgraph/RCS/token.c,v $
- ! * $Revision: 8.0 $
- ! * $Date: 92/07/03 14:16:17 $
- * $Author: jsp $
- */
-
- #include <math.h>
- - #ifdef LCC
- - #include <stdlib.h>
- - #endif
- /* On VMS, math.h does not have a definition for atof. Grrr. */
- #ifdef VMS
- #include <stdlib.h>
- --- 1,11 ----
- /*
- ! * $Source: /n/fs/grad1/jsp/src/jgraph/RCS/token.c,v $
- ! * $Revision: 8.1 $
- ! * $Date: 92/07/20 16:44:55 $
- * $Author: jsp $
- */
-
- #include <math.h>
- /* On VMS, math.h does not have a definition for atof. Grrr. */
- #ifdef VMS
- #include <stdlib.h>
- *** /dev/null Wed Jul 22 14:07:57 1992
- --- tree.awk Wed Jul 22 16:06:02 1992
- ***************
- *** 0 ****
- --- 1,44 ----
- + # This is an nawk script for plotting m-level n-ary trees in jgraph.
- + # For each line of input, it will produce a new jgraph. The line must
- + # contain two numbers: m and n, separated by white-space.
- + #
- + # Two nice outputs of this are:
- + #
- + # ( echo "4 3" | nawk -f tree.awk ; echo "xaxis size 5.4" ) | jgraph -P
- + #
- + # and
- + # ( echo "5 2" | nawk -f tree.awk ; echo "xaxis size 5" ) | jgraph -P
- + #
- +
- + { m = $1
- + n = $2
- +
- + printf("newgraph xaxis nodraw yaxis nodraw\n")
- + k = 0
- + for (j = 0; j < m; j++) {
- + if (j == 0) {
- + numleaves = n ^ (m - 1)
- + for (i = 0; i < numleaves; i++) newleafloc[i] = i
- + } else {
- + numleaves = numleaves / n
- + for (i = 0; i < numleaves; i++) {
- + newleafloc[i] = (oldleafloc[i*n] + oldleafloc[i*n+n-1]) / 2.0
- + }
- + }
- + for (i = 0; i < numleaves; i++) {
- + printf("newcurve marktype box marksize 0.6 0.4 fill 1 pts %f %f\n",
- + newleafloc[i], j)
- + printf("newstring x %f y %f hjc vjc fontsize 6 : %d\n",
- + newleafloc[i], j, ++k)
- + if (j > 0) {
- + for (l = 0; l < n; l++) {
- + printf("newcurve marktype none linetype solid pts %f %f %f %f\n",
- + newleafloc[i], j-.2, oldleafloc[i*n+l], j-.8)
- + }
- + }
- + }
- + for (i = 0; i < numleaves; i++) {
- + oldleafloc[i] = newleafloc[i]
- + }
- + }
- + }
- *** /dev/null Wed Jul 22 14:07:57 1992
- --- wortman.jgr Wed Jul 22 16:06:03 1992
- ***************
- *** 0 ****
- --- 1,709 ----
- + (* From dw@dragon.fly.toronto.edu Fri Jul 17 12:02:25 1992
- + Received: from Princeton.EDU by fs.Princeton.EDU (4.1/1.105)
- + id AA19140; Fri, 17 Jul 92 12:02:22 EDT
- + Received: from dragon.fly.toronto.edu by Princeton.EDU (5.65b/2.93/princeton)
- + id AA18519; Fri, 17 Jul 92 12:01:51 -0400
- + Received: by dragon.fly.toronto.edu id <39023>; Fri, 17 Jul 1992 12:01:33 -0400
- + From: Dave Wortman <dw@dragon.fly.toronto.edu>
- + To: jsp@Princeton.EDU
- + Subject: jgraph source for Wortman PLDI92 activity bar figure
- + Cc: dw@dragon.fly.toronto.edu
- + Message-Id: <92Jul17.120133edt.39023@dragon.fly.toronto.edu>
- + Date: Fri, 17 Jul 1992 12:01:32 -0400
- + Status: R
- +
- + Here is the source for the final version of the figure.
- + FYI it was generated by an awk program that post processed trace data
- + generated by the concurrent compiler.
- + ============================================================================
- + *)
- +
- + newgraph
- + yaxis size 7.5 min 0 max 8.500000 gray 0.000000 hash 0.0 label fontsize 16 : Processor
- + hash_labels fontsize 18
- + hash_label at 1.0 : 1
- + hash_label at 2.0 : 2
- + hash_label at 3.0 : 3
- + hash_label at 4.0 : 4
- + hash_label at 5.0 : 5
- + hash_label at 6.0 : 6
- + hash_label at 7.0 : 7
- + hash_label at 8.0 : 8
- + xaxis size 7.5 min 0 max 4232 gray 0 label fontsize 16 : Time (clock ticks)
- + legend custom linelength 500.0
- + newcurve marktype box fill 0.2 marksize 300.0 0.4
- + label vjt hjl x 500.0 y -1.0 fontsize 12 : Lexical Analysis
- + newcurve marktype box fill 0.5 marksize 300.0 0.4
- + label vjt hjl x 500.0 y -1.5 fontsize 12 : Import
- + newcurve marktype box fill 0.95 marksize 300.0 0.4
- + label vjt hjl x 1800.0 y -1.0 fontsize 12 : Splitter
- + newcurve marktype box fill 0.7 marksize 300.0 0.4
- + label vjt hjl x 1800.0 y -1.5 fontsize 12 : Parse/Dcl Analysis
- + newcurve marktype box fill 0.4 marksize 300.0 0.4
- + label vjt hjl x 3100.0 y -1.0 fontsize 12 : Stmt Processing
- + newcurve marktype box fill 0.8 marksize 300.0 0.4
- + label vjt hjl x 3100.0 y -1.5 fontsize 12 : Merge
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 1350 0.400000 pts 714 1
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 53 0.400000 pts 1651 1.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 28 0.400000 pts 1693 1.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 183 0.400000 pts 1799 1.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 36 0.400000 pts 1911 1.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 71 0.400000 pts 1966 1.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 30 0.400000 pts 2018 1.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 782 0.400000 pts 2426 1.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 101 0.400000 pts 2868 1.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 63 0.400000 pts 2950 1.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 140 0.400000 pts 3054 1.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 159 0.400000 pts 3204 1.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 99 0.400000 pts 3334 1.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 181 0.400000 pts 3475 1.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 64 0.400000 pts 3599 1.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 135 0.400000 pts 3699 1.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 368 0.400000 pts 3953 1.000000
- + newcurve marktype box fill 0.800000
- + linethickness 0.0
- + marksize 72 0.400000 pts 4174 1.000000
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 114 0.400000 pts 154 2
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 91 0.400000 pts 256 2
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 101 0.400000 pts 354 2
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 8 0.400000 pts 411 2.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 8 0.400000 pts 420 2.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 9 0.400000 pts 429 2.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 25 0.400000 pts 447 2.000000
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 50 0.400000 pts 485 2
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 8 0.400000 pts 515 2.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 6 0.400000 pts 522 2.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 28 0.400000 pts 539 2.000000
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 59 0.400000 pts 583 2
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 70 0.400000 pts 650 2
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 6 0.400000 pts 689 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 82 0.400000 pts 737 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 110 0.400000 pts 835 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 67 0.400000 pts 1249 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 30 0.400000 pts 1655 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 16 0.400000 pts 1679 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 33 0.400000 pts 1704 2.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 80 0.400000 pts 1765 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 16 0.400000 pts 1816 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 10 0.400000 pts 1830 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 6 0.400000 pts 1839 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 7 0.400000 pts 1847 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 9 0.400000 pts 1855 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 33 0.400000 pts 1877 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 15 0.400000 pts 1902 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 18 0.400000 pts 1921 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 31 0.400000 pts 1946 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 54 0.400000 pts 1992 2.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 61 0.400000 pts 2051 2.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 916 0.400000 pts 2542 2.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 144 0.400000 pts 3073 2.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 178 0.400000 pts 3235 2.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 181 0.400000 pts 3415 2.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 147 0.400000 pts 3581 2.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 137 0.400000 pts 3724 2.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 44 0.400000 pts 149 3.000000
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 142 0.400000 pts 243 3
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 5 0.400000 pts 317 3.000000
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 105 0.400000 pts 372 3
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 5 0.400000 pts 428 3.000000
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 67 0.400000 pts 465 3
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 9 0.400000 pts 504 3.000000
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 82 0.400000 pts 550 3
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 74 0.400000 pts 631 3
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 6 0.400000 pts 672 3.000000
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 41 0.400000 pts 696 3
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 28 0.400000 pts 732 3.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 17 0.400000 pts 755 3.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 72 0.400000 pts 802 3.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 25 0.400000 pts 852 3.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 8 0.400000 pts 872 3.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 2 0.400000 pts 1328 3.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 538 0.400000 pts 1792 3.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 840 0.400000 pts 2486 3.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 486 0.400000 pts 3150 3.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 178 0.400000 pts 3484 3.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 54 0.400000 pts 3602 3.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 121 0.400000 pts 3690 3.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 176 0.400000 pts 3840 3.000000
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 174 0.400000 pts 226 4
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 6 0.400000 pts 317 4.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 11 0.400000 pts 327 4.000000
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 42 0.400000 pts 355 4
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 79 0.400000 pts 416 4
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 73 0.400000 pts 494 4
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 73 0.400000 pts 568 4
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 48 0.400000 pts 630 4
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 6 0.400000 pts 658 4.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 16 0.400000 pts 670 4.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 8 0.400000 pts 683 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 35 0.400000 pts 705 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 25 0.400000 pts 736 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 3 0.400000 pts 751 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 15 0.400000 pts 763 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 48 0.400000 pts 798 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 9 0.400000 pts 828 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 27 0.400000 pts 849 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 59 0.400000 pts 893 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 26 0.400000 pts 1645 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 14 0.400000 pts 1667 4.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 120 0.400000 pts 1736 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 12 0.400000 pts 1803 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 21 0.400000 pts 1819 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 6 0.400000 pts 1834 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 7 0.400000 pts 1841 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 9 0.400000 pts 1852 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 6 0.400000 pts 1861 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 12 0.400000 pts 1871 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 22 0.400000 pts 1889 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 16 0.400000 pts 1909 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 8 0.400000 pts 1921 4.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 109 0.400000 pts 1980 4.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 765 0.400000 pts 2419 4.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 283 0.400000 pts 2945 4.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 190 0.400000 pts 3184 4.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 272 0.400000 pts 3417 4.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 55 0.400000 pts 3582 4.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 112 0.400000 pts 3667 4.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 65 0.400000 pts 3757 4.000000
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 448 0.400000 pts 365 5
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 70 0.400000 pts 625 5
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 13 0.400000 pts 669 5.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 6 0.400000 pts 681 5.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 6 0.400000 pts 688 5.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 7 0.400000 pts 695 5.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 10 0.400000 pts 709 5.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 84 0.400000 pts 819 5.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 33 0.400000 pts 879 5.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 18 0.400000 pts 1663 5.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 152 0.400000 pts 1749 5.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 10 0.400000 pts 1831 5.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 9 0.400000 pts 1841 5.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 95 0.400000 pts 1894 5.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 12 0.400000 pts 1948 5.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 15 0.400000 pts 1962 5.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 123 0.400000 pts 2032 5.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 849 0.400000 pts 2519 5.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 544 0.400000 pts 3218 5.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 145 0.400000 pts 3564 5.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 103 0.400000 pts 3689 5.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 119 0.400000 pts 3801 5.000000
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 282 0.400000 pts 287 6
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 5 0.400000 pts 431 6.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 5 0.400000 pts 437 6.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 6 0.400000 pts 444 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 4 0.400000 pts 452 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 9 0.400000 pts 463 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 41 0.400000 pts 491 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 11 0.400000 pts 519 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 12 0.400000 pts 533 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 150 0.400000 pts 616 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 9 0.400000 pts 697 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 54 0.400000 pts 732 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 455 0.400000 pts 988 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 108 0.400000 pts 1273 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 67 0.400000 pts 1362 6.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 270 0.400000 pts 1793 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 18 0.400000 pts 1938 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 46 0.400000 pts 1970 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 20 0.400000 pts 2003 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 8 0.400000 pts 2018 6.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 10 0.400000 pts 2028 6.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 395 0.400000 pts 2231 6.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 514 0.400000 pts 2688 6.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 127 0.400000 pts 3009 6.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 243 0.400000 pts 3196 6.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 64 0.400000 pts 3352 6.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 122 0.400000 pts 3445 6.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 153 0.400000 pts 3583 6.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 99 0.400000 pts 3710 6.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 79 0.400000 pts 3800 6.000000
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 132 0.400000 pts 216 7
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 194 0.400000 pts 380 7
- + newcurve marktype box fill 0.950000
- + linethickness 0.0
- + marksize 913 0.400000 pts 934 7.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 33 0.400000 pts 1681 7.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 10 0.400000 pts 1704 7.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 14 0.400000 pts 1717 7.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 131 0.400000 pts 1789 7.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 13 0.400000 pts 1862 7.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 14 0.400000 pts 1877 7.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 20 0.400000 pts 1894 7.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 16 0.400000 pts 1913 7.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 7 0.400000 pts 1925 7.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 30 0.400000 pts 1945 7.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 58 0.400000 pts 1990 7.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 53 0.400000 pts 2049 7.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 898 0.400000 pts 2526 7.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 279 0.400000 pts 3118 7.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 137 0.400000 pts 3327 7.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 148 0.400000 pts 3471 7.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 87 0.400000 pts 3590 7.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 49 0.400000 pts 3659 7.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 102 0.400000 pts 3737 7.000000
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 76 0.400000 pts 192 8
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 163 0.400000 pts 312 8
- + newcurve marktype box fill 0.200000
- + linethickness 0.0
- + marksize 26 0.400000 pts 408 8
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 8 0.400000 pts 426 8.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 5 0.400000 pts 433 8.000000
- + newcurve marktype box fill 0.500000
- + linethickness 0.0
- + marksize 8 0.400000 pts 441 8.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 13 0.400000 pts 452 8.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 6 0.400000 pts 464 8.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 71 0.400000 pts 506 8.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 18 0.400000 pts 553 8.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 148 0.400000 pts 641 8.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 60 0.400000 pts 748 8.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 75 0.400000 pts 816 8.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 8 0.400000 pts 860 8.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 13 0.400000 pts 871 8.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 7 0.400000 pts 1219 8.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 128 0.400000 pts 1460 8.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 282 0.400000 pts 1811 8.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 10 0.400000 pts 1958 8.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 59 0.400000 pts 1995 8.000000
- + newcurve marktype box fill 0.700000
- + linethickness 0.0
- + marksize 80 0.400000 pts 2066 8.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 517 0.400000 pts 2365 8.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 327 0.400000 pts 2788 8.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 460 0.400000 pts 3183 8.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 192 0.400000 pts 3510 8.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 90 0.400000 pts 3652 8.000000
- + newcurve marktype box fill 0.400000
- + linethickness 0.0
- + marksize 137 0.400000 pts 3767 8.000000
- +
-
- exit 0 # Just in case...
-