![]()  | 
  
    P4C
    
   The P4 Compiler 
   | 
 
Public Member Functions | |
| virtual DeclarationGenerator & | declarationGenerator () const =0 | 
| virtual ExpressionGenerator & | expressionGenerator () const =0 | 
| virtual const IR::P4Program * | generateP4Program () const =0 | 
| virtual ParserGenerator & | parserGenerator () const =0 | 
| virtual StatementGenerator & | statementGenerator () const =0 | 
| virtual TableGenerator & | tableGenerator () const =0 | 
| virtual int | writeTargetPreamble (std::ostream *ostream) const =0 | 
  Public Member Functions inherited from P4Tools::Target | |
| virtual const IR::Expression * | createTargetUninitialized (const IR::Type *type, bool forceTaint) const | 
Static Public Member Functions | |
| static const SmithTarget & | get () | 
  Static Public Member Functions inherited from P4Tools::CompilerTarget | |
| static std::vector< const char * > * | initCompiler (std::string_view toolName, int argc, char **argv) | 
| static ICompileContext * | makeContext (std::string_view toolName) | 
| static CompilerResultOrError | runCompiler (std::string_view toolName) | 
| static CompilerResultOrError | runCompiler (std::string_view toolName, const std::string &source) | 
  Static Public Member Functions inherited from P4Tools::Target | |
| static bool | init (std::string deviceName, std::string archName) | 
| static bool | setArch (std::string archName) | 
| static bool | setDevice (std::string deviceName) | 
Protected Member Functions | |
| SmithTarget (const std::string &deviceName, const std::string &archName) | |
  Protected Member Functions inherited from P4Tools::CompilerTarget | |
| CompilerTarget (std::string_view toolName, const std::string &deviceName, const std::string &archName) | |
| virtual std::vector< const char * > * | initCompilerImpl (int argc, char **argv) const | 
| virtual ICompileContext * | makeContextImpl () const | 
| virtual P4::FrontEnd | mkFrontEnd () const | 
| A factory method for providing a target-specific front end implementation.  | |
| virtual MidEnd | mkMidEnd (const CompilerOptions &options) const | 
| A factory method for providing a target-specific mid end implementation.  | |
| virtual CompilerResultOrError | runCompilerImpl (const IR::P4Program *) const | 
| const IR::P4Program * | runFrontend (const IR::P4Program *program) const | 
| const IR::P4Program * | runMidEnd (const IR::P4Program *program) const | 
  Protected Member Functions inherited from P4Tools::Target | |
| Target (std::string_view toolName, const std::string &deviceName, const std::string &archName) | |
Additional Inherited Members | |
  Public Attributes inherited from P4Tools::Target | |
| Spec | spec | 
| The device and architecture supported by this instance.  | |
| std::string | toolName | 
| The name of the tool supported by this instance.  | |
  Static Protected Member Functions inherited from P4Tools::CompilerTarget | |
| static const IR::P4Program * | runParser () | 
  Static Protected Member Functions inherited from P4Tools::Target | |
| template<class TargetImpl > | |
| static const TargetImpl & | get (std::string_view toolName) | 
      
  | 
  static | 
      
  | 
  nodiscardpure virtual | 
Write the necessary #include directives and other helpful constructs to the specified stream.
Implemented in P4Tools::P4Smith::BMv2::Bmv2PsaSmithTarget, P4Tools::P4Smith::BMv2::Bmv2V1modelSmithTarget, P4Tools::P4Smith::Generic::GenericCoreSmithTarget, P4Tools::P4Smith::Nic::DpdkPnaSmithTarget, and P4Tools::P4Smith::Tofino::TofinoTnaSmithTarget.