Updated Writing a Macro (markdown)

This commit is contained in:
Billingsly Wetherfordshire 2013-05-26 14:32:32 -07:00
parent f4429c29c9
commit ec46882282
1 changed files with 3 additions and 1 deletions

View File

@ -1,6 +1,6 @@
Macros are complex and powerful, allowing you to build the AST imperatively. So how does one build AST? It's not as hard as it sounds.
I'm going to go over the process I used to write the marshaling macro used in keineSchweine (github/fowlmouth/keineSchweine/lib/genpacket.nim)
I'm going to go over the process I used to write the marshaling macro used in keineSchweine (github/fowlmouth/keineSchweine/dependencies/genpacket)
Okay, so I have described a packet as a object type holding the information needed, for example a packet that gets sent out to clients when a new client connects might look like this:
```nimrod
@ -19,5 +19,7 @@ proc readClientJoined (stream: PStream): TClientJoined =
readBE stream, result.playerID
readBE stream, result.alias
```
As you can see, this will result in a specialized function for reading/writing a certain type of packet
to be continued