code: def create_pgm_dict(
      lambdaFile: str,
      asts: List,
      file_name: str,
      mode_mapper_dict: dict,
      save_file=False,
  ) -> Dict:
      
  
      lambdaStrings = ["import math\n\n"]
      state = PGMState(lambdaStrings)
      generator = GrFNGenerator()
      generator.mode_mapper = mode_mapper_dict
      pgm = generator.genPgm(asts, state, {}, "")[0]
      if pgm.get("start"):
          pgm["start"] = pgm["start"][0]
      else:
          pgm["start"] = generator.function_defs[-1]
  
      pgm["source"] = [[get_path(file_name, "source")]]
  
      # dateCreated stores the date and time on which the lambda and PGM file was created.
      # It is stored in YYYMMDD format
      pgm["dateCreated"] = f"{datetime.today().strftime('%Y%m%d')}"
  
      with open(lambdaFile, "w") as f:
          f.write("".join(lambdaStrings))
  
      # View the PGM file that will be used to build a scope tree
      if save_file:
          json.dump(pgm, open(file_name[:file_name.rfind(".")] + ".json", "w"))
  
      return pgm
docs: Create a Python dict representing the PGM, with additional metadata for
      JSON output.