ACM Home Page
Please provide us with feedback. Feedback
An implementation of backtracking for programming languages
Full text PdfPdf (794 KB)
Source ACM Annual Conference/Annual Meeting archive
Proceedings of the ACM annual conference - Volume 2 table of contents
Boston, Massachusetts, United States
Pages: 763 - 771  
Year of Publication: 1972
Authors
Sponsor
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 12,   Citation Count: 9
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/800194.805856
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 assignments 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 programming 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", BIT, 7, 289, 1967.
 
4
Wegbreit, B. et al, ECL programmer's manual, 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", Numerische Mathematik, 2, 312, 1960. Also in Programming Systems and Languages., 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.

CITED BY  9

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