Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Updated comments/documentation
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:a1d097d628943fd7c244213bede3e63db397705b
User & Date: erikj 2017-11-13 11:20:27
Context
2017-11-14
07:11
Updated documentation/comments. check-in: e5ef76b0f8 user: erikj tags: trunk
2017-11-13
11:20
Updated comments/documentation check-in: a1d097d628 user: erikj tags: trunk
10:59
Add ability for caller args for writefile to be passed down to format-specific writer. Use this mechanism for SREC subformats. check-in: f138c2972c user: erikj tags: trunk
Changes

Changes to binconvert.tcl.

183
184
185
186
187
188
189













190
191
192
193
194
195
196
197
198
199
        chan close $chan
    }

    ##### Parse input data
    # Note that actual input parsing here is done by the parser selected
    # above.  Each parser accepts one line of data and emits a list that
    # consists of a canonical tag and its associated data.













    # The *readFile* level manages the segment list structure based on
    # those tags.  Generally, format-specific consistency checks are
    # handled in the parsers.
    foreach line $dataL {
        set lineL [{*}$parser $line]
        switch -- [lindex $lineL 0] {
            default {
                # Unknown line types are warned about, but we continue and
                # allow the user to decide what to do about the issue.
                log::warn "binconvert::readfile: Unknown line type\







>
>
>
>
>
>
>
>
>
>
>
>
>
|
|
<







183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204

205
206
207
208
209
210
211
        chan close $chan
    }

    ##### Parse input data
    # Note that actual input parsing here is done by the parser selected
    # above.  Each parser accepts one line of data and emits a list that
    # consists of a canonical tag and its associated data.
    #
    # The specification for the interfaces to the procedures are as follows:
    # the line parser must take exactly one argument, the line to be parsed.
    # It must return a list consisting of one data type token plus one or two
    # data fields appropriate to the token.  The list of supported tokens is:
    #
    # * DATA *lineAddress* *dataList*
    # * SEGADDR *segAddressOffset*
    # * HEADER *headerData*
    # * NOP {}
    # * STARTADDR *executionStartAddress* *optionalProcessorType*
    # * EOF {}
    #
    # The *readFile* level manages the segment list structure based on those
    # tags.  Format-specific consistency checks are handled in the parsers.

    foreach line $dataL {
        set lineL [{*}$parser $line]
        switch -- [lindex $lineL 0] {
            default {
                # Unknown line types are warned about, but we continue and
                # allow the user to decide what to do about the issue.
                log::warn "binconvert::readfile: Unknown line type\

Changes to docs/binconvert.html.

324
325
326
327
328
329
330
331












332
333
334
335
336
337
338
339
340
341
    <div class='docs'>
      <div class='octowrap'>
        <a class='octothorpe' href='#section-14'>#</a>
      </div>
      <h4>Parse input data</h4>
<p>Note that actual input parsing here is done by the parser selected
above.  Each parser accepts one line of data and emits a list that
consists of a canonical tag and its associated data.












The <em>readFile</em> level manages the segment list structure based on
those tags.  Generally, format-specific consistency checks are
handled in the parsers.</p>
    </div>
    <div class='code'>
      <div class="highlight"><pre>    <span class="k">foreach</span> line <span class="nv">$dataL</span> <span class="k">{</span>
        <span class="k">set</span> lineL <span class="k">[{</span><span class="o">*</span><span class="k">}</span><span class="nv">$parser</span> <span class="nv">$line</span><span class="k">]</span>
        <span class="k">switch</span> <span class="o">--</span> <span class="k">[</span><span class="nb">lindex</span> <span class="nv">$lineL</span> <span class="mi">0</span><span class="k">]</span> <span class="k">{</span>
            <span class="nv">default</span> <span class="k">{</span></pre></div>
    </div>







|
>
>
>
>
>
>
>
>
>
>
>
>
|
|
<







324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345

346
347
348
349
350
351
352
    <div class='docs'>
      <div class='octowrap'>
        <a class='octothorpe' href='#section-14'>#</a>
      </div>
      <h4>Parse input data</h4>
<p>Note that actual input parsing here is done by the parser selected
above.  Each parser accepts one line of data and emits a list that
consists of a canonical tag and its associated data.</p>
<p>The specification for the interfaces to the procedures are as follows:
the line parser must take exactly one argument, the line to be parsed.
It must return a list consisting of one data type token plus one or two
data fields appropriate to the token.  The list of supported tokens is:</p>
<ul>
<li>DATA <em>lineAddress</em> <em>dataList</em></li>
<li>SEGADDR <em>segAddressOffset</em></li>
<li>HEADER <em>headerData</em></li>
<li>NOP {}</li>
<li>STARTADDR <em>executionStartAddress</em> <em>optionalProcessorType</em></li>
<li>EOF {}</li>
</ul>
<p>The <em>readFile</em> level manages the segment list structure based on those
tags.  Format-specific consistency checks are handled in the parsers.</p>

    </div>
    <div class='code'>
      <div class="highlight"><pre>    <span class="k">foreach</span> line <span class="nv">$dataL</span> <span class="k">{</span>
        <span class="k">set</span> lineL <span class="k">[{</span><span class="o">*</span><span class="k">}</span><span class="nv">$parser</span> <span class="nv">$line</span><span class="k">]</span>
        <span class="k">switch</span> <span class="o">--</span> <span class="k">[</span><span class="nb">lindex</span> <span class="nv">$lineL</span> <span class="mi">0</span><span class="k">]</span> <span class="k">{</span>
            <span class="nv">default</span> <span class="k">{</span></pre></div>
    </div>