Prepare for 0.1 release: installable scripts.
[mes.git] / scripts / paren.mes
1 #! /bin/sh
2 # -*-scheme-*-
3 echo -e 'EOF\n___P((()))' | cat $($(dirname $0)/include.mes $0) $0 /dev/stdin | $(dirname $0)/mes
4 chmod +x a.out
5 exit $?
6 !#
7
8 ;;; Mes --- Maxwell Equations of Software
9 ;;; Copyright © 2008 Derek Peschel
10 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
11 ;;;
12 ;;; paren.mes: This file is part of Mes.
13 ;;;
14 ;;; Mes is free software; you can redistribute it and/or modify it
15 ;;; under the terms of the GNU General Public License as published by
16 ;;; the Free Software Foundation; either version 3 of the License, or (at
17 ;;; your option) any later version.
18 ;;;
19 ;;; Mes is distributed in the hope that it will be useful, but
20 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
21 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22 ;;; GNU General Public License for more details.
23 ;;;
24 ;;; You should have received a copy of the GNU General Public License
25 ;;; along with Mes.  If not, see <http://www.gnu.org/licenses/>.
26
27 ;;; Commentary:
28
29 ;;; paren.mes is a simple yet full lalr test for Mes taken from the
30 ;;; Gambit wiki.
31 ;;;
32 ;;; Run with Guile:
33 ;;;    echo '___P((()))' | guile -s <(echo '(paren-depth)' | cat module/language/paren.mes -)
34
35 ;;; Code:
36
37 (mes-use-module (mes base-0))
38 (mes-use-module (mes base))
39 (mes-use-module (mes quasiquote))
40 (mes-use-module (mes let))
41 (mes-use-module (mes scm))
42 (mes-use-module (mes syntax))
43 (mes-use-module (srfi srfi-0))
44 (mes-use-module (mes record-0))
45 (mes-use-module (mes record))
46 (mes-use-module (srfi srfi-9))
47 (mes-use-module (mes lalr-0))
48 (mes-use-module (mes lalr))
49 (mes-use-module (language paren))
50
51 (paren-depth)
52 ()