#! /bin/sh # Copyright (C) 2020-2021 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 z + q; T x; T x = y; x = y; EOF run 0 "\ 1.0-5: +(z, q) 3.0-3: <declare>(T, x) 5.0-7: <init-declare>(T, x, y) 7.0-5: =(x, y)" cat >input <<EOF T (x) + y; T (x); T (y) = z + q; T (y y) = z + q; z + q; EOF run 0 "\ 1.0-9: +(<cast>(x, T), y) 3.0-5: <OR>(<declare>(T, x), <cast>(x, T)) 5.0-13: <OR>(<init-declare>(T, y, +(z, q)), =(<cast>(y, T), +(z, q))) 7.0-15: <error> 9.0-5: +(z, q) err: 7.5: syntax error on token identifier (expected = or + or ))"