summaryrefslogtreecommitdiffstats
path: root/translate.cxx
Commit message (Collapse)AuthorAgeFilesLines
* 2005-06-13 Frank Ch. Eigler <fche@redhat.com>fche2005-06-131-107/+0
| | | | | | | | | | Start separating out translator-side probe point recognition. * tapsets.cxx: New file. (be_derived_probe): Support for begin/end probes. (derive_probe): Ditto. Reject anything unrecognized. * translator.cxx: Move out old code. * Makefile.am: Add new source file. * testsuite/semok/*: Switch to begin/end probes only.
* 2005-06-08 Frank Ch. Eigler <fche@redhat.com>fche2005-06-081-172/+307
| | | | | | | | | | | | | | | systemtap/916 Implement all basic scalar operators, including modify-assignment. * parse.cxx (lexer): Allow multi-character lookahead in order to scan 1/2/3-character operators. (parse_boolean_or/and/xor/shift): New routines. * translate.cxx (visit_assignment, visit_binary_expression, visit_*_crement): Generally rewrote. (visit_*): Added more parentheses in output. (emit_module_init): Initialize globals. * staptree.h, elaborate.cxx, elaborate.h: Remove exponentiation. * main.cxx (main): Add an end-of-line to output file. * testsuite/*: Several new tests.
* next/return symmetry improvementfche2005-06-051-2/+2
|
* 2005-06-05 Frank Ch. Eigler <fche@elastic.org>fche2005-06-051-7/+72
| | | | | | | | | | | 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.
* 2005-06-03 Frank Ch. Eigler <fche@redhat.com>fche2005-06-031-6/+80
| | | | | | | | | | | | | * TODO: Removed entries already represented in bugzilla. * elaborate.cxx: Rewrite type inference for several operators. * main.cxx (main): For -p2 runs, print types of function/probe locals. * parse.cxx (scan): Identify more two-character operators. (parse_comparison): Support the whole suite. * translate.cxx (visit_unary_expression, logical_or_expr, logical_and_expr, comparison,ternary_expression): New support. * testsuite/parseok/semok.stp: Clever new test. * testsuite/transok/four.stp: New test. * testsuite/*: Some tweaked tests for syntax changes.
* nonefche2005-06-021-1/+1
|
* 2005-06-02 Frank Ch. Eigler <fche@redhat.com>fche2005-06-021-40/+58
| | | | | | * translate.cxx (visit_concatenation, visit_binary_expression): New basic implementation. (*): Reduce emitted whitespace and remove `# LINE "FILE"' lines.
* 2005-06-02 Frank Ch. Eigler <fche@redhat.com>fche2005-06-021-25/+31
| | | | | | | | | | | | | | | | 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 ().
* 2005-05-30 Frank Ch. Eigler <fche@redhat.com>fche2005-05-301-94/+142
| | | | | | | | | | | | | | | | | More fully parse & elaborate "expr in array" construct. * staptree.h (array_in): Make this unary. Update .cxx to match. * parse.cxx (parse_array_in): Rewrite. (parse_symbol_plain): Removed. Update .h to match. * elaborate.cxx (typeresolution_info::visit_array_in): New function. (find_array): Tentatively, accept arity=0. * translate.cxx (c_unparser::c_assign): New functions to eliminate much ugly duplication. Use throughout. (visit_symbol): Correct function formal argument search. (c_tmpcounter*::visit): Add missing recursion in several functions. * testsuite/*: Add new tests for array-in construct. Add the first "transok" test. * Makefile.am: Add transok tests. * Makefile.in: Regenerated.
* 2005-05-26 Frank Ch. Eigler <fche@redhat.com>fche2005-05-261-195/+256
| | | | | | | | * translate.cxx: Traverse trees just for common-header generation, to emit explicit temp variables into context. Switch to explicit "frame" pointer in generated function/probe bodies. Initialize locals in function bodies. Rename "test_unparser" to "c_unparser" throughout.
* * at long last, a more full-bodied snapshotfche2005-05-211-0/+1154
2005-05-20 Frank Ch. Eigler <fche@redhat.com> Many changes throughout. Partial sketch of translation output. * elaborate.*: Elaboration pass. * translate.*: Translation pass. * staptree.*: Simplified for visitor concept. * main.cxx: Translator mainline. * *test.cxx: Removed. * testsuite/*: Some new tests, some changed for newer syntax.