<script type="text/JavaScript">

function doRpn()
{
  s = document.rpn.rpn.value;
  ar = s.split( " " );
  r = 0;

  st = new Array;

  for ( i=0; i<ar.length; i++ )
  {
    if (!isNaN( ar[i] ) )
    {
      st.push( parseFloat( ar[i] ));
    } else {
      if ( st.length < 2 )
        alert ( "Buffer underrun!" );
      else {
        f2 = st.pop();
        st.push( eval( st.pop() + ar[i] + f2 ));
      }
    }
  }

  if ( st.length == 1 )
    document.rpn.rpn.value = st.pop();
  else
    document.rpn.rpn.value = "Error!";

  return false;
}

</script>

<form name="rpn" onSubmit="return doRpn();">
<input type="text" name="rpn">
</form>

