anchor.diff:                  print >>f, "#define %s (inst->%s)" % (to_c(name), to_c(name))
   
           for type, name, array, value in variables:
  +            name = name.replace("*", "")
               print >>f, "#undef %s" % name
               print >>f, "#define %s (inst->%s)" % (name, name)
   
  
positive.code:         "pin" PINDIRECTION TYPE HALNAME OptArray OptSAssign OptPersonality OptString ";"  {{ pin(HALNAME, TYPE, OptArray, PINDIRECTION, OptString, OptSAssign, OptPersonality) }}
        | "param" PARAMDIRECTION TYPE HALNAME OptArray OptSAssign OptPersonality OptString ";" {{ param(HALNAME, TYPE, OptArray, PARAMDIRECTION, OptString, OptSAssign, OptPersonality) }}
        | "function" NAME OptFP OptString ";"       {{ function(NAME, OptFP, OptString) }}
        | "variable" NAME {{ NAME1=NAME; }} NAME OptSimpleArray OptAssign ";" {{ variable(NAME1, NAME, OptSimpleArray, OptAssign) }}
        | "option" NAME OptValue ";"   {{ option(NAME, OptValue) }}
        | "see_also" String ";"   {{ see_also(String) }}
        | "notes" String ";"   {{ notes(String) }}
  
negative.code:     token PINDIRECTION: "in|out|io"
      token TYPE: "float|bit|signed|unsigned|u32|s32"
      token NAME: "[a-zA-Z_][a-zA-Z0-9_]*"
      token STARREDNAME: "[*]*[a-zA-Z_][a-zA-Z0-9_]*"
      token HALNAME: "[#a-zA-Z_][-#a-zA-Z0-9_.]*"
      token FPNUMBER: "-?([0-9]*\.[0-9]+|[0-9]+\.?)([Ee][+-]?[0-9]+)?f?"
      token NUMBER: "0x[0-9a-fA-F]+|[+-]?[0-9]+"
  