Example #1
0
    def inner_invoke(self, args):
        import pixie.vm.rt as rt
        import pixie.vm.persistent_vector as vector

        with with_ns(u"user"):
            NS_VAR.deref().include_stdlib()

        acc = vector.EMPTY
        for x in self._argv:
            acc = rt.conj(acc, rt.wrap(x))

        PROGRAM_ARGUMENTS.set_root(acc)

        with with_ns(u"user"):
            try:
                f = None
                if self._file == '-':
                    f, _, _ = create_stdio()
                else:
                    if not path.isfile(self._file):
                        print "Error: Cannot open '" + self._file + "'"
                        os._exit(1)
                    f = open(self._file)
                data = f.read()
                f.close()

                if data.startswith("#!"):
                    newline_pos = data.find("\n")
                    if newline_pos > 0:
                        data = data[newline_pos:]

                rt.load_reader(StringReader(unicode_from_utf8(data)))
            except WrappedException as ex:
                print "Error: ", ex._ex.__repr__()
                os._exit(1)
Example #2
0
    def inner_invoke(self, args):
        import pixie.vm.rt as rt
        import pixie.vm.persistent_vector as vector

        with with_ns(u"user"):
            NS_VAR.deref().include_stdlib()

        acc = vector.EMPTY
        for x in self._argv:
            acc = rt.conj(acc, rt.wrap(x))

        PROGRAM_ARGUMENTS.set_root(acc)

        with with_ns(u"user"):
            try:
                f = None
                if self._file == '-':
                    f, _, _ = create_stdio()
                else:
                    if not path.isfile(self._file):
                        print "Error: Cannot open '" + self._file + "'"
                        os._exit(1)
                    f = open(self._file)
                data = f.read()
                f.close()

                if data.startswith("#!"):
                    newline_pos = data.find("\n")
                    if newline_pos > 0:
                        data = data[newline_pos:]

                rt.load_reader(StringReader(unicode_from_utf8(data)))
            except WrappedException as ex:
                print "Error: ", ex._ex.__repr__()
                os._exit(1)
Example #3
0
def entry_point(argv):
    if len(argv) > 1:
        runFile(argv[1])
    elif len(argv) == 1:
        debug("Entering lox repl")
        stdin, stdout, stderr = rfile.create_stdio()
        repl(stdin, stdout)
    else:
        print "Usage: bt [path]"
        raise SystemExit(64)
    return 0
Example #4
0
    def inner_invoke(self, args):
        import pixie.vm.rt as rt
        import pixie.vm.persistent_vector as vector

        with with_ns(u"user"):
            NS_VAR.deref().include_stdlib()

        acc = vector.EMPTY
        for x in self._argv:
            acc = rt.conj(acc, rt.wrap(x))

        PROGRAM_ARGUMENTS.set_root(acc)

        with with_ns(u"user"):
            if self._file == '-':
                stdin, _, _ = create_stdio()
                code = stdin.read()
                interpret(compile(read(StringReader(unicode(code)), True)))
            else:
                rt.load_file(rt.wrap(self._file))
Example #5
0
def input_(obj):
    stdin, stdout, stderr = create_stdio()
    if obj is not None:
        stdout.write(obj.string.encode('utf-8'))
    line = stdin.readline().rstrip("\r\n")
    return String(line.decode('utf-8'))
Example #6
0
File: base.py Project: cheery/lever
def input_(obj):
    stdin, stdout, stderr = create_stdio()
    if obj is not None:
        stdout.write(obj.string.encode('utf-8'))
    line = stdin.readline().rstrip("\r\n")
    return String(line.decode('utf-8'))
Example #7
0
 def test_stdio(self):
     i, o, e = rfile.create_stdio()
     o.write("test\n")
     i.close()
     o.close()
     e.close()
Example #8
0
 def test_stdio(self):
     i, o, e = rfile.create_stdio()
     o.write("test\n")
     i.close()
     o.close()
     e.close()