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. (TODO: This should be PSA-specific or V1MODEL-specific.) | |
DirectMeterMap | directMeterMap |
All the direct meters. (TODO: This should be PSA-specific or V1MODEL-specific.) | |
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 P4 targets (in particular simple switch and psa switch).
ordered_map<const IR::Parameter *, unsigned> P4::ProgramStructure::index |
Maps each Parameter of an action to its positional index. Needed to generate code for actions.
std::map<const IR::StructField *, cstring> P4::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.