ranger-compiler 2.1.69 → 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 +991 -96
- 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/{bin/output.js → dist/rgrc.js} +15377 -7935
- package/dist/stdops.rgr +168 -0
- package/package.json +196 -38
- 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/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 -800
- 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 -1042
- 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/api.js.map +0 -1
- package/dist/bin/compiler.d.ts +0 -1638
- package/dist/bin/compiler.js +0 -32444
- package/dist/bin/compiler.js.map +0 -1
- 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/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,162 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
Import "ng_Compiler.clj"
|
|
3
|
-
|
|
4
|
-
; NOTE:
|
|
5
|
-
; https://stackoverflow.com/questions/4687609/maven-not-setting-classpath-for-dependencies-properly
|
|
6
|
-
|
|
7
|
-
flag npm (
|
|
8
|
-
name "ranger-maven"
|
|
9
|
-
version "0.0.6"
|
|
10
|
-
description "Maven plugin for Ranger Compiler"
|
|
11
|
-
author "Tero Tolonen"
|
|
12
|
-
license "MIT"
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
plugin.markdown 'README.md' {
|
|
16
|
-
h3 'Maven plugin'
|
|
17
|
-
p "Creates the pom.xml file into the target directory"
|
|
18
|
-
p Example
|
|
19
|
-
code '
|
|
20
|
-
ranger-compiler -plugins="ranger-maven" -l=java7
|
|
21
|
-
'
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
class Plugin {
|
|
25
|
-
|
|
26
|
-
def app_name ""
|
|
27
|
-
def group_id ""
|
|
28
|
-
|
|
29
|
-
fn features:[string] () {
|
|
30
|
-
return ([] "postprocess")
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
fn mavenHeader (root:CodeNode ctx:RangerAppWriterContext wr:CodeWriter) {
|
|
34
|
-
|
|
35
|
-
def version ((ctx.getCompilerSetting('version')) || '0.0.1')
|
|
36
|
-
def full_name ((ctx.getCompilerSetting('fullname')) || app_name )
|
|
37
|
-
|
|
38
|
-
wr.raw(`
|
|
39
|
-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
40
|
-
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
41
|
-
<modelVersion>4.0.0</modelVersion>
|
|
42
|
-
<groupId>` + group_id + `</groupId>
|
|
43
|
-
<artifactId>` + app_name + `</artifactId>
|
|
44
|
-
<version>` + version + `</version>
|
|
45
|
-
<packaging>jar</packaging>
|
|
46
|
-
<name>` + full_name + `</name>
|
|
47
|
-
<url>http://maven.apache.org</url>
|
|
48
|
-
<properties>
|
|
49
|
-
<maven.compiler.source>1.7</maven.compiler.source>
|
|
50
|
-
<maven.compiler.target>1.7</maven.compiler.target>
|
|
51
|
-
</properties>
|
|
52
|
-
|
|
53
|
-
` , false)
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
fn postprocess (root:CodeNode ctx:RangerAppWriterContext wr:CodeWriter) {
|
|
57
|
-
try {
|
|
58
|
-
def nodes (ctx.getPluginNodes("maven"))
|
|
59
|
-
|
|
60
|
-
; what is the main class file ?
|
|
61
|
-
def mainClass (ctx.getCompilerSetting('mainclass'))
|
|
62
|
-
if( (has mainClass) == false ) {
|
|
63
|
-
return
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
def version ((ctx.getCompilerSetting('version')) || '0.0.1')
|
|
67
|
-
|
|
68
|
-
; transform all the files
|
|
69
|
-
app_name = ((ctx.getCompilerSetting('name')) || mainClass || 'helloworld' )
|
|
70
|
-
group_id = ( ((ctx.getCompilerSetting('domain')) || 'com.example') + "." + mainClass)
|
|
71
|
-
def tDir ( app_name + '/src/main/java/' + ( join (strsplit group_id ".") "/" ) )
|
|
72
|
-
|
|
73
|
-
def pWriter (wr.getFileWriter((app_name + '/') 'pom.xml'))
|
|
74
|
-
|
|
75
|
-
def fs (wr.getFilesystem())
|
|
76
|
-
fs.files.forEach({
|
|
77
|
-
; item.name --> name of the Java file
|
|
78
|
-
if( (indexOf item.name '.java') > 0 ) {
|
|
79
|
-
def code (item.getCode())
|
|
80
|
-
def fWriter (wr.getFileWriter(tDir item.name))
|
|
81
|
-
fWriter.raw(code false)
|
|
82
|
-
}
|
|
83
|
-
})
|
|
84
|
-
|
|
85
|
-
this.mavenHeader( root ctx pWriter )
|
|
86
|
-
|
|
87
|
-
def hasAdded:[string:boolean]
|
|
88
|
-
|
|
89
|
-
pWriter.out('<dependencies>' true)
|
|
90
|
-
nodes.forEach({
|
|
91
|
-
if( (size item.children) > 0 ) {
|
|
92
|
-
|
|
93
|
-
item.children.forEach({
|
|
94
|
-
try {
|
|
95
|
-
|
|
96
|
-
def itemHash (item.getCode())
|
|
97
|
-
if( has hasAdded itemHash) {
|
|
98
|
-
return
|
|
99
|
-
}
|
|
100
|
-
set hasAdded itemHash true
|
|
101
|
-
|
|
102
|
-
def fc (item.getFirst())
|
|
103
|
-
def get_str (fn:string (i:int) {
|
|
104
|
-
return ( (at item.children i).string_value)
|
|
105
|
-
})
|
|
106
|
-
switch fc.vref {
|
|
107
|
-
case 'dep' {
|
|
108
|
-
pWriter.out('<dependency><groupId>' + (get_str(1)) + '</groupId>' +
|
|
109
|
-
'<artifactId>' + (get_str(2)) + '</artifactId>' +
|
|
110
|
-
'<version>' + (get_str(3)) + '</version></dependency>' , true)
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
} {
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
})
|
|
117
|
-
}
|
|
118
|
-
})
|
|
119
|
-
pWriter.newline()
|
|
120
|
-
pWriter.out('</dependencies>' true)
|
|
121
|
-
pWriter.raw('
|
|
122
|
-
<build>
|
|
123
|
-
<plugins>
|
|
124
|
-
<plugin>
|
|
125
|
-
<artifactId>maven-assembly-plugin</artifactId>
|
|
126
|
-
<configuration>
|
|
127
|
-
<archive>
|
|
128
|
-
<manifest>
|
|
129
|
-
<mainClass>' + (group_id + "." + mainClass) + '</mainClass>
|
|
130
|
-
</manifest>
|
|
131
|
-
</archive>
|
|
132
|
-
<descriptorRefs>
|
|
133
|
-
<descriptorRef>jar-with-dependencies</descriptorRef>
|
|
134
|
-
</descriptorRefs>
|
|
135
|
-
</configuration>
|
|
136
|
-
</plugin>
|
|
137
|
-
</plugins>
|
|
138
|
-
</build>
|
|
139
|
-
' , true)
|
|
140
|
-
|
|
141
|
-
pWriter.out('</project>' true)
|
|
142
|
-
|
|
143
|
-
; create a shell script which makes running even easier...
|
|
144
|
-
def shellWr (wr.getFileWriter((app_name + '/') (mainClass + '.sh') ))
|
|
145
|
-
shellWr.out('mvn clean compile assembly:single' true)
|
|
146
|
-
shellWr.out(('java -cp target/'+ (app_name) + '-' + version + '-jar-with-dependencies.jar ' + mainClass ) true)
|
|
147
|
-
|
|
148
|
-
def target_dir ( (ctx.getCompilerSetting('d')) || 'bin')
|
|
149
|
-
|
|
150
|
-
print "----------------------------------------------------------------------------------"
|
|
151
|
-
print " Maven plugin run succesfully."
|
|
152
|
-
print " To run and compile the project execute in the output directory"
|
|
153
|
-
print ""
|
|
154
|
-
print " " + target_dir + "/" + (app_name + '/') + (mainClass + '.sh')
|
|
155
|
-
print ""
|
|
156
|
-
print "----------------------------------------------------------------------------------"
|
|
157
|
-
|
|
158
|
-
} {
|
|
159
|
-
print (error_msg)
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
class AndroidPageWriter {
|
|
3
|
-
|
|
4
|
-
def classWriter:RangerGenericClassWriter
|
|
5
|
-
|
|
6
|
-
fn BuildAST:CodeNode ( code_string:string ) {
|
|
7
|
-
def lang_code:SourceCode (new SourceCode ( code_string ) )
|
|
8
|
-
lang_code.filename = "<AST>"
|
|
9
|
-
def lang_parser:RangerLispParser (new RangerLispParser (lang_code))
|
|
10
|
-
lang_parser.parse(false)
|
|
11
|
-
def node@(lives):CodeNode (unwrap lang_parser.rootNode)
|
|
12
|
-
return node
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
; fn CreateLetDef@(optional):CodeNode ( parser:RangerFlowParser node:CodeNode ctx:RangerAppWriterContext wr:CodeWriter) {
|
|
16
|
-
; def res:CodeNode
|
|
17
|
-
; def nameNode (node.getChild(1))
|
|
18
|
-
; def valueNode (node.getChild(2))
|
|
19
|
-
;
|
|
20
|
-
; if( (null? nameNode) || (null? valueNode) ) {
|
|
21
|
-
; return res
|
|
22
|
-
; }
|
|
23
|
-
;
|
|
24
|
-
; return res
|
|
25
|
-
; }
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
fn CreatePage (parser:RangerFlowParser node:CodeNode ctx:RangerAppWriterContext orig_wr:CodeWriter) {
|
|
29
|
-
|
|
30
|
-
def sc (node.getSecond())
|
|
31
|
-
def pageName sc.vref
|
|
32
|
-
; generic page writer follows now the android page writing rules...
|
|
33
|
-
def wr:CodeWriter (orig_wr.getFileWriter("." (pageName + ".java")))
|
|
34
|
-
wr.out("// created by AndroidPageWriter " true)
|
|
35
|
-
|
|
36
|
-
def package_name (ctx.getCompilerSetting("package"))
|
|
37
|
-
if( (strlen package_name) > 0) {
|
|
38
|
-
wr.out("package " + package_name + ";" , true)
|
|
39
|
-
}
|
|
40
|
-
def importFork:CodeWriter (wr.fork())
|
|
41
|
-
|
|
42
|
-
; TODO: how to import the necessary view libraries ?
|
|
43
|
-
classWriter.import_lib("android.content.Context" ctx wr)
|
|
44
|
-
classWriter.import_lib("android.support.v7.app.AppCompatActivity" ctx wr)
|
|
45
|
-
classWriter.import_lib("android.widget.LinearLayout" ctx wr)
|
|
46
|
-
classWriter.import_lib("android.view.LayoutInflater" ctx wr)
|
|
47
|
-
classWriter.import_lib("android.os.Bundle" ctx wr)
|
|
48
|
-
classWriter.import_lib("android.support.v4.app.Fragment" ctx wr)
|
|
49
|
-
classWriter.import_lib("android.view.ViewGroup" ctx wr)
|
|
50
|
-
classWriter.import_lib("android.view.View" ctx wr)
|
|
51
|
-
|
|
52
|
-
def package_name (ctx.getCompilerSetting("package"))
|
|
53
|
-
|
|
54
|
-
if( classWriter.isPackaged(ctx) ) {
|
|
55
|
-
classWriter.import_lib( (package_name + ".interfaces.*") ctx wr)
|
|
56
|
-
classWriter.import_lib( (package_name + ".operators.*") ctx wr)
|
|
57
|
-
classWriter.import_lib( (package_name + ".immutables.*") ctx wr)
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
wr.out('public class ' + pageName + ' extends Fragment {' , true)
|
|
61
|
-
wr.indent(1)
|
|
62
|
-
|
|
63
|
-
wr.out("public JinxProcess mainProcess; " true)
|
|
64
|
-
wr.out('@Override ' true)
|
|
65
|
-
wr.out('public void onDestroyView() { ' true)
|
|
66
|
-
wr.indent(1)
|
|
67
|
-
wr.out("super.onDestroyView(); " true)
|
|
68
|
-
wr.out("if( mainProcess != null) mainProcess.abort();" true)
|
|
69
|
-
wr.indent(-1)
|
|
70
|
-
wr.out("}" true)
|
|
71
|
-
|
|
72
|
-
wr.out("@Override" true)
|
|
73
|
-
wr.out( 'public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {' true)
|
|
74
|
-
wr.indent(1)
|
|
75
|
-
; wr.out("super.onCreate(savedInstanceState);" true)
|
|
76
|
-
; the page code should come about here...
|
|
77
|
-
wr.out('final View view = inflater.inflate(R.layout.activity_' + pageName + ', container, false);' , true)
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
; walk the body
|
|
81
|
-
def fnBody:CodeNode (itemAt node.children 2)
|
|
82
|
-
def subCtx:RangerAppWriterContext (ctx.fork())
|
|
83
|
-
subCtx.is_function = true
|
|
84
|
-
; subCtx.currentMethod = m
|
|
85
|
-
subCtx.in_static_method = true
|
|
86
|
-
subCtx.setInMethod()
|
|
87
|
-
|
|
88
|
-
def rootCtx (subCtx.getRoot())
|
|
89
|
-
def errCnt (array_length rootCtx.compilerErrors)
|
|
90
|
-
|
|
91
|
-
def copyOf (fnBody.copy())
|
|
92
|
-
|
|
93
|
-
parser.WalkNodeChildren(fnBody subCtx wr)
|
|
94
|
-
subCtx.unsetInMethod()
|
|
95
|
-
subCtx.in_static_method = false
|
|
96
|
-
subCtx.function_level_context = true
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
def errCnt2 (array_length rootCtx.compilerErrors)
|
|
100
|
-
; print "Android Page Writer error cnt, after first walk : " + (errCnt2 - errCnt)
|
|
101
|
-
def cnt (errCnt2 - errCnt)
|
|
102
|
-
|
|
103
|
-
while( cnt > 0 ) {
|
|
104
|
-
removeLast rootCtx.compilerErrors
|
|
105
|
-
cnt = cnt - 1
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
def preBody (fnBody.newExpressionNode())
|
|
109
|
-
def mainBody (fnBody.newExpressionNode())
|
|
110
|
-
def newBody (fnBody.newExpressionNode())
|
|
111
|
-
|
|
112
|
-
def stdCode@(temp) (fnBody.newExpressionNode())
|
|
113
|
-
def stdBody (fnBody.newExpressionNode())
|
|
114
|
-
def in_stdCode false
|
|
115
|
-
def pushed_std false
|
|
116
|
-
def first_lines true
|
|
117
|
-
|
|
118
|
-
def pRef (fnBody.newVRefNode("process"))
|
|
119
|
-
def pName (fnBody.newStringNode(pageName))
|
|
120
|
-
|
|
121
|
-
push newBody.children pRef
|
|
122
|
-
push newBody.children pName
|
|
123
|
-
|
|
124
|
-
; push prDefine.children newBody
|
|
125
|
-
|
|
126
|
-
if( pageName != "notme" ) {
|
|
127
|
-
fnBody.children.forEach({
|
|
128
|
-
|
|
129
|
-
if( (item.isFirstVref("ui")) || ( (item.eval_type_name == "JinxProcess")) ) {
|
|
130
|
-
if in_stdCode {
|
|
131
|
-
push newBody.children stdCode
|
|
132
|
-
in_stdCode = false
|
|
133
|
-
}
|
|
134
|
-
first_lines = false
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
if(item.isFirstVref("ui")) {
|
|
138
|
-
first_lines = false
|
|
139
|
-
def taskNode (itemAt copyOf.children index)
|
|
140
|
-
def codeToRun (taskNode.getSecond())
|
|
141
|
-
;codeToRun.is_block_node = true
|
|
142
|
-
; codeToRun.expression = false
|
|
143
|
-
def uiNode (r.op "task.call" (r.block
|
|
144
|
-
(r.op "def" (r.vref "uictx") (r.op "unwrap" (r.op "get" (r.vref "ctx.anyValues") (r.value "uicontext"))))
|
|
145
|
-
(r.op "print" (r.value "after this should be ui_thread"))
|
|
146
|
-
(r.op "case" (r.vref "uictx") (r.vref "c" "UIContextHandle") (r.block
|
|
147
|
-
; (r.op "print" (r.value "after this should be ui_thread"))
|
|
148
|
-
(r.op "ui_thread" (r.vref "c")
|
|
149
|
-
; and here..
|
|
150
|
-
codeToRun
|
|
151
|
-
; (r.op "print" (r.value "The last line of the page is here...."))
|
|
152
|
-
)
|
|
153
|
-
)
|
|
154
|
-
)
|
|
155
|
-
))
|
|
156
|
-
push newBody.children uiNode
|
|
157
|
-
return
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
; if(item.isFirstVref("def")) {
|
|
161
|
-
; print "!!!! def found"
|
|
162
|
-
; print (item.getLineAsString())
|
|
163
|
-
;}
|
|
164
|
-
|
|
165
|
-
if(item.eval_type_name == "JinxProcess") {
|
|
166
|
-
def taskNode (itemAt copyOf.children index)
|
|
167
|
-
push newBody.children taskNode
|
|
168
|
-
} {
|
|
169
|
-
if( first_lines ) {
|
|
170
|
-
def tt (itemAt copyOf.children index)
|
|
171
|
-
push preBody.children tt
|
|
172
|
-
} {
|
|
173
|
-
if(in_stdCode == false) {
|
|
174
|
-
stdCode = (fnBody.newExpressionNode())
|
|
175
|
-
push stdCode.children (fnBody.newVRefNode("task.call"))
|
|
176
|
-
|
|
177
|
-
def callBody (fnBody.newExpressionNode())
|
|
178
|
-
callBody.is_block_node = true
|
|
179
|
-
|
|
180
|
-
def tryC (fnBody.newExpressionNode())
|
|
181
|
-
; tryC.is_block_node = true
|
|
182
|
-
def catchC (fnBody.newExpressionNode())
|
|
183
|
-
catchC.is_block_node = true
|
|
184
|
-
push tryC.children (fnBody.newVRefNode("try"))
|
|
185
|
-
|
|
186
|
-
stdBody = (fnBody.newExpressionNode())
|
|
187
|
-
stdBody.is_block_node = true
|
|
188
|
-
push tryC.children stdBody
|
|
189
|
-
push tryC.children catchC
|
|
190
|
-
push callBody.children tryC
|
|
191
|
-
push stdCode.children callBody
|
|
192
|
-
in_stdCode = true
|
|
193
|
-
pushed_std = false
|
|
194
|
-
}
|
|
195
|
-
def taskNode (itemAt copyOf.children index)
|
|
196
|
-
push stdBody.children taskNode
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
})
|
|
200
|
-
}
|
|
201
|
-
if in_stdCode {
|
|
202
|
-
push newBody.children stdCode
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
def ast (this.BuildAST('
|
|
206
|
-
def ctx (new JinxProcessCtx)
|
|
207
|
-
ctx.anyValues = (set ctx.anyValues \"view\" view)
|
|
208
|
-
ctx.anyValues = (set ctx.anyValues \"uicontext\" (getUIContext))
|
|
209
|
-
ctx.anyValues = (set ctx.anyValues \"process\" mainProcess)
|
|
210
|
-
mainProcess.start(ctx)
|
|
211
|
-
'))
|
|
212
|
-
ast.children.forEach({
|
|
213
|
-
def n@(temp) item
|
|
214
|
-
push mainBody.children n
|
|
215
|
-
})
|
|
216
|
-
|
|
217
|
-
def mainPN@(lives) (fnBody.newVRefNode("mainProcess"))
|
|
218
|
-
mainPN.type_name = "JinxProcess"
|
|
219
|
-
def p@(lives):RangerAppParamDesc (new RangerAppParamDesc ())
|
|
220
|
-
p.name = "mainProcess"
|
|
221
|
-
p.compiledName = "mainProcess"
|
|
222
|
-
p.value_type = RangerNodeType.VRef
|
|
223
|
-
p.node = mainPN
|
|
224
|
-
p.nameNode = mainPN
|
|
225
|
-
p.is_optional = false
|
|
226
|
-
p.init_cnt = 1
|
|
227
|
-
subCtx.defineVariable(p.name p)
|
|
228
|
-
|
|
229
|
-
def mainPN@(lives) (fnBody.newVRefNode("view"))
|
|
230
|
-
mainPN.type_name = "View"
|
|
231
|
-
def p@(lives):RangerAppParamDesc (new RangerAppParamDesc ())
|
|
232
|
-
p.name = "view"
|
|
233
|
-
p.compiledName = "view"
|
|
234
|
-
p.value_type = RangerNodeType.VRef
|
|
235
|
-
p.node = mainPN
|
|
236
|
-
p.nameNode = mainPN
|
|
237
|
-
p.is_optional = false
|
|
238
|
-
p.init_cnt = 1
|
|
239
|
-
subCtx.defineVariable(p.name p)
|
|
240
|
-
|
|
241
|
-
def mainPN@(lives) (fnBody.newVRefNode("ctx"))
|
|
242
|
-
mainPN.type_name = "JinxProcessCtx"
|
|
243
|
-
def p@(lives):RangerAppParamDesc (new RangerAppParamDesc ())
|
|
244
|
-
p.name = "ctx"
|
|
245
|
-
p.compiledName = "ctx"
|
|
246
|
-
p.value_type = RangerNodeType.VRef
|
|
247
|
-
p.node = mainPN
|
|
248
|
-
p.nameNode = mainPN
|
|
249
|
-
p.is_optional = false
|
|
250
|
-
p.init_cnt = 1
|
|
251
|
-
subCtx.defineVariable(p.name p)
|
|
252
|
-
|
|
253
|
-
; TODO: also operators for defining variables into the context easier
|
|
254
|
-
;
|
|
255
|
-
|
|
256
|
-
; example of how to create AST node...
|
|
257
|
-
; push mainBody.children (r.op "print" (r.value "The last line of the page is here...."))
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
subCtx.is_function = true
|
|
261
|
-
; subCtx.currentMethod = m
|
|
262
|
-
subCtx.in_static_method = true
|
|
263
|
-
subCtx.setInMethod()
|
|
264
|
-
parser.WalkNode(preBody subCtx wr)
|
|
265
|
-
parser.WalkNode(newBody subCtx wr)
|
|
266
|
-
parser.WalkNode(mainBody subCtx wr)
|
|
267
|
-
subCtx.unsetInMethod()
|
|
268
|
-
subCtx.in_static_method = false
|
|
269
|
-
subCtx.function_level_context = true
|
|
270
|
-
|
|
271
|
-
; wr.out("JinxProcessCtx ctx = new JinxProcessCtx();" true)0
|
|
272
|
-
classWriter.WalkNode( preBody subCtx wr )
|
|
273
|
-
wr.out("mainProcess = (" false)
|
|
274
|
-
subCtx.setInExpr()
|
|
275
|
-
classWriter.WalkNode( newBody subCtx wr )
|
|
276
|
-
subCtx.unsetInExpr()
|
|
277
|
-
wr.out(");" true);
|
|
278
|
-
|
|
279
|
-
classWriter.WalkNode( mainBody subCtx wr )
|
|
280
|
-
|
|
281
|
-
; wr.out("ctx = ctx.set_anyValues()" true)
|
|
282
|
-
|
|
283
|
-
; wr.out("mainProcess.start(ctx);" true)
|
|
284
|
-
|
|
285
|
-
wr.out("return view;" true)
|
|
286
|
-
wr.indent(-1)
|
|
287
|
-
wr.out("}" true)
|
|
288
|
-
|
|
289
|
-
wr.indent(-1)
|
|
290
|
-
wr.out("}" true)
|
|
291
|
-
|
|
292
|
-
def import_list:[string] (wr.getImports())
|
|
293
|
-
for import_list codeStr:string i {
|
|
294
|
-
importFork.out(("import " + codeStr + ";") true)
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
}
|