#! /bin/sh

# Copyright (C) 2018-2020 Free Software Foundation, Inc.
#
# This program 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.
#
# This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.

cat >input <<EOF
1+2*3
EOF
run 0 7

cat >input <<EOF
1
2
3
EOF
run 0 '1
2
3'

cat >input <<EOF
(1+2) * 3
EOF
run 0 9
run -noerr 0 9 -p

cat >input <<EOF
(1+2) *
EOF
run 1 'err: 1.8-2.0: syntax error, unexpected end of line, expecting ( or number
err: errors: 1'

cat >input <<EOF
1 / (2 - 2)
EOF
run 1 'err: 1.1-11: error: division by zero
err: errors: 1'


# Multistart: parse "expression" instead of "input".
cat >input <<EOF
1+2*3
EOF
run 0 'expression: 7' -e

cat >input <<EOF
1
2
EOF
run 1 'expression: failure
err: 2.1: syntax error, unexpected number, expecting end of file
err: errors: 1' -e
