Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!zaphod.mps.ohio-state.edu!casbah.acns.nwu.edu!ftpbox!mothost!motcid!crocker From: crocker@motcid.UUCP (Ronald T. Crocker) Newsgroups: comp.text Subject: Re: Bibliographic callouts in FrameMaker Message-ID: <5045@berry19.UUCP> Date: 21 May 91 22:34:00 GMT References: <1991May13.182802.1235@drd.com> <9105141436.AA05370@pons.cis.ohio-state.edu> <5041@berry19.UUCP> Organization: Motorola Inc. - Cellular Infrastructure Div., Arlington Heights, IL 60004 Lines: 2117 There was a substantial reply to this posting, so I'll post my tool. It simply takes a refer database and turns it into a Maker Markup Language file. If you have any questions or comments, send them to me and I'll do something with them :->. Ron Crocker Motorola Radio-Telephone Systems Group, Cellular Infrastructure Group (708) 632-4752 [FAX: (708) 632-4430] crocker@mot.com or uunet!motcid!crocker PS: I apologize for the fake shar format; it was the best I could do on such short notice. If anyone has a real shar generator, I'd appreciate a copy of it! <><><><><><><><><><><><><><><><><> cut here <><><><><><><><><><><><><><><><><> #!/bin/sh # This is a shell archive. To unbundle, run sh filename, where # filename is the name of this file. The files included # in this archive are: # README # phd.biblio # refer2mml # refer2mml.awk # refer2mml.mml # sortloc.c # if [ -f "./README" ] ; then echo "shar: will not overwrite existing ./README" else sed 's/^X//' <<__EOF__ >./README XThe program refer2mml is a personal filter that works with my style of Xrefer database. In particular, I use the following fields in my Xdatabase: X %A Author's name X %B Book containing article referenced X %C City (place of publication) X %D Date of publication X* %E Editor of book containing article referenced X %F (not used by me) X %G (not used by me) X %H Header commentary, printed before reference (not used) X %I Issuer (publisher) X %J Journal containing article X %K Keywords to use in locating reference X %L Label field used by -k option of refer X %N Number within volume X %O Other commentary, printed at end of reference X %P Page number(s) X %Q Corporate or Foreign Author (unreversed) X %R Report, paper, or thesis (unpublished) X %S (not used by me) X %T Title of article or book X* %U Location information (#nnn, or Book, or other) X %V Volume number X* %W Category X %X Annotation X X* Notes: X %E has been changed slightly from the refer meaning to include X support for multiple authors. X %U includes the location of the paper, whether it is a book X (indicated by "Book" in this field), or a file location X (indicated by #nnn, where nnn is the file reference number). X My file reference numbers are sequential, starting at 1, X for each bibliographic database that I have. X %W includes some categorization information independent of the X keywords, but behaves in a similar manner. X XI've included a sample copy of the database that I used in preparing Xmy Ph. D. topic proposal. __EOF__ if [ "`wc -c ./README`" -ne " 1492 README" ]; then echo "Possible corruption in README: wc README should be 1492 README" fi echo "README extracted." fi if [ -f "./phd.biblio" ] ; then echo "shar: will not overwrite existing ./phd.biblio" else sed 's/^X//' <<__EOF__ >./phd.biblio X%A Brad J. Cox X%T Object Oriented Programming: An Evolutionary Approach X%I Addison-Wesley X%C Reading, MA X%D 1986 X%U BOOK X%K objects reuse containers X%W objects maintenance X%X Book related to using Objective-C to build Software ICs X X%A Robert E. Filman X%T Retrofitting Objects X%J Proceedings, OOPSLA \`87 X%P 342-353 X%D October, 1987 X%K objects maintenance reverse-engineering retrofitting X%U #107 X%W X%X Paper about retrofitting object-oriented structure into existing code. X X%A Gerhard Fisher X%T Software Maintenance Environments: a New Perspective X%J Proceedings, OOPSLA \`88 X%P 369 X%D September, 1988 X%K objects maintenance environment X%W X X%A Ned Chapin X%T Software Maintenance Life Cycle X%J Proceedings, Conference on Software Maintenance-1988 X%P 6-13 X%D October 24-27, 1988 X%O Not yet read X%W X%U #28 X%K software maintenance, life cycle X X%A B. I. Blum X%T Documentation for Maintenance: A Hypertext Design X%J Proceedings, Conference on Software Maintenance-1988 X%P 23-31 X%D October 24-27, 1988 X%O Not yet read X%W X%U #29 X%K software maintenance, documentation X X%A C. G. Davies X%A P. J. Layzell X%T Rules to Govern Change in JSP-Based Systems X%J Proceedings, Conference on Software Maintenance-1988 X%P 34-39 X%D October 24-27, 1988 X%O Not yet read X%W X%U #30 X%K software maintenance X X%A Mikio Aoyama X%A Yoshiku Hanai X%A Makoto Suzuki X%T An Integrated Software Maintenance Environment: Bridging Configuration Management and Quality Management X%J Proceedings, Conference on Software Maintenance-1988 X%P 40-44 X%D October 24-27, 1988 X%O Not yet read X%W X%U #31 X%K software maintenance, environment X X%A James S. Collofello X%A Mikael Orn X%T A Practical Software Maintenance Environment X%J Proceedings, Conference on Software Maintenance-1988 X%P 45-51 X%D October 24-27, 1988 X%W X%U #3 X%K software maintenance, environment X X%A Nigel T. Fletton X%A Malcolm Munro X%T Redocumenting Software Systems using Hypertext Technology X%J Proceedings, Conference on Software Maintenance-1988 X%P 54-59 X%D October 24-27, 1988 X%O Not yet read X%W X%U #32 X%K software maintenance, documentation X X%A Chris Wild X%A Kurt Maly X%T Towards a Software Maintenance Support Environment X%J Proceedings, Conference on Software Maintenance-1988 X%P 80-85 X%D October 24-27, 1988 X%O Not yet read X%W X%U #33 X%K software maintenance, environment X X%A Linore Cleveland X%T A User Interface for an Environment to Support Program Understanding X%J Proceedings, Conference on Software Maintenance-1988 X%P 86-91 X%D October 24-27, 1988 X%O Not yet read X%K software maintenance, program understanding X%W X%U #34 X X%A Vaclav Rajlich X%A Nicholas Damaskinos X%A Panagiotis Linos X%A Joao Silva X%A Wafa Khorshid X%T Visual Support for Programming-in-the-Large X%J Proceedings, Conference on Software Maintenance-1988 X%P 92-99 X%D October 24-27, 1988 X%O Not yet read X%W X%U #35 X%K software maintenance, visual programming X X%A Patricia K. Lawlis X%T Ada and Software Maintenance X%J Proceedings, Conference on Software Maintenance-1988 X%P 152-158 X%D October 24-27, 1988 X%O Not yet read X%W X%U #36 X%K software maintenance, Ada X X%A Sheryl Kempton X%A Chris Sobell X%A Carol Withrow X%T DOD-STD-2167A Applied to Software Maintenance X%J Proceedings, Conference on Software Maintenance-1988 X%P 159-164 X%D October 24-27, 1988 X%O Not yet read X%W X%U #37 X%K software maintenance, Ada, standards X X%A Rodger L. Fritz X%A Fred Shocket X%T LAMPS - Demonstrated Maintainability Through Application of MIL-SPEDC Software Development Techniques X%J Proceedings, Conference on Software Maintenance-1988 X%P 165-170 X%D October 24-27, 1988 X%O Not yet read X%W X%U #38 X%K software maintenance, Ada, standards X X%A Kumar Venkatramani X%A Roger Clark X%T Using Configured Directories to Solve Software Maintenance Problems X%J Proceedings, Conference on Software Maintenance-1988 X%P 171-177 X%D October 24-27, 1988 X%O Not yet read X%W X%U #39 X%K software maintenance, configuration management X X%A E. N. Herness X%A R. M. Chance X%T Software Maintenance Features for Library Systems X%J Proceedings, Conference on Software Maintenance-1988 X%P 183-190 X%D October 24-27, 1988 X%O Not yet read X%W X%U #40 X%K software maintenance, configuration management, library X X%A Nancy R. Mead X%A Dan Ehrenfried X%A John Rymer X%T Designing Ada Software for Maintainability X%J Proceedings, Conference on Software Maintenance-1988 X%P 214-215 X%D October 24-27, 1988 X%O Not yet read X%W X%U #41 X%K software maintenance, Ada X X%A Hal S. Render X%A Roy H. Campbell X%T CLEMMA: The Design of a Practical Configuration Librarian X%J Proceedings, Conference on Software Maintenance-1988 X%P 222-228 X%D October 24-27, 1988 X%O Not yet read X%W X%U #42 X%K software maintenance, configuration management, library X X%A D. P. Hale X%A D. A. Haworth X%T Software Maintenance: A Profile of Past Empirical Research X%J Proceedings, Conference on Software Maintenance-1988 X%P 236-240 X%D October 24-27, 1988 X%O Not yet read X%W X%U #43 X%K software maintenance X X%A Ie-Hong Lin X%A David A Gustafson X%T Classifying Software Maintenance X%J Proceedings, Conference on Software Maintenance-1988 X%P 241-247 X%D October 24-27, 1988 X%O Not yet read X%W X%U #44 X%K software maintenance X X%A J. R. Lyle X%A K. B. Gallagher X%T Using Program Decomposition to Guide Modifications X%J Proceedings, Conference on Software Maintenance-1988 X%P 265-269 X%D October 24-27, 1988 X%O Not yet read X%W X%U #45 X%K software maintenance X X%A Paul C. Jorgensen X%T An Operational Approach to Corrective Software Maintenance X%J Proceedings, Conference on Software Maintenance-1988 X%P 270-276 X%D October 24-27, 1988 X%O Not yet read X%W X%U #46 X%K software maintenance, corrective X X%A Keith W. Miller X%A Larry J. Morell X%A W. Robert Collins X%T Maintaining FORTRAN Software by Enforcing Abstract Data Types X%J Proceedings, Conference on Software Maintenance-1988 X%P 286-291 X%D October 24-27, 1988 X%O Not yet read X%W X%U #47 X%K software maintenance, FORTRAN, ADT X X%A Richard C. Linger X%T Software Maintenance as an Engineering Discipline X%J Proceedings, Conference on Software Maintenance-1988 X%P 292-297 X%D October 24-27, 1988 X%O Not yet read X%W X%U #48 X%K software maintenance, software engineering X X%A J. Meekel X%A M. Viala X%T LOGISCOPE: A Tool for Maintenance X%J Proceedings, Conference on Software Maintenance-1988 X%P 328-334 X%D October 24-27, 1988 X%O Not yet read X%W X%U #49 X%K software maintenance, tools X X%A James Keables X%A Katherine Roberson X%A Anneliese von~Mayrhauser X%T Data Flow Analysis and its Application to Software Maintenance X%J Proceedings, Conference on Software Maintenance-1988 X%P 335-347 X%D October 24-27, 1988 X%O Not yet read X%W X%U #50 X%K software maintenance, data flow analysis X X%A Michael Frame X%T A Lexical Comparison Program to Simplify the Maintenance of Portable Software X%J Proceedings, Conference on Software Maintenance-1988 X%P 348-350 X%D October 24-27, 1988 X%O Not yet read X%W X%U #51 X%K software maintenance, portability X X%A Mary Jean Harrold X%A Mary Lou Soffa X%T An Incremental Approach to Unit Testing during Maintenance X%J Proceedings, Conference on Software Maintenance-1988 X%P 362-367 X%D October 24-27, 1988 X%O Not yet read X%W X%U #52 X%K software maintenance, testing X X%A J. Hartmann X%A D. J. Robson X%T Approaches to Regression Testing X%J Proceedings, Conference on Software Maintenance-1988 X%P 368-372 X%D October 24-27, 1988 X%O Not yet read X%W X%U #53 X%K software maintenance, testing, regression testing X X%A D. J. Newman X%T A Test Harness for Maintaining Unfamiliar Software X%J Proceedings, Conference on Software Maintenance-1988 X%P 409-416 X%D October 24-27, 1988 X%O Not yet read X%W X%U #54 X%K software maintenance, testing X X%A Walter C. Dietrich, Jr. X%A Lee R. Nackman X%A Franklin Gracer X%T Saving a Legacy with Objects X%J Proceedings, OOPSLA \`89 X%P 77-83 X%D October 1-6, 1989 X%O Not yet read X%W X%U #55 X%K objects X X%A William H. Harrison X%A John J. Shilling X%A Peter F. Sweeney X%T Good News, Bad News: Experience Building a Software Development Environment Using the Object-Oriented Paradigm X%J Proceedings, OOPSLA \`89 X%P 85-94 X%D October 1-6, 1989 X%O Not yet read X%W X%U #56 X%K objects X X%A William Cook X%A Jens Palsberg X%T A Denotational Semantics of Inheritance and its Correctness X%J Proceedings, OOPSLA \`89 X%P 433-443 X%D October 1-6, 1989 X%O Not yet read (looks good for use in thesis) X%W X%U #57 X%K objects, inheritance X X%A Allen Wirfs-Brock X%A Brian Wilkerson X%T Variables Limit Reusability X%J Journal of Object-Oriented Programming X%V 2 X%N 1 X%P 34-40 X%D May 1989 X%O Not yet read X%W X%U #58 X%K objects reuse X X%A Karl J. Lieberherr X%A Arthur J. Riel X%T Demeter: A CASE Study of Software Growth Through Parameterized Classes X%J Journal of Object-Oriented Programming X%V 1 X%N 3 X%P 8-22 X%D August 1988 X%O Not yet read X%W X%U #59 X%K objects reuse inheritance X X%A Ralph E. Johnson X%A Brian Foote X%T Designing Reusable Classes X%J Journal of Object-Oriented Programming X%V 1 X%N 2 X%P 22-35 X%D June 1988 X%O Not yet read X%W X%U #60 X%K objects reuse inheritance X X%A Dewayne E. Perry X%A Gail E. Kaiser X%T Adequate Testing and Object-Oriented Programming X%J Journal of Object-Oriented Programming X%V 2 X%N 5 X%P 13-19 X%D January 1990 X%O Not yet read X%W X%U #61 X%K objects testing X X%A Sanjiv Gossain X%A Bruce Anderson X%T An Iterative-Design Model for Reusable Object-Oriented Software X%J Proceedings, ECOOP/OOPSLA \`90 X%P 12-27 X%D October 21-25, 1990 X%O Not yet read X%K objects reuse X%W X%U #62 X X%A Lucy Berlin X%T When Objects Collide: Experiences with Reusing Multiple Class Hierarchies X%J Proceedings, ECOOP/OOPSLA \`90 X%P 181-193 X%D October 21-25, 1990 X%O Not yet read X%W X%U #63 X%K objects reuse maintenance inheritance X X%A Grady Booch X%A Michael Vilot X%T The Design of the C++ Booch Components X%J Proceedings, ECOOP/OOPSLA \`90 X%P 1-11 X%D October 21-25, 1990 X%O Not yet read X%W X%U #64 X%K objects reuse design inheritance X X%A Patrick D. O'Brien X%A Daniel C. Halbert X%A Michael F. Kilian X%T The Trellis Programming Environment X%J Proceedings, OOPSLA \`87 X%P 91-102 X%D October 1987 X%W X%U #108 X%K objects environment X X%A Rao V. Mikkilineni X%T Potential Use of the Object Paradigm for Software Engineering Environments in the 1990s X%J Proceedings, COMPSAC \`88 X%P 439-440 X%D October 1988 X%W X%U #106 X%K objects, environment X X%A Gerhard Fischer X%T Cognitive View of Reuse and Redesign X%V 4 X%N 7 X%J IEEE Software X%P 60-72 X%D July 1987 X%K reuse X%W X%U #27 X X%A Andy Podgurski X%A Lori A. Clarke X%T A Formal Model of Program Dependences and Its Implications for Software Testing, Debugging, and Maintenance X%J IEEE Transactions on Software Engineering X%N 9 X%P 965-979 X%D September 1990 X%O Not yet read X%W X%U #11 X%K software maintenance, formal model X X%A Mark Moriconi X%A Timothy C. Winkler X%T Approximate Reasoning About the Semantic Effects of Program Changes X%J IEEE Transactions on Software Engineering X%V 16 X%N 9 X%P 980-992 X%D September 1990 X%O Not yet read X%W X%U #12 X%K software maintenance, semantic reasoning, program understanding X X%A David Guaspari X%A Carla Marceau X%A Wolfgang Polak X%T Formal Verification of Ada Programs X%J IEEE Transactions on Software Engineering X%V 16 X%N 9 X%P 1058-1075 X%D September 1990 X%O Not yet read X%W X%U #13 X%K Ada X X%A Jeannette M. Wing X%T Using Larch to Specify Avalon/C++ Objects X%J IEEE Transactions on Software Engineering X%V 16 X%N 9 X%P 1076-1088 X%D September 1990 X%O Not yet read X%W X%U #14 X%K formal specification X X%A Richard R. Head X%T Portability Issues in Software Maintenance X%J Proceedings, Conference on Software Maintenance-1987 X%P 101-105 X%D September 21-24, 1987 X%W X%U #4 X%K software maintenance, portability X X%A Ivar Jacobson X%T Language Support for Changeable Large Real Time Systems X%J Proceedings, OOPSLA \`86 X%P 377-384 X%D September 1986 X%W X%U #5 X%K software maintenance, objects X X%A A. Colbrook X%A C. Smythe X%T The Retrospective Introduction of Abstraction into Software X%J Proceedings, Conference on Software Maintenance-1989 X%P 166-173 X%D October 16-19, 1989 X%O Not yet read X%W X%U #6 X%K software maintenance, abstraction, ADT, objects, retrofitting X X%A Gail E. Kaiser X%A Dewayne E. Perry X%T Workspaces and Experimental Databases: Automated Support for Software Maintenance and Evolution X%J Proceedings, Conference on Software Maintenance-1987 X%P 108-114 X%D September 21-24, 1987 X%O Not yet read X%W X%U #7 X%K software maintenance, environment X X%A Harry M. Sneed X%T The Myth of \`Top-Down' Software Development and its Consequences for Software Maintenance X%J Proceedings, Conference on Software Maintenance-1989 X%P 22-29 X%D October 16-19, 1989 X%O Not yet read X%W X%U #8 X%K software maintenance X X%A Charles M. Goldstein X%T Object Oriented Programming: Semantics and Definition: A Tutorial X%J The C++ Journal X%P 15-20 X%D Summer 1990 X%O Not yet read X%W X%U #9 X%K objects X X%A Anthony I. Wasserman X%A Peter A. Pircher X%A Robert J. Muller X%T The Object-Oriented Structured Design Notation for Software Design Representation X%J IEEE Computer X%P 50-63 X%D March 1990 X%O Not yet read X%W X%U #10 X%K objects, design information X X%A David Taenzer X%A Murthy Ganti X%A Sunil Podar X%T Object-Oriented Software Reuse: The Yoyo Problem X%J Journal of Object-Oriented Programming X%V 2 X%N 3 X%P 30-35 X%D September 1989 X%O Not yet read X%W X%U #15 X%K objects, reuse X X%A Anders Bjoernerstedt X%A Christer Hulten X%T Version Control in an Object-Oriented Architecture X%P 451-485 X%B Object-Oriented Concepts, Databases, and Applications X%E Won Kim X%E Frederick H. Lochovsky X%I ACM Press X%C New York X%D 1989 X%O Not yet read X%W X%U #16 X%K objects, configuration management X X%A Yair Wand X%T A Proposal for a Formal Model of Objects X%P 537-559 X%B Object-Oriented Concepts, Databases, and Applications X%E Won Kim X%E Frederick H. Lochovsky X%I ACM Press X%C New York X%D 1989 X%O Not yet read X%W X%U #17 X%K objects, formal model X X%A D. C. Tsichritzis X%A O. M. Nierstrasz X%T Directions in Object-Oriented Research X%P 523-536 X%B Object-Oriented Concepts, Databases, and Applications X%E Won Kim X%E Frederick H. Lochovsky X%I ACM Press X%C New York X%D 1989 X%O Not yet read X%W X%U #18 X%K research, objects X X%A Roger King X%T My Cat is Object-Oriented X%P 23-30 X%K objects X%B Object-Oriented Concepts, Databases, and Applications X%E Won Kim X%E Frederick H. Lochovsky X%I ACM Press X%C New York X%D 1989 X%O Not yet read X%W X%U #19 X X%A Oscar Nierstrasz X%T A Survey of Object-Oriented Concepts X%P 3-21 X%K objects, concepts X%B Object-Oriented Concepts, Databases, and Applications X%E Won Kim X%E Frederick H. Lochovsky X%I ACM Press X%C New York X%D 1989 X%O Not yet read X%W X%U #20 X X%A Ludwig Slusky X%T Integrating Software Modelling and Prototyping Tools X%J Information and Software Technology X%V 29 X%N 7 X%P 379-387 X%D September 1987 X%O Not yet read X%W X%U #21 X%K software prototyping X X%A Beth M. Lange X%A Thomas G. Moher X%T Some Strategies of Reuse in an Object-Oriented Programming Environment X%J CHI\`98 Proceedings X%P 69-73 X%D May 1989 X%O Not yet read X%W X%U #22 X%K reuse, objects X X%A T. A. Cargill X%T Pi: A Case Study in Object-Oriented Programming X%J Proceedings, OOPSLA \`86 X%P 350-360 X%D September 1986 X%O Not yet read X%K objects, browser X%W X%U #23 X X%A Jehuda Ziegler X%A Jerry M. Grasso X%A Linda G. Burgermeister X%T An Ada Based Real-Time Closed-Loop Integration and Regression Test Tool X%J Proceedings, Conference on Software Maintenance-1989 X%P 81-90 X%D October 16-19, 1989 X%O Not yet read X%W X%U #24 X%K ada, testing, regression testing, tool X X%Q Luqi X%T Software Evolution Through Rapid Prototyping X%J IEEE Computer X%P 13-25 X%D May 1989 X%O Not yet read X%W X%U #25 X%K rapid prototyping, software evolution X X%A Scott N. Woodfield X%A David W. Embley X%A Del T. Scott X%T Can Programmers Reuse Software? X%J IEEE Software X%V 4 X%N 7 X%P 52-59 X%D July 1987 X%O Not yet read X%W X%U #26 X%K reuse X X%A Morey Antebi X%T Issues in teaching C++ X%J Journal of Object-Oriented Programming X%V 3 X%N 4 X%P 11-21 X%D November 1990 X%O Not yet read X%W X%U #69 X%K objects teaching paradigm model X X%A C. Thomas Wu X%T A Better Browser for Object-Oriented Programming X%J Journal of Object-Oriented Programming X%V 3 X%N 4 X%P 22-28 X%D November 1990 X%O Not yet read X%W X%U #70 X%K objects browser X X%A Bertrand Meyer X%T The New Culture of Software Development X%J Journal of Object-Oriented Programming X%V 3 X%N 4 X%P 76-81 X%D November 1990 X%O Not yet read X%W X%U #71 X%K objects, software development, model, culture X X%A James R. Cordy X%A Nicholas L. Eliot X%A Michael G. Robertson X%T TuringTool: A User Interface to Aid in the Software Maintenance Task X%J IEEE Transactions on Software Engineering X%V 16 X%N 3 X%P 294-301 X%D March 1990 X%O Not yet read X%W X%U #72 X%K software maintenance, user interface X X%A Ed Seidewitz X%T Object-Oriented Programming in SmallTalk and Ada X%J Proceedings, OOPSLA \`87 X%P 202-213 X%D October 4-8, 1987 X%W X%U #2 X%K objects, Ada, SmallTalk X X%A Yih-Farn Chen X%A Michael Y. Nishimoto X%A C. V. Ramamoorthy X%T The C Information Abstraction System X%J IEEE Transactions on Software Engineering X%V 16 X%N 3 X%P 325-334 X%D March 1990 X%O Not yet read X%W X%U #73 X%K information, abstraction X X%A Jim Diederich X%A Jack Milton X%T An Object-Oriented Design System Shell X%J Proceedings, OOPSLA \`87 X%P 61-77 X%D October 4-8, 1987 X%O Not yet read X%W X%U #74 X%K objects, design, environment X X%A Victor R. Basili X%T Viewing Maintenance as Reuse-Oriented Software Development X%J IEEE Software X%V 7 X%N 1 X%P 19-25 X%D January 1990 X%O Not yet read X%W X%U #75 X%K software maintenance, software reuse X X%A Stevan Mrdalj X%T Bibliography of Object-Oriented Systems Development X%J ACM SIGSOFT Software Engineering Notes X%V 15 X%N 5 X%P 60-63 X%D October 1990 X%O Summary of information; need to scan for more info X%W X%U #76 X%K bibliography, objects, software engineering X X%A Vaclav Rajlich X%A Nicholas Damaskinos X%A Panagiotis Linos X%A Wafa Khorshid X%T VIFOR: A Tool for Software Maintenance X%J Software - Practice and Experience X%V 20 X%N 1 X%P 67-77 X%D January 1990 X%O Not yet read; abstract only X%W X%U #77 X%K software maintenance, tool X X%A Victor R. Basili X%A Richard W. Selby X%T Comparing the Effectiveness of Software Testing Strategies X%J IEEE Transactions on Software Engineering X%V SE-13 X%N 12 X%P 1278-1296 X%D December 1987 X%O Not yet read X%W X%U #78 X%K software testing X X%A Larry J. Morell X%T A Theory of Fault-Based Testing X%J IEEE Transactions on Software Engineering X%V 16 X%N 8 X%P 844-857 X%D August 1990 X%O Not yet read X%W X%U #79 X%K software testing, faults X X%A Sidney C. Bailin X%T An Object-Oriented Requirements Specification Method X%J Communications of the ACM X%V 32 X%N 5 X%P 608-623 X%D May 1989 X%O Not yet read X%K objects, requirements X%W X%U #80 X X%A Ted J. Biggerstaff X%A Josiah Hoskins X%A Dallas Webster X%T DESIRE: A System for Design Recovery X%R MCC Technical Report Number STP-081-89 X%D April 1989 X%O Not yet read X%W X%U #81 X%K reverse engineering, design recovery X X%A Roger S. Pressman X%T Software Engineering: A Practitioner's Approach X%I McGraw-Hill X%C New York X%D 1987 X%O Not fully read X%W X%U BOOK X%K software engineering, software maintenance X X%A Lowell Jay Arthur X%T Software Evolution: The Software Maintenance Challenge X%I John Wiley & Sons X%C New York X%D 1988 X%O Not fully read X%K software maintenance X%W X%U BOOK X X%A Barry W. Boehm X%T Software Engineering Economics X%I Prentice-Hall X%C Englewood Cliffs, New Jersey X%D 1981 X%O Good background material X%W X%U BOOK X%K software engineering X X%A Anneliese von~Mayrhauser X%T Software Engineering: Methods and Management X%I Academic Press X%C Boston X%D 1990 X%W X%U BOOK X%O Good background material X%K software engineering, software maintenance X X%A Garish Parikh X%A Nicholas Zvegintzov X%T Tutorial on Software Maintenance X%I IEEE Computer Society Press X%C Silver Spring, Maryland X%D 1983 X%W X%U BOOK X%O Lots of background material X%K software maintenance X X%A Ian Sommerville X%T Software Engineering X%I Addison-Wesley X%W X%U BOOK X%D 1982 X%C London X%O Good background X%K software engineering X X%A Grady Booch X%T Software Components with Ada X%I The Benjamin/Cummings Publishing Company X%C Menlo Park, California X%D 1987 X%O Good Ada/Object background X%W X%U BOOK X%K Ada, objects X X%A Frederick P. Brooks, Jr. X%T The Mythical Man-Month: Essays on Software Engineering X%I Addison-Wesley X%C Reading, Massachusetts X%D 1982 X%O Good software engineering anecdotes X%K software engineering X%W X%U BOOK X X%A William Hetzel X%T The Complete Guide to Software Testing X%I QED Information Sciences, Inc. X%C Wellesley, Massachusetts X%D 1984 X%W X%U BOOK X%O Good background on a variety of testing techniques X%K software testing X X%A Adele Goldberg X%T SmallTalk-80: The Interactive Programming Environment X%I Addison-Wesley X%W X%U BOOK X%C Reading, Massachusetts X%D 1984 X%O Good works for object/environments X%K objects, environment X X%A Adele Goldberg X%A David Robson X%T SmallTalk-80: The Language and its Implementation X%I Addison-Wesley X%W X%U BOOK X%C Reading, Massachusetts X%D 1983 X%O Good information on object systems X%K objects X X%A Elliot J. Chikofsky X%A James H. Cross II X%T Reverse Engineering and Design Recovery: A Taxonomy X%J IEEE Software X%V 7 X%N 1 X%P 13-17 X%D January 1990 X%O Not yet read X%W X%U #82 X%K reverse engineering, design extraction X X%A Jean Hartmann X%A David J. Robson X%T Techniques for Selective Revalidation X%J IEEE Software X%V 7 X%N 1 X%P 31-36 X%D January 1990 X%O Not yet read X%W X%U #83 X%K testing X X%A Spencer Rugaber X%A Stephen B. Ronburn X%A Richard J. LeBlanc, Jr. X%T Recognizing Design Decisions in Programs X%J IEEE Software X%V 7 X%N 1 X%P 46-54 X%D January 1990 X%O Not yet read X%W X%U #84 X%K design extraction, program understanding X X%A Philip A. Hausler X%A Mark G. Pleszkoch X%A Richard C. Linger X%A Alan R. Hevner X%T Using Functional Abstraction to Understand Program Behavior X%J IEEE Software X%V 7 X%N 1 X%P 55-63 X%D January 1990 X%O Not yet read X%W X%U #85 X%K program understanding, abstraction X X%A Song C. Choi X%A Walt Scacchi X%T Extracting and Restructuring the Design of Large Systems X%J IEEE Software X%V 7 X%N 1 X%P 66-71 X%D January 1990 X%O Not yet read X%W X%U #86 X%K design extraction X X%A Mehdi T. Harandi X%A Jim Q. Ning X%T Knowledge-Based Program Analysis X%J IEEE Software X%V 7 X%N 1 X%P 74-81 X%D January 1990 X%O Not yet read X%W X%U #87 X%K program understanding X X%A Charles Rich X%A Linda M. Wills X%T Recognizing a Program's Design: A Graph-Parsing Approach X%J IEEE Software X%V 7 X%N 1 X%P 82-89 X%D January 1990 X%O Not yet read X%W X%U #88 X%K program understanding, program graphs X X%A Wing Hong Cheung X%A James P. Black X%A Eric Manning X%T A Framework for Distributed Debugging X%J IEEE Software X%V 7 X%N 1 X%P 106-115 X%D January 1990 X%O Not yet read X%W X%U #89 X%K debugging, communication graph X X%A Scott Guthery X%T Are the Emperor's New Clothes Object Oriented? X%J Dr. Dobb's Journal X%V 14 X%N 12 X%P 80-86 X%D December 1989 X%O Not yet read X%W X%U #90 X%K objects, software engineering X X%A Tim Korson X%A John D. McGregor X%T Understanding Object-Oriented: A Unifying Paradigm X%P 40-60 X%J Communications of the ACM X%V 33 X%N 9 X%D September 1990 X%O Not yet read X%W X%U #91 X%K objects, program understanding X X%A Simon Gibbs X%A Dennis Tsichritzis X%A Eduardo Casais X%A Oscar Nierstrasz X%A Xavier Pintado X%T Class Management for Software Communities X%P 90-103 X%K objects, configuration management X%J Communications of the ACM X%V 33 X%N 9 X%D September 1990 X%O Not yet read X%W X%U #92 X X%A Rebecca J. Wirfs-Brock X%A Ralph E. Johnson X%T Surveying Current Research in Object-Oriented Design X%P 104-124 X%O objects, research X%J Communications of the ACM X%V 33 X%N 9 X%D September 1990 X%O Not yet read X%W X%U #93 X X%A Gul Agha X%T Concurrent Object-Oriented Programming X%P 125-141 X%K objects, concurrency, communication graph X%J Communications of the ACM X%V 33 X%N 9 X%D September 1990 X%O Not yet read X%W X%U #94 X X%A Brian Henderson-Sellers X%A Julian M. Edwards X%T The Object-Oriented Systems Life Cycle X%P 142-159 X%K objects, lifecycle X%J Communications of the ACM X%V 33 X%N 9 X%D September 1990 X%O Not yet read X%W X%U #95 X X%A Bjarne Stroustrup X%T What is \`Object-Oriented Programming'? X%J Proceedings, ECOOP \`87 X%P 51-70 X%D June 15-17, 1987 X%O Not yet re-read X%W X%U #67 X%K objects X X%A Chris Horn X%T Conformance, Genericity, Inheritance and Enhancement X%J Proceedings, ECOOP \`87 X%P 223-233 X%D June 15-17, 1987 X%O Not yet read, Ask MMA about author X%W X%U #68 X%K objects X X%A M. E. Scharenberg X%A H. E. Dunsmore X%T Evolution of classes and objects during object-oriented design and programming X%J Journal of Object-Oriented Programming X%V 3 X%N 5 X%P 30-34 X%D January 1991 X%O Not yet read X%W X%U #65 X%K objects, change X X%A Michael Ackroyd X%A Dana Dunn X%T Graphical notation for object-oriented design and programming X%J Journal of Object-Oriented Programming X%V 3 X%N 5 X%P 18-28 X%D January 1991 X%O Not yet read X%W X%U #66 X%K objects, object semantics X X%A Gordon B. Kotik X%A Lawrence Z. Markosian X%T Automating Software Analysis and Testing Using a Program Transformation System X%J Unknown right now X%P 75-84 X%D 1989 X%O Not yet read X%W X%U #96 X%K software analysis, automated testing X X%A Koichi Fukunaga X%T PROMPTER: A Knowledge Based Support Tool for Code Understanding X%J Proceedings, COMPSAC \`85 X%P 358-363 X%D October 1985 X%O Not yet read; check reference X%W X%U #97 X%K program understanding X X%A Gail E. Kaiser X%A David Garlan X%T Composing Software Systems from Reusable Building Blocks X%J Proceedings, 20th Annual Hawaii International Conference on System Sciences X%P 536-545 X%D 1987 X%O Not yet read X%K objects, reuse X%W X%U #98 X X%A W. B. Frakes X%A B. A. Nejmeh X%T Software Reuse Through Information Retrieval X%P 530-535 X%J Proceedings, 20th Annual Hawaii International Conference on System Sciences X%D 1987 X%O Not yet read X%W X%U #99 X%K class/object database X X%A Emmanuel O. Onuegbe X%T Software Classification as an Aid to Reuse: Initial Use as Part of a Rapid Prototyping System X%P 521-529 X%J Proceedings, 20th Annual Hawaii International Conference on System Sciences X%D 1987 X%O Not yet read X%W X%U #100 X%K classification, reuse X X%A Richard J. St.~Dennis X%T Reusable Ada Software Guidelines X%P 513-520 X%J Proceedings, 20th Annual Hawaii International Conference on System Sciences X%D 1987 X%O Not yet read X%W X%U #101 X%K software reuse, ada, guidelines X X%A J. A. Zimmer X%T Resturcturing for Style X%J Software - Practice and Experience X%V 20 X%N 4 X%P 365-389 X%D April 1990 X%O Not yet read X%W X%U #102 X%K objects, program understanding, retrofitting X X%A J. Hartmann X%A D. J. Robson X%T Revalidation During the Software Maintenance Phase X%J Proceedings, Conference on Software Maintenance \`89 X%P 70-80 X%D October 16-19, 1989 X%O Not yet read X%W X%U #102 X%K testing X X%A Paul W. Oman X%A Curtis R. Cook X%T The Book Paradigm for Improved Maintenance X%J IEEE Software X%V 7 X%N 1 X%P 39-45 X%D January 1990 X%O Not yet read X%W X%U #104 X%K program understanding X X%A David Luckham X%A Sriram Sankar X%A Shuzo Takahashi X%T Two-Dimensional Pinpointing: Debugging with Formal Specifications X%J IEEE Software X%P 74-84 X%D January 1991 X%O Not yet read X%W X%U #105 X%K debugging, formal methods, Ada, Anna X X%A Judith E. Grass X%A Yih-Farn Chen X%T The C++ Information Abstractor X%J Proceedings, 2nd USENIX C++ Conference X%D April 1990 X%W X%U #1 X%K objects, program understanding, software maintenance X X%A Bertrand Meyer X%T Object-oriented Software Construction X%I Prentice Hall X%C New York X%D 1988 X%O reference on Eiffel X%U BOOK X%K objects reuse X X%A Bjarne Stroustrup X%T The C++ Programming Language X%I Addison-Wesley X%C Reading, Massachusetts X%D 1986 X%O reference on C++ X%K objects langauge X%U BOOK __EOF__ if [ "`wc -c ./phd.biblio`" -ne " 27180 phd.biblio" ]; then echo "Possible corruption in phd.biblio: wc phd.biblio should be 27180 phd.biblio" fi echo "phd.biblio extracted." fi if [ -f "./refer2mml" ] ; then echo "shar: will not overwrite existing ./refer2mml" else sed 's/^X//' <<__EOF__ >./refer2mml X#! /bin/ksh X# X# refer2mml - convert a refer database into a mml file. X# X# usage: refer2mml [options] db X# generates db.mml in mml format X# X# options: X# -h: prints usage summary X# -f file: generates file instead of db.mml X# -i file: saves refer(1) output in file X# -k: include %K fields in output X# -l: Includes location (%U) in output X# -o: doesn't include %O fields in output X# -p file: use new prologue file X# -s: sort references (using sortbib(1)) X# Set SORTOPTS to options for sort X# default is the sortbib default X# -S: sort refs by location (using sortloc) X# -x: includes annotation in output X# -w: include category (%W) information in output X# -v: prints version of generator and exits X# XDEBUG=\${DEBUG:-""} XPATH=\$PATH:/bin:/usr/local/bin X: \${SORTOPTS:-""} XAWKFILE=~crocker/lib/refer2mml.awk XMMLFILE=~crocker/lib/refer2mml.mml XVERSION="1.0b (2/4/91)" XPROGNAME="\`basename \$0\`" XSUFFIX=".mml" XSORT="cat" X Xusage() X{ X echo "\$PROGNAME: Usage: \$PROGNAME [-h] [-f file] [-i file] [-p file] [-klosvx]" X echo "where:" X echo " -h: Output this message" X echo " -f: save output in file file (use - for stdout)" X echo " -i: save intermediate (refer) output in file" X echo " -k: include keywords (%K) in output" X echo " -l: include location (%U) in output" X echo " -o: exclude %O options from output" X echo " -p: use file as new mml prologue" X echo " -s: sort using \$SORTOPTS as sortbib(1) options" X echo " (default is sortbib default)" X echo " -S: sort by location using sortloc(l)" X echo " -v: print version number and exit" X echo " -w: include %W (category) information in output" X echo " -x: include %X (annotation) information in output" X} X Xversion() X{ X echo "\$PROGNAME: Version \\"\$VERSION\\"" X} X Xset -- \`getopt "Sf:hi:klop:svwxa:" "\$@"\` X Xif [ \$? != 0 ]; then X usage(); X exit; Xfi X XKFLAG=0 XXFLAG=0 XLFLAG=0 XOFLAG=0 XWFLAG=0 X Xfor i in \$*; do Xcase \$i in X -a) AWKFILE=\$2; shift 2;; X -h) usage;exit ;; X -f) OFILE="\$2"; X if [ "\$OFILE" = "-" ]; then X echo "\$PROGNAME: Output going to standard output" X elif [ "\${OFILE%\$SUFFIX}" = "\${OFILE}" ]; then X echo "\$PROGNAME: Output file name (\$OFILE) must end with \\"\$SUFFIX\\"" X exit 2 X fi X shift 2;; X -i) IFILE="tee \$2 |"; shift 2;; X -k) KFLAG=1; shift;; X -l) LFLAG=1; shift;; X -o) OFLAG=1; shift;; X -p) MMLFILE="\$2"; shift 2;; X -s) SORT="sortbib"; shift;; X -S) SORT="sortloc"; shift;; X -v) version; exit ;; X -w) WFLAG=1; shift;; X -x) XFLAG=1; shift;; X --) shift; break;; X esac Xdone X Xif [ \$# -lt 1 ]; then X echo "\$PROGNAME: at least one database file must be specified" X exit 1 Xelif [ ! -f \$1 ]; then X echo "\$PROGNAME: database file (\$1) not found." X exit 1 Xfi X X# X# ok, database file found, now run converter X# X XCMD="\$SORT \$SORTOPTS \$1 | refer -a1 -B |" Xif [ "\$IFILE" ]; then X CMD="\$CMD \$IFILE" Xfi XAWKOPTS="kflag=\${KFLAG} xflag=\${XFLAG} lflag=\${LFLAG} \\ X oflag=\${OFLAG} wflag=\${WFLAG}" X XCMD="\$CMD nawk -f \$AWKFILE \${AWKOPTS} mmlfile=\${MMLFILE}" X Xif [ "\$OFILE" = "-" ]; then X CMD="\$CMD" Xelif [ "\$OFILE" ]; then X CMD="\$CMD >\$OFILE" Xelse X CMD="\$CMD >\${1}\${SUFFIX}" Xfi X Xif [ "\$DEBUG" ]; then X echo "\$CMD" Xfi X Xeval "\$CMD" __EOF__ if [ "`wc -c ./refer2mml`" -ne " 3072 refer2mml" ]; then echo "Possible corruption in refer2mml: wc refer2mml should be 3072 refer2mml" fi echo "refer2mml extracted." fi if [ -f "./refer2mml.awk" ] ; then echo "shar: will not overwrite existing ./refer2mml.awk" else sed 's/^X//' <<__EOF__ >./refer2mml.awk XBEGIN { X version_id = "1.0b (2/4/91)"; X if (mmlfile == "") { X printf("refer2mml: MMLFILE not set; abort!\\n")>>"/dev/tty"; X exit 1 X } X init_values(); X output_header(); X mode=0 X flag=0 X } Xmode==0 && /^\\.ds/ { X flag=1 X reg = substr(\$2,2,1); X if (substr(\$3,1,1) == "\\"") X instr = substr(\$3,2); X else X instr = \$3; X for (i=4;i<=NF;i++) X instr = instr " " \$i; X if (valid[reg] == 1) { X strings[reg] = strings[reg] ", " instr; X printf("\\n", reg, NR); X } else if (length(instr) > 0) { X strings[reg] = instr; X valid[reg] = 1; X } X next X } Xmode==0 && /^\\.as/ { X flag=1 X reg = substr(\$2,2,1) X if (substr(\$3,1,1) == "\\"") X instr = substr(\$3,2) X else X instr = \$3 X for (i=4;i<=NF;i++) X instr = instr " " \$i X strings[reg] = strings[reg] instr X valid[reg] = 1 X next X } Xmode==0 && /^\\.nr/ { X reg = substr(\$2,2,1) X numreg[reg] = \$3 X vnumreg[reg] = 1 X next X } Xmode==0 && /^\\.\\]\\[/ { X if (flag == 0) next X type = \$2 X if (type == 0) { # other X print_location(); X ifvalid("Q","%s\\n"); X ifvalid("A", valid["Q"]==1?", %s\\n":"%s\\n"); X ifvalid("T", (valid["Q"]+valid["A"]>0)?", %s":"%s"); X pagenum("P"); X ifvalid("C",", %s"); X ifvalid("C",", %s"); X if (valid["Q"]+valid["A"]+valid["T"]>0) X printf(".\\n"); X else X printf("\\n"); X print_optional(); X } else if (type == 1) { # article X print_location(); X ifvalid("Q","%s, "); X ifvalid("A","%s, "); X ifvalid("T","%s, "); X ifvalid("J","%s"); X ifvalid("V",", vol. %s"); X ifvalid("N",", no. %s"); X pagenum("P"); X ifvalid("I",", %s"); X ifvalid("C",", %s"); X ifvalid("D",", %s"); X printf(".\\n"); X print_optional(); X } else if (type == 2) { # book X print_location(); X ifvalid("Q","%s, "); X ifvalid("A","%s, "); X ifvalid("T","%s"); X ifvalid("S",", %s"); X ifvalid("V",", vol. %s"); X pagenum("P"); X ifvalid("I",", %s"); X ifvalid("C",", %s"); X ifvalid("D",", %s"); X printf(".\\n"); X print_optional(); X } else if (type == 3) { # article in book X print_location(); X ifvalid("Q","%s, "); X ifvalid("A","%s, "); X ifvalid("T","%s, "); X ifvalid("B","in %s,"); X ifvalid("E"," ed. %s"); X ifvalid("S",", %s"); X ifvalid("V",", vol. %s,"); X ifvalid("N",", no. %s"); X pagenum("P"); X ifvalid("I",", %s"); X ifvalid("C",", %s"); X ifvalid("D",", %s"); X printf(".\\n"); X print_optional(); X } else if (type == 4) { # report X print_location(); X ifvalid("Q","%s, "); X ifvalid("A","%s, "); X ifvalid("T","%s"); X ifvalid("R",", %s"); X ifvalid("G"," & %s"); X pagenum("P"); X ifvalid("I",", %s"); X ifvalid("C",", %s"); X ifvalid("D",", %s"); X printf(".\\n"); X print_optional(); X } else { X printf("Invalid reference type - %d (%s)", \$2, \$3); X } X next; X } X/^\\.\\]\\-/ { X printf("\\n"); X init_valids(); X mode = 0; X next; X } Xxflag == 1 && /^\\.AP/ { X mode = 1; X printf("\\n"); X next; X } X Xmode == 1 { X print \$0; X } X Xfunction init_values() X{ X valid["A"] = valid["H"] = valid["N"] = valid["T"] = 0; X valid["B"] = valid["I"] = valid["O"] = valid["U"] = 0; X valid["C"] = valid["J"] = valid["P"] = valid["V"] = 0; X valid["D"] = valid["K"] = valid["Q"] = valid["W"] = 0; X valid["E"] = valid["L"] = valid["R"] = valid["X"] = 0; X valid["F"] = valid["M"] = valid["S"] = valid["Y"] = 0; X valid["G"] = valid["Z"] = 0; X vnumreg["P"] = 0; X} X Xfunction init_valids() X{ X init_values(); X X printf("\\n"); X} X Xfunction ifvalid(s,fmt) X{ X if (valid[s] == 1) { X if (index(strings[s],"~") != 0) { X gsub("~"," ", strings[s]) X } X printf(fmt,strings[s]); X } X} X Xfunction pagenum(s) X{ X if (vnumreg[s]) { X ifvalid(s,", pp. %s"); X } else { X ifvalid(s,", p. %s"); X } X} X Xfunction output_header() X{ X printf("\\n",version_id); X printf("\\n"); X printf("\\n", mmlfile); X# copy in include file here!; X while (getline x 0) X print x; X X printf("\\n\\n"); X} X Xfunction print_keywords() X{ X if (kflag == 1) X ifvalid("K","[Keywords: %s]\\n"); X if (wflag == 1) X ifvalid("W","[Category: %s]\\n"); X} X Xfunction print_optional() X{ X if (oflag != 1) X ifvalid("O","%s\\n"); X print_keywords(); X} X Xfunction print_location() X{ X if (lflag == 1) { X if (valid["U"] != 1) { X strings["U"] = "?"; X valid["U"] = 1; X } X ifvalid("U","{%s}\\n"); X } X} __EOF__ if [ "`wc -c ./refer2mml.awk`" -ne " 4988 refer2mml.awk" ]; then echo "Possible corruption in refer2mml.awk: wc refer2mml.awk should be 4988 refer2mml.awk" fi echo "refer2mml.awk extracted." fi if [ -f "./refer2mml.mml" ] ; then echo "shar: will not overwrite existing ./refer2mml.mml" else sed 's/^X//' <<__EOF__ >./refer2mml.mml X X X X X> X X X X> X X X X X X X X X X X X X > X> X X X X X X X X X X> X X"> X"> X X X X X X __EOF__ if [ "`wc -c ./refer2mml.mml`" -ne " 793 refer2mml.mml" ]; then echo "Possible corruption in refer2mml.mml: wc refer2mml.mml should be 793 refer2mml.mml" fi echo "refer2mml.mml extracted." fi if [ -f "./sortloc.c" ] ; then echo "shar: will not overwrite existing ./sortloc.c" else sed 's/^X//' <<__EOF__ >./sortloc.c X/* X** sortloc X** X** a program to sort a refer database based on numeric values X** present in the %U field. %U is not used by refer/addbib X** currently, that is why it was chosen. X** X** If this %U field contains #nnn, then nnn is the location X** number for that record, otherwise the location is set to 0. X** The records are then sorted and printed to standard output. X** X** For this program to work correctly, indxbib must have been X** run on the refer database. X*/ X X#include X#include X#include X#include X X#define NSTRINGS 1024 Xchar *strings[NSTRINGS]; Xint locnum[NSTRINGS]; Xint sortptr[NSTRINGS]; /* move these instead of the */ X /* strings... */ Xint nrecs; /* number of records found */ X Xmain(argc,argv) Xint argc; Xchar **argv; X{ X FILE *f; X int fd; X char buf[200]; X int i; X X argc--; argv++; X if (argc != 1) { X usage(); X exit(1); X } X X strcpy(buf,*argv); X strcat(buf,".ic"); X X if ((f = fopen(buf,"r")) == NULL) { X fprintf(stderr, "File (%s) not found\\n", buf); X exit(2); X } X X if ((fd = open(*argv,O_RDONLY)) == -1) { X fprintf(stderr, "File (%s) not found\\n", argc); X exit(2); X } X X for (i=0; fgets(buf,200,f) != NULL; i++) { X X /* format is "filename:first,length" */ X int first,length; X char *fptr, *lptr; X off_t last; X char *instr, *malloc(); X X fptr = strchr(buf,':'); X fptr++; X lptr = strchr(fptr,','); X *lptr = 0; X lptr++; X sscanf(fptr,"%d", &first); X sscanf(lptr,"%d", &length); X X instr = malloc(length+2); X lseek(fd, first, L_SET); X read(fd,instr,length); X instr[length]=0; X strings[i] = instr; X findloc(i); X } X X /* fix last record to have 2 NL at the end of it */ X fixlastrecord(i-1); X X nrecs = i; X X sortlocs(nrecs); X X dumprecs(nrecs); X} X Xfindloc(i) Xint i; X{ X char *s = strings[i]; X int mode = 0; X X while (*s) { X switch (*s) { X case '%': X mode = 1; X break; X X case 'U': X if (mode == 1) { X s++; /* skip 'U' */ X s++; /* skip ' ' */ X if (*s == '#') { /* got a number! */ X s++; /* skip '#' */ X sscanf(s, "%d", &locnum[i]); X } else { X locnum[i] = 0; /* book? */ X } X return; X } X break; X X default: X mode = 0; X break; X } X s++; X } X locnum[i] = -1; /* no locnum found! */ X} X Xsortlocs(n) Xint n; X{ X int i; X int compar(); X for (i=0;i