|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: regular expressions
Bob Foster:
> > Why isn't it done?
>
> Good question. It should be. Of course, the notation suggests to most
> compsci people that recursion will be permitted, i.e., that this is a
> context-free instead of regular grammar, and that's probably not what
> you intended.
The technique to detect recursions and stop context-grammars early is
(resolve
(lambda (piece)
(cond
((string? piece) piece)
((symbol? piece)
(let ((entry (assv piece code)))
(if entry
(apply string-append (map resolve (cdr entry)))
(begin (error! piece " unresolved") ""))))))))
that is, just concatenate. If there is a recursion, the Scheme interpreter
will run out of space and the validator will immediately report an error
in the expression.
David
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








