← Back to Patent Explorer
US5396632A Expired / Lapsed US ⏱️ 0.0 years remaining

Prolog interrupt processing

Assignee: International Business Machines Corp
•
Filing: 1992-06-01
•
Granted: 1995-03-07
•
Expires: 2012-06-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An improved architecture for a Prolog interpreter/compiler is described to facilitate interrupt processing. The new architecture employs interrupt control words and a set of interrupt control blocks to enhance Prolog processing. As interrupts are detected, an interrupt control word is loaded with the address of an interrupt control block for managing interrupt processing. Then, each time a new predicate is fired, the interrupt control word is tested and control is passed to the interrupt processing routine if the control word is non-zero.

Inventors

  • 👤 Marc J. L. Gillet

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 06:09
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4812; G06F9/44; G06F9/448; G06F9/4496

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 105 words
A method for operating a computer system to process a predicate associated with an interrupt when the interrupt occurs during the processing of another predicate, comprising the steps of: (a) commencing processing of a first predicate; (b) detecting the occurrence of an interrupt associated with a second predicate; (c) storing interrupt information, further comprising the steps of (i) determining whether the interrupt is sensitive to backtracking, (ii) storing data indicative of backtracking sensitivity, and (iii) storing data indicative of the occurrence of the interrupt and the second predicate; (d) completing processing of the first predicate; and (e) processing the second predicate using the interrupt information.
Claim 2
Independent Claim 105 words
A method for operating a computer system to process a predicate associated with an interrupt when the interrupt occurs during the processing of another predicate, comprising the steps of: (a) commencing processing of a first predicate; (b) detecting the occurrence of an interrupt associated with a second predicate; (c) storing interrupt information, further comprising the steps of (i) determining whether the interrupt is sensitive to backtracking, (ii) storing data indicative of backtracking sensitivity, and (iii) storing data indicative of the occurrence of the interrupt and the second predicate; (d) completing processing of the first predicate; and (e) processing the second predicate using the interrupt information.
Claim 3
Dependent Claim 18 words
The method of claim 1 wherein the step of processing the second predicate includes instantiating a frozen variable.
Claim 4
Dependent Claim 17 words
The method of claim 1 wherein the step of processing the second predicate includes performing garbage collection.
Claim 5
Dependent Claim 18 words
The method of claim 1 wherein the step of processing the second predicate includes executing a debugging program.
Claim 6
Dependent Claim 21 words
The method of claim 1 wherein the step of processing the second predicate includes responding to user input via terminal entry.
Claim 7
Dependent Claim 34 words
The method of claim 1 wherein the step of storing interrupt information includes storing an address of a logical interrupt handler at a location where the address of the predicate invocation sequence is located.
Claim 8
Independent Claim 168 words
A method for operating a computer system having common storage to process a predicate associated with an interrupt when the interrupt occurs during the processing of another predicate, comprising the steps of: (a) commencing processing of a first predicate; (b) detecting the occurrence of an interrupt associated with a second predicate; (c) storing in the common storage interrupt control block information, further comprising the steps of (i) determining whether the interrupt is sensitive to backtracking, (ii) storing data indicative of backtracking sensitivity, and (iii) storing data indicative of the second predicate's predicate descriptor and arguments; (d) storing in the common storage interrupt flag information indicative of the occurrence of the interrupt and the location of the interrupt control block; (e) completing processing of the first predicate; (f) reading the interrupt flag to ascertain the location of the interrupt control block; (g) reading the interrupt control block from the common storage to ascertain the location of the second predicate's predicate descriptor and arguments; and (h) processing the second predicate.
Claim 9
Independent Claim 168 words
A method for operating a computer system having common storage to process a predicate associated with an interrupt when the interrupt occurs during the processing of another predicate, comprising the steps of: (a) commencing processing of a first predicate; (b) detecting the occurrence of an interrupt associated with a second predicate; (c) storing in the common storage interrupt control block information, further comprising the steps of (i) determining whether the interrupt is sensitive to backtracking, (ii) storing data indicative of backtracking sensitivity, and (iii) storing data indicative of the second predicate's predicate descriptor and arguments; (d) storing in the common storage interrupt flag information indicative of the occurrence of the interrupt and the location of the interrupt control block; (e) completing processing of the first predicate; (f) reading the interrupt flag to ascertain the location of the interrupt control block; (g) reading the interrupt control block from the common storage to ascertain the location of the second predicate's predicate descriptor and arguments; and (h) processing the second predicate.
Claim 10
Dependent Claim 18 words
The method of claim 7 wherein the step of processing the second predicate includes instantiating a frozen variable.
Claim 11
Dependent Claim 17 words
The method of claim 7 wherein the step of processing the second predicate includes performing garbage collection.
Claim 12
Dependent Claim 18 words
The method of claim 7 wherein the step of processing the second predicate includes executing a debugging program.
Claim 13
Dependent Claim 21 words
The method of claim 7 wherein the step of processing the second predicate includes responding to user input via terminal entry.
Claim 14
Dependent Claim 35 words
The method of claim 7 wherein the step of storing interrupt flag information includes storing an address of a logical interrupt handler at a location where the address of the predicate invocation sequence is located.
Claim 15
Dependent Claim 28 words
The method of claim 7 further including the step of storing the interrupt control block information in a linked list which includes previously stored unprocessed interrupt control blocks.
Claim 16
Dependent Claim 113 words
A computerized system for processing a predicate associated with an interrupt when the interrupt occurs during the processing of another predicate, comprising: (a) means for commencing processing of a first predicate; (b) means for detecting the occurrence of an interrupt, the interrupt being associated with a second predicate; (c) means for storing interrupt information comprising (i) means for determining whether the interrupt is sensitive to backtracking, (ii) means for storing data indicative of backtracking sensitivity, and (iii) means for storing data indicative of the occurrence of the interrupt and the second predicate; (d) means for completing processing of the first predicate; and (e) means for processing the second predicate using the interrupt information.
Claim 17
Dependent Claim 113 words
A computerized system for processing a predicate associated with an interrupt when the interrupt occurs during the processing of another predicate, comprising: (a) means for commencing processing of a first predicate; (b) means for detecting the occurrence of an interrupt, the interrupt being associated with a second predicate; (c) means for storing interrupt information comprising (i) means for determining whether the interrupt is sensitive to backtracking, (ii) means for storing data indicative of backtracking sensitivity, and (iii) means for storing data indicative of the occurrence of the interrupt and the second predicate; (d) means for completing processing of the first predicate; and (e) means for processing the second predicate using the interrupt information.
Claim 18
Dependent Claim 20 words
The system of claim 14 wherein the means for processing the second predicate includes means for instantiating a frozen variable.
Claim 19
Dependent Claim 35 words
The system of claim 14 wherein the means for processing the second predicate includes means for performing garbage collection, means for executing a debugging program or means for responding to user input via terminal entry.
Claim 20
Dependent Claim 36 words
The system of claim 14 wherein the means for storing interrupt information includes means for storing the address of a logical interrupt handler at a location where the address of the predicate invocation sequence is located.

References Cited (Backward Citations)

US4546432A Cited
US4783752A Cited
US4989132A Cited
US4970657A Cited
US4970658A Cited
US5274821A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-03-06 1998-09-05 1999-03-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-03-06 2002-09-05 2003-03-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-03-06 2006-09-05 2007-03-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag