P4C
The P4 Compiler
Loading...
Searching...
No Matches
BFN::V1::ProgramStructure Struct Reference

#include <v1_program_structure.h>

Inheritance diagram for BFN::V1::ProgramStructure:
[legend]

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< cstringmatch_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 *, cstringscalarMetadataFields
 
std::vector< const IR::Declaration_Variable * > variables
 All local variables.
 

Detailed Description

Experimental implementation of programStructure to facilitate the translation between P4-16 program of different architecture.