BUILD 2.6 KB

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