On Fri, Oct 30, 2009 at 06:12:00PM +0100, Henrik Sarvell wrote:
> (dm twitter> (L)
> (use (@A @X @E @Z)
> (make
> (while (match '(@A "<" "s" "t" "a" "t" "u" "s" ">" @E "<" "/"
> "s" "t" "a" "t" "u" "s" ">" @Z) L)
> (let R (twitterEntry> This @E)
> (when R (link R)))
> (setq L @Z)))))
Wouldn't it be possible to write something along the line
(in "rss.xml"
(while
(from
"<status>"
"<feed>"
"<feedburner>"
"<moreTags>" )
(case @
("<status>"
...
'twitter> )
("<feed>"
...
("<feedburner>"
...
The individual clauses of 'case' could call 'till' (possibly several
times in a loop) to collect the contents, and perhaps call 'match' on
the pieces.
A typical example for such a parser is the "lib/scrape.l" GUI scraper.
BTW, did you try a 'ulimit -s unlimited'? Just to be sure that a stack
overflow was the reason for the segfault, and not a 64-bit bug.
I have to explain that while the 32-bit version calls setrlimit() to set
an unlimited stack size, the 64-bit version does not. I think it should
not be the business of the interpreter to set such a limit, this can be
done more flexibly and transparently by the calling shell.
Cheers,
- Alex
--
UNSUBSCRIBE: mailto:[email protected]?subject=unsubscribe