// --------------------------------------------------------------- ASTOperation
private Map reversedMap(Map map)
{
try
{
Map res = (Map)map.getClass().newInstance();
Iterator it = map.entrySet().iterator();
while (it.hasNext())
{
Map.Entry entry = (Map.Entry)it.next();
String key = (String)entry.getKey();
Object value = entry.getValue();
if (value != null && value instanceof Data && key != null)
res.put(((Data)value).getInfo(), new SimpleData(key));
}
return res;
}
catch (Exception ex)
{
ex.printStackTrace();
return null;
}
}
// ----------------------------------------------------------------------- Pear
private void displayIFramePopup(java.awt.event.MouseEvent evt)
{
if (evt.getButton() == evt.BUTTON3)
{
Object c = evt.getSource();
if (c instanceof JDockableInternalFrame)
{
JDockableInternalFrame iFrame = (JDockableInternalFrame)c;
this.iFramePopup.show(iFrame, evt.getX(), evt.getY());
}
}
}
private String loadRuleSource(InputStream is)
{
String res = "";
BufferedReader input = null;
try
{
String line;
StringBuffer buf = new StringBuffer(is.available());
input = new BufferedReader(new InputStreamReader(is));
while ((line = input.readLine()) != null) buf.append(line + "\n");
res = buf.toString();
}
catch (IOException ioe) { log.error(ioe); }
finally { try { input.close(); } catch (Exception e) {} }
return res;
}
// -------------------------------------------------------- JProtocolSourceArea
public void select(Instruction instruction, ASTRule rule, boolean more)
{
String sep = ASTInstruction.getSeparator(instruction);
String instr = instruction.toString() + sep + "\n";
String text = textArea.getText();
int selectionStart =
more ? text.indexOf(instr, lastIndex) : text.lastIndexOf(instr);
if (selectionStart == -1)
selectionStart = text.lastIndexOf(instr, lastIndex);
if (selectionStart == -1)
selectionStart = text.indexOf(instr);
if (selectionStart != -1)
{
lastIndex = selectionStart + instr.length();
textArea.requestFocus();
textArea.setCaretPosition(selectionStart);
textArea.moveCaretPosition(lastIndex);
// appende la regola
if (rule != null)
{
String ruleAppended = instr.replace('\n', ' ') + SEP +
"(" + rule.getName() + ")\n";
if (sep.equals("\n")) ruleAppended += sep;
lastIndex = selectionStart + ruleAppended.length();
textArea.replaceSelection(ruleAppended);
textArea.moveCaretPosition(lastIndex);
}
}
}
// ----------------------------------------------------------------- SimpleData
public boolean autoSubst(Data data, Map substMap)
{
if (!(data instanceof SimpleData)) return false;
if (data != null)
{
String dInfo = data.getInfo();
if (dInfo != null)
{
String tInfo = this.getInfo();
if (!substMap.containsValue(new SimpleData(tInfo)))
{
Set uids = (Set)substMap.get(Data.UNIQUE_IDS);
SimpleData sd = new SimpleData(dInfo);
if (!uids.contains(dInfo) || !substMap.containsValue(sd))
{
substMap.put(tInfo, sd);
this.setInfo(dInfo);
}
}
}
}
return true;
}
public void reverseMatching(Map substMap)
{
if (substMap.containsValue(new SimpleData(this.getInfo())))
this.setInfo(null);
}
// --------------------------------------------------------------- AbstractData
public boolean autoSubst(Data data, Map substMap)
{
return !(data instanceof TaggedData);
}
// --------------------------------------------------------- AbstractTaggedData
public boolean autoSubst(Data data, Map substMap)
{
if (AbstractData.class.equals(data.getClass()))
this.narrowInfo((AbstractData)data);
return true;
}
// ---------------------------------------------------------------- Instruction
public boolean autoSubst(Data data, Map substMap)
{
if (!(data instanceof Instruction)) return false;
if (data != null)
{
Instruction instr = (Instruction)data;
if (!this.getName().equals(instr.getName())) return false;
Data[] tData = this.getData();
Data[] iData = instr.getData();
int size = tData.length;
if (size != iData.length) return false;
for (int i = 0; i < size; ++i)
if (!tData[i].autoSubst(iData[i], substMap)) return false;
}
return true;
}
public void reverseMatching(Map substMap)
{
Data[] data = this.getData();
int size = data.length;
for (int i = 0; i < size; ++i) data[i].reverseMatching(substMap);
}
// ----------------------------------------------------------------- TaggedData
public boolean autoSubst(Data data, Map substMap)
{
if (!(data instanceof TaggedData)) return false;
if (data != null)
{
TaggedData td = (TaggedData)data;
if (this.getTag().equals(td.getTag())) super.autoSubst(td, substMap);
else return false;
}
return true;
}
// ------------------------------------------------------------------ ValueData
public boolean autoSubst(Data data, Map substMap)
{
if (data instanceof ValueData)
return this.getInfo().equals(data.getInfo());
else
return false;
}
// ------------------------------------------------------------------- BoolNode
protected final int initIndex(EvalInfo evalInfo)
{
int index = 0;
Object[] errPath = evalInfo.getErrPath();
if (errPath != null)
{
evalInfo.incErrPathIndex();
int indexLevel = evalInfo.getErrPathIndex();
if (indexLevel < errPath.length)
index = this.getIndex((BoolNode)errPath[indexLevel]);
}
return index;
}
// ---------------------------------------------------------------- ASTCheckSeq
public boolean evaluate(EvalInfo evalInfo)
throws it.unive.dsi.protok.exception.OperationException
{
this.buildPath(evalInfo);
int brand = BackTrackingHandler.NO_BRAND;
boolean validBTDir = this.isBTDirValid();
if (validBTDir)
{
if (this.isBTDirSatisfied(evalInfo.isRestarting()))
return this.getBacktrackingDirective();
evalInfo.setNodeBrand(brand = this.getBrand());
}
boolean value = true;
int size = this.jjtGetNumChildren();
for (int i = 0; i < size && value; ++i)
{
BoolNode boolNode = (BoolNode)this.jjtGetChild(i);
if (!boolNode.e
没有合适的资源?快使用搜索试试~ 我知道了~
php+java+cas
共407个文件
java:186个
rospi:49个
php:31个
需积分: 9 0 下载量 162 浏览量
2022-02-25
16:16:02
上传
评论
收藏 3.76MB RAR 举报
温馨提示
php+java+cas
资源详情
资源评论
资源推荐
收起资源包目录
php+java+cas (407个子文件)
delthrash.bat 934B
run.bat 502B
runparser.bat 374B
runcore.bat 289B
runparser.bat 186B
RemoteLoginAction.class 4KB
setup.inc.cvs 4KB
run.cvs 944B
run.cvs 937B
cas学习.doc 88KB
protocol-encoding.dtd 3KB
Pear.form 103KB
XPEOutputTab.form 15KB
pera.gif 6KB
defrules.gif 996B
rules.gif 357B
xsleaf.gif 349B
openrules.gif 320B
builtin.gif 320B
containers.gif 240B
warnings.gif 202B
pear.gif 176B
console.gif 173B
source.gif 163B
inference.gif 158B
edit.gif 152B
node.gif 139B
nexterror.gif 137B
modified.gif 136B
open.gif 131B
close.gif 122B
validate.gif 119B
save.gif 113B
leaf.gif 112B
prevstep.gif 92B
nextstep.gif 92B
stop.gif 88B
IDEAS 3KB
ValidationRules.in 17KB
RoSpi.in 894B
errors.inc 14KB
prepexe.inc 6KB
fetchmodes.inc 6KB
mktable.inc 4KB
sequences.inc 4KB
fetchmode_object.inc 3KB
numrows.inc 3KB
limit.inc 3KB
transactions.inc 3KB
include.inc 2KB
simplequery.inc 2KB
numcols.inc 2KB
connect.inc 1KB
droptable.inc 1KB
skipif.inc 1KB
skipif.inc 943B
php.ini 87KB
builtin-protocols.ini 856B
builtin-vrules.ini 106B
builtin-stylesheets.ini 77B
pear.jar 106KB
core.jar 71KB
parser.jar 65KB
xpe-output.jar 50KB
vrules.jar 44KB
rospi.jar 39KB
util.jar 20KB
protocols.jar 17KB
type-system.jar 15KB
jjcparser.jar 10KB
log.jar 9KB
synt-analysis.jar 8KB
containers.jar 8KB
builtin.jar 3KB
Pear.java 122KB
ValidationRules.java 56KB
ValidationRulesTokenManager.java 52KB
ValidationCore.java 52KB
InferenceCore.java 45KB
RoSpi.java 38KB
JProtocolSourceArea.java 28KB
RoSpiTokenManager.java 27KB
XPEOutputTab.java 21KB
DefaultLog.java 11KB
CompositeData.java 11KB
SimpleCharStream.java 10KB
ASTProtocolNarration.java 9KB
DefaultTreeNode.java 9KB
BackTrackingHandler.java 9KB
JarClassLoader.java 8KB
InstructionImpl.java 8KB
DefaultParser.java 7KB
EvalInfo.java 7KB
JDockableInternalFrame.java 7KB
ParseException.java 6KB
MultiTaggedDataImpl.java 6KB
ASTSequentialProcessDef.java 6KB
DefaultSymbolTable.java 6KB
Configuration.java 6KB
XPEProtocol.java 6KB
共 407 条
- 1
- 2
- 3
- 4
- 5
亿万年前的星光
- 粉丝: 5
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0