code: def t_preproc_ID(self, t):
          r'[_a-zA-Z][_a-zA-Z0-9]*'  # preprocessor directives
          t.type = preprocessor.get(t.value.lower(), 'ID')
          return f t_preproc_ID(self, t):
          r'[_a-zA-Z][_a-zA-Z0-9]*'  # preprocessor directives
          t.type = preprocessor.get(t.value.lower(), 'ID')
          return t
docs: r'[_a-zA-Z][_a-zA-Z0-9]*