Standard-Input-Representation.html 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
  2. <html>
  3. <!-- Created on December 10, 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.1 Standard Input Representation</title>
  14. <meta name="description" content="avram - a virtual machine code interpreter: 2.5.1.1 Standard Input Representation">
  15. <meta name="keywords" content="avram - a virtual machine code interpreter: 2.5.1.1 Standard Input 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-Input-Representation"></a>
  40. <table cellpadding="1" cellspacing="1" border="0">
  41. <tr><td valign="middle" align="left">[<a href="Loading-All-of-Standard-Input-at-Once.html#Loading-All-of-Standard-Input-at-Once" title="Previous section in reading order"> &lt; </a>]</td>
  42. <td valign="middle" align="left">[<a href="Standard-Output-Representation.html#Standard-Output-Representation" 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-Input-Representation-1"></a>
  58. <h4 class="subsubsection">2.5.1.1 Standard Input Representation</h4>
  59. <a name="index-standard-input-6"></a>
  60. <p>The representation for the standard input file used as the argument to
  61. the function depends both on the file format and on the command line
  62. options specified when the application is invoked. The
  63. <a name="index-unparameterized-command-line-option-1"></a>
  64. <a name="index-raw_002dmode-command-line-option"></a>
  65. &lsquo;<samp>--unparameterized</samp>&rsquo; and &lsquo;<samp>--raw-output</samp>&rsquo; options make no
  66. difference to the input representation, and the &lsquo;<samp>--line-map</samp>&rsquo;
  67. and &lsquo;<samp>--byte-transducer</samp>&rsquo; options are not relevant to this mode of
  68. operation. That leaves four possible combined settings of the
  69. <a name="index-choice_002dof_002doutput-command-line-option-1"></a>
  70. <a name="index-force_002dtext_002dinput-command-line-option-1"></a>
  71. &lsquo;<samp>--choice-of-output</samp>&rsquo; and &lsquo;<samp>--force-text-input</samp>&rsquo; options. If
  72. standard input conforms to the data file format specification <a href="File-Format.html#File-Format">File Format</a>,
  73. the following effects are possible.
  74. </p>
  75. <ul>
  76. <li> If neither &lsquo;<samp>--choice-of-output</samp>&rsquo; nor
  77. &lsquo;<samp>--force-text-input</samp>&rsquo; is used, the argument to the function will
  78. be given directly by the tree encoded in the data section of the
  79. file. The preamble of the file will be ignored.
  80. </li><li> If the &lsquo;<samp>--choice-of-output</samp>&rsquo; option is used
  81. and the &lsquo;<samp>--force-text-input</samp>&rsquo; option is not used, the argument to
  82. the function will be a pair <code>(<var>preamble</var>,<var>contents</var>)</code>,
  83. where <var>preamble</var> is a list of character strings taken from the
  84. preamble of the file (with leading hashes stripped), and <var>contents</var>
  85. is the tree represented in the data section of the file.
  86. </li><li> If the &lsquo;<samp>--choice-of-output</samp>&rsquo; option is not used
  87. and the &lsquo;<samp>--force-text-input</samp>&rsquo; option is used, the argument to the
  88. function will be the whole file as a list of character strings. I.e.,
  89. both the preamble and the data sections are included, hashes are not
  90. stripped from the preamble, and the data section is not converted to the
  91. tree it represents.
  92. </li><li> If the &lsquo;<samp>--choice-of-output</samp>&rsquo; option is used
  93. and the &lsquo;<samp>--force-text-input</samp>&rsquo; option is also used, the argument to the
  94. the function will be a pair <code>(nil,<var>contents</var>)</code>, where the
  95. contents are the list of character strings as in the previous case.
  96. </li></ul>
  97. <a name="index-file-format-1"></a>
  98. <p>If standard input does not conform to the data file format specification
  99. in <a href="File-Format.html#File-Format">File Format</a>, then it is assumed to be a text file. The
  100. &lsquo;<samp>--force-text-input</samp>&rsquo; option makes no difference, and there are
  101. only two possible effects, depending on whether
  102. &lsquo;<samp>--choice-of-output</samp>&rsquo; is used. They correspond to the latter two
  103. cases above, where &lsquo;<samp>--force-text-input</samp>&rsquo; is used.
  104. </p>
  105. <a name="index-preamble-1"></a>
  106. <a name="index-text-files-1"></a>
  107. <p>The idea of the &lsquo;<samp>--choice-of-output</samp>&rsquo; option is that it is used
  108. only for applications that are smart enough to be aware of the
  109. <code>(<var>preamble</var>,<var>contents</var>)</code> convention. A non-empty preamble
  110. implies a data file whose contents could be any type, but an empty
  111. preamble implies a text file whose contents can only be a list of
  112. character strings. (In the case of a data file with no preamble, the
  113. list of the empty string is used for the preamble to distinguish it from
  114. a text file.)
  115. </p>
  116. <p>Dumb applications that never want to deal with anything but text files
  117. should be invoked with &lsquo;<samp>--force-text-input</samp>&rsquo;. Otherwise, they have
  118. to be prepared for either text or data as arguments.
  119. </p>
  120. <p>The use of both options at once is unproductive as far as the input
  121. format is concerned, but may be justified when the output is to be a
  122. data file and the input is text only.
  123. </p>
  124. <hr size="1">
  125. <table cellpadding="1" cellspacing="1" border="0">
  126. <tr><td valign="middle" align="left">[<a href="Loading-All-of-Standard-Input-at-Once.html#Loading-All-of-Standard-Input-at-Once" title="Previous section in reading order"> &lt; </a>]</td>
  127. <td valign="middle" align="left">[<a href="Standard-Output-Representation.html#Standard-Output-Representation" title="Next section in reading order"> &gt; </a>]</td>
  128. <td valign="middle" align="left"> &nbsp; </td>
  129. <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>
  130. <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>
  131. <td valign="middle" align="left">[<a href="Library-Reference.html#Library-Reference" title="Next chapter"> &gt;&gt; </a>]</td>
  132. <td valign="middle" align="left"> &nbsp; </td>
  133. <td valign="middle" align="left"> &nbsp; </td>
  134. <td valign="middle" align="left"> &nbsp; </td>
  135. <td valign="middle" align="left"> &nbsp; </td>
  136. <td valign="middle" align="left">[<a href="avram.html#Top" title="Cover (top) of document">Top</a>]</td>
  137. <td valign="middle" align="left">[<a href="avram_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
  138. <td valign="middle" align="left">[<a href="Function-Index.html#Function-Index" title="Index">Index</a>]</td>
  139. <td valign="middle" align="left">[<a href="avram_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
  140. </tr></table>
  141. <p>
  142. <font size="-1">
  143. This document was generated on <i>December 10, 2012</i> using <a href="http://www.nongnu.org/texi2html/"><i>texi2html 1.82</i></a>.
  144. </font>
  145. <br>
  146. </p>
  147. </body>
  148. </html>