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:picol...@software-lab.de?subject=unsubscribe

Reply via email to