def identifier
      case @typecode
      when nil
        'void'
      when BOOL
        'char'
      when BYTE
        'char'
      when UBYTE
        'unsigned char'
      when SINT
        'short int'
      when USINT
        'unsigned short int'
      when INT
        'int'
      when UINT
        'unsigned int'
      when SFLOAT
        'float'
      when DFLOAT
        'double'
      else
        if @typecode < Pointer_
          'unsigned char *'
        elsif @typecode < INDEX_
          'int'
        else
          raise "No identifier available for #{@typecode.inspect}"
        end
      end
    end
def identifier
      case @typecode
      when nil
        'void'
      when BOOL
        'char'
      when BYTE
        'char'
      when UBYTE
        'unsigned char'
      when SINT
        'short int'
      when USINT
        'unsigned short int'
      when INT
        'int'
      when UINT
        'unsigned int'
      when SFLOAT
        'float'
      when DFLOAT
        'double'
      else
        if @typecode < Pointer_
          'unsigned char *'
        elsif @typecode < INDEX_
          'int'
        else
          raise "No identifier available for #{@typecode.inspect}"
        end
      end
    end
Construct GCC type

 @param [Class] typecode Native type (e.g. +UBYTE+).

 @private
 Get C identifier for native type

 @return [String] String with valid C syntax to declare type.

 @private