(+ 1 (* 2 3))
(+ 1 (* 2 3))
(+ (* 1 2) 3)
(* (+ 1 2) 3)
(+ 1 (* 2 (** 3 4)))
(+ 1 (* 2 (** 3 4)))
(+ 1 (** (* 2 3) 4))
(** (+ 1 (* 2 3)) 4)
(+ 1 (* (** 2 3) 4))
(+ 1 (** 2 (* 3 4)))
(- 1 2)
(- (- 1 2) 3)
(- 1 (* 2 3))
(- 1 (** 2 3))
(+ (u- 2) 1)
(+ (* (u- 2) 3) 1)
(+ (u- (** 2 3)) 1)
(+ 1 (u- 2))
(+ 1 (* (u- 2) 3))
(+ 1 (- (u- 2) 3))
(* 3 (u- 2))
(* (u- 2) 3)
(* (u- 2) 3)
(+ (u+ 2) 1)
(+ (* (u+ 2) 3) 1)
(+ (u+ (** 2 3)) 1)
(+ 1 (u+ 2))
(+ 1 (* (u+ 2) 3))
(+ 1 (- (u+ 2) 3))
(* 3 (u+ 2))
(* (u+ 2) 3)
(* (u+ 2) 3)
(Constant Unimplementedconstant)
(Constant Unimplementedconstant)
(FuncCallOrArray f [a] [])
(FuncCallOrArray f [(+ 1 1)] [])
(FuncCallOrArray f [a b 1] [])
(FuncCallOrArray log [r2] [])
(* u (FuncCallOrArray sqrt [(/ (* (u- 2) (FuncCallOrArray log [r2] [])) r2)] []))
(FuncCallOrArray f [a 1 1 a] [])
(FuncCallOrArray f [1 1 2 a 1] [])
(FuncCallOrArray f [] [])
(FuncCallOrArray f [a (+ b 1) (Constant Unimplementedconstant)] [])
(ArrayInitializer [1])
(ArrayInitializer [1 b])
(ArrayInitializer [1 b c])
(ArrayInitializer [(FuncCallOrArray f [a] []) (+ b c) (+ (** c 2) 1)])
1
(Real "1.")
(Real "1._dp")
(Real "1.03_dp")
(Real "1.e5_dp")
(+ 2 3)
(* (+ 1 3) 4)
(+ 1 (* 3 4))
x
yx
(+ x y)
(+ 2 x)
(** (+ x y) 2)
(* (+ x y) 3)
(+ x (* y 3))
(* (+ (+ 1 2) a) 3)
(+ (FuncCallOrArray f [3] []) 6)
(FuncCallOrArray f [(+ 3 6)] [])
(FuncCallOrArray real [b dp] [])
(- (* 2 u) 1)
(FuncCallOrArray sum [(** u 2)] [])
(FuncCallOrArray u [2] [])
(* u (FuncCallOrArray sqrt [(/ (* (u- 2) (FuncCallOrArray log [r2] [])) r2)] []))
(not first)
(- a (/ (Real "1._dp") 3))
(/ 1 (FuncCallOrArray sqrt [(* 9 d)] []))
(** (+ 1 (* c x)) 3)
(+ i 1)
(Str ""s"")
(Str ""some test"")
(FuncCallOrArray a [5 j] [])
(FuncCallOrArray b [1] [])
(+ (FuncCallOrArray a [5 j] []) (FuncCallOrArray b [1] []))
(ArrayInitializer [1 2 3 i])
(FuncCallOrArray f [] [])
a
(FuncCallOrArray a [] [])
(FuncCallOrArray b [i j] [])
(FuncCallOrArray c [5 1] [])
a
(FuncCallOrArray b [i j] [])
(FuncCallOrArray c [5 1] [])
(Str ""a'b'c"")
(Str "'a"b"c'")
(Str "'a""bc""x'")
(Str ""a""c"")
(Str ""a""b""c"")
(Str """"zippo"""")
(Str "'a''c'")
(Str "'a''b''c'")
(Str "'''zippo'''")
(Str ""aaa"")
(Str ""a"")
(BoolOp 1 boolopType0 2)
(BoolOp a boolopType0 b)
(BoolOp (== a 1) boolopType0 (== b 2))
(BoolOp (== a 1) boolopType1 (== b 2))
(BoolOp (BoolOp a boolopType0 b) boolopType0 c)
(BoolOp (BoolOp a boolopType1 b) boolopType1 c)
(not (== a 1))
(BoolOp (== a 1) boolopType0 (not (== b 2)))
(BoolOp a boolopType2 b)
(BoolOp a boolopType3 b)
(Declaration [(x "integer" [] [] ())])
(Declaration [(x "integer" [] [] ())])
(Declaration [(x "integer" [] [(Attribute parameter [])] ())])
(Declaration [(x "integer" [] [(Attribute parameter []) (Attribute pointer [])] ())])
(Declaration [(x "character" [] [] ())])
(Declaration [(x "character" [] [] ())])
(Declaration [(c "character" [] [] ())])
(Declaration [(x "real" [] [] ())])
(Declaration [(a "real" [] [] ())])
(Declaration [(x "real" [] [] ())])
(Declaration [(x "real" [] [] ())])
(Declaration [(x "real" [] [] ())])
(Declaration [(x "real" [] [(Attribute intent [(in)])] ())])
(Declaration [(x "real" [] [(Attribute intent [(out)])] ())])
(Declaration [(x "real" [] [(Attribute intent [(inout)])] ())])
(Declaration [(a "real" [] [] ()) (b "real" [] [] ())])
(Declaration [(a "real" [(1 9) (1 10)] [] ()) (b "real" [(1 10)] [] ())])
(Declaration [(a "real" [(1 m) (1 n)] [] ())])
(Declaration [(a "real" [(() ()) (() ())] [(Attribute allocatable [])] ())])
(Declaration [(y "real" [] [] 5)])
(Declaration [(f "real" [] [] ())])
(Declaration [(x "complex" [] [] ())])
(Declaration [(x "logical" [] [] ())])
(Declaration [(x "type" [] [] ())])
(Declaration [(x "type" [] [(Attribute intent [(inout)])] ()) (y "type" [] [(Attribute intent [(inout)])] ())])
(Declaration [(x "integer" [] [] 3)])
(Declaration [(x "integer" [(1 5)] [] ())])
(Declaration [(x "integer" [(5 ())] [] ())])
(Declaration [(x "integer" [(5 ())] [] ())])
(Declaration [(a "integer" [(1 9) (1 10)] [] ()) (b "integer" [(1 10)] [] ())])
(Declaration [(x "integer" [(() 5)] [] ())])
(Declaration [(x "integer" [(() ())] [] ())])
(Declaration [(x "integer" [(3 5)] [] ())])
(Declaration [(x "integer" [(1 5) (() ()) (() 3) (3 ())] [] ())])
(Declaration [(x "integer" [] [(Attribute dimension [])] ())])
(Declaration [(c "integer" [] [(Attribute dimension [])] ())])
(Declaration [(e "integer" [] [(Attribute dimension []) (Attribute intent [(in)])] ())])
(Declaration [(x "integer" [(1 5) (() ()) (() 3) (3 ())] [] 3)])
(Declaration [(x "integer" [(1 5) (() ()) (() 3) (3 ())] [] (+ 3 2))])
(Declaration [(x "integer" [(1 5) (() ()) (() 3) (3 ())] [] 3) (y "integer" [(() 3)] [] 4)])
(Declaration [(x "integer" [(1 5) (() ()) (() 3) (3 ())] [] x)])
(Declaration [(i "integer" [] [] ())])
(Function g [] () () () [] [(Declaration [(x "integer" [] [] ())])] [(= x 1)] [])
(Subroutine g [] [] [(Declaration [(x "integer" [] [] ()) (y "integer" [] [] ())])] [] [])
(Subroutine g [] [] [(Declaration [(x "integer" [] [] ()) (y "integer" [] [] ()) (z "integer" [] [] ())])] [] [])
(Function g [] () () () [] [(Declaration [(x "integer" [] [] ())]) (Declaration [(y "real" [] [] ()) (z "real" [] [] ())])] [(= x 1)] [])
(Subroutine g [] [] [(Declaration [(x "integer" [] [] ())])] [(= x 1)] [])
(Subroutine g [] [] [(Declaration [(x "integer" [] [] ())]) (Declaration [(x "character" [] [] ())])] [(= x 1)] [])
(Program g [] [(Declaration [(x "integer" [] [] ())])] [(= x 1)] [])
(Program g [] [(Declaration [(x "integer" [] [] ())]) (Declaration [(x "complex" [] [] ())])] [(= x 1)] [])
(SubroutineCall random_number [])
(SubroutineCall random_number [])
(SubroutineCall random_number [])
(= u (- (* 2 u) 1))
(= r2 (FuncCallOrArray sum [(** u 2)] []))
(= u (* u (FuncCallOrArray sqrt [(/ (* (u- 2) (FuncCallOrArray log [r2] [])) r2)] [])))
(= x (FuncCallOrArray u [1] []))
(= x (FuncCallOrArray u [2] []))
(= first (not first))
(= d (- a (/ (Real "1._dp") 3)))
(= c (/ 1 (FuncCallOrArray sqrt [(* 9 d)] [])))
(= v (** (+ 1 (* c x)) 3))
(= fn_val (* d v))
exit
cycle
(SubroutineCall randn [])
(SubroutineCall randn [])
(SubroutineCall random_number [])
(SubroutineCall rand_gamma0 [])
(SubroutineCall rand_gamma0 [])
(SubroutineCall rand_gamma0 [])
(SubroutineCall rand_gamma_vector_n [])
(SubroutineCall f [])
(FuncCallOrArray open [a b c] [])
(FuncCallOrArray allocate [(FuncCallOrArray c [4] []) (FuncCallOrArray d [4] [])] [])
(FuncCallOrArray close [u] [])
(= x 1)
(= y 5)
(= a 5)
(= x 1)
(= y 5)
(= a 5)
a
a
a
a
a
a
a
(TranslationUnit [])
(TranslationUnit [])
(TranslationUnit [])
(TranslationUnit [])
(TranslationUnit [])
(Stop (Str ""OK""))
(Stop 1)
stop
(Print "(i4)" [45 x])
(Print "(i4)" [45])
(Print "(i4)" [])
(Print "(i4)" [])
(Print () [45 (Str ""sss"") (+ a 1)])
(Print () [a])
(Print () [])
(Print () [])
(Print "(i4)" [45 x])
(Print "(i4)" [45])
(Print "(i4)" [])
(Print () [45 (Str ""sss"") (+ a 1)])
(Print () [a])
(Print () [])
(Print "(i4)" [45 x])
(Print "(i4)" [45])
(FuncCallOrArray write [13 (Str ""(i4)"")] [])
(Print () [45 (Str ""sss"") (+ a 1)])
(Print () [a])
(Print () [])
(Print () [a b])
(Print () [a])
(FuncCallOrArray write [u] [])
(=> x y)
(=> x (FuncCallOrArray y [4 5] []))
(SubroutineCall g [])
(SubroutineCall g [])
(= c (ArrayInitializer [1 2 3 i]))
(= a a)
(= b (FuncCallOrArray b [i j] []))
(= c (FuncCallOrArray c [5 1] []))
(= a a)
(= b (FuncCallOrArray b [i j] []))
(= c (FuncCallOrArray c [5 1] []))
(= a a)
(= (FuncCallOrArray b [i j] []) b)
(= (FuncCallOrArray c [5 1] []) c)
(SubroutineCall e [])
(WhileLoop x [(= a 5)])
(WhileLoop x [])
(WhileLoop x [(= a 5)])
(WhileLoop x [(= do 5)])
(WhileLoop x [(= end 5)])
(WhileLoop x [(= enddo 5)])
(WhileLoop (> x 5) [(= a 5)])
(WhileLoop (> x 5) [(= a 5)])
(WhileLoop (== x y) [(= i (+ i 1)) (Cycle) (Exit)])
(Select k [(CaseStmt 1 [(SubroutineCall a [])]) (CaseStmt i [(SubroutineCall b []) (SubroutineCall c [])])] [])
(Select k [(CaseStmt 1 [(SubroutineCall a [])]) (CaseStmt i [(SubroutineCall b []) (= a 5)])] [(SubroutineCall c [])])
(Where (< a 5) [(= B 1)] [])
(Where (< a 5) [(= B 1)] [])
(Where (< a 5) [(= B 1)] [(= B 0)])
(Where (< a 5) [(= B 1)] [(= B 0)])
(Where (< a 5) [(= B 1)] [(Where (< a 7) [(= B 0)] [(= B 3)])])
(Where (< a 5) [(= B 1)] [(Where (< a 7) [(= B 0)] [])])
(DoLoop i 1 5 () [(= a (+ a i))])
(DoLoop i 1 5 () [])
(DoLoop i 1 5 2 [(= a (+ a i))])
(DoLoop () () () () [(= a (+ a i)) (= b 3)])
(Subroutine g [] [] [] [(DoLoop () () () () [(= a (+ a i)) (= b 3)])] [])
(DoLoop () () () () [(= a (+ a i)) (= b 3)])
(DoLoop () () () () [(= do (+ a i)) (= enddo 3)])
(DoLoop () () () () [(= a (+ a i)) (= b 3)])
do
(Subroutine a [] [] [] [(DoLoop () () () () [(= x 1)])] [])
(Subroutine a [] [] [] [(DoLoop i 1 5 () [(= x (+ x i))])] [])
(Subroutine a [] [] [] [(DoLoop i 1 5 (u- 1) [(= x i)])] [])
(Subroutine g [] [] [] [(= x y) (Return) (= x (* 2 y))] [])
(DoLoop i 1 5 () [(Return)])
(WhileLoop x [(Return)])
(DoLoop i 1 5 () [(= return 5)])
return
(+ return 1)
(= return 1)
(= a return)
(DoLoop i 1 5 () [(Cycle)])
(WhileLoop x [(Cycle)])
(DoLoop i 1 5 () [(= cycle 5)])
cycle
(+ cycle 1)
(= cycle 1)
(= a cycle)
(DoLoop i 1 5 () [(Exit)])
(DoLoop () () () () [(Exit)])
(WhileLoop x [(Exit)])
(DoLoop i 1 5 () [(= exit 5)])
exit
(+ exit 1)
(= exit 1)
(= a exit)
(Subroutine g [] [] [] [(If x [(= a 5) (= b 4)] [])] [])
(Subroutine g [] [] [] [(If x [(= a 5)] [])] [])
(Subroutine g [] [] [] [(If x [(= a 5)] [])] [])
(Subroutine g [] [] [] [(If x [(= endif 5)] [])] [])
(Subroutine g [] [] [] [(If else [(= a 5) (= b 4)] [])] [])
(Subroutine g [] [] [] [(If else [(= then 5) (= else 4)] [])] [])
(Subroutine g [] [] [] [(If x [(= a 5)] [(= b 4)])] [])
(Subroutine g [] [] [] [(If x [] [(= b 4)])] [])
(Subroutine g [] [] [] [(If x [(= a 5)] [])] [])
(Subroutine g [] [] [] [(If x [] [])] [])
(Subroutine g [] [] [] [(If x [] [])] [])
(Subroutine g [] [] [] [(If x [(= a 5) (= c 7)] [(= b 4) (= e 5)])] [])
(Subroutine g [] [] [] [(If else [(= else 5)] [(= else 4)])] [])
(Subroutine g [] [] [] [(If x [(= a 5)] [(If y [(= b 4)] [])])] [])
(Subroutine g [] [] [] [(If x [(= a 5)] [(If y [(= b 4)] [(If z [(= c 3)] [])])])] [])
(Subroutine g [] [] [] [(If else [(= else 5)] [(If else [] [(If else [] [(If else [(= else 3)] [])])])])] [])
(Subroutine g [] [] [] [(If x [(= a 5)] [(If y [(= b 4)] [(= c 3)])])] [])
(Subroutine g [] [] [] [(If x [(= a 5) (If y [(= b 4)] [(= c 3)])] [])] [])
(Subroutine g [] [] [] [(If x [(= a 5) (If y [(= b 4)] [])] [(= c 3)])] [])
(If x [(= a 5) (If y [(= b 4)] [])] [(= c 3)])
(Subroutine a [] [] [] [(If a [(= x 1)] [(= x 2)])] [])
(Subroutine a [] [] [] [(If a [(= x 1)] [(If b [(= x 2)] [])])] [])
(Subroutine a [] [] [] [(If a [(= x 1)] [(If b [(= x 2)] [(If c [(= x 2)] [])])])] [])
(Subroutine a [] [] [] [(If a [(= x 1)] [])] [])
(Subroutine a [] [] [] [(If a [(= x 1) (= y 2)] [])] [])
(Subroutine a [] [] [] [(If a [(= x 1)] [])] [])
(If a [(= x 1)] [])
(Program g [] [] [(= x y) (= x (* 2 y))] [])
(Program g [] [] [] [])
(Program g [] [] [(= x y) (= x (* 2 y))] [])
(Program g [] [] [(= x y) (= x (* 2 y))] [])
(Program f [] [] [(= subroutine y) (= x (* 2 subroutine))] [])
(Program g [] [] [(= x y)] [])
(Program TESTFortran90 [] [(Declaration [(stop "integer" [] [] ())])] [(= stop 1) (WhileLoop (== stop 0) [])] [])
(Function g [] () () () [] [] [(= x y) (= x (* 2 y))] [])
(Function g [] () () () [] [] [] [])
(Function g [] () () () [] [] [(= x y) (= x (* 2 y))] [])
(Function g [] () () () [] [] [(= x y) (= x (* 2 y))] [])
(Function f [] () () () [] [] [(= subroutine y) (= x (* 2 subroutine))] [])
(Function f [] () () () [] [(Declaration [(f "integer" [] [] ())])] [(= f 5)] [])
(Function f [] () () () [] [] [(= f 1)] [])
(Function f [(e)] () () () [] [] [(= f 1)] [])
(Function f [(e) (b)] () () () [] [] [(= f 1)] [])
(Function f [(e) (b)] () () () [] [] [(= f 1)] [])
(Function f [(e)] () () () [] [] [(= r 1)] [])
(Function f [(e)] () () () [] [] [(= r 1)] [])
(Function f [(e)] () () () [] [] [(= f 1)] [])
(Function f [(e)] () () () [] [] [(= f 1)] [])
(Subroutine g [] [] [] [(= x y) (= x (* 2 y))] [])
(Subroutine g [] [] [] [] [])
(Subroutine g [] [] [] [(= x y) (= x (* 2 y))] [])
(Subroutine g [] [] [] [(= x y) (= x (* 2 y))] [])
(Subroutine g [] [] [] [(= x y) (= x (* 2 y))] [])
(Subroutine g [] [] [] [(= x y) (= x (* 2 y))] [])
(Subroutine g [] [] [] [(= x y) (= x (* 2 y))] [])
(Subroutine g [] [] [] [(= x y) (= x (* 2 y))] [])
(Subroutine f [] [] [] [(= subroutine y) (= x (* 2 subroutine))] [])
(Subroutine f [] [] [(Declaration [(x "integer" [] [] ())])] [] [])
(Subroutine f [] [] [(Declaration [(x "integer" [] [] ())])] [] [])
(Subroutine f [(a) (b) (c) (d)] [] [(Declaration [(a "integer" [] [(Attribute intent [(in)])] ()) (b "integer" [] [(Attribute intent [(in)])] ())]) (Declaration [(c "integer" [] [(Attribute intent [(in)])] ()) (d "integer" [] [(Attribute intent [(in)])] ())]) (Declaration [(z "integer" [] [] ())]) (Declaration [(y "integer" [] [] ())])] [] [])
(Subroutine f [(a) (b) (c) (d)] [] [(Declaration [(a "integer" [] [(Attribute intent [(out)])] ()) (b "integer" [] [(Attribute intent [(out)])] ())]) (Declaration [(c "integer" [] [(Attribute intent [(inout)])] ()) (d "integer" [] [(Attribute intent [(inout)])] ())]) (Declaration [(z "integer" [] [] ())]) (Declaration [(y "integer" [] [] ())])] [] [])
(Subroutine saxpy [(n) (a) (x) (y)] [] [(Declaration [(x "real" [(() ())] [(Attribute intent [(in)])] ()) (a "real" [] [(Attribute intent [(in)])] ())]) (Declaration [(y "real" [(() ())] [(Attribute intent [(inout)])] ())]) (Declaration [(n "integer" [] [(Attribute intent [(in)])] ())]) (Declaration [(i "integer" [] [] ())])] [(DoLoop i 1 n () [(= (FuncCallOrArray y [i] []) (+ (* a (FuncCallOrArray x [i] [])) (FuncCallOrArray y [i] [])))])] [])
(Use b [])
(Use a [(UseSymbol b ()) (UseSymbol c ())])
(Use a [(UseSymbol b x) (UseSymbol c ()) (UseSymbol a d)])
(Program test [] [(Declaration [(x "integer" [] [] ())])] [(= x 1) (SubroutineCall a [])] [])
(Program test [] [(Declaration [(x "integer" [] [] ())])] [(= x 1) (SubroutineCall a [])] [])
(Program test [] [(Declaration [(x "integer" [] [] ())])] [(= x 1) (SubroutineCall a [])] [])
(Program test [] [(Declaration [(x "integer" [] [] ())])] [(= x 1) (SubroutineCall a [])] [])
(Module test [] [] [])
(Module test [] [] [])
(Module test [] [] [])
(Module test [] [] [])
(Module test [] [] [])
(Module test [] [] [])
(Module test [] [] [])
(Module test [] [] [])
(Module test [] [] [])
(Module test [] [] [])
(Module test [] [] [])
(Module test [] [] [])
(Module test [] [] [])
(Module test [] [] [])
(Module test [] [] [])
(Declaration [(x "Integer" [] [] ())])
(Declaration [(x "INTEGER" [] [] ())])
(Declaration [(x "iNteger" [] [] ())])
(Declaration [(c "integeR" [] [(Attribute dImenSion [])] ())])
(Declaration [(e "integer" [] [(Attribute DIMENSION []) (Attribute intenT [(In)])] ())])
(Declaration [(i "integer" [] [] ())])
(Declaration [(a "Real" [] [] ())])
(Declaration [(a "REAL" [] [] ())])
(Declaration [(a "real" [(() ()) (() ())] [(Attribute aLLocatable [])] ())])
(Declaration [(c "cHAracter" [] [] ())])
(Declaration [(x "tYPe" [] [(Attribute inTEnt [(inOUt)])] ()) (y "tYPe" [] [(Attribute inTEnt [(inOUt)])] ())])
(= a 5)
(= a 5)
(= a 5)
(= a 5)
(Use a [(UseSymbol i ())])
(Use a [(UseSymbol i ())])
(= x (ArrayInitializer [1 2 3]))
