P4C
The P4 Compiler
|
#include <v1_program_structure.h>
Public Member Functions | |
const IR::P4Program * | create (const IR::P4Program *program) override |
void | createControls () override |
void | createMain () override |
void | createParsers () override |
void | createPipeline () |
Public Member Functions inherited from P4::ProgramStructure |
Public Attributes | |
bool | backward_compatible = false |
cstring | type_h |
user program specific info | |
cstring | type_m |
const IR::Parameter * | user_metadata |
Public Attributes inherited from P4::ProgramStructure | |
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. | |
Experimental implementation of programStructure to facilitate the translation between P4-16 program of different architecture.