tools/protocolParser.hs
author unc0rr
Wed, 22 Apr 2015 23:33:16 +0300
branchqmlfrontend
changeset 10898 f373838129c2
child 10900 6a805e822074
permissions -rw-r--r--
Some futher work on flib net client part
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10898
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
     1
module Main where
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
     2
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
     3
import Text.PrettyPrint.HughesPJ
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
     4
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
     5
data HWProtocol = Command String [CmdParam]
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
     6
data CmdParam = Skip
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
     7
              | SS
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
     8
              | LS
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
     9
              | IntP
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    10
              | Many [CmdParam]
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    11
data ClientStates = NotConnected
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    12
                  | JustConnected
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    13
                  | ServerAuth
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    14
                  | Lobby
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    15
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    16
cmd = Command
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    17
cmd1 s p = Command s [p]
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    18
cmd2 s p1 p2 = Command s [p1, p2]
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    19
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    20
commands = [
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    21
        cmd "CONNECTED" [Skip, IntP]
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    22
        , cmd1 "NICK" SS
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    23
        , cmd1 "PROTO" IntP
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    24
        , cmd1 "ASKPASSWORD" SS
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    25
        , cmd1 "SERVER_AUTH" SS
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    26
        , cmd1 "LOBBY:JOINED" $ Many [SS]
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    27
    ]
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    28
f373838129c2 Some futher work on flib net client part
unc0rr
parents:
diff changeset
    29
main = undefined