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
|
File without changes
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
; each node could have some kind of predetermined type, which can change during the evaluation of the code.
|
|
3
|
-
; there could be also 'literal' type
|
|
4
|
-
|
|
5
|
-
class RangerTypeClass {
|
|
6
|
-
|
|
7
|
-
def name:string ""
|
|
8
|
-
def compiledName:string ""
|
|
9
|
-
def value_type:RangerNodeType RangerNodeType.NoType
|
|
10
|
-
|
|
11
|
-
; possible array type class, if any
|
|
12
|
-
def arrayType:RangerTypeClass
|
|
13
|
-
; possible key type, if any
|
|
14
|
-
def keyType:RangerTypeClass
|
|
15
|
-
|
|
16
|
-
def implements_traits:[RangerTypeClass]
|
|
17
|
-
def implements_interfaces:[RangerTypeClass]
|
|
18
|
-
def extends_classes:[RangerTypeClass]
|
|
19
|
-
def belongs_to_union:[RangerTypeClass]
|
|
20
|
-
|
|
21
|
-
def description:Any ; class description etc.
|
|
22
|
-
|
|
23
|
-
; think: possible template class?
|
|
24
|
-
|
|
25
|
-
; def type_name:string
|
|
26
|
-
; def key_type:string
|
|
27
|
-
; def array_type:string
|
|
28
|
-
def is_empty false
|
|
29
|
-
def is_primitive false
|
|
30
|
-
def is_mutable false
|
|
31
|
-
def is_optional false
|
|
32
|
-
|
|
33
|
-
def is_union false
|
|
34
|
-
def is_trait false
|
|
35
|
-
def is_class false
|
|
36
|
-
def is_system false
|
|
37
|
-
def is_interface false
|
|
38
|
-
|
|
39
|
-
def is_generic false
|
|
40
|
-
def is_lambda false
|
|
41
|
-
def nameNode:CodeNode
|
|
42
|
-
def templateParams:CodeNode
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
|
|
@@ -1,241 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
Import "ng_LiveCompiler.clj"
|
|
3
|
-
Import "ColorConsole.clj"
|
|
4
|
-
Import "ng_DictNode.clj"
|
|
5
|
-
Import "ng_RangerSerializeClass.clj"
|
|
6
|
-
|
|
7
|
-
class SourceParser {
|
|
8
|
-
|
|
9
|
-
def lang_parser:RangerLispParser
|
|
10
|
-
def ctx@(weak):RangerAppWriterContext
|
|
11
|
-
|
|
12
|
-
def flowParser:RangerFlowParser
|
|
13
|
-
; saving previous information
|
|
14
|
-
|
|
15
|
-
fn possiblePaths:[string] ( envVarName:string) {
|
|
16
|
-
def r_lib (env_var envVarName)
|
|
17
|
-
def res:[string]
|
|
18
|
-
if(!null? r_lib) {
|
|
19
|
-
def parts (strsplit (unwrap r_lib) ";")
|
|
20
|
-
for parts str:string i {
|
|
21
|
-
def s (trim str)
|
|
22
|
-
if( (strlen s) > 0) {
|
|
23
|
-
def dirNames (strsplit s "/")
|
|
24
|
-
removeLast dirNames
|
|
25
|
-
def theDir ((join dirNames "/"))
|
|
26
|
-
push res theDir
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
push res "./"
|
|
31
|
-
return res
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
fn searchLib:string (paths:[string] libname:string) {
|
|
35
|
-
for paths path:string i {
|
|
36
|
-
if( file_exists path libname ) {
|
|
37
|
-
return path
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return ""
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
fn re_parse@(weak):RangerAppWriterContext (schema_file:string appCtx:RangerAppWriterContext) {
|
|
44
|
-
|
|
45
|
-
this.ctx = appCtx
|
|
46
|
-
def the_lang:string "es6"
|
|
47
|
-
def the_lang_file:string "Lang.clj"
|
|
48
|
-
def link_file:string "dbLinks.clj"
|
|
49
|
-
|
|
50
|
-
def langLibEnv (env_var "RANGER_LIB")
|
|
51
|
-
if(null? langLibEnv) {
|
|
52
|
-
print "please define RANGER_LIB environment variable "
|
|
53
|
-
}
|
|
54
|
-
def langFilePaths (this.possiblePaths("RANGER_LIB"))
|
|
55
|
-
def langFilePath ( this.searchLib(langFilePaths the_lang_file) )
|
|
56
|
-
def langFileDirs (this.possiblePaths("RANGER_LIB"))
|
|
57
|
-
|
|
58
|
-
def sh_data:string ( unwrap (read_file "." schema_file) )
|
|
59
|
-
def s1:SourceCode (new SourceCode (sh_data))
|
|
60
|
-
def sh_parser:RangerLispParser (new RangerLispParser(s1))
|
|
61
|
-
sh_parser.parse()
|
|
62
|
-
|
|
63
|
-
def node:CodeNode (unwrap sh_parser.rootNode)
|
|
64
|
-
flowParser = (new RangerFlowParser ())
|
|
65
|
-
|
|
66
|
-
appCtx.outputPath = ( current_directory )
|
|
67
|
-
def outputPath (env_var "RANGER_OUTPUT_DIR")
|
|
68
|
-
if(!null? outputPath) {
|
|
69
|
-
print "defined output directory to " + (unwrap outputPath)
|
|
70
|
-
appCtx.outputPath = (unwrap outputPath)
|
|
71
|
-
}
|
|
72
|
-
appCtx.libraryPaths = (this.possiblePaths("RANGER_LIB"))
|
|
73
|
-
|
|
74
|
-
def wr:CodeWriter (new CodeWriter())
|
|
75
|
-
appCtx.setRootFile( schema_file )
|
|
76
|
-
flowParser.clearImports(node appCtx wr)
|
|
77
|
-
flowParser.CollectMethods (node appCtx wr)
|
|
78
|
-
if ( ( array_length appCtx.compilerErrors ) > 0 ) {
|
|
79
|
-
return appCtx
|
|
80
|
-
}
|
|
81
|
-
appCtx.targetLangName = the_lang
|
|
82
|
-
flowParser.WalkNode (node appCtx wr)
|
|
83
|
-
if ( ( array_length appCtx.compilerErrors ) > 0 ) {
|
|
84
|
-
return appCtx
|
|
85
|
-
}
|
|
86
|
-
return appCtx
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
fn parse@(weak):RangerAppWriterContext (schema_file:string) {
|
|
90
|
-
|
|
91
|
-
def the_lang:string "es6"
|
|
92
|
-
def the_lang_file:string "Lang.clj"
|
|
93
|
-
def link_file:string "dbLinks.clj"
|
|
94
|
-
|
|
95
|
-
def langLibEnv (env_var "RANGER_LIB")
|
|
96
|
-
if(null? langLibEnv) {
|
|
97
|
-
print "please define RANGER_LIB environment variable "
|
|
98
|
-
}
|
|
99
|
-
def langFilePaths (this.possiblePaths("RANGER_LIB"))
|
|
100
|
-
def langFilePath ( this.searchLib(langFilePaths the_lang_file) )
|
|
101
|
-
def langFileDirs (this.possiblePaths("RANGER_LIB"))
|
|
102
|
-
|
|
103
|
-
def sh_data:string ( unwrap (read_file "." schema_file) )
|
|
104
|
-
|
|
105
|
-
def s1:SourceCode (new SourceCode (sh_data))
|
|
106
|
-
s1.filename = schema_file
|
|
107
|
-
def sh_parser:RangerLispParser (new RangerLispParser(s1))
|
|
108
|
-
sh_parser.parse()
|
|
109
|
-
|
|
110
|
-
def node:CodeNode (unwrap sh_parser.rootNode)
|
|
111
|
-
flowParser = (new RangerFlowParser ())
|
|
112
|
-
def appCtx@(lives):RangerAppWriterContext (new RangerAppWriterContext()))
|
|
113
|
-
this.ctx = appCtx
|
|
114
|
-
appCtx.outputPath = ( current_directory )
|
|
115
|
-
def outputPath (env_var "RANGER_OUTPUT_DIR")
|
|
116
|
-
if(!null? outputPath) {
|
|
117
|
-
print "defined output directory to " + (unwrap outputPath)
|
|
118
|
-
appCtx.outputPath = (unwrap outputPath)
|
|
119
|
-
}
|
|
120
|
-
appCtx.libraryPaths = (this.possiblePaths("RANGER_LIB"))
|
|
121
|
-
|
|
122
|
-
def wr:CodeWriter (new CodeWriter())
|
|
123
|
-
|
|
124
|
-
def lang_str:string (read_file "." the_lang_file)
|
|
125
|
-
def lang_code:SourceCode (new SourceCode ( (unwrap lang_str)) )
|
|
126
|
-
lang_code.filename = the_lang_file
|
|
127
|
-
|
|
128
|
-
lang_parser = (new RangerLispParser (lang_code))
|
|
129
|
-
lang_parser.parse()
|
|
130
|
-
|
|
131
|
-
appCtx.langOperators = (unwrap lang_parser.rootNode)
|
|
132
|
-
appCtx.setRootFile( schema_file )
|
|
133
|
-
|
|
134
|
-
def ops (new RangerActiveOperators)
|
|
135
|
-
ops.initFrom( (unwrap lang_parser.rootNode) )
|
|
136
|
-
appCtx.operators = ops
|
|
137
|
-
|
|
138
|
-
flowParser.mergeImports(node appCtx wr)
|
|
139
|
-
flowParser.CollectMethods (node appCtx wr)
|
|
140
|
-
if ( ( array_length appCtx.compilerErrors ) > 0 ) {
|
|
141
|
-
return appCtx
|
|
142
|
-
}
|
|
143
|
-
appCtx.targetLangName = the_lang
|
|
144
|
-
flowParser.StartWalk (node appCtx wr)
|
|
145
|
-
; flowParser.WalkNode (node appCtx wr)
|
|
146
|
-
if ( ( array_length appCtx.compilerErrors ) > 0 ) {
|
|
147
|
-
return appCtx
|
|
148
|
-
}
|
|
149
|
-
return appCtx
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
fn writeToFilesystem( appCtx:RangerAppWriterContext the_target_dir:string the_target:string ) {
|
|
153
|
-
|
|
154
|
-
def lcc:LiveCompiler (new LiveCompiler())
|
|
155
|
-
def fileSystem:CodeFileSystem (new CodeFileSystem())
|
|
156
|
-
def file:CodeFile (fileSystem.getFile("." the_target))
|
|
157
|
-
def wr@(optional):CodeWriter (file.getWriter())
|
|
158
|
-
def staticMethods:RangerAppClassDesc
|
|
159
|
-
def importFork:CodeWriter (wr.fork())
|
|
160
|
-
|
|
161
|
-
for appCtx.definedClassList cName:string i {
|
|
162
|
-
def cl:RangerAppClassDesc (get appCtx.definedClasses cName)
|
|
163
|
-
if(cl.is_operator_class) {
|
|
164
|
-
lcc.WalkNode( (unwrap cl.classNode ) appCtx (unwrap wr))
|
|
165
|
-
}
|
|
166
|
-
if(cl.is_generic_instance) {
|
|
167
|
-
lcc.WalkNode( (unwrap cl.classNode ) appCtx (unwrap wr))
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
for appCtx.definedClassList cName:string i {
|
|
172
|
-
if (cName == "RangerStaticMethods") {
|
|
173
|
-
staticMethods = (get appCtx.definedClasses cName)
|
|
174
|
-
continue _
|
|
175
|
-
}
|
|
176
|
-
def cl:RangerAppClassDesc (get appCtx.definedClasses cName)
|
|
177
|
-
if(cl.is_trait) {
|
|
178
|
-
continue
|
|
179
|
-
}
|
|
180
|
-
if(cl.is_system) {
|
|
181
|
-
continue _
|
|
182
|
-
}
|
|
183
|
-
if(cl.is_operator_class) {
|
|
184
|
-
continue
|
|
185
|
-
}
|
|
186
|
-
if(cl.is_generic_instance) {
|
|
187
|
-
continue
|
|
188
|
-
}
|
|
189
|
-
if(cl.is_system_union) {
|
|
190
|
-
continue _
|
|
191
|
-
}
|
|
192
|
-
lcc.WalkNode( (unwrap cl.classNode ) appCtx (unwrap wr))
|
|
193
|
-
}
|
|
194
|
-
if (!null? staticMethods) {
|
|
195
|
-
lcc.WalkNode( (unwrap staticMethods.classNode) appCtx (unwrap wr))
|
|
196
|
-
}
|
|
197
|
-
for flowParser.collectedIntefaces ifDesc:RangerAppClassDesc i {
|
|
198
|
-
print "should define also interface " + ifDesc.name
|
|
199
|
-
lcc.langWriter.writeInterface( ifDesc appCtx (unwrap wr) )
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
def import_list:[string] (wr.getImports ())
|
|
203
|
-
|
|
204
|
-
if(appCtx.targetLangName == "go") {
|
|
205
|
-
importFork.out("package main" true)
|
|
206
|
-
importFork.newline()
|
|
207
|
-
importFork.out("import (" true)
|
|
208
|
-
importFork.indent(1)
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
for import_list codeStr:string i {
|
|
212
|
-
|
|
213
|
-
switch appCtx.targetLangName {
|
|
214
|
-
case "go" {
|
|
215
|
-
if ( (charAt codeStr 0) == (to_int (charcode "_") ) ) {
|
|
216
|
-
importFork.out (( " _ \"" + (substring codeStr 1 (strlen codeStr)) + "\"") , true)
|
|
217
|
-
} {
|
|
218
|
-
importFork.out (("\"" + codeStr + "\"") , true)
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
}
|
|
222
|
-
case "rust" {
|
|
223
|
-
importFork.out (( "use " + codeStr + ";") , true)
|
|
224
|
-
}
|
|
225
|
-
case "cpp" {
|
|
226
|
-
importFork.out (( "#include " + codeStr + "") , true)
|
|
227
|
-
}
|
|
228
|
-
default {
|
|
229
|
-
importFork.out (("import " + codeStr + "") , true)
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
if(appCtx.targetLangName == "go") {
|
|
234
|
-
importFork.indent(-1)
|
|
235
|
-
importFork.out(")" true)
|
|
236
|
-
}
|
|
237
|
-
fileSystem.saveTo(the_target_dir)
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
}
|
|
241
|
-
|
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
Import "ng_LiveCompiler.clj"
|
|
3
|
-
Import "ColorConsole.clj"
|
|
4
|
-
Import "ng_DictNode.clj"
|
|
5
|
-
Import "ng_RangerSerializeClass.clj"
|
|
6
|
-
|
|
7
|
-
class SourceParser {
|
|
8
|
-
|
|
9
|
-
def lang_parser:RangerLispParser
|
|
10
|
-
def ctx@(weak):RangerAppWriterContext
|
|
11
|
-
def flowParser:RangerFlowParser
|
|
12
|
-
|
|
13
|
-
def the_lang ""
|
|
14
|
-
def the_lang_file:string "Lang.clj"
|
|
15
|
-
def langFilePaths:[string]
|
|
16
|
-
|
|
17
|
-
fn possiblePaths:[string] ( envVarName:string) {
|
|
18
|
-
def r_lib (env_var envVarName)
|
|
19
|
-
def res:[string]
|
|
20
|
-
if(!null? r_lib) {
|
|
21
|
-
def parts (strsplit (unwrap r_lib) ";")
|
|
22
|
-
for parts str:string i {
|
|
23
|
-
def s (trim str)
|
|
24
|
-
if( (strlen s) > 0) {
|
|
25
|
-
def dirNames (strsplit s "/")
|
|
26
|
-
removeLast dirNames
|
|
27
|
-
def theDir ((join dirNames "/"))
|
|
28
|
-
push res theDir
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
push res "./"
|
|
33
|
-
return res
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
fn searchLib:string (paths:[string] libname:string) {
|
|
37
|
-
for paths path:string i {
|
|
38
|
-
if( file_exists path libname ) {
|
|
39
|
-
return path
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return ""
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
fn initFromEnv( languageName:string ) {
|
|
46
|
-
the_lang = languageName
|
|
47
|
-
def langLibEnv (env_var "RANGER_LIB")
|
|
48
|
-
if(null? langLibEnv) {
|
|
49
|
-
print "please define RANGER_LIB environment variable "
|
|
50
|
-
}
|
|
51
|
-
langFilePaths = (this.possiblePaths("RANGER_LIB"))
|
|
52
|
-
def langFilePath ( this.searchLib(langFilePaths the_lang_file) )
|
|
53
|
-
def lang_str:string (read_file langFilePath the_lang_file)
|
|
54
|
-
def lang_code:SourceCode (new SourceCode ( (unwrap lang_str)) )
|
|
55
|
-
lang_code.filename = the_lang_file
|
|
56
|
-
lang_parser = (new RangerLispParser (lang_code))
|
|
57
|
-
lang_parser.parse()
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
fn loadLibraryCode:string ( fileName:string ) {
|
|
61
|
-
def load_from (this.searchLib(langFilePaths fileName))
|
|
62
|
-
def file_data (read_file load_from fileName)
|
|
63
|
-
if(null? file_data) {
|
|
64
|
-
return ""
|
|
65
|
-
}
|
|
66
|
-
return (unwrap file_data)
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
fn codeToNode:CodeNode (code:string filename:string) {
|
|
70
|
-
def s1:SourceCode (new SourceCode (code))
|
|
71
|
-
s1.filename = filename
|
|
72
|
-
def sh_parser:RangerLispParser (new RangerLispParser(s1))
|
|
73
|
-
sh_parser.parse()
|
|
74
|
-
def node:CodeNode (unwrap sh_parser.rootNode)
|
|
75
|
-
return node
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
fn paths:[string] () {
|
|
79
|
-
def res:[string]
|
|
80
|
-
for langFilePaths s:string i {
|
|
81
|
-
push res s
|
|
82
|
-
}
|
|
83
|
-
return res
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
; ? should here be given the text to compile AND the file name
|
|
87
|
-
;
|
|
88
|
-
fn parse@(weak):RangerAppWriterContext (codeToCompile:string codeFileName:string) {
|
|
89
|
-
|
|
90
|
-
def node (this.codeToNode(codeToCompile codeFileName))
|
|
91
|
-
|
|
92
|
-
flowParser = (new RangerFlowParser ())
|
|
93
|
-
def appCtx@(lives):RangerAppWriterContext (new RangerAppWriterContext()))
|
|
94
|
-
this.ctx = appCtx
|
|
95
|
-
|
|
96
|
-
;appCtx.outputPath = ( current_directory )
|
|
97
|
-
;def outputPath (env_var "RANGER_OUTPUT_DIR")
|
|
98
|
-
;if(!null? outputPath) {
|
|
99
|
-
; print "defined output directory to " + (unwrap outputPath)
|
|
100
|
-
; appCtx.outputPath = (unwrap outputPath)
|
|
101
|
-
;}
|
|
102
|
-
appCtx.libraryPaths = (this.paths()) ; langFilePaths
|
|
103
|
-
|
|
104
|
-
def wr:CodeWriter (new CodeWriter())
|
|
105
|
-
appCtx.langOperators = (unwrap lang_parser.rootNode)
|
|
106
|
-
appCtx.setRootFile( codeFileName )
|
|
107
|
-
|
|
108
|
-
def ops (new RangerActiveOperators)
|
|
109
|
-
ops.initFrom( (unwrap lang_parser.rootNode) )
|
|
110
|
-
appCtx.operators = ops
|
|
111
|
-
|
|
112
|
-
flowParser.mergeImports(node appCtx wr)
|
|
113
|
-
flowParser.CollectMethods (node appCtx wr)
|
|
114
|
-
if ( ( array_length appCtx.compilerErrors ) > 0 ) {
|
|
115
|
-
return appCtx
|
|
116
|
-
}
|
|
117
|
-
appCtx.targetLangName = the_lang
|
|
118
|
-
flowParser.StartWalk (node appCtx wr)
|
|
119
|
-
if ( ( array_length appCtx.compilerErrors ) > 0 ) {
|
|
120
|
-
return appCtx
|
|
121
|
-
}
|
|
122
|
-
return appCtx
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
fn writeToFilesystem( appCtx:RangerAppWriterContext the_target_dir:string the_target:string ) {
|
|
126
|
-
|
|
127
|
-
def lcc:LiveCompiler (new LiveCompiler())
|
|
128
|
-
def fileSystem:CodeFileSystem (new CodeFileSystem())
|
|
129
|
-
def file:CodeFile (fileSystem.getFile("." the_target))
|
|
130
|
-
def wr@(optional):CodeWriter (file.getWriter())
|
|
131
|
-
def staticMethods:RangerAppClassDesc
|
|
132
|
-
def importFork:CodeWriter (wr.fork())
|
|
133
|
-
|
|
134
|
-
for appCtx.definedClassList cName:string i {
|
|
135
|
-
def cl:RangerAppClassDesc (get appCtx.definedClasses cName)
|
|
136
|
-
if(cl.is_operator_class) {
|
|
137
|
-
lcc.WalkNode( (unwrap cl.classNode ) appCtx (unwrap wr))
|
|
138
|
-
}
|
|
139
|
-
if(cl.is_generic_instance) {
|
|
140
|
-
lcc.WalkNode( (unwrap cl.classNode ) appCtx (unwrap wr))
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
for appCtx.definedClassList cName:string i {
|
|
145
|
-
if (cName == "RangerStaticMethods") {
|
|
146
|
-
staticMethods = (get appCtx.definedClasses cName)
|
|
147
|
-
continue _
|
|
148
|
-
}
|
|
149
|
-
def cl:RangerAppClassDesc (get appCtx.definedClasses cName)
|
|
150
|
-
if(cl.is_trait) {
|
|
151
|
-
continue
|
|
152
|
-
}
|
|
153
|
-
if(cl.is_system) {
|
|
154
|
-
continue _
|
|
155
|
-
}
|
|
156
|
-
if(cl.is_operator_class) {
|
|
157
|
-
continue
|
|
158
|
-
}
|
|
159
|
-
if(cl.is_generic_instance) {
|
|
160
|
-
continue
|
|
161
|
-
}
|
|
162
|
-
if(cl.is_system_union) {
|
|
163
|
-
continue _
|
|
164
|
-
}
|
|
165
|
-
lcc.WalkNode( (unwrap cl.classNode ) appCtx (unwrap wr))
|
|
166
|
-
}
|
|
167
|
-
if (!null? staticMethods) {
|
|
168
|
-
lcc.WalkNode( (unwrap staticMethods.classNode) appCtx (unwrap wr))
|
|
169
|
-
}
|
|
170
|
-
for flowParser.collectedIntefaces ifDesc:RangerAppClassDesc i {
|
|
171
|
-
print "should define also interface " + ifDesc.name
|
|
172
|
-
lcc.langWriter.writeInterface( ifDesc appCtx (unwrap wr) )
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
def import_list:[string] (wr.getImports ())
|
|
176
|
-
|
|
177
|
-
if(appCtx.targetLangName == "go") {
|
|
178
|
-
importFork.out("package main" true)
|
|
179
|
-
importFork.newline()
|
|
180
|
-
importFork.out("import (" true)
|
|
181
|
-
importFork.indent(1)
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
for import_list codeStr:string i {
|
|
185
|
-
|
|
186
|
-
switch appCtx.targetLangName {
|
|
187
|
-
case "go" {
|
|
188
|
-
if ( (charAt codeStr 0) == (to_int (charcode "_") ) ) {
|
|
189
|
-
importFork.out (( " _ \"" + (substring codeStr 1 (strlen codeStr)) + "\"") , true)
|
|
190
|
-
} {
|
|
191
|
-
importFork.out (("\"" + codeStr + "\"") , true)
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
case "rust" {
|
|
196
|
-
importFork.out (( "use " + codeStr + ";") , true)
|
|
197
|
-
}
|
|
198
|
-
case "cpp" {
|
|
199
|
-
importFork.out (( "#include " + codeStr + "") , true)
|
|
200
|
-
}
|
|
201
|
-
default {
|
|
202
|
-
importFork.out (("import " + codeStr + "") , true)
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
if(appCtx.targetLangName == "go") {
|
|
207
|
-
importFork.indent(-1)
|
|
208
|
-
importFork.out(")" true)
|
|
209
|
-
}
|
|
210
|
-
fileSystem.saveTo(the_target_dir)
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
}
|
|
214
|
-
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
class WebPageWriter {
|
|
3
|
-
|
|
4
|
-
def classWriter:RangerGenericClassWriter
|
|
5
|
-
|
|
6
|
-
fn CreatePage (parser:RangerFlowParser node:CodeNode ctx:RangerAppWriterContext orig_wr:CodeWriter) {
|
|
7
|
-
|
|
8
|
-
def sc (node.getSecond())
|
|
9
|
-
; generic page writer follows now the android page writing rules...
|
|
10
|
-
def wr orig_wr
|
|
11
|
-
wr.out("// created by WebPageWriter " true)
|
|
12
|
-
|
|
13
|
-
; the import fork should be placed in some other place...
|
|
14
|
-
|
|
15
|
-
; TODO: return process, not view...
|
|
16
|
-
wr.out( sc.vref + " () {" , true)
|
|
17
|
-
wr.indent(1)
|
|
18
|
-
|
|
19
|
-
wr.out("var view = document.getElementById('" + sc.vref + "');" , true)
|
|
20
|
-
|
|
21
|
-
def fnBody:CodeNode (itemAt node.children 2)
|
|
22
|
-
def subCtx:RangerAppWriterContext (ctx.fork())
|
|
23
|
-
subCtx.is_function = true
|
|
24
|
-
; subCtx.currentMethod = m
|
|
25
|
-
subCtx.in_static_method = true
|
|
26
|
-
subCtx.setInMethod()
|
|
27
|
-
parser.WalkNodeChildren(fnBody subCtx wr)
|
|
28
|
-
subCtx.unsetInMethod()
|
|
29
|
-
subCtx.in_static_method = false
|
|
30
|
-
subCtx.function_level_context = true
|
|
31
|
-
|
|
32
|
-
classWriter.WalkNode( fnBody subCtx wr )
|
|
33
|
-
|
|
34
|
-
wr.out("return view;" true)
|
|
35
|
-
wr.indent(-1)
|
|
36
|
-
wr.out("}" true)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
}
|