I am getting the followin error on SMSPEC:
;(READ-EOF #FILE-IN-|DSK:SHRDLU;SMSPEC LSP|-70760) END OF FILE WITHIN
READ
;BKPT FAIL-ACT
-------------------------------
SMSPEC:
(declare (genprefix smspec))
(DEFUN SMTIME NIL (ERT SMTIME NOT WRITTEN YET))
(DEFUN SMTIME2 NIL (ERT SMTIME2 NOT WRITTEN YET))
(DEFUN SMNEWNOUN NIL
(OBJECT (MARKERS: (/#NEWNOUN) PROCEDURE: ((/#NEWWORD)))))
(DEFUN SMNEWPROPN NIL (SMSET (LIST (NEWCOPY 'NAME-OSS))))
(DEFUN SMCONJ NIL
;;FOR ALL CONJOINED THINGS -- IT CURRENTLY ONLY HANDLES THINGS
;;WHICH HAVE AN OSS OR RSS STRUCTURE AS THEIR SEMANTICS. THIS
;;DOES NOT INCLUDE SINGLE WORDS OF MOST TYPES. IT USES
;;RECURSION
(PROG (%SM) (SMCONJ2 NIL H) (RETURN (SMSET %SM))))
(DEFUN SMCONJ2 (INTERPLIST RESTLIST)
;;INTERPLIST IS THE LIST OF INTERPRETATIONS FOR THE CONJUNCTS
;;HANDLED SO FAR -- THIS FUNCTION WILL BE CALLED ONCE FOR EACH
;;POSSIBLE COMBINATION. THE MARKERS FOR THE CONJOINED
;;STRUCTURE ARE THOSE OF THE FIRST CONJUNCT -- NEEDS MORE
;;SOPHISTICATION. RESTLIST IS THE REST OF NODES YET TO BE
;;HANDLED.
(PROG (%X)
(OR RESTLIST
(RETURN (SETQ %SM
(CONS (BUILD RSSNODE=
(AND (RSS? INTERP)
(MAKESYM 'RSS))
OSSNODE=
(AND (OSS? INTERP)
(MAKESYM 'OSS))
MARKERS=
(MARKERS? INTERP)
SYSTEMS=
(SYSTEMS? INTERP)
REL=
(REL? INTERP)
AND=
(AND (OR (CQ BUT)
(CQ AND))
INTERPLIST)
OR=
(AND (OR (CQ OR) (CQ NOR))
INTERPLIST))
%SM))))
;WHEN THERE IS NO RESTLIST,
(MAPCAR '(LAMBDA (INTERP) (SMCONJ2 (CONS INTERP
INTERPLIST)
;WE HAVE LOOPED TO THE END OF
(CDR RESTLIST)))
;THE LIST OF CONJUNCTS, AND
(SM RESTLIST))))
;THE RESULTING INTERPRETATION IS OK. THE MAPPING
;IS DOWN THE LIST OF INTERPRETATIONS FOR A
;SINGLE CONJUNCT WHILE THE RECURSION GETS US
;DOWN THE LIST OF CONJUNCTS. THUS WE GET EVERY
;POSSIBLE COMBINATION OF THE INTERPRETATIONS. --
;ISN'T LISP SUPER-DUPER-WONDERFUL! NOTICE THAT
;INTERP IS GETTING PICKED UP AS A FREE VARIABLE
;BY SMCONJ2, EVEN THOUGH IT IS BOUND ONLY INSIDE
;A MAPCAR INSIDE SMCONJ2. THIS WORKS BECAUSE THE
;CLAUSE CONTAINING IT CAN NEVER GET CALLED
;EXCEPT BY RECURSION,
--cont--
"Mike Speed" <·······@yahoo.com> writes:
> I am getting the followin error on SMSPEC:
>
> ;(READ-EOF #FILE-IN-|DSK:SHRDLU;SMSPEC LSP|-70760) END OF FILE WITHIN READ
> --cont--
It looks like your cut-and-past of the problematic file was truncated
in your posting. But I wonder if you should look at the definition of
the function SMONE3 and see if your file looks intact there,
or whether maybe it was trashed at some point.
Just a hunch.
It should look like this:
(DEFUN SMONE3 (ONENG)
;; SMONE3 TAKES AN NG WHICH IS A POSSIBLE REFERENT FOR "ONE".
;;IT FIRST CUTS THE NG TO BE ONLY (NOUN ADJ ... ADJ ETC) I.E.
;;IT STRIPS OF QUALIFYING PHRASES. IF THERE IS NO CONTRAST
;;THEN THIS MUNGED NG IS RETURNED AS THE REFERENT. IF THERE
;;IS A CONTRAST, THEN IT CHECKS TO SEE IF THE NG SATISFIES
;;THAT CONTRAST.
(PROG (NGWORDS X)
(OR (ISQ ONENG NG)
(BUG SMONE3: ONE REFERENT IS NOT A NG))
(SETQ NGWORDS (H ONENG))
LOOP (COND ((NULL NGWORDS) (RETURN NIL))
; FAIL IF NG HAS NO NOUN HEAD
((ISQ NGWORDS NOUN))
; IF FIND NOUN HEAD OF NG,
(ELSE (SETQ NGWORDS (CDR NGWORDS)) (GO LOOP)))
;WIN
(OR CONTRAST (RETURN NGWORDS))
; IF THERE IS NO CONTRAST,
(SETQ X (REVERSE NGWORDS))
;REFERENT WINS BY DEFAULT
LOOK (COND ((AND (EQ (CAR CONTRAST)
(GET (ROOT (NB X)) 'CONTRAST))
(NOT (EQ (CADR CONTRAST) (ROOT (NB X)))))
(RETURN (REVERSE (CDR X))))
((SETQ X (CDR X)) (GO LOOK))
(ELSE (RETURN NIL)))))