#!/bin/bash
shopt -s extglob
while read line; do
   stack=()
   for token in ${line//\\*/m}; do
      case $token in
         [/m+-]) stack=($((${stack[1]} ${token/m/*} ${stack[0]})) ${stack[@]:2});;
         ?(-)+([[:digit:]])) stack=($token ${stack[@]});;
         *) echo "Bad operator: $token"
      esac
   done
   echo ${stack[$((${#stack[@]}-1))]}
done
