summaryrefslogtreecommitdiffstats
path: root/parse.h
diff options
context:
space:
mode:
authorfche <fche>2005-06-05 16:35:28 +0000
committerfche <fche>2005-06-05 16:35:28 +0000
commitf3c26ea55e2f2c1d222312bf75035359c439ed21 (patch)
tree1a58dfcdebe04941002e7e0203f765b619ca9c67 /parse.h
parent8846477c222cdae649b02117cc96999b0be6ad40 (diff)
downloadsystemtap-steved-f3c26ea55e2f2c1d222312bf75035359c439ed21.tar.gz
systemtap-steved-f3c26ea55e2f2c1d222312bf75035359c439ed21.tar.xz
systemtap-steved-f3c26ea55e2f2c1d222312bf75035359c439ed21.zip
2005-06-05 Frank Ch. Eigler <fche@elastic.org>
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.
Diffstat (limited to 'parse.h')
-rw-r--r--parse.h4
1 files changed, 4 insertions, 0 deletions
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 ();