(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
(defpackage #:clnl-parser
(:use :common-lisp)
- (:export :parse)
+ (:export #:parse)
(:documentation
"CLNL Parser
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)
(defpackage #:clnl-transpiler
(:use :common-lisp)
- (:export :transpile-commands :transpile-reporter)
+ (:export #:transpile-commands #:transpile-reporter)
(:documentation
"CLNL Transpiler
(defpackage #:clnl-nvm
(:use :common-lisp)
- (:export :export-world :create-world :current-state
+ (:export #:export-world #:create-world #:current-state
; API as used by transpiled NetLogo programs
+ #:agent-value
#:ask
#:create-turtles
+ #:die
+ #:of
#:forward
+ #:lookup-color
+ #:reset-ticks
#:random-float
#:show
- #:turtles)
+ #:turtles
+ #:tick
+ #:ticks
+ #:turn-right #:turn-left)
(:documentation
"CLNL NVM
(defpackage #:clnl-lexer
(:use :common-lisp)
- (:export :lex)
+ (:export #:lex)
(:documentation
"CLNL Lexer
(defpackage #:clnl-interface
(:use :common-lisp)
- (:export :run :export-view)
+ (:export #:run #:export-view #:initialize)
(:documentation
"CLNL Interface
(defpackage #:clnl-cli
(:use :common-lisp :cl-charms/low-level)
- (:export :run)
+ (:export #:run)
(:documentation
"CLNL CLI
is where all the features that the traditional NetLogo UI lives."))
(defpackage #:clnl-model
- (:use :common-lisp :cl-charms/low-level)
- (:export :read-from-nlogo)
+ (:use :common-lisp)
+ (:export #:default-model #:read-from-nlogo #:world-dimensions #:globals)
(:documentation
"CLNL Model