Transpiled version (1451L) is out of date.
!752 p { L<S> tok = javaTok(loadSnippet("#1002095")); replaceToken(tok, "push_back", "add"); jreplace(tok, "int main()", "p"); // throw away stuff jreplace(tok, "using namespace std;", ""); jreplace(tok, "#include <*>", ""); // list, vector jreplace(tok, "list<", "new LinkedList<"); jreplace(tok, "vector<", "new ArrayList<"); jreplace(tok, "deque<*> *;", "LinkedList<$3> $4 = cppLinkedList("); // TODO jreplace(tok, "*.resize(", "resizeCollection($1, 0,"); jreplace(tok, "copy(*.begin(), *.end(), *.begin())", "cppCopy($3, $15)"); // cout jreplace(tok, "cout << * << endl", "print($4)"); print(); print("!752\n\n" + join(tok)); } static void jreplace(L<S> tok, S in, S out) { L<S> tokin = javaTok(in); for (int n = 0; n < 10000; n++) { int i = findCodeTokens(tok, toStringArray(codeTokensOnly(tokin))); if (i < 0) { replaceCollection(tok, javaTok(tok)); ret; } L<S> subList = tok.subList(i-1, i+l(tokin)); S expansion = expandRefs(out, subList); clearAllTokens(tok.subList(i, i+l(tokin)-2)); tok.set(i, expansion); } throw fail("woot? 10000!"); } // "$1" is first code token, "$2" second code token etc. static S expandRefs(S s, L<S> tokref) { L<S> tok = javaTok(s); for (int i = 1; i < l(tok)-2; i += 2) { if (tok.get(i).startsWith("$") && isInteger(tok.get(i).substring(1))) { S x = tokref.get(-1+parseInt(tok.get(i).substring(1))*2); tok.set(i, x); } } ret join(tok); }
Began life as a copy of #1002056
download show line numbers debug dex old transpilations
Travelled to 15 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, onxytkatvevr, pyentgdyhuwx, pzhvpgtvlbxg, teubizvjbppd, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1002096 |
Snippet name: | C++ to JavaX Translator (developing) |
Eternal ID of this version: | #1002096/1 |
Text MD5: | 4e2647ea867d059aac2415fdd87637f6 |
Author: | stefan |
Category: | |
Type: | JavaX source code |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2015-12-18 17:14:22 |
Source code size: | 1566 bytes / 56 lines |
Pitched / IR pitched: | No / Yes |
Views / Downloads: | 680 / 728 |
Referenced in: | #3000190 - Answer for stefanreich(>> t 20 questions) #3000382 - Answer for ferdie (>> t = 1, f = 0) #3000383 - Answer for funkoverflow (>> t=1, f=0 okay) |