ranger-compiler 2.1.70 → 3.0.3
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.
- package/CHANGELOG.md +103 -0
- package/README.md +956 -133
- package/{compiler/Lang.clj → dist/Lang.rgr} +2345 -75
- package/dist/README.md +116 -0
- package/dist/{bin/api.d.ts → api.d.ts} +430 -154
- package/dist/api.js +34345 -0
- package/{lib/Ajax.clj → dist/lib/Ajax.rgr} +1 -1
- package/{lib/CmdParams.clj → dist/lib/CmdParams.rgr} +72 -72
- package/{lib/Crypto.clj → dist/lib/Crypto.rgr} +1 -1
- package/{lib/DOMLib.clj → dist/lib/DOMLib.rgr} +2 -2
- package/{lib/Engine3D.clj → dist/lib/Engine3D.rgr} +1 -1
- package/{lib/ImmutableVector.clj → dist/lib/ImmutableVector.rgr} +364 -364
- package/{lib/IndexedDB.clj → dist/lib/IndexedDB.rgr} +1 -1
- package/{lib/JSON.clj → dist/lib/JSON.rgr} +105 -2
- package/{lib/JinxProcess.clj → dist/lib/JinxProcess.rgr} +3 -3
- package/{lib/Storage.clj → dist/lib/Storage.rgr} +1 -1
- package/{lib/Timers.clj → dist/lib/Timers.rgr} +176 -170
- package/{lib/ViewLib.clj → dist/lib/ViewLib.rgr} +1 -1
- package/dist/lib/lib/ACEEditor.rgr +5 -0
- package/dist/lib/lib/Ajax.rgr +196 -0
- package/dist/lib/lib/CmdParams.rgr +72 -0
- package/dist/lib/lib/Crypto.rgr +90 -0
- package/dist/lib/lib/DOMLib.rgr +307 -0
- package/{examples/3D/Engine3D.clj → dist/lib/lib/Engine3D.rgr} +870 -857
- package/dist/lib/lib/ImmutableVector.rgr +364 -0
- package/dist/lib/lib/IndexedDB.rgr +32 -0
- package/{compiler/JSON.clj → dist/lib/lib/JSON.rgr} +106 -3
- package/dist/lib/lib/JinxProcess.rgr +838 -0
- package/dist/lib/lib/SQL.rgr +44 -0
- package/dist/lib/lib/ServiceLib.rgr +9 -0
- package/dist/lib/lib/Storage.rgr +89 -0
- package/dist/lib/lib/Time.rgr +75 -0
- package/dist/lib/lib/Timers.rgr +176 -0
- package/dist/lib/lib/TypedArrays.rgr +14 -0
- package/dist/lib/lib/ViewLib.rgr +851 -0
- package/dist/lib/lib/WebLib.rgr +47 -0
- package/dist/lib/lib/WebServerLib.rgr +137 -0
- package/{lib/ranger-dir.clj → dist/lib/lib/ranger-dir.rgr} +1 -1
- package/{compiler/stdlib.clj → dist/lib/lib/stdlib.rgr} +42 -19
- package/{lib/stdops.clj → dist/lib/lib/stdops.rgr} +1 -1
- package/dist/lib/ranger-dir.rgr +175 -0
- package/{lib/stdlib.clj → dist/lib/stdlib.rgr} +2 -2
- package/dist/lib/stdops.rgr +168 -0
- package/dist/package.json +47 -0
- package/{compiler/bin/output.js → dist/rgrc.js} +15377 -7936
- package/dist/stdops.rgr +168 -0
- package/package.json +196 -39
- package/adventofcode/day1/bin/LambdaSignature1.java +0 -3
- package/adventofcode/day1/bin/LambdaSignature2.java +0 -3
- package/adventofcode/day1/bin/LambdaSignature3.java +0 -3
- package/adventofcode/day1/bin/day1.cpp +0 -124
- package/adventofcode/day1/bin/day1.go +0 -75
- package/adventofcode/day1/bin/day1.js +0 -45
- package/adventofcode/day1/bin/day1.php +0 -46
- package/adventofcode/day1/bin/day1.scala +0 -48
- package/adventofcode/day1/bin/day1.swift +0 -48
- package/adventofcode/day1/bin/day1_part2.cpp +0 -180
- package/adventofcode/day1/bin/day1_part2.go +0 -123
- package/adventofcode/day1/bin/day1_part2.js +0 -76
- package/adventofcode/day1/bin/day1_part2.php +0 -88
- package/adventofcode/day1/bin/day1_part2.scala +0 -81
- package/adventofcode/day1/bin/day1_part2.swift +0 -91
- package/adventofcode/day1/bin/day_one.java +0 -38
- package/adventofcode/day1/bin/day_one_part_two.java +0 -57
- package/adventofcode/day1/bin/operatorsOf.java +0 -37
- package/adventofcode/day1/bin/operatorsOf_5.java +0 -10
- package/adventofcode/day1/bin/operatorsOfboolean_5.java +0 -10
- package/adventofcode/day1/bin/variant.hpp +0 -2416
- package/adventofcode/day1/compile.bat +0 -7
- package/adventofcode/day1/compile2.bat +0 -7
- package/adventofcode/day1/day1.clj +0 -19
- package/adventofcode/day1/day1_part2.clj +0 -43
- package/adventofcode/day1/input1.txt +0 -1
- package/adventofcode/day2/bin/LambdaSignature1.class +0 -0
- package/adventofcode/day2/bin/LambdaSignature1.java +0 -3
- package/adventofcode/day2/bin/LambdaSignature2.class +0 -0
- package/adventofcode/day2/bin/LambdaSignature2.java +0 -3
- package/adventofcode/day2/bin/day2.cpp +0 -133
- package/adventofcode/day2/bin/day2.go +0 -85
- package/adventofcode/day2/bin/day2.js +0 -45
- package/adventofcode/day2/bin/day2.php +0 -59
- package/adventofcode/day2/bin/day2.scala +0 -54
- package/adventofcode/day2/bin/day2.swift +0 -62
- package/adventofcode/day2/bin/day2_part2.cpp +0 -150
- package/adventofcode/day2/bin/day2_part2.go +0 -101
- package/adventofcode/day2/bin/day2_part2.js +0 -54
- package/adventofcode/day2/bin/day2_part2.php +0 -80
- package/adventofcode/day2/bin/day2_part2.scala +0 -68
- package/adventofcode/day2/bin/day2_part2.swift +0 -82
- package/adventofcode/day2/bin/day_two.java +0 -61
- package/adventofcode/day2/bin/day_two_part_two$1$1$1.class +0 -0
- package/adventofcode/day2/bin/day_two_part_two$1$1.class +0 -0
- package/adventofcode/day2/bin/day_two_part_two$1.class +0 -0
- package/adventofcode/day2/bin/day_two_part_two.class +0 -0
- package/adventofcode/day2/bin/day_two_part_two.java +0 -80
- package/adventofcode/day2/bin/operatorsOf.class +0 -0
- package/adventofcode/day2/bin/operatorsOf.java +0 -18
- package/adventofcode/day2/bin/variant.hpp +0 -2416
- package/adventofcode/day2/compile.bat +0 -7
- package/adventofcode/day2/compile2.bat +0 -7
- package/adventofcode/day2/day2.clj +0 -60
- package/adventofcode/day2/day2_part2.clj +0 -69
- package/adventofcode/day2/input1.txt +0 -1
- package/adventofcode/day3/bin/Grid.java +0 -92
- package/adventofcode/day3/bin/GridRow.java +0 -5
- package/adventofcode/day3/bin/LambdaSignature1.java +0 -3
- package/adventofcode/day3/bin/LambdaSignature2.java +0 -3
- package/adventofcode/day3/bin/LambdaSignature3.java +0 -3
- package/adventofcode/day3/bin/day3.cpp +0 -64
- package/adventofcode/day3/bin/day3.go +0 -55
- package/adventofcode/day3/bin/day3.js +0 -42
- package/adventofcode/day3/bin/day3.php +0 -41
- package/adventofcode/day3/bin/day3.scala +0 -52
- package/adventofcode/day3/bin/day3.swift +0 -43
- package/adventofcode/day3/bin/day3_part2.cpp +0 -216
- package/adventofcode/day3/bin/day3_part2.go +0 -188
- package/adventofcode/day3/bin/day3_part2.js +0 -123
- package/adventofcode/day3/bin/day3_part2.php +0 -135
- package/adventofcode/day3/bin/day3_part2.swift +0 -131
- package/adventofcode/day3/bin/day_three_part_two.java +0 -43
- package/adventofcode/day3/bin/day_two.java +0 -42
- package/adventofcode/day3/bin/operatorsOf.java +0 -14
- package/adventofcode/day3/bin/variant.hpp +0 -2416
- package/adventofcode/day3/compile.bat +0 -7
- package/adventofcode/day3/compile2.bat +0 -7
- package/adventofcode/day3/day3.clj +0 -42
- package/adventofcode/day3/day3_part2.clj +0 -112
- package/adventofcode/day4/bin/LambdaSignature1.java +0 -3
- package/adventofcode/day4/bin/day4.cpp +0 -118
- package/adventofcode/day4/bin/day4.go +0 -75
- package/adventofcode/day4/bin/day4.js +0 -40
- package/adventofcode/day4/bin/day4.php +0 -52
- package/adventofcode/day4/bin/day4.scala +0 -47
- package/adventofcode/day4/bin/day4.swift +0 -56
- package/adventofcode/day4/bin/day4_part2.go +0 -129
- package/adventofcode/day4/bin/day4_part2.js +0 -72
- package/adventofcode/day4/bin/day_four.java +0 -41
- package/adventofcode/day4/bin/inputData.java +0 -7
- package/adventofcode/day4/bin/operatorsOf.java +0 -11
- package/adventofcode/day4/bin/variant.hpp +0 -2416
- package/adventofcode/day4/compile.bat +0 -7
- package/adventofcode/day4/compile2.bat +0 -7
- package/adventofcode/day4/day4.clj +0 -32
- package/adventofcode/day4/day4_part2.clj +0 -44
- package/adventofcode/day4/input.clj +0 -519
- package/adventofcode/day4/input.txt +0 -512
- package/bin/api.ts +0 -24471
- package/bin/compiler.ts +0 -24482
- package/bin/output.js +0 -23819
- package/compiler/ColorConsole.clj +0 -22
- package/compiler/ContextOperators.clj +0 -75
- package/compiler/FlowEnterVarDef.clj +0 -223
- package/compiler/InputFileSystem.clj +0 -276
- package/compiler/RangerDocs.clj +0 -7
- package/compiler/TFactory.clj +0 -146
- package/compiler/TFiles.clj +0 -23
- package/compiler/TFlow.clj +0 -39
- package/compiler/TNodeFactory.clj +0 -84
- package/compiler/TTypes.clj +0 -188
- package/compiler/VirtualCompiler.clj +0 -807
- package/compiler/bin/ng_Compiler.js +0 -23779
- package/compiler/commonmark_plugin.clj +0 -359
- package/compiler/feat2.bat +0 -2
- package/compiler/feats.bat +0 -9
- package/compiler/feature_tests.clj +0 -192
- package/compiler/index.js +0 -2
- package/compiler/issue_57.clj +0 -25
- package/compiler/makefile_plugin.clj +0 -135
- package/compiler/markdown_plugin.clj +0 -386
- package/compiler/maven_plugin.clj +0 -162
- package/compiler/ng_AndroidPageWriter.clj +0 -299
- package/compiler/ng_CodeNode.clj +0 -756
- package/compiler/ng_CodeNodeCompilerExtensions.clj +0 -839
- package/compiler/ng_Compiler.clj +0 -49
- package/compiler/ng_CompilerGeneric.clj +0 -260
- package/compiler/ng_CompilerOrig.clj +0 -854
- package/compiler/ng_DictNode.clj +0 -346
- package/compiler/ng_DictNode2.clj +0 -316
- package/compiler/ng_Execute.clj +0 -138
- package/compiler/ng_Execute1.clj +0 -129
- package/compiler/ng_FlowWork.clj +0 -3951
- package/compiler/ng_LiveCompiler.clj +0 -1109
- package/compiler/ng_RagnerJavaScriptClassWriter.clj +0 -402
- package/compiler/ng_RangerActiveOperators.clj +0 -86
- package/compiler/ng_RangerAppClassDesc.clj +0 -400
- package/compiler/ng_RangerAppEnums.clj +0 -86
- package/compiler/ng_RangerAppFunctionDesc.clj +0 -127
- package/compiler/ng_RangerAppMessages.clj +0 -15
- package/compiler/ng_RangerAppOperatorDesc.clj +0 -20
- package/compiler/ng_RangerAppParamDesc.clj +0 -388
- package/compiler/ng_RangerAppWriterContext.clj +0 -1793
- package/compiler/ng_RangerArgMatch.clj +0 -638
- package/compiler/ng_RangerCSharpClassWriter.clj +0 -484
- package/compiler/ng_RangerCppClassWriter.clj +0 -1023
- package/compiler/ng_RangerDocGenerator.clj +0 -305
- package/compiler/ng_RangerFlowParser.clj +0 -4992
- package/compiler/ng_RangerFlowParserOrig.clj +0 -4002
- package/compiler/ng_RangerGenericClassWriter.clj +0 -573
- package/compiler/ng_RangerGolangClassWriter.clj +0 -1766
- package/compiler/ng_RangerImmutableExtension.clj +0 -77
- package/compiler/ng_RangerJava7ClassWriter.clj +0 -961
- package/compiler/ng_RangerJavaScriptClassWriter.clj +0 -1040
- package/compiler/ng_RangerKotlinClassWriter.clj +0 -372
- package/compiler/ng_RangerLanguageWriters.clj +0 -14
- package/compiler/ng_RangerLispParser.clj +0 -873
- package/compiler/ng_RangerPHPClassWriter.clj +0 -643
- package/compiler/ng_RangerPlugin.clj +0 -41
- package/compiler/ng_RangerRangerClassWriter.clj +0 -357
- package/compiler/ng_RangerRustClassWriter.clj +0 -420
- package/compiler/ng_RangerScalaClassWriter.clj +0 -818
- package/compiler/ng_RangerSerializeClass.clj +0 -502
- package/compiler/ng_RangerServiceBuilder.clj +0 -63
- package/compiler/ng_RangerSwift3ClassWriter.clj +0 -809
- package/compiler/ng_RangerSwiftClassWriter.clj +0 -0
- package/compiler/ng_RangerTypeClass.clj +0 -45
- package/compiler/ng_SourceParser.clj +0 -241
- package/compiler/ng_SourceParser2.clj +0 -214
- package/compiler/ng_WebPageWriter.clj +0 -39
- package/compiler/ng_jsonParser.clj +0 -340
- package/compiler/ng_p_test.clj +0 -1711
- package/compiler/ng_parser.clj +0 -911
- package/compiler/ng_parser2.clj +0 -735
- package/compiler/ng_parser2_backup.clj +0 -1679
- package/compiler/ng_parser_backup.clj +0 -886
- package/compiler/ng_parser_ok.clj +0 -1718
- package/compiler/ng_parser_ok2.clj +0 -1717
- package/compiler/ng_parser_std_match.clj +0 -687
- package/compiler/ng_parser_std_match2.clj +0 -1012
- package/compiler/ng_parser_v2.clj +0 -1251
- package/compiler/ng_ui.clj +0 -403
- package/compiler/ng_ui_test.clj +0 -18
- package/compiler/ng_writer.clj +0 -338
- package/compiler/ng_xmlParser.clj +0 -472
- package/compiler/ng_xmlParser2.clj +0 -317
- package/compiler/ng_xmlParser3.clj +0 -251
- package/compiler/opdoc.bat +0 -4
- package/compiler/operators.md +0 -290
- package/compiler/p.bat +0 -4
- package/compiler/package.json +0 -10
- package/compiler/pcmd.bat +0 -4
- package/compiler/pcmd2.bat +0 -3
- package/compiler/plaintext_plugin.clj +0 -69
- package/compiler/plugin.bat +0 -19
- package/compiler/plugin2.bat +0 -4
- package/compiler/plugin_app.bat +0 -3
- package/compiler/plugin_apps.clj +0 -27
- package/compiler/plugins.bat +0 -10
- package/compiler/reveal_plugin.clj +0 -409
- package/compiler/simplePlugin.clj +0 -780
- package/compiler/t.bat +0 -3
- package/compiler/test_any.clj +0 -43
- package/compiler/test_call.clj +0 -141
- package/compiler/test_chain.clj +0 -79
- package/compiler/test_json.clj +0 -10
- package/compiler/test_lambda.clj +0 -153
- package/compiler/test_pcmd.clj +0 -32
- package/compiler/test_pcmd2.clj +0 -29
- package/compiler/test_plugin.clj +0 -237
- package/compiler/test_readfile.clj +0 -13
- package/compiler/test_reveal.clj +0 -19
- package/compiler/test_slides.clj +0 -312
- package/compiler/test_types.clj +0 -143
- package/compiler/test_types2.clj +0 -49
- package/compiler/test_types3.clj +0 -53
- package/compiler/test_var.clj +0 -40
- package/compiler/tonpm.bat +0 -14
- package/compiler/tonpm2.bat +0 -12
- package/compiler/ui_plugin.clj +0 -507
- package/compiler/ui_plugin2.clj +0 -427
- package/compiler/update-git.bat +0 -3
- package/compiler/vcomp.bat +0 -4
- package/compiler/viewbuilder_Android.clj +0 -176
- package/compiler/viewbuilder_Web.clj +0 -105
- package/dist/bin/api.js +0 -32422
- package/dist/bin/compiler.d.ts +0 -1638
- package/dist/bin/compiler.js +0 -32444
- package/examples/3D/bin/test_3d.js +0 -329
- package/examples/3D/test_3d.clj +0 -385
- package/examples/EVGColor/EVGColor.clj +0 -310
- package/examples/EVGColor/EVGColorContext.clj +0 -176
- package/examples/EVGColor/bin/EVGColor.js +0 -286
- package/examples/EVGColor/bin/minimized.js +0 -286
- package/examples/SVGPath/SVGPath.clj +0 -625
- package/examples/SVGPath/Vec2.clj +0 -103
- package/examples/SVGPath/bin/SVGPath.cpp +0 -887
- package/examples/SVGPath/bin/SVGPath.js +0 -682
- package/examples/SVGPath/bin/SVGPath.ts +0 -711
- package/examples/SVGPath/bin/minimized.js +0 -578
- package/examples/SVGPath/bin/variant.hpp +0 -2416
- package/examples/minification/Vec2.clj +0 -103
- package/examples/minification/bin/minified.js +0 -44
- package/examples/minification/bin/test.js +0 -117
- package/examples/minification/test.clj +0 -13
- package/fiddle/VirtualCompiler.js +0 -23495
- package/fiddle/browser_editor.js +0 -13240
- package/fiddle/compileEnv.js +0 -1
- package/fiddle/compileEnv.json +0 -1
- package/fiddle/lang_data.js +0 -1
- package/index.html +0 -18
- package/native/httpd/HttpTester.clj +0 -33
- package/native/httpd/RangerWebService.clj +0 -81
- package/operators.md +0 -290
- package/tsconfig.json +0 -29
- package/versions/cpp/compiler.cpp +0 -15032
- package/versions/es6/compiler.js +0 -12860
- package/versions/go/compiler.go +0 -21338
- package/versions/java/AfterCodeNode.java +0 -4
- package/versions/java/ClassJoinPoint.java +0 -6
- package/versions/java/CodeFile.java +0 -42
- package/versions/java/CodeFileSystem.java +0 -72
- package/versions/java/CodeNode.java +0 -807
- package/versions/java/CodeSlice.java +0 -13
- package/versions/java/CodeWriter.java +0 -185
- package/versions/java/ColorConsole.java +0 -8
- package/versions/java/CompilerInterface.java +0 -213
- package/versions/java/DictNode.java +0 -353
- package/versions/java/LiveCompiler.java +0 -772
- package/versions/java/NodeEvalState.java +0 -24
- package/versions/java/OpFindResult.java +0 -6
- package/versions/java/RangerAppArrayValue.java +0 -7
- package/versions/java/RangerAppClassDesc.java +0 -217
- package/versions/java/RangerAppEnum.java +0 -14
- package/versions/java/RangerAppFunctionDesc.java +0 -20
- package/versions/java/RangerAppHashValue.java +0 -11
- package/versions/java/RangerAppInterfaceImpl.java +0 -6
- package/versions/java/RangerAppMethodVariants.java +0 -6
- package/versions/java/RangerAppParamDesc.java +0 -321
- package/versions/java/RangerAppTodo.java +0 -6
- package/versions/java/RangerAppValue.java +0 -10
- package/versions/java/RangerAppWriterContext.java +0 -800
- package/versions/java/RangerArgMatch.java +0 -317
- package/versions/java/RangerBackReference.java +0 -7
- package/versions/java/RangerCSharpClassWriter.java +0 -287
- package/versions/java/RangerCompilerMessage.java +0 -9
- package/versions/java/RangerCppClassWriter.java +0 -725
- package/versions/java/RangerFlowParser.java +0 -2142
- package/versions/java/RangerGenericClassWriter.java +0 -367
- package/versions/java/RangerGolangClassWriter.java +0 -1379
- package/versions/java/RangerJava7ClassWriter.java +0 -652
- package/versions/java/RangerJavaScriptClassWriter.java +0 -305
- package/versions/java/RangerKotlinClassWriter.java +0 -380
- package/versions/java/RangerLispParser.java +0 -845
- package/versions/java/RangerNodeValue.java +0 -9
- package/versions/java/RangerPHPClassWriter.java +0 -527
- package/versions/java/RangerParamEventHandler.java +0 -6
- package/versions/java/RangerParamEventList.java +0 -5
- package/versions/java/RangerParamEventMap.java +0 -27
- package/versions/java/RangerRangerClassWriter.java +0 -268
- package/versions/java/RangerRefForce.java +0 -7
- package/versions/java/RangerScalaClassWriter.java +0 -365
- package/versions/java/RangerSerializeClass.java +0 -148
- package/versions/java/RangerSwift3ClassWriter.java +0 -548
- package/versions/java/RangerTypeClass.java +0 -17
- package/versions/java/SourceCode.java +0 -65
- package/versions/php/compiler.php +0 -13830
- package/versions/swift3/compiler.swift +0 -12542
- /package/{lib/ACEEditor.clj → dist/lib/ACEEditor.rgr} +0 -0
- /package/{lib/SQL.clj → dist/lib/SQL.rgr} +0 -0
- /package/{lib/ServiceLib.clj → dist/lib/ServiceLib.rgr} +0 -0
- /package/{lib/Time.clj → dist/lib/Time.rgr} +0 -0
- /package/{lib/TypedArrays.clj → dist/lib/TypedArrays.rgr} +0 -0
- /package/{lib/WebLib.clj → dist/lib/WebLib.rgr} +0 -0
- /package/{lib/WebServerLib.clj → dist/lib/WebServerLib.rgr} +0 -0
|
@@ -1,367 +0,0 @@
|
|
|
1
|
-
import java.util.Optional;
|
|
2
|
-
|
|
3
|
-
class RangerGenericClassWriter {
|
|
4
|
-
public Optional<LiveCompiler> compiler = Optional.empty();
|
|
5
|
-
|
|
6
|
-
public String EncodeString( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
7
|
-
/** unused: final String encoded_str = "" **/ ;
|
|
8
|
-
final int str_length = node.string_value.length();
|
|
9
|
-
String encoded_str_2 = "";
|
|
10
|
-
int ii = 0;
|
|
11
|
-
while (ii < str_length) {
|
|
12
|
-
final int cc = (int)node.string_value.charAt(ii);
|
|
13
|
-
switch (cc ) {
|
|
14
|
-
case 8 :
|
|
15
|
-
encoded_str_2 = (encoded_str_2 + ((new String( Character.toChars(92))))) + ((new String( Character.toChars(98))));
|
|
16
|
-
break;
|
|
17
|
-
case 9 :
|
|
18
|
-
encoded_str_2 = (encoded_str_2 + ((new String( Character.toChars(92))))) + ((new String( Character.toChars(116))));
|
|
19
|
-
break;
|
|
20
|
-
case 10 :
|
|
21
|
-
encoded_str_2 = (encoded_str_2 + ((new String( Character.toChars(92))))) + ((new String( Character.toChars(110))));
|
|
22
|
-
break;
|
|
23
|
-
case 12 :
|
|
24
|
-
encoded_str_2 = (encoded_str_2 + ((new String( Character.toChars(92))))) + ((new String( Character.toChars(102))));
|
|
25
|
-
break;
|
|
26
|
-
case 13 :
|
|
27
|
-
encoded_str_2 = (encoded_str_2 + ((new String( Character.toChars(92))))) + ((new String( Character.toChars(114))));
|
|
28
|
-
break;
|
|
29
|
-
case 34 :
|
|
30
|
-
encoded_str_2 = (encoded_str_2 + ((new String( Character.toChars(92))))) + ((new String( Character.toChars(34))));
|
|
31
|
-
break;
|
|
32
|
-
case 92 :
|
|
33
|
-
encoded_str_2 = (encoded_str_2 + ((new String( Character.toChars(92))))) + ((new String( Character.toChars(92))));
|
|
34
|
-
break;
|
|
35
|
-
default:
|
|
36
|
-
encoded_str_2 = encoded_str_2 + ((new String( Character.toChars(cc))));
|
|
37
|
-
break;
|
|
38
|
-
}
|
|
39
|
-
ii = ii + 1;
|
|
40
|
-
}
|
|
41
|
-
return encoded_str_2;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
public void CustomOperator( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
public void WriteSetterVRef( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
public void writeArrayTypeDef( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
public void WriteEnum( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
54
|
-
if ( node.eval_type == 11 ) {
|
|
55
|
-
final String rootObjName = node.ns.get(0);
|
|
56
|
-
final Optional<RangerAppEnum> e = ctx.getEnum(rootObjName);
|
|
57
|
-
if ( e.isPresent() ) {
|
|
58
|
-
final String enumName = node.ns.get(1);
|
|
59
|
-
wr.out("" + ((Optional.ofNullable(e.get().values.get(enumName))).get()), false);
|
|
60
|
-
} else {
|
|
61
|
-
if ( node.hasParamDesc ) {
|
|
62
|
-
final Optional<RangerAppParamDesc> pp = node.paramDesc;
|
|
63
|
-
final Optional<CodeNode> nn = pp.get().nameNode;
|
|
64
|
-
this.WriteVRef(nn.get(), ctx, wr);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
public void WriteScalarValue( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
71
|
-
switch (node.value_type ) {
|
|
72
|
-
case 2 :
|
|
73
|
-
wr.out("" + node.double_value, false);
|
|
74
|
-
break;
|
|
75
|
-
case 4 :
|
|
76
|
-
final String s = this.EncodeString(node, ctx, wr);
|
|
77
|
-
wr.out(("\"" + s) + "\"", false);
|
|
78
|
-
break;
|
|
79
|
-
case 3 :
|
|
80
|
-
wr.out("" + node.int_value, false);
|
|
81
|
-
break;
|
|
82
|
-
case 5 :
|
|
83
|
-
if ( node.boolean_value ) {
|
|
84
|
-
wr.out("true", false);
|
|
85
|
-
} else {
|
|
86
|
-
wr.out("false", false);
|
|
87
|
-
}
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
public String getTypeString( String type_string ) {
|
|
93
|
-
return type_string;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
public void import_lib( String lib_name , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
97
|
-
wr.addImport(lib_name);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
public String getObjectTypeString( String type_string , RangerAppWriterContext ctx ) {
|
|
101
|
-
switch (type_string ) {
|
|
102
|
-
case "int" :
|
|
103
|
-
return "Integer";
|
|
104
|
-
case "string" :
|
|
105
|
-
return "String";
|
|
106
|
-
case "chararray" :
|
|
107
|
-
return "byte[]";
|
|
108
|
-
case "char" :
|
|
109
|
-
return "byte";
|
|
110
|
-
case "boolean" :
|
|
111
|
-
return "Boolean";
|
|
112
|
-
case "double" :
|
|
113
|
-
return "Double";
|
|
114
|
-
}
|
|
115
|
-
return type_string;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
public void release_local_vars( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
119
|
-
for ( int i = 0; i < ctx.localVarNames.size(); i++) {
|
|
120
|
-
String n = ctx.localVarNames.get(i);
|
|
121
|
-
final Optional<RangerAppParamDesc> p = Optional.ofNullable(ctx.localVariables.get(n));
|
|
122
|
-
if ( p.get().ref_cnt == 0 ) {
|
|
123
|
-
continue;
|
|
124
|
-
}
|
|
125
|
-
if ( p.get().isAllocatedType() ) {
|
|
126
|
-
if ( 1 == p.get().getStrength() ) {
|
|
127
|
-
if ( p.get().nameNode.get().eval_type == 7 ) {
|
|
128
|
-
}
|
|
129
|
-
if ( p.get().nameNode.get().eval_type == 6 ) {
|
|
130
|
-
}
|
|
131
|
-
if ( (p.get().nameNode.get().eval_type != 6) && (p.get().nameNode.get().eval_type != 7) ) {
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
if ( 0 == p.get().getStrength() ) {
|
|
135
|
-
if ( p.get().nameNode.get().eval_type == 7 ) {
|
|
136
|
-
}
|
|
137
|
-
if ( p.get().nameNode.get().eval_type == 6 ) {
|
|
138
|
-
}
|
|
139
|
-
if ( (p.get().nameNode.get().eval_type != 6) && (p.get().nameNode.get().eval_type != 7) ) {
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
if ( ctx.is_function ) {
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
if ( ctx.parent.isPresent() ) {
|
|
148
|
-
this.release_local_vars(node, ctx.parent.get(), wr);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
public void WalkNode( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
153
|
-
this.compiler.get().WalkNode(node, ctx, wr);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
public void writeTypeDef( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
157
|
-
wr.out(node.type_name, false);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
public void writeRawTypeDef( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
161
|
-
this.writeTypeDef(node, ctx, wr);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
public String adjustType( String tn ) {
|
|
165
|
-
return tn;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
public void WriteVRef( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
169
|
-
if ( node.eval_type == 11 ) {
|
|
170
|
-
if ( (node.ns.size()) > 1 ) {
|
|
171
|
-
final String rootObjName = node.ns.get(0);
|
|
172
|
-
final String enumName = node.ns.get(1);
|
|
173
|
-
final Optional<RangerAppEnum> e = ctx.getEnum(rootObjName);
|
|
174
|
-
if ( e.isPresent() ) {
|
|
175
|
-
wr.out("" + ((Optional.ofNullable(e.get().values.get(enumName))).get()), false);
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
if ( (node.nsp.size()) > 0 ) {
|
|
181
|
-
for ( int i = 0; i < node.nsp.size(); i++) {
|
|
182
|
-
RangerAppParamDesc p = node.nsp.get(i);
|
|
183
|
-
if ( i > 0 ) {
|
|
184
|
-
wr.out(".", false);
|
|
185
|
-
}
|
|
186
|
-
if ( (p.compiledName.length()) > 0 ) {
|
|
187
|
-
wr.out(this.adjustType(p.compiledName), false);
|
|
188
|
-
} else {
|
|
189
|
-
if ( (p.name.length()) > 0 ) {
|
|
190
|
-
wr.out(this.adjustType(p.name), false);
|
|
191
|
-
} else {
|
|
192
|
-
wr.out(this.adjustType((node.ns.get(i))), false);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
for ( int i_1 = 0; i_1 < node.ns.size(); i_1++) {
|
|
199
|
-
String part = node.ns.get(i_1);
|
|
200
|
-
if ( i_1 > 0 ) {
|
|
201
|
-
wr.out(".", false);
|
|
202
|
-
}
|
|
203
|
-
wr.out(this.adjustType(part), false);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
public void writeVarDef( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
208
|
-
if ( node.hasParamDesc ) {
|
|
209
|
-
final Optional<RangerAppParamDesc> p = node.paramDesc;
|
|
210
|
-
if ( p.get().set_cnt > 0 ) {
|
|
211
|
-
wr.out("var " + p.get().name, false);
|
|
212
|
-
} else {
|
|
213
|
-
wr.out("const " + p.get().name, false);
|
|
214
|
-
}
|
|
215
|
-
if ( (node.children.size()) > 2 ) {
|
|
216
|
-
wr.out(" = ", false);
|
|
217
|
-
ctx.setInExpr();
|
|
218
|
-
final CodeNode value = node.getThird();
|
|
219
|
-
this.WalkNode(value, ctx, wr);
|
|
220
|
-
ctx.unsetInExpr();
|
|
221
|
-
wr.out(";", true);
|
|
222
|
-
} else {
|
|
223
|
-
wr.out(";", true);
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
public void CreateLambdaCall( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
229
|
-
final CodeNode fName = node.children.get(0);
|
|
230
|
-
final CodeNode args = node.children.get(1);
|
|
231
|
-
this.WriteVRef(fName, ctx, wr);
|
|
232
|
-
wr.out("(", false);
|
|
233
|
-
for ( int i = 0; i < args.children.size(); i++) {
|
|
234
|
-
CodeNode arg = args.children.get(i);
|
|
235
|
-
if ( i > 0 ) {
|
|
236
|
-
wr.out(", ", false);
|
|
237
|
-
}
|
|
238
|
-
this.WalkNode(arg, ctx, wr);
|
|
239
|
-
}
|
|
240
|
-
wr.out(")", false);
|
|
241
|
-
if ( ctx.expressionLevel() == 0 ) {
|
|
242
|
-
wr.out(";", true);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
public void CreateLambda( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
247
|
-
final RangerAppWriterContext lambdaCtx = node.lambda_ctx.get();
|
|
248
|
-
final CodeNode args = node.children.get(1);
|
|
249
|
-
final CodeNode body = node.children.get(2);
|
|
250
|
-
wr.out("(", false);
|
|
251
|
-
for ( int i = 0; i < args.children.size(); i++) {
|
|
252
|
-
CodeNode arg = args.children.get(i);
|
|
253
|
-
if ( i > 0 ) {
|
|
254
|
-
wr.out(", ", false);
|
|
255
|
-
}
|
|
256
|
-
this.WalkNode(arg, lambdaCtx, wr);
|
|
257
|
-
}
|
|
258
|
-
wr.out(")", false);
|
|
259
|
-
wr.out(" => { ", true);
|
|
260
|
-
wr.indent(1);
|
|
261
|
-
lambdaCtx.restartExpressionLevel();
|
|
262
|
-
for ( int i_1 = 0; i_1 < body.children.size(); i_1++) {
|
|
263
|
-
CodeNode item = body.children.get(i_1);
|
|
264
|
-
this.WalkNode(item, lambdaCtx, wr);
|
|
265
|
-
}
|
|
266
|
-
wr.newline();
|
|
267
|
-
wr.indent(-1);
|
|
268
|
-
wr.out("}", true);
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
public void writeFnCall( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
272
|
-
if ( node.hasFnCall ) {
|
|
273
|
-
final CodeNode fc = node.getFirst();
|
|
274
|
-
this.WriteVRef(fc, ctx, wr);
|
|
275
|
-
wr.out("(", false);
|
|
276
|
-
final CodeNode givenArgs = node.getSecond();
|
|
277
|
-
ctx.setInExpr();
|
|
278
|
-
for ( int i = 0; i < node.fnDesc.get().params.size(); i++) {
|
|
279
|
-
RangerAppParamDesc arg = node.fnDesc.get().params.get(i);
|
|
280
|
-
if ( i > 0 ) {
|
|
281
|
-
wr.out(", ", false);
|
|
282
|
-
}
|
|
283
|
-
if ( (givenArgs.children.size()) <= i ) {
|
|
284
|
-
final Optional<CodeNode> defVal = arg.nameNode.get().getFlag("default");
|
|
285
|
-
if ( defVal.isPresent() ) {
|
|
286
|
-
final CodeNode fc_1 = defVal.get().vref_annotation.get().getFirst();
|
|
287
|
-
this.WalkNode(fc_1, ctx, wr);
|
|
288
|
-
} else {
|
|
289
|
-
ctx.addError(node, "Default argument was missing");
|
|
290
|
-
}
|
|
291
|
-
continue;
|
|
292
|
-
}
|
|
293
|
-
final CodeNode n = givenArgs.children.get(i);
|
|
294
|
-
this.WalkNode(n, ctx, wr);
|
|
295
|
-
}
|
|
296
|
-
ctx.unsetInExpr();
|
|
297
|
-
wr.out(")", false);
|
|
298
|
-
if ( ctx.expressionLevel() == 0 ) {
|
|
299
|
-
wr.out(";", true);
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
public void writeNewCall( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
305
|
-
if ( node.hasNewOper ) {
|
|
306
|
-
final Optional<RangerAppClassDesc> cl = node.clDesc;
|
|
307
|
-
/** unused: final CodeNode fc = node.getSecond() **/ ;
|
|
308
|
-
wr.out("new " + node.clDesc.get().name, false);
|
|
309
|
-
wr.out("(", false);
|
|
310
|
-
final Optional<RangerAppFunctionDesc> constr = cl.get().constructor_fn;
|
|
311
|
-
final CodeNode givenArgs = node.getThird();
|
|
312
|
-
if ( constr.isPresent() ) {
|
|
313
|
-
for ( int i = 0; i < constr.get().params.size(); i++) {
|
|
314
|
-
RangerAppParamDesc arg = constr.get().params.get(i);
|
|
315
|
-
final CodeNode n = givenArgs.children.get(i);
|
|
316
|
-
if ( i > 0 ) {
|
|
317
|
-
wr.out(", ", false);
|
|
318
|
-
}
|
|
319
|
-
if ( true || (arg.nameNode.isPresent()) ) {
|
|
320
|
-
this.WalkNode(n, ctx, wr);
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
wr.out(")", false);
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
public void writeInterface( RangerAppClassDesc cl , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
public void disabledVarDef( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
public void writeClass( CodeNode node , RangerAppWriterContext ctx , CodeWriter wr ) {
|
|
335
|
-
final Optional<RangerAppClassDesc> cl = node.clDesc;
|
|
336
|
-
if ( !cl.isPresent() ) {
|
|
337
|
-
return;
|
|
338
|
-
}
|
|
339
|
-
wr.out(("class " + cl.get().name) + " { ", true);
|
|
340
|
-
wr.indent(1);
|
|
341
|
-
for ( int i = 0; i < cl.get().variables.size(); i++) {
|
|
342
|
-
RangerAppParamDesc pvar = cl.get().variables.get(i);
|
|
343
|
-
wr.out(((("/* var " + pvar.name) + " => ") + pvar.nameNode.get().parent.get().getCode()) + " */ ", true);
|
|
344
|
-
}
|
|
345
|
-
for ( int i_1 = 0; i_1 < cl.get().static_methods.size(); i_1++) {
|
|
346
|
-
RangerAppFunctionDesc pvar_1 = cl.get().static_methods.get(i_1);
|
|
347
|
-
wr.out(("/* static " + pvar_1.name) + " */ ", true);
|
|
348
|
-
}
|
|
349
|
-
for ( int i_2 = 0; i_2 < cl.get().defined_variants.size(); i_2++) {
|
|
350
|
-
String fnVar = cl.get().defined_variants.get(i_2);
|
|
351
|
-
final Optional<RangerAppMethodVariants> mVs = Optional.ofNullable(cl.get().method_variants.get(fnVar));
|
|
352
|
-
for ( int i_3 = 0; i_3 < mVs.get().variants.size(); i_3++) {
|
|
353
|
-
RangerAppFunctionDesc variant = mVs.get().variants.get(i_3);
|
|
354
|
-
wr.out(("function " + variant.name) + "() {", true);
|
|
355
|
-
wr.indent(1);
|
|
356
|
-
wr.newline();
|
|
357
|
-
final RangerAppWriterContext subCtx = ctx.fork();
|
|
358
|
-
this.WalkNode(variant.fnBody.get(), subCtx, wr);
|
|
359
|
-
wr.newline();
|
|
360
|
-
wr.indent(-1);
|
|
361
|
-
wr.out("}", true);
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
wr.indent(-1);
|
|
365
|
-
wr.out("}", true);
|
|
366
|
-
}
|
|
367
|
-
}
|