diff options
author | fche <fche> | 2005-07-26 22:40:14 +0000 |
---|---|---|
committer | fche <fche> | 2005-07-26 22:40:14 +0000 |
commit | 54dfabe9e604ec06cdb5550f58420c60d0cbdbd9 (patch) | |
tree | 2dc021fd5534f57a51235a9598cec6cec9ed2342 /parse.h | |
parent | f05bc729c752cee5eb11fde9193eea12a21b0d12 (diff) | |
download | systemtap-steved-54dfabe9e604ec06cdb5550f58420c60d0cbdbd9.tar.gz systemtap-steved-54dfabe9e604ec06cdb5550f58420c60d0cbdbd9.tar.xz systemtap-steved-54dfabe9e604ec06cdb5550f58420c60d0cbdbd9.zip |
2005-07-26 Frank Ch. Eigler <fche@redhat.com>
Support %{ embedded-c %}
* staptree.h (embeddedcode): New statement subtype. Stub support in
visitors.
* staptree.cxx: Ditto.
* parse.cxx: Parse %{ / %}. Accept "_" as identifier leading char.
(parse_probe): Simplify calling convention.
* elaborate.h: Store embedded code.
* elaborate.cxx: Pass it.
* translate.cxx: Transcribe it. Return some dropped module init/exit
code.
* Makefile.am: Add buildok/buildko tests.
* Makefile.in: Regenerated.
* main.cxx: Return EXIT_SUCCESS/FAILURE even for weird rc.
* testsuite/parseok/nine.stp: Test _identifiers.
* testsuite/transko/*.stp: Tweak to force -p3 rather than -p2 errors.
* testsuite/semok/transko.stp: ... and keep it that way in the future.
* testsuite/parse*/*: Some new tests for %{ %}.
* testsuite/build*/*: New tests for -p4.
Diffstat (limited to 'parse.h')
-rw-r--r-- | parse.h | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -27,7 +27,8 @@ struct source_loc enum token_type { - tok_junk, tok_identifier, tok_operator, tok_string, tok_number + tok_junk, tok_identifier, tok_operator, tok_string, tok_number, + tok_embedded // XXX: add tok_keyword throughout }; @@ -95,10 +96,11 @@ private: unsigned num_errors; private: // nonterminals - void parse_probe (probe *&, probe_alias *&); + void parse_probe (std::vector<probe*>&, std::vector<probe_alias*>&); + void parse_global (std::vector<vardecl*>&); + embeddedcode* parse_embeddedcode (); probe_point* parse_probe_point (); literal* parse_literal (); - void parse_global (std::vector<vardecl*>&); functiondecl* parse_functiondecl (); block* parse_stmt_block (); statement* parse_statement (); |