Skip to content

API Reference ​

Core Interfaces ​

Exp ​

Base expression interface.

java
public interface Exp {
    /**
     * Execute expression and return raw value
     * May be wrapped in ReturnExpObject
     */
    Object evalValue(ExpEvaluator ee);

    /**
     * Execute expression and return unwrapped result (recommended)
     */
    default Object evalResult(ExpEvaluator ee);

    /**
     * Get return type
     */
    Class getReturnType(ExpEvaluator ee);
}

ExpEvaluator ​

Runtime evaluator interface.

java
public interface ExpEvaluator {
    Object getVar(String name);
    Object setVar(String name, Object value);
    Object getExportObject(String name);
    ExpEvaluator clone();
}

Fsscript ​

Loaded script interface.

java
public interface Fsscript {
    void eval(ExpEvaluator ee);
    Object evalResult(ExpEvaluator ee);
    ExpEvaluator newInstance(ApplicationContext appCtx);
    boolean hasImport();
}

Implementation Classes ​

ExpParser ​

java
public class ExpParser {
    public ExpParser();
    public ExpParser(ExpFactory factory);
    public Exp compileEl(String str) throws CompileException;
    public Exp compile(String str) throws CompileException;
}

DefaultExpEvaluator ​

java
public class DefaultExpEvaluator implements ExpEvaluator {
    public static DefaultExpEvaluator newInstance();
    public static DefaultExpEvaluator newInstance(ApplicationContext appCtx);
    public Object getVar(String name);
    public Object setVar(String name, Object value);
    public FsscriptClosure getCurrentFsscriptClosure();
    public ApplicationContext getApplicationContext();
}

FileFsscriptLoader ​

java
public class FileFsscriptLoader {
    public static FileFsscriptLoader getInstance();
    public Fsscript findLoadFsscript(String path);
}

Exception Classes ​

ExceptionDescription
CompileExceptionCompilation error
FoggyParseExceptionSyntax parsing error

Compilation Flow ​

FSScript String
       ↓
  ExpScanner (Lexical Analysis)
       ↓
  ExpParser (Syntax Analysis - CUP Generated)
       ↓
  Exp Object Tree (AST)
       ↓
  DefaultExpEvaluator (Execution)
       ↓
  Result Value (Object)