# memory segments
LOCAL="local"
ARGUMENT="argument"
THIS="this"
THAT="that"
CONSTANT="constant"
STATIC="static"
POINTER="pointer"
TEMP="temp"

# arithmetic commands
ADD="add"
SUB="sub"
NEG="neg"
EQ="eq"
GT="gt"
LT="lt"
AND="and"
OR="or"
NOT="not"    

# stack commands
POP="pop"
PUSH="push"

# command type
MEMORY_ACCESS=1
ARITHMETIC=2