diff --git a/executable_semantics/BUILD b/executable_semantics/BUILD index 7809520bf4c6..580da61a327c 100644 --- a/executable_semantics/BUILD +++ b/executable_semantics/BUILD @@ -12,18 +12,12 @@ cc_binary( name = "executable_semantics", srcs = ["main.cpp"], deps = [ + "//executable_semantics/common:tracing_flag", "//executable_semantics/syntax", "@llvm-project//llvm:Support", ], ) -cc_library( - name = "tracing_flag", - srcs = ["tracing_flag.cpp"], - hdrs = ["tracing_flag.h"], - visibility = ["//executable_semantics:__subpackages__"], -) - EXAMPLES = [ "assignment_copy1", "assignment_copy2", diff --git a/executable_semantics/common/BUILD b/executable_semantics/common/BUILD new file mode 100644 index 000000000000..4c4d91e9b6ac --- /dev/null +++ b/executable_semantics/common/BUILD @@ -0,0 +1,12 @@ +# Part of the Carbon Language project, under the Apache License v2.0 with LLVM +# Exceptions. See /LICENSE for license information. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +package(default_visibility = ["//executable_semantics:__subpackages__"]) + +cc_library( + name = "tracing_flag", + srcs = ["tracing_flag.cpp"], + hdrs = ["tracing_flag.h"], + visibility = ["//executable_semantics:__subpackages__"], +) diff --git a/executable_semantics/tracing_flag.cpp b/executable_semantics/common/tracing_flag.cpp similarity index 74% rename from executable_semantics/tracing_flag.cpp rename to executable_semantics/common/tracing_flag.cpp index 0bdf55191420..11200771ba75 100644 --- a/executable_semantics/tracing_flag.cpp +++ b/executable_semantics/common/tracing_flag.cpp @@ -2,11 +2,10 @@ // Exceptions. See /LICENSE for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -#include "executable_semantics/tracing_flag.h" +#include "executable_semantics/common/tracing_flag.h" namespace Carbon { -// Program option to enable/disable tracing. bool tracing_output = false; } // namespace Carbon diff --git a/executable_semantics/tracing_flag.h b/executable_semantics/common/tracing_flag.h similarity index 66% rename from executable_semantics/tracing_flag.h rename to executable_semantics/common/tracing_flag.h index 752ca67c8d6c..a22ae9f91c25 100644 --- a/executable_semantics/tracing_flag.h +++ b/executable_semantics/common/tracing_flag.h @@ -2,8 +2,8 @@ // Exceptions. See /LICENSE for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -#ifndef EXECUTABLE_SEMANTICS_TRACING_FLAG_H_ -#define EXECUTABLE_SEMANTICS_TRACING_FLAG_H_ +#ifndef EXECUTABLE_SEMANTICS_COMMON_TRACING_FLAG_H_ +#define EXECUTABLE_SEMANTICS_COMMON_TRACING_FLAG_H_ namespace Carbon { @@ -12,4 +12,4 @@ extern bool tracing_output; } // namespace Carbon -#endif // EXECUTABLE_SEMANTICS_TRACING_FLAG_H_ +#endif // EXECUTABLE_SEMANTICS_COMMON_TRACING_FLAG_H_ diff --git a/executable_semantics/interpreter/BUILD b/executable_semantics/interpreter/BUILD index 4f4c1a6963b9..de9f37d0366d 100644 --- a/executable_semantics/interpreter/BUILD +++ b/executable_semantics/interpreter/BUILD @@ -87,10 +87,10 @@ cc_library( ":value", "//common:check", "//common:ostream", - "//executable_semantics:tracing_flag", "//executable_semantics/ast:declaration", "//executable_semantics/ast:expression", "//executable_semantics/ast:function_definition", + "//executable_semantics/common:tracing_flag", ], ) @@ -102,10 +102,10 @@ cc_library( ":containers", ":interpreter", "//common:ostream", - "//executable_semantics:tracing_flag", "//executable_semantics/ast:expression", "//executable_semantics/ast:function_definition", "//executable_semantics/ast:statement", + "//executable_semantics/common:tracing_flag", ], ) diff --git a/executable_semantics/interpreter/interpreter.cpp b/executable_semantics/interpreter/interpreter.cpp index 161dc36afdaf..cd7aba041381 100644 --- a/executable_semantics/interpreter/interpreter.cpp +++ b/executable_semantics/interpreter/interpreter.cpp @@ -14,10 +14,10 @@ #include "common/check.h" #include "executable_semantics/ast/expression.h" #include "executable_semantics/ast/function_definition.h" +#include "executable_semantics/common/tracing_flag.h" #include "executable_semantics/interpreter/action.h" #include "executable_semantics/interpreter/frame.h" #include "executable_semantics/interpreter/stack.h" -#include "executable_semantics/tracing_flag.h" namespace Carbon { diff --git a/executable_semantics/interpreter/typecheck.cpp b/executable_semantics/interpreter/typecheck.cpp index 68565d29900c..6e33ddaf0e4f 100644 --- a/executable_semantics/interpreter/typecheck.cpp +++ b/executable_semantics/interpreter/typecheck.cpp @@ -11,8 +11,8 @@ #include #include "executable_semantics/ast/function_definition.h" +#include "executable_semantics/common/tracing_flag.h" #include "executable_semantics/interpreter/interpreter.h" -#include "executable_semantics/tracing_flag.h" namespace Carbon { diff --git a/executable_semantics/main.cpp b/executable_semantics/main.cpp index a37186121383..857b08d68010 100644 --- a/executable_semantics/main.cpp +++ b/executable_semantics/main.cpp @@ -6,9 +6,9 @@ #include #include +#include "executable_semantics/common/tracing_flag.h" #include "executable_semantics/syntax/parse.h" #include "executable_semantics/syntax/syntax_helpers.h" -#include "executable_semantics/tracing_flag.h" #include "llvm/Support/CommandLine.h" int main(int argc, char* argv[]) { diff --git a/executable_semantics/syntax/BUILD b/executable_semantics/syntax/BUILD index 50788bf42472..b317a01db2fe 100644 --- a/executable_semantics/syntax/BUILD +++ b/executable_semantics/syntax/BUILD @@ -30,9 +30,9 @@ cc_library( deps = [ ":paren_contents", "//common:ostream", - "//executable_semantics:tracing_flag", "//executable_semantics/ast:declaration", "//executable_semantics/ast:expression", + "//executable_semantics/common:tracing_flag", "//executable_semantics/interpreter", "//executable_semantics/interpreter:typecheck", ], diff --git a/executable_semantics/syntax/lexer.lpp b/executable_semantics/syntax/lexer.lpp index d70bfe2e0ec3..b23faea6e71f 100644 --- a/executable_semantics/syntax/lexer.lpp +++ b/executable_semantics/syntax/lexer.lpp @@ -8,7 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception #include #include -#include "executable_semantics/tracing_flag.h" +#include "executable_semantics/common/tracing_flag.h" #include "executable_semantics/syntax/parse_and_lex_context.h" #include "llvm/ADT/StringExtras.h" %} diff --git a/executable_semantics/syntax/parse.cpp b/executable_semantics/syntax/parse.cpp index 0ae4be4e3370..2516156f5280 100644 --- a/executable_semantics/syntax/parse.cpp +++ b/executable_semantics/syntax/parse.cpp @@ -6,9 +6,9 @@ #include +#include "executable_semantics/common/tracing_flag.h" #include "executable_semantics/syntax/parse_and_lex_context.h" #include "executable_semantics/syntax/parser.h" -#include "executable_semantics/tracing_flag.h" extern FILE* yyin; diff --git a/executable_semantics/syntax/syntax_helpers.cpp b/executable_semantics/syntax/syntax_helpers.cpp index db42c37abf2e..9eb9da1354d9 100644 --- a/executable_semantics/syntax/syntax_helpers.cpp +++ b/executable_semantics/syntax/syntax_helpers.cpp @@ -5,9 +5,9 @@ #include "executable_semantics/syntax/syntax_helpers.h" #include "common/ostream.h" +#include "executable_semantics/common/tracing_flag.h" #include "executable_semantics/interpreter/interpreter.h" #include "executable_semantics/interpreter/typecheck.h" -#include "executable_semantics/tracing_flag.h" namespace Carbon {