BUILD 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. # Part of the Carbon Language project, under the Apache License v2.0 with LLVM
  2. # Exceptions. See /LICENSE for license information.
  3. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. load("@rules_cc//cc:defs.bzl", "cc_library")
  5. package(default_visibility = ["//executable_semantics:__subpackages__"])
  6. cc_library(
  7. name = "declaration",
  8. srcs = ["declaration.cpp"],
  9. hdrs = [
  10. "abstract_syntax_tree.h",
  11. "declaration.h",
  12. ],
  13. deps = [
  14. ":class_definition",
  15. ":function_definition",
  16. ":member",
  17. ":pattern",
  18. "//common:ostream",
  19. "//executable_semantics/common:ptr",
  20. "@llvm-project//llvm:Support",
  21. ],
  22. )
  23. cc_library(
  24. name = "expression",
  25. srcs = ["expression.cpp"],
  26. hdrs = ["expression.h"],
  27. deps = [
  28. ":paren_contents",
  29. "//common:indirect_value",
  30. "//common:ostream",
  31. "//executable_semantics/common:arena",
  32. "//executable_semantics/common:error",
  33. "@llvm-project//llvm:Support",
  34. ],
  35. )
  36. cc_test(
  37. name = "expression_test",
  38. srcs = ["expression_test.cpp"],
  39. deps = [
  40. ":expression",
  41. ":paren_contents",
  42. "@llvm-project//llvm:gtest",
  43. "@llvm-project//llvm:gtest_main",
  44. ],
  45. )
  46. cc_library(
  47. name = "function_definition",
  48. srcs = ["function_definition.cpp"],
  49. hdrs = ["function_definition.h"],
  50. deps = [
  51. ":expression",
  52. ":statement",
  53. "@llvm-project//llvm:Support",
  54. ],
  55. )
  56. cc_library(
  57. name = "member",
  58. srcs = ["member.cpp"],
  59. hdrs = ["member.h"],
  60. deps = [
  61. ":pattern",
  62. "//common:ostream",
  63. ],
  64. )
  65. cc_library(
  66. name = "paren_contents",
  67. hdrs = ["paren_contents.h"],
  68. )
  69. cc_library(
  70. name = "pattern",
  71. srcs = ["pattern.cpp"],
  72. hdrs = ["pattern.h"],
  73. deps = [
  74. ":expression",
  75. "//common:ostream",
  76. "//executable_semantics/common:arena",
  77. "//executable_semantics/common:error",
  78. "@llvm-project//llvm:Support",
  79. ],
  80. )
  81. cc_test(
  82. name = "pattern_test",
  83. srcs = ["pattern_test.cpp"],
  84. deps = [
  85. ":paren_contents",
  86. ":pattern",
  87. "@llvm-project//llvm:Support",
  88. "@llvm-project//llvm:gtest",
  89. "@llvm-project//llvm:gtest_main",
  90. ],
  91. )
  92. cc_library(
  93. name = "statement",
  94. srcs = ["statement.cpp"],
  95. hdrs = ["statement.h"],
  96. deps = [
  97. ":expression",
  98. ":pattern",
  99. "//common:check",
  100. "//common:ostream",
  101. "//executable_semantics/common:arena",
  102. "@llvm-project//llvm:Support",
  103. ],
  104. )
  105. cc_library(
  106. name = "class_definition",
  107. hdrs = ["class_definition.h"],
  108. deps = [
  109. ":member",
  110. "//common:ostream",
  111. "@llvm-project//llvm:Support",
  112. ],
  113. )