Package fmpp.tdd
Class Interpreter
- java.lang.Object
-
- fmpp.tdd.Interpreter
-
public class Interpreter extends java.lang.ObjectEvaluates TDD expressions.
-
-
Field Summary
Fields Modifier and Type Field Description static EvaluationEnvironmentSIMPLE_EVALUATION_ENVIRONMENTEvaluates function calls to itself.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static java.lang.Stringdump(java.lang.Object value)Converts an object to a TDD-like representation (not necessary valid TDD).static java.lang.Objecteval(Fragment fragment, EvaluationEnvironment ee, boolean forceStringValues)Evaluates aFragmentas single TDD expression.static java.lang.Objecteval(java.lang.String text)Same aseval(text, null, false, null).static java.lang.Objecteval(java.lang.String text, EvaluationEnvironment ee, boolean forceStringValues, java.lang.String fileName)Evaluates text as single TDD expression.static java.lang.Objecteval(java.lang.String text, java.lang.String fileName)Same aseval(text, null, false, fileName).static java.util.MapevalAsHash(java.lang.String text)Same asevalAsHash(text, null, false, null).static java.util.MapevalAsHash(java.lang.String text, EvaluationEnvironment ee, boolean forceStringValues, java.lang.String fileName)Evaluates text as a list of key:value pairs.static java.util.MapevalAsHash(java.lang.String text, java.lang.String fileName)Same asevalAsHash(text, null, false, fileName).static java.util.ListevalAsSequence(java.lang.String text)Same asevalAsList(text, null, false, null).static java.util.ListevalAsSequence(java.lang.String text, EvaluationEnvironment ee, boolean forceStringValues, java.lang.String fileName)Evaluates text as a list values.static java.util.ListevalAsSequence(java.lang.String text, java.lang.String fileName)Same asevalAsList(text, null, false, fileName).EvaluationEnvironmentgetEvaluationEnvironment()java.lang.StringgetFileName()intgetPosition()java.lang.StringgetText()static java.lang.StringgetTypeName(java.lang.Object value)static java.lang.StringloadTdd(byte[] b, java.lang.String defaultEncoding)Loads a TDD file with utilizing #encoding:enc header.static java.lang.StringloadTdd(java.io.InputStream in, java.lang.String defaultEncoding)Loads a TDD file with utilizing #encoding:enc header.
-
-
-
Field Detail
-
SIMPLE_EVALUATION_ENVIRONMENT
public static final EvaluationEnvironment SIMPLE_EVALUATION_ENVIRONMENT
Evaluates function calls to itself.
-
-
Method Detail
-
eval
public static java.lang.Object eval(java.lang.String text, EvaluationEnvironment ee, boolean forceStringValues, java.lang.String fileName) throws EvalExceptionEvaluates text as single TDD expression.- Parameters:
text- the text to interpret.ee- theEvaluationEnvironmentused to resolve function calls. If it isnullthenSIMPLE_EVALUATION_ENVIRONMENTwill be used.forceStringValues- specifies if expressions as true and 123 should be interpreted as strings, or as boolean and number respectively.fileName- the path of the source file, or other description of the source. It is used for informative purposes only, as in error messages.- Returns:
- the result of the evaluation. Possibly an empty
Map, but nevernull. - Throws:
EvalException
-
eval
public static java.lang.Object eval(Fragment fragment, EvaluationEnvironment ee, boolean forceStringValues) throws EvalException
Evaluates aFragmentas single TDD expression. The expression can be surrounded with superfluous white-space.- Throws:
EvalException- See Also:
eval(String, EvaluationEnvironment, boolean, String)
-
eval
public static java.lang.Object eval(java.lang.String text, java.lang.String fileName) throws EvalExceptionSame aseval(text, null, false, fileName).- Throws:
EvalException- See Also:
eval(String, EvaluationEnvironment, boolean, String)
-
eval
public static java.lang.Object eval(java.lang.String text) throws EvalExceptionSame aseval(text, null, false, null).- Throws:
EvalException- See Also:
eval(String, EvaluationEnvironment, boolean, String)
-
evalAsHash
public static java.util.Map evalAsHash(java.lang.String text, EvaluationEnvironment ee, boolean forceStringValues, java.lang.String fileName) throws EvalExceptionEvaluates text as a list of key:value pairs.- Parameters:
text- the text to interpret.ee- theEvaluationEnvironmentused to resolve function calls. If it isnullthenSIMPLE_EVALUATION_ENVIRONMENTwill be used.forceStringValues- specifies if expressions as true and 123 should be interpreted as strings, or as boolean and number respectively.fileName- the path of the source file, or other description of the source. It is used for informative purposes only, as in error messages.- Returns:
- the result of the evaluation. Possibly an empty
Map, but nevernull. - Throws:
EvalException
-
evalAsHash
public static java.util.Map evalAsHash(java.lang.String text) throws EvalExceptionSame asevalAsHash(text, null, false, null).- Throws:
EvalException- See Also:
evalAsHash(String, EvaluationEnvironment, boolean, String)
-
evalAsHash
public static java.util.Map evalAsHash(java.lang.String text, java.lang.String fileName) throws EvalExceptionSame asevalAsHash(text, null, false, fileName).- Throws:
EvalException- See Also:
evalAsHash(String, EvaluationEnvironment, boolean, String)
-
evalAsSequence
public static java.util.List evalAsSequence(java.lang.String text, EvaluationEnvironment ee, boolean forceStringValues, java.lang.String fileName) throws EvalExceptionEvaluates text as a list values.- Parameters:
text- the text to interpret.ee- theEvaluationEnvironmentused to resolve function calls. If it isnullthenSIMPLE_EVALUATION_ENVIRONMENTwill be used.forceStringValues- specifies if expressions as true and 123 should be interpreted as strings, or as boolean and number respectively.fileName- the path of the source file, or other description of the source. It is used for informative purposes only, as in error messages.- Returns:
- the result of the evaluation. Possibly an empty
List, but nevernull. - Throws:
EvalException
-
evalAsSequence
public static java.util.List evalAsSequence(java.lang.String text) throws EvalExceptionSame asevalAsList(text, null, false, null).- Throws:
EvalException- See Also:
evalAsSequence(String, EvaluationEnvironment, boolean, String)
-
evalAsSequence
public static java.util.List evalAsSequence(java.lang.String text, java.lang.String fileName) throws EvalExceptionSame asevalAsList(text, null, false, fileName).- Throws:
EvalException- See Also:
evalAsSequence(String, EvaluationEnvironment, boolean, String)
-
loadTdd
public static java.lang.String loadTdd(java.io.InputStream in, java.lang.String defaultEncoding) throws java.io.IOExceptionLoads a TDD file with utilizing #encoding:enc header. If the header is missing, the encoding given as parameter is used.- Parameters:
in- the stream that reads the content of the file.- Throws:
java.io.IOException
-
loadTdd
public static java.lang.String loadTdd(byte[] b, java.lang.String defaultEncoding) throws java.io.IOExceptionLoads a TDD file with utilizing #encoding:enc header. If the header is missing, the encoding given as parameter is used.- Parameters:
b- the content of the file.- Throws:
java.io.IOException
-
dump
public static java.lang.String dump(java.lang.Object value)
Converts an object to a TDD-like representation (not necessary valid TDD).- Parameters:
value- the object to convert- Returns:
- the TDD "source code".
-
getTypeName
public static java.lang.String getTypeName(java.lang.Object value)
-
getPosition
public int getPosition()
-
getText
public java.lang.String getText()
-
getFileName
public java.lang.String getFileName()
-
getEvaluationEnvironment
public EvaluationEnvironment getEvaluationEnvironment()
-
-