ProgramFile {programFileMeta = MetaInfo {miVersion = Fortran90, miFilename = "test-data/pragma.f90"}, programFileProgramUnits = [PUModule () (1:0)-(30:9) "foo" [BlStatement () (2:2)-(2:14) Nothing (StImplicit () (2:2)-(2:14) Nothing), BlComment () (3:2)-(3:15) (Comment "= unit s :: j"), BlStatement () (4:2)-(4:13) Nothing (StDeclaration () (4:2)-(4:13) (TypeSpec {typeSpecAnno = (), typeSpecSpan = (4:2)-(4:8), typeSpecBaseType = TypeInteger, typeSpecSelector = Nothing}) Nothing (AList {alistAnno = (), alistSpan = (4:13)-(4:13), alistList = [Declarator {declaratorAnno = (), declaratorSpan = (4:13)-(4:13), declaratorVariable = ExpValue () (4:13)-(4:13) (ValVariable "j"), declaratorType = ScalarDecl, declaratorLength = Nothing, declaratorInitial = Nothing}]})), BlStatement () (6:2)-(6:18) Nothing (StUse () (6:2)-(6:18) (ExpValue () (6:6)-(6:18) (ValVariable "iso_c_binding")) Nothing Permissive Nothing), BlComment () (8:2)-(8:15) (Comment "= unit t :: k"), BlStatement () (9:2)-(9:13) Nothing (StDeclaration () (9:2)-(9:13) (TypeSpec {typeSpecAnno = (), typeSpecSpan = (9:2)-(9:8), typeSpecBaseType = TypeInteger, typeSpecSelector = Nothing}) Nothing (AList {alistAnno = (), alistSpan = (9:13)-(9:13), alistList = [Declarator {declaratorAnno = (), declaratorSpan = (9:13)-(9:13), declaratorVariable = ExpValue () (9:13)-(9:13) (ValVariable "k"), declaratorType = ScalarDecl, declaratorLength = Nothing, declaratorInitial = Nothing}]})), BlComment () (11:0)-(11:26) (Comment "! example with a cpp ifdef")] (Just [PUSubroutine () (13:4)-(17:17) (Nothing, Nothing) "main" Nothing [BlStatement () (14:6)-(14:17) Nothing (StDeclaration () (14:6)-(14:17) (TypeSpec {typeSpecAnno = (), typeSpecSpan = (14:6)-(14:12), typeSpecBaseType = TypeInteger, typeSpecSelector = Nothing}) Nothing (AList {alistAnno = (), alistSpan = (14:17)-(14:17), alistList = [Declarator {declaratorAnno = (), declaratorSpan = (14:17)-(14:17), declaratorVariable = ExpValue () (14:17)-(14:17) (ValVariable "x"), declaratorType = ScalarDecl, declaratorLength = Nothing, declaratorInitial = Nothing}]})), BlStatement () (15:6)-(15:30) Nothing (StExpressionAssign () (15:6)-(15:30) (ExpValue () (15:6)-(15:6) (ValVariable "x")) (ExpBinary () (15:10)-(15:30) Addition (ExpFunctionCall () (15:10)-(15:18) (ExpValue () (15:10)-(15:15) (ValVariable "simple")) (AList {alistAnno = (), alistSpan = (15:17)-(15:17), alistList = [Argument {argumentAnno = (), argumentSpan = (15:17)-(15:17), argumentName = Nothing, argumentExpr = ArgExpr (ExpValue () (15:17)-(15:17) (ValVariable "k"))}]})) (ExpFunctionCall () (15:22)-(15:30) (ExpValue () (15:22)-(15:27) (ValVariable "simple")) (AList {alistAnno = (), alistSpan = (15:29)-(15:29), alistList = [Argument {argumentAnno = (), argumentSpan = (15:29)-(15:29), argumentName = Nothing, argumentExpr = ArgExpr (ExpValue () (15:29)-(15:29) (ValInteger "1" Nothing))}]})))), BlStatement () (16:6)-(16:18) Nothing (StExpressionAssign () (16:6)-(16:18) (ExpValue () (16:6)-(16:6) (ValVariable "x")) (ExpFunctionCall () (16:10)-(16:18) (ExpValue () (16:10)-(16:15) (ValVariable "simple")) (AList {alistAnno = (), alistSpan = (16:17)-(16:17), alistList = [Argument {argumentAnno = (), argumentSpan = (16:17)-(16:17), argumentName = Nothing, argumentExpr = ArgExpr (ExpValue () (16:17)-(16:17) (ValVariable "j"))}]})))] Nothing, PUFunction () (18:4)-(29:15) Nothing (Nothing, Nothing) "simple" (Just AList {alistAnno = (), alistSpan = (18:20)-(18:20), alistList = [ExpValue () (18:20)-(18:20) (ValVariable "x")]}) (Just ExpValue () (18:30)-(18:30) (ValVariable "i")) [BlStatement () (19:8)-(19:19) Nothing (StDeclaration () (19:8)-(19:19) (TypeSpec {typeSpecAnno = (), typeSpecSpan = (19:8)-(19:14), typeSpecBaseType = TypeInteger, typeSpecSelector = Nothing}) Nothing (AList {alistAnno = (), alistSpan = (19:19)-(19:19), alistList = [Declarator {declaratorAnno = (), declaratorSpan = (19:19)-(19:19), declaratorVariable = ExpValue () (19:19)-(19:19) (ValVariable "x"), declaratorType = ScalarDecl, declaratorLength = Nothing, declaratorInitial = Nothing}]})), BlStatement () (20:8)-(20:19) Nothing (StDeclaration () (20:8)-(20:19) (TypeSpec {typeSpecAnno = (), typeSpecSpan = (20:8)-(20:14), typeSpecBaseType = TypeInteger, typeSpecSelector = Nothing}) Nothing (AList {alistAnno = (), alistSpan = (20:19)-(20:19), alistList = [Declarator {declaratorAnno = (), declaratorSpan = (20:19)-(20:19), declaratorVariable = ExpValue () (20:19)-(20:19) (ValVariable "i"), declaratorType = ScalarDecl, declaratorLength = Nothing, declaratorInitial = Nothing}]})), BlStatement () (21:8)-(21:16) Nothing (StExpressionAssign () (21:8)-(21:16) (ExpValue () (21:8)-(21:8) (ValVariable "i")) (ExpBinary () (21:12)-(21:16) Multiplication (ExpValue () (21:12)-(21:12) (ValVariable "x")) (ExpValue () (21:16)-(21:16) (ValVariable "x")))), BlComment () (22:8)-(22:14) (Comment " thest"), BlStatement () (24:8)-(24:35) Nothing (StPrint () (24:8)-(24:35) (ExpValue () (24:14)-(24:14) ValStar) (Just AList {alistAnno = (), alistSpan = (24:17)-(24:35), alistList = [ExpValue () (24:17)-(24:35) (ValString "Hello from simple")]})), BlStatement () (25:8)-(25:16) Nothing (StExpressionAssign () (25:8)-(25:16) (ExpValue () (25:8)-(25:8) (ValVariable "i")) (ExpBinary () (25:12)-(25:16) Addition (ExpValue () (25:12)-(25:12) (ValVariable "i")) (ExpValue () (25:16)-(25:16) (ValInteger "0" Nothing)))), BlComment () (27:8)-(27:18) (Comment " thingummy"), BlStatement () (28:8)-(28:35) Nothing (StPrint () (28:8)-(28:35) (ExpValue () (28:14)-(28:14) ValStar) (Just AList {alistAnno = (), alistSpan = (28:17)-(28:35), alistList = [ExpValue () (28:17)-(28:35) (ValString "Hello from simple")]}))] Nothing])]}