Thanks Jeffrey - worked just fine. Later I found some of the values were array and some not.
Project back on track!! John Alvord On Sat, Mar 15, 2014 at 5:17 PM, Jeffrey Kegler < [email protected]> wrote: > I forked this and made a couple of > changes<https://gist.github.com/jeffreykegler/9575923/revisions>that should > get you going on the semantics. I could not figure out how to > send a pull request. Is that possible for gists? > > By default rules, rules return 'undef', which explains what you were > seeing. > > To get started on a script, it is best to change that default, as I did in > the gist, adding this line: > > :default ::= action => ::array > > > It should be the default, but is not for reasons of backward compatibility. > > Hope this helps, jeffrey > > > On 03/15/2014 04:46 PM, John Alvord wrote: > > I've been a lurker for a while and have recently been testing marpa on a > current project. > > I am working with a mini-language which gets translated into SQL > finally. Here is a minimal sample > > my $input="*IF *VALUE Log_Entries.Log_Name *EQ errlog "; > > I created a gist here https://gist.github.com/jalvo2014/9575539 with a > test program. It includes a BNF file and [after debugging the BNF ] I put > an action on one of the rules and a routine to get control. > > <basic_condition> ::= <basic_function> <attribute> <comparison> > <literal> action => do_basic > > ... > > > $recce = Marpa::R2::Scanless::R->new( > { grammar => $grammar, > semantics_package => 'My_Actions', > trace_terminals => 1, > trace_values => 1, > }); > > ... > > sub My_Actions::do_basic { > my ( undef, $t1, $t2, $t3, $t4 ) = @_; > if (defined $t1) { > $DB::single=2; > print "My_Actions::do_basic: $t1 $t2 $t3 $t4\n"; > return undef; > } > } > > but when the do_basic gets control all the $t1/$t2/$t3/$t4 are undef. > After struggling for a week - likely on something simple - I could really > use some help. > > Thanks. > > John Alvord > -- > 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. > -- 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.
