Package abstrasy.interpreter

Examples of abstrasy.interpreter.InterpreterException


        return stdout;
    }
   
    public Node external_get_stderr(Node startAt) throws Exception {
        if (!inUse) {
            throw new InterpreterException(StdErrors.extend(StdErrors.Already_used, "ShellProcess is not runing"));
        }
        startAt.isGoodArgsLength(true, 1);
        return stderr;
    }
View Full Code Here


        return stderr;
    }

    public Node external_get_stdin(Node startAt) throws Exception {
        if (!inUse) {
            throw new InterpreterException(StdErrors.extend(StdErrors.Already_used, "ShellProcess is not runing"));
        }
        startAt.isGoodArgsLength(true, 1);
        return stdin;
    }
View Full Code Here

        return stdin;
    }
   
    public Node external_get_exitCode(Node startAt) throws Exception {
        if (inUse) {
            throw new InterpreterException(StdErrors.extend(StdErrors.Already_used, "ShellProcess is runing"));
        }
        startAt.isGoodArgsLength(true, 1);
        return new Node(exitCode);
    }
View Full Code Here

        return null;
    }

    public Node external_mutator_set_pwd(Node startAt) throws Exception {
        if (inUse) {
            throw new InterpreterException(StdErrors.extend(StdErrors.Already_used, "ShellProcess is runing"));
        }
        startAt.isGoodArgsLength(true, 2);
        SELF.require_SELF_mutable();
        File d=new File(startAt.getSubNode(1, Node.TYPE_STRING).getString());
        if(!d.exists()){
            throw new InterpreterException(StdErrors.extend(StdErrors.Invalid_parameter,"directory does not exist"));
        }
        if(!d.isDirectory()){
            throw new InterpreterException(StdErrors.extend(StdErrors.Invalid_parameter,"pwd must be a directory"));
        }
        pwd=d;
        return null;
    }
View Full Code Here

            long base = System.currentTimeMillis();
            long now = 0;
            long millis = 100;
            int i = 30;
            if (thread == myself) {
                throw new InterpreterException(StdErrors.extend(StdErrors.Thread_error, "a thread can not kill himself"));
            }
            Object obj = myself.thread_getSuspendLock();
            while (((millis - now) > 0) && (!myself.isThreadRaising()) && canContinue() && isThreadsExists(thread)) {
                synchronized (obj) {
                    notifyAll();
View Full Code Here


  public Node external_list_files(Node startAt) throws Exception {
    startAt.isGoodArgsLength(false, 2);
    if (startAt.size() > 3) {
      throw new InterpreterException(StdErrors.Argument_count_mismatch);
    }
    Private_FilenameFilter filefilter = null;
    File f = new File(startAt.getSubNode(1, Node.TYPE_STRING).getString());
    if (startAt.size() == 3) {
      filefilter = new Private_FilenameFilter();
View Full Code Here

         (:open-tcp! port)
         (:open-tcp! port max-connexion)
         (:open-tcp! port max-connexion "ListenAddr") # l'ListenAddr est l'ip ou l'adresse où le serveur écoute.
         */
        if (inUse)
            throw new InterpreterException(StdErrors.extend(StdErrors.Already_used, "Server is already runing"));
        startAt.isGoodArgsCnt(1, 2, 3, 4);
        SELF.require_SELF_mutable();

        tcpPort=0;
        maxConnexion = 0;
        maskIp = null;


        switch (startAt.size()) {
            case 4:
                maskIp = InetAddress.getByName(startAt.getSubNode(3, Node.TYPE_STRING).getString());
            case 3:
                maxConnexion = (int) startAt.getSubNode(2, Node.TYPE_NUMBER).getNumber();
            case 2:
                tcpPort = (int) startAt.getSubNode(1, Node.TYPE_NUMBER).getNumber();
                break;
            default:
                tcpPort=0;
                maxConnexion=0;
                maskIp=null;
        }

        if (tcpPort < 0 || tcpPort > 65535)
            throw new InterpreterException(StdErrors.extend(StdErrors.Out_of_range, "" + tcpPort));

        serverSocket = new ServerSocket(tcpPort, maxConnexion, maskIp);

        soTimeOut=0;
        protocol="tcp";
View Full Code Here

        InputStream istream = loader.getResourceAsStream(packName + "/" + PCoder.LIBRARY_PROPERTIES);
        Properties props = new Properties();
        props.load(istream);
        String namespace = props.getProperty("name", null);
        if (namespace == null) {
            throw new InterpreterException(StdErrors.extend(StdErrors.External_error, "undefined space-name in " + packName + "/" + PCoder.LIBRARY_PROPERTIES));
        }
        Node library = Node.createNamespace(null);
        Heap libHeap = (Heap)library.getExternal();
        if (ressourceName.startsWith("abstrasy.")) {
            Interpreter.Log("Add built-in external package : " + packName + " as " + namespace + ":*");
 
View Full Code Here

        InputStream istream = loader.getResourceAsStream(packName + "/" + PCoder.LIBRARY_PROPERTIES);
        Properties props = new Properties();
        props.load(istream);
        String namespace = props.getProperty("name", null);
        if (namespace == null) {
            throw new InterpreterException(StdErrors.extend(StdErrors.External_error, "undefined space-name in " + packName + "/" + PCoder.LIBRARY_PROPERTIES));
        }
        if (ressourceName.startsWith("abstrasy.")) {
            Interpreter.Log("Add built-in external package : " + packName + " as " + namespace + ":*");
        }
        else {
            Interpreter.Log("Add external package : " + packName + " as " + namespace + ":*");
        }
        String packFilter = packName + ".External_";
        for (int i = 0; i < externals.size(); i++) {
            String cname = (String) externals.elementAt(i); // doit cloner l'intitulé de la chaîne...
            //System.out.println("CNAME:"+cname);
            String sname = cname.substring(packFilter.length(), cname.length());
            //System.out.println("SNAME:"+sname);
            //
            if (!((sname.charAt(0) == '_') || (sname.charAt(sname.length() - 1) == '_'))) {
                sname = sname.replace('_', '-');
            }

            if (namedH.get(sname) != null) {
                Interpreter.Log(".Replace external class : " + namespace + ":" + sname + " as " + cname);
                namedH.put(sname, Node.createPattern(cname));
            }
            else {
                Interpreter.Log(".Add external class : " + namespace + ":" + sname + " as " + cname);
                namedH.put(sname, Node.createPattern(cname));
            }
        }

        synchronized (Interpreter.Modules) {
            if (Interpreter.Modules == null) {
                Interpreter.Log("WARNING : Libraries null !!!...");
                throw new InterpreterException(StdErrors.Internal_error);
            }
            if (Interpreter.Modules.get(namespace) != null) {
                Interpreter.Log(".Mixin library : " + namespace + ":* ...");
                //throw new InterpreterException(InterpreterException.EC_EXTERNAL,
                //                               "Espace de nommage déjà défini : " + namespace + ":* pour " + packName);
View Full Code Here

                System.setProperty("java.class.path", class_path);
                ClassLoader aCL = Thread.currentThread().getContextClassLoader();
                URLClassLoader aUrlCL = new URLClassLoader(urls, aCL);
                Thread.currentThread().setContextClassLoader(aUrlCL);
                if (packages.size() > 1) {
                    throw new InterpreterException(StdErrors.extend(StdErrors.Library_error, "More than one package"));
                }
                return loadLibrary((String) packages.elementAt(0));


            }
            catch (Exception ex) {
                Interpreter.Log(ex.getMessage());
                if (Interpreter.isDebugMode()) {
                    ex.printStackTrace();
                }
                throw new InterpreterException(StdErrors.Library_error);
            }
        }
        return null;
    }
View Full Code Here

TOP

Related Classes of abstrasy.interpreter.InterpreterException

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.