=================================================================== RCS file: /home/cvs/OpenXM/src/OpenMath/OM2OXM.java,v retrieving revision 1.22 retrieving revision 1.25 diff -u -p -r1.22 -r1.25 --- OpenXM/src/OpenMath/OM2OXM.java 2000/03/14 05:38:49 1.22 +++ OpenXM/src/OpenMath/OM2OXM.java 2000/09/13 06:44:55 1.25 @@ -1,6 +1,8 @@ +/* + * $OpenXM: OpenXM/src/OpenMath/OM2OXM.java,v 1.24 2000/04/17 03:18:57 tam Exp $ + */ + /** - * $OpenXM: OpenXM/src/OpenMath/OM2OXM.java,v 1.21 2000/03/14 05:10:37 tam Exp $ - * * このクラスでは以下の BNF で表される構文解析を実装している * expr -> stag [expr | immediate]* etag * immediate -> INTEGER @@ -31,7 +33,7 @@ import java.io.*; import java.net.*; import java.util.Vector; -import JP.ac.kobe_u.math.tam.OpenXM.*; +import ORG.openxm.tam.*; final class OM2OXM implements Runnable{ private PushbackInputStream is; @@ -52,19 +54,12 @@ final class OM2OXM implements Runnable{ //サーバ側から送信された文字列を受信します。 try{ while(true){ - CMO tmp; + OXmessage message = asir.receive(); - switch(asir.receiveOXtag()){ - case OpenXM.OX_COMMAND: - asir.receiveSM(); + if(message.getTag() == OXmessage.OX_DATA){ + System.out.println("=> "+ CMO2OM((CMO)message.getBody())); break; - - case OpenXM.OX_DATA: - tmp = asir.receiveCMO(); - System.out.println("=> "+ CMO2OM(tmp)); - break; } - } }catch(IOException e){} } @@ -773,7 +768,7 @@ final class OM2OXM implements Runnable{ try{ asir = new OpenXM(host,CtrlPort,StreamPort); - asir.sendSM(new SM(SM.SM_mathcap)); + asir.send(new SM(SM.SM_mathcap)); }catch(UnknownHostException e){ System.err.println("host unknown."); System.err.println(e.getMessage()); @@ -783,6 +778,10 @@ final class OM2OXM implements Runnable{ System.err.println("IOException occuer !!"); System.err.println(e.getMessage()); return; + }catch(MathcapViolation e){ + System.err.println("MathcapViolation !!"); + System.err.println(e.getMessage()); + return; } P.asir = asir; @@ -797,7 +796,7 @@ final class OM2OXM implements Runnable{ try{ CMO obj = P.parse(System.in); asir.send(obj); - asir.sendSM(new SM(SM.SM_popCMO)); + asir.send(new SM(SM.SM_popCMO)); }catch(NumberFormatException e){ System.err.println(e.getMessage()); }catch(MathcapViolation e){