Exemplo n.º 1
0
translate = Translator(env, rename_type)
translate.blacklist.update([
    'pollfd', # recursive rule
    '_IO_marker', # recursive rule
    '_IO_FILE', # recursive rule
])
translate.bluelist.update({
    'snd_seq_real_time': 'seq_real_time',
    'snd_dlsym_link': 'dlsym_link',
})

constants = {}
variables = {}

for name, value in env.constants.iteritems():
    if re.match(r'^SND_\w', name):
        if isinstance(value, (int, str)):
            name = re.sub(r"^SND_", r"", name)
            constants[name] = value

for cname in env.names:
    if re.match(r'^snd_\w', cname):
        typespec = translate.declarator(env.names[cname])
        name = re.sub(r"^snd_", r"", cname)
        variables[name] = {'name':cname, 'type':typespec}

print json.dumps({
    'constants': constants,
    'types': translate.types,
    'variables': variables}, indent=2, sort_keys=True)
Exemplo n.º 2
0
env = parser.default_env()
parser.parse(env, ['libCSFML.h'], extra_flags=["-I./CSFML-2.3/include/"])
translate = Translator(env, rename_type)
translate.blacklist.update([])
translate.bluelist.update({})

constants = {}
variables = {}

for name, value in env.constants.iteritems():
    if re.match(r'^sf', name):
        if isinstance(value, (int, str)):
            name = re.sub(r"^sf", r"", name)
            constants[name] = value

for cname in env.names:
    if re.match(r'^sf', cname):
        typespec = translate.declarator(env.names[cname])
        name = re.sub(r"^sf", r"", cname)
        variables[name] = {'name': cname, 'type': typespec}

print json.dumps(
    {
        'constants': constants,
        'types': translate.types,
        'variables': variables
    },
    indent=2,
    sort_keys=True)