X-Git-Url: https://code.consxy.com/gitweb/gitweb.cgi?p=clnl;a=blobdiff_plain;f=src%2Fmain%2Fparse.lisp;h=9c805749c26aaadc76e3d1fa96ebb82393f3c8c2;hp=b3dd3d79c919eedd3b169eb5bdd1fb2b7988fb1d;hb=5a7fb5c;hpb=1d5423397baed94b051f404da7774724e8625e47 diff --git a/src/main/parse.lisp b/src/main/parse.lisp index b3dd3d7..9c80574 100644 --- a/src/main/parse.lisp +++ b/src/main/parse.lisp @@ -138,16 +138,16 @@ DESCRIPTION: (butlast half-parsed-remainder (- (length half-parsed-remainder) num-args)))))))) (defun help-arg (arg-type arg) - (case arg-type - (:command-block + (cond + ((eql arg-type :command-block) (if (not (and (consp arg) (eql 'block (car arg)))) (error "Required a block, but found a ~A" arg) (cons :command-block (cdr arg)))) - (:reporter-block + ((eql arg-type :reporter-block) (if (not (and (consp arg) (eql 'block (car arg)))) (error "Required a block, but found a ~A" arg) (cons :reporter-block (cdr arg)))) - (:list + ((or (eql arg-type :list) (and (listp arg-type) (find :list arg-type))) (if (and (consp arg) (eql 'block (car arg))) (cons :list-literal (cdr arg)) arg)) @@ -238,7 +238,7 @@ DESCRIPTION: (defprim :label-color ()) (defprim :not (:boolean)) (defprim :nobody ()) -(defprim :one-of (t)) +(defprim :one-of ((:agentset :list))) (defprim :of (:reporter-block :agentset) :infix) (defprim :patches ()) (defprim :pcolor ())