version 1.3, 1999/11/03 07:19:16 |
version 1.7, 1999/11/07 21:14:38 |
|
|
/** |
/** |
* $OpenXM: OpenXM/src/OpenMath/OMproxy.java,v 1.2 1999/11/02 13:09:19 tam Exp $ |
* $OpenXM: OpenXM/src/OpenMath/OMproxy.java,v 1.6 1999/11/04 18:38:59 tam Exp $ |
*/ |
*/ |
|
|
import JP.ac.kobe_u.math.tam.OpenXM.*; |
import JP.ac.kobe_u.math.tam.OpenXM.*; |
|
|
class OMproxy implements Runnable{ |
class OMproxy implements Runnable{ |
private OpenXM ox; |
private OpenXM ox; |
private Stack stack = new Stack(); |
private Stack stack = new Stack(); |
|
private boolean debug = true; |
|
|
public OMproxy(String host,int ControlPort,int DataPort) throws IOException{ |
public OMproxy(String host,int ControlPort,int DataPort) throws IOException{ |
ox = new OpenXM(this,host,ControlPort,DataPort); |
ox = new OpenXM(this,host,ControlPort,DataPort); |
Line 29 class OMproxy implements Runnable{ |
|
Line 30 class OMproxy implements Runnable{ |
|
|
|
case OpenXM.OX_DATA: |
case OpenXM.OX_DATA: |
stack.push(ox.receiveCMO()); |
stack.push(ox.receiveCMO()); |
System.out.println("push: "+ stack.peek()); |
debug("push: "+ stack.peek()); |
break; |
break; |
} |
} |
} |
} |
Line 94 class OMproxy implements Runnable{ |
|
Line 95 class OMproxy implements Runnable{ |
|
return; |
return; |
} |
} |
|
|
|
private void SM_mathcap() throws java.io.IOException{ |
|
CMO[] mathcap = new CMO[3]; |
|
|
|
{ |
|
CMO[] list = {new CMO_INT32(199911070), |
|
new CMO_STRING("Ox_system=OMproxy.class"), |
|
new CMO_STRING("Version=0.199911070"), |
|
new CMO_STRING("HOSTTYPE=JAVA")}; |
|
mathcap[0] = new CMO_LIST(list); |
|
} |
|
|
|
{ |
|
CMO[] list = {new CMO_INT32(SM.SM_popCMO), |
|
new CMO_INT32(SM.SM_executeFunction), |
|
new CMO_INT32(SM.SM_mathcap)}; |
|
mathcap[1] = new CMO_LIST(list); |
|
} |
|
|
|
{ |
|
CMO[] DataFormat = {new CMO_INT32(OpenXM.OX_DATA)}; |
|
CMO[] CMOFormat = {new CMO_INT32(CMO.CMO_NULL), |
|
new CMO_INT32(CMO.CMO_INT32), |
|
new CMO_INT32(CMO.CMO_STRING), |
|
new CMO_INT32(CMO.CMO_MONOMIAL32), |
|
new CMO_INT32(CMO.CMO_ZZ), |
|
new CMO_INT32(CMO.CMO_QQ), |
|
new CMO_INT32(CMO.CMO_ZERO), |
|
new CMO_INT32(CMO.CMO_DMS_GENERIC)}; |
|
CMO[] list = {new CMO_LIST(DataFormat), |
|
new CMO_LIST(CMOFormat)}; |
|
mathcap[2] = new CMO_LIST(list); |
|
} |
|
|
|
ox.send(new CMO_LIST(mathcap)); |
|
} |
|
|
private void StackMachine(SM mesg) throws java.io.IOException{ |
private void StackMachine(SM mesg) throws java.io.IOException{ |
|
debug("receive: "+mesg); |
|
|
switch(mesg.getCode()){ |
switch(mesg.getCode()){ |
case SM.SM_popCMO: |
case SM.SM_popCMO: |
SM_popCMO(); |
SM_popCMO(); |
Line 104 class OMproxy implements Runnable{ |
|
Line 143 class OMproxy implements Runnable{ |
|
SM_executeFunction(); |
SM_executeFunction(); |
break; |
break; |
|
|
|
case SM.SM_mathcap: |
|
SM_mathcap(); |
|
break; |
|
|
default: |
default: |
System.out.println("received "+ mesg); |
System.out.println("received "+ mesg); |
} |
} |
Line 121 class OMproxy implements Runnable{ |
|
Line 164 class OMproxy implements Runnable{ |
|
ByteArrayInputStream stream; |
ByteArrayInputStream stream; |
CMO ret; |
CMO ret; |
|
|
if(obj instanceof CMO_STRING){ |
debug("OMXML2CMO called: "+obj); |
|
if(!(obj instanceof CMO_STRING)){ |
return new CMO_ERROR2(); |
return new CMO_ERROR2(); |
} |
} |
|
|
Line 129 class OMproxy implements Runnable{ |
|
Line 173 class OMproxy implements Runnable{ |
|
stream = new ByteArrayInputStream(((CMO_STRING)obj).getString().getBytes()); |
stream = new ByteArrayInputStream(((CMO_STRING)obj).getString().getBytes()); |
ret = trans.parse(stream); |
ret = trans.parse(stream); |
}catch(IOException e){ |
}catch(IOException e){ |
|
debug("OMXML2CMO occuered error in trans"); |
return new CMO_ERROR2(new CMO_STRING(e.toString())); |
return new CMO_ERROR2(new CMO_STRING(e.toString())); |
} |
} |
|
|
|
debug("push: "+ret); |
return ret; |
return ret; |
|
} |
|
|
|
private void debug(String str){ |
|
if(debug){ |
|
System.out.println(str); |
|
} |
} |
} |
|
|
private static String usage(){ |
private static String usage(){ |