BUILD 2.7 KB

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