(defpackage #:clnl (:use :common-lisp)
- (:export #:run #:boot #:run-commands #:run-reporter)
+ (:export #:run #:boot #:run-commands #:run-reporter #:*model-package*)
(:documentation
"Main CLNL package
All the code to convert the list of tokens coming from the lexer
into an ast that can be transpiled later."))
+(defpackage #:clnl-code-parser
+ (:use :common-lisp)
+ (:export #:parse #:globals)
+ (:documentation
+ "CLNL Code Parser
+
+A parser specifically for code from NetLogo models, that turns the lexed
+ast from an entire structured file into something more defined.
+
+This is different from the general parser (in clnl-parser) in that
+it's made for parsing the code section of nlogo files, and so works
+outside of the constraints. In NetLogo, I believe this is analagous
+to the StructureParser, but I'm guessing there's weird overlap with
+other things."))
+
(defpackage #:clnl-random
(:use :common-lisp)
(:shadow #:export)
; API as used by transpiled NetLogo programs
#:ask
#:create-turtles
+ #:die
#:forward
#:random-float
#:show
- #:turtles)
+ #:turtles
+ #:turn-right #:turn-left)
(:documentation
"CLNL NVM
is where all the features that the traditional NetLogo UI lives."))
(defpackage #:clnl-model
- (:use :common-lisp :cl-charms/low-level)
- (:export #:default-model #:read-from-nlogo #:world-dimensions)
+ (:use :common-lisp)
+ (:export #:default-model #:read-from-nlogo #:world-dimensions #:globals)
(:documentation
"CLNL Model