xref: /aosp_15_r20/external/emboss/compiler/util/BUILD (revision 99e0aae7469b87d12f0ad23e61142c2d74c1ef70)
1# Copyright 2019 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15# Shared utilities for Emboss back ends.
16
17load("@rules_python//python:py_library.bzl", "py_library")
18load("@rules_python//python:py_test.bzl", "py_test")
19
20package(
21    default_visibility = ["//compiler:__subpackages__"],
22)
23
24py_library(
25    name = "ir_data",
26    srcs = [
27        "ir_data.py",
28        "ir_data_fields.py",
29        "ir_data_utils.py",
30    ],
31    deps = [],
32)
33
34py_test(
35    name = "ir_data_fields_test",
36    srcs = ["ir_data_fields_test.py"],
37    deps = [":ir_data"],
38)
39
40py_test(
41    name = "ir_data_utils_test",
42    srcs = ["ir_data_utils_test.py"],
43    deps = [":expression_parser", ":ir_data"],
44)
45
46py_library(
47    name = "expression_parser",
48    srcs = ["expression_parser.py"],
49    deps = [
50        "//compiler/front_end:module_ir",
51        "//compiler/front_end:parser",
52        "//compiler/front_end:tokenizer",
53    ],
54)
55
56py_library(
57    name = "ir_util",
58    srcs = ["ir_util.py"],
59    deps = [":ir_data"],
60)
61
62py_test(
63    name = "ir_util_test",
64    srcs = ["ir_util_test.py"],
65    python_version = "PY3",
66    deps = [
67        ":expression_parser",
68        ":ir_data",
69        ":ir_util",
70    ],
71)
72
73py_library(
74    name = "attribute_util",
75    srcs = ["attribute_util.py"],
76    deps = [
77        ":error",
78        ":ir_data",
79        ":ir_util",
80        ":traverse_ir",
81    ],
82)
83
84py_library(
85    name = "simple_memoizer",
86    srcs = ["simple_memoizer.py"],
87    deps = [],
88)
89
90py_test(
91    name = "simple_memoizer_test",
92    srcs = ["simple_memoizer_test.py"],
93    python_version = "PY3",
94    deps = [
95        ":simple_memoizer",
96    ],
97)
98
99py_library(
100    name = "test_util",
101    testonly = 1,
102    srcs = ["test_util.py"],
103    deps = [],
104)
105
106py_test(
107    name = "test_util_test",
108    srcs = ["test_util_test.py"],
109    python_version = "PY3",
110    deps = [
111        ":test_util",
112        "//compiler/util:ir_data",
113        "//compiler/util:parser_types",
114    ],
115)
116
117py_library(
118    name = "traverse_ir",
119    srcs = ["traverse_ir.py"],
120    deps = [
121        ":simple_memoizer",
122        ":ir_data",
123    ],
124)
125
126py_test(
127    name = "traverse_ir_test",
128    srcs = ["traverse_ir_test.py"],
129    python_version = "PY3",
130    deps = [
131        ":traverse_ir",
132        ":ir_data",
133    ],
134)
135
136py_library(
137    name = "parser_types",
138    srcs = ["parser_types.py"],
139    deps = [
140        ":ir_data",
141    ],
142)
143
144py_test(
145    name = "parser_types_test",
146    srcs = ["parser_types_test.py"],
147    python_version = "PY3",
148    deps = [
149        ":parser_types",
150        ":ir_data",
151    ],
152)
153
154py_library(
155    name = "error",
156    srcs = [
157        "error.py",
158    ],
159    deps = [
160        ":parser_types",
161    ],
162)
163
164py_test(
165    name = "error_test",
166    srcs = ["error_test.py"],
167    python_version = "PY3",
168    deps = [
169        ":error",
170        ":parser_types",
171    ],
172)
173
174py_library(
175    name = "name_conversion",
176    srcs = ["name_conversion.py"],
177    deps = [],
178)
179
180py_test(
181    name = "name_conversion_test",
182    srcs = ["name_conversion_test.py"],
183    python_version = "PY3",
184    deps = [
185        ":name_conversion",
186    ],
187)
188
189py_library(
190    name = "resources",
191    srcs = ["resources.py"],
192    deps = [],
193)
194