scripts: Support --help, --version.
* guile/mescc.scm: Support --help, --version. * scripts/mescc.mes: Likewise. * scripts/repl.mes: Likewise.
This commit is contained in:
parent
0f27e12672
commit
da768a9f12
|
@ -53,5 +53,12 @@ GUILE='~/src/guile-1.8/build/pre-inst-guile --debug -q' guile/mescc.scm
|
|||
(let* ((files (cdr arguments))
|
||||
(file (if (null? files) (string-append %docdir "examples/main.c")
|
||||
(car files))))
|
||||
(cond ((equal? file "--help")
|
||||
(format (current-error-port) "Usage: mescc.scm [--help|--version|FILE] > a.out\n")
|
||||
(exit 0))
|
||||
((equal? file "--version")
|
||||
(format (current-error-port) "mescc.scm (mes) ~a\n" %version)
|
||||
(exit 0)))
|
||||
(format (current-error-port) "compiling: ~a\n" file)
|
||||
(with-input-from-file file
|
||||
compile)))
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# -*-scheme-*-
|
||||
MES=${MES-$(dirname $0)/mes}
|
||||
moduledir=module/
|
||||
echo '()' | cat $moduledir/mes/base-0.mes $0 /dev/stdin | $MES $MES_FLAGS "$@"
|
||||
echo '()' | cat $moduledir/mes/base-0.mes $0 /dev/stdin | $MES $MES_FLAGS -- "$@"
|
||||
#paredit:||
|
||||
r=$?
|
||||
([ -f a.out ] && chmod +x a.out)
|
||||
|
@ -36,6 +36,16 @@ exit $r
|
|||
;;LALR
|
||||
;;(mes-use-module (language c compiler))
|
||||
;;Nyacc
|
||||
|
||||
(let* ((files (cddr (command-line)))
|
||||
(file (if (pair? files) (car files))))
|
||||
(cond ((equal? file "--help")
|
||||
(format (current-error-port) "Usage: mescc.mes [--help|--version|FILE] > a.out\n")
|
||||
(exit 0))
|
||||
((equal? file "--version")
|
||||
(format (current-error-port) "mescc.mes (mes) ~a\n" %version)
|
||||
(exit 0))))
|
||||
|
||||
(mes-use-module (mes guile))
|
||||
(mes-use-module (language c99 compiler))
|
||||
|
||||
|
@ -46,10 +56,13 @@ exit $r
|
|||
(define %version (if (string-prefix? "@VERSION" "@VERSION@") "git" "@VERSION@"))
|
||||
|
||||
(define (main arguments)
|
||||
(let* ((files (cdr arguments))
|
||||
(file (if (null? files) (string-append %docdir "examples/main.c")
|
||||
(car files))))
|
||||
(with-input-from-file file
|
||||
(let* ((mfiles (cddr arguments))
|
||||
(mfiles (if (or (null? mfiles) (not (equal? (car mfiles) "--"))) mfiles
|
||||
(cdr mfiles)))
|
||||
(mfile (if (null? mfiles) (string-append %docdir "examples/main.c")
|
||||
(car mfiles))))
|
||||
(format (current-error-port) "compiling: ~a\n" mfile)
|
||||
(with-input-from-file mfile
|
||||
compile)))
|
||||
|
||||
(main (command-line))
|
||||
|
|
|
@ -4,7 +4,7 @@ MES=${MES-$(dirname $0)/mes}
|
|||
#MES_ARENA=${MES_ARENA-30000000}
|
||||
#export MES_ARENA
|
||||
prefix=module/
|
||||
cat $prefix/mes/base-0.mes $0 /dev/stdin | $MES $MES_FLAGS "$@"
|
||||
cat $prefix/mes/base-0.mes $0 /dev/stdin | $MES $MES_FLAGS -- "$@"
|
||||
#paredit:|
|
||||
exit $?
|
||||
!#
|
||||
|
@ -27,7 +27,17 @@ exit $?
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(mes-use-module (mes scm))
|
||||
(let* ((files (cdr (command-line)))
|
||||
(file (if (pair? files) (car files)))
|
||||
(file (if (and (equal? file "--") (pair? files) (pair? (cdr files))) (cadr files) file)))
|
||||
(cond ((equal? file "--help")
|
||||
(format (current-error-port) "Usage: repl.mes [--help|--version]\n")
|
||||
(exit 0))
|
||||
((equal? file "--version")
|
||||
(format (current-error-port) "mescc.mes (mes) ~a\n" %version)
|
||||
(exit 0))))
|
||||
|
||||
;;(mes-use-module (mes scm))
|
||||
(mes-use-module (mes syntax))
|
||||
(mes-use-module (mes repl))
|
||||
|
||||
|
|
Loading…
Reference in a new issue