================================================================================ While Loop ================================================================================ while true { output ("This is a bad idea...") } -------------------------------------------------------------------------------- (root (statement (while (expression (value (boolean))) (block (statement (expression (function_call (function_expression (identifier)) (expression (value (string)))))))))) ================================================================================ Nested While Loop ================================================================================ while true { while x > 0 { x -= 1 } } -------------------------------------------------------------------------------- (root (statement (while (expression (value (boolean))) (block (statement (while (expression (logic (expression (identifier)) (logic_operator) (expression (value (integer))))) (block (statement (assignment (identifier) (assignment_operator) (statement (expression (value (integer)))))))))))))