P4C
The P4 Compiler
Loading...
Searching...
No Matches
smith.h
1/*
2 * SPDX-FileCopyrightText: 2024 The P4 Language Consortium
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef BACKENDS_P4TOOLS_MODULES_SMITH_SMITH_H_
8#define BACKENDS_P4TOOLS_MODULES_SMITH_SMITH_H_
9
10#include <vector>
11
12#include "backends/p4tools/common/compiler/compiler_result.h"
13#include "backends/p4tools/common/p4ctool.h"
14#include "backends/p4tools/modules/smith/options.h"
15
16namespace P4::P4Tools::P4Smith {
17
18class Smith : public AbstractP4cTool<SmithOptions> {
19 protected:
20 void registerTarget() override;
21
22 int mainImpl(const CompilerResult &compilerResult) override;
23
24 public:
25 virtual ~Smith() = default;
26 int main(const std::vector<const char *> &args);
27};
28
29} // namespace P4::P4Tools::P4Smith
30
31#endif /* BACKENDS_P4TOOLS_MODULES_SMITH_SMITH_H_ */
Definition p4ctool.h:28
Definition common/compiler/compiler_result.h:20
Definition smith.h:18
int mainImpl(const CompilerResult &compilerResult) override
Definition smith.cpp:61