mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
Currently completion on "at" proposes only "atan", but does not actually complete "at" into "atan". * examples/c/bistromathic/parse.y (completion): Install the lcp in matches[0]. * examples/c/bistromathic/bistromathic.test: Check that case.
105 lines
2.1 KiB
Bash
Executable File
105 lines
2.1 KiB
Bash
Executable File
#! /bin/sh
|
||
|
||
# Copyright (C) 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 '> 1+2*3
|
||
7
|
||
> '
|
||
|
||
cat >input <<EOF
|
||
(1+2) * 3
|
||
EOF
|
||
run 0 '> (1+2) * 3
|
||
9
|
||
> '
|
||
run -noerr 0 '> (1+2) * 3
|
||
9
|
||
> ' -p
|
||
|
||
cat >input <<EOF
|
||
a = 256
|
||
sqrt (a)
|
||
EOF
|
||
run 0 '> a = 256
|
||
256
|
||
> sqrt (a)
|
||
16
|
||
> '
|
||
|
||
cat >input <<EOF
|
||
a = .16
|
||
b = 10 ^ 2
|
||
sqrt (a * b)
|
||
EOF
|
||
run 0 '> a = .16
|
||
0.16
|
||
> b = 10 ^ 2
|
||
100
|
||
> sqrt (a * b)
|
||
4
|
||
> '
|
||
|
||
cat >input <<EOF
|
||
*
|
||
EOF
|
||
run 0 '> *
|
||
> err: 1.1: syntax error: expected end of file or - or ( or exit or double precision number or function or variable before *'
|
||
|
||
cat >input <<EOF
|
||
1 + 2 * * 3
|
||
EOF
|
||
run 0 '> 1 + 2 * * 3
|
||
> err: 1.9: syntax error: expected - or ( or double precision number or function or variable before *'
|
||
|
||
cat >input <<EOF
|
||
100%
|
||
EOF
|
||
run 0 '> 100%
|
||
100
|
||
> err: 1.4: error: invalid character'
|
||
|
||
cat >input <<EOF
|
||
1 / 0
|
||
EOF
|
||
run 0 '> 1 / 0
|
||
> err: 1.1-5: error: division by zero'
|
||
|
||
|
||
## ------------ ##
|
||
## Completion. ##
|
||
## ------------ ##
|
||
|
||
# Check completion after an operator.
|
||
sed -e 's/\\t/ /g' >input <<EOF
|
||
(1+\t\t
|
||
EOF
|
||
run 0 '> (1+
|
||
( cos ln
|
||
- double precision number sin
|
||
atan exp sqrt
|
||
> (1+
|
||
> err: 1.4: syntax error: expected - or ( or double precision number or function or variable before end of file'
|
||
|
||
# Check the completion of a word.
|
||
sed -e 's/\\t/ /g' >input <<EOF
|
||
(at\t\t
|
||
EOF
|
||
run 0 '> (atan ( ''
|
||
> err: 1.9: syntax error: expected - or ( or double precision number or function or variable before end of file'
|