1 package org.lsst.ccs.plugin.jas3.trending.timeselection;
2
3 import gnu.jel.CompilationException;
4 import gnu.jel.CompiledExpression;
5 import gnu.jel.Evaluator;
6 import gnu.jel.Library;
7
8
9
10
11
12 public class Compiler {
13
14 public static TimeSelectionCompiledExpression compile(String expression) throws CompilationException {
15
16 Class[] staticLib = { java.lang.Math.class };
17 Class[] dynamicLib = { TimeSelectionEvaluator.class };
18 Class[] dotLib = { Object.class, String.class, java.util.Date.class };
19 Library lib=new Library(staticLib, dynamicLib, dotLib, new TimeSelectionNameResolver(), null);
20 lib.markStateDependent("random",null);
21 CompiledExpression cexpr = Evaluator.compile(expression,lib,null);
22 return new TimeSelectionCompiledExpression(cexpr);
23 }
24 }