# File kwartz.rb, line 3485 def parse_stmt_foreach Kwartz::assert() unless token() == :foreach scan() _syntaxerr("':foreach' requires '('.") unless token() == '(' scan() assign_expr = parse_assignment(true) _syntaxerr("':foreach(' is not closed.") unless token() == ')' scan() _syntaxerr("':foreach' requires assignment.") unless assign_expr.token == '=' nodelist = parse_stmt_list() _syntaxerr("':foreach' is not closed by ':end'.") unless token() == :end scan() return ForeachStmtNode.new(:foreach, assign_expr, nodelist) end