From f3c26ea55e2f2c1d222312bf75035359c439ed21 Mon Sep 17 00:00:00 2001 From: fche Date: Sun, 5 Jun 2005 16:35:28 +0000 Subject: 2005-06-05 Frank Ch. Eigler Implement for/next/continue/break/while statements. * staptree.h: Declare new 0-arity statement types. Tweak for_loop. * parse.cxx: Parse them all. * translate.cxx (c_unparser): Maintain break/continue label stack. (visit_for_loop, *_statement): New implementations. * elaborate.*, staptree.cxx: Mechanical changes. * testsuite/parseok/ten.stp, semko/twelve.stp, transko/two.stp, transok/five.stp: New tests. --- parse.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'parse.h') diff --git a/parse.h b/parse.h index 28690e95..29ae41c8 100644 --- a/parse.h +++ b/parse.h @@ -102,10 +102,14 @@ private: // nonterminals statement* parse_statement (); if_statement* parse_if_statement (); for_loop* parse_for_loop (); + for_loop* parse_while_loop (); foreach_loop* parse_foreach_loop (); expr_statement* parse_expr_statement (); return_statement* parse_return_statement (); delete_statement* parse_delete_statement (); + next_statement* parse_next_statement (); + break_statement* parse_break_statement (); + continue_statement* parse_continue_statement (); expression* parse_expression (); expression* parse_assignment (); expression* parse_ternary (); -- cgit