28class TofinoTnaSmithTarget :
public AbstractTofinoSmithTarget {
36 [[nodiscard]] IR::P4Parser *generateIngressParserBlock()
const;
37 [[nodiscard]] IR::P4Control *generateIngressBlock()
const;
38 [[nodiscard]] IR::P4Control *generateIngressDeparserBlock()
const;
39 [[nodiscard]] IR::P4Parser *generateEgressParserBlock()
const;
40 [[nodiscard]] IR::P4Control *generateEgressBlock()
const;
41 [[nodiscard]] IR::P4Control *generateEgressDeparserBlock()
const;
49 [[nodiscard]]
const IR::P4Program *generateP4Program()
const override;
52 return *_declarationGenerator;
56 return *_expressionGenerator;
60 return *_statementGenerator;
63 [[nodiscard]]
ParserGenerator &parserGenerator()
const override {
return *_parserGenerator; }
65 [[nodiscard]]
TableGenerator &tableGenerator()
const override {
return *_tableGenerator; }
68 TofinoTnaSmithTarget();