Introduce `--incompatible_disallow_slash_operator` to disable `/` operator.

RELNOTES:
  The `/` operator is deprecated in favor of `//` (floor integer division).
  Try the `--incompatible_disallow_slash_operator` flag to ensure your code
  is forward-compatible.
PiperOrigin-RevId: 192430310
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/BinaryOperatorExpression.java b/src/main/java/com/google/devtools/build/lib/syntax/BinaryOperatorExpression.java
index b1f835c..283fd57 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/BinaryOperatorExpression.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/BinaryOperatorExpression.java
@@ -205,6 +205,15 @@
           return mult(lhs, rhs, env, location);
 
         case DIVIDE:
+          if (env.getSemantics().incompatibleDisallowSlashOperator()) {
+            throw new EvalException(
+                location,
+                "The `/` operator has been removed. Please use the `//` operator for integer "
+                    + "division. You can temporarily enable the `/` operator by passing "
+                    + "the flag --incompatible_disallow_slash_operator=false");
+          }
+          return divide(lhs, rhs, location);
+
         case FLOOR_DIVIDE:
           return divide(lhs, rhs, location);
 
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java
index e0ef87f..b6665c4 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemantics.java
@@ -53,6 +53,8 @@
 
   public abstract boolean incompatibleDisallowOldStyleArgsAdd();
 
+  public abstract boolean incompatibleDisallowSlashOperator();
+
   public abstract boolean incompatibleDisallowToplevelIfStatement();
 
   public abstract boolean incompatibleNewActionsApi();
@@ -89,6 +91,7 @@
           .incompatibleDisableObjcProviderResources(false)
           .incompatibleDisallowDictPlus(false)
           .incompatibleDisallowOldStyleArgsAdd(false)
+          .incompatibleDisallowSlashOperator(false)
           .incompatibleDisallowToplevelIfStatement(true)
           .incompatibleNewActionsApi(false)
           .incompatiblePackageNameIsAFunction(false)
@@ -117,6 +120,8 @@
 
     public abstract Builder incompatibleDisallowOldStyleArgsAdd(boolean value);
 
+    public abstract Builder incompatibleDisallowSlashOperator(boolean value);
+
     public abstract Builder incompatibleDisallowToplevelIfStatement(boolean value);
 
     public abstract Builder incompatibleNewActionsApi(boolean value);