From 69c68955b910a9f284fa25b9ebb30eff5c040e0b Mon Sep 17 00:00:00 2001 From: fche Date: Thu, 2 Jun 2005 19:43:55 +0000 Subject: 2005-06-02 Frank Ch. Eigler Parse foreach construct. Added fuller copyright notices throughout. * staptree.h (foreach_loop): New tree node type. * staptree.cxx: Print it, visit it, love it, leave it. * parse.cxx: Parse it. (parse_stmt_block): Don't require ";" separators between statements. (parse_array_in): Use [] as index group operator instead of (). * elaborate.cxx (visit_foreach_loop): New code. * translate.cxx: Slightly tighten errorcount/actioncount handling. * main.cxx: Accept "-" as script file name standing for stdin. (visit_arrayindex): Switch to simpler set_arity call. * configure.ac: Generate DATE macro. * Makefile.in, configure, config.in: Regenerated. * testsuite/*: New/updated tests for syntax changes, foreach (). --- parse.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'parse.h') diff --git a/parse.h b/parse.h index 3ccb58fe..28690e95 100644 --- a/parse.h +++ b/parse.h @@ -1,6 +1,11 @@ // -*- C++ -*- -// Copyright 2005 Red Hat Inc. -// GPL +// Copyright (C) 2005 Red Hat Inc. +// +// This file is part of systemtap, and is free software. You can +// redistribute it and/or modify it under the terms of the GNU General +// Public License (GPL); either version 2, or (at your option) any +// later version. + #ifndef PARSE_H #define PARSE_H @@ -96,6 +101,9 @@ private: // nonterminals block* parse_stmt_block (); statement* parse_statement (); if_statement* parse_if_statement (); + for_loop* parse_for_loop (); + foreach_loop* parse_foreach_loop (); + expr_statement* parse_expr_statement (); return_statement* parse_return_statement (); delete_statement* parse_delete_statement (); expression* parse_expression (); -- cgit