diff options
Diffstat (limited to 'script/make_depend_py3.py')
| -rwxr-xr-x | script/make_depend_py3.py | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/script/make_depend_py3.py b/script/make_depend_py3.py deleted file mode 100755 index a47d7fb..0000000 --- a/script/make_depend_py3.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/env python3 -""" generation of module dependances for a xxx.f90 or xxx.F90 file """ - -import string,sys -from subprocess import Popen, PIPE - -def noComment(mot): - """ remove comment characters in a word """ - ind= mot.find('!') - if ind != -1: - mot= mot[:ind] - return mot - -class md9: - """ a file, its module and its dependances """ - def __init__(self,fic): - self.name= fic - self.used= [] - #find all module dependances - listeLignes= open(self.name,'r',encoding='utf8',errors='ignore').readlines() - self.module= "dummy" - for ligne in listeLignes: - ligne= ligne.lower() - if ligne.count('use'): - ligne= ligne.replace(',',' ') - listeMots= ligne.split() - if listeMots[0] == 'use': - mod= noComment(listeMots[1]) - if mod not in self.used and mod != 'intrinsic': - self.used.append(mod) - elif ligne.count('module'): - listeMots= ligne.split() - if listeMots[0] == 'module' and \ - noComment(listeMots[1]) != 'procedure': - self.module= listeMots[1] - def utilise(self,other): - return (other.module in self.used) - -#list the file names -listeClasse= list() -for x in sys.argv[1:]: - if x.endswith('.f90') or x.endswith('.F90'): listeClasse.append(md9(x)) -#sort the file list -listeRes= [] -while listeClasse: - lgav= len(listeClasse) - for fic in listeClasse: - if len(list(filter(lambda x,y=fic:y.utilise(x),listeClasse))) == 0: - listeRes.append(fic) - listeClasse.remove(fic) - lgap= len(listeClasse) - if lgav == lgap and lgap != 0: - raise RuntimeError("make_depend: cross-references found") -#result output -resstr='' -for fic in listeRes: - resstr=resstr+fic.name+' ' -print(resstr) |
