public static void main(String[] args)
    {
        try
        {
            SymbolTableImpl<Integer, String, Object> symbolTable = new SymbolTableImpl<Integer, String, Object>();

            WAMResolvingMachine machine = new WAMResolvingNativeMachine(symbolTable);

            Parser<Clause, Token> parser = new SentenceParser(machine);
            parser.setTokenSource(TokenSource.getTokenSourceForInputStream(System.in));

            LogicCompiler<Clause, WAMCompiledPredicate, WAMCompiledQuery> compiler =
                new WAMCompiler(symbolTable, machine);

            ResolutionEngine<Clause, WAMCompiledPredicate, WAMCompiledQuery> engine =
                new WAMEngine(parser, machine, compiler, machine);
            engine.reset();

            ResolutionInterpreter<WAMCompiledPredicate, WAMCompiledQuery> interpreter =
                new ResolutionInterpreter<WAMCompiledPredicate, WAMCompiledQuery>(engine);

            interpreter.interpreterLoop();
        }
        catch (Exception e)
        {
            /*log.log(java.util.logging.Level.SEVERE, e.getMessage(), e);*/
            e.printStackTrace(new PrintStream(System.err));
            System.exit(-1);
        }
    }
public static void main(String[] args)
    {
        try
        {
            SymbolTableImpl<Integer, String, Object> symbolTable = new SymbolTableImpl<Integer, String, Object>();

            WAMResolvingMachine machine = new WAMResolvingNativeMachine(symbolTable);

            Parser<Clause, Token> parser = new SentenceParser(machine);
            parser.setTokenSource(TokenSource.getTokenSourceForInputStream(System.in));

            LogicCompiler<Clause, WAMCompiledPredicate, WAMCompiledQuery> compiler =
                new WAMCompiler(symbolTable, machine);

            ResolutionEngine<Clause, WAMCompiledPredicate, WAMCompiledQuery> engine =
                new WAMEngine(parser, machine, compiler, machine);
            engine.reset();

            ResolutionInterpreter<WAMCompiledPredicate, WAMCompiledQuery> interpreter =
                new ResolutionInterpreter<WAMCompiledPredicate, WAMCompiledQuery>(engine);

            interpreter.interpreterLoop();
        }
        catch (Exception e)
        {
            
            e.printStackTrace(new PrintStream(System.err));
            System.exit(-1);
        }
    }
public static void main ( String [ ] args ) { try { SymbolTableImpl < Integer , String , Object > symbolTable = new SymbolTableImpl < Integer , String , Object > ( ) ; WAMResolvingMachine machine = new WAMResolvingNativeMachine ( symbolTable ) ; Parser < Clause , Token > parser = new SentenceParser ( machine ) ; parser . setTokenSource ( TokenSource . getTokenSourceForInputStream ( System . in ) ) ; LogicCompiler < Clause , WAMCompiledPredicate , WAMCompiledQuery > compiler = new WAMCompiler ( symbolTable , machine ) ; ResolutionEngine < Clause , WAMCompiledPredicate , WAMCompiledQuery > engine = new WAMEngine ( parser , machine , compiler , machine ) ; engine . reset ( ) ; ResolutionInterpreter < WAMCompiledPredicate , WAMCompiledQuery > interpreter = new ResolutionInterpreter < WAMCompiledPredicate , WAMCompiledQuery > ( engine ) ; interpreter . interpreterLoop ( ) ; } catch ( Exception e ) { /*log.log(java.util.logging.Level.SEVERE, e.getMessage(), e);*/ e . printStackTrace ( new PrintStream ( System . err ) ) ; System . exit ( - 1 ) ; } }
Creates the interpreter and launches its top-level run loop.

@param args The command line arguments.
Creates the interpreter and launches its top - level run loop .