Use a variable to hold context required during a parse.
Imagine you are parsing a list of items, capturing data about each one. Each bit of information about an item can be captured independently, but you also need to know which particular item you are capturing information for.
A Context Variable does this by keeping the current item in a variable and reassigning it as you move to a new one.
For more details see chapter 13 of the DSL book