This commit is contained in:
2021-12-24 12:53:25 +01:00
parent 962167e7bd
commit 58b205b3db
2 changed files with 117 additions and 0 deletions

38
24/interpreter.sh Executable file
View File

@@ -0,0 +1,38 @@
#!/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