Expedient-Error-Messages.html 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <html lang="en">
  2. <head>
  3. <title>Expedient Error Messages - avram - a virtual machine code interpreter</title>
  4. <meta http-equiv="Content-Type" content="text/html">
  5. <meta name="description" content="avram - a virtual machine code interpreter">
  6. <meta name="generator" content="makeinfo 4.13">
  7. <link title="Top" rel="start" href="index.html#Top">
  8. <link rel="up" href="Exception-Handling.html#Exception-Handling" title="Exception Handling">
  9. <link rel="prev" href="Error-Messages.html#Error-Messages" title="Error Messages">
  10. <link rel="next" href="Computable-Error-Messages.html#Computable-Error-Messages" title="Computable Error Messages">
  11. <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
  12. <meta http-equiv="Content-Style-Type" content="text/css">
  13. <style type="text/css"><!--
  14. pre.display { font-family:inherit }
  15. pre.format { font-family:inherit }
  16. pre.smalldisplay { font-family:inherit; font-size:smaller }
  17. pre.smallformat { font-family:inherit; font-size:smaller }
  18. pre.smallexample { font-size:smaller }
  19. pre.smalllisp { font-size:smaller }
  20. span.sc { font-variant:small-caps }
  21. span.roman { font-family:serif; font-weight:normal; }
  22. span.sansserif { font-family:sans-serif; font-weight:normal; }
  23. --></style>
  24. </head>
  25. <body>
  26. <div class="node">
  27. <a name="Expedient-Error-Messages"></a>
  28. <p>
  29. Next:&nbsp;<a rel="next" accesskey="n" href="Computable-Error-Messages.html#Computable-Error-Messages">Computable Error Messages</a>,
  30. Previous:&nbsp;<a rel="previous" accesskey="p" href="Error-Messages.html#Error-Messages">Error Messages</a>,
  31. Up:&nbsp;<a rel="up" accesskey="u" href="Exception-Handling.html#Exception-Handling">Exception Handling</a>
  32. <hr>
  33. </div>
  34. <h5 class="subsubsection">2.7.15.4 Expedient Error Messages</h5>
  35. <p><a name="index-error-messages-367"></a>Because there are so many ways to cause an invalid deconstruction, this
  36. message is the most common in practice and therefore the least
  37. informative. As a matter of convenience, <code>avram</code> takes the liberty
  38. of a slight departure from the virtual machine specification as written
  39. hitherto, and employs the following messages when invalid
  40. deconstructions occur respectively in the cases of recursion,
  41. transposition, and assignment.
  42. <ul>
  43. <li><code>invalid recursion</code>
  44. <li><code>invalid transpose</code>
  45. <li><code>invalid assignment</code>
  46. </ul>
  47. <p class="noindent">That is, this section contradicts and supersedes what is stated at the
  48. end of <a href="Error-Messages.html#Error-Messages">Error Messages</a> and implied by the operator properties
  49. <em>P14</em>, <em>P16</em>, and <em>P42</em>. It is also possible that user
  50. applications may modify the error messages by methods described in
  51. <a href="Computable-Error-Messages.html#Computable-Error-Messages">Computable Error Messages</a>.
  52. <p>Whereas these three cases constitute an expedient variation on the
  53. semantics, there is another sense in which no possible implementation
  54. could conform faithfully to the specification. When an evaluation can
  55. not be carried out because of insufficient space on the host machine,
  56. one of the following error messages may be the result.
  57. <ul>
  58. <li><code>memory overflow</code>
  59. <li><code>counter overflow</code>
  60. </ul>
  61. <p class="noindent">These messages are treated in the same way as those that are caused by
  62. programming errors, and propagate to the final result written to
  63. standard error without any specific consideration by the application
  64. developer. The latter occurs only in connection with the built in weight
  65. function (<a href="Weight.html#Weight">Weight</a>). Other messages listed in
  66. <a href="Application-Programming-Errors.html#Application-Programming-Errors">Application Programming Errors</a> are also of this ilk.
  67. </body></html>