BUILD 2.8 KB

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