blob: 215f8df231f657fb03ffea8babef3b74f699b9a0 [file] [log] [blame]
# 'lexer' contains mostly interfaces and adapters for working with lexers
# in Verible, e.g. those generated by flex.
licenses(["notice"])
package(
default_visibility = [
"//common/analysis:__subpackages__",
"//common/parser:__subpackages__",
"//verilog/analysis:__subpackages__",
"//verilog/parser:__subpackages__",
"//verilog/preprocessor:__subpackages__",
],
)
cc_library(
name = "token_generator",
hdrs = ["token_generator.h"],
deps = ["//common/text:token_info"],
)
cc_library(
name = "token_stream_adapter",
srcs = ["token_stream_adapter.cc"],
hdrs = ["token_stream_adapter.h"],
deps = [
":lexer",
":token_generator",
"//common/text:token_info",
"//common/text:token_stream_view",
"@com_google_absl//absl/status",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "flex_lexer_adapter",
hdrs = ["flex_lexer_adapter.h"],
deps = [
":lexer",
"//common/text:token_info",
"//common/util:logging",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "lexer",
hdrs = ["lexer.h"],
deps = [
"//common/text:token_info",
"@com_google_absl//absl/strings",
],
)
cc_library(
name = "lexer_test_util",
testonly = 1,
srcs = ["lexer_test_util.cc"],
hdrs = ["lexer_test_util.h"],
deps = [
"//common/text:constants",
"//common/text:token_info",
"//common/text:token_info_test_util",
"//common/util:logging",
"@com_google_absl//absl/strings",
"@com_google_googletest//:gtest", # for library testonly
],
)
cc_test(
name = "lexer_test_util_test",
srcs = ["lexer_test_util_test.cc"],
deps = [
":lexer_test_util",
"//common/text:constants",
"//common/text:token_info",
"//common/util:logging",
"@com_google_absl//absl/strings",
"@com_google_googletest//:gtest_main",
],
)
cc_test(
name = "token_stream_adapter_test",
srcs = ["token_stream_adapter_test.cc"],
deps = [
":lexer",
":lexer_test_util",
":token_stream_adapter",
"//common/text:token_info",
"@com_google_absl//absl/status",
"@com_google_googletest//:gtest_main",
],
)