|
1. |
The errors of tex |
|
Software: Practice and Experience,
Volume 19,
Issue 7,
1989,
Page 607-685
Donald E. Knuth,
Preview
|
PDF (4904KB)
|
|
摘要:
AbstractThis paper is a case study of program evolution. The author kept track of all changes made to TEX during a period of ten years, including the changes made when the original program was first debugged in 1978. The log book of these errors, numbering more than 850 items, appears as an appendix to this paper. The errors have been classified into fifteen categories for purposes of analysis, and some of the noteworthy bugs are discussed in detail. The history of the TEX project can teach valuable lessons about the preparation of highly portable software and the maintenance of programs that aspire to high standards of reliability.
ISSN:0038-0644
DOI:10.1002/spe.4380190702
出版商:John Wiley&Sons, Ltd.
年代:1989
数据来源: WILEY
|
2. |
User‐adaptable prettyprinting |
|
Software: Practice and Experience,
Volume 19,
Issue 7,
1989,
Page 687-702
G. Blaschek,
J. Sametinger,
Preview
|
PDF (722KB)
|
|
摘要:
AbstractThis paper presents a prettyprinter for high‐level languages that can be adapted to the personal preferences of an individual user or to particular project conventions. The customization of the prettyprinter is done by means of a user profile with a set of parameters. The available parameters have been chosen with respect to minimality of the user interface and reasonable flexibility. The paper includes a complete list of all parameters with examples. The prettyprinter is fairly portable; it consists of a language‐independent back end and a front end that is created by a compiler generator from a formal description of the language to be processed. Currently, Modula‐2 and Pascal versions of the prettyprinter have been implem
ISSN:0038-0644
DOI:10.1002/spe.4380190703
出版商:John Wiley&Sons, Ltd.
年代:1989
数据来源: WILEY
|
3. |
Allocation without locking |
|
Software: Practice and Experience,
Volume 19,
Issue 7,
1989,
Page 703-705
Andrew W. Appel,
Preview
|
PDF (231KB)
|
|
摘要:
AbstractIn a programming environment with both concurrency and automatic garbage collection, the allocation and initialization of a new record is a sensitive matter: if it is interrupted half‐way through, the allocating process may be in a state that the garbage collector cannot understand. In particular, the collector will not know which words of the new record have been initialized and which are meaningless (and unsafe to traverse).For this reason, parallel implementations usually use a locking or semaphore mechanism to ensure that allocation is an atomic operation. The locking significantly adds to the cost of allocation. This paper shows how allocation can run extremely quickly even in a multi‐thread environment: open‐coded, without lo
ISSN:0038-0644
DOI:10.1002/spe.4380190704
出版商:John Wiley&Sons, Ltd.
年代:1989
数据来源: WILEY
|
4. |
Masthead |
|
Software: Practice and Experience,
Volume 19,
Issue 7,
1989,
Page -
Preview
|
PDF (80KB)
|
|
ISSN:0038-0644
DOI:10.1002/spe.4380190701
出版商:John Wiley&Sons, Ltd.
年代:1989
数据来源: WILEY
|
|