BUILD 3.2 KB

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