diff options
author | dsmith <dsmith> | 2006-05-16 18:51:34 +0000 |
---|---|---|
committer | dsmith <dsmith> | 2006-05-16 18:51:34 +0000 |
commit | 6e213f58c493be12eeb4f1532da3891c7baafbd5 (patch) | |
tree | 80d7812358ae6efaf71f06a2a2495f4c68439b19 /testsuite/parseok | |
parent | 0f8b6058e5f31c7318e5d873ad732bc9946ff1b5 (diff) | |
download | systemtap-steved-6e213f58c493be12eeb4f1532da3891c7baafbd5.tar.gz systemtap-steved-6e213f58c493be12eeb4f1532da3891c7baafbd5.tar.xz systemtap-steved-6e213f58c493be12eeb4f1532da3891c7baafbd5.zip |
2006-05-16 David Smith <dsmith@redhat.com>
* parse.cxx (parser::parser): Added initializer for 'context'
member variable.
(tt2str): Added support for new tok_keyword type.
(operator <<): Ignores keyword content when outputting error
message.
(lexer::scan): Recognizes keywords, such as 'probe', 'global',
'function', etc. and classifies them as type 'tok_keyword'. This
causes keywords to become reserved so they cannot be used for
function names, variable names, etc.
(parser::parse): Changed tok_identifier to tok_keyword when looking
for "probe", "global", or "function". Also sets context member
variable which remembers if we're in probe, global, function, or
embedded context.
(parser::parse_probe, parser::parse_statement)
(parser::parse_global, parser::parse_functiondecl)
(parser::parse_if_statement, parser::parse_delete_statement)
(parser::parse_break_statement, parser::parse_continue_statement)
(parser::parse_for_loop, parser::parse_while_loop)
(parser::parse_foreach_loop, parser::parse_array_in): Looks for
tok_keyword instead of tok_identifier.
(parser::parse_probe_point): Allows keywords as part of a probe
name, since "return" and "function" are keywords.
(parser::parse_return_statement): Looks for tok_keyword instead of
tok_identifier. Make sure we're in function context.
(parser::parse_next_statement): Looks for tok_keyword instead of
tok_identifier. Make sure we're in probe context.
* parse.h: Added parse_context enum. Added 'tok_keyword' to
token_type enum. Added parse_context 'context' member variable to
parser class.
* stap.1.in: Because the string() function has been removed,
the 'string()' function reference has been changed to a 'sprint()'
function reference.
* stapex.5.in: Ditto.
* stapfuncs.5.in: The description of the string() and hexstring()
functions has been removed.
* testsuite/buildok/context_test.stp: Calls to the string()
function were converted to sprint() function calls.
* testsuite/buildok/fifteen.stp: Ditto.
* testsuite/buildok/nineteen.stp: Ditto.
* testsuite/buildok/process_test.stp: Ditto.
* testsuite/buildok/task_test.stp: Ditto.
* testsuite/buildok/timestamp.stp: Ditto.
* testsuite/buildok/twentyone.stp: Ditto.
* testsuite/semok/args.stp: Ditto.
* testsuite/semok/seven.stp: Ditto.
* testsuite/buildok/fourteen.stp: Calls to log()/string() were
converted to a call to printf().
* testsuite/buildok/sixteen.stp: Ditto.
* testsuite/buildok/thirteen.stp: Ditto.
* testsuite/buildok/twentythree.stp: Ditto.
* testsuite/buildok/twentytwo.stp: Ditto.
* testsuite/buildok/seven.stp: Calls to the string()
function were converted to sprint() calls. Calls to the
hexstring() function were converted to sprintf() calls.
* testsuite/semok/eleven.stp: Ditto.
* testsuite/buildok/seventeen.stp: Calls to log()/hexstring() were
converted to a call to printf().
* testsuite/semko/nineteen.stp: Ditto.
* testsuite/parseok/three.stp: Because keywords are reserved, a
variable named 'string' was renamed to 'str'.
* testsuite/parseok/two.stp: Because keywords are reserved, a
variable named 'global' was renamed to 'gbl'.
* testsuite/transko/two.stp: Because the parser now checks for
'next' and 'return' statement context, a 'next' statement was
removed from a function and a 'return' statement was removed from
a probe.
Diffstat (limited to 'testsuite/parseok')
-rwxr-xr-x | testsuite/parseok/three.stp | 2 | ||||
-rwxr-xr-x | testsuite/parseok/two.stp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/testsuite/parseok/three.stp b/testsuite/parseok/three.stp index a1992b5e..e1158fea 100755 --- a/testsuite/parseok/three.stp +++ b/testsuite/parseok/three.stp @@ -3,6 +3,6 @@ probe syscall ("foo") { $a = a$a = a$a$ = 0; - string = "a" . $a . "b"; + str = "a" . $a . "b"; } diff --git a/testsuite/parseok/two.stp b/testsuite/parseok/two.stp index d18dd3e3..884e285d 100755 --- a/testsuite/parseok/two.stp +++ b/testsuite/parseok/two.stp @@ -3,7 +3,7 @@ probe syscall (231) { array[idx] <<< value; - if (global > 5) { global -- } else ; + if (gbl > 5) { gbl -- } else ; } function foo () { |