BUILD 3.1 KB

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