Thanks also, Ron. I have a lot to learn about good Perl style. My examples
are just the starting point in an investigation.

After some head scratching, I installed Marpa::R2 2.082000 [instead of
2.080000 - current Activestate level] and things started working very much
better indeed. It was an Activestate on Windows learning experience - had
to install mingw64 and then run cpan. Not a big deal.

Now things are moving along nicely.

This mini language translates to SQL of sorts. That SQL is used to gather
performance data - mostly from Linux/Unix/Windows/zOS agents. There is
filtering involved and sometimes filtering happens on the agents and
sometimes the data gets transmitted to a server for filtering. BIG
performance differences. There has been a question forever about how to
determine agent filtering or server filtering - so people can fix/avoid
performance problems. This will be folded into a public example tool which
any customer can use... and I can use on problem reports.

Also, I have collected dozens of categories of cases that cause performance
problems or just plain do not work. A later extension will expose those in
sort of a "critic" report.

Thanks again!!

John Alvord


On Tue, Mar 18, 2014 at 5:48 PM, Ron Savage <[email protected]> wrote:

> Actually, I made some other changes:
>
> use Data::Dumper::Concise; # For Dumper().
>
> And:
>
> sub My_Actions::do_attribute
> {
> my($hash, $t1, $t2, $t3) = @_;
>
> =pod
>
> print "do_attribute()\n";
> print '$t1: ', Dumper($t1);
> print '$t2: ', Dumper($t2);
> print '$t3: ', Dumper($t3);
>
> =cut
>
> return [$t1, $t2, $t3];
> }
>
> sub My_Actions::do_basic {
>     my ($hash, $t1, $t2, $t3, $t4 ) = @_;
>
> =pod
>
> print "do_basic()\n";
> print '$t1: ', Dumper($t1);
> print '$t2: ', Dumper($t2);
> print '$t3: ', Dumper($t3);
> print '$t4: ', Dumper($t4);
>
> =cut
>
> return [$t1, $t2, $t3, $t4];
> }
>
> The output is:
>
> Setting trace_terminals option
> Setting trace_values option
> Lexer "L0" accepted lexeme L1c1-3: '*IF'; value="*IF"
> Lexer "L0" discarded lexeme L1c4: ws
> Lexer "L0" accepted lexeme L1c5-10: '*VALUE'; value="*VALUE"
> Lexer "L0" discarded lexeme L1c11: ws
> Lexer "L0" accepted lexeme L1c12-33: id; value="i5OS_IOA_Cache_Battery"
> Lexer "L0" accepted lexeme L1c34: '.'; value="."
> Lexer "L0" accepted lexeme L1c35-39: id; value="State"
> Lexer "L0" discarded lexeme L1c40: ws
> Lexer "L0" accepted lexeme L1c41-43: '*EQ'; value="*EQ"
> Lexer "L0" discarded lexeme L1c44: ws
> Lexer "L0" forgave lexeme L1c45-49: id; value="Error"
> Lexer "L0" accepted lexeme L1c45-49: literal_word; value="Error"
> Popping 4 values to evaluate R2:4@1-7C11@6, rule: 2: basic_condition ->
> [Lex-1] attribute comparison compare_string
> Calculated and pushed value: [
>   '*VALUE',
>   [
>     [
>       'i5OS_IOA_Cache_Battery'
>     ],
>     '.',
>     [
>       'State'
>     ]
>   ],
>   [
>     '*EQ'
>   ],
>   [
>     [
>       'Error'
>     ]
>   ]
> ]
>
>  --
> You received this message because you are subscribed to the Google Groups
> "marpa parser" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"marpa parser" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to