(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:LANGUAGE)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [12]
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LC_ALL)
                  op: assign_op.Equal
                  rhs: {(C)}
                  spids: [14]
                )
              ]
            )
          terminator: (Token id:Id.Op_Semi val:';' span_id:16)
        )
        (C {(export)} {(LC_ALL)})
      ]
    )
    (command.Pipeline
      children: [
        (command.Subshell
          command_list: 
            (command.CommandList
              children: [
                (command.Sentence
                  child: (C {(date)})
                  terminator: (Token id:Id.Op_Semi val:';' span_id:26)
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              words: [{(ls)} {(-L)} {(/dev/null)}]
                              redirects: [
                                (redir.Redir
                                  op: (Token id:Id.Redir_Great val:'1>' span_id:36)
                                  fd: 1
                                  arg_word: {(/dev/null)}
                                )
                                (redir.Redir
                                  op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:39)
                                  fd: 2
                                  arg_word: {(1)}
                                )
                              ]
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:41)
                        )
                      ]
                      action: [
                        (command.Sentence
                          child: (C {(ls)} {(-L)} {(-l)} {($ Id.VSub_Number '$1')})
                          terminator: (Token id:Id.Op_Semi val:';' span_id:52)
                        )
                      ]
                      spids: [28 43]
                    )
                  ]
                  else_action: [
                    (command.Sentence
                      child: (C {(ls)} {(-l)} {($ Id.VSub_Number '$1')})
                      terminator: (Token id:Id.Op_Semi val:';' span_id:61)
                    )
                  ]
                )
              ]
            )
        )
        (C {(awk)} 
          {
            (SQ (Token id:Id.Lit_Chars val:'\n' span_id:72) 
              (Token id:Id.Lit_Chars val:'BEGIN {\n' span_id:73) (Token id:Id.Lit_Chars val:'\tfull["Jan"] = "January"; number["Jan"] = 1;\n' span_id:74) 
              (Token
                id: Id.Lit_Chars
                val: '\tfull["Feb"] = "February"; number["Feb"] = 2;\n'
                span_id: 75
              ) (Token id:Id.Lit_Chars val:'\tfull["Mar"] = "March"; number["Mar"] = 3;\n' span_id:76) 
              (Token
                id: Id.Lit_Chars
                val: '\tfull["Apr"] = "April"; number["Apr"] = 4;\n'
                span_id: 77
              ) (Token id:Id.Lit_Chars val:'\tfull["May"] = "May"; number["May"] = 5;\n' span_id:78) 
              (Token
                id: Id.Lit_Chars
                val: '\tfull["Jun"] = "June"; number["Jun"] = 6;\n'
                span_id: 79
              ) (Token id:Id.Lit_Chars val:'\tfull["Jul"] = "July"; number["Jul"] = 7;\n' span_id:80) 
              (Token
                id: Id.Lit_Chars
                val: '\tfull["Aug"] = "August"; number["Aug"] = 8;\n'
                span_id: 81
              ) (Token id:Id.Lit_Chars val:'\tfull["Sep"] = "September"; number["Sep"] = 9;\n' span_id:82) 
              (Token
                id: Id.Lit_Chars
                val: '\tfull["Oct"] = "October"; number["Oct"] = 10;\n'
                span_id: 83
              ) (Token id:Id.Lit_Chars val:'\tfull["Nov"] = "November"; number["Nov"] = 11;\n' span_id:84) 
              (Token
                id: Id.Lit_Chars
                val: '\tfull["Dec"] = "December"; number["Dec"] = 12;\n'
                span_id: 85
              ) (Token id:Id.Lit_Chars val:'}\n' span_id:86) (Token id:Id.Lit_Chars val:'\n' span_id:87) 
              (Token id:Id.Lit_Chars val:'NR == 1 {\n' span_id:88) (Token id:Id.Lit_Chars val:'\tmonth = $2;\n' span_id:89) 
              (Token id:Id.Lit_Chars val:'\tyear = $NF;\n' span_id:90) (Token id:Id.Lit_Chars val:'}\n' span_id:91) (Token id:Id.Lit_Chars val:'\n' span_id:92) 
              (Token id:Id.Lit_Chars val:'NR == 2 {\n' span_id:93) (Token id:Id.Lit_Chars val:'\tif ($(NF-1) ~ /:/) {\n' span_id:94) 
              (Token
                id: Id.Lit_Chars
                val: '\t\tif (number[$(NF-3)] > number[month])\n'
                span_id: 95
              ) (Token id:Id.Lit_Chars val:'\t\t\tyear--;\n' span_id:96) 
              (Token id:Id.Lit_Chars val:'\t}\n' span_id:97) (Token id:Id.Lit_Chars val:'\telse\n' span_id:98) 
              (Token id:Id.Lit_Chars val:'\t\tyear = $(NF-1);\n' span_id:99) (Token id:Id.Lit_Chars val:'\tprint $(NF-2), full[$(NF-3)], year\n' span_id:100) 
              (Token id:Id.Lit_Chars val:'}' span_id:101)
            )
          }
        )
      ]
      negated: F
    )
  ]
)