code: def p_load_code(p):
      
      if p[2].type_ != TYPE.string:
          api.errmsg.syntax_error_expected_string(p.lineno(3), p[2].type_)
  
      if len(p) == 4:
          if p[3].upper() not in ('SCREEN', 'SCREEN$', 'CODE'):
              syntax_error(p.lineno(3), 'Unexpected "%s" ID. Expected "SCREEN$" instead' % p[3])
              return None
          else:
              if p[3].upper() == 'CODE':  # LOAD "..." CODE
                  start = make_number(0, lineno=p.lineno(3))
                  length = make_number(0, lineno=p.lineno(3))
              else:  # SCREEN$
                  start = make_number(16384, lineno=p.lineno(3))
                  length = make_number(6912, lineno=p.lineno(3))
      else:
          start = make_typecast(TYPE.uinteger, p[4], p.lineno(3))
  
          if len(p) == 5:
              length = make_number(0, lineno=p.lineno(3))
          else:
              length = make_typecast(TYPE.uinteger, p[6], p.lineno(5))
  
      p[0] = make_sentence(p[1], p[2], start, length)
docs: statement : load_or_verify expr ID
                    | load_or_verify expr CODE
                    | load_or_verify expr CODE expr
                    | load_or_verify expr CODE expr COMMA expr