The new Felix grammar system is now available from svn trunk head.
Two upgrades have been done. First you can write:
nt1 := nt2;
which just means
nt1 := nt2 =># "_1";
and you can write:
nt1 := blag bla =># "str"
| foo bar ># ".."
;
that is, use the | symbol to start new productions for the
same nonterminal. The | is allowed in the first rule too.
The second upgrade is you can write:
syntax dssl { requires fred, joe; .. }
The requires clause specifies a dependency. If dssl
is loaded with
open syntax dssl;
then fred and joe will be loaded too. Recursion is
permitted. The transitive closure is loaded, minus
what is already loaded. This means you cannot load
a DSSL twice into the same context.
--
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language