Package SCons :: Package Scanner :: Module Fortran :: Class F90Scanner
[show private | hide private]
[frames | no frames]

Class F90Scanner

Base --+        
       |        
 Current --+    
           |    
     Classic --+
               |
              F90Scanner


A Classic Scanner subclass for Fortran source files which takes into account both USE and INCLUDE statements. This scanner will work for both F77 and F90 (and beyond) compilers.

Currently, this scanner assumes that the include files do not contain USE statements. To enable the ability to deal with USE statements in include files, add logic right after the module names are found to loop over each include file, search for and locate each USE statement, and append each module name to the list of dependencies. Caching the search results in a common dictionary somewhere so that the same include file is not searched multiple times would be a smart thing to do.


Method Summary
  __init__(self, name, suffixes, path_variable, use_regex, incl_regex, def_regex, *args, **kw)
  scan(self, node, env, path)
    Inherited from Classic
  find_include(self, include, source_dir, path)
  sort_key(self, include)
    Inherited from Base
  __call__(self, node, env, path)
This method scans a single object.
  __cmp__(self, other)
  __hash__(self)
  __str__(self)
  add_scanner(self, skey, scanner)
  add_skey(self, skey)
Add a skey to the list of skeys
  get_skeys(self, env)
  path(self, env, dir, target, source)
  select(self, node)

Generated by Epydoc 2.1 on Wed Dec 12 09:39:31 2007 http://epydoc.sf.net