public class ByteCodeInterpreter
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int |
ADDBY |
static int |
addr |
static int |
CALL |
static int |
CALLNOT |
static int |
CHAR_STAR_START |
static int |
charStarAddress |
static java.lang.Object[][] |
code |
static java.lang.String |
currentFunction |
static java.util.Stack<java.lang.String> |
currentFunctionStack |
static boolean |
debug |
static java.util.Stack<DoMe> |
doMes |
static int |
EQ |
static int |
FCALL |
static int |
filePtrAddr |
static FilePtr[] |
filePtrArray |
static java.util.Map<java.lang.String,java.lang.Integer> |
filePtrMap |
static Typedef |
functionPointer |
static int |
GOTO |
static int |
HALT |
static int |
INVERT |
static int |
JCALL |
static java.util.Map<java.lang.String,java.lang.Integer> |
jcalls |
static int |
LABEL |
static java.util.Map<java.lang.String,java.lang.Integer> |
labels |
static int |
MALLOC_SIZE |
static int |
MALLOC_START |
static int |
mallocAddress |
static java.util.Map<java.lang.String,IntOrDob> |
mapRegs |
static int |
MEM_SIZE |
static int |
MOVE |
static int |
MULTI_REGISTERS_START |
static int |
MULTIPLYBY |
static int |
NEGATE |
static int |
NEWVAR |
static int |
NOP |
static int |
NOT |
static int |
NULL_POINTER_START |
static int |
POP |
static int |
PPOP |
static int |
PPUSH |
static int |
PRINT |
static int |
PUSH |
static int |
PUSHX |
static IntOrDob[] |
ram |
static int |
RAM_START |
static int |
ramAddress |
static int |
RETURN |
static java.util.Stack<java.lang.Integer> |
returnValues |
static java.util.Set<java.lang.String> |
set |
static int |
sp |
static java.util.Stack<java.lang.Character> |
stackx |
static int |
STROBE |
static int |
SUBTRACTBY |
static java.util.Stack<java.util.Stack<java.util.Map<java.lang.String,Variable>>> |
varMap |
static int |
XIF |
static int |
XXIF |
Constructor and Description |
---|
ByteCodeInterpreter() |
Modifier and Type | Method and Description |
---|---|
static void |
addVar(java.lang.String var,
int addr,
IntOrDob init) |
static void |
addVars() |
static java.lang.String |
charArray2String(int addr) |
static Variable |
computeVariable(java.lang.String s) |
static java.lang.Integer |
computeVariableAddr(java.lang.String s) |
static java.util.Map<java.lang.String,Variable> |
computeVariableMap(java.lang.String s) |
static boolean |
evaluate() |
static boolean |
inset(java.lang.String s) |
static void |
interpret() |
static void |
main(java.lang.String[] args) |
static java.lang.String |
makeString(int n,
char ch) |
static java.lang.String |
printChar(char ch) |
static java.lang.String |
printCode() |
static java.lang.String |
printFilePtrArray() |
static java.lang.String |
printInlines() |
static java.lang.String |
printLine(int addr) |
static void |
printLOC(int addr) |
static void |
printMemoryAddress(int addr2) |
static java.lang.String |
printn(int n,
int addr,
char ch) |
static java.lang.String |
printRAM(boolean compressed,
int start,
int howMany) |
static java.lang.String |
printRegisters(boolean compressed) |
static java.lang.String |
printRVs(boolean compressed) |
static java.lang.String |
printStack(boolean compressed,
int size) |
static java.lang.String |
printVariables(boolean compressed) |
static void |
processCode(java.lang.String filename) |
static java.lang.String |
smeg() |
static int |
string2CharArray(java.lang.String s,
int startAddress) |
static int |
ten2pow(int n) |
public static boolean debug
public static final int CALL
public static final int CALLNOT
public static final int MOVE
public static final int POP
public static final int PUSH
public static final int NEGATE
public static final int NOT
public static final int MULTIPLYBY
public static final int LABEL
public static final int GOTO
public static final int NOP
public static final int ADDBY
public static final int SUBTRACTBY
public static final int FCALL
public static final int JCALL
public static final int RETURN
public static final int EQ
public static final int PPUSH
public static final int PPOP
public static final int NEWVAR
public static final int HALT
public static final int STROBE
public static final int XIF
public static final int XXIF
public static final int INVERT
public static final int PRINT
public static final int PUSHX
public static final int MEM_SIZE
public static java.lang.Object[][] code
public static int addr
public static java.util.Map<java.lang.String,IntOrDob> mapRegs
public static IntOrDob[] ram
public static FilePtr[] filePtrArray
public static java.util.Map<java.lang.String,java.lang.Integer> filePtrMap
public static int filePtrAddr
public static java.util.Map<java.lang.String,java.lang.Integer> labels
public static java.util.Map<java.lang.String,java.lang.Integer> jcalls
public static int sp
public static final int RAM_START
public static int ramAddress
public static final int NULL_POINTER_START
public static final int MULTI_REGISTERS_START
public static final int CHAR_STAR_START
public static int charStarAddress
public static final int MALLOC_START
public static final int MALLOC_SIZE
public static int mallocAddress
public static java.util.Stack<java.lang.String> currentFunctionStack
public static java.util.Stack<java.util.Stack<java.util.Map<java.lang.String,Variable>>> varMap
public static java.util.Stack<DoMe> doMes
public static java.util.Stack<java.lang.Integer> returnValues
public static Typedef functionPointer
public static java.util.Stack<java.lang.Character> stackx
public static java.lang.String currentFunction
public static java.util.Set<java.lang.String> set
public static void addVar(java.lang.String var, int addr, IntOrDob init)
public static void addVars()
public static int string2CharArray(java.lang.String s, int startAddress)
public static java.lang.String charArray2String(int addr)
public static java.lang.String printCode()
public static java.lang.String printStack(boolean compressed, int size)
public static java.lang.String printRAM(boolean compressed, int start, int howMany)
public static java.lang.String printVariables(boolean compressed)
public static java.lang.String printRegisters(boolean compressed)
public static java.lang.String printInlines()
public static java.lang.String printRVs(boolean compressed)
public static java.lang.String smeg()
public static void printLOC(int addr)
public static java.lang.String printChar(char ch)
public static Variable computeVariable(java.lang.String s)
public static java.lang.Integer computeVariableAddr(java.lang.String s)
public static java.util.Map<java.lang.String,Variable> computeVariableMap(java.lang.String s)
public static boolean evaluate()
public static void interpret()
public static java.lang.String printLine(int addr)
public static java.lang.String makeString(int n, char ch)
public static int ten2pow(int n)
public static java.lang.String printn(int n, int addr, char ch)
public static void printMemoryAddress(int addr2)
public static java.lang.String printFilePtrArray()
public static boolean inset(java.lang.String s)
public static void processCode(java.lang.String filename)
public static void main(java.lang.String[] args)