code: def p_field(self, p):
          '''field : field_id field_req field_type IDENTIFIER annotations
                   | field_id field_req field_type IDENTIFIER '=' const_value \
                     annotations'''
  
          if len(p) == 8:
              default = p[6]
              annotations = p[7]
          else:
              default = None
              annotations = p[5]
  
          p[0] = ast.Field(
              id=p[1],
              name=p[4],
              field_type=p[3],
              requiredness=p[2],
              default=default,
              annotations=annotations,
              lineno=p.lineno(4),
          f p_field(self, p):
          '''field : field_id field_req field_type IDENTIFIER annotations
                   | field_id field_req field_type IDENTIFIER '=' const_value \
                     annotations'''
  
          if len(p) == 8:
              default = p[6]
              annotations = p[7]
          else:
              default = None
              annotations = p[5]
  
          p[0] = ast.Field(
              id=p[1],
              name=p[4],
              field_type=p[3],
              requiredness=p[2],
              default=default,
              annotations=annotations,
              lineno=p.lineno(4),
          )
docs: field : field_id field_req field_type IDENTIFIER annotations
                   | field_id field_req field_type IDENTIFIER '=' const_value \
                     annotations