diff options
author | Pearu Peterson <pearu.peterson@gmail.com> | 2006-06-29 09:33:15 +0000 |
---|---|---|
committer | Pearu Peterson <pearu.peterson@gmail.com> | 2006-06-29 09:33:15 +0000 |
commit | 109772b31ff4c3e755fc21eb2ef3c0db267002ef (patch) | |
tree | f7b4b3c7dfb52bc871f4c0f872378aa71abdd6af /numpy/f2py/lib/parsefortran.py | |
parent | 9913769d0719b6cfca1b3d51baee8421ba7cf288 (diff) | |
download | numpy-109772b31ff4c3e755fc21eb2ef3c0db267002ef.tar.gz |
Finished impl. Fortran 77-2003 parse pattern classes.
Diffstat (limited to 'numpy/f2py/lib/parsefortran.py')
-rw-r--r-- | numpy/f2py/lib/parsefortran.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/numpy/f2py/lib/parsefortran.py b/numpy/f2py/lib/parsefortran.py index 21eec49fe..99dd2fea4 100644 --- a/numpy/f2py/lib/parsefortran.py +++ b/numpy/f2py/lib/parsefortran.py @@ -88,8 +88,9 @@ module foo hey = 1 end subroutine bar abstract interface - + end interface + end module foo """ reader = FortranStringReader(string, True, False) @@ -99,11 +100,15 @@ end module foo def test_f77(): string = """\ -c program foo + program foo a = 3 end subroutine bar end + pure function foo(a) + end + pure real*4 recursive function bar() + end """ reader = FortranStringReader(string, False, True) parser = FortranParser(reader) @@ -112,6 +117,8 @@ c program foo def simple_main(): import sys + if not sys.argv[1:]: + return parse_all_f() for filename in sys.argv[1:]: reader = FortranFileReader(filename) print yellow_text('Processing '+filename+' (mode=%r)' % (reader.mode)) @@ -130,10 +137,20 @@ def profile_main(): stats.sort_stats('time', 'calls') stats.print_stats(30) +def parse_all_f(): + for filename in open('opt_all_f90.txt'): + filename = filename.strip() + reader = FortranFileReader(filename) + #print yellow_text('Processing '+filename+' (mode=%r)' % (reader.mode)) + + parser = FortranParser(reader) + block = parser.parse() + if __name__ == "__main__": #test_f77() #test_free90() #test_pyf() simple_main() #profile_main() + #parse_all_f() |