| # 'parser' contains mostly interfaces and adapters for working with parsers | |
| # in Verible, e.g. those generated by bison. | |
| licenses(["notice"]) | |
| package( | |
| default_visibility = [ | |
| "//common/analysis:__subpackages__", | |
| "//verilog/parser:__subpackages__", | |
| ], | |
| ) | |
| cc_library( | |
| name = "bison_parser_adapter", | |
| hdrs = ["bison_parser_adapter.h"], | |
| deps = [ | |
| ":parse", | |
| ":parser_param", | |
| "//common/lexer:token_generator", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:token_info", | |
| "@com_google_absl//absl/status", | |
| ], | |
| ) | |
| cc_library( | |
| name = "bison_parser_common", | |
| srcs = ["bison_parser_common.cc"], | |
| hdrs = ["bison_parser_common.h"], | |
| deps = [ | |
| ":parser_param", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:token_info", | |
| "//common/util:logging", | |
| ], | |
| ) | |
| cc_library( | |
| name = "parse", | |
| hdrs = ["parse.h"], | |
| deps = [ | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:token_info", | |
| "@com_google_absl//absl/status", | |
| ], | |
| alwayslink = 1, | |
| ) | |
| cc_library( | |
| name = "parser_param", | |
| srcs = ["parser_param.cc"], | |
| hdrs = ["parser_param.h"], | |
| deps = [ | |
| "//common/lexer:token_generator", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:token_info", | |
| "//common/util:logging", | |
| ], | |
| ) | |
| cc_library( | |
| name = "parser_test_util", | |
| testonly = 1, | |
| hdrs = ["parser_test_util.h"], | |
| deps = [ | |
| "//common/analysis/matcher:descent_path", | |
| "//common/text:parser_verifier", | |
| "//common/text:symbol", | |
| "//common/text:token_info", | |
| "//common/text:token_info_test_util", | |
| "@com_google_absl//absl/status", | |
| "@com_google_googletest//:gtest", # for library testonly | |
| ], | |
| ) | |
| cc_test( | |
| name = "bison_parser_common_test", | |
| srcs = ["bison_parser_common_test.cc"], | |
| deps = [ | |
| ":bison_parser_common", | |
| ":parser_param", | |
| "//common/lexer", | |
| "//common/lexer:token_stream_adapter", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:token_info", | |
| "@com_google_absl//absl/strings", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| sh_binary( | |
| name = "move_yacc_stack_symbols", | |
| srcs = ["move_yacc_stack_symbols.sh"], | |
| ) | |
| sh_binary( | |
| name = "record_syntax_error", | |
| srcs = ["record_syntax_error.sh"], | |
| ) |