extract alpha extract_prb.f90 11 lines written to alpha.f90 cat alpha.f90 program alpha ! !******************************************************************************* ! !! ALPHA is a main program. ! call beta ( y ) x = gamma ( y ) stop end rm alpha.f90 extract beta.txt extract_prb.f90 23 lines written to beta.txt cat beta.txt subroutine beta ( y, delta, gamma ) ! !******************************************************************************* ! !! BETA is a subroutine ! ! ! real function zeta ( x ) is commented out. ! real delta real gamma character ( len = 50 ) s real y ! gamma = 7.0 y = 3.14159265 ! ! This line might confuse the extractor! ! s = 'function gamma ( 17 )' return end rm beta.txt extract gamma extract_prb.f90 21 lines written to gamma.f90 cat gamma.f90 function gamma ( alpha, beta, delta ) ! !******************************************************************************* ! !! GAMMA is a function with no type statement. ! ! ! Here's another commented out line for suckers. ! ! integer function epsilon ( x ) ! real alpha real beta real delta real gamma real x gamma = sqrt ( x ) return end rm gamma.f90 extract delta extract_prb.f90 12 lines written to delta.f90 cat delta.f90 complex function delta ( x ) ! !******************************************************************************* ! !! DELTA is a complex function with type statement. ! complex x delta = x * x return end rm delta.f90 extract epsilon extract_prb.f90 12 lines written to epsilon.f90 cat epsilon.f90 integer function epsilon ( x ) ! !******************************************************************************* ! !! EPSILON is an integer function with type statement. ! integer x epsilon = x + 1 return end rm epsilon.f90 extract zeta extract_prb.f90 12 lines written to zeta.f90 cat zeta.f90 real function zeta ( x ) ! !******************************************************************************* ! !! ZETA is a real function with type statement. ! real x zeta = 1.0 / x return end rm zeta.f90 extract eta.f extract_prb.f90 11 lines written to eta.f cat eta.f module eta ! !******************************************************************************* ! !! ETA is a module. ! real x x = 17.0 end rm eta.f extract theta.f90 extract_prb.f90 12 lines written to theta.f90 cat theta.f90 block data theta ! !******************************************************************************* ! !! THETA is a block data routine. ! real x common / samantha / x save / samantha / data x / 1.0 / end rm theta.f90 extract iota extract_prb.f90 14 lines written to iota.f90 cat iota.f90 recursive function iota ( x ) result ( value ) ! !******************************************************************************* ! !! IOTA is a recursive function. ! if ( x <= 0.0 ) then value = 0.0 else value = x + iota ( x - 1 ) end if return end rm iota.f90 echo Normal end of extract tests. Normal end of extract tests.