+(defvar *dynamic-prims* nil)
+(defun global->prim (global) (list :name global))
+(defun breed->prims (breed-list)
+ (let
+ ((plural-name (symbol-name (car breed-list))))
+ (list
+ (list :name (car breed-list))
+ (list :name (intern (format nil "~A-HERE" plural-name) :keyword))
+ (list :name (intern (format nil "CREATE-~A" plural-name) :keyword) :args '(:number :command-block)))))
+
+(defun parse (lexed-ast &optional external-globals)
+ "PARSE LEXED-AST &optional EXTERNAL-GLOBALS => AST