17class TableGenerator :
public Generator {
19 explicit TableGenerator(
const SmithTarget &target) : Generator(target) {}
21 virtual ~TableGenerator() =
default;
23 virtual IR::P4Table *genTableDeclaration();
25 virtual IR::TableProperties *genTablePropertyList();
27 virtual IR::KeyElement *genKeyElement(
IR::ID match_kind);
29 virtual IR::Key *genKeyElementList(
size_t len);
31 virtual IR::Property *genKeyProperty();
33 virtual IR::MethodCallExpression *genTableActionCall(
cstring method_name,
34 const IR::ParameterList ¶ms);
36 virtual IR::ActionList *genActionList(
size_t len);
38 IR::Property *genActionListProperty();