P4C
The P4 Compiler
Loading...
Searching...
No Matches
P4::P4Tools::P4Smith::BMv2::Bmv2V1modelSmithTarget Class Reference
Inheritance diagram for P4::P4Tools::P4Smith::BMv2::Bmv2V1modelSmithTarget:
[legend]

Public Member Functions

DeclarationGeneratordeclarationGenerator () const override
 
ExpressionGeneratorexpressionGenerator () const override
 
const IR::P4Program * generateP4Program () const override
 
ParserGeneratorparserGenerator () const override
 
StatementGeneratorstatementGenerator () const override
 
TableGeneratortableGenerator () const override
 
int writeTargetPreamble (std::ostream *ostream) const override
 
- Public Member Functions inherited from P4::P4Tools::P4Smith::SmithTarget
- Public Member Functions inherited from P4::P4Tools::Target
virtual const IR::Expression * createTargetUninitialized (const IR::Type *type, bool forceTaint) const
 

Static Public Member Functions

static void make ()
 Registers this target.
 
- Static Public Member Functions inherited from P4::P4Tools::P4Smith::SmithTarget
static const SmithTargetget ()
 
- Static Public Member Functions inherited from P4::P4Tools::CompilerTarget
static std::vector< const char * > * initCompiler (std::string_view toolName, int argc, char **argv)
 
static ICompileContextmakeContext (std::string_view toolName)
 
static CompilerResultOrError runCompiler (const CompilerOptions &options, std::string_view toolName)
 
static CompilerResultOrError runCompiler (const CompilerOptions &options, std::string_view toolName, const std::string &source)
 
- Static Public Member Functions inherited from P4::P4Tools::Target
static bool init (std::string deviceName, std::string archName)
 
static bool setArch (std::string archName)
 
static bool setDevice (std::string deviceName)
 

Additional Inherited Members

- Public Attributes inherited from P4::P4Tools::Target
Spec spec
 The device and architecture supported by this instance.
 
std::string toolName
 The name of the tool supported by this instance.
 
- Protected Member Functions inherited from P4::P4Tools::P4Smith::BMv2::AbstractBMv2SmithTarget
 AbstractBMv2SmithTarget (const std::string &deviceName, const std::string &archName)
 
- Protected Member Functions inherited from P4::P4Tools::P4Smith::SmithTarget
 SmithTarget (const std::string &deviceName, const std::string &archName)
 
- Protected Member Functions inherited from P4::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 ICompileContextmakeContextImpl () 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 CompilerOptions &options, const IR::P4Program *) const
 
const IR::P4Program * runFrontend (const CompilerOptions &options, const IR::P4Program *program) const
 
const IR::P4Program * runMidEnd (const CompilerOptions &options, const IR::P4Program *program) const
 
- Protected Member Functions inherited from P4::P4Tools::Target
 Target (std::string_view toolName, const std::string &deviceName, const std::string &archName)
 
- Static Protected Member Functions inherited from P4::P4Tools::CompilerTarget
static const IR::P4Program * runParser (const ParserOptions &options)
 
- Static Protected Member Functions inherited from P4::P4Tools::Target
template<class TargetImpl >
static const TargetImpl & get (std::string_view toolName)
 

Member Function Documentation

◆ declarationGenerator()

DeclarationGenerator & P4::P4Tools::P4Smith::BMv2::Bmv2V1modelSmithTarget::declarationGenerator ( ) const
inlinenodiscardoverridevirtual

◆ expressionGenerator()

ExpressionGenerator & P4::P4Tools::P4Smith::BMv2::Bmv2V1modelSmithTarget::expressionGenerator ( ) const
inlinenodiscardoverridevirtual

◆ generateP4Program()

const IR::P4Program * P4::P4Tools::P4Smith::BMv2::Bmv2V1modelSmithTarget::generateP4Program ( ) const
nodiscardoverridevirtual

◆ parserGenerator()

ParserGenerator & P4::P4Tools::P4Smith::BMv2::Bmv2V1modelSmithTarget::parserGenerator ( ) const
inlinenodiscardoverridevirtual

◆ statementGenerator()

StatementGenerator & P4::P4Tools::P4Smith::BMv2::Bmv2V1modelSmithTarget::statementGenerator ( ) const
inlinenodiscardoverridevirtual

◆ tableGenerator()

TableGenerator & P4::P4Tools::P4Smith::BMv2::Bmv2V1modelSmithTarget::tableGenerator ( ) const
inlinenodiscardoverridevirtual

◆ writeTargetPreamble()

int P4::P4Tools::P4Smith::BMv2::Bmv2V1modelSmithTarget::writeTargetPreamble ( std::ostream * ostream) const
nodiscardoverridevirtual

Write the necessary include directives and other helpful constructs to the specified stream.

Implements P4::P4Tools::P4Smith::SmithTarget.