X-Git-Url: https://code.consxy.com/gitweb/gitweb.cgi?a=blobdiff_plain;f=src%2Fmain%2Fpackage.lisp;h=f3aef8a0e9d318d9703e7151c657d122d2ddd164;hb=762ab38;hp=3998b00c27dc78a8b8102b93acb069ecc0bb7714;hpb=b4f2bfd8e590105c4ea65e6a5751edf0dc422aa2;p=clnl diff --git a/src/main/package.lisp b/src/main/package.lisp index 3998b00..f3aef8a 100644 --- a/src/main/package.lisp +++ b/src/main/package.lisp @@ -1,5 +1,7 @@ (defpackage #:clnl (:use :common-lisp) - (:export #:run #:boot #:run-commands #:run-reporter #:*model-package*) + (:export + #:run #:boot #:run-commands #:run-reporter #:*model-package* + #:model->multi-form-lisp #:model->single-form-lisp) (:documentation "Main CLNL package @@ -15,10 +17,25 @@ the place that ties all the parts together into a cohesive whole.")) 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) - (:export #:export #:set-seed #:next-int #:next-double) + (:export #:export #:set-seed #:next-int #:next-double #:next-long) (:documentation "Wrapper around mt19937. @@ -28,7 +45,7 @@ to match how java.util.Random works. Turtles, all the way down.")) (defpackage #:clnl-transpiler (:use :common-lisp) - (:export #:transpile-commands #:transpile-reporter) + (:export #:transpile #:reporter-p #:command-list-p) (:documentation "CLNL Transpiler @@ -49,14 +66,36 @@ into an ast that can be transpiled later.")) (defpackage #:clnl-nvm (:use :common-lisp) - (:export #:export-world #:create-world #:current-state + (:shadow #:random #:count) + (:export #:export-world #:create-world #:current-state #:with-stop-handler ; API as used by transpiled NetLogo programs + #:agent-value #:ask + #:clear-all + #:count #:create-turtles + #:die + #:display + #:hatch + #:of #:forward + #:lookup-color + #:one-of + #:patches + #:reset-ticks + #:random #:random-float + #:random-xcor + #:random-ycor + #:set-default-shape + #:setxy #:show - #:turtles) + #:stop + #:turtles + #:tick + #:ticks + #:turn-right #:turn-left + #:with) (:documentation "CLNL NVM @@ -92,7 +131,7 @@ is where all the features that the traditional NetLogo UI lives.")) (defpackage #:clnl-model (:use :common-lisp) - (:export #:default-model #:read-from-nlogo #:world-dimensions #:globals) + (:export #:default-model #:read-from-nlogo #:world-dimensions #:widget-globals #:code) (:documentation "CLNL Model