================================== Empty foreach loop [foreach] ================================== foreach(var) endforeach() --- (source_file (foreach_loop (foreach_command (foreach) (argument (unquoted_argument)) ) (endforeach_command (endforeach)) ) ) =============================================================== Empty foreach loop with one argument endforeach [foreach] =============================================================== foreach(var) endforeach(var) --- (source_file (foreach_loop (foreach_command (foreach) (argument (unquoted_argument)) ) (endforeach_command (endforeach) (argument (unquoted_argument)) ) )) ================================= Uppercase foreach [foreach] ================================= FOREACH(var) ENDFOREACH() --- (source_file (foreach_loop (foreach_command (foreach) (argument (unquoted_argument)) ) (endforeach_command (endforeach)) ) ) ================================== Mixed case foreach [foreach] ================================== forEach(var) endForEach() --- (source_file (foreach_loop (foreach_command (foreach) (argument (unquoted_argument)) ) (endforeach_command (endforeach)) ) ) ================================== Empty IN [foreach] ================================== foreach(var IN) endforeach() --- (source_file (foreach_loop (foreach_command (foreach) (argument (unquoted_argument)) (argument (unquoted_argument)) ) (endforeach_command (endforeach)) ) ) ================================== Empty RANGE [foreach] ================================== foreach(var RANGE) endforeach() --- (source_file (foreach_loop (foreach_command (foreach) (argument (unquoted_argument)) (argument (unquoted_argument)) ) (endforeach_command (endforeach)) ) )