А обязательно так страшно реализовывать? Если очень хочется парсить строку, можешь посмотреть, как это делается
здесь. Но, по-моему, проще сделать так:
function evaluate(expression){
try {
return + Function( "return " + expression )();
} catch(error) {
return NaN;
};
};
alert( evaluate( "5*8/3*6/10" ) );