From f4ce142cf1f91e694c25e25177f02610a47bcc3a Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 23 Apr 2015 16:06:37 -0400 Subject: [PATCH] Added option for trace level, do not emit trans by default --- TODO | 1 - cyclone.scm | 16 ++++++++++++---- trans.scm | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/TODO b/TODO index 215307e1..3bc21448 100644 --- a/TODO +++ b/TODO @@ -1,6 +1,5 @@ Working TODO list: - - make *trace-level* a command-line parameter, and by default do not emit scheme code transformations in comments - Reduction in size of generated code is there anything we can do? are closures being packed/unpacked unnecessarily? diff --git a/cyclone.scm b/cyclone.scm index 15d3441c..3073bd3b 100644 --- a/cyclone.scm +++ b/cyclone.scm @@ -163,7 +163,17 @@ (string-append "gcc " src-file " -L. -lcyclone -lm -I. -g -o " exec-file))))) ;; Handle command line arguments -(let ((args (command-line-arguments))) ;; TODO: port (command-line-arguments) to husk?? +(let* ((args (command-line-arguments)) ;; TODO: port (command-line-arguments) to husk?? + (non-opts (filter + (lambda (arg) + (not (and (> (string-length arg) 1) + (equal? #\- (string-ref arg 0))))) + args)) + (compile? #t)) + (if (member "-t" args) + (set! *trace-level* 4)) ;; Show all trace output + (if (member "-d" args) + (set! compile? #f)) ;; Debug, do not run GCC (cond ((< (length args) 1) (display "cyclone: no input file") @@ -175,8 +185,6 @@ (display *version-banner*)) ((member "--autogen" args) (autogen "autogen.out")) - ((member "-d" args) - (run-compiler args #f)) ;; Debug, do not run GCC (else - (run-compiler args #t)))) + (run-compiler non-opts compile?)))) diff --git a/trans.scm b/trans.scm index 827c5ac2..cd546914 100644 --- a/trans.scm +++ b/trans.scm @@ -335,7 +335,7 @@ (define *do-code-gen* #t) ; Generate C code? ;; Trace -(define *trace-level* 4) +(define *trace-level* 2) (define (trace level msg pp prefix) (if (>= *trace-level* level) (begin