package org.ojlang.models.syswords;

import org.ojlang.models.contracts.SystemWord;
import org.ojlang.models.contracts.Word;

/**
 * @author Bahman Movaqar [Bahman AT BahmanM.com]
 */
abstract public class AbstractSystemWord implements SystemWord {

  @Override
  public int
  popAddr() {
    throw new RuntimeException("Illegal operation on a system word");
  }

  @Override
  public int
  peekAddr() {
    throw new RuntimeException("Illegal operation on a system word");
  }

  @Override
  public Word
  pushAddr(
    int addr
  ) {
    throw new RuntimeException("Illegal operation on a system word");
  }

  @Override
  public String name() {
    return null;
  }

  @Override
  final public boolean
  isSystemWord() {
    return false;
  }

}

@@ -30,16 +30,56 @@
 words;%0A%0A
+import org.ojlang.models.MemoryAddress;%0A
 import o
@@ -554,19 +554,29 @@
 dr(%0A    
-int
+MemoryAddress
  addr%0A  

use MemoryAddress instead of simple int