P4C
The P4 Compiler
Loading...
Searching...
No Matches
backends/bmv2/common/annotations.h
1/*
2 * SPDX-FileCopyrightText: 2013 Barefoot Networks, Inc.
3 * Copyright 2013-present Barefoot Networks, Inc.
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7
8#ifndef BACKENDS_BMV2_COMMON_ANNOTATIONS_H_
9#define BACKENDS_BMV2_COMMON_ANNOTATIONS_H_
10
11#include "frontends/p4/parseAnnotations.h"
12#include "ir/ir.h"
13
14namespace P4::BMV2 {
15
16using namespace P4::literals;
17
19class ParseAnnotations : public P4::ParseAnnotations {
20 public:
21 ParseAnnotations()
22 : P4::ParseAnnotations("BMV2", false,
23 {
24 PARSE_EMPTY("metadata"_cs),
25 PARSE_EXPRESSION_LIST("field_list"_cs),
26 PARSE("alias"_cs, StringLiteral),
27 PARSE("priority"_cs, Constant),
28 PARSE_EXPRESSION_LIST("p4runtime_translation_mappings"_cs),
29 PARSE_P4RUNTIME_TRANSLATION("p4runtime_translation"_cs),
30 }) {}
31};
32
33} // namespace P4::BMV2
34
35#endif /* BACKENDS_BMV2_COMMON_ANNOTATIONS_H_ */
Definition parseAnnotations.h:111
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition action.cpp:9