summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.lisp17
-rw-r--r--test/makro.lorth6
2 files changed, 15 insertions, 8 deletions
diff --git a/main.lisp b/main.lisp
index a43f798..15b33a7 100644
--- a/main.lisp
+++ b/main.lisp
@@ -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