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