29 строки
752 B
Python
29 строки
752 B
Python
|
|
# given a file of ll and a list of names to retain, makes all other functions into stubs.
|
|
# you can then build with -s LINKABLE=1 and see any compilation errors on the specific functions
|
|
|
|
import os, sys
|
|
|
|
kill = False
|
|
|
|
valids = sys.argv[2].split(',')
|
|
|
|
for line in open(sys.argv[1]).readlines():
|
|
line = line.replace('\n', '')
|
|
if line.startswith('define ') and line.endswith('{'):
|
|
ok = False
|
|
for valid in valids:
|
|
if valid in line: ok = True
|
|
if not ok:
|
|
line = line.replace('define ', 'declare ').replace(' internal ', ' ').replace(' weak ', ' ')[:-1]
|
|
kill = True
|
|
else:
|
|
line = line.replace(' internal ', ' ')
|
|
print line
|
|
else:
|
|
if not kill:
|
|
print line
|
|
else:
|
|
if line == '}': kill = False
|
|
|