ranger-compiler 2.1.70 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/CHANGELOG.md +114 -0
  2. package/README.md +956 -133
  3. package/{compiler/Lang.clj → dist/Lang.rgr} +2345 -75
  4. package/dist/README.md +116 -0
  5. package/dist/{bin/api.d.ts → api.d.ts} +430 -154
  6. package/dist/api.js +34345 -0
  7. package/{lib/Ajax.clj → dist/lib/Ajax.rgr} +1 -1
  8. package/{lib/CmdParams.clj → dist/lib/CmdParams.rgr} +72 -72
  9. package/{lib/Crypto.clj → dist/lib/Crypto.rgr} +1 -1
  10. package/{lib/DOMLib.clj → dist/lib/DOMLib.rgr} +2 -2
  11. package/{lib/Engine3D.clj → dist/lib/Engine3D.rgr} +1 -1
  12. package/{lib/ImmutableVector.clj → dist/lib/ImmutableVector.rgr} +364 -364
  13. package/{lib/IndexedDB.clj → dist/lib/IndexedDB.rgr} +1 -1
  14. package/{lib/JSON.clj → dist/lib/JSON.rgr} +105 -2
  15. package/{lib/JinxProcess.clj → dist/lib/JinxProcess.rgr} +3 -3
  16. package/{lib/Storage.clj → dist/lib/Storage.rgr} +1 -1
  17. package/{lib/Timers.clj → dist/lib/Timers.rgr} +176 -170
  18. package/{lib/ViewLib.clj → dist/lib/ViewLib.rgr} +1 -1
  19. package/dist/lib/lib/ACEEditor.rgr +5 -0
  20. package/dist/lib/lib/Ajax.rgr +196 -0
  21. package/dist/lib/lib/CmdParams.rgr +72 -0
  22. package/dist/lib/lib/Crypto.rgr +90 -0
  23. package/dist/lib/lib/DOMLib.rgr +307 -0
  24. package/{examples/3D/Engine3D.clj → dist/lib/lib/Engine3D.rgr} +870 -857
  25. package/dist/lib/lib/ImmutableVector.rgr +364 -0
  26. package/dist/lib/lib/IndexedDB.rgr +32 -0
  27. package/{compiler/JSON.clj → dist/lib/lib/JSON.rgr} +106 -3
  28. package/dist/lib/lib/JinxProcess.rgr +838 -0
  29. package/dist/lib/lib/SQL.rgr +44 -0
  30. package/dist/lib/lib/ServiceLib.rgr +9 -0
  31. package/dist/lib/lib/Storage.rgr +89 -0
  32. package/dist/lib/lib/Time.rgr +75 -0
  33. package/dist/lib/lib/Timers.rgr +176 -0
  34. package/dist/lib/lib/TypedArrays.rgr +14 -0
  35. package/dist/lib/lib/ViewLib.rgr +851 -0
  36. package/dist/lib/lib/WebLib.rgr +47 -0
  37. package/dist/lib/lib/WebServerLib.rgr +137 -0
  38. package/{lib/ranger-dir.clj → dist/lib/lib/ranger-dir.rgr} +1 -1
  39. package/{compiler/stdlib.clj → dist/lib/lib/stdlib.rgr} +42 -19
  40. package/{lib/stdops.clj → dist/lib/lib/stdops.rgr} +1 -1
  41. package/dist/lib/ranger-dir.rgr +175 -0
  42. package/{lib/stdlib.clj → dist/lib/stdlib.rgr} +2 -2
  43. package/dist/lib/stdops.rgr +168 -0
  44. package/dist/package.json +47 -0
  45. package/{compiler/bin/output.js → dist/rgrc.js} +15377 -7936
  46. package/dist/stdops.rgr +168 -0
  47. package/package.json +196 -39
  48. package/adventofcode/day1/bin/LambdaSignature1.java +0 -3
  49. package/adventofcode/day1/bin/LambdaSignature2.java +0 -3
  50. package/adventofcode/day1/bin/LambdaSignature3.java +0 -3
  51. package/adventofcode/day1/bin/day1.cpp +0 -124
  52. package/adventofcode/day1/bin/day1.go +0 -75
  53. package/adventofcode/day1/bin/day1.js +0 -45
  54. package/adventofcode/day1/bin/day1.php +0 -46
  55. package/adventofcode/day1/bin/day1.scala +0 -48
  56. package/adventofcode/day1/bin/day1.swift +0 -48
  57. package/adventofcode/day1/bin/day1_part2.cpp +0 -180
  58. package/adventofcode/day1/bin/day1_part2.go +0 -123
  59. package/adventofcode/day1/bin/day1_part2.js +0 -76
  60. package/adventofcode/day1/bin/day1_part2.php +0 -88
  61. package/adventofcode/day1/bin/day1_part2.scala +0 -81
  62. package/adventofcode/day1/bin/day1_part2.swift +0 -91
  63. package/adventofcode/day1/bin/day_one.java +0 -38
  64. package/adventofcode/day1/bin/day_one_part_two.java +0 -57
  65. package/adventofcode/day1/bin/operatorsOf.java +0 -37
  66. package/adventofcode/day1/bin/operatorsOf_5.java +0 -10
  67. package/adventofcode/day1/bin/operatorsOfboolean_5.java +0 -10
  68. package/adventofcode/day1/bin/variant.hpp +0 -2416
  69. package/adventofcode/day1/compile.bat +0 -7
  70. package/adventofcode/day1/compile2.bat +0 -7
  71. package/adventofcode/day1/day1.clj +0 -19
  72. package/adventofcode/day1/day1_part2.clj +0 -43
  73. package/adventofcode/day1/input1.txt +0 -1
  74. package/adventofcode/day2/bin/LambdaSignature1.class +0 -0
  75. package/adventofcode/day2/bin/LambdaSignature1.java +0 -3
  76. package/adventofcode/day2/bin/LambdaSignature2.class +0 -0
  77. package/adventofcode/day2/bin/LambdaSignature2.java +0 -3
  78. package/adventofcode/day2/bin/day2.cpp +0 -133
  79. package/adventofcode/day2/bin/day2.go +0 -85
  80. package/adventofcode/day2/bin/day2.js +0 -45
  81. package/adventofcode/day2/bin/day2.php +0 -59
  82. package/adventofcode/day2/bin/day2.scala +0 -54
  83. package/adventofcode/day2/bin/day2.swift +0 -62
  84. package/adventofcode/day2/bin/day2_part2.cpp +0 -150
  85. package/adventofcode/day2/bin/day2_part2.go +0 -101
  86. package/adventofcode/day2/bin/day2_part2.js +0 -54
  87. package/adventofcode/day2/bin/day2_part2.php +0 -80
  88. package/adventofcode/day2/bin/day2_part2.scala +0 -68
  89. package/adventofcode/day2/bin/day2_part2.swift +0 -82
  90. package/adventofcode/day2/bin/day_two.java +0 -61
  91. package/adventofcode/day2/bin/day_two_part_two$1$1$1.class +0 -0
  92. package/adventofcode/day2/bin/day_two_part_two$1$1.class +0 -0
  93. package/adventofcode/day2/bin/day_two_part_two$1.class +0 -0
  94. package/adventofcode/day2/bin/day_two_part_two.class +0 -0
  95. package/adventofcode/day2/bin/day_two_part_two.java +0 -80
  96. package/adventofcode/day2/bin/operatorsOf.class +0 -0
  97. package/adventofcode/day2/bin/operatorsOf.java +0 -18
  98. package/adventofcode/day2/bin/variant.hpp +0 -2416
  99. package/adventofcode/day2/compile.bat +0 -7
  100. package/adventofcode/day2/compile2.bat +0 -7
  101. package/adventofcode/day2/day2.clj +0 -60
  102. package/adventofcode/day2/day2_part2.clj +0 -69
  103. package/adventofcode/day2/input1.txt +0 -1
  104. package/adventofcode/day3/bin/Grid.java +0 -92
  105. package/adventofcode/day3/bin/GridRow.java +0 -5
  106. package/adventofcode/day3/bin/LambdaSignature1.java +0 -3
  107. package/adventofcode/day3/bin/LambdaSignature2.java +0 -3
  108. package/adventofcode/day3/bin/LambdaSignature3.java +0 -3
  109. package/adventofcode/day3/bin/day3.cpp +0 -64
  110. package/adventofcode/day3/bin/day3.go +0 -55
  111. package/adventofcode/day3/bin/day3.js +0 -42
  112. package/adventofcode/day3/bin/day3.php +0 -41
  113. package/adventofcode/day3/bin/day3.scala +0 -52
  114. package/adventofcode/day3/bin/day3.swift +0 -43
  115. package/adventofcode/day3/bin/day3_part2.cpp +0 -216
  116. package/adventofcode/day3/bin/day3_part2.go +0 -188
  117. package/adventofcode/day3/bin/day3_part2.js +0 -123
  118. package/adventofcode/day3/bin/day3_part2.php +0 -135
  119. package/adventofcode/day3/bin/day3_part2.swift +0 -131
  120. package/adventofcode/day3/bin/day_three_part_two.java +0 -43
  121. package/adventofcode/day3/bin/day_two.java +0 -42
  122. package/adventofcode/day3/bin/operatorsOf.java +0 -14
  123. package/adventofcode/day3/bin/variant.hpp +0 -2416
  124. package/adventofcode/day3/compile.bat +0 -7
  125. package/adventofcode/day3/compile2.bat +0 -7
  126. package/adventofcode/day3/day3.clj +0 -42
  127. package/adventofcode/day3/day3_part2.clj +0 -112
  128. package/adventofcode/day4/bin/LambdaSignature1.java +0 -3
  129. package/adventofcode/day4/bin/day4.cpp +0 -118
  130. package/adventofcode/day4/bin/day4.go +0 -75
  131. package/adventofcode/day4/bin/day4.js +0 -40
  132. package/adventofcode/day4/bin/day4.php +0 -52
  133. package/adventofcode/day4/bin/day4.scala +0 -47
  134. package/adventofcode/day4/bin/day4.swift +0 -56
  135. package/adventofcode/day4/bin/day4_part2.go +0 -129
  136. package/adventofcode/day4/bin/day4_part2.js +0 -72
  137. package/adventofcode/day4/bin/day_four.java +0 -41
  138. package/adventofcode/day4/bin/inputData.java +0 -7
  139. package/adventofcode/day4/bin/operatorsOf.java +0 -11
  140. package/adventofcode/day4/bin/variant.hpp +0 -2416
  141. package/adventofcode/day4/compile.bat +0 -7
  142. package/adventofcode/day4/compile2.bat +0 -7
  143. package/adventofcode/day4/day4.clj +0 -32
  144. package/adventofcode/day4/day4_part2.clj +0 -44
  145. package/adventofcode/day4/input.clj +0 -519
  146. package/adventofcode/day4/input.txt +0 -512
  147. package/bin/api.ts +0 -24471
  148. package/bin/compiler.ts +0 -24482
  149. package/bin/output.js +0 -23819
  150. package/compiler/ColorConsole.clj +0 -22
  151. package/compiler/ContextOperators.clj +0 -75
  152. package/compiler/FlowEnterVarDef.clj +0 -223
  153. package/compiler/InputFileSystem.clj +0 -276
  154. package/compiler/RangerDocs.clj +0 -7
  155. package/compiler/TFactory.clj +0 -146
  156. package/compiler/TFiles.clj +0 -23
  157. package/compiler/TFlow.clj +0 -39
  158. package/compiler/TNodeFactory.clj +0 -84
  159. package/compiler/TTypes.clj +0 -188
  160. package/compiler/VirtualCompiler.clj +0 -807
  161. package/compiler/bin/ng_Compiler.js +0 -23779
  162. package/compiler/commonmark_plugin.clj +0 -359
  163. package/compiler/feat2.bat +0 -2
  164. package/compiler/feats.bat +0 -9
  165. package/compiler/feature_tests.clj +0 -192
  166. package/compiler/index.js +0 -2
  167. package/compiler/issue_57.clj +0 -25
  168. package/compiler/makefile_plugin.clj +0 -135
  169. package/compiler/markdown_plugin.clj +0 -386
  170. package/compiler/maven_plugin.clj +0 -162
  171. package/compiler/ng_AndroidPageWriter.clj +0 -299
  172. package/compiler/ng_CodeNode.clj +0 -756
  173. package/compiler/ng_CodeNodeCompilerExtensions.clj +0 -839
  174. package/compiler/ng_Compiler.clj +0 -49
  175. package/compiler/ng_CompilerGeneric.clj +0 -260
  176. package/compiler/ng_CompilerOrig.clj +0 -854
  177. package/compiler/ng_DictNode.clj +0 -346
  178. package/compiler/ng_DictNode2.clj +0 -316
  179. package/compiler/ng_Execute.clj +0 -138
  180. package/compiler/ng_Execute1.clj +0 -129
  181. package/compiler/ng_FlowWork.clj +0 -3951
  182. package/compiler/ng_LiveCompiler.clj +0 -1109
  183. package/compiler/ng_RagnerJavaScriptClassWriter.clj +0 -402
  184. package/compiler/ng_RangerActiveOperators.clj +0 -86
  185. package/compiler/ng_RangerAppClassDesc.clj +0 -400
  186. package/compiler/ng_RangerAppEnums.clj +0 -86
  187. package/compiler/ng_RangerAppFunctionDesc.clj +0 -127
  188. package/compiler/ng_RangerAppMessages.clj +0 -15
  189. package/compiler/ng_RangerAppOperatorDesc.clj +0 -20
  190. package/compiler/ng_RangerAppParamDesc.clj +0 -388
  191. package/compiler/ng_RangerAppWriterContext.clj +0 -1793
  192. package/compiler/ng_RangerArgMatch.clj +0 -638
  193. package/compiler/ng_RangerCSharpClassWriter.clj +0 -484
  194. package/compiler/ng_RangerCppClassWriter.clj +0 -1023
  195. package/compiler/ng_RangerDocGenerator.clj +0 -305
  196. package/compiler/ng_RangerFlowParser.clj +0 -4992
  197. package/compiler/ng_RangerFlowParserOrig.clj +0 -4002
  198. package/compiler/ng_RangerGenericClassWriter.clj +0 -573
  199. package/compiler/ng_RangerGolangClassWriter.clj +0 -1766
  200. package/compiler/ng_RangerImmutableExtension.clj +0 -77
  201. package/compiler/ng_RangerJava7ClassWriter.clj +0 -961
  202. package/compiler/ng_RangerJavaScriptClassWriter.clj +0 -1040
  203. package/compiler/ng_RangerKotlinClassWriter.clj +0 -372
  204. package/compiler/ng_RangerLanguageWriters.clj +0 -14
  205. package/compiler/ng_RangerLispParser.clj +0 -873
  206. package/compiler/ng_RangerPHPClassWriter.clj +0 -643
  207. package/compiler/ng_RangerPlugin.clj +0 -41
  208. package/compiler/ng_RangerRangerClassWriter.clj +0 -357
  209. package/compiler/ng_RangerRustClassWriter.clj +0 -420
  210. package/compiler/ng_RangerScalaClassWriter.clj +0 -818
  211. package/compiler/ng_RangerSerializeClass.clj +0 -502
  212. package/compiler/ng_RangerServiceBuilder.clj +0 -63
  213. package/compiler/ng_RangerSwift3ClassWriter.clj +0 -809
  214. package/compiler/ng_RangerSwiftClassWriter.clj +0 -0
  215. package/compiler/ng_RangerTypeClass.clj +0 -45
  216. package/compiler/ng_SourceParser.clj +0 -241
  217. package/compiler/ng_SourceParser2.clj +0 -214
  218. package/compiler/ng_WebPageWriter.clj +0 -39
  219. package/compiler/ng_jsonParser.clj +0 -340
  220. package/compiler/ng_p_test.clj +0 -1711
  221. package/compiler/ng_parser.clj +0 -911
  222. package/compiler/ng_parser2.clj +0 -735
  223. package/compiler/ng_parser2_backup.clj +0 -1679
  224. package/compiler/ng_parser_backup.clj +0 -886
  225. package/compiler/ng_parser_ok.clj +0 -1718
  226. package/compiler/ng_parser_ok2.clj +0 -1717
  227. package/compiler/ng_parser_std_match.clj +0 -687
  228. package/compiler/ng_parser_std_match2.clj +0 -1012
  229. package/compiler/ng_parser_v2.clj +0 -1251
  230. package/compiler/ng_ui.clj +0 -403
  231. package/compiler/ng_ui_test.clj +0 -18
  232. package/compiler/ng_writer.clj +0 -338
  233. package/compiler/ng_xmlParser.clj +0 -472
  234. package/compiler/ng_xmlParser2.clj +0 -317
  235. package/compiler/ng_xmlParser3.clj +0 -251
  236. package/compiler/opdoc.bat +0 -4
  237. package/compiler/operators.md +0 -290
  238. package/compiler/p.bat +0 -4
  239. package/compiler/package.json +0 -10
  240. package/compiler/pcmd.bat +0 -4
  241. package/compiler/pcmd2.bat +0 -3
  242. package/compiler/plaintext_plugin.clj +0 -69
  243. package/compiler/plugin.bat +0 -19
  244. package/compiler/plugin2.bat +0 -4
  245. package/compiler/plugin_app.bat +0 -3
  246. package/compiler/plugin_apps.clj +0 -27
  247. package/compiler/plugins.bat +0 -10
  248. package/compiler/reveal_plugin.clj +0 -409
  249. package/compiler/simplePlugin.clj +0 -780
  250. package/compiler/t.bat +0 -3
  251. package/compiler/test_any.clj +0 -43
  252. package/compiler/test_call.clj +0 -141
  253. package/compiler/test_chain.clj +0 -79
  254. package/compiler/test_json.clj +0 -10
  255. package/compiler/test_lambda.clj +0 -153
  256. package/compiler/test_pcmd.clj +0 -32
  257. package/compiler/test_pcmd2.clj +0 -29
  258. package/compiler/test_plugin.clj +0 -237
  259. package/compiler/test_readfile.clj +0 -13
  260. package/compiler/test_reveal.clj +0 -19
  261. package/compiler/test_slides.clj +0 -312
  262. package/compiler/test_types.clj +0 -143
  263. package/compiler/test_types2.clj +0 -49
  264. package/compiler/test_types3.clj +0 -53
  265. package/compiler/test_var.clj +0 -40
  266. package/compiler/tonpm.bat +0 -14
  267. package/compiler/tonpm2.bat +0 -12
  268. package/compiler/ui_plugin.clj +0 -507
  269. package/compiler/ui_plugin2.clj +0 -427
  270. package/compiler/update-git.bat +0 -3
  271. package/compiler/vcomp.bat +0 -4
  272. package/compiler/viewbuilder_Android.clj +0 -176
  273. package/compiler/viewbuilder_Web.clj +0 -105
  274. package/dist/bin/api.js +0 -32422
  275. package/dist/bin/compiler.d.ts +0 -1638
  276. package/dist/bin/compiler.js +0 -32444
  277. package/examples/3D/bin/test_3d.js +0 -329
  278. package/examples/3D/test_3d.clj +0 -385
  279. package/examples/EVGColor/EVGColor.clj +0 -310
  280. package/examples/EVGColor/EVGColorContext.clj +0 -176
  281. package/examples/EVGColor/bin/EVGColor.js +0 -286
  282. package/examples/EVGColor/bin/minimized.js +0 -286
  283. package/examples/SVGPath/SVGPath.clj +0 -625
  284. package/examples/SVGPath/Vec2.clj +0 -103
  285. package/examples/SVGPath/bin/SVGPath.cpp +0 -887
  286. package/examples/SVGPath/bin/SVGPath.js +0 -682
  287. package/examples/SVGPath/bin/SVGPath.ts +0 -711
  288. package/examples/SVGPath/bin/minimized.js +0 -578
  289. package/examples/SVGPath/bin/variant.hpp +0 -2416
  290. package/examples/minification/Vec2.clj +0 -103
  291. package/examples/minification/bin/minified.js +0 -44
  292. package/examples/minification/bin/test.js +0 -117
  293. package/examples/minification/test.clj +0 -13
  294. package/fiddle/VirtualCompiler.js +0 -23495
  295. package/fiddle/browser_editor.js +0 -13240
  296. package/fiddle/compileEnv.js +0 -1
  297. package/fiddle/compileEnv.json +0 -1
  298. package/fiddle/lang_data.js +0 -1
  299. package/index.html +0 -18
  300. package/native/httpd/HttpTester.clj +0 -33
  301. package/native/httpd/RangerWebService.clj +0 -81
  302. package/operators.md +0 -290
  303. package/tsconfig.json +0 -29
  304. package/versions/cpp/compiler.cpp +0 -15032
  305. package/versions/es6/compiler.js +0 -12860
  306. package/versions/go/compiler.go +0 -21338
  307. package/versions/java/AfterCodeNode.java +0 -4
  308. package/versions/java/ClassJoinPoint.java +0 -6
  309. package/versions/java/CodeFile.java +0 -42
  310. package/versions/java/CodeFileSystem.java +0 -72
  311. package/versions/java/CodeNode.java +0 -807
  312. package/versions/java/CodeSlice.java +0 -13
  313. package/versions/java/CodeWriter.java +0 -185
  314. package/versions/java/ColorConsole.java +0 -8
  315. package/versions/java/CompilerInterface.java +0 -213
  316. package/versions/java/DictNode.java +0 -353
  317. package/versions/java/LiveCompiler.java +0 -772
  318. package/versions/java/NodeEvalState.java +0 -24
  319. package/versions/java/OpFindResult.java +0 -6
  320. package/versions/java/RangerAppArrayValue.java +0 -7
  321. package/versions/java/RangerAppClassDesc.java +0 -217
  322. package/versions/java/RangerAppEnum.java +0 -14
  323. package/versions/java/RangerAppFunctionDesc.java +0 -20
  324. package/versions/java/RangerAppHashValue.java +0 -11
  325. package/versions/java/RangerAppInterfaceImpl.java +0 -6
  326. package/versions/java/RangerAppMethodVariants.java +0 -6
  327. package/versions/java/RangerAppParamDesc.java +0 -321
  328. package/versions/java/RangerAppTodo.java +0 -6
  329. package/versions/java/RangerAppValue.java +0 -10
  330. package/versions/java/RangerAppWriterContext.java +0 -800
  331. package/versions/java/RangerArgMatch.java +0 -317
  332. package/versions/java/RangerBackReference.java +0 -7
  333. package/versions/java/RangerCSharpClassWriter.java +0 -287
  334. package/versions/java/RangerCompilerMessage.java +0 -9
  335. package/versions/java/RangerCppClassWriter.java +0 -725
  336. package/versions/java/RangerFlowParser.java +0 -2142
  337. package/versions/java/RangerGenericClassWriter.java +0 -367
  338. package/versions/java/RangerGolangClassWriter.java +0 -1379
  339. package/versions/java/RangerJava7ClassWriter.java +0 -652
  340. package/versions/java/RangerJavaScriptClassWriter.java +0 -305
  341. package/versions/java/RangerKotlinClassWriter.java +0 -380
  342. package/versions/java/RangerLispParser.java +0 -845
  343. package/versions/java/RangerNodeValue.java +0 -9
  344. package/versions/java/RangerPHPClassWriter.java +0 -527
  345. package/versions/java/RangerParamEventHandler.java +0 -6
  346. package/versions/java/RangerParamEventList.java +0 -5
  347. package/versions/java/RangerParamEventMap.java +0 -27
  348. package/versions/java/RangerRangerClassWriter.java +0 -268
  349. package/versions/java/RangerRefForce.java +0 -7
  350. package/versions/java/RangerScalaClassWriter.java +0 -365
  351. package/versions/java/RangerSerializeClass.java +0 -148
  352. package/versions/java/RangerSwift3ClassWriter.java +0 -548
  353. package/versions/java/RangerTypeClass.java +0 -17
  354. package/versions/java/SourceCode.java +0 -65
  355. package/versions/php/compiler.php +0 -13830
  356. package/versions/swift3/compiler.swift +0 -12542
  357. /package/{lib/ACEEditor.clj → dist/lib/ACEEditor.rgr} +0 -0
  358. /package/{lib/SQL.clj → dist/lib/SQL.rgr} +0 -0
  359. /package/{lib/ServiceLib.clj → dist/lib/ServiceLib.rgr} +0 -0
  360. /package/{lib/Time.clj → dist/lib/Time.rgr} +0 -0
  361. /package/{lib/TypedArrays.clj → dist/lib/TypedArrays.rgr} +0 -0
  362. /package/{lib/WebLib.clj → dist/lib/WebLib.rgr} +0 -0
  363. /package/{lib/WebServerLib.clj → dist/lib/WebServerLib.rgr} +0 -0
@@ -1,7 +0,0 @@
1
- call ranger-compiler day2.clj -l=es6
2
- call ranger-compiler day2.clj -l=go
3
- call ranger-compiler day2.clj -l=php
4
- call ranger-compiler day2.clj -l=cpp
5
- call ranger-compiler day2.clj -l=java7
6
- call ranger-compiler day2.clj -l=scala -scalafiddle
7
- call ranger-compiler day2.clj -l=swift3
@@ -1,7 +0,0 @@
1
- call ranger-compiler day2_part2.clj -l=es6
2
- call ranger-compiler day2_part2.clj -l=go
3
- call ranger-compiler day2_part2.clj -l=php
4
- call ranger-compiler day2_part2.clj -l=cpp
5
- call ranger-compiler day2_part2.clj -l=java7
6
- call ranger-compiler day2_part2.clj -l=scala -scalafiddle
7
- call ranger-compiler day2_part2.clj -l=swift3
@@ -1,60 +0,0 @@
1
-
2
-
3
- class day_two {
4
- static fn main() {
5
- def data `
6
- 3751 3769 2769 2039 2794 240 3579 1228 4291 220 324 3960 211 1346 237 1586
7
- 550 589 538 110 167 567 99 203 524 288 500 111 118 185 505 74
8
- 2127 1904 199 221 1201 250 1119 377 1633 1801 2011 1794 394 238 206 680
9
- 435 1703 1385 1461 213 1211 192 1553 1580 197 571 195 326 1491 869 1282
10
- 109 104 3033 120 652 2752 1822 2518 1289 1053 1397 951 3015 3016 125 1782
11
- 2025 1920 1891 99 1057 1909 2237 106 97 920 603 1841 2150 1980 1970 88
12
- 1870 170 167 176 306 1909 1825 1709 168 1400 359 817 1678 1718 1594 1552
13
- 98 81 216 677 572 295 38 574 403 74 91 534 662 588 511 51
14
- 453 1153 666 695 63 69 68 58 524 1088 75 1117 1192 1232 1046 443
15
- 3893 441 1825 3730 3660 115 4503 4105 3495 4092 48 3852 132 156 150 4229
16
- 867 44 571 40 884 922 418 328 901 845 42 860 932 53 432 569
17
- 905 717 162 4536 4219 179 990 374 4409 4821 393 4181 4054 4958 186 193
18
- 2610 2936 218 2552 3281 761 204 3433 3699 2727 3065 3624 193 926 1866 236
19
- 2602 216 495 3733 183 4688 2893 4042 3066 3810 189 4392 3900 4321 2814 159
20
- 166 136 80 185 135 78 177 123 82 150 121 145 115 63 68 24
21
- 214 221 265 766 959 1038 226 1188 1122 117 458 1105 1285 1017 274 281
22
- `
23
- def list (strsplit data "")
24
- def idx 0
25
- def value 0
26
- def n_idx 1
27
- def min 0
28
- def max 0
29
- def total 0
30
- list.forEach({
31
- def iValue (to_int item)
32
- if(!null? iValue) {
33
- value = ( (unwrap iValue) + value * 10)
34
- n_idx = n_idx + 1
35
- } {
36
- if(n_idx > 1) {
37
- if( min == 0 && max == 0) {
38
- min = value
39
- max = value
40
- } {
41
- if( min > value) {
42
- min = value
43
- }
44
- if( max < value ) {
45
- max = value
46
- }
47
- }
48
- }
49
- value = 0
50
- n_idx = 1
51
- if( (charAt item 0 ) == (ccode '\n') || (charAt item 0 ) == (ccode '\r') ) {
52
- total = total + (max - min)
53
- max = 0
54
- min = 0
55
- }
56
- }
57
- })
58
- print "Total == " + total
59
- }
60
- }
@@ -1,69 +0,0 @@
1
-
2
-
3
- class day_two_part_two {
4
- static fn main() {
5
- def data `
6
- 3751 3769 2769 2039 2794 240 3579 1228 4291 220 324 3960 211 1346 237 1586
7
- 550 589 538 110 167 567 99 203 524 288 500 111 118 185 505 74
8
- 2127 1904 199 221 1201 250 1119 377 1633 1801 2011 1794 394 238 206 680
9
- 435 1703 1385 1461 213 1211 192 1553 1580 197 571 195 326 1491 869 1282
10
- 109 104 3033 120 652 2752 1822 2518 1289 1053 1397 951 3015 3016 125 1782
11
- 2025 1920 1891 99 1057 1909 2237 106 97 920 603 1841 2150 1980 1970 88
12
- 1870 170 167 176 306 1909 1825 1709 168 1400 359 817 1678 1718 1594 1552
13
- 98 81 216 677 572 295 38 574 403 74 91 534 662 588 511 51
14
- 453 1153 666 695 63 69 68 58 524 1088 75 1117 1192 1232 1046 443
15
- 3893 441 1825 3730 3660 115 4503 4105 3495 4092 48 3852 132 156 150 4229
16
- 867 44 571 40 884 922 418 328 901 845 42 860 932 53 432 569
17
- 905 717 162 4536 4219 179 990 374 4409 4821 393 4181 4054 4958 186 193
18
- 2610 2936 218 2552 3281 761 204 3433 3699 2727 3065 3624 193 926 1866 236
19
- 2602 216 495 3733 183 4688 2893 4042 3066 3810 189 4392 3900 4321 2814 159
20
- 166 136 80 185 135 78 177 123 82 150 121 145 115 63 68 24
21
- 214 221 265 766 959 1038 226 1188 1122 117 458 1105 1285 1017 274 281
22
- `
23
- def list (strsplit data "")
24
- def idx 0
25
- def value 0
26
- def n_idx 1
27
- def min 0
28
- def max 0
29
- def total 0
30
- def row:[int]
31
- list.forEach({
32
- def iValue (to_int item)
33
- if(!null? iValue) {
34
- value = ( (unwrap iValue) + value * 10)
35
- n_idx = n_idx + 1
36
- } {
37
- if(n_idx > 1) {
38
- push row value
39
- }
40
- value = 0
41
- n_idx = 1
42
- if( (charAt item 0 ) == (ccode '\n') || (charAt item 0 ) == (ccode '\r') ) {
43
- def theValue 0
44
- row.forEach({
45
- def item1 item
46
- def outer_index index
47
- row.forEach({
48
- if(index != outer_index) {
49
- def divRes ((to_double item) / (to_double item1))
50
- if( item % item1 == 0) {
51
- theValue = (to_int divRes)
52
- }
53
- def divRes ((to_double item1) / (to_double item))
54
- if( item1 % item == 0) {
55
- theValue = (to_int divRes)
56
- }
57
- }
58
- })
59
- })
60
- total = total + theValue
61
- max = 0
62
- min = 0
63
- clear row
64
- }
65
- }
66
- })
67
- print "Total == " + total
68
- }
69
- }
@@ -1 +0,0 @@
1
- 428122498997587283996116951397957933569136949848379417125362532269869461185743113733992331379856446362482129646556286611543756564275715359874924898113424472782974789464348626278532936228881786273586278886575828239366794429223317476722337424399239986153675275924113322561873814364451339186918813451685263192891627186769818128715595715444565444581514677521874935942913547121751851631373316122491471564697731298951989511917272684335463436218283261962158671266625299188764589814518793576375629163896349665312991285776595142146261792244475721782941364787968924537841698538288459355159783985638187254653851864874544584878999193242641611859756728634623853475638478923744471563845635468173824196684361934269459459124269196811512927442662761563824323621758785866391424778683599179447845595931928589255935953295111937431266815352781399967295389339626178664148415561175386725992469782888757942558362117938629369129439717427474416851628121191639355646394276451847131182652486561415942815818785884559193483878139351841633366398788657844396925423217662517356486193821341454889283266691224778723833397914224396722559593959125317175899594685524852419495793389481831354787287452367145661829287518771631939314683137722493531318181315216342994141683484111969476952946378314883421677952397588613562958741328987734565492378977396431481215983656814486518865642645612413945129485464979535991675776338786758997128124651311153182816188924935186361813797251997643992686294724699281969473142721116432968216434977684138184481963845141486793996476793954226225885432422654394439882842163295458549755137247614338991879966665925466545111899714943716571113326479432925939227996799951279485722836754457737668191845914566732285928453781818792236447816127492445993945894435692799839217467253986218213131249786833333936332257795191937942688668182629489191693154184177398186462481316834678733713614889439352976144726162214648922159719979143735815478633912633185334529484779322818611438194522292278787653763328944421516569181178517915745625295158611636365253948455727653672922299582352766484
@@ -1,92 +0,0 @@
1
- import java.util.*;
2
- import java.lang.StringBuilder;
3
- import java.io.*;
4
-
5
- public class Grid {
6
-
7
- static String joinStrings(ArrayList<String> list, String delimiter)
8
- {
9
- StringBuilder b = new StringBuilder();
10
- for(int i=0; i < list.size() ; i++) {
11
- if( i > 0 ) {
12
- b.append(delimiter);
13
- }
14
- b.append(list.get(i));
15
- }
16
- return b.toString();
17
- }
18
-
19
- public HashMap<Integer,GridRow> cols = new HashMap<Integer,GridRow>();
20
- public Integer minx = 0;
21
- public Integer maxx = 0;
22
- public Integer miny = 0;
23
- public Integer maxy = 0;
24
- public Integer turtle_limit = 0;
25
- public Integer first_largest = 0;
26
-
27
- public Integer getValue( final Integer x , final Integer y ) {
28
- if ( cols.containsKey(y) ) {
29
- final GridRow col = cols.get(y);
30
- if ( col.values.containsKey(x) ) {
31
- return (col.values.get(x));
32
- }
33
- }
34
- return 0;
35
- }
36
-
37
- public void setValue( final Integer x , final Integer y , final Integer value ) {
38
- if ( (value > turtle_limit) && (first_largest == 0) ) {
39
- first_largest = value;
40
- }
41
- if ( cols.containsKey(y) ) {
42
- final GridRow col = cols.get(y);
43
- col.values.put(x, value);
44
- } else {
45
- final GridRow newCol = new GridRow();
46
- cols.put(y, newCol);
47
- newCol.values.put(x, value);
48
- }
49
- if ( x < minx ) {
50
- minx = x;
51
- }
52
- if ( x > maxx ) {
53
- maxx = x;
54
- }
55
- if ( y < miny ) {
56
- miny = y;
57
- }
58
- if ( y > maxy ) {
59
- maxy = y;
60
- }
61
- }
62
-
63
- public Integer getAdjacentSum( final Integer x , final Integer y ) {
64
- final LambdaSignature1 v = new LambdaSignature1() {
65
- public Integer run( final Integer dx, final Integer dy) {
66
- return (Grid.this).getValue((x + dx), (y + dy));
67
- // captured var x
68
- // captured var y
69
- }
70
- };
71
- return ((((((v.run(-1, -1) + v.run(-1, 0)) + v.run(-1, 1)) + v.run(0, -1)) + v.run(0, 1)) + v.run(1, -1)) + v.run(1, 0)) + v.run(1, 1);
72
- }
73
-
74
- public void printGrid() {
75
- Integer xx = minx;
76
- Integer yy = miny;
77
- while (yy <= maxy) {
78
- xx = minx;
79
- ArrayList<Integer> row = new ArrayList<Integer>();
80
- while (xx <= maxx) {
81
- row.add((this).getValue(xx, yy));
82
- xx = xx + 1;
83
- }
84
- System.out.println(String.valueOf( joinStrings(operatorsOf.map_2(row, new LambdaSignature2() {
85
- public String run( final Integer item, final Integer index) {
86
- return String.valueOf(item );
87
- }
88
- }), " ") ) );
89
- yy = yy + 1;
90
- }
91
- }
92
- }
@@ -1,5 +0,0 @@
1
- import java.util.*;
2
-
3
- public class GridRow {
4
- public HashMap<Integer,Integer> values = new HashMap<Integer,Integer>();
5
- }
@@ -1,3 +0,0 @@
1
- public interface LambdaSignature1 {
2
- public Integer run( final Integer dx, final Integer dy);
3
- }
@@ -1,3 +0,0 @@
1
- public interface LambdaSignature2 {
2
- public String run( final Integer item, final Integer index);
3
- }
@@ -1,3 +0,0 @@
1
- public interface LambdaSignature3 {
2
- public void run( final Integer dx, final Integer dy, final Integer steps);
3
- }
@@ -1,64 +0,0 @@
1
- #include <memory>
2
- #include "variant.hpp"
3
- #include <math.h>
4
- #include <iostream>
5
- #include <string>
6
-
7
- // define classes here to avoid compiler errors
8
- class day_two;
9
-
10
- typedef mpark::variant<std::shared_ptr<day_two>, int, std::string, bool, double> r_union_Any;
11
-
12
- // header definitions
13
- class day_two : public std::enable_shared_from_this<day_two> {
14
- public :
15
- /* class constructor */
16
- day_two( );
17
- /* static methods */
18
- static int distance( int data );
19
- static void main();
20
- };
21
-
22
- int __g_argc;
23
- char **__g_argv;
24
- day_two::day_two( ) {
25
- }
26
- int day_two::distance( int data ) {
27
- /** unused: int size = 1 **/ ;
28
- int side = 1;
29
- int total = 1;
30
- int last_total = 1;
31
- int n = 1;
32
- while (total < data) {
33
- last_total = total;
34
- side = side + 2;
35
- total = total + ((side - 1) * 4);
36
- n = n + 1;
37
- }
38
- int dist = (data - last_total) - 1;
39
- int sideStep = side - 1;
40
- int pos = dist % sideStep;
41
- int step_ort = 0;
42
- int halfway = (int)floor( (sideStep / 2));
43
- if ( pos < halfway ) {
44
- step_ort = (halfway - 1) - pos;
45
- } else {
46
- step_ort = (pos - halfway) + 1;
47
- }
48
- std::cout << ((std::string("total steps for ") + std::to_string(data)) + std::string(" == ")) + std::to_string((step_ort + halfway)) << std::endl;
49
- return step_ort + halfway;
50
- }
51
- int main(int argc, char* argv[]) {
52
- __g_argc = argc;
53
- __g_argv = argv;
54
- day_two::distance(9);
55
- day_two::distance(10);
56
- day_two::distance(11);
57
- day_two::distance(12);
58
- day_two::distance(17);
59
- day_two::distance(23);
60
- day_two::distance(24);
61
- day_two::distance(1024);
62
- day_two::distance(289326);
63
- return 0;
64
- }
@@ -1,55 +0,0 @@
1
- package main
2
- import (
3
- "strings"
4
- "strconv"
5
- "fmt"
6
- )
7
-
8
- type GoNullable struct {
9
- value interface{}
10
- has_value bool
11
- }
12
-
13
- type day_two struct {
14
- }
15
-
16
- func CreateNew_day_two() *day_two {
17
- me := new(day_two)
18
- return me;
19
- }
20
- func day_two_static_distance(data int64) int64 {
21
- /** unused: size*/
22
- var side int64= int64(1);
23
- var total int64= int64(1);
24
- var last_total int64= int64(1);
25
- var n int64= int64(1);
26
- for total < data {
27
- last_total = total;
28
- side = side + int64(2);
29
- total = total + ((side - int64(1)) * int64(4));
30
- n = n + int64(1);
31
- }
32
- var dist int64= (data - last_total) - int64(1);
33
- var sideStep int64= side - int64(1);
34
- var pos int64= dist % sideStep;
35
- var step_ort int64= int64(0);
36
- var halfway int64= int64((sideStep / int64(2)));
37
- if pos < halfway {
38
- step_ort = (halfway - int64(1)) - pos;
39
- } else {
40
- step_ort = (pos - halfway) + int64(1);
41
- }
42
- fmt.Println( strings.Join([]string{ ((strings.Join([]string{ "total steps for ",strconv.FormatInt(data, 10) }, "")) + " == "),strconv.FormatInt((step_ort + halfway), 10) }, "") )
43
- return step_ort + halfway
44
- }
45
- func main() {
46
- day_two_static_distance(int64(9));
47
- day_two_static_distance(int64(10));
48
- day_two_static_distance(int64(11));
49
- day_two_static_distance(int64(12));
50
- day_two_static_distance(int64(17));
51
- day_two_static_distance(int64(23));
52
- day_two_static_distance(int64(24));
53
- day_two_static_distance(int64(1024));
54
- day_two_static_distance(int64(289326));
55
- }
@@ -1,42 +0,0 @@
1
- class day_two {
2
- constructor() {
3
- }
4
- }
5
- day_two.distance = function(data) {
6
- /** unused: const size = 1 **/
7
- let side = 1;
8
- let total = 1;
9
- let last_total = 1;
10
- let n = 1;
11
- while (total < data) {
12
- last_total = total;
13
- side = side + 2;
14
- total = total + ((side - 1) * 4);
15
- n = n + 1;
16
- };
17
- const dist = (data - last_total) - 1;
18
- const sideStep = side - 1;
19
- const pos = dist % sideStep;
20
- let step_ort = 0;
21
- const halfway = Math.floor( (sideStep / 2));
22
- if ( pos < halfway ) {
23
- step_ort = (halfway - 1) - pos;
24
- } else {
25
- step_ort = (pos - halfway) + 1;
26
- }
27
- console.log((("total steps for " + data) + " == ") + (step_ort + halfway));
28
- return step_ort + halfway;
29
- };
30
- /* static JavaSript main routine at the end of the JS file */
31
- function __js_main() {
32
- day_two.distance(9);
33
- day_two.distance(10);
34
- day_two.distance(11);
35
- day_two.distance(12);
36
- day_two.distance(17);
37
- day_two.distance(23);
38
- day_two.distance(24);
39
- day_two.distance(1024);
40
- day_two.distance(289326);
41
- }
42
- __js_main();
@@ -1,41 +0,0 @@
1
- <?php
2
-
3
- class day_two {
4
- function __construct( ) {
5
- }
6
- public static function distance( $data ) {
7
- /** unused: $size = 1 **/ ;
8
- $side = 1;
9
- $total = 1;
10
- $last_total = 1;
11
- $n = 1;
12
- while ($total < $data) {
13
- $last_total = $total;
14
- $side = $side + 2;
15
- $total = $total + (($side - 1) * 4);
16
- $n = $n + 1;
17
- }
18
- $dist = ($data - $last_total) - 1;
19
- $sideStep = $side - 1;
20
- $pos = $dist % $sideStep;
21
- $step_ort = 0;
22
- $halfway = floor(($sideStep / 2));
23
- if ( $pos < $halfway ) {
24
- $step_ort = ($halfway - 1) - $pos;
25
- } else {
26
- $step_ort = ($pos - $halfway) + 1;
27
- }
28
- echo( (("total steps for " . $data) . " == ") . ($step_ort + $halfway) . "\n");
29
- return $step_ort + $halfway;
30
- }
31
- }
32
- /* static PHP main routine */
33
- day_two::distance(9);
34
- day_two::distance(10);
35
- day_two::distance(11);
36
- day_two::distance(12);
37
- day_two::distance(17);
38
- day_two::distance(23);
39
- day_two::distance(24);
40
- day_two::distance(1024);
41
- day_two::distance(289326);
@@ -1,52 +0,0 @@
1
- import scala.util.control._
2
- case class ScalaReturnValue(value:Any) extends Exception
3
-
4
- // ----------- the scalafiddle main function begins ---------
5
- day_two.distance(9);
6
- day_two.distance(10);
7
- day_two.distance(11);
8
- day_two.distance(12);
9
- day_two.distance(17);
10
- day_two.distance(23);
11
- day_two.distance(24);
12
- day_two.distance(1024);
13
- day_two.distance(289326);
14
- // ----------- the scalafiddle main function ends ---------
15
-
16
-
17
- // companion object for static methods of day_two static cnt == 2
18
- object day_two {
19
- def distance( data : Int) : Int = {
20
- /** unused val size : Int = 1**/
21
- var side : Int = 1
22
- var total : Int = 1
23
- var last_total : Int = 1
24
- var n : Int = 1
25
- try {
26
- val __break__ = new Breaks;
27
- __break__.breakable {
28
- while (total < data) {
29
- val __continue__ = new Breaks;
30
- __continue__.breakable {
31
- last_total = total
32
- side = side + 2
33
- total = total + ((side - 1) * 4)
34
- n = n + 1
35
- }
36
- }
37
- }
38
- }
39
- val dist : Int = (data - last_total) - 1
40
- val sideStep : Int = side - 1
41
- val pos : Int = dist % sideStep
42
- var step_ort : Int = 0
43
- val halfway : Int = (sideStep / 2).toInt
44
- if ( pos < halfway ) {
45
- step_ort = (halfway - 1) - pos
46
- } else {
47
- step_ort = (pos - halfway) + 1
48
- }
49
- println( (("total steps for " + data) + " == ") + (step_ort + halfway) )
50
- return step_ort + halfway
51
- }
52
- }
@@ -1,43 +0,0 @@
1
- func ==(l: day_two, r: day_two) -> Bool {
2
- return l === r
3
- }
4
- class day_two : Equatable {
5
- class func distance(data : Int) -> Int {
6
- /** unused: let size : Int = 1 **/
7
- var side : Int = 1
8
- var total : Int = 1
9
- var last_total : Int = 1
10
- var n : Int = 1
11
- while (total < data) {
12
- last_total = total;
13
- side = side + 2;
14
- total = total + ((side - 1) * 4);
15
- n = n + 1;
16
- }
17
- let dist : Int = (data - last_total) - 1
18
- let sideStep : Int = side - 1
19
- let pos : Int = dist % sideStep
20
- var step_ort : Int = 0
21
- let halfway : Int = Int((sideStep / 2))
22
- if ( pos < halfway ) {
23
- step_ort = (halfway - 1) - pos;
24
- } else {
25
- step_ort = (pos - halfway) + 1;
26
- }
27
- print((("total steps for " + String(data)) + " == ") + String((step_ort + halfway)))
28
- return step_ort + halfway;
29
- }
30
- }
31
- func __main__swift() {
32
- _ = day_two.distance(data : 9)
33
- _ = day_two.distance(data : 10)
34
- _ = day_two.distance(data : 11)
35
- _ = day_two.distance(data : 12)
36
- _ = day_two.distance(data : 17)
37
- _ = day_two.distance(data : 23)
38
- _ = day_two.distance(data : 24)
39
- _ = day_two.distance(data : 1024)
40
- _ = day_two.distance(data : 289326)
41
- }
42
- // call the main function
43
- __main__swift()