Ejemplo n.º 1
0
    'aaddrof': lambda x:CA.CAttrAddrOf(*x),
    'aindex': lambda x:CA.CAttrIndex(*x),
    'aquestion': lambda x:CA.CAttrQuestion(*x)
    }

constant_constructors = {
    'int': lambda x:CC.CConstInt(*x),
    'str': lambda x:CC.CConstStr(*x),
    'wstr': lambda x:CC.CConstWStr(*x),
    'chr': lambda x:CC.CConstChr(*x),
    'real': lambda x:CC.CConstReal(*x),
    'enum': lambda x:CC.CConstEnum(*x)
    }

exp_constructors = {
    'const': lambda x:CE.CExpConst(*x),
    'lval': lambda x:CE.CExpLval(*x),
    'sizeof': lambda x:CE.CExpSizeOf(*x),
    'sizeofe': lambda x:CE.CExpSizeOfE(*x),
    'sizeofstr': lambda x:CE.CExpSizeOfStr(*x),
    'alignof': lambda x:CE.CExpAlignOf(*x),
    'alignofe': lambda x:CE.CExpAlignOfE(*x),
    'unop': lambda x:CE.CExpUnOp(*x),
    'binop': lambda x:CE.CExpBinOp(*x),
    'question': lambda x:CE.CExpQuestion(*x),
    'caste': lambda x:CE.CExpCastE(*x),
    'addrof': lambda x:CE.CExpAddrOf(*x),
    'addroflabel': lambda x:CE.CExpAddrOfLabel(*x),
    'startof': lambda x:CE.CExpStartOf(*x),
    'fnapp': lambda x:CE.CExpFnApp(*x),
    'cnapp': lambda x:CE.CExpCnApp(*x)
Ejemplo n.º 2
0
 def f(index,key): return CE.CExpLval(self,index,e.tags,args)
 return self.exp_table.add(IT.get_key(e.tags,args),f)
Ejemplo n.º 3
0
 def f(index, key):
     return CE.CExpLval(self, index, tags, args)