X-Git-Url: https://code.consxy.com/gitweb/gitweb.cgi?a=blobdiff_plain;f=src%2Fmain%2Ftranspile.lisp;h=b12bb14b8a1ba1f7d534e418aa6799fa93a5d77e;hb=1dd12dd;hp=627a6a8907cc3cb4855d2e843268f4ce67e1c8ec;hpb=3528ea770bf54e0174976c48b64e036355b71601;p=clnl diff --git a/src/main/transpile.lisp b/src/main/transpile.lisp index 627a6a8..b12bb14 100644 --- a/src/main/transpile.lisp +++ b/src/main/transpile.lisp @@ -94,6 +94,7 @@ DESCRIPTION: ((symbolp reporter) (intern (symbol-name reporter) clnl:*model-package*)) ((not (listp reporter)) (error "Expected a statement of some sort")) ((eql :command-block (car reporter)) (transpile-command-block reporter)) + ((eql :list-literal (car reporter)) (cons 'list (mapcar #'transpile-reporter (cdr reporter)))) ((eql :reporter-block (car reporter)) (transpile-reporter-block reporter)) ((and (symbolp (car reporter)) (find (car reporter) *local-variables*)) (intern (symbol-name (car reporter)) clnl:*model-package*)) @@ -145,6 +146,7 @@ DESCRIPTION: (defsimpleprim :crt :command clnl-nvm:create-turtles) (defsimpleprim :die :command clnl-nvm:die) (defsimpleprim :fd :command clnl-nvm:forward) +(defsimpleprim :hatch :command clnl-nvm:hatch) (defprim :if :command (lambda (pred a) `(when ,pred ,@(make-command-block-inline a)))) (defprim :ifelse :command (lambda (pred a b) `(if ,pred @@ -155,6 +157,7 @@ DESCRIPTION: (defagentvalueprim :label) (defagentvalueprim :label-color) (defsimpleprim :lt :command clnl-nvm:turn-left) +(defsimpleprim :not :reporter cl:not) (defkeywordprim :nobody) (defsimpleprim :one-of :reporter clnl-nvm:one-of) (defsimpleprim :of :reporter clnl-nvm:of) @@ -174,6 +177,7 @@ DESCRIPTION: (defsimpleprim :ticks :reporter clnl-nvm:ticks) (defsimpleprim :turtles :reporter clnl-nvm:turtles) (defagentvalueprim :who) +(defsimpleprim :with :reporter clnl-nvm:with) ; Colors (defmacro defcolorprim (color) `(defprim ,color :reporter (lambda () `(clnl-nvm:lookup-color ,,color))))