예제 #1
0
 public static void IsExecutionToken(Forth f)
 {
     bool b = (f.dStack.Top is ExecutionToken);
     f.dStack.Pop();
     f.PushBool(b);
 }
예제 #2
0
 public static void Not(Forth f)
 {
     bool b = f.PopBool();
     f.PushBool(!b);
 }
예제 #3
0
 public static void IsLong(Forth f)
 {
     bool b = (f.dStack.Top is long);
     f.dStack.Pop();
     f.PushBool(b);
 }
예제 #4
0
 public static void IsNotGreaterThanUnsigned(Forth f)
 {
     ulong b = f.PopUInt64();
     ulong a = f.PopUInt64();
     f.PushBool(a <= b);
 }
예제 #5
0
 public static void IsNotLessThanUnsigned(Forth f)
 {
     ulong b = f.PopUInt64();
     ulong a = f.PopUInt64();
     f.PushBool(a >= b);
 }
예제 #6
0
 public static void IsNotGreaterThan(Forth f)
 {
     long b = f.PopInt64();
     long a = f.PopInt64();
     f.PushBool(a <= b);
 }
예제 #7
0
 public static void IsNotLessThan(Forth f)
 {
     long b = f.PopInt64();
     long a = f.PopInt64();
     f.PushBool(a >= b);
 }
예제 #8
0
 public static void Equals(Forth f)
 {
     ulong b = f.PopUInt64();
     ulong a = f.PopUInt64();
     f.PushBool(a == b);
 }
예제 #9
0
 public static void DoesNotEqual(Forth f)
 {
     ulong b = f.PopUInt64();
     ulong a = f.PopUInt64();
     f.PushBool(a != b);
 }
예제 #10
0
 public static void Within(Forth f)
 {
     long end = f.PopInt64();
     long begin = f.PopInt64();
     long mid = f.PopInt64();
     f.PushBool(Within(begin, mid, end));
 }
예제 #11
0
 public static void False(Forth f)
 {
     f.PushBool(false);
 }
예제 #12
0
 public static void True(Forth f)
 {
     f.PushBool(true);
 }
예제 #13
0
 public static void IsRealMemory(Forth f)
 {
     object obj = f.dStack.Pop();
     f.PushBool(obj is MemoryAccessor);
 }
예제 #14
0
 public static void IsBytes(Forth f)
 {
     object obj = f.dStack.Pop();
     f.PushBool(obj is byte[]);
 }