Standard-Output-Representation.html 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
  2. <html>
  3. <!-- Created on November 8, 2012 by texi2html 1.82
  4. texi2html was written by:
  5. Lionel Cons <[email protected]> (original author)
  6. Karl Berry <[email protected]>
  7. Olaf Bachmann <[email protected]>
  8. and many others.
  9. Maintained by: Many creative people.
  10. Send bugs and suggestions to <[email protected]>
  11. -->
  12. <head>
  13. <title>avram - a virtual machine code interpreter: 2.5.1.2 Standard Output Representation</title>
  14. <meta name="description" content="avram - a virtual machine code interpreter: 2.5.1.2 Standard Output Representation">
  15. <meta name="keywords" content="avram - a virtual machine code interpreter: 2.5.1.2 Standard Output Representation">
  16. <meta name="resource-type" content="document">
  17. <meta name="distribution" content="global">
  18. <meta name="Generator" content="texi2html 1.82">
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  20. <style type="text/css">
  21. <!--
  22. a.summary-letter {text-decoration: none}
  23. blockquote.smallquotation {font-size: smaller}
  24. pre.display {font-family: serif}
  25. pre.format {font-family: serif}
  26. pre.menu-comment {font-family: serif}
  27. pre.menu-preformatted {font-family: serif}
  28. pre.smalldisplay {font-family: serif; font-size: smaller}
  29. pre.smallexample {font-size: smaller}
  30. pre.smallformat {font-family: serif; font-size: smaller}
  31. pre.smalllisp {font-size: smaller}
  32. span.roman {font-family:serif; font-weight:normal;}
  33. span.sansserif {font-family:sans-serif; font-weight:normal;}
  34. ul.toc {list-style: none}
  35. -->
  36. </style>
  37. </head>
  38. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  39. <a name="Standard-Output-Representation"></a>
  40. <table cellpadding="1" cellspacing="1" border="0">
  41. <tr><td valign="middle" align="left">[<a href="Standard-Input-Representation.html#Standard-Input-Representation" title="Previous section in reading order"> &lt; </a>]</td>
  42. <td valign="middle" align="left">[<a href="Line-Maps.html#Line-Maps" title="Next section in reading order"> &gt; </a>]</td>
  43. <td valign="middle" align="left"> &nbsp; </td>
  44. <td valign="middle" align="left">[<a href="Virtual-Machine-Specification.html#Virtual-Machine-Specification" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
  45. <td valign="middle" align="left">[<a href="Loading-All-of-Standard-Input-at-Once.html#Loading-All-of-Standard-Input-at-Once" title="Up section"> Up </a>]</td>
  46. <td valign="middle" align="left">[<a href="Library-Reference.html#Library-Reference" title="Next chapter"> &gt;&gt; </a>]</td>
  47. <td valign="middle" align="left"> &nbsp; </td>
  48. <td valign="middle" align="left"> &nbsp; </td>
  49. <td valign="middle" align="left"> &nbsp; </td>
  50. <td valign="middle" align="left"> &nbsp; </td>
  51. <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
  52. <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
  53. <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
  54. <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
  55. </tr></table>
  56. <hr size="1">
  57. <a name="Standard-Output-Representation-1"></a>
  58. <h4 class="subsubsection">2.5.1.2 Standard Output Representation</h4>
  59. <a name="index-standard-output"></a>
  60. <a name="index-raw_002doutput-command-line-option-1"></a>
  61. <a name="index-choice_002dof_002doutput-command-line-option-2"></a>
  62. <p>As in the case of standard input, the representation for standard output
  63. that the function is expected to return depends on the command line
  64. options with which the application is invoked. The only relevant options
  65. are &lsquo;<samp>--raw-output</samp>&rsquo; and &lsquo;<samp>--choice-of-output</samp>&rsquo;, which are
  66. mutually exclusive.
  67. </p>
  68. <ul>
  69. <li> If neither option is selected, the result returned by the function must
  70. be a list of character strings.
  71. </li><li> If &lsquo;<samp>--raw-output</samp>&rsquo; is used, the result returned by the
  72. function is unconstrained, and it will be written as a data file with no
  73. preamble, following the format specified in <a href="File-Format.html#File-Format">File Format</a>.
  74. </li><li> If &lsquo;<samp>--choice-of-output</samp>&rsquo; is used, the result returned by the
  75. function must be a pair <code>(<var>preamble</var>,<var>contents</var>)</code>.
  76. </li></ul>
  77. <a name="index-preamble-2"></a>
  78. <p>In the last case, the preamble determines how the file will be written.
  79. If it is meant to be a text file, the preamble should be <code>nil</code>, and
  80. the contents should be a list of character strings. If it is meant to be
  81. a data file, the preamble should be a non-empty list of character
  82. strings, and the format of the contents is unconstrained. To express a
  83. data file with no preamble, the preamble should be the list containing
  84. the empty string, rather than being empty.
  85. </p>
  86. <p>In the result returned by the function, the preamble lines should not
  87. include leading hash characters, because they are automatically added to
  88. the output to enforce consistency with the data file format. However,
  89. they should include trailing backslashes as continuation characters
  90. where appropriate. The hashes that are automatically added will be
  91. automatically stripped by <code>avram</code> on behalf of whatever application
  92. uses the file.
  93. </p>
  94. <a name="index-character-strings-2"></a>
  95. <a name="index-printing-algorithm-1"></a>
  96. <p>Any file can be written as a list of character strings, even &ldquo;text&rdquo;
  97. files that are full of unprintable characters, and even &ldquo;text&rdquo; files
  98. that happen to conform to the format used for data files. However, if
  99. the application intends to write a data file in the standard format used
  100. by other virtual code applications, it can do so more quickly and easily
  101. by having the virtual machine do the formatting automatically with the
  102. &lsquo;<samp>--choice-of-output</samp>&rsquo; option than by implementing the algorithm in
  103. <a href="Concrete-Syntax.html#Concrete-Syntax">Concrete Syntax</a>, from scratch in virtual code.
  104. </p>
  105. <hr size="1">
  106. <table cellpadding="1" cellspacing="1" border="0">
  107. <tr><td valign="middle" align="left">[<a href="Standard-Input-Representation.html#Standard-Input-Representation" title="Previous section in reading order"> &lt; </a>]</td>
  108. <td valign="middle" align="left">[<a href="Line-Maps.html#Line-Maps" title="Next section in reading order"> &gt; </a>]</td>
  109. <td valign="middle" align="left"> &nbsp; </td>
  110. <td valign="middle" align="left">[<a href="Virtual-Machine-Specification.html#Virtual-Machine-Specification" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
  111. <td valign="middle" align="left">[<a href="Loading-All-of-Standard-Input-at-Once.html#Loading-All-of-Standard-Input-at-Once" title="Up section"> Up </a>]</td>
  112. <td valign="middle" align="left">[<a href="Library-Reference.html#Library-Reference" title="Next chapter"> &gt;&gt; </a>]</td>
  113. <td valign="middle" align="left"> &nbsp; </td>
  114. <td valign="middle" align="left"> &nbsp; </td>
  115. <td valign="middle" align="left"> &nbsp; </td>
  116. <td valign="middle" align="left"> &nbsp; </td>
  117. <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
  118. <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
  119. <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
  120. <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
  121. </tr></table>
  122. <p>
  123. <font size="-1">
  124. This document was generated on <i>November 8, 2012</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 1.82</i></a>.
  125. </font>
  126. <br>
  127. </p>
  128. </body>
  129. </html>