public class Scanner implements Iterator {\r
private String sourcename;\r
+ private int currentpos;\r
\r
public Scanner (final String source) {\r
this.sourcename = source;\r
+ this.currentpos = 0;\r
}\r
\r
public void close () {\r
}\r
\r
- public native double nextDouble ();\r
+ public double nextDouble () {\r
+ return Double.parseDouble(new String(next()));\r
+ }\r
\r
- public native int nextInt ();\r
-}
\ No newline at end of file
+ public int nextInt () {\r
+ return Integer.parseInt(new String(next()));\r
+ }\r
+ \r
+ private native char[] next();\r
+}\r
#endif
#ifdef D___System______milliGcTime____
-long long ___System______milliGcTime____(struct ___System______milliGcTime_____params * ___params___) {
+long long CALL00(___System______milliGcTime____) {
#ifdef MULTICORE_GC
return GCtime/700000;
#else
}
#endif
-#ifdef D___Scanner______nextDouble____
-double ___Scanner______nextDouble____(struct ___Scanner______nextDouble_____params * ___params___) {
- // TODO
- return 0;
-}
+#ifdef D___Scanner______next____
+struct ArrayObject * CALL01(___Scanner______next____, struct ___Scanner___ * ___this___) {
+ int pos = VAR(___this___)->___currentpos___;
+#if defined(MULTICORE_GC)||defined(PMC_GC)
+ struct ArrayObject * result= allocate_newarray(NULL, CHARARRAYTYPE, 10);
+#else
+ struct ArrayObject * result=allocate_newarray(CHARARRAYTYPE, 10);
#endif
-
-#ifdef D___Scanner______nextInt____
-int ___Scanner______nextInt____(struct ___Scanner______nextInt_____params * ___params___) {
- // TODO
- return 0;
+ int i = 0;
+ while(true) { //(VAR(___this___)->___sourcename___[pos]==' ')||(VAR(___this___)->___sourcename___[pos]=='\n')){
+ pos++;
+ }
+ do {
+ ((short *)(((char *)&result->___length___)+sizeof(int)))[i++]='\0';//(short)VAR(___this___)->___sourcename___[pos++]; // TODO
+ }while(true);//(VAR(___this___)->___sourcename___[pos]!=' ')&&(VAR(___this___)->___sourcename___[pos]!='\n'));
+ VAR(___this___)->___currentpos___ = pos;
+ return result;
}
#endif