In P4, parsers are considered types. Those parsers are instantiated.
The instantiated parsers are values. Previously, gp4 treated a parser
type and a parser value as identical. This PR makes that difference
clear _and_ sets the stage for the future.
TODO: Make the same distinction between control and action types and
values.
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>
Implement a generic visitor for components of a P4 program and use
it to start P4 code generation (according to the behavioral model).
Signed-off-by: Will Hawkins <hawkinsw@obs.cr>