On 05/04/2009, at 12:57 AM, Emmanuel Onzon wrote:

>
>
> 2009/4/4 john skaller <skal...@users.sourceforge.net>
[]

> Ok. But note that the non terminals detected by the warnings
> are not thrown away by dypgen.
>
> %keep strue
>
> would just prevents dypgen from emitting a warning.

Yes, but they COULD be thrown away. If the user complains,
point out that they can fix it by %keep or whatever.

Alternatively the reverse is possible: make a command like

%keep_if_used strue

which throws out a production if it is not used. Either way,
partitioning the non-terminals into roots and non-roots.
You keep the roots and everything reachable by them:
at present everything is a root, which implies
processing garbage.

Yes, for a "micky mouse" grammar, keeping everything
is fine, but once you have extensible grammars it makes
sense to think about libraries.

In any case Felix is pioneering some of this, so lets see how
that shapes up: grammars notoriously don't behave as one
would expect :)

--
john skaller
skal...@users.sourceforge.net





------------------------------------------------------------------------------
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to