summaryrefslogtreecommitdiffstats
path: root/parse.h
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2010-02-23 20:31:00 -0500
committerFrank Ch. Eigler <fche@elastic.org>2010-02-23 20:31:00 -0500
commit30263a7389d5c2712536b74656193708bbc64d49 (patch)
treeb10b72dd3db455abf95a8ab21c540069c0143860 /parse.h
parentd6c273473f7bea4d696c95ca48d55ca26e25ab2f (diff)
downloadsystemtap-steved-30263a7389d5c2712536b74656193708bbc64d49.tar.gz
systemtap-steved-30263a7389d5c2712536b74656193708bbc64d49.tar.xz
systemtap-steved-30263a7389d5c2712536b74656193708bbc64d49.zip
PR11005: @defined($tvar) predicate, part 1
* staptree.h (defined_op): New class. * all files: Extend all visitors as appropriate, mostly dummy/pass-through implementation. * parse.cxx (parse_target_symbol): New function, factored out of parse_symbol(). (parse_define_op): New function. * NEWS: Mention it. * parse.h: Corresponding changes. * tapsets.cxx (var_expanding_visitor::visit_defined_op): Implement @defined() semantics. (dwarf_var_expanding_visitor::visit_target_symbol): Adjust. * tapset-utrace.c (visit_target_symbol_arg): Avoid crashes on $argZZZ. * tapsets.cxx (sdt_var_expanding_visitor): Ditto. * semok/thirtysix.stp: New test.
Diffstat (limited to 'parse.h')
-rw-r--r--parse.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/parse.h b/parse.h
index 0ff8664c..8f34442a 100644
--- a/parse.h
+++ b/parse.h
@@ -1,5 +1,5 @@
// -*- C++ -*-
-// Copyright (C) 2005-2007 Red Hat Inc.
+// Copyright (C) 2005-2010 Red Hat Inc.
// Copyright (C) 2007 Bull S.A.S
//
// This file is part of systemtap, and is free software. You can
@@ -188,6 +188,8 @@ private: // nonterminals
continue_statement* parse_continue_statement ();
indexable* parse_indexable ();
const token *parse_hist_op_or_bare_name (hist_op *&hop, std::string &name);
+ target_symbol *parse_target_symbol (const token* t);
+ expression* parse_defined_op (const token* t);
expression* parse_expression ();
expression* parse_assignment ();
expression* parse_ternary ();