| # This package contains utility functions that extract or operate on | |
| # the concrete syntax tree (cst) structure built up by verilog.y. | |
| # Any code that relies on the internal tree structure should be isolated in | |
| # here. | |
| licenses(["notice"]) | |
| package( | |
| default_visibility = [ | |
| "//verilog/analysis:__subpackages__", | |
| "//verilog/formatting:__subpackages__", | |
| "//verilog/parser:__subpackages__", | |
| "//verilog/tools/kythe:__pkg__", | |
| "//verilog/tools/ls:__pkg__", # DocumentSymbol | |
| "//verilog/tools/syntax:__pkg__", # for printing | |
| ], | |
| ) | |
| # Generate foreach list for nonterminal enums. | |
| # Libraries that need these generated include files should list them | |
| # under srcs, even if they are included by headers. | |
| genrule( | |
| name = "verilog_nonterminals_foreach_gen", | |
| srcs = ["verilog_nonterminals.h"], | |
| outs = ["verilog_nonterminals_foreach-gen.inc"], | |
| cmd = "sed -n -e '/BEGIN GENERATE/,/END GENERATE/p' $< | " + | |
| "grep -v GENERATE | " + | |
| "sed -e 's|^ *|CONSIDER(|' -e 's| =.*,|,|' -e 's|,|)|' > $@", | |
| ) | |
| cc_library( | |
| name = "verilog_nonterminals", | |
| srcs = [ | |
| "verilog_nonterminals.cc", | |
| "verilog_nonterminals_foreach.inc", | |
| "verilog_nonterminals_foreach-gen.inc", | |
| ], | |
| hdrs = [ | |
| "verilog_nonterminals.h", | |
| ], | |
| deps = [ | |
| "//common/text:constants", | |
| "@com_google_absl//absl/strings", | |
| ], | |
| ) | |
| cc_test( | |
| name = "verilog_nonterminals_test", | |
| srcs = ["verilog_nonterminals_test.cc"], | |
| deps = [ | |
| ":verilog_nonterminals", | |
| "//common/text:constants", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "verilog_matchers", | |
| srcs = [ | |
| "verilog_matchers.cc", | |
| "verilog_nonterminals_foreach.inc", | |
| "verilog_nonterminals_foreach-gen.inc", | |
| ], | |
| hdrs = [ | |
| "verilog_matchers.h", | |
| ], | |
| deps = [ | |
| ":verilog_nonterminals", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:symbol", | |
| "//verilog/parser:verilog_token_enum", | |
| ], | |
| ) | |
| cc_test( | |
| name = "verilog_matchers_test", | |
| srcs = ["verilog_matchers_test.cc"], | |
| deps = [ | |
| ":verilog_matchers", | |
| ":verilog_treebuilder_utils", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:core_matchers", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/analysis/matcher:matcher_test_utils", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "verilog_treebuilder_utils", | |
| srcs = ["verilog_treebuilder_utils.cc"], | |
| hdrs = ["verilog_treebuilder_utils.h"], | |
| deps = [ | |
| ":verilog_nonterminals", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:token_info", | |
| "//common/util:logging", | |
| "@com_google_absl//absl/strings", | |
| ], | |
| ) | |
| cc_test( | |
| name = "verilog_treebuilder_utils_test", | |
| srcs = ["verilog_treebuilder_utils_test.cc"], | |
| deps = [ | |
| ":verilog_treebuilder_utils", | |
| "//common/text:tree_builder_test_util", | |
| "//common/text:tree_utils", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "match_test_utils", | |
| testonly = 1, | |
| srcs = ["match_test_utils.cc"], | |
| hdrs = ["match_test_utils.h"], | |
| deps = [ | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:text_structure", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_absl//absl/strings", | |
| "@com_google_googletest//:gtest", # for library testonly | |
| ], | |
| ) | |
| cc_library( | |
| name = "constraints", | |
| srcs = ["constraints.cc"], | |
| hdrs = ["constraints.h"], | |
| deps = [ | |
| ":identifier", | |
| ":verilog_matchers", # fixdeps: keep | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:token_info", | |
| "//common/text:tree_utils", | |
| "//common/util:casts", | |
| "//common/util:logging", | |
| "//verilog/parser:verilog_token_enum", | |
| "@com_google_absl//absl/strings", | |
| ], | |
| ) | |
| cc_test( | |
| name = "constraints_test", | |
| srcs = ["constraints_test.cc"], | |
| deps = [ | |
| ":constraints", | |
| ":match_test_utils", | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:text_structure", | |
| "//common/text:token_info", | |
| "//common/util:casts", | |
| "//common/util:logging", | |
| "//verilog/analysis:verilog_analyzer", | |
| "//verilog/parser:verilog_token_enum", | |
| "@com_google_absl//absl/strings", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "DPI", | |
| srcs = ["DPI.cc"], | |
| hdrs = ["DPI.h"], | |
| deps = [ | |
| ":verilog_matchers", | |
| ":verilog_nonterminals", | |
| ":verilog_treebuilder_utils", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:tree_utils", | |
| "//verilog/parser:verilog_token_classifications", | |
| "//verilog/parser:verilog_token_enum", | |
| ], | |
| ) | |
| cc_test( | |
| name = "DPI_test", | |
| srcs = ["DPI_test.cc"], | |
| deps = [ | |
| ":DPI", | |
| ":match_test_utils", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:text_structure", | |
| "//common/text:token_info_test_util", | |
| "//common/text:tree_utils", | |
| "//common/util:range", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "declaration", | |
| srcs = ["declaration.cc"], | |
| hdrs = ["declaration.h"], | |
| deps = [ | |
| ":identifier", | |
| ":type", | |
| ":verilog_matchers", | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:constants", | |
| "//common/text:symbol", | |
| "//common/text:token_info", | |
| "//common/text:tree_utils", | |
| "//common/util:container_util", | |
| "//verilog/parser:verilog_token_enum", | |
| ], | |
| ) | |
| cc_test( | |
| name = "declaration_test", | |
| srcs = ["declaration_test.cc"], | |
| deps = [ | |
| ":declaration", | |
| ":match_test_utils", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:text_structure", | |
| "//common/text:tree_utils", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "dimensions", | |
| srcs = ["dimensions.cc"], | |
| hdrs = ["dimensions.h"], | |
| deps = [ | |
| ":verilog_matchers", # fixdeps: keep | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:tree_utils", | |
| ], | |
| ) | |
| cc_test( | |
| name = "dimensions_test", | |
| srcs = ["dimensions_test.cc"], | |
| deps = [ | |
| ":dimensions", | |
| ":verilog_matchers", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:text_structure", | |
| "//common/text:token_info", | |
| "//common/text:tree_utils", | |
| "//common/util:casts", | |
| "//common/util:logging", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "expression", | |
| srcs = ["expression.cc"], | |
| hdrs = ["expression.h"], | |
| deps = [ | |
| ":type", | |
| ":verilog_matchers", | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:token_info", | |
| "//common/text:tree_utils", | |
| "//common/util:casts", | |
| "//common/util:logging", | |
| "//verilog/parser:verilog_token_classifications", | |
| "//verilog/parser:verilog_token_enum", | |
| "@com_google_absl//absl/strings", | |
| ], | |
| ) | |
| cc_test( | |
| name = "expression_test", | |
| srcs = ["expression_test.cc"], | |
| deps = [ | |
| ":expression", | |
| ":match_test_utils", | |
| ":verilog_nonterminals", | |
| ":verilog_tree_print", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:symbol", | |
| "//common/text:tree_utils", | |
| "//common/util:logging", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "functions", | |
| srcs = ["functions.cc"], | |
| hdrs = ["functions.h"], | |
| deps = [ | |
| ":identifier", | |
| ":type", | |
| ":verilog_matchers", # fixdeps: keep | |
| ":verilog_nonterminals", | |
| ":verilog_treebuilder_utils", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:tree_utils", | |
| ], | |
| ) | |
| cc_test( | |
| name = "functions_test", | |
| srcs = ["functions_test.cc"], | |
| deps = [ | |
| ":functions", | |
| ":identifier", | |
| ":match_test_utils", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:text_structure", | |
| "//common/text:token_info", | |
| "//common/text:token_info_test_util", | |
| "//common/text:tree_utils", | |
| "//common/util:casts", | |
| "//common/util:logging", | |
| "//common/util:range", | |
| "//verilog/analysis:verilog_analyzer", | |
| "//verilog/parser:verilog_token_enum", | |
| "@com_google_absl//absl/strings", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "identifier", | |
| srcs = ["identifier.cc"], | |
| hdrs = ["identifier.h"], | |
| deps = [ | |
| ":verilog_matchers", # fixdeps: keep | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:tree_utils", | |
| "//common/util:casts", | |
| "//common/util:logging", | |
| "//verilog/parser:verilog_token_classifications", | |
| "//verilog/parser:verilog_token_enum", | |
| ], | |
| ) | |
| cc_test( | |
| name = "identifier_test", | |
| srcs = ["identifier_test.cc"], | |
| deps = [ | |
| ":identifier", | |
| ":match_test_utils", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:text_structure", | |
| "//common/text:token_info", | |
| "//common/util:logging", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_absl//absl/strings", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "macro", | |
| srcs = ["macro.cc"], | |
| hdrs = ["macro.h"], | |
| deps = [ | |
| ":verilog_matchers", | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:token_info", | |
| "//common/text:tree_utils", | |
| ], | |
| ) | |
| cc_test( | |
| name = "macro_test", | |
| srcs = ["macro_test.cc"], | |
| deps = [ | |
| ":macro", | |
| ":match_test_utils", | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:text_structure", | |
| "//common/text:token_info_test_util", | |
| "//common/util:range", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "class", | |
| srcs = ["class.cc"], | |
| hdrs = ["class.h"], | |
| deps = [ | |
| ":identifier", | |
| ":verilog_matchers", # fixdeps: keep | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:token_info", | |
| "//common/text:tree_utils", | |
| ], | |
| ) | |
| cc_test( | |
| name = "class_test", | |
| srcs = ["class_test.cc"], | |
| deps = [ | |
| ":class", | |
| ":match_test_utils", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:text_structure", | |
| "//common/text:token_info", | |
| "//common/text:token_info_test_util", | |
| "//common/util:casts", | |
| "//common/util:logging", | |
| "//common/util:range", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "module", | |
| srcs = ["module.cc"], | |
| hdrs = ["module.h"], | |
| deps = [ | |
| ":verilog_matchers", # fixdeps: keep | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:token_info", | |
| "//common/text:tree_utils", | |
| "//verilog/parser:verilog_token_enum", | |
| ], | |
| ) | |
| cc_test( | |
| name = "module_test", | |
| srcs = ["module_test.cc"], | |
| deps = [ | |
| ":match_test_utils", | |
| ":module", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:text_structure", | |
| "//common/text:token_info", | |
| "//common/text:token_info_test_util", | |
| "//common/util:casts", | |
| "//common/util:logging", | |
| "//common/util:range", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "net", | |
| srcs = ["net.cc"], | |
| hdrs = ["net.h"], | |
| deps = [ | |
| ":identifier", | |
| ":verilog_matchers", # fixdeps: keep | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:tree_utils", | |
| ], | |
| ) | |
| cc_test( | |
| name = "net_test", | |
| srcs = ["net_test.cc"], | |
| deps = [ | |
| ":declaration", | |
| ":match_test_utils", | |
| ":net", | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:syntax_tree_context", | |
| "//common/text:text_structure", | |
| "//common/util:logging", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_absl//absl/strings", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "data", | |
| srcs = ["data.cc"], | |
| hdrs = ["data.h"], | |
| deps = [ | |
| ":identifier", | |
| ":verilog_matchers", # fixdeps: keep | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:tree_utils", | |
| ], | |
| ) | |
| cc_test( | |
| name = "data_test", | |
| srcs = ["data_test.cc"], | |
| deps = [ | |
| ":data", | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/text:syntax_tree_context", | |
| "//common/text:text_structure", | |
| "//common/util:logging", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_absl//absl/strings", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "package", | |
| srcs = ["package.cc"], | |
| hdrs = ["package.h"], | |
| deps = [ | |
| ":verilog_matchers", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:token_info", | |
| "//common/text:tree_utils", | |
| ], | |
| ) | |
| cc_test( | |
| name = "package_test", | |
| srcs = ["package_test.cc"], | |
| deps = [ | |
| ":match_test_utils", | |
| ":package", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:text_structure", | |
| "//common/text:token_info", | |
| "//common/util:casts", | |
| "//common/util:logging", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_absl//absl/status", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "parameters", | |
| srcs = ["parameters.cc"], | |
| hdrs = ["parameters.h"], | |
| deps = [ | |
| ":identifier", | |
| ":verilog_matchers", # fixdeps: keep | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:token_info", | |
| "//common/text:tree_utils", | |
| "//common/util:casts", | |
| "//common/util:logging", | |
| "//verilog/parser:verilog_token_enum", | |
| "@com_google_absl//absl/strings", | |
| ], | |
| ) | |
| cc_test( | |
| name = "parameters_test", | |
| srcs = ["parameters_test.cc"], | |
| deps = [ | |
| ":match_test_utils", | |
| ":parameters", | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:text_structure", | |
| "//common/text:token_info", | |
| "//common/util:casts", | |
| "//common/util:logging", | |
| "//verilog/analysis:verilog_analyzer", | |
| "//verilog/parser:verilog_token_enum", | |
| "@com_google_absl//absl/strings", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "port", | |
| srcs = ["port.cc"], | |
| hdrs = ["port.h"], | |
| deps = [ | |
| ":identifier", | |
| ":verilog_matchers", # fixdeps: keep | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:tree_utils", | |
| "//common/util:logging", | |
| ], | |
| ) | |
| cc_test( | |
| name = "port_test", | |
| srcs = ["port_test.cc"], | |
| deps = [ | |
| ":match_test_utils", | |
| ":port", | |
| ":type", | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:syntax_tree_context", | |
| "//common/text:text_structure", | |
| "//common/text:token_info", | |
| "//common/util:logging", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_absl//absl/strings", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "seq_block", | |
| srcs = ["seq_block.cc"], | |
| hdrs = ["seq_block.h"], | |
| deps = [ | |
| ":identifier", | |
| ":verilog_nonterminals", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:syntax_tree_context", | |
| "//common/text:tree_utils", | |
| "//verilog/parser:verilog_token_enum", | |
| ], | |
| ) | |
| cc_test( | |
| name = "seq_block_test", | |
| srcs = ["seq_block_test.cc"], | |
| deps = [ | |
| ":seq_block", | |
| ":verilog_matchers", | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/text:syntax_tree_context", | |
| "//common/text:text_structure", | |
| "//common/util:logging", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_absl//absl/strings", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "statement", | |
| srcs = ["statement.cc"], | |
| hdrs = ["statement.h"], | |
| deps = [ | |
| ":declaration", | |
| ":identifier", | |
| ":type", | |
| ":verilog_matchers", # fixdeps: keep | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:token_info", | |
| "//common/text:tree_utils", | |
| ], | |
| ) | |
| cc_test( | |
| name = "statement_test", | |
| srcs = ["statement_test.cc"], | |
| deps = [ | |
| ":match_test_utils", | |
| ":statement", | |
| ":verilog_matchers", | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:text_structure", | |
| "//common/text:token_info", | |
| "//common/text:token_info_test_util", | |
| "//common/util:casts", | |
| "//common/util:logging", | |
| "//common/util:range", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "tasks", | |
| srcs = ["tasks.cc"], | |
| hdrs = ["tasks.h"], | |
| deps = [ | |
| ":identifier", | |
| ":verilog_matchers", # fixdeps: keep | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:tree_utils", | |
| ], | |
| ) | |
| cc_test( | |
| name = "tasks_test", | |
| srcs = ["tasks_test.cc"], | |
| deps = [ | |
| ":identifier", | |
| ":match_test_utils", | |
| ":tasks", | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:text_structure", | |
| "//common/text:token_info", | |
| "//common/text:tree_utils", | |
| "//common/util:casts", | |
| "//common/util:logging", | |
| "//verilog/analysis:verilog_analyzer", | |
| "//verilog/parser:verilog_token_enum", | |
| "@com_google_absl//absl/strings", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "type", | |
| srcs = ["type.cc"], | |
| hdrs = ["type.h"], | |
| deps = [ | |
| ":identifier", | |
| ":verilog_matchers", # fixdeps: keep | |
| ":verilog_nonterminals", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis/matcher", | |
| "//common/analysis/matcher:matcher_builders", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:tree_utils", | |
| "//common/util:logging", | |
| "//verilog/parser:verilog_token_enum", | |
| ], | |
| ) | |
| cc_test( | |
| name = "type_test", | |
| srcs = ["type_test.cc"], | |
| deps = [ | |
| ":context_functions", | |
| ":declaration", | |
| ":match_test_utils", | |
| ":type", | |
| "//common/analysis:syntax_tree_search", | |
| "//common/analysis:syntax_tree_search_test_utils", | |
| "//common/text:text_structure", | |
| "//common/text:tree_utils", | |
| "//common/util:logging", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_library( | |
| name = "context_functions", | |
| hdrs = ["context_functions.h"], | |
| deps = [ | |
| ":verilog_nonterminals", | |
| "//common/text:syntax_tree_context", | |
| ], | |
| ) | |
| cc_library( | |
| name = "numbers", | |
| srcs = ["numbers.cc"], | |
| hdrs = ["numbers.h"], | |
| deps = [ | |
| "//common/util:logging", | |
| "@com_google_absl//absl/strings", | |
| ], | |
| ) | |
| cc_library( | |
| name = "verilog_tree_print", | |
| srcs = ["verilog_tree_print.cc"], | |
| hdrs = ["verilog_tree_print.h"], | |
| deps = [ | |
| ":verilog_nonterminals", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:token_info", | |
| "//common/text:tree_utils", | |
| "//common/util:value_saver", | |
| "//verilog/parser:verilog_parser", | |
| "@com_google_absl//absl/strings", | |
| ], | |
| ) | |
| cc_library( | |
| name = "verilog_tree_json", | |
| srcs = ["verilog_tree_json.cc"], | |
| hdrs = ["verilog_tree_json.h"], | |
| deps = [ | |
| ":verilog_nonterminals", | |
| "//common/text:concrete_syntax_leaf", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:token_info", | |
| "//common/text:token_info_json", | |
| "//common/util:value_saver", | |
| "//verilog/parser:verilog_token", | |
| "//verilog/parser:verilog_token_classifications", | |
| "@com_google_absl//absl/strings", | |
| "@jsonhpp", | |
| ], | |
| ) | |
| cc_test( | |
| name = "context_functions_test", | |
| srcs = ["context_functions_test.cc"], | |
| deps = [ | |
| ":context_functions", | |
| ":verilog_nonterminals", | |
| "//common/text:concrete_syntax_tree", | |
| "//common/text:symbol", | |
| "//common/text:syntax_tree_context", | |
| "//common/text:tree_builder_test_util", | |
| "//common/util:casts", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_test( | |
| name = "numbers_test", | |
| srcs = ["numbers_test.cc"], | |
| deps = [ | |
| ":numbers", | |
| "@com_google_absl//absl/strings", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_test( | |
| name = "verilog_tree_print_test", | |
| srcs = ["verilog_tree_print_test.cc"], | |
| deps = [ | |
| ":verilog_tree_print", | |
| "//common/text:symbol", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_absl//absl/memory", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) | |
| cc_test( | |
| name = "verilog_tree_json_test", | |
| srcs = ["verilog_tree_json_test.cc"], | |
| deps = [ | |
| ":verilog_tree_json", | |
| "//common/text:symbol", | |
| "//common/util:logging", | |
| "//verilog/analysis:verilog_analyzer", | |
| "@com_google_absl//absl/strings", | |
| "@com_google_googletest//:gtest_main", | |
| ], | |
| ) |