diff options
author | Pearu Peterson <pearu.peterson@gmail.com> | 2006-07-04 12:12:47 +0000 |
---|---|---|
committer | Pearu Peterson <pearu.peterson@gmail.com> | 2006-07-04 12:12:47 +0000 |
commit | a8672c2c5e1fe4ae0c51805aa1eed5d736a5eedf (patch) | |
tree | b081bf1ae86d4b0f734157e2e7810c8fb43568b0 /numpy/f2py/lib/parsefortran.py | |
parent | 17d8921d6d37745e01601fc19497ae2b4029b10c (diff) | |
download | numpy-a8672c2c5e1fe4ae0c51805aa1eed5d736a5eedf.tar.gz |
Working on Fortran analyzer.
Diffstat (limited to 'numpy/f2py/lib/parsefortran.py')
-rw-r--r-- | numpy/f2py/lib/parsefortran.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/numpy/f2py/lib/parsefortran.py b/numpy/f2py/lib/parsefortran.py index 33a6eb112..314bbfa24 100644 --- a/numpy/f2py/lib/parsefortran.py +++ b/numpy/f2py/lib/parsefortran.py @@ -17,6 +17,7 @@ from numpy.distutils.misc_util import yellow_text, red_text from readfortran import FortranFileReader, FortranStringReader from block_statements import BeginSource +from utils import AnalyzeError class FortranParser: @@ -37,7 +38,7 @@ class FortranParser: def parse(self): try: - return BeginSource(self) + block = self.block = BeginSource(self) except KeyboardInterrupt: raise except: @@ -50,6 +51,16 @@ class FortranParser: reader = reader.reader traceback.print_exc(file=sys.stdout) self.reader.show_message(red_text('STOPPED PARSING'), sys.stdout) + return + return + + def analyze(self): + try: + self.block.analyze() + except AnalyzeError: + pass + except: + raise return def test_pyf(): @@ -123,8 +134,9 @@ def simple_main(): reader = FortranFileReader(filename) print yellow_text('Processing '+filename+' (mode=%r)' % (reader.mode)) parser = FortranParser(reader) - block = parser.parse() - #print block + parser.parse() + parser.analyze() + #print parser.block def profile_main(): import hotshot, hotshot.stats |