Changeset 30403 for lang/scheme
- Timestamp:
- 02/21/09 10:45:15 (4 years ago)
- Files:
-
- 1 modified
-
lang/scheme/3imp/3imp.scm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/scheme/3imp/3imp.scm
r30301 r30403 2 2 3 3 (use file.util) 4 (use gauche.parseopt) 4 5 (require "./4.7") 5 6 … … 9 10 (file->sexp-list fn))) 10 11 11 (define (run code) 12 (VM '() code 0 '() 0)) 12 (define (run-code code) 13 (dolist (x code) 14 (run x))) 15 16 (define (dofile srcfn) 17 (run-code (compile-file srcfn))) 18 19 (define (write-compiled-code srcfn) 20 (let ((code (compile-file srcfn))) 21 (dolist (x code) 22 (write/ss x) 23 (newline)))) 24 25 (define (run-file srcfn) 26 (run-code (file->sexp-list srcfn))) 27 28 (define (usage) 29 (print "3imp scheme compiler.") 30 (print "usage: 3imp [options] srcfn ...") 31 (print "options:") 32 (print " -h,--help disp help") 33 (print " -c,--compile compile only") 34 (print " -r,--run run compiled code") 35 ) 13 36 14 37 (define (main args) 15 (if (null? (cdr args)) 16 (repl) 17 (let ((srcfn (cadr args))) 18 (let ((code (compile-file srcfn))) 19 (dolist (x code) 20 (run x)))))) 38 (let-args (cdr args) 39 ((help? "h|help") 40 (compile-only? "c|compile") 41 (run? "r|run") 42 . restargs) 43 (cond (help? (usage)) 44 ((null? restargs) (repl)) 45 (else 46 (dolist (srcfn restargs) 47 (cond (compile-only? (write-compiled-code srcfn)) 48 (run? (run-file srcfn)) 49 (else (dofile srcfn))))))))
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)