Files
advent-of-code-2021/24/interpreter.sh
2021-12-24 12:53:25 +01:00

39 lines
742 B
Bash
Executable File

#!/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