<?xml version='1.0' encoding='ISO-8859-1' standalone='no'?>
<!DOCTYPE interface-description SYSTEM 'file:///usr/pkgsrc/lang/oo2c/work.macaroon/oo2c_32-2.0.11/rsrc/OOC/xml/interface-description.dtd'>
<interface-description name='ConvTypes' id=''>
  <oberon-doc>
    <summary>Common types used in the string conversion modules.</summary>
    <p pad-after='yes' no-indent='yes'>Common types used in the string conversion modules.</p>
  </oberon-doc>
  <type-decl name='ConvResults' id='ConvResults' export='yes'>
    <oberon-doc>
      <summary>Values of this type are used to express the format of a string.</summary>
      <p pad-after='yes' no-indent='yes'>Values of this type are used to express the format of a string.</p>
    </oberon-doc>
    <type>
      <type-name module='#predef' name='SHORTINT'/>
    </type>
  </type-decl>
  <const-decl name='strAllRight' id='strAllRight' export='yes' value='unknown'>
    <oberon-doc>
      <summary>The string format is correct for the corresponding conversion.</summary>
      <p pad-after='yes' no-indent='yes'>The string format is correct for the corresponding conversion.</p>
    </oberon-doc>
  </const-decl>
  <const-decl name='strOutOfRange' id='strOutOfRange' export='yes' value='unknown'>
    <oberon-doc>
      <summary>The string is well-formed but the value cannot be represented.</summary>
      <p pad-after='yes' no-indent='yes'>The string is well-formed but the value cannot be represented.</p>
    </oberon-doc>
  </const-decl>
  <const-decl name='strWrongFormat' id='strWrongFormat' export='yes' value='unknown'>
    <oberon-doc>
      <summary>The string is in the wrong format for the conversion.</summary>
      <p pad-after='yes' no-indent='yes'>The string is in the wrong format for the conversion.</p>
    </oberon-doc>
  </const-decl>
  <const-decl name='strEmpty' id='strEmpty' export='yes' value='unknown'>
    <oberon-doc>
      <summary>The given string is empty.</summary>
      <p pad-after='yes' no-indent='yes'>The given string is empty.</p>
    </oberon-doc>
  </const-decl>
  <type-decl name='ScanClass' id='ScanClass' export='yes'>
    <oberon-doc>
      <summary>Values of this type are used to classify input to finite state scanners.</summary>
      <p pad-after='yes' no-indent='yes'>Values of this type are used to classify input to finite state scanners.</p>
    </oberon-doc>
    <type>
      <type-name module='#predef' name='SHORTINT'/>
    </type>
  </type-decl>
  <const-decl name='padding' id='padding' export='yes' value='unknown'>
    <oberon-doc>
      <summary>A leading or padding character at this point in the scan<em-dash/>ignore it.</summary>
      <p pad-after='yes' no-indent='yes'>A leading or padding character at this point in the scan<em-dash/>ignore it.</p>
    </oberon-doc>
  </const-decl>
  <const-decl name='valid' id='valid' export='yes' value='unknown'>
    <oberon-doc>
      <summary>A valid character at this point in the scan<em-dash/>accept it.</summary>
      <p pad-after='yes' no-indent='yes'>A valid character at this point in the scan<em-dash/>accept it.</p>
    </oberon-doc>
  </const-decl>
  <const-decl name='invalid' id='invalid' export='yes' value='unknown'/>
  <const-decl name='terminator' id='terminator' export='yes' value='unknown'>
    <oberon-doc>
      <summary>A terminating character at this point in the scan (not part of token).</summary>
      <p pad-after='yes' no-indent='yes'>A terminating character at this point in the scan (not part of token).</p>
    </oberon-doc>
  </const-decl>
  <import-decl name='-RT0' id='-RT0' export='no' module='RT0'/>
  <import-decl name='-Object' id='-Object' export='no' module='Object'/>
  <import-decl name='-Exception' id='-Exception' export='no' module='Exception'/>
  <class name='ScanDesc'>
    <type-decl name='ScanState' id='ScanState' export='yes'>
      <type>
        <pointer>
          <pointer-base>
            <type-name name='ScanDesc' href='#ScanDesc'/>
          </pointer-base>
        </pointer>
      </type>
    </type-decl>
    <type-decl name='ScanDesc' id='ScanDesc' export='yes'>
      <oberon-doc>
        <summary>The type of lexical scanning control procedures.</summary>
        <p pad-after='yes' no-indent='yes'>The type of lexical scanning control procedures.</p>
      </oberon-doc>
      <type>
        <record>
          <field-decl name='p' id='ScanDesc.p' export='yes'>
            <oberon-doc>
              <summary>A procedure that produces the next state corresponding to the character <var>ch</var>.</summary>
              <p pad-after='yes' no-indent='yes'>A procedure that produces the next state corresponding to the character <var>ch</var>.  The class of the character is returned in <var>cl</var>, the next state in <var>st</var>.</p>
            </oberon-doc>
            <type>
              <formal-parameters>
                <parameter-decl name='ch' id='ScanDesc.p.ch' export='no' variable-parameter='no'>
                  <type>
                    <type-name module='#predef' name='CHAR'/>
                  </type>
                </parameter-decl>
                <parameter-decl name='cl' id='ScanDesc.p.cl' export='no' variable-parameter='yes'>
                  <type>
                    <type-name module='#predef' name='ScanClass'/>
                  </type>
                </parameter-decl>
                <parameter-decl name='st' id='ScanDesc.p.st' export='no' variable-parameter='yes'>
                  <type>
                    <type-name name='ScanState' href='#ScanState'/>
                  </type>
                </parameter-decl>
              </formal-parameters>
            </type>
          </field-decl>
        </record>
      </type>
    </type-decl>
  </class>
</interface-description>
