:default ::= action => [lhs, values]lexeme default = action => [name, value]
:default ::= action => [values] bless => ::lhs
lexeme default = action => [start,length,value] bless => ::name
my ($tag, $contents) = ( ref $_[0], $_[0] );to remove bless_package that was added only to have the lhs of G1 and L0 rules in the parse value.
$tag =~ s/^PennTags:://;
my ($tag, $contents) = @_;
--
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 marpa-parser...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
This is in response to the comment in the IRC group, right?
The bless adverb is confusing, but so is the action adverb, which is also not used for ASF's.
Of course a comment to that effect in the grammar might be sufficient to elminate that confusion.
By the way, (as you may have already noticed) this code is used as one of the displays in the POD, so it has to remain suitable for that. And (of course) that makes the current confusion in it something of an issue.
Yes, your approach looks promising and I look forward to the patch.
No, the ASF's do not see any effect from the "bless" or "action" adverbs. They're there so I can do a dual test -- one with the ASF's, and once using repeated calls to $slr->value(). I compare the two results to make sure they're the same, but they use a different mechanism.
I think you can see why I did this, but apparently it has very much confused issues. LLamaRider on the IRC channel was also confused about this.
This is in response to the comment in the IRC group, right?
I have to say that if traverse() is called such that if the first argument is a per-traversal object, then the /first/ argument of the callbacks (i.e full_traverser() and pruning_traverser() ) should also be that object. The current code is unnecessarily confusing.
Yes, that's how I do array descriptors in the SLIF -- but I didn't really have the context. Is the about how to add a "lhs" array descriptor item to the array descriptor actions? If so, the answer is yes, that you're on the right track.
My apologies for being dense. Nobody else that I know of has looked at the code quite so deeply (at least that has told me). You're talking about patching the SLIF's internals, then? I didn't really understand that. But, yes, if that's what you're trying to do, so far so good.
That explains why you're so interesting in the C langauge warning flags. :-)
My confusion stems from not realizing that you were getting into the code as deeply as you are. -- jeffrey
@rns: An additional frustration that you may experience is that I am heavily refactoring the Libmarpa internals at this point, so that when your patch comes, it may have to wait in order to keep my problems with merge issues down.
I haven't talked about what I'm doing much, because I'm still not 100% sure it will work. But I think I've found a way to simplify the Marpa algorithm. This simplification will, if what I hope is correct, preserve the theoretical time complexity results of Marpa. In practice, it will speed it up a bit. It will also make future enhancements to Marpa and the SLIF easier. It will even make Marpa's theory paper simpler and shorter, which would be an excellent thing. :-) But it's a major rewrite of Marpa's innermost internals and is some of the trickiest and most difficult coding I've done in a while. So it very much affects my priorities.
-- jeffrey