colorful rat Ratfactor.com > Dave's Repos

meow5

A stack-based pure inlining concatenative programming language written in NASM assembly
git clone http://ratfactor.com/repos/meow5/meow5.git

meow5/test.sh

Download raw file: test.sh

1 #!/usr/bin/bash 2 3 ./build.sh 4 5 function try { 6 # -q tells grep to not echo, just return match status 7 if echo "$1" | ./meow5 | grep -q "^$2\$" 8 then 9 printf '.' 10 else 11 echo 12 echo "Error!" 13 echo "Wanted:" 14 echo "-------------------------------------------" 15 echo "$1" 16 echo "$2" 17 echo "-------------------------------------------" 18 echo 19 echo "But got:" 20 echo "-------------------------------------------" 21 echo "$1" 22 echo "$1" | ./meow5 23 echo "-------------------------------------------" 24 echo 25 exit 26 fi 27 } 28 29 # Input Expected Result 30 # ------------------- ------------------------ 31 try 'ps' '' 32 try '5 ps' '5 ' # note space 33 try '5 5 5 + ps' '5 10 ' 34 try '9 2 * ps' '18 ' 35 try '18 5 / ps' '3 3 ' 36 try '5 2 - ps' '3 ' 37 38 try '"Hello$\\\$\n" print' 'Hello$\\$' 39 40 try '"Hello" say' 'Hello' 41 42 try 'def five 5 ; five ps' '5 ' 43 44 try 'def m "M." print ; 45 m "" say' 'M.' 46 47 try 'def m "M." print ; 48 def m5 m m m m m ; 49 m5 "" say' 'M.M.M.M.M.' 50 51 try 'var x 52 4 x set 53 x get ps' '4 ' 54 55 try 'var x 56 4 x set 57 def x? x get "x=$" say ; 58 x?' 'x=4' 59 60 # immediate mode 'if' 61 try 'def t "true" print ; 62 "0=" print 0 ? t 63 ", 1=" print 1 ? t 64 "\n" print' '0=, 1=true' 65 66 # compile mode 'if' 67 try 'def hi "Hi!" print ; 68 def maybe-hi ? hi ; 69 inspect hi 70 inspect maybe-hi 71 0 maybe-hi 72 1 maybe-hi 73 "\n" print' 'Hi!' 74 75 echo 76 echo Passed!