split Context.h into header and body
add context argument to parser's constructor