terryyin / lizard

A simple code complexity analyser without caring about the C/C++ header files or Java imports, supports most of the popular languages.
Other
1.85k stars 250 forks source link

RuntimeError: maximum recursion depth exceeded error #54

Closed tholin closed 9 years ago

tholin commented 9 years ago

Some files cause a maximum recursion depth exceeded error. Sample https://www.dropbox.com/s/0pg9cwnkdoevy03/fp_and_simd.c from valgrind

Traceback (most recent call last):
  File "/home/cocobo/repository/lizard/lizard", line 6, in <module>
    lizard_main(sys.argv)
  File "/home/cocobo/repository/lizard/lizard.py", line 944, in lizard_main
    printer(result, options)
  File "/home/cocobo/repository/lizard/lizard.py", line 821, in print_result
    code_infos, option.extensions, scheme)
  File "/home/cocobo/repository/lizard/lizard.py", line 789, in print_and_save_modules
    for module_info in all_modules:
  File "/home/cocobo/repository/lizard/lizard.py", line 644, in __call__
    filename, open(filename, 'rU').read())
  File "/home/cocobo/repository/lizard/lizard.py", line 656, in analyze_source_code
    for _ in tokens:
  File "/home/cocobo/repository/lizard/lizard.py", line 631, in token_processor_for_function
    reader.state(token)
  File "/home/cocobo/repository/lizard/lizard.py", line 323, in state
    self._state(token)
  File "/home/cocobo/repository/lizard/lizard.py", line 528, in _state_old_c_params
    self._state(token)
  File "/home/cocobo/repository/lizard/lizard.py", line 528, in _state_old_c_params
    self._state(token)
...
  File "/home/cocobo/repository/lizard/lizard.py", line 528, in _state_old_c_params
    self._state(token)
  File "/home/cocobo/repository/lizard/lizard.py", line 428, in _state_global
    self.context.start_new_function(token)
  File "/home/cocobo/repository/lizard/lizard.py", line 216, in start_new_function
    self.current_line)
RuntimeError: maximum recursion depth exceeded
terryyin commented 9 years ago

This one is fixed.