X-Git-Url: https://code.consxy.com/gitweb/gitweb.cgi?a=blobdiff_plain;f=src%2Fmain%2Fmodel.lisp;h=7a18fb0283adb3538e70104b9ec26f3f8d61061e;hb=fb6e383b5e0f5c86e4c79e0839dcbfee91b2e9fc;hp=83179a0bb4f2e6abaae54724c1287af73e5eeaa9;hpb=b4f2bfd8e590105c4ea65e6a5751edf0dc422aa2;p=clnl diff --git a/src/main/model.lisp b/src/main/model.lisp index 83179a0..7a18fb0 100644 --- a/src/main/model.lisp +++ b/src/main/model.lisp @@ -54,7 +54,15 @@ DESCRIPTION: (read-sections (append section (list line)))))))) (read-sections)))) (make-model - :code (nth 0 sections) + :code (clnl-code-parser:parse + (clnl-lexer:lex (format nil "~{~A~^~%~}" (nth 0 sections))) + (remove nil + (mapcar + (lambda (widget) + (typecase widget + (slider (intern (string-upcase (slider-varname widget)) :keyword)) + (switch (intern (string-upcase (switch-varname widget)) :keyword)))) + (parse-interface (nth 1 sections))))) :interface (parse-interface (nth 1 sections)) :info (nth 2 sections) :turtle-shapes (nth 3 sections) @@ -222,6 +230,7 @@ DESCRIPTION: :ymin (view-min-pycor view) :ymax (view-max-pycor view)))) +; For now, we keep the code hidden in this package (defun globals (model) "GLOBALS MODEL => GLOBALS @@ -242,10 +251,12 @@ DESCRIPTION: (list (intern (string-upcase (car pair)) clnl:*model-package*) (cadr pair))) - (remove nil - (mapcar - (lambda (widget) - (typecase widget - (slider (list (slider-varname widget) (slider-default widget))) - (switch (list (switch-varname widget) (switch-on widget))))) - (model-interface model))))) + (append + (clnl-code-parser:globals (model-code model)) + (remove nil + (mapcar + (lambda (widget) + (typecase widget + (slider (list (slider-varname widget) (slider-default widget))) + (switch (list (switch-varname widget) (switch-on widget))))) + (model-interface model))))))