version 1.7, 1999/11/15 06:19:26 |
version 1.9, 1999/11/16 13:16:22 |
|
|
/** |
/** |
* $OpenXM: OpenXM/src/OpenMath/OM2OXM.java,v 1.6 1999/11/14 22:57:44 tam Exp $ |
* $OpenXM: OpenXM/src/OpenMath/OM2OXM.java,v 1.8 1999/11/15 23:13:21 tam Exp $ |
* |
* |
* $B$3$N%/%i%9$G$O0J2<$N(B BNF $B$GI=$5$l$k9=J82r@O$r<BAu$7$F$$$k(B |
* $B$3$N%/%i%9$G$O0J2<$N(B BNF $B$GI=$5$l$k9=J82r@O$r<BAu$7$F$$$k(B |
* expr -> stag [expr | immediate]* etag |
* expr -> stag [expr | immediate]* etag |
Line 54 final class OM2OXM implements Runnable{ |
|
Line 54 final class OM2OXM implements Runnable{ |
|
while(true){ |
while(true){ |
CMO tmp; |
CMO tmp; |
|
|
Thread.yield(); |
|
|
|
switch(asir.receiveOXtag()){ |
switch(asir.receiveOXtag()){ |
case OpenXM.OX_COMMAND: |
case OpenXM.OX_COMMAND: |
asir.receiveSM(); |
asir.receiveSM(); |
Line 75 final class OM2OXM implements Runnable{ |
|
Line 73 final class OM2OXM implements Runnable{ |
|
return "<OMOBJ>"+ CMO2OM_sub(cmo) +"</OMOBJ>"; |
return "<OMOBJ>"+ CMO2OM_sub(cmo) +"</OMOBJ>"; |
} |
} |
|
|
private static String CMO2OM_sub(CMO cmo){ |
private static String CMO2OM_sub(CMO cmo) throws NumberFormatException{ |
String ret = ""; |
String ret = ""; |
|
|
switch(cmo.getDISCRIMINATOR()){ |
switch(cmo.getDISCRIMINATOR()){ |
Line 145 final class OM2OXM implements Runnable{ |
|
Line 143 final class OM2OXM implements Runnable{ |
|
|
|
/* |
/* |
case CMO.CMO_TREE: |
case CMO.CMO_TREE: |
return "<OMA><OMS name=\""+ "\"/>"+ |
return "<OMA><OMS name=\""+ ((CMO_TREE)cmo).getName() +"\" cdname=\""+ |
"</OMA>"; |
((CMO_TREE)cmo).getCDName() +"\"/>" + "</OMA>"; |
*/ |
*/ |
|
|
default: |
default: |
return "<OMSTR>"+ cmo.toCMOexpression() +"</OMSTR>"; |
//return "<OMSTR>"+ cmo.toCMOexpression() +"</OMSTR>"; |
} |
} |
|
|
|
throw new NumberFormatException(""+ cmo.toCMOexpression()); |
} |
} |
|
|
private boolean isSpace(int ch){ // use from lex |
private boolean isSpace(int ch){ // use from lex |
Line 437 final class OM2OXM implements Runnable{ |
|
Line 437 final class OM2OXM implements Runnable{ |
|
return new CMO_MONOMIAL32(array,(CMO_ZZ)degree.elementAt(0)); |
return new CMO_MONOMIAL32(array,(CMO_ZZ)degree.elementAt(0)); |
} |
} |
|
|
private CMO parse_objects() throws IOException{ |
private CMO_LIST parse_objects() throws IOException{ |
// $B2r@O$5$l$?(B object $B$r(B LIST $B$GJV$9(B |
// $B2r@O$5$l$?(B object $B$r(B LIST $B$GJV$9(B |
Vector objects = new Vector(); |
Vector objects = new Vector(); |
CMO[] array; |
CMO[] array; |
Line 660 final class OM2OXM implements Runnable{ |
|
Line 660 final class OM2OXM implements Runnable{ |
|
return str; |
return str; |
} |
} |
|
|
private void parse_error(String mesg){ |
private void parse_error(String mesg) throws NumberFormatException{ |
System.err.println(mesg); |
String ret; |
System.err.print("error occuered near :"); |
|
|
ret = mesg +"\n"; |
|
ret += "error occuered near :"; |
try{ |
try{ |
for(int i=0;i<10;i++){ |
for(int i=0;i<10;i++){ |
System.err.print((char)is.read()); |
ret += (char)is.read(); |
} |
} |
System.err.println((char)is.read()); |
|
}catch(IOException e){} |
}catch(IOException e){} |
System.exit(1); |
ret += "\n"; |
|
|
|
throw new NumberFormatException(ret); |
} |
} |
|
|
private void debug(String str){ |
private void debug(String str){ |
Line 723 final class OM2OXM implements Runnable{ |
|
Line 726 final class OM2OXM implements Runnable{ |
|
|
|
//$B%5!<%PB&$+$iAw?.$5$l$?J8;zNs$r<u?.$7$^$9!#(B |
//$B%5!<%PB&$+$iAw?.$5$l$?J8;zNs$r<u?.$7$^$9!#(B |
while(true){ |
while(true){ |
CMO obj = P.parse(System.in); |
try{ |
asir.send(obj); |
CMO obj = P.parse(System.in); |
asir.sendSM(new SM(SM.SM_popCMO)); |
asir.send(obj); |
|
asir.sendSM(new SM(SM.SM_popCMO)); |
|
}catch(NumberFormatException e){ |
|
System.err.println(e.getMessage()); |
|
} |
} |
} |
|
|
//System.out.println("breaking..."); |
|
|
|
}catch(IOException e){ |
}catch(IOException e){ |
e.printStackTrace(); |
e.printStackTrace(); |
|
}finally{ |
|
System.out.println("breaking..."); |
} |
} |
} |
} |
} |
} |