ExpressionTester.htm 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  5. <meta name="generator" content="PSPad editor, www.pspad.com">
  6. <title>Expression Converter</title>
  7. <style>
  8. body {font-family: Verdana,Tahoma; font-size: 8px; font-weight: normal;}
  9. input {font-family: Verdana,Tahoma; font-size: 8px; font-weight: normal;}
  10. textarea {font-family: Verdana,Tahoma; font-size: 8px; font-weight: normal;}
  11. button {font-family: Verdana,Tahoma; font-size: 9px; font-weight: normal; height: 24px;}
  12. table, td {font-family: Verdana,Tahoma; font-size: 8px; font-weight: normal;}
  13. </style>
  14. <script src="Date.js" type="text/javascript"></script>
  15. <script src="Stack.js" type="text/javascript"></script>
  16. <script src="Tokanizer.js" type="text/javascript"></script>
  17. <script src="Evaluator.js" type="text/javascript"></script>
  18. <script language="vbscript">
  19. '5*log(1000)*-2/3+MAX(4,6 MOD 7)
  20. '5*log(1000)*-2/3+6
  21. '5*6.90775527898214*-2/3+6
  22. '34.5387763949107*-2/3+6
  23. '-69.0775527898214/3+6
  24. '-23.0258509299405+6
  25. '-17.0258509299405
  26. '-17.025850929940457
  27. 'InputBox "6 Mod 7", "Result", (6 Mod 7)
  28. </script>
  29. <script language="javascript">
  30. //alert (6 % 7);
  31. var exp = new Expression("");
  32. function Convert()
  33. {
  34. var frm = document.frmMain;
  35. var arrToks;
  36. var arrPFix;
  37. var strExp;
  38. var intCntr;
  39. strExp = frm.txtExp.value;
  40. if (strExp == null || strExp == undefined)
  41. {
  42. alert ("No expression is specified!");
  43. return false;
  44. }
  45. exp.Expression(strExp);
  46. frm.txtResult.value = exp.Parse();
  47. return false;
  48. }
  49. function Compute()
  50. {
  51. var frm;
  52. var strExp;
  53. frm = document.frmMain;
  54. strExp = frm.txtExp.value;
  55. exp.Expression(strExp);
  56. frm.txtResult.value = exp.Evaluate();
  57. }
  58. function AddVar()
  59. {
  60. var frm;
  61. frm = document.frmMain;
  62. exp.AddVariable(frm.txtVarName.value, frm.txtVarValue.value);
  63. return true;
  64. }
  65. function Reset()
  66. {
  67. exp.Reset();
  68. }
  69. </script>
  70. </head>
  71. <body>
  72. <form id="frmMain" name="frmMain">
  73. <table>
  74. <tr>
  75. <td>
  76. <table>
  77. <tr>
  78. <td>Expression : </td>
  79. <td><input type="text" size="50" name="txtExp" id="txtExp" /></td>
  80. </tr>
  81. <tr>
  82. <td>&nbsp;</td>
  83. <td><textarea cols="58" rows="5" name="txtResult" id="txtResult"></textarea></td>
  84. </tr>
  85. <tr>
  86. <td colspan="2" align="right">
  87. <a href="#" name="btnConvert" id="btnConvert" onClick="javascript:Convert();">PostFix</a>
  88. &nbsp;
  89. <a href="#" name="btnCompute" id="btnCompute" onClick="javascript:Compute();">Evaluate</a>
  90. &nbsp;
  91. <a href="#" name="btnReset" id="btnReset" onClick="javascript:Reset();">Reset</a>
  92. </td>
  93. </tr>
  94. </table>
  95. </td>
  96. </tr>
  97. <tr>
  98. <td>
  99. <table>
  100. <tr>
  101. <td>Variable Name : </td>
  102. <td><input type="text" size="50" name="txtVarName" id="txtVarName" /></td>
  103. </tr>
  104. <tr>
  105. <td>Variable Value : </td>
  106. <td><input type="text" size="50" name="txtVarValue" id="txtVarVal" /></td>
  107. </tr>
  108. <tr>
  109. <td colspan="2" align="right">
  110. <a href="#" name="btnAdd" id="btnAdd" onClick="AddVar();">Add Variable</a>
  111. </td>
  112. </tr>
  113. </table>
  114. </td>
  115. </tr>
  116. </table>
  117. </form>
  118. </body>
  119. </html>