code: def p_base_type(self, p):  # noqa
          '''base_type : BOOL annotations
                       | BYTE annotations
                       | I8 annotations
                       | I16 annotations
                       | I32 annotations
                       | I64 annotations
                       | DOUBLE annotations
                       | STRING annotations
                       | BINARY annotations'''
  
          name = p[1]
          if name == 'i8':
              name = 'byte'
  
          p[0] = ast.PrimitiveType(name, p[2]f p_base_type(self, p):  # noqa
          '''base_type : BOOL annotations
                       | BYTE annotations
                       | I8 annotations
                       | I16 annotations
                       | I32 annotations
                       | I64 annotations
                       | DOUBLE annotations
                       | STRING annotations
                       | BINARY annotations'''
  
          name = p[1]
          if name == 'i8':
              name = 'byte'
  
          p[0] = ast.PrimitiveType(name, p[2])
docs: base_type : BOOL annotations
                       | BYTE annotations
                       | I8 annotations
                       | I16 annotations
                       | I32 annotations
                       | I64 annotations
                       | DOUBLE annotations
                       | STRING annotations
                       | BINARY annotations