version 1.27, 2000/01/21 06:55:45 |
version 1.30, 2000/03/12 14:24:21 |
|
|
/** |
/** |
* $OpenXM: OpenXM/src/OpenMath/OMproxy.java,v 1.26 2000/01/21 06:27:24 tam Exp $ |
* $OpenXM: OpenXM/src/OpenMath/OMproxy.java,v 1.29 2000/01/21 07:33:18 tam Exp $ |
*/ |
*/ |
|
|
import JP.ac.kobe_u.math.tam.OpenXM.*; |
import JP.ac.kobe_u.math.tam.OpenXM.*; |
Line 20 class OMproxy implements Runnable{ |
|
Line 20 class OMproxy implements Runnable{ |
|
OM2OXM P = new OM2OXM(); |
OM2OXM P = new OM2OXM(); |
|
|
debug("OMproxy started."); |
debug("OMproxy started."); |
while(true){ |
try{ |
try{ |
while(true){ |
int ox_tag = ox.receiveOXtag(); |
try{ |
|
int ox_tag = ox.receiveOXtag(); |
|
|
switch(ox_tag){ |
switch(ox_tag){ |
case OpenXM.OX_COMMAND: |
case OpenXM.OX_COMMAND: |
StackMachine(ox.receiveSM()); |
StackMachine(ox.receiveSM()); |
break; |
break; |
|
|
case OpenXM.OX_DATA: |
case OpenXM.OX_DATA: |
stack.push(ox.receiveCMO()); |
stack.push(ox.receiveCMO()); |
debug("push: "+ stack.peek()); |
debug("push: "+ stack.peek()); |
break; |
break; |
|
} |
|
}catch(RuntimeException e){ |
|
System.err.println(e.getMessage()); |
|
e.printStackTrace(); |
|
debug("error occured. stack was cleared."); |
} |
} |
}catch(Throwable e){ |
|
System.err.println(e.getMessage()); |
|
e.printStackTrace(); |
|
debug("error occured. stack was cleared."); |
|
} |
} |
|
}catch(IOException e){ |
|
System.err.println(e.getMessage()); |
|
e.printStackTrace(); |
|
System.err.println("error occured, and recovering processes seems to be impossible."); |
|
}finally{ |
|
System.out.println("breaking..."); |
} |
} |
//System.out.println("breaking..."); |
|
} |
} |
|
|
/* |
/* |
Line 66 class OMproxy implements Runnable{ |
|
Line 73 class OMproxy implements Runnable{ |
|
} |
} |
}catch(MathcapViolation e){ |
}catch(MathcapViolation e){ |
try{ |
try{ |
ox.send("MathcapViolation: "+ |
ox.send(new cmoError2(new CMO_STRING("MathcapViolation: "+ |
new CMO_ERROR2(new CMO_STRING(e.getMessage()))); |
e.getMessage()))); |
}catch(MathcapViolation tmp){} |
}catch(MathcapViolation tmp){} |
} |
} |
} |
} |
Line 78 class OMproxy implements Runnable{ |
|
Line 85 class OMproxy implements Runnable{ |
|
int argc; |
int argc; |
|
|
if(!(stack.peek() instanceof CMO_STRING)){ |
if(!(stack.peek() instanceof CMO_STRING)){ |
stack.push(new CMO_ERROR2()); |
stack.push(new cmoError2(new cmoNull())); |
return; |
return; |
} |
} |
function_name = ((CMO_STRING)stack.pop()).getString(); |
function_name = ((CMO_STRING)stack.pop()).getString(); |
Line 89 class OMproxy implements Runnable{ |
|
Line 96 class OMproxy implements Runnable{ |
|
} |
} |
|
|
if(argc != 1){ |
if(argc != 1){ |
stack.push(new CMO_ERROR2()); |
stack.push(new cmoError2(new cmoNull())); |
return; |
return; |
} |
} |
|
|
Line 101 class OMproxy implements Runnable{ |
|
Line 108 class OMproxy implements Runnable{ |
|
return; |
return; |
} |
} |
|
|
stack.push(new CMO_ERROR2()); |
stack.push(new cmoError2(new cmoNull())); |
return; |
return; |
} |
} |
|
|
Line 157 class OMproxy implements Runnable{ |
|
Line 164 class OMproxy implements Runnable{ |
|
Object mathcap = stack.pop(); |
Object mathcap = stack.pop(); |
|
|
if(mathcap instanceof CMO_MATHCAP){ |
if(mathcap instanceof CMO_MATHCAP){ |
stack.push(new CMO_ERROR2()); |
stack.push(new cmoError2(new cmoNull())); |
} |
} |
ox.setMathCap((CMO_MATHCAP)mathcap); |
ox.setMathCap((CMO_MATHCAP)mathcap); |
} |
} |
Line 194 class OMproxy implements Runnable{ |
|
Line 201 class OMproxy implements Runnable{ |
|
str = OM2OXM.CMO2OM(obj); |
str = OM2OXM.CMO2OM(obj); |
}catch(NumberFormatException e){ |
}catch(NumberFormatException e){ |
debug("CMO2OMXML occuered error in trans"); |
debug("CMO2OMXML occuered error in trans"); |
return new CMO_ERROR2(new CMO_STRING(e.toString())); |
return new cmoError2(new CMO_STRING(e.toString())); |
} |
} |
|
|
return new CMO_STRING(str); |
return new CMO_STRING(str); |
Line 208 class OMproxy implements Runnable{ |
|
Line 215 class OMproxy implements Runnable{ |
|
|
|
debug("OMXML2CMO called: "+obj); |
debug("OMXML2CMO called: "+obj); |
if(!(obj instanceof CMO_STRING)){ |
if(!(obj instanceof CMO_STRING)){ |
return new CMO_ERROR2(new CMO_STRING("It's not CMO_STRING.")); |
return new cmoError2(new CMO_STRING("It's not CMO_STRING.")); |
} |
} |
|
|
try{ |
try{ |
Line 216 class OMproxy implements Runnable{ |
|
Line 223 class OMproxy implements Runnable{ |
|
ret = trans.parse(stream); |
ret = trans.parse(stream); |
}catch(IOException e){ |
}catch(IOException e){ |
debug("OMXML2CMO occuered error in trans"); |
debug("OMXML2CMO occuered error in trans"); |
return new CMO_ERROR2(new CMO_STRING(e.toString())); |
return new cmoError2(new CMO_STRING(e.toString())); |
}catch(NumberFormatException e){ |
}catch(NumberFormatException e){ |
debug("OMXML2CMO occuered error in trans"); |
debug("OMXML2CMO occuered error in trans"); |
return new CMO_ERROR2(new CMO_STRING(e.toString())); |
return new cmoError2(new CMO_STRING(e.toString())); |
} |
} |
|
|
debug("push: "+ret); |
debug("push: "+ret); |