Beispiel #1
0
def get_bta_cmd():
    if development.get_development():
        cmdline = "sicstus -r run_bta.sav --goal \"runtime_entry(start),halt.\" -a"
    else:
        cmdline = os.path.join(".", "bta")

    return cmdline
Beispiel #2
0
Datei: bta.py Projekt: jfmc/logen
def get_bta_cmd():
    if development.get_development():
        cmdline = "sicstus -r run_bta.sav --goal \"runtime_entry(start),halt.\" -a"
    else:
        cmdline = os.path.join(".","bta")

    return cmdline
Beispiel #3
0
def get_pylogen_cmd():
    if development.get_development():
        cmdline = "sicstus -r pylogen_main.sav --goal \"runtime_entry(start),halt.\" -a"
    else:
        cmdline = os.path.join(".", "pylogen_main")

    return cmdline
Beispiel #4
0
def get_pylogen_cmd():
    if development.get_development():
        cmdline = 'sicstus -r pylogen_main.sav --goal "runtime_entry(start),halt." -a'
    else:
        cmdline = os.path.join(".", "pylogen_main")

    return cmdline
Beispiel #5
0
    def startProlog(self, splash=None):
        """
        Start the sicstus process and connect to the provided socket
        This can take a while if needs rebuild
        """

        #if not os.path.exists('logen_main.sav'):
        #    print "Building Save State"
        #    if 'win32' in sys.platform:
        #        os.system("make_save.bat")
        #    else:
        #        os.system("sh ./make_save.bat")
        saves = MakeLogen.Logen_Saves()
        self.write_to_splash(splash, "\nChecking Logen Save States...")
        saves.refresh(splash=splash)

        try:
            os.remove('prologport')
        except OSError:
            pass
        self.reset_logs()
        ##if we are not in development mode then use the exec...
        if development.get_development():
            (self._stdout, self._stdin, self._stderr) = popen2.popen3(
                "sicstus -r pylogen_main.sav --goal prolog_socket,halt.")
        else:
            #(self._stdout,self._stdin,self._stderr) = popen2.popen3("../distribution/pylogen_main")
            cmd = os.path.join(".", "pylogen_main")
            if sys.platform == "win32":
                cmd += ".exe"
            if os.path.exists(cmd):
                print "Loading PyLogen Prolog Module"
                print "Command Line:", cmd
                print "Current Working Directory", os.getcwd()

                (self._stdout, self._stdin, self._stderr) = popen2.popen3(cmd)
            else:
                print "Cannot find logen binaries, please compile or run with --dev option"
                sys.exit()

        #while fileExists('prologport') != 1:
        #print "Prolog Port not Found"
        #time.sleep(0.05)
        #self.port = open('prologport').read()

        #print "Reading"

        line = self._stdout.readline()
        while not line.startswith("Port: "):
            line = self._stdout.readline()

        self.port = int(line[5:])

        print "Port", self.port
        #print "Using port:",self.port
        self.soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.soc.connect(("localhost", int(self.port)))
        print "Connected"
        #self.call('X=a,Y=b')
        #self.call("X=a,print('foo\n'),Y=ok")
        #self.call("ensure_loaded('sicstus.pl'), ensure_loaded('logen_main.pl').")
        #self.call("restore('logen_main.sav').")

        self.stdout = Listener(self._stdout.fileno(), filename="prologstdout")
        self.stderr = Listener(self._stderr.fileno(), filename="prologstderr")
        self.stdout.start()
        self.stderr.start()
Beispiel #6
0
 def refresh(self,splash=None):
     if development.get_development():
         self.logen.refresh(splash=splash)
         self.localbta.refresh(splash=splash)
     else:
         print "Using precompiled binaries"
Beispiel #7
0
 def refresh(self, splash=None):
     if development.get_development():
         self.logen.refresh(splash=splash)
         self.localbta.refresh(splash=splash)
     else:
         print "Using precompiled binaries"