#!/bin/bash program='' input=$1 input_i=0 while read line; do case $line in "inp"*) program="${program}${line:4}"'=${input:$input_i:1};input_i=$((input_i+1));' ;; "add"*) program="${program}${line:4:1}="'$(('"${line:4:1}+${line:6}"'))'";" ;; "mul"*) program="${program}${line:4:1}="'$(('"${line:4:1}*${line:6}"'))'";" ;; "div"*) program="${program}${line:4:1}="'$(('"${line:4:1}/${line:6}"'))'";" ;; "mod"*) program="${program}${line:4:1}="'$(('"${line:4:1}%${line:6}"'))'";" ;; "eql"*) program="${program}${line:4:1}="'$(('"${line:4:1}==${line:6}"'))'";" ;; esac done w=0 x=0 y=0 z=0 eval $program echo w=$w echo x=$x echo y=$y echo z=$z