![]()  | 
  
    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.