1#ifndef BACKENDS_P4TOOLS_MODULES_SMITH_TARGETS_TOFINO_TARGET_H_ 
    2#define BACKENDS_P4TOOLS_MODULES_SMITH_TARGETS_TOFINO_TARGET_H_ 
    7#include "backends/p4tools/modules/smith/common/declarations.h" 
    8#include "backends/p4tools/modules/smith/common/expressions.h" 
    9#include "backends/p4tools/modules/smith/common/parser.h" 
   10#include "backends/p4tools/modules/smith/common/statements.h" 
   11#include "backends/p4tools/modules/smith/common/table.h" 
   12#include "backends/p4tools/modules/smith/core/target.h" 
   15namespace P4Tools::P4Smith::Tofino {
 
   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; }