code: def call_antlr4(arg):
      "calls antlr4 on grammar file"
      # pylint: disable=unused-argument, unused-variable
      antlr_path = os.path.join(ROOT_DIR, "java", "antlr-4.7-complete.jar")
      classpath = os.pathsep.join([".", "{:s}".format(antlr_path), "$CLASSPATH"])
      generated = os.path.join(ROOT_DIR, 'src', 'pymoca', 'generated')
      cmd = "java -Xmx500M -cp \"{classpath:s}\" org.antlr.v4.Tool {arg:s}" \
            " -o {generated:s} -visitor -Dlanguage=Python3".format(**locals())
      print(cmd)
      proc = subprocess.Popen(cmd.split(), cwd=os.path.join(ROOT_DIR, 'src', 'pymoca'))
      proc.communicate()
      with open(os.path.join(generated, '__init__.py'), 'w') as fid:
          fid.write(''f call_antlr4(arg):
      "calls antlr4 on grammar file"
      # pylint: disable=unused-argument, unused-variable
      antlr_path = os.path.join(ROOT_DIR, "java", "antlr-4.7-complete.jar")
      classpath = os.pathsep.join([".", "{:s}".format(antlr_path), "$CLASSPATH"])
      generated = os.path.join(ROOT_DIR, 'src', 'pymoca', 'generated')
      cmd = "java -Xmx500M -cp \"{classpath:s}\" org.antlr.v4.Tool {arg:s}" \
            " -o {generated:s} -visitor -Dlanguage=Python3".format(**locals())
      print(cmd)
      proc = subprocess.Popen(cmd.split(), cwd=os.path.join(ROOT_DIR, 'src', 'pymoca'))
      proc.communicate()
      with open(os.path.join(generated, '__init__.py'), 'w') as fid:
          fid.write('')
docs: calls antlr4 on grammar file