diff options
author | Akim Demaille <demaille@gostai.com> | 2008-08-21 22:39:01 +0200 |
---|---|---|
committer | Akim Demaille <demaille@gostai.com> | 2008-11-11 16:08:44 +0100 |
commit | 1a7a65f9d5aec5eda92d92b2148fee2e6f0c4199 (patch) | |
tree | d1fcb8cf9ae21eacc704150e1bdf9372b64b967f /examples | |
parent | c944f7f22d09d190e536f340bb0a2004c2003aad (diff) | |
download | bison-1a7a65f9d5aec5eda92d92b2148fee2e6f0c4199.tar.gz |
Support parens in calc++.
* doc/bison.texinfo (Calc++ Scanner, Calc++ Parser): Support parens.
* examples/calc++/test (run): Check the expected output.
Adjust callers.
Check parens too.
Diffstat (limited to 'examples')
-rwxr-xr-x | examples/calc++/test | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/examples/calc++/test b/examples/calc++/test index b6f0942c..2aa917bc 100755 --- a/examples/calc++/test +++ b/examples/calc++/test @@ -13,17 +13,26 @@ number=1 # Exit status of this script. exit=true -# run EXPECTED-EXIT-STATUS [PARSER-OPTIONS] -# ----------------------------------------- +# run EXPECTED-EXIT-STATUS EXPECTED-OUTPUT [PARSER-OPTIONS] +# --------------------------------------------------------- run () { # Effective and expected exit status. local sta_exp=$1 shift - ./calc++ "$@" input + local out_exp=$1 + shift + ./calc++ "$@" input >out_eff local sta_eff=$? + local out_eff=`cat out_eff` if test $sta_eff -eq $sta_exp; then - printf "$me: PASS: %2d\n" $number + if test "$out_eff" = "$out_exp"; then + printf "$me: PASS: %2d\n" $number + else + printf "$me: FAIL: %2d (expected output: %s, effective: %s\n" \ + $number "$out_exp" "$out_eff" + exit=false + fi else printf "$me: FAIL: %2d (expected status: %d, effective: %d\n" \ $number $sta_exp $sta_eff @@ -39,22 +48,32 @@ c := 3 d := a + b * c d EOF -run 0 -run 0 -p +run 0 7 +run 0 7 -p + + +cat >input <<EOF +a := 1 +b := 2 +c := 3 +d := (a + b) * c +d +EOF +run 0 9 cat >input <<EOF a := 1 d := a + b * c EOF -run 1 input +run 1 '' input cat >input <<EOF toto := 1 toto EOF -run 0 -s +run 0 1 -s -rm input +rm input out_eff $exit |