22class TofinoTnaSmithTarget :
public AbstractTofinoSmithTarget {
30 [[nodiscard]] IR::P4Parser *generateIngressParserBlock()
const;
31 [[nodiscard]] IR::P4Control *generateIngressBlock()
const;
32 [[nodiscard]] IR::P4Control *generateIngressDeparserBlock()
const;
33 [[nodiscard]] IR::P4Parser *generateEgressParserBlock()
const;
34 [[nodiscard]] IR::P4Control *generateEgressBlock()
const;
35 [[nodiscard]] IR::P4Control *generateEgressDeparserBlock()
const;
43 [[nodiscard]]
const IR::P4Program *generateP4Program()
const override;
46 return *_declarationGenerator;
50 return *_expressionGenerator;
54 return *_statementGenerator;
57 [[nodiscard]]
ParserGenerator &parserGenerator()
const override {
return *_parserGenerator; }
59 [[nodiscard]]
TableGenerator &tableGenerator()
const override {
return *_tableGenerator; }
62 TofinoTnaSmithTarget();