Coverage report: /home/ellis/comp/core/lib/syn/cli.lisp

KindCoveredAll%
expression037 0.0
branch02 0.0
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; cli.lisp --- SYN CLI Tools
2
 
3
 ;; 
4
 
5
 ;;; Code:
6
 (in-package :syn/cli)
7
 (defcmd gen-cmd () (println syn/gen:*gen*))
8
 
9
 (defcmd gen-print-cmd ()
10
   (when *args*
11
     (let ((f (car *args*)))
12
       (if (probe-file f)
13
           (print-code (syn/gen/c::read-gen-c-file f))
14
           (print-code (syn/gen/c::read-gen-c-string f)))
15
       (terpri))))
16
 
17
 (defopt gen-syntax-opt ()
18
   (let ((syn (keywordicate (string-upcase *arg*))))
19
     (syn/gen:load-gen syn)
20
     (setq *package* (syn/gen:gen-package syn))
21
     syn))
22
 
23
 (define-cli *gen-cli*
24
   :name "gen"
25
   :package :syn/gen
26
   :description "code generator"
27
   :version 0
28
   :help t
29
   :opts ((:name "output" :kind file)
30
          (:name "syntax" :kind string :default "c" :thunk gen-syntax-opt)
31
          (:name "level" :thunk level-opt))
32
   :cmds ((:name "print" :description "Read GEN-C S expressions from a file or string." :thunk gen-print-cmd))
33
   :thunk gen-cmd)
34
 
35
 (load-package-cli *gen-cli* :package :syn)
36
 
37
 (defun run-gen-cli ()
38
   (with-cli (*gen-cli* :args (args))
39
     (nyi!)))