genstub.py 686 B

12345678910111213141516171819202122232425262728293031323334
  1. import os
  2. with open('include/pocketpy/pocketpy_c.h') as f:
  3. lines = f.readlines()
  4. a = []
  5. for line in lines:
  6. if line.startswith("PK_EXPORT"):
  7. _, ret, *body = line.split()
  8. else:
  9. continue
  10. body = ' '.join(body)
  11. assert body.endswith(";")
  12. body = body[:-1]
  13. if ret == 'void':
  14. mock_string = ''
  15. else:
  16. mock_string = ' '*4 + ret + ' returnValue;\n return returnValue;'
  17. a.append(
  18. ret + ' ' + body + ' {\n' + mock_string + '\n}\n'
  19. )
  20. with open('src2/pocketpy_c.cpp', 'w') as f:
  21. f.write('''
  22. #include "pocketpy_c.h"
  23. #ifdef _WIN32
  24. #pragma warning(disable: 4700)
  25. #endif
  26. ''')
  27. f.write('\n'.join(a))