Про техподдержку Google #2
Пока жду тех поддержки от Гугл, родился текст интерпретатора для языка программирования BrainFuck Вроде тестировал - держит все команды - все 6!!! )))
package em;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class AlgBf {
public static int rezVyv=1;
private static String strInt="";
public static String zapAlg(char[] s){
String rez="";
int i=0;
int[] p=new int[30000];
int lvlin=0;
for(int k=0;k<p.length;k++){
p[k]=0;
}
int n=0;
while(i<s.length){
switch (s[i]){
case '+': p[n]++; break;
case '-': p[n]--; break;
case '>': n++; break;
case '<': n--; break;
case '.':
if (AlgBf.rezVyv==0){
rez=rez+(p[n])+" ";
}
else {
rez=rez+((char)p[n]);
}
break;
case ',':
if (true){
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader bis = new BufferedReader(is);
try {
strInt = bis.readLine();
p[n]=Integer.parseInt(strInt,10);
} catch (IOException e) {
e.printStackTrace();
}
}
case '[':
if (p[n]==0){
lvlin=1;
while(lvlin>=1){
i++;
if (s[i]=='[') {lvlin++;};
if (s[i]==']') {lvlin--;};
}
}
break;
case ']':
lvlin=1;
while(lvlin>=1){
i--;
if (s[i]==']') {lvlin++;};
if (s[i]=='[') {lvlin--;};
}
i--;
break;
default:
}
i++;
}
return rez;
}
}
Пока жду тех поддержки от Гугл, родился текст интерпретатора для языка программирования BrainFuck Вроде тестировал - держит все команды - все 6!!! )))
package em;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class AlgBf {
public static int rezVyv=1;
private static String strInt="";
public static String zapAlg(char[] s){
String rez="";
int i=0;
int[] p=new int[30000];
int lvlin=0;
for(int k=0;k<p.length;k++){
p[k]=0;
}
int n=0;
while(i<s.length){
switch (s[i]){
case '+': p[n]++; break;
case '-': p[n]--; break;
case '>': n++; break;
case '<': n--; break;
case '.':
if (AlgBf.rezVyv==0){
rez=rez+(p[n])+" ";
}
else {
rez=rez+((char)p[n]);
}
break;
case ',':
if (true){
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader bis = new BufferedReader(is);
try {
strInt = bis.readLine();
p[n]=Integer.parseInt(strInt,10);
} catch (IOException e) {
e.printStackTrace();
}
}
case '[':
if (p[n]==0){
lvlin=1;
while(lvlin>=1){
i++;
if (s[i]=='[') {lvlin++;};
if (s[i]==']') {lvlin--;};
}
}
break;
case ']':
lvlin=1;
while(lvlin>=1){
i--;
if (s[i]==']') {lvlin++;};
if (s[i]=='[') {lvlin--;};
}
i--;
break;
default:
}
i++;
}
return rez;
}
}
Комментариев нет:
Отправить комментарий