Advertisement
Guest User

Untitled

a guest
Sep 15th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. obj Character
  2. {
  3.     def create()
  4.     {
  5.         far localvar = 1;
  6.     }
  7.     def printthing(arg)
  8.     {
  9.         print(arg);
  10.         print("I printed it!");
  11.         print(localvar);
  12.         return -12;
  13.     }
  14.     def getprintthing()
  15.     {
  16.         return printthing;
  17.     }
  18.     def getholder()
  19.     {
  20.         return holder;
  21.     }
  22.     def destroy()
  23.     {
  24.         print("instance died");
  25.     }
  26. }
  27. obj BlankObj
  28. {
  29.    
  30. }
  31.  
  32. def noopfunc()
  33. {
  34.    
  35. }
  36.  
  37. with(BlankObj)
  38. {
  39.    
  40. }
  41.  
  42. noopfunc();
  43.  
  44. var lasdfiawefd = instance_create(BlankObj);
  45.  
  46. var i;
  47. i = instance_create(Character);
  48. instance_add_variable(i, "id", i);
  49. i.id.y = i+1;
  50. print(i);
  51. print(i.id);
  52. print(i.y);
  53. print(i.id.y);
  54.  
  55. def makez(argument)
  56. {
  57.     far z = argument;
  58. }
  59.  
  60. def printz()
  61. {
  62.     print(z);
  63. }
  64.  
  65. def printx(argument)
  66. {
  67.     print(x);
  68.     x += 1;
  69.     print(argument);
  70.     return 1234;
  71. }
  72.  
  73. def asdf()
  74. {
  75.     return 234658;
  76. }
  77.  
  78. var as = asdf();
  79. print(as);
  80. print(asdf()*2);
  81.  
  82. instance_execute(i, printx, "test");
  83. var a = instance_execute(i, printx, "test");
  84. print(a);
  85. a = print("asdf");
  86. print(a);
  87.  
  88. instance_execute(i, makez, "test");
  89. instance_execute(i, printz);
  90.  
  91. with(i)
  92. {
  93.     print(x);
  94.     x -= 1;
  95. }
  96. print(i.x);
  97.  
  98. var i2 = instance_create(Character);
  99. i2.localvar = 10;
  100.  
  101. with(Character)
  102. {
  103.     var asdfe4 = 10;
  104.     printthing("this is an argument");
  105. }
  106.  
  107. with(Character)
  108.     var asdfe4 = 10;
  109.  
  110. with(i)
  111.     far holder = i2;
  112.  
  113. i2.localvar = 5672453;
  114.  
  115. var bs = i2.printthing("alkergikadsg");
  116. var bs2 = i.getholder().getprintthing()("alkergikadsg");
  117. print(bs);
  118. print(bs2);
  119.  
  120. i2.getprintthing()("alkergikadsg");
  121.  
  122. var mylambda = [x = "hello, world!", y = "adsf"](){print(x); x = "f"; print(x); {var x = "hello, nobody!"; print(x);}};
  123. mylambda();
  124. mylambda();
  125. mylambda();
  126. mylambda();
  127.  
  128. print("asdfasdf");
  129.  
  130. var trash = [0, mylambda, [1, 42]];
  131.  
  132. trash[2][1] += 2;
  133.  
  134. print("asdfasdf2");
  135.  
  136. print(trash[2][1]);
  137.  
  138. trash[1]();
  139.  
  140. var blanklambda = [](){};
  141. blanklambda();
  142.  
  143. var countdown = [](x, self)
  144. {
  145.     if(x > 0)
  146.     {
  147.         print(x);
  148.         self(x-1, self);
  149.     }
  150.     else
  151.         print("Liftoff!");
  152. };
  153.  
  154. countdown(10, countdown);
  155.  
  156. print(len(trash));
  157.  
  158. var myarray = [0, 10, 2594];
  159.  
  160. var mydict = {"a":0,"b":20,135:-1,2:myarray};
  161.  
  162. print(mydict["b"]);
  163.  
  164. var newdict = mydict;
  165.  
  166. newdict["a"] = 5;
  167.  
  168. var mybad = [newdict];
  169.  
  170. newdict["b"] = 15;
  171.  
  172. mydict[2] = newdict[2];
  173.  
  174. newdict[2][0] = -453;
  175.  
  176. print(newdict);
  177. print(mydict);
  178. print(mybad);
  179.  
  180. var mykeys = keys(mydict);
  181.  
  182. for(var j = 0; j < 10; {j += 1;})
  183.     print(j);
  184.  
  185. for(var j = 0; j < 10; {j += 1;})
  186. {
  187.     if(j == 4)
  188.         continue;
  189.     print(j);
  190.     if(j == 8)
  191.         break;
  192. }
  193.  
  194. var j = 34;
  195.  
  196. var myf = compile_text("print(\"test\");");
  197. myf();
  198.  
  199. var myast = parse_text("print(\"toast\");");
  200.  
  201. var myotherast = myast;
  202.  
  203. def rewrite(ast, callback)
  204. {
  205.     ast = callback(ast);
  206.     if(ast[0] == "named")
  207.     {
  208.         var max = len(ast);
  209.         for(var i = 4; i < max; i += 1)
  210.             ast[i] = rewrite(ast[i], callback);
  211.     }
  212.     return ast;
  213. }
  214.  
  215. myotherast = rewrite(myotherast, [](ast)
  216. {
  217.     if(ast[0] == "named" and ast[1] == "string" and len(ast) > 4)
  218.         if(ast[4][0] == "text" and ast[4][1] == "\"toast\"")
  219.             ast[4][1] = "\"not toast\"";
  220.     return ast;
  221. });
  222.  
  223. var mycode = compile_ast(myast);
  224. mycode();
  225. var myothercode = compile_ast(myotherast);
  226. myothercode();
  227.  
  228. def add(x)
  229. {
  230.     var addX = [x = x](y)
  231.     {
  232.         return y + x;
  233.     };
  234.     return addX;
  235. }
  236.  
  237. var add1 = add(1);
  238. print(add1(3));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement