Warning: session_start(): open(/var/lib/php/sessions/sess_gndaqjg0i1pf5o48tes74mkmd2, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
static Object androidContext;
public static void main(S[] args) ctex {
if (mainJava == null && readTextFile("input/main.java", null) == null) {
// invoked not as a translator, but as a main program
// check our favorite scripts
if (args.length == 0) return;
String id = args[0].intern(), id2 = args.length > 1 ? args[0] + " " + args[1] : "";
if (id == "learner") id = "#745";
else if (id == "search") id = "#1000718";
else if (id == "search-runnables") id = "#1000758";
else if (id == "zipsplit") id = "#1000728";
else if (id == "latest") id = "#1000778";
else if (id == "runnables") id = "#1000778";
else if (id == "num" && args.length > 1 && args[1].equals("widget")) { id = "#1000655"; args = drop(1, args); }
else if (id == "swing-top") id = "#1000795";
else if (id == "console-top") id = "#1001772";
else if (id == "swing-start") id = "#1000825";
else if (id == "set") id = "#1000797";
else if (id2 == "brain on") id = "#1000953";
else if (id2 == "brain off") id = "#1000954";
else if (id == "talk") id = isAndroid() ? "#1001081" : "#1001085";
else if (id2 == "hello world") id = "#1000414";
else if (id == "upload-data") id = "#1000755";
else if (id == "speech") id = "#1001131";
else if (id == "tel" || id == "telbot" || id2 == "tel bot") id = "#1001146";
else if (id == "leo") id = "#1001297";
else if (id == "restart") id = "#1001353";
else if (id == "kill") id = "#1001354";
else if (id == "uploadImage") id = #1034134;
else if (id == "uploadFile") id = #1033518;
if (!isSnippetID(id))
callMain(hotwire("#1000758"), args); // perform search for runnables
else
callMain(hotwire(id), drop(1, args));
return;
}
// invoked as a translator
String s = loadMainJava();
String _args = join(" ", args);
//System.err.println("Args: " + _args);
// super-short syntax ("!636 (modern)" in first line)
if (_args.indexOf("modern") >= 0)
s = "!modern\n" + s;
boolean modern = false;
if (("\n" + s).indexOf("\n!modern") >= 0) {
modern = true;
s = s.replace("\n!class _javax 19", "");
String replacement = "\n" +
"!sf\n" +
"!cast\n" +
"!L\n" +
"!* ctr\n" +
"!strings ==\n" +
"!multi-line strings\n" +
"!runnable {\n";
replacement += "\n!thread {";
s = ("\n" + s).replace("\n!modern", replacement).substring(1)
+ "\n!1000703"; // add class _javax if necessary
}
boolean nostd = false;
if (s.indexOf("!quicktranslator") >= 0) {
s = s.replace("!quicktranslator",
"!1000347\n" +
"!standard functions\n" +
"!636");
} else if (s.indexOf("!translator") >= 0) {
s = s.replace("!translator",
"!main\n" +
"!standard functions\n" +
"!596 628");
} else {
// standard main program (not a translator)
// auto-import and quickmain are now enabled by default.
// new: quicknew and ctex too.
s = s.replace("!auto-import", "");
s = s.replace("!quickmain", "");
s = s.replace("!quicknew", "");
s = s.replace("!ctex", "");
if (s.indexOf("\n!nostd") >= 0) {
s = s.replace("\n!nostd", "");
nostd = true;
} else {
s = s + "\n!628"; // hope this doesn't break anything
s = "!596\n" + s; // auto-import
s = s + "\n!680\n!700"; // quicknew, ctex
}
}
s = (("\n" + s).replace("\n!simplejava", "\n!1000368\n")).substring(1); // \n is important here
s = s.replace("!main", "!609");
s = s.replace("!class _x14", "!641");
s = s.replace("!class _x18", "!include #1000571");
s = s.replace("!class _javax 19", "!include #1000572");
s = s.replace("!multi-line strings", "!699");
s = s.replace("!class JavaTok", "!686");
s = s.replace("\n!JavaTok", "\n!include #1000353");
s = s.replace("!* constructors", "!697");
s = s.replace("\n!L", "\n!723"); // L, S, O, ret and so on
s = s.replace("!quickandroid", "!713");
s = s.replaceAll("!\\* (constructor|ctr)s?", "!697");
s = s.replace("!FrameWithImages", "!include #1000539");
s = s.replace("!image classes", "!include #1001447");
s = s.replace("!standard functions", "!629");
s = s.replace("!snipcom", "!1000607"); // snippet commenter
s = s.replace("\n!_case", "\n!1000346"); // "case" as a variable name
s = s.replace("\n!sf", "\n!629"); // standard functions
s = s.replaceAll("\n!strings? ==", "\n!1000636"); // compare strings with "==" (selected cases only)
s = s.replace("\n!cast", "\n!1000482"); // S s = cast in;
s = s.replace("!actionListener {", "!614");
s = s.replace("!awt {", "!1000805");
s = s.replace("!thread {", "!721");
s = s.replace("!stringfunc {", "!1000635");
s = s.replace("!runnable {", "!711");
s = s.replace("\n!pcall {", "\n!1001188");
s = s.replace("\n!pcall", "\n!1001188");
s = s.replaceAll("!named threads?", "!1001362");
s = s.replace("!getCurrentCodeLine", "!1001487");
// process include statements
for (int n = 0; n < 1000; n++) {
Matcher m = Pattern.compile("!include (#\\d+)").matcher(s);
StringBuffer buf = new StringBuffer();
if (!m.find())
break;
else do {
String includedSrc = loadSnippet(m.group(1));
m.appendReplacement(buf, m.quoteReplacement(includedSrc));
} while (m.find());
m.appendTail(buf);
s = buf.toString();
}
// !x123 translator syntax
s = ("\n"+s).replaceAll("\n!x(\\d+)", "\n!$1").substring(1);
//s = moveImportsUp(s);
if (!nostd)
s = s + "\n!1000691"; // move imports up
if (modern)
s = s + "\n!1001045"; // double variable remover
saveMainJava(s);
}