BUILD 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  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:__pkg__"])
  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 = "exec_program",
  36. srcs = ["exec_program.cpp"],
  37. hdrs = ["exec_program.h"],
  38. deps = [
  39. ":interpreter",
  40. ":type_checker",
  41. "//executable_semantics/ast",
  42. ],
  43. )
  44. cc_library(
  45. name = "field_path",
  46. hdrs = ["field_path.h"],
  47. deps = [
  48. "//common:ostream",
  49. "@llvm-project//llvm:Support",
  50. ],
  51. )
  52. cc_library(
  53. name = "frame",
  54. srcs = ["frame.cpp"],
  55. hdrs = ["frame.h"],
  56. deps = [
  57. ":action",
  58. ":address",
  59. ":dictionary",
  60. ":stack",
  61. "//common:ostream",
  62. "@llvm-project//llvm:Support",
  63. ],
  64. )
  65. cc_library(
  66. name = "heap",
  67. srcs = ["heap.cpp"],
  68. hdrs = ["heap.h"],
  69. deps = [
  70. ":address",
  71. ":value",
  72. "//common:ostream",
  73. "@llvm-project//llvm:Support",
  74. ],
  75. )
  76. cc_library(
  77. name = "interpreter",
  78. srcs = [
  79. "interpreter.cpp",
  80. ],
  81. hdrs = [
  82. "interpreter.h",
  83. ],
  84. deps = [
  85. ":action",
  86. ":address",
  87. ":frame",
  88. ":heap",
  89. ":value",
  90. "//common:check",
  91. "//common:ostream",
  92. "//executable_semantics/ast:declaration",
  93. "//executable_semantics/ast:expression",
  94. "//executable_semantics/ast:function_definition",
  95. "//executable_semantics/common:arena",
  96. "//executable_semantics/common:tracing_flag",
  97. "@llvm-project//llvm:Support",
  98. ],
  99. )
  100. cc_library(
  101. name = "stack",
  102. hdrs = ["stack.h"],
  103. deps = ["//common:check"],
  104. )
  105. cc_library(
  106. name = "type_checker",
  107. srcs = ["type_checker.cpp"],
  108. hdrs = ["type_checker.h"],
  109. deps = [
  110. ":dictionary",
  111. ":interpreter",
  112. "//common:ostream",
  113. "//executable_semantics/ast:expression",
  114. "//executable_semantics/ast:function_definition",
  115. "//executable_semantics/ast:statement",
  116. "//executable_semantics/common:arena",
  117. "//executable_semantics/common:tracing_flag",
  118. "@llvm-project//llvm:Support",
  119. ],
  120. )
  121. cc_library(
  122. name = "value",
  123. srcs = ["value.cpp"],
  124. hdrs = ["value.h"],
  125. deps = [
  126. ":address",
  127. ":field_path",
  128. ":stack",
  129. "//common:ostream",
  130. "//executable_semantics/ast:function_definition",
  131. "//executable_semantics/ast:statement",
  132. "//executable_semantics/common:arena",
  133. "//executable_semantics/common:error",
  134. "@llvm-project//llvm:Support",
  135. ],
  136. )