[
 (stmt_list) {
  (do_while_statement) {
   do
   (expression_statement) {
    (expr_function_call) {
     perform_random_actions
     (
     (expr_take_adress) {
      &
      a
     }
     )
    }
    ;
   }
   while
   (
   (expr_logical_not) {
    !
    (expr_function_call) {
     acceptable
     (
     a
     )
    }
   }
   )
   ;
  }
 }
]