execute_model.py 878 B

123456789101112131415161718192021222324252627282930313233343536
  1. import random
  2. import sys
  3. import multiprocessing
  4. import glob
  5. import time
  6. from compile import do_compile
  7. from link_and_load import link_and_load
  8. from make_parallel import main
  9. models = []
  10. code = []
  11. address = sys.argv[1]
  12. taskname = sys.argv[2]
  13. files = [a.replace("\\", "/") for a in sum([glob.glob(f) for f in sys.argv[3:]], [])]
  14. for f in files:
  15. if f.endswith(".mvc"):
  16. models.append(f)
  17. elif f.endswith(".alc"):
  18. code.append(f)
  19. else:
  20. print("Unknown file format for file " + f)
  21. print("Requires either .mvc or .alc")
  22. def do_compile_wrapper(filename, mode, grammar):
  23. do_compile(address, filename, str(random.random()), filename, mode, ["--debug"], grammar=grammar)
  24. # Parse all models and upload them
  25. for m in models:
  26. print("[MODEL] %s" % m)
  27. do_compile_wrapper(m, "MO", "grammars/modelling.g")
  28. main(address, taskname, code)