コード例 #1
0
ファイル: parser.py プロジェクト: sigma-random/d00ks
def p_registerlist_item_range(p):
	'registerlist_item : register TO register'
	start = p[1]
	end = p[3]
	if start.value not in range(0, 16) or end.value not in range(0, 16):
		raise SyntaxError("Invalid registers %s-%s"%(str(start), str(end)))
	ls = []
	for i in range(start.value, end.value+1):
		ls.append(instruction.reg(i))
	p[0] = ls
コード例 #2
0
ファイル: parser.py プロジェクト: sigma-random/d00ks
def p_registerlist_item_range(p):
    'registerlist_item : register TO register'
    start = p[1]
    end = p[3]
    if start.value not in range(0, 16) or end.value not in range(0, 16):
        raise SyntaxError("Invalid registers %s-%s" % (str(start), str(end)))
    ls = []
    for i in range(start.value, end.value + 1):
        ls.append(instruction.reg(i))
    p[0] = ls
コード例 #3
0
ファイル: parser.py プロジェクト: sigma-random/d00ks
def p_register_pc(p):
	'register : PC'
	p[0] = instruction.reg(15)
コード例 #4
0
ファイル: parser.py プロジェクト: sigma-random/d00ks
def p_register_lr(p):
	'register : LR'
	p[0] = instruction.reg(14)
コード例 #5
0
ファイル: parser.py プロジェクト: sigma-random/d00ks
def p_register_sp(p):
	'register : SP'
	p[0] = instruction.reg(13)
コード例 #6
0
ファイル: parser.py プロジェクト: sigma-random/d00ks
def p_register_fp(p):
	'register : IP'
	p[0] = instruction.reg(12)
コード例 #7
0
def t_REGISTER(t):
    r'[Rr]\d?\d'
    t.value = instruction.reg(int(t.value[1:]))
    return t
コード例 #8
0
ファイル: lexer.py プロジェクト: sigma-random/d00ks
def t_REGISTER(t):
	r'[Rr]\d?\d'
	t.value = instruction.reg(int(t.value[1:]))
	return t
コード例 #9
0
ファイル: parser.py プロジェクト: sigma-random/d00ks
def p_register_pc(p):
    'register : PC'
    p[0] = instruction.reg(15)
コード例 #10
0
ファイル: parser.py プロジェクト: sigma-random/d00ks
def p_register_lr(p):
    'register : LR'
    p[0] = instruction.reg(14)
コード例 #11
0
ファイル: parser.py プロジェクト: sigma-random/d00ks
def p_register_sp(p):
    'register : SP'
    p[0] = instruction.reg(13)
コード例 #12
0
ファイル: parser.py プロジェクト: sigma-random/d00ks
def p_register_fp(p):
    'register : IP'
    p[0] = instruction.reg(12)