![]() |
P4C
The P4 Compiler
|
#include <programStructure.h>
Public Attributes | |
| ordered_map< const IR::P4Action *, const IR::P4Control * > | actions |
| Map action to parent control. | |
| ordered_map< cstring, const IR::P4Table * > | directCounterMap |
| All the direct counters. | |
| DirectMeterMap | directMeterMap |
| All the direct meters. | |
| ordered_map< const IR::IDeclaration *, unsigned int > | errorCodesMap |
| All error codes. | |
| ordered_map< const IR::P4Action *, unsigned > | ids |
| For each action its json id. | |
| ordered_map< const IR::Parameter *, unsigned > | index |
| std::set< cstring > | match_kinds |
| All match kinds. | |
| ordered_set< const IR::Parameter * > | nonActionParameters |
| Parameters of controls/parsers. | |
| ResourceMap | resourceMap |
| map IR node to compile-time allocated resource blocks. | |
| std::map< const IR::StructField *, cstring > | scalarMetadataFields |
| std::vector< const IR::Declaration_Variable * > | variables |
| All local variables. | |
Represents all the compile-time information about a P4-16 program that is common to all bmv2 targets (simple switch and psa switch).
| ordered_map<const IR::Parameter *, unsigned> BMV2::ProgramStructure::index |
Maps each Parameter of an action to its positional index. Needed to generate code for actions.
| std::map<const IR::StructField *, cstring> BMV2::ProgramStructure::scalarMetadataFields |
We place scalar user metadata fields (i.e., bit<>, bool) in the scalarsName metadata object, so we may need to rename these fields. This map holds the new names.