When something is a lexeme it must be so in both L0 and G1. Having <name_chars> in a lexeme pseudo-rule declares it as a lexeme, but <name_chars> is not a lexeme in either L0 or G1. In L0, the problem is that it appears on a RHS, which a lexeme is not allowed to do. In G1, the problem is that it never appears at all, and to be a lexeme a symbol must appear on the RHS of at least one G1 rule.

The "Use of uninitialized value" message on the other hand, is a Marpa bug. It's unintended clutter in the error reporting, and I will get rid of it.

-- jeffrey

On 01/08/2014 03:45 PM, Ron Savage wrote:
I'm getting

ron@zigzag:~$ vcard.parser.pl
Use of uninitialized value $g1_lexeme_id in array element at /home/ron/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/x86_64-linux-thread-multi/Marpa/R2/SLG.pm line 525.
Symbol <name_chars> is declared as a lexeme, but it is not used as one.
Marpa::R2 exception at /home/ron/bin/vcard.parser.pl line 96.

The code is a gist: https://gist.github.com/ronsavage/8326879
--
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/groups/opt_out.

--
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/groups/opt_out.

Reply via email to