Journal Publications

A Simple Technique for Representing Strings in Fortran IV, Communications of the ACM 17 (11), 646-647, Nov. 1974. PDF (217KB).

A Simple Variant of the Boundary-Tag Algorithm for the Allocation of Coroutine Environments, Information Processing Letters 4 (4), 109-112, Jan. 1976. PDF (340KB).

Variable Associations in SNOBOL4, Software—Practice and Experience 6 (2), 245-254, Apr. 1976. PDF (608KB).

Storage Management for an Implementation of SNOBOL4, Software—Practice and Experience 7 (2), 179-192, Mar. 1977. PDF (1604KB).

RATSNO—An Experiment in Software Adaptability, Software—Practice and Experience 7 (5), 625-630, Sep. 1977. PDF (339KB).

Performance of Storage Management in an Implementation of SNOBOL4, IEEE Transactions on Software Engineering SE-4 (2), 130-137, Mar. 1978 (with G. D. Ripley and R. E. Griswold). PDF (1168KB).

Event Associations in SNOBOL4 for Program Debugging, Software—Practice and Experience 8 (2), 115-129, Mar. 1978. PDF (981KB).

The SL5 Procedure Mechanism, Communications of the ACM 21 (5), 392-400, May 1978 (with R. E. Griswold). PDF (876KB).

Filters in SL5, The Computer Journal 21 (2), 134-143, May 1978. PDF (1744KB).

Data Structures in SL5, Journal of Computer Languages 3 (3), 181-192, Oct. 1978. PDF (2168KB).

A Simple Technique for Controlled Communication Among Separately Compiled Modules, Software—Practice and Experience 9 (11), 921-924, Nov. 1979. PDF (257KB).

An Alternative to the Use of Patterns in String Processing, ACM Transactions on Programming Languages and Systems 2 (2), 153-172, Apr. 1980 (with R. E. Griswold). PDF (1217KB).

A Portable Storage Management System for the Icon Programming Language, Software—Practice and Experience 10 (6), 489-500, June 1980. PDF (677KB).

A Portable File Directory System, Software—Practice and Experience 10 (8), 623-634, Aug. 1980. PDF (707KB).

Code Improvement via Lazy Evaluation, Information Processing Letters 11 (4-5), 163-167, Dec. 1980. PDF (762KB).

Generators in Icon, ACM Transactions on Programming Languages and Systems 3 (2), 144-161, Apr. 1981 (with R. E. Griswold and J. T. Korb). PDF (1070KB).

Algorithm 568: PDS—A Portable Directory System, ACM Transactions on Programming Languages and Systems 3 (2), 162-167, Apr. 1981. PDF (305KB).

Is Block Structure Necessary?, Software—Practice and Experience 11 (8), 853-866, Aug. 1981. PDF (794 KB).

A Machine-Independent Linker, Software—Practice and Experience 12 (4), 351-366, Apr. 1982 (with C. W. Fraser). Errata: PDF (21KB), Full paper w/errata: PDF (1041KB).

Exploiting Machine-Specific Pointer Operations in Abstract Machines, Software—Practice and Experience 12 (4), 367-373, Apr. 1982 (with C. W. Fraser). PDF (992KB).

Measuring the Performance and Behavior of Icon Programs, IEEE Transactions on Software Engineering SE-9 (1), 93-103, Jan. 1983 (with C. A. Coutant and R. E. Griswold). PDF (3240KB).

A Portable Input/Output System, Software—Practice and Experience 13 (1), 95-100, Jan. 1983. PDF (493KB).

Simple Code Optimizations, Software—Practice and Experience 13 (9), 745-764, Aug. 1983. PDF (1125 KB).

Compact Recursive-Descent Parsing of Expressions, Software—Practice and Experience 15 (12), 1205-1212, Dec. 1985. PDF (412 KB).

Optimization of Argument Evaluation Order, Information Processing Letters 26 (6), 391-395, Apr. 1987 (with C. W. Fraser). PDF (856KB).

Fast Allocation and Deallocation of Memory Based on Object Lifetimes, Software—Practice and Experience 20 (1), 5-12, Jan. 1990. Errata: PDF (9KB), Full paper w/errata: PDF (497KB).

A Code Generation Interface for ANSI C, Software—Practice and Experience 21 (9), 963-988, Sep. 1991 (with C. W. Fraser). PDF (126 KB).

Simple Register Spilling in a Retargetable Compiler, Software—Practice and Experience 22 (1), 85-99, Jan. 1992 (with C. W. Fraser). PDF (63KB).

Garbage Collection Alternatives for Icon, Software—Practice and Experience 22 (8), 659-672, Aug. 1992 (with M. F. Fernandez). PDF (91KB).

Engineering a Simple, Efficient Code Generator Generator, ACM Letters on Programming Languages and Systems 1 (3), 213-226, Sep. 1992 (with C. W. Fraser and T. A. Proebsting). PDF (854KB). http://code.google.com/p/iburg

A Machine-Independent Debugger, Software—Practice and Experience 26 (11), 1277-1299, Nov. 1996 (with M. Raghavachari). PDF (350KB), Talk slides: PDF (110KB). http://code.google.com/p/cdb

Early Experience with ASDL in lcc, Software—Practice and Experience 29 (5), 417-435, Apr. 1999. PDF (120KB). Talk slides: PDF (71 KB).

A Machine-Independent Debugger—Revisited, Software—Practice and Experience 29 (10), 849-862, Aug. 1999. PDF (125KB). http://code.google.com/p/cdb

Lcc.NET: Targeting the .NET Common Intermediate Language from Standard C,  Software—Practice and Experience 34 (3), 265-286, Mar. 2004. PDF (185KB).

A Research C# Compiler, Software—Practice and Experience 34 (13), 1211-1224, Nov. 2004 (with T. A. Proebsting). PDF (135KB).