| #! /bin/sh | |
| # Copyright (C) 2005-2015, 2018-2022 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 <https://www.gnu.org/licenses/>. | |
| cat >input <<EOF | |
| toto := 1 | |
| toto | |
| EOF | |
| run 0 1 | |
| run -noerr 0 1 -s | |
| cat >input <<EOF | |
| a := 1 | |
| b := 2 | |
| c := 3 | |
| d := a + b * c | |
| d | |
| EOF | |
| run 0 7 | |
| run -noerr 0 7 -p | |
| cat >input <<EOF | |
| a := 1 | |
| b := 2 | |
| c := 3 | |
| d := (a + b) * c | |
| d | |
| EOF | |
| run 0 9 | |
| cat >input <<EOF | |
| 1 + | |
| EOF | |
| run 1 'err: -:2.1: syntax error, unexpected end of file, expecting ( or identifier or number' | |
| # Check handling of tabs. | |
| cat >input <<EOF | |
| *1 | |
| EOF | |
| run 1 'err: -:1.9: syntax error, unexpected *, expecting ( or identifier or number' | |
| cat >input <<EOF | |
| *2 | |
| EOF | |
| run 1 'err: -:1.9: syntax error, unexpected *, expecting ( or identifier or number' | |
| cat >input <<EOF | |
| *3 | |
| EOF | |
| run 1 'err: -:1.9: syntax error, unexpected *, expecting ( or identifier or number' | |
| # LAC finds many more tokens. | |
| cat >input <<EOF | |
| a := 1 | |
| d := a + b * c | |
| EOF | |
| run 1 'err: -:3.1: syntax error, unexpected end of file' | |
| cat >input <<EOF | |
| a := 072101108108111044032119111114108100033 | |
| a | |
| EOF | |
| run 1 'err: -:1.6-44: integer is out of range: 072101108108111044032119111114108100033' |