# '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",
    ],
)
