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