diff options
-rw-r--r-- | main.lisp | 17 | ||||
-rw-r--r-- | test/makro.lorth | 6 |
2 files changed, 15 insertions, 8 deletions
@@ -56,14 +56,22 @@ (finish)) (simulate-program (parse-tokens (lex-line line 0))))) +(defun comp-options () + (list (clingon:make-option + :filepath + :description "Kaynak dosyasını belirt." + :short-name #\k + :key :kaynak))) + (defun subcommands () (list (clingon:make-command :name "derle" :description "Dosyadaki programı derle" :usage "<dosya-ismi>" + :options (comp-options) :handler (lambda (cmd) (generate-program (make-program - (car (clingon:command-arguments cmd))) + (clingon:getopt cmd :kaynak)) :compile t))) (clingon:make-command :name "test" @@ -122,13 +130,6 @@ ;; :short-name #\s ;; :key :simulate))) -;; (defun comp-options () -;; (list (clingon:make-option -;; :filepath -;; :description "Dosyadaki programı derle." -;; :short-name #\c -;; :key :compile))) - ;; (defun test-options () ;; (list (clingon:make-option ;; :flag diff --git a/test/makro.lorth b/test/makro.lorth new file mode 100644 index 0000000..405f98b --- /dev/null +++ b/test/makro.lorth @@ -0,0 +1,6 @@ +;;; test +;;; (format nil "Hello world!..~%") +makro write değiş 1 syscall-3 son +makro stdout 1 son + +stdout "Hello world!..\n" write |