blob: dc7ce098fbf075a4c94b9f5418390c801b6b340b [file] [log] [blame]
# '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"],
)