ACM Home Page
Please provide us with feedback. Feedback
An implementation of backtracking for programming languages
Full text PdfPdf (765 KB)
Source ACM SIGPLAN Notices archive
Volume 7 ,  Issue 11  (November 1972) table of contents
Special issue on control structures in programming languages
SPECIAL ISSUE: The state of the art table of contents
Pages: 36 - 44  
Year of Publication: 1972
ISSN:0362-1340
Authors
Charles J. Prenner  Center for Research in Computing Technology
Jay M. Spitzen  Center for Research in Computing Technology
Ben Wegbreit  Center for Research in Computing Technology
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 11,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/987361.987367
What is a DOI?

ABSTRACT

Primitive operations for backtracking and a technique for their implementation are described. The technique is applicable to all programming languages whose control structure is strictly hierarchical. A general stack model for such languages is presented and a realization of the backtracking primitives is described in terms of this model. The primitives give the user control over which assignents to variables will be 'undone' when backtracking. Moreover, their realization, at each point of choice, does not save the entire current machine state but only a relatively small amount of information sufficient to later reconstruct that machine state. Consequently, the implementation makes efficient use of storage and makes backtracking a practical progamming device for dealing with complex problems.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
 
3
Johansen, P., "Non-deterministic programming", <u>BIT</u>, 7, 289, 1967.
 
4
Wegbreit, B. <u>et al, ECL programmer's manual</u>, 1972, Center for Research in Computing Technology, Harvard University, Cambridge.
 
5
Wegbreit, B., "The ECL programming system", Proc. AFIPS 1971 FJCC, 39, p. 253, AFIPS Press, Montvale, N. J.
 
6
Dijkstra, E. W., "Recursive programming", <u>Numerische Mathematik</u>, 2, 312, 1960. Also in <u>Programming Systems and Languages</u>., S. Rosen (ed.), 1967, McGraw-Hill, New York.
7
 
8
Bobrow, D. and Wegbreit, B., "A model and stack implementation of multiple environments", BBN Report No. 3334, 1972.
 
9
Wegner, P., "Data structure models for programming languages", Proc. Symposium on Data Structures in Programming Languages, p. 1, 1971, Gainesville, Florida.
 
10
Hewitt, C., "PLANNER: A language for manipulating models and proving theorems in a robot", Proc. International Joint Conference on Artificial Intelligence, p. 295, 1969, Washington, D. C.
 
11
Spitzen, J. M., "Non-deterministic algorithms in ECL", ECL working Memo, 1971, Center for Research in Computing Technology, Harvard University, Cambridge.


Collaborative Colleagues:
Charles J. Prenner: colleagues
Jay M. Spitzen: colleagues
Ben Wegbreit: colleagues