BUILD 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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. package(default_visibility = ["//executable_semantics:__subpackages__"])
  5. cc_library(
  6. name = "ast",
  7. hdrs = ["ast.h"],
  8. deps = [
  9. ":declaration",
  10. ":library_name",
  11. ],
  12. )
  13. cc_library(
  14. name = "class_definition",
  15. hdrs = ["class_definition.h"],
  16. deps = [
  17. ":member",
  18. ":source_location",
  19. "//common:ostream",
  20. "@llvm-project//llvm:Support",
  21. ],
  22. )
  23. cc_library(
  24. name = "declaration",
  25. srcs = ["declaration.cpp"],
  26. hdrs = [
  27. "declaration.h",
  28. ],
  29. deps = [
  30. ":class_definition",
  31. ":member",
  32. ":pattern",
  33. ":source_location",
  34. ":statement",
  35. "//common:ostream",
  36. "//executable_semantics/common:nonnull",
  37. "@llvm-project//llvm:Support",
  38. ],
  39. )
  40. cc_library(
  41. name = "expression",
  42. srcs = ["expression.cpp"],
  43. hdrs = ["expression.h"],
  44. deps = [
  45. ":paren_contents",
  46. "//common:indirect_value",
  47. "//common:ostream",
  48. "//executable_semantics/common:arena",
  49. "//executable_semantics/common:error",
  50. "@llvm-project//llvm:Support",
  51. ],
  52. )
  53. cc_test(
  54. name = "expression_test",
  55. srcs = ["expression_test.cpp"],
  56. deps = [
  57. ":expression",
  58. ":paren_contents",
  59. "@llvm-project//llvm:gtest",
  60. "@llvm-project//llvm:gtest_main",
  61. ],
  62. )
  63. cc_library(
  64. name = "member",
  65. srcs = ["member.cpp"],
  66. hdrs = ["member.h"],
  67. deps = [
  68. ":pattern",
  69. ":source_location",
  70. "//common:ostream",
  71. ],
  72. )
  73. cc_library(
  74. name = "library_name",
  75. hdrs = ["library_name.h"],
  76. )
  77. cc_library(
  78. name = "paren_contents",
  79. hdrs = ["paren_contents.h"],
  80. deps = [
  81. ":source_location",
  82. "//executable_semantics/common:error",
  83. ],
  84. )
  85. cc_library(
  86. name = "pattern",
  87. srcs = ["pattern.cpp"],
  88. hdrs = ["pattern.h"],
  89. deps = [
  90. ":expression",
  91. ":source_location",
  92. "//common:ostream",
  93. "//executable_semantics/common:arena",
  94. "//executable_semantics/common:error",
  95. "@llvm-project//llvm:Support",
  96. ],
  97. )
  98. cc_test(
  99. name = "pattern_test",
  100. srcs = ["pattern_test.cpp"],
  101. deps = [
  102. ":paren_contents",
  103. ":pattern",
  104. "@llvm-project//llvm:Support",
  105. "@llvm-project//llvm:gtest",
  106. "@llvm-project//llvm:gtest_main",
  107. ],
  108. )
  109. cc_library(
  110. name = "source_location",
  111. hdrs = ["source_location.h"],
  112. deps = ["//common:ostream"],
  113. )
  114. cc_library(
  115. name = "statement",
  116. srcs = ["statement.cpp"],
  117. hdrs = ["statement.h"],
  118. deps = [
  119. ":expression",
  120. ":pattern",
  121. ":source_location",
  122. "//common:check",
  123. "//common:ostream",
  124. "//executable_semantics/common:arena",
  125. "@llvm-project//llvm:Support",
  126. ],
  127. )