anchor.diff:      s = s.replace("_", "-")
       s = s.rstrip("-")
       s = s.rstrip(".")
  +    s = re.sub("#+", lambda m: "\\fI" + "M" * len(m.group(0)) + "\\fB", s)
       # s = s.replace("-", "\\-")
       return s
   
  
positive.code:     return s
  
  def to_hal(name):
      return name.replace("_", "-").rstrip("-").rstrip(".")
  
  def prologue(f):
      print >> f, "/* Autogenerated by %s on %s -- do not edit */" % (
  
negative.code:     # When we start warning about s32/u32 this is where the warning goes
      return typemap.get(type, type)
      
  def pin(name, type, array, dir, doc, value):
      hashes = len(re.findall("#+", name))
      if array:
          if hashes != 1: Error("Array name contains more than one block of #: %r" % name)
      else:
          if hashes > 0: Error("Non-array name contains #: %r" % name)
      type = type2type(type)
      if name in names:
          Error("Duplicate item name %s" % name)
      docs.append(('pin', name, type, array, dir, doc, value))
      names[name] = None
      pins.append((name, type, array, dir, value))
  
  def param(name, type, dir, doc, value):
      type = type2type(type)
  