Je construis un logiciel pour iOS qui a besoin d'analyser les historiques de mains de poker. Comme je ne connais pas grand-chose à l'analyse syntaxique, j'espérais que quelqu'un pourrait me diriger dans la bonne direction, me diriger vers un tutoriel, ...Objective-C parser poker main histoire
J'ai commencé à briser la main de poker en lignes, puis J'ai commencé à traiter chaque ligne avec une fonction de chaîne. Mais maintenant j'ai vu qu'il y a des outils d'analyse disponibles pour lesquels je peux écrire une grammaire BNF. Donc, cela pourrait être la bonne voie à suivre si je veux atteindre la performance, non? Cependant, je ne sais rien sur les grammaires BNF, et comment les utiliser, ... Quelqu'un qui peut me diriger vers un tutoriel pour les débutants?
Ow, une histoire de main de poker ressemble à quelque chose comme ceci:
PokerStars Game #73611647630: Hold'em No Limit ($0.01/$0.02 USD) - 2012/01/10 17:15:42 CET [2012/01/10 11:15:42 ET]
Table 'Joella VIII' 6-max Seat #1 is the button
Seat 1: [email protected] ($0.85 in chips)
Seat 2: Pet21 ($1.96 in chips)
Seat 3: derphurp ($2.79 in chips)
Seat 4: -M-A-R-K-qaz ($0.90 in chips)
Seat 5: Rolle55 ($2.47 in chips)
Seat 6: SanderDecler ($2 in chips)
Pet21: posts small blind $0.01
derphurp: posts big blind $0.02
*** HOLE CARDS ***
Dealt to SanderDecler [Jc 2s]
-M-A-R-K-qaz: folds
Rolle55: calls $0.02
SanderDecler: folds
[email protected]: folds
Pet21: folds
derphurp: checks
*** FLOP *** [2h 3s As]
derphurp: checks
Rolle55: checks
*** TURN *** [2h 3s As] [Kh]
derphurp: bets $0.02
Rolle55: calls $0.02
*** RIVER *** [2h 3s As Kh] [5d]
derphurp: bets $0.02
Rolle55: raises $0.02 to $0.04
derphurp: raises $0.16 to $0.20
Rolle55: raises $0.16 to $0.36
derphurp: folds
Uncalled bet ($0.16) returned to Rolle55
Rolle55 collected $0.47 from pot
*** SUMMARY ***
Total pot $0.49 | Rake $0.02
Board [2h 3s As Kh 5d]
Seat 1: [email protected] (button) folded before Flop (didn't bet)
Seat 2: Pet21 (small blind) folded before Flop
Seat 3: derphurp (big blind) folded on the River
Seat 4: -M-A-R-K-qaz folded before Flop (didn't bet)
Seat 5: Rolle55 collected ($0.47)
Seat 6: SanderDecler folded before Flop (didn't bet)