Package org.projog.tools
Class ProjogConsole
- java.lang.Object
-
- org.projog.tools.ProjogConsole
-
public class ProjogConsole extends java.lang.ObjectCommand line interface to Prolog.Provides a mechanism for users to interact with Projog via a read-evaluate-print loop (REPL).

-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringCONTINUE_EVALUATINGprivate java.util.Scannerinprivate java.io.PrintStreamoutprivate Projogprojogprivate booleanquitprivate static PredicateKeyQUIT_COMMANDCommand user can enter to exit the console application.private static java.lang.StringSTOP_EVALUATING
-
Constructor Summary
Constructors Constructor Description ProjogConsole(java.io.InputStream in, java.io.PrintStream out)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidconsultScript(java.lang.String startupScriptName)private voidconsultScripts(java.util.List<java.lang.String> scriptFilenames)private booleanevaluateOnce(QueryResult r, java.util.Set<java.lang.String> variableIds)ReturnstrueifQueryResultcan be re-triedprivate static booleanisNotEmpty(java.lang.String input)static voidmain(java.lang.String[] args)private voidparseAndExecute(java.lang.String inputSyntax)private voidprintOutcome(boolean success, long timing)private voidprintPrompt()private voidprintVariableAssignments(QueryResult r, java.util.Set<java.lang.String> variableIds)private voidprocessThrowable(java.lang.Throwable e)(package private) voidrun(java.util.List<java.lang.String> startupScriptFilenames)private booleanshouldContinue()
-
-
-
Field Detail
-
QUIT_COMMAND
private static final PredicateKey QUIT_COMMAND
Command user can enter to exit the console application.
-
CONTINUE_EVALUATING
private static final java.lang.String CONTINUE_EVALUATING
- See Also:
- Constant Field Values
-
STOP_EVALUATING
private static final java.lang.String STOP_EVALUATING
- See Also:
- Constant Field Values
-
in
private final java.util.Scanner in
-
out
private final java.io.PrintStream out
-
projog
private final Projog projog
-
quit
private boolean quit
-
-
Method Detail
-
run
void run(java.util.List<java.lang.String> startupScriptFilenames) throws java.io.IOException
- Throws:
java.io.IOException
-
printPrompt
private void printPrompt()
-
isNotEmpty
private static boolean isNotEmpty(java.lang.String input)
-
consultScripts
private void consultScripts(java.util.List<java.lang.String> scriptFilenames)
-
consultScript
private void consultScript(java.lang.String startupScriptName)
-
parseAndExecute
private void parseAndExecute(java.lang.String inputSyntax)
-
shouldContinue
private boolean shouldContinue()
-
processThrowable
private void processThrowable(java.lang.Throwable e)
-
evaluateOnce
private boolean evaluateOnce(QueryResult r, java.util.Set<java.lang.String> variableIds)
ReturnstrueifQueryResultcan be re-tried
-
printVariableAssignments
private void printVariableAssignments(QueryResult r, java.util.Set<java.lang.String> variableIds)
-
printOutcome
private void printOutcome(boolean success, long timing)
-
main
public static void main(java.lang.String[] args) throws java.io.IOException- Throws:
java.io.IOException
-
-