scripts: Allow running with any mes.
[mes.git] / scripts / mescc.mes
1 #! /bin/sh
2 # -*-scheme-*-
3 MES=${MES-$(dirname $0)/mes}
4 prefix=module/
5 echo '()' | cat $prefix/mes/base-0.mes $0 /dev/stdin | $MES $MES_FLAGS "$@"
6 #paredit:||
7 chmod +x a.out
8 exit $?
9 !#
10
11 ;;; Mes --- Maxwell Equations of Software
12 ;;; Copyright © 2016,2017 Jan Nieuwenhuizen <janneke@gnu.org>
13 ;;;
14 ;;; This file is part of Mes.
15 ;;;
16 ;;; Mes is free software; you can redistribute it and/or modify it
17 ;;; under the terms of the GNU General Public License as published by
18 ;;; the Free Software Foundation; either version 3 of the License, or (at
19 ;;; your option) any later version.
20 ;;;
21 ;;; Mes is distributed in the hope that it will be useful, but
22 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
23 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24 ;;; GNU General Public License for more details.
25 ;;;
26 ;;; You should have received a copy of the GNU General Public License
27 ;;; along with Mes.  If not, see <http://www.gnu.org/licenses/>.
28
29 ;;; Commentary:
30
31 ;;; mescc.mes is a proof-of-concept simplistic C compiler and linker
32
33 ;;; Code:
34
35 ;;LALR
36 ;;(mes-use-module (language c compiler))
37 ;;Nyacc
38 (mes-use-module (mes guile))
39 (mes-use-module (language c99 compiler))
40
41 (define (main arguments)
42   (let* ((files (cdr arguments))
43          (file (if (null? files) "doc/examples/main.c"
44                    (car files))))
45     (with-input-from-file file
46       compile)))
47
48 (main (command-line))
49 ()