(CommandList
  children: [
    (C {(echo)} {(DQ ("! Generated automatically.  DO NOT EDIT!"))})
    (C {(echo)})
    (Pipeline
      children: [
        (SimpleCommand
          words: [
            {(perl)}
            {(-pe)}
            {
              (SQ 
                <
"s/([A-Z0-9_]+)=([+-]?[0-9]+)/\\n  integer\\(C_INT\\), parameter :: \\1 = \\2\\n/g"
                >
              )
            }
          ]
          redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(fftw3.h)} spids:[54])]
        )
        (C {(grep)} {(SQ <"integer(C_INT)">)})
      ]
      negated: False
    )
    (Pipeline
      children: [
        (SimpleCommand
          words: [
            {(perl)}
            {(-pe)}
            {
              (SQ 
                <
"s/#define +([A-Z0-9_]+) +\\(([+-]?[0-9]+)U?\\)/\\n  integer\\(C_INT\\), parameter :: \\1 = \\2\\n/g"
                >
              )
            }
          ]
          redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(fftw3.h)} spids:[74])]
        )
        (C {(grep)} {(SQ <"integer(C_INT)">)})
      ]
      negated: False
    )
    (Pipeline
      children: [
        (SimpleCommand
          words: [
            {(perl)}
            {(-pe)}
            {
              (SQ 
                <
"if (/#define +([A-Z0-9_]+) +\\(([0-9]+)U? *<< *([0-9]+)\\)/) { print \"\\n  integer\\(C_INT\\), parameter :: $1 = \",$2 << $3,\"\\n\"; }"
                >
              )
            }
          ]
          redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(fftw3.h)} spids:[94])]
        )
        (C {(grep)} {(SQ <"integer(C_INT)">)})
      ]
      negated: False
    )
    (ForEach
      iter_name: p
      iter_words: [{(DQ )} {(DQ (f))} {(DQ (l))}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(echo)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("  type, bind(C) :: fftw") (${ VSub_Name p) ("_iodim\n") 
                        ("     integer(C_INT) n, is, os\n") ("  end type fftw") (${ VSub_Name p) ("_iodim\n") ("  type, bind(C) :: fftw") (${ VSub_Name p) 
                        ("_iodim64\n") ("     integer(C_INTPTR_T) n, is, os\n") ("  end type fftw") (${ VSub_Name p) ("_iodim64\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [136]
                )
              ]
            )
            (C {(echo)})
            (C {(echo)} {(DQ ("  interface"))})
            (Pipeline
              children: [
                (C {(gcc)} {(-E)} {(fftw3.h)})
                (C {(grep)} {(DQ (fftw) (${ VSub_Name p) (_plan_dft))})
                (C {(tr)} {(SQ <";">)} {(SQ <"\\n">)})
                (C {(grep)} {(-v)} {(DQ (fftw) (${ VSub_Name p) ("_execute("))})
                (C {(perl)} {(genf03.pl)})
              ]
              negated: False
            )
            (C {(echo)} {(DQ ("  end interface"))})
          ]
          spids: [128 229]
        )
      spids: [115 126]
    )
  ]
)