| # 'lexer' contains mostly interfaces and adapters for working with lexers |
| # in Verible, e.g. those generated by flex. |
| |
| package( |
| default_applicable_licenses = ["//:license"], |
| default_visibility = [ |
| "//common/analysis:__subpackages__", |
| "//common/parser:__subpackages__", |
| "//verilog/analysis:__subpackages__", |
| "//verilog/parser:__subpackages__", |
| "//verilog/preprocessor:__subpackages__", |
| ], |
| features = ["layering_check"], |
| ) |
| |
| 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:string_view", |
| ], |
| ) |
| |
| cc_library( |
| name = "flex-lexer-adapter", |
| hdrs = ["flex_lexer_adapter.h"], |
| deps = [ |
| ":lexer", |
| "//common/text:token-info", |
| "//common/util:logging", |
| "@com_google_absl//absl/log:check", |
| "@com_google_absl//absl/strings:string_view", |
| ], |
| ) |
| |
| cc_library( |
| name = "lexer", |
| hdrs = ["lexer.h"], |
| deps = [ |
| "//common/text:token-info", |
| "@com_google_absl//absl/strings:string_view", |
| ], |
| ) |
| |
| 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:string_view", |
| "@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", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/strings:string_view", |
| "@com_google_googletest//:gtest", |
| "@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:constants", |
| "//common/text:token-info", |
| "//common/text:token-stream-view", |
| "@com_google_absl//absl/status", |
| "@com_google_absl//absl/strings:string_view", |
| "@com_google_googletest//:gtest", |
| "@com_google_googletest//:gtest_main", |
| ], |
| ) |