;;; **************************************************************** ;;; OPS5 Interpreter *********************************************** ;;; **************************************************************** ;;; This Common Lisp version of OPS5 is in the public domain. It is based ;;; in part on based on a Franz Lisp implementation done by Charles L. Forgy ;;; at Carnegie-Mellon University, which was placed in the public domain by ;;; the author in accordance with CMU policies. Ported to Common Lisp by ;;; George Wood and Jim Kowalski. CMU Common Lisp modifications by ;;; Dario Guise, Skef Wholey, Michael Parzen, and Dan Kuokka. ;;; Modified to work in CLtL1, CLtL2 and X3J13 compatible lisps by ;;; Mark Kantrowitz on 14-OCT-92. ;;; ;;; This code is made available is, and without warranty of any kind by the ;;; authors or by Carnegie-Mellon University. ;;; (in-package "OPS") ;;; Global variables also used by OPS modules. (defvar *halt-flag* nil) (defvar *cycle-count* nil) (defvar *p-name* nil) (defvar *ptrace* nil) (defvar *wtrace* nil) ;;; Hash Tables. (defvar *conflicts-table* (make-hash-table)) (defvar *vector-attribute-table* (make-hash-table)) (defun set-vector-attribute (att) (setf (gethash att *vector-attribute-table*) t)) (defun is-vector-attribute (att) (gethash att *vector-attribute-table*)) (defvar *att-list-table* (make-hash-table)) (defvar *ppdat-table* (make-hash-table)) (defvar *wmpart*-table* (make-hash-table)) (defvar *inputfile-table* (make-hash-table)) (defvar *outputfile-table* (make-hash-table)) (defvar *backpointers-table* (make-hash-table)) (defvar *ops-bind-table* (make-hash-table)) (defvar *production-table* (make-hash-table)) (defvar *topnode-table* (make-hash-table)) (defvar *external-routine-table* (make-hash-table)) (defun clear-ops-hash-tables () (clrhash *conflicts-table*) (clrhash *vector-attribute-table*) (clrhash *att-list-table*) (clrhash *ppdat-table*) (clrhash *wmpart*-table*) (clrhash *inputfile-table*) (clrhash *outputfile-table*) (clrhash *backpointers-table*) (clrhash *ops-bind-table*) (clrhash *production-table*) (clrhash *topnode-table*) (clrhash *external-routine-table*))