瀏覽代碼

Made available operators "<<", ">>", "<<?" and ">>?" for overloading.

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@6491 8c9fc860-2736-0410-a75d-ab315db34111
felixf 9 年之前
父節點
當前提交
abfd9d4167
共有 2 個文件被更改,包括 7 次插入0 次删除
  1. 3 0
      source/FoxGlobal.Mod
  2. 4 0
      source/FoxSemanticChecker.Mod

+ 3 - 0
source/FoxGlobal.Mod

@@ -932,6 +932,9 @@ TYPE
 		
 		OperatorDefined(system, Scanner.Questionmarks, TRUE);
 
+		OperatorDefined(system, Scanner.GreaterGreater, TRUE);
+		OperatorDefined(system, Scanner.LessLess, TRUE);
+
 	END SetDefaultOperators;
 
 	PROCEDURE DefaultSystem*(): System;

+ 4 - 0
source/FoxSemanticChecker.Mod

@@ -6913,6 +6913,10 @@ TYPE
 						| Global.All: (* TODO: arity? *)
 						| Global.Dim: mustBeUnary := TRUE; mustReturnInteger := TRUE;
 						| Scanner.Alias:
+						| Scanner.GreaterGreater, Scanner.LessLess:
+							mustBeBinary := TRUE;
+						| Scanner.GreaterGreaterQ, Scanner.LessLessQ:
+							mustBeBinary := TRUE; mustReturnBoolean := TRUE;
 						END;
 
 						(* check parameter count *)