|
|
1.1 ! root 1: ! 2: anim -- Algorithm Animation ! 3: ! 4: Jon Bentley (research!jlb) ! 5: Brian Kernighan (research!bwk) ! 6: ! 7: ! 8: EXECUTIVE SUMMARY ! 9: ! 10: Create a description of an animation in the language ! 11: described in script.def, using whatever tools you like ! 12: (e.g., awk programs, C programs). ! 13: Show the movie on a 5620 or X11 system with movie. ! 14: (Suntools support has been withdrawn as of 12/87.) ! 15: (AT&T 630 terminal support added, somewhat incompletely, 5/88.) ! 16: Print selected frames through pic and troff with stills. ! 17: ! 18: LANGUAGE ! 19: ! 20: The language is defined but not explained much in script.def. ! 21: The awk program isort.gen can be run to give an example of ! 22: data in the script language, then processed subsequently ! 23: to make a movie or a set of stills. This uses a newish ! 24: (circa 1985) version of awk. ! 25: ! 26: DOCUMENTATION ! 27: ! 28: "A System for Algorithm Animation -- Tutorial and User Manual" ! 29: Computing Science Tech Report 132, January, 1987. ! 30: ! 31: PRIMARY PROGRAMS ! 32: ! 33: movie ! 34: shell script ! 35: "movie file.s" develops file.s if necessary to make file.i, ! 36: then displays it on the terminal (5620, 630 or X-windows only) ! 37: using anim. ! 38: ! 39: stills ! 40: shell script, invoking giant awk program stills.awk. ! 41: A troff preprocessor that creates pic pictures of ! 42: selected frames. Input language defined in stills.def ! 43: ! 44: develop ! 45: shell script, called by movie and stills. ! 46: Input language defined in script.def, output language ! 47: ("intermediate") defined in int.def. ! 48: Uses fdevelop (C program) to do the work; code in ! 49: fdevelop.h, fdevelop.c, fdsymbol.c, fdutil.c ! 50: ! 51: anim ! 52: Host program converts output of develop into format ! 53: suitable for 5620/blit, 630 or X window system. ! 54: On the 5620 or 630, downloads terminal process; ! 55: under X11, creates a new window for the movie. ! 56: ! 57: Try ! 58: isort.gen >dev.s (an example in this directory) ! 59: movie dev.s (equivalent to develop dev.s; anim dev.i) ! 60: ! 61: The files test.s and test.i can be used for experimenting ! 62: with the host and terminal programs before worrying about ! 63: develop. ! 64: ! 65: animterm ! 66: The terminal program, invoked only by anim. ! 67: Talks to the mouse after the data has been loaded. ! 68: ! 69: ! 70: SUPPORT PROGRAMS ! 71: ! 72: show.clicks make a new view to count clicks ! 73: view.clicks print summary of views and clicks ! 74: newer.c tests file ages; install if needed ! 75: (used in develop) ! 76: ! 77: INSTALLATION ! 78: ! 79: You will have to change some directory names and other parameters in ! 80: movie ! 81: stills ! 82: develop ! 83: makefile ! 84: x11.make or blit.make or 630.make ! 85: ! 86: BIN = directory where movie and stills are (e.g., /usr/bin) ! 87: LIB = directory where develop, fdevelop, stills.awk, anim, animterm ! 88: are (e.g., /usr/lib). ! 89: TERM = blit or 630 or x11 (yes, lower case) ! 90: DMDCC = dmdcc or 3cc or m32cc or ..., depending on the local name ! 91: for the compiler for the terminal ! 92: TERMLD = 32ld or dmdld or ..., depending on the program that ! 93: downloads 5620 or 630 terminals ! 94: V9 only if you are running the version 9 code (mux) ! 95: SYS_V if you are running SystemV layers code ! 96: ! 97: Then ! 98: make ! 99: ! 100: PROBLEMS ! 101: ! 102: The locations of compilers, downloaders, and similar things ! 103: vary wildly from system to system. Although we have tried ! 104: to parameterize these in the makefiles, you will almost certainly ! 105: have to fiddle with file names and perhaps defined constants ! 106: in the makefiles. ! 107: ! 108: The 630 implementation is not really solid. In particular, ! 109: term.c needs some work to deal better with the fact that int's ! 110: are only 16 bits. Memory allocation ought to be done better ! 111: (by calling lalloc instead of alloc) but that stumbles across ! 112: some bugs in the 630 compiler, so for the moment you are limited ! 113: to somewhat smaller pictures than might be possible. ! 114: ! 115: As a by-product, the default memory allocation is set ! 116: to 65000 bytes on the blit and 630. This can be set ! 117: higher by recompiling host.c on the blit, or by using the ! 118: -m option on anim. ! 119: ! 120: ! 121: APPLICATIONS, not provided here ! 122: ! 123: bp bin packing ! 124: grammar generate random sentences; rec desc parser for arithmetic ! 125: heaps heaps, heapsort, etc. ! 126: malloc profile malloc ! 127: misc miscellaneous -- hanoi, nls data ! 128: mst minimum spanning trees ! 129: sort sort algorithms ! 130: stars galaxy simulation ! 131: trees random binary search trees ! 132: ! 133: ! 134: ACKNOWLEDGEMENT ! 135: ! 136: The code for the animation system owes an enormous debt to ! 137: Howard Trickey, who first figured out how to deal with ! 138: the egregious Suntools window system, and then wrote the ! 139: X11 version included here. ! 140: ! 141: The Suntools code is still included, in sunterm.c, sunhost.c, ! 142: and sun.make, but is not maintained.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.