[Haskell-cafe] parsing machine-generated natural text
Evan Martin
martine at danga.com
Sat May 20 20:46:07 EDT 2006
On 5/21/06, Udo Stenzel <u.stenzel at web.de> wrote:
> do power
> colon
> integer
> reserved "Supply centers,"
> integer
> reserved "Units:"
> ((reserved "Builds" >> return id) <|>
> (reserved "Disbands" >> return negate))
> `ap` integer
> reserved "units." <|> reserved "unit."
>
> Come on, it isn't nearly as bad as you make it sound. Use the
> combinators, they are far more powerful than ugly never-quite-correct
> regexes.
Thanks! I had looked at using the lexeme parser before but it didn't
seem like you can make newlines significant. Here's the beginning of
the file, where it's not obvious to me how to distinguish elements in
the "::" section from the rest of the file.
:: Judge: USDP Game: dip Variant: standard
:: Deadline: F1901M Mon 20 Feb 2006 20:00 PST
:: URL: http://www.diplom.org/dpjudge?game=dip
Movement results for Fall of 1901. (dip.F1901M)
I guess I could make "Movement" a reserved word?
> Oh, and drop me a line when your Diplomacy bot is finished.
:)
It's actually just for rendering nicer maps of the game state.
http://neugierig.org/software/hsdip/mapview.html
(It's draggable, too.)
I was trying to do it with Firefox's SVG+XUL but it's terribly slow,
XUL isn't quite there yet, and doing a large app with JavaScript is
painful.
http://neugierig.org/software/darcs/xuldip/dip.xul (no install
necessary; only works in Firefox)
More information about the Haskell-Cafe
mailing list