### ----------------------------------------------------
### -- Rakudo::Perl6::Tracer
### -- Licenses: 
### -- Authors: 
### -- File: README.md
### ----------------------------------------------------
# Rakudo::Perl6::Tracer

Trace Perl6 code.

Known limitations: if there is a `BEGIN`, there will not be any formatting.
Also, if classes are imported from nqp.


## Usage

    use Rakudo::Perl6::Tracer;

    my $f = Rakudo::Perl6::Tracer.new(); # create a new object
    say $f.trace({},$content); #  trace the content

The returned program code will contain tracing statements beside the
original code.

If you run the traced code, you will see what lines were executed.

## Command line access

    $ perl6 trace.p6 -h

    $ perl6 trace.p6  <Dagrammar.p6 >traced.p6
    $ perl6 trace.p6 -sl  <Dagrammar.p6 >traced.p6

## Example

Example of traced code, note statements are inserted by `trace.p6`:

    sub dump_node($node)
    {
     note "line  19";say "matched";
     note "line  20";if ($node<regliteral>) {
     note "line  21";say "reg $node"~$node<regliteral>;
     note "line  22";}
    note "line  23";}

OR example trace log with -sl

    line  1 my @Depindex;
    line  2 my @Depthis;
    line  3 my @Depon;
    line  4 my @Depend;
    line  5 my @Bot;
    line  7 my $debug = False;
    line  215 my %h;
    line  216 my %g;
    line  217 %h<itemid> = 1;
    line  218 %g<itemid> = 2;
    line  219 %h<name>   = '1';
    line  220 %g<name>   = '2';
    line  222 my %j  = ( "itemid", 3, "name", 3 );
    line  223 my %j4 = ( "itemid", 4, "name", 4 );


