Hi!

As i'm very new to ragel i just played around a bit and tried some examples,
modified them a bit and so on.

Before  started with Ragel i used boost::spirit to parse text. boost::spirit
is fine, speed is ok, much faster than using simple regexes, but one
problem: The compilation time of a boost::spirit-grammar is a hell. I
created a grammar for pokerhandhistory-parsing, the debug-compilation time
is about 20 minutes. A bit to long!

Here is pokerhandhistory-file: http://pastebin.com/WjDP1xmj

I'm extracting almost all information like Datetime, Limit and all player
actions and fill some structs. After parsing it's inserted to a database.

My questions:
1.Would it be easy to create such a parser with Ragel?

2.How to parse things like this: "player1 raises 1 to 2" all characters
before ' raises ' digit ' to ' digit? (a playername can contain an action
like player 1 raises raises 1 to 2)

3.How to create actions for such a line? In boost:spirit i can call a
function in this way: rule = (char_+ >> double_)[class::myfunction(_1,_2)].
_1 would be the char-array and _2 a double? Is it possible with Ragel?

4.Can i use a symbol-table in Ragel? example of a symboltable with actions:
(L"calls", 1)
(L"bets", 2)
(L"folds", 3)
(L"posts the small blind of", 4)
(L"posts a dead small blind of", 5)
(L"posts the big blind of", 6)
(L"posts", 7)
(L"antes", 8)
a rule for this is: rule = name SYMBOL::ACTION[function(_1, _2)]


So...please don't laugh ;-)

Thank you very much!!!
_______________________________________________
ragel-users mailing list
[email protected]
http://www.complang.org/mailman/listinfo/ragel-users

Reply via email to