yax 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. data/yax-0.1/docs/classes/IO.html +251 -0
  2. data/yax-0.1/docs/classes/IO.src/M000003.html +46 -0
  3. data/yax-0.1/docs/classes/IO.src/M000004.html +27 -0
  4. data/yax-0.1/docs/classes/Module.html +156 -0
  5. data/yax-0.1/docs/classes/Module.src/M000002.html +23 -0
  6. data/yax-0.1/docs/classes/MultiIO.html +217 -0
  7. data/yax-0.1/docs/classes/MultiIO.src/M000006.html +18 -0
  8. data/yax-0.1/docs/classes/MultiIO.src/M000007.html +19 -0
  9. data/yax-0.1/docs/classes/MultiIO.src/M000008.html +20 -0
  10. data/yax-0.1/docs/classes/Numeric.html +155 -0
  11. data/yax-0.1/docs/classes/Numeric.src/M000005.html +16 -0
  12. data/yax-0.1/docs/classes/Regexp.html +153 -0
  13. data/yax-0.1/docs/classes/Regexp.src/M000001.html +16 -0
  14. data/yax-0.1/docs/classes/String.html +270 -0
  15. data/yax-0.1/docs/classes/String.src/M000009.html +18 -0
  16. data/yax-0.1/docs/classes/String.src/M000010.html +16 -0
  17. data/yax-0.1/docs/classes/String.src/M000011.html +22 -0
  18. data/yax-0.1/docs/classes/String.src/M000012.html +27 -0
  19. data/yax-0.1/docs/classes/String.src/M000013.html +21 -0
  20. data/yax-0.1/docs/classes/String.src/M000014.html +20 -0
  21. data/yax-0.1/docs/classes/Yax.html +256 -0
  22. data/yax-0.1/docs/classes/Yax.src/M000015.html +20 -0
  23. data/yax-0.1/docs/classes/Yax/Session.html +1661 -0
  24. data/yax-0.1/docs/classes/Yax/Session.src/M000016.html +20 -0
  25. data/yax-0.1/docs/classes/Yax/Session.src/M000017.html +18 -0
  26. data/yax-0.1/docs/classes/Yax/Session.src/M000018.html +19 -0
  27. data/yax-0.1/docs/classes/Yax/Session.src/M000019.html +19 -0
  28. data/yax-0.1/docs/classes/Yax/Session.src/M000020.html +19 -0
  29. data/yax-0.1/docs/classes/Yax/Session.src/M000021.html +46 -0
  30. data/yax-0.1/docs/classes/Yax/Session.src/M000022.html +19 -0
  31. data/yax-0.1/docs/classes/Yax/Session.src/M000023.html +18 -0
  32. data/yax-0.1/docs/classes/Yax/Session.src/M000024.html +20 -0
  33. data/yax-0.1/docs/classes/Yax/Session.src/M000025.html +18 -0
  34. data/yax-0.1/docs/classes/Yax/Session.src/M000026.html +19 -0
  35. data/yax-0.1/docs/classes/Yax/Session.src/M000027.html +20 -0
  36. data/yax-0.1/docs/classes/Yax/Session.src/M000028.html +18 -0
  37. data/yax-0.1/docs/classes/Yax/Session.src/M000029.html +18 -0
  38. data/yax-0.1/docs/classes/Yax/Session.src/M000030.html +19 -0
  39. data/yax-0.1/docs/classes/Yax/Session.src/M000031.html +25 -0
  40. data/yax-0.1/docs/classes/Yax/Session.src/M000032.html +18 -0
  41. data/yax-0.1/docs/classes/Yax/Session.src/M000033.html +36 -0
  42. data/yax-0.1/docs/classes/Yax/Session.src/M000034.html +34 -0
  43. data/yax-0.1/docs/classes/Yax/Session.src/M000035.html +23 -0
  44. data/yax-0.1/docs/classes/Yax/Session.src/M000036.html +20 -0
  45. data/yax-0.1/docs/classes/Yax/Session.src/M000037.html +32 -0
  46. data/yax-0.1/docs/classes/Yax/Session.src/M000038.html +20 -0
  47. data/yax-0.1/docs/classes/Yax/Session.src/M000042.html +18 -0
  48. data/yax-0.1/docs/classes/Yax/Session.src/M000043.html +18 -0
  49. data/yax-0.1/docs/classes/Yax/Session.src/M000044.html +20 -0
  50. data/yax-0.1/docs/classes/Yax/Session.src/M000046.html +37 -0
  51. data/yax-0.1/docs/classes/Yax/Session.src/M000047.html +29 -0
  52. data/yax-0.1/docs/classes/Yax/Session.src/M000048.html +29 -0
  53. data/yax-0.1/docs/classes/Yax/Session.src/M000049.html +30 -0
  54. data/yax-0.1/docs/classes/Yax/Session.src/M000050.html +22 -0
  55. data/yax-0.1/docs/classes/Yax/Session.src/M000051.html +20 -0
  56. data/yax-0.1/docs/classes/Yax/Session.src/M000052.html +20 -0
  57. data/yax-0.1/docs/classes/Yax/Session.src/M000053.html +19 -0
  58. data/yax-0.1/docs/classes/Yax/Session.src/M000054.html +28 -0
  59. data/yax-0.1/docs/classes/Yax/Session.src/M000055.html +21 -0
  60. data/yax-0.1/docs/classes/Yax/Session.src/M000056.html +27 -0
  61. data/yax-0.1/docs/classes/Yax/Session.src/M000057.html +20 -0
  62. data/yax-0.1/docs/classes/Yax/Session.src/M000058.html +22 -0
  63. data/yax-0.1/docs/classes/Yax/Session.src/M000059.html +21 -0
  64. data/yax-0.1/docs/classes/Yax/Session.src/M000060.html +21 -0
  65. data/yax-0.1/docs/classes/Yax/Session.src/M000061.html +20 -0
  66. data/yax-0.1/docs/classes/Yax/Session.src/M000062.html +21 -0
  67. data/yax-0.1/docs/classes/Yax/Session.src/M000063.html +20 -0
  68. data/yax-0.1/docs/classes/Yax/Session.src/M000064.html +21 -0
  69. data/yax-0.1/docs/classes/Yax/Session.src/M000065.html +26 -0
  70. data/yax-0.1/docs/classes/Yax/Session.src/M000066.html +25 -0
  71. data/yax-0.1/docs/classes/Yax/Session.src/M000067.html +29 -0
  72. data/yax-0.1/docs/classes/Yax/Session.src/M000068.html +26 -0
  73. data/yax-0.1/docs/classes/Yax/Session.src/M000069.html +19 -0
  74. data/yax-0.1/docs/classes/Yax/Session.src/M000070.html +31 -0
  75. data/yax-0.1/docs/classes/Yax/Session.src/M000071.html +25 -0
  76. data/yax-0.1/docs/created.rid +1 -0
  77. data/yax-0.1/docs/dot/f_0.dot +14 -0
  78. data/yax-0.1/docs/dot/f_0.png +0 -0
  79. data/yax-0.1/docs/dot/f_1.dot +14 -0
  80. data/yax-0.1/docs/dot/f_1.png +0 -0
  81. data/yax-0.1/docs/dot/f_2.dot +14 -0
  82. data/yax-0.1/docs/dot/f_2.png +0 -0
  83. data/yax-0.1/docs/dot/f_3.dot +93 -0
  84. data/yax-0.1/docs/dot/f_3.png +0 -0
  85. data/yax-0.1/docs/dot/m_3_0.dot +39 -0
  86. data/yax-0.1/docs/dot/m_3_0.png +0 -0
  87. data/yax-0.1/docs/files/License_txt.html +124 -0
  88. data/yax-0.1/docs/files/ReadMe_Amber_txt.html +489 -0
  89. data/yax-0.1/docs/files/ReadMe_txt.html +444 -0
  90. data/yax-0.1/docs/files/nist/yax_rb.html +138 -0
  91. data/yax-0.1/docs/fr_class_index.html +34 -0
  92. data/yax-0.1/docs/fr_file_index.html +30 -0
  93. data/yax-0.1/docs/fr_method_index.html +97 -0
  94. data/yax-0.1/docs/index.html +24 -0
  95. data/yax-0.1/docs/rdoc-style.css +208 -0
  96. data/yax-0.1/lib/nist/yax.rb +1367 -0
  97. data/yax-0.1/tests/test_yax.rb +190 -0
  98. metadata +195 -0
@@ -0,0 +1,444 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: ReadMe.txt</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>ReadMe.txt</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>ReadMe.txt
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Sat Jan 14 21:45:26 EST 2006</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+ <div id="diagram">
71
+ <map id="map" name="map">
72
+ </map>
73
+ <img src="../dot/f_1.png" usemap="#map" border=0 alt="TopLevel">
74
+ </div>
75
+
76
+ <div id="description">
77
+ <h1><a href="../classes/Yax.html">Yax</a></h1>
78
+ <p>
79
+ <a href="../classes/Yax.html">Yax</a> stands for Yet Another eXpect. The
80
+ intention is to let you script interations with other programs: the name
81
+ could just as easily refer to the conversations between your script and
82
+ other programs. <a href="../classes/Yax.html">Yax</a> integrates well with
83
+ Ruby and Rake or Rant. <a href="../classes/Yax.html">Yax</a> was born out
84
+ of frustration with other solutions in this space. <a
85
+ href="../classes/Yax.html">Yax</a> has only been tested under OS X.
86
+ </p>
87
+ <h2>Status</h2>
88
+ <p>
89
+ <a href="../classes/Yax.html">Yax</a> is currently pre-release software,
90
+ which has not yet undergone internal reviews. Several developers use <a
91
+ href="../classes/Yax.html">Yax</a> to build the following software
92
+ components under OS X:
93
+ </p>
94
+ <ul>
95
+ <li>SoQt
96
+
97
+ </li>
98
+ <li>Fox 1.2
99
+
100
+ </li>
101
+ <li>FXScintilla
102
+
103
+ </li>
104
+ <li>wxWindows
105
+
106
+ </li>
107
+ <li>GLUI
108
+
109
+ </li>
110
+ <li>ARToolkit
111
+
112
+ </li>
113
+ <li>Coin
114
+
115
+ </li>
116
+ <li>libpng (with zlib)
117
+
118
+ </li>
119
+ <li>jpeg
120
+
121
+ </li>
122
+ <li>libtiff
123
+
124
+ </li>
125
+ <li>libwmf
126
+
127
+ </li>
128
+ <li>GD
129
+
130
+ </li>
131
+ <li>GraphicsMagic
132
+
133
+ </li>
134
+ <li>Swig
135
+
136
+ </li>
137
+ <li>Ruby OpenGL (James Adam&#8217;s tweak of Yoshiyuki Kusano&#8217;s code)
138
+
139
+ </li>
140
+ <li>rubyARToolkit
141
+
142
+ </li>
143
+ <li>rubyCoin
144
+
145
+ </li>
146
+ <li>qtRuby
147
+
148
+ </li>
149
+ <li>FXRuby
150
+
151
+ </li>
152
+ <li>rMagick
153
+
154
+ </li>
155
+ </ul>
156
+ <h2>Installation</h2>
157
+ <p>
158
+ <a href="../classes/Yax.html">Yax</a> can be downloaded in several forms:
159
+ </p>
160
+ <ul>
161
+ <li>A RubyGem, containing only <a href="../classes/Yax.html">Yax</a>. Due to
162
+ lack of resources, the RubyGem is untested.
163
+
164
+ </li>
165
+ <li>A development snapshot containing <a href="../classes/Yax.html">Yax</a> and
166
+ nearly everything it depends on, in a .tgz or .zip archive. The shapshot
167
+ contains a complete Amber development environment. Before using the
168
+ development snapshot, you need to:
169
+
170
+ <ol>
171
+ <li>Setup Amber (included in the snapshot): see <a
172
+ href="ReadMe_Amber_txt.html">ReadMe_Amber.txt</a>
173
+
174
+ </li>
175
+ <li>Install libraries required by <a href="../classes/Yax.html">Yax</a>:
176
+
177
+ <pre>
178
+ cd $DevRoot/Projects/yax
179
+ rake install_lib
180
+ </pre>
181
+ </li>
182
+ </ol>
183
+ </li>
184
+ </ul>
185
+ <h2>Use</h2>
186
+ <p>
187
+ Start out by creating a new Session, either by <a
188
+ href="../classes/Yax/Session.html#M000016">Yax::Session.spawn</a> (if the
189
+ default attributes are satisfactory) or by <a
190
+ href="../classes/Yax/Session.html#M000021">Yax::Session.new</a>, followed
191
+ by attribute adjustments, and then spawn sent to the Session instance. In
192
+ either case, you then send a series of <a
193
+ href="../classes/Yax/Session.html#M000044">Yax::Session#command</a>
194
+ messages. If these commands include a time limit, they will block until
195
+ completion. If a command does not include a time limit, you can follow it
196
+ up with one or more expect / respond pairs. After the last expect /
197
+ respond, you can either finish the command, or just issue another command
198
+ (the previous one will finish automatically). Once you are done with the
199
+ session, you can wait for it to finish, or explicity ask it to die.
200
+ </p>
201
+ <p>
202
+ An example interaction is shown below.
203
+ </p>
204
+ <h2>Extra Features</h2>
205
+ <p>
206
+ Time limits can be applied to operations that involve a response from the
207
+ spawned process. These limits can be expressed as numbers of seconds, or as
208
+ Strings in the form dd:hh:mm:ss. In either case the script should contain
209
+ actual measurements (which can come from an execution time log if
210
+ @time_log_path is specified). Adjustments for alternate operating
211
+ conditions can be made through the @timeout_multiplier and @timeout_offset
212
+ attributes.
213
+ </p>
214
+ <p>
215
+ <a href="../classes/Yax/Session.html">Yax::Session</a> attempts to
216
+ intelligently handle sudo. If @password_prompt is set and @password is not,
217
+ the first command will result in a request for the user&#8217;s password
218
+ for the password. Then every expect will include @password_prompt This
219
+ feature accomodates systems that authenticate only if some predetermined
220
+ time has elapsed since the last successful authentication. If you use this
221
+ feature, you should be careful with the transcripts, which are likely to
222
+ contain passwords.
223
+ </p>
224
+ <p>
225
+ <a href="../classes/Yax/Session.html">Yax::Session</a> includes convenience
226
+ methods for:
227
+ </p>
228
+ <ul>
229
+ <li>File operations (cd, rm, cp, mv, ln, mkdir, chmod and cmp)
230
+
231
+ </li>
232
+ <li>Downloading archives
233
+
234
+ </li>
235
+ <li>Unpacking archives
236
+
237
+ </li>
238
+ <li>Creating archives
239
+
240
+ </li>
241
+ <li>Using concise Symbols to represent long cumbersome urls and directory paths
242
+
243
+ </li>
244
+ <li>File content modification (useful for on-the-fly makefile or sourcecode
245
+ modifications)
246
+
247
+ </li>
248
+ <li>For environmental variable specification
249
+
250
+ </li>
251
+ </ul>
252
+ <p>
253
+ The <a href="../classes/Yax.html">Yax</a> module also provides conveninet
254
+ access to most features of a default instance of <a
255
+ href="../classes/Yax/Session.html">Yax::Session</a>.
256
+ </p>
257
+ <p>
258
+ You can log the session to a transcript (which can be anything that
259
+ responds to &lt;&lt;). Each line is prefixed by a character that explains
260
+ what the line means: see the @prefixes hash. The default prefixes are:
261
+ </p>
262
+ <pre>
263
+ [s&gt;] Spawn a new shell
264
+ [c&gt;] A command
265
+ [x&gt;] One or more expected patterns or Strings
266
+ [i&gt;] A response to an expected pattern or String
267
+ [o&gt;] Output
268
+ [m&gt;] Output that matches an expected pattern or String
269
+ [e&gt;] Error output (some programs output innocuous information here
270
+ [n&gt;] A note
271
+ [d&gt;] Entering a directory
272
+ [f&gt;] A file operation
273
+ </pre>
274
+ <h2>Example</h2>
275
+ <pre>
276
+ require 'nist/yax'
277
+ include Yax
278
+
279
+ # Prepare the default Yax::Session
280
+ def setup
281
+ $YAX=Yax::Session.new
282
+ yax.url_hash = {
283
+ :fox =&gt; 'http://www.fox-toolkit.org/ftp/fox-1.2.18.tar.gz',
284
+ :swig =&gt; 'http://easynews.dl.sourceforge.net/sourceforge/swig/swig-1.3.25.tar.gz',
285
+ :fxRuby =&gt; 'http://rubyforge.org/frs/download.php/4003/FXRuby-1.2.6.tar.gz',
286
+ :arToolKit =&gt; 'http://easynews.dl.sourceforge.net/sourceforge/artoolkit/ARToolKit-2.70.1.tgz'
287
+ }
288
+ yax.dir_overide = {
289
+ 'ARToolKit-2.70.1' =&gt; 'ARToolKit'
290
+ }
291
+ yax.spawn
292
+ end
293
+
294
+ # Build the ARToolkit. This uses the alternative (non-XCode)
295
+ # instructions from README.txt, because they are better suited
296
+ # to automation.Defaults should be satisfactory for most
297
+ # relatively recent macs.
298
+ # GL_NV_texture_rectangle is supported on most NVidia graphics cards
299
+ # and on ATi Radeon and better graphics cards
300
+ def build_arToolKit(fastTextureMapping=true, textureRectangle=true)
301
+ banner 'Build ARToolKit'
302
+ untgz :arToolKit
303
+ cd :arToolKit
304
+ cmd './Configure'
305
+ # &quot;Dose your Mac have fast texture mapping hardware? (y or n)&quot;
306
+ expect &quot;Enter :&quot;, '0:0:0:1'
307
+ snd( fastTextureMapping ? 'y' : 'n' )
308
+ # &quot;Build gsub libraries with texture rectangle support? (y or n)&quot;
309
+ expect &quot;Enter :&quot;, '0:0:0:1'
310
+ snd( textureRectangle ? 'y' : 'n' )
311
+ finish '0:0:15:0'
312
+ cmd make, '0:1:0:0'
313
+ end
314
+
315
+ setup
316
+ build_arToolKit
317
+ </pre>
318
+ <h2>Caveats</h2>
319
+ <p>
320
+ If @password_prompt is non-nil (which lets you script commands that require
321
+ an administrative password) you will be prompted for a password. Curently
322
+ the password is echoed to the screen. If you save the transcript of the
323
+ session you should remove your password.
324
+ </p>
325
+ <p>
326
+ <a href="../classes/Yax.html">Yax</a> has only been tested spawning bash on
327
+ OS X (that&#8217;s why it was developed). I would like to hear from anyone
328
+ who has used it on another platform, or to script some other process.
329
+ </p>
330
+ <p>
331
+ To use <a href="../classes/Yax/Session.html#M000069">Yax::Session#curl</a>,
332
+ you must have curl installed. Get it from <a
333
+ href="http://curl.haxx.se">curl.haxx.se</a>
334
+ </p>
335
+ <h2>Implementation Notes</h2>
336
+ <p>
337
+ The stdout returned by PTY.spawn seems to behave oddly, at least under OS
338
+ X. The output from a given command may be delayed, and show up in a
339
+ subsequent command. To eliminate this problem I attempted to use popen3
340
+ instead. The popen3 stdout has its own problems:
341
+ </p>
342
+ <ul>
343
+ <li>IO.select raises an exception when fed this stdout This prevents the
344
+ standard Ruby implementation of expect (in expect.rb) from working.
345
+
346
+ </li>
347
+ <li>When I redefine expect without IO.select,
348
+
349
+ <ul>
350
+ <li>getc misses some characters.
351
+
352
+ </li>
353
+ <li>gets sometimes hangs.
354
+
355
+ </li>
356
+ </ul>
357
+ </li>
358
+ </ul>
359
+ <p>
360
+ To work around the problem with the PTY.spawn stdout, _flush() was added,
361
+ along with a few other tweaks controlled by pty_workaround. On platforms
362
+ other than OS X you might want to set pty_workaround to false.
363
+ </p>
364
+ <p>
365
+ The idea for redirecting error output to a file came from Ara T.
366
+ Howard&#8217;s Session (<a
367
+ href="http://www.codeforpeople.com/lib/ruby/session">www.codeforpeople.com/lib/ruby/session</a>/).
368
+ </p>
369
+ <h2>Potential improvements</h2>
370
+ <ul>
371
+ <li>Machine processable history in addition to transcript (for example, being
372
+ able to use result of &#8216;ls&#8217; later in script) transcript is
373
+ useful for debugging interactions, but not for capturing results. (but see
374
+ next item).
375
+
376
+ </li>
377
+ <li>Expect can currently take multiple patterns, with different responses (and
378
+ subsequent expections) for each one. This allows for rather complicated
379
+ scripting, since the script is not be limited to linear interactions. It
380
+ would be good to have some simple way of structuring these interactions.
381
+ One way might be with SimpleMachine. Command output (and errors) would be
382
+ events. Expectations would be guards. The history would continue to be
383
+ linear, but it should additionally be mapped onto the machine structure so
384
+ that we can ask &quot;What was the output from state Z&quot; without
385
+ interpreting the linear history all over again.
386
+
387
+ </li>
388
+ <li>Could show error output in realtime (instead of after the expect). I think
389
+ I prefer to have all the errors at the end though.
390
+
391
+ </li>
392
+ <li>Allow operations without time limits? Currently passing a nil maxSeconds to
393
+ :command means &quot;don&#8217;t block, we are going to
394
+ expect/respond&quot;. Need to pass in some thing else (zero? a Symbol?) to
395
+ tell it &quot;block until finished&quot;. This would allow us to get rid of
396
+ cd_max_seconds, which would be more consistent with the other file
397
+ operations. On the other hand, in practice everything has a time limit.
398
+
399
+ </li>
400
+ <li>Password should not be echoed
401
+
402
+ </li>
403
+ <li>Replace dump with something that escapes non-printables, but does not put
404
+ quotes around strings (in irb &#8216;foo&#8217;.dump returns
405
+ \&quot;foo\&quot;
406
+
407
+ </li>
408
+ </ul>
409
+ <p>
410
+ Author: A. Griesser
411
+ </p>
412
+
413
+ </div>
414
+
415
+
416
+ </div>
417
+
418
+
419
+ </div>
420
+
421
+
422
+ <!-- if includes -->
423
+
424
+ <div id="section">
425
+
426
+
427
+
428
+
429
+
430
+
431
+
432
+
433
+ <!-- if method_list -->
434
+
435
+
436
+ </div>
437
+
438
+
439
+ <div id="validator-badges">
440
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
441
+ </div>
442
+
443
+ </body>
444
+ </html>
@@ -0,0 +1,138 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: yax.rb</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>yax.rb</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>nist/yax.rb
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Sat Jan 14 21:45:26 EST 2006</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+ <div id="diagram">
71
+ <map id="map" name="map">
72
+ <area shape="RECT" coords="29,52,101,100" href="../../classes/Yax/Session.html" alt="Session">
73
+ <area shape="RECT" coords="152,52,224,100" href="../../classes/Regexp.html" alt="Regexp">
74
+ <area shape="RECT" coords="248,52,320,100" href="../../classes/Module.html" alt="Module">
75
+ <area shape="RECT" coords="344,52,416,100" href="../../classes/IO.html" alt="IO">
76
+ <area shape="RECT" coords="440,52,512,100" href="../../classes/Numeric.html" alt="Numeric">
77
+ <area shape="RECT" coords="536,52,608,100" href="../../classes/MultiIO.html" alt="MultiIO">
78
+ <area shape="RECT" coords="632,52,704,100" href="../../classes/String.html" alt="String">
79
+ <area shape="RECT" coords="18,18,138,110" href="../../classes/Yax.html" alt="Yax">
80
+ </map>
81
+ <img src="../../dot/f_3.png" usemap="#map" border=0 alt="TopLevel">
82
+ </div>
83
+
84
+ <div id="description">
85
+ <p>
86
+ For an overview of use, features, and an example, see <a
87
+ href="../ReadMe_txt.html">ReadMe.txt</a>.
88
+ </p>
89
+ <p>
90
+ Author: A. Griesser
91
+ </p>
92
+
93
+ </div>
94
+
95
+ <div id="requires-list">
96
+ <h3 class="section-bar">Required files</h3>
97
+
98
+ <div class="name-list">
99
+ pty&nbsp;&nbsp;
100
+ open3&nbsp;&nbsp;
101
+ stringio&nbsp;&nbsp;
102
+ timeout&nbsp;&nbsp;
103
+ fileutils&nbsp;&nbsp;
104
+ nist/common/sequentialHash&nbsp;&nbsp;
105
+ nist/common/singletonReflection&nbsp;&nbsp;
106
+ nist/common/rubyToolsDay&nbsp;&nbsp;
107
+ </div>
108
+ </div>
109
+
110
+ </div>
111
+
112
+
113
+ </div>
114
+
115
+
116
+ <!-- if includes -->
117
+
118
+ <div id="section">
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+ <!-- if method_list -->
128
+
129
+
130
+ </div>
131
+
132
+
133
+ <div id="validator-badges">
134
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
135
+ </div>
136
+
137
+ </body>
138
+ </html>