On 08/03/2012, at 2:57 PM, john skaller wrote:
> OK, I did some playing. Regexp names can't be looked up sensibly
> in other dssls
I will do something very late next week. I'm going away for a few
days and will be AFK for that time.
--
john skaller
skal...@users.sourceforge.net
http://felix-la
OK, I did some playing. Regexp names can't be looked up sensibly
in other dssls. The reason is the lookup needs to be done
when the "rule" for a grammar production is layed down (i.e. translated
from Felix to Dypgen). This is done when building the dssl, before opening it.
So foreign regdef names d
Current state: this works:
///
open Regdef;
{
var digit = Charset "9";
val digits = Rpt (digit, 1, -1);
var letter = Charset "x";
var us = Regdef::String "_";
var id = Seqs (list (
Alts (list(us,letter)),
Rpt(
Alts(list(letter,digit,us)),0,-1)));
println$ render id;
};
I have now got this working:
//
include "./src/lib/std/regdef";
open Regdef;
{
var digit = Charset "9";
val digits = Rpt (digit, 1, -1);
var letter = Charset "x";
var us = Regdef::String "_";
var id = Seqs (list (
Alts (list(us,letter)),
Rpt(
Alts(list(letter,d
For the next release (after this one gets up) I am implementing syntax for
regdefs:
we used to have this but it got removed, now it's coming back. The idea is to be
able to write:
regdef digit = charset "0123456789";
regdef digits = digit +;
regdef letter = charset "abcdefghijklmnopqrstuvwxyz";