def f(index, key): return ST.STArithmeticExpr(self, index, tags, args)
'fo': lambda x: ST.STArgFieldOffset(*x), 'io': lambda x: ST.STArgIndexOffset(*x) } s_term_constructors = { 'av': lambda x: ST.STArgValue(*x), 'rv': lambda x: ST.STReturnValue(*x), 'nc': lambda x: ST.STNamedConstant(*x), 'ic': lambda x: ST.STNumConstant(*x), 'is': lambda x: ST.STIndexSize(*x), 'bs': lambda x: ST.STByteSize(*x), 'fo': lambda x: ST.STFieldOffset(*x), 'aa': lambda x: ST.STArgAddressedValue(*x), 'at': lambda x: ST.STArgNullTerminatorPos(*x), 'st': lambda x: ST.STArgSizeOfType(*x), 'ax': lambda x: ST.STArithmeticExpr(*x), 'fs': lambda x: ST.STFormattedOutputSize(*x), 'rt': lambda x: ST.STRuntimeValue(*x) } xpredicate_constructors = { 'ab': lambda x: XP.XAllocationBase(*x), 'bw': lambda x: XP.XBlockWrite(*x), 'b': lambda x: XP.XBuffer(*x), 'c': lambda x: XP.XConstTerm(*x), 'cr': lambda x: XP.XControlledResource(*x), 'f': lambda x: XP.XFalse(*x), 'fi': lambda x: XP.XFormattedInput(*x), 'fr': lambda x: XP.XFreed(*x), 'fn': lambda x: XP.XFunctional(*x), 'ga': lambda x: XP.XGlobalAddress(*x),