def parse(): if not args["reparse"]: settings.use_filesystem_cache = False settings.unit_testing_mode = True c = CodeParser() if args["verbose"]: c.verbose = True if args["reparse"]: fname = args["source"].split("/")[-1].lower() c._modulefiles[fname] = [] c._programfiles[fname] = [] c._parse_from_file(args["source"], fname, False, False, False) else: c.parse(args["source"]) #Since this is for unit testing, we will access the "private" variables. for fname in c._modulefiles: for moduledat in c._modulefiles[fname]: if args["verbose"] > 2: print(c.modules[moduledat]) else: print(moduledat) # for progdat in c._programfiles[fname]: # if args["verbose"]: # print c.programs[progdat] # else: # print progdat return c
def parse(): """Parses all the modules in the library specified by the script args. """ from fortpy.code import CodeParser c = CodeParser() if args["verbose"]: c.verbose = True f90files = {} c.scan_path(args["source"], f90files) for fname, fpath in f90files.items(): if fname not in c._modulefiles: c._modulefiles[fname] = [] c._parse_from_file(fpath, fname, args["recursive"], args["recursive"], False) return c