private String compile (String s)throws Exception {
InputStream stream = new ByteArrayInputStream(s.getBytes());
DataInputStream input = new DataInputStream(stream);
DTRulesscanner lexer = new DTRulesscanner (input);
tfilter = new TokenFilter(session, lexer,types, localtypes);
DTRulesParser parser = new DTRulesParser(tfilter);
Object result = null;
parser.localCnt = localcnt;
try {
result = parser.parse().value;
}catch(Exception e){
throw new Exception( "Error found at Line:Char ="+lexer.linenumber()+":"+lexer.charnumber()+" "+
e.toString());
}
localcnt = parser.localCnt;
localtypes.putAll(parser.localtypes);
return result.toString();