16class Bmv2V1modelSmithTarget :
public AbstractBMv2SmithTarget {
24 [[nodiscard]] IR::P4Parser *generateParserBlock()
const;
25 [[nodiscard]] IR::P4Control *generateIngressBlock()
const;
26 [[nodiscard]] IR::P4Control *generateUpdateBlock()
const;
27 [[nodiscard]] IR::P4Control *generateVerifyBlock()
const;
28 [[nodiscard]] IR::P4Control *generateEgressBlock()
const;
29 [[nodiscard]] IR::P4Control *generateDeparserBlock()
const;
37 [[nodiscard]]
const IR::P4Program *generateP4Program()
const override;
40 return *_declarationGenerator;
44 return *_expressionGenerator;
48 return *_statementGenerator;
51 [[nodiscard]]
ParserGenerator &parserGenerator()
const override {
return *_parserGenerator; }
53 [[nodiscard]]
TableGenerator &tableGenerator()
const override {
return *_tableGenerator; }
56 Bmv2V1modelSmithTarget();