mes/scripts/nyacc.mes

59 lines
1.6 KiB
Scheme
Executable File

#! /bin/sh
# -*-scheme-*-
MES_ARENA=${MES_ARENA-50000000}
export MES_ARENA
prefix=module/
cat $prefix/mes/base-0.mes $0 | $(dirname $0)/mes $MES_FLAGS "$@"
# |
exit $?
!#
;;; Mes --- Maxwell Equations of Software
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of Mes.
;;;
;;; Mes is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; Mes is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;;; nyacc.mes
;;;
;;; Run with Guile:
;;; guile/nyacc.scm
;;; Code:
(mes-use-module (mes scm))
(mes-use-module (srfi srfi-9-psyntax))
(mes-use-module (mes optargs))
(mes-use-module (mes fluids))
(mes-use-module (mes catch))
(mes-use-module (mes guile))
(mes-use-module (mes pretty-print))
(mes-use-module (nyacc lang c99 parser))
;;(open-input-file "doc/examples/main.c")
(define (main arguments)
(let* ((file (if (> (length arguments) 1) (cadr arguments)
"doc/examples/main.c"))
(ast (with-input-from-file file
(lambda () (parse-c99 #:inc-dirs '())))))
(pretty-print ast)
(newline)))
(main '())
()