@eagleoutice/flowr 1.5.1 → 2.0.0
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/abstract-interpretation/handler/binop/binop.d.ts +3 -4
- package/abstract-interpretation/handler/binop/binop.js +4 -2
- package/abstract-interpretation/handler/binop/operators.d.ts +2 -2
- package/abstract-interpretation/handler/binop/operators.js +14 -28
- package/abstract-interpretation/processor.d.ts +3 -2
- package/abstract-interpretation/processor.js +2 -2
- package/benchmark/slicer.d.ts +101 -0
- package/benchmark/slicer.js +214 -0
- package/benchmark/stats/print.d.ts +7 -0
- package/benchmark/stats/print.js +151 -0
- package/benchmark/stats/stats.d.ts +42 -0
- package/benchmark/stats/stats.js +6 -0
- package/benchmark/stopwatch.d.ts +35 -0
- package/benchmark/stopwatch.js +79 -0
- package/benchmark/summarizer/data.d.ts +54 -0
- package/benchmark/summarizer/first-phase/input.d.ts +3 -0
- package/benchmark/summarizer/first-phase/input.js +76 -0
- package/benchmark/summarizer/first-phase/process.d.ts +11 -0
- package/benchmark/summarizer/first-phase/process.js +205 -0
- package/benchmark/summarizer/second-phase/graph.d.ts +2 -0
- package/benchmark/summarizer/second-phase/graph.js +54 -0
- package/benchmark/summarizer/second-phase/process.d.ts +6 -0
- package/benchmark/summarizer/second-phase/process.js +127 -0
- package/benchmark/summarizer/summarizer.d.ts +31 -0
- package/benchmark/summarizer/summarizer.js +58 -0
- package/cli/benchmark-app.d.ts +10 -0
- package/cli/benchmark-app.js +67 -0
- package/cli/benchmark-helper-app.d.ts +9 -0
- package/cli/benchmark-helper-app.js +69 -0
- package/cli/common/features.d.ts +3 -0
- package/cli/common/features.js +30 -0
- package/cli/common/options.d.ts +20 -0
- package/cli/common/options.js +85 -0
- package/cli/common/script.d.ts +21 -0
- package/cli/common/script.js +61 -0
- package/cli/common/scripts-info.d.ts +25 -0
- package/cli/common/scripts-info.js +83 -0
- package/cli/export-quads-app.d.ts +7 -0
- package/cli/export-quads-app.js +43 -0
- package/cli/flowr.d.ts +29 -0
- package/cli/flowr.js +141 -0
- package/cli/repl/commands/cfg.d.ts +3 -0
- package/cli/repl/commands/cfg.js +37 -0
- package/cli/repl/commands/commands.d.ts +13 -0
- package/cli/repl/commands/commands.js +142 -0
- package/cli/repl/commands/dataflow.d.ts +3 -0
- package/cli/repl/commands/dataflow.js +34 -0
- package/cli/repl/commands/execute.d.ts +4 -0
- package/cli/repl/commands/execute.js +27 -0
- package/cli/repl/commands/main.d.ts +39 -0
- package/cli/repl/commands/main.js +14 -0
- package/cli/repl/commands/normalize.d.ts +3 -0
- package/cli/repl/commands/normalize.js +34 -0
- package/cli/repl/commands/parse.d.ts +2 -0
- package/cli/repl/commands/parse.js +110 -0
- package/cli/repl/commands/quit.d.ts +2 -0
- package/cli/repl/commands/quit.js +15 -0
- package/cli/repl/commands/version.d.ts +16 -0
- package/cli/repl/commands/version.js +28 -0
- package/cli/repl/core.d.ts +36 -0
- package/cli/repl/core.js +174 -0
- package/cli/repl/execute.d.ts +28 -0
- package/cli/repl/execute.js +79 -0
- package/cli/repl/print-version.d.ts +2 -0
- package/cli/repl/print-version.js +10 -0
- package/cli/repl/prompt.d.ts +2 -0
- package/cli/repl/prompt.js +9 -0
- package/cli/repl/server/connection.d.ts +21 -0
- package/cli/repl/server/connection.js +218 -0
- package/cli/repl/server/messages/analysis.d.ts +72 -0
- package/cli/repl/server/messages/analysis.js +21 -0
- package/cli/repl/server/messages/error.d.ts +11 -0
- package/{core/input.js → cli/repl/server/messages/error.js} +1 -1
- package/cli/repl/server/messages/hello.d.ts +20 -0
- package/{core/output.js → cli/repl/server/messages/hello.js} +1 -1
- package/cli/repl/server/messages/messages.d.ts +35 -0
- package/cli/repl/server/messages/messages.js +40 -0
- package/cli/repl/server/messages/repl.d.ts +33 -0
- package/cli/repl/server/messages/repl.js +37 -0
- package/cli/repl/server/messages/slice.d.ts +26 -0
- package/cli/repl/server/messages/slice.js +37 -0
- package/cli/repl/server/net.d.ts +49 -0
- package/cli/repl/server/net.js +63 -0
- package/cli/repl/server/send.d.ts +4 -0
- package/cli/repl/server/send.js +18 -0
- package/cli/repl/server/server.d.ts +20 -0
- package/cli/repl/server/server.js +66 -0
- package/cli/repl/server/validate.d.ts +15 -0
- package/cli/repl/server/validate.js +34 -0
- package/cli/slicer-app.d.ts +11 -0
- package/cli/slicer-app.js +83 -0
- package/cli/statistics-app.d.ts +11 -0
- package/cli/statistics-app.js +99 -0
- package/cli/statistics-helper-app.d.ts +11 -0
- package/cli/statistics-helper-app.js +87 -0
- package/cli/summarizer-app.d.ts +18 -0
- package/cli/summarizer-app.js +66 -0
- package/core/pipeline-executor.d.ts +154 -0
- package/core/pipeline-executor.js +221 -0
- package/core/print/dataflow-printer.d.ts +3 -4
- package/core/print/dataflow-printer.js +5 -5
- package/core/print/normalize-printer.d.ts +1 -1
- package/core/print/normalize-printer.js +3 -3
- package/core/print/parse-printer.js +3 -3
- package/core/print/print.d.ts +13 -4
- package/core/print/print.js +13 -2
- package/core/print/slice-diff-ansi.d.ts +3 -2
- package/core/print/slice-diff-ansi.js +4 -4
- package/core/steps/all/core/00-parse.d.ts +28 -0
- package/core/steps/all/core/00-parse.js +24 -0
- package/core/steps/all/core/10-normalize.d.ts +29 -0
- package/core/steps/all/core/10-normalize.js +26 -0
- package/core/steps/all/core/20-dataflow.d.ts +27 -0
- package/core/steps/all/core/20-dataflow.js +29 -0
- package/core/steps/all/static-slicing/00-slice.d.ts +28 -0
- package/core/steps/all/static-slicing/00-slice.js +21 -0
- package/core/steps/all/static-slicing/10-reconstruct.d.ts +25 -0
- package/core/steps/all/static-slicing/10-reconstruct.js +21 -0
- package/core/steps/pipeline/create-pipeline.d.ts +6 -0
- package/core/steps/pipeline/create-pipeline.js +130 -0
- package/core/steps/pipeline/default-pipelines.d.ts +251 -0
- package/core/steps/pipeline/default-pipelines.js +18 -0
- package/core/steps/pipeline/invalid-pipeline-error.d.ts +6 -0
- package/core/steps/pipeline/invalid-pipeline-error.js +14 -0
- package/core/steps/pipeline/pipeline.d.ts +60 -0
- package/core/steps/pipeline/pipeline.js +28 -0
- package/core/steps/pipeline-step.d.ts +85 -0
- package/core/steps/pipeline-step.js +8 -0
- package/dataflow/environments/append.d.ts +4 -4
- package/dataflow/environments/append.js +4 -4
- package/dataflow/environments/built-in.d.ts +25 -0
- package/dataflow/environments/built-in.js +123 -0
- package/dataflow/environments/clone.d.ts +2 -0
- package/dataflow/environments/clone.js +23 -0
- package/dataflow/environments/{register.d.ts → define.d.ts} +3 -3
- package/dataflow/environments/define.js +51 -0
- package/dataflow/environments/diff.d.ts +6 -0
- package/dataflow/environments/diff.js +85 -0
- package/dataflow/environments/environment.d.ts +10 -43
- package/dataflow/environments/environment.js +32 -138
- package/dataflow/environments/identifier.d.ts +31 -0
- package/dataflow/environments/identifier.js +3 -0
- package/dataflow/environments/overwrite.d.ts +4 -4
- package/dataflow/environments/overwrite.js +9 -22
- package/dataflow/environments/resolve-by-name.d.ts +7 -6
- package/dataflow/environments/resolve-by-name.js +35 -19
- package/dataflow/environments/scoping.js +1 -4
- package/dataflow/extractor.d.ts +6 -6
- package/dataflow/extractor.js +47 -57
- package/dataflow/graph/diff.d.ts +24 -7
- package/dataflow/graph/diff.js +114 -74
- package/dataflow/graph/edge.d.ts +66 -20
- package/dataflow/graph/edge.js +73 -27
- package/dataflow/graph/graph.d.ts +53 -29
- package/dataflow/graph/graph.js +84 -89
- package/dataflow/graph/quads.js +2 -2
- package/dataflow/graph/vertex.d.ts +37 -34
- package/dataflow/info.d.ts +49 -0
- package/dataflow/info.js +29 -0
- package/dataflow/internal/linker.d.ts +11 -10
- package/dataflow/internal/linker.js +64 -90
- package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +6 -0
- package/dataflow/internal/process/functions/call/argument/make-argument.js +31 -0
- package/dataflow/internal/process/functions/call/argument/unpack-argument.d.ts +3 -0
- package/dataflow/internal/process/functions/call/argument/unpack-argument.js +18 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-access.d.ts +9 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-access.js +82 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-assignment.d.ts +29 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-assignment.js +167 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.d.ts +11 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.js +165 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.d.ts +7 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.js +97 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.d.ts +7 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.js +165 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-get.d.ts +7 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-get.js +36 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.d.ts +7 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.js +100 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-library.d.ts +7 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-library.js +32 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-logical-bin-op.d.ts +9 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-logical-bin-op.js +35 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-pipe.d.ts +7 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-pipe.js +35 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-quote.d.ts +9 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-quote.js +29 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.d.ts +7 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +32 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-replacement.d.ts +12 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-replacement.js +45 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-source.d.ts +11 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-source.js +72 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.d.ts +7 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.js +61 -0
- package/dataflow/internal/process/functions/call/common.d.ts +35 -0
- package/dataflow/internal/process/functions/call/common.js +70 -0
- package/dataflow/internal/process/functions/call/default-call-handling.d.ts +5 -0
- package/dataflow/internal/process/functions/call/default-call-handling.js +15 -0
- package/dataflow/internal/process/functions/call/known-call-handling.d.ts +26 -0
- package/dataflow/internal/process/functions/call/known-call-handling.js +62 -0
- package/dataflow/internal/process/functions/call/named-call-handling.d.ts +7 -0
- package/dataflow/internal/process/functions/call/named-call-handling.js +53 -0
- package/dataflow/internal/process/functions/call/unnamed-call-handling.d.ts +6 -0
- package/dataflow/internal/process/functions/call/unnamed-call-handling.js +58 -0
- package/dataflow/internal/process/functions/process-argument.d.ts +9 -0
- package/dataflow/internal/process/functions/{argument.js → process-argument.js} +25 -20
- package/dataflow/internal/process/functions/{parameter.d.ts → process-parameter.d.ts} +3 -2
- package/dataflow/internal/process/functions/{parameter.js → process-parameter.js} +10 -13
- package/dataflow/internal/process/process-named-call.d.ts +6 -0
- package/dataflow/internal/process/process-named-call.js +17 -0
- package/dataflow/internal/process/process-symbol.d.ts +5 -0
- package/dataflow/internal/process/process-symbol.js +26 -0
- package/dataflow/internal/process/process-uninteresting-leaf.d.ts +4 -0
- package/dataflow/internal/process/process-uninteresting-leaf.js +9 -0
- package/dataflow/internal/process/process-value.d.ts +4 -0
- package/dataflow/internal/process/process-value.js +22 -0
- package/dataflow/logger.d.ts +1 -0
- package/dataflow/logger.js +6 -0
- package/dataflow/processor.d.ts +18 -13
- package/dataflow/processor.js +1 -1
- package/package.json +48 -85
- package/r-bridge/data/data.d.ts +603 -0
- package/r-bridge/data/data.js +753 -0
- package/r-bridge/data/get.d.ts +19 -0
- package/r-bridge/data/get.js +51 -0
- package/r-bridge/data/print.d.ts +1 -0
- package/r-bridge/data/print.js +58 -0
- package/r-bridge/data/types.d.ts +33 -0
- package/r-bridge/data/types.js +3 -0
- package/r-bridge/init.d.ts +3 -0
- package/r-bridge/init.js +22 -0
- package/r-bridge/lang-4.x/ast/model/collect.d.ts +2 -1
- package/r-bridge/lang-4.x/ast/model/collect.js +2 -2
- package/r-bridge/lang-4.x/ast/model/model.d.ts +26 -5
- package/r-bridge/lang-4.x/ast/model/nodes/r-access.d.ts +4 -3
- package/r-bridge/lang-4.x/ast/model/nodes/r-argument.d.ts +4 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-binary-op.d.ts +0 -17
- package/r-bridge/lang-4.x/ast/model/nodes/r-expression-list.d.ts +3 -1
- package/r-bridge/lang-4.x/ast/model/nodes/r-function-call.d.ts +6 -4
- package/r-bridge/lang-4.x/ast/model/nodes/r-function-call.js +2 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-function-definition.d.ts +2 -3
- package/r-bridge/lang-4.x/ast/model/nodes/r-number.d.ts +1 -1
- package/r-bridge/lang-4.x/ast/model/nodes/r-string.d.ts +1 -1
- package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.js +2 -2
- package/r-bridge/lang-4.x/ast/model/nodes/r-unary-op.d.ts +0 -11
- package/r-bridge/lang-4.x/ast/model/operators.d.ts +6 -18
- package/r-bridge/lang-4.x/ast/model/operators.js +36 -48
- package/r-bridge/lang-4.x/ast/model/processing/decorate.d.ts +19 -15
- package/r-bridge/lang-4.x/ast/model/processing/decorate.js +59 -54
- package/r-bridge/lang-4.x/ast/model/processing/node-id.d.ts +8 -0
- package/r-bridge/lang-4.x/ast/model/processing/node-id.js +18 -0
- package/r-bridge/lang-4.x/ast/model/processing/role.d.ts +2 -2
- package/r-bridge/lang-4.x/ast/model/processing/stateful-fold.d.ts +28 -17
- package/r-bridge/lang-4.x/ast/model/processing/stateful-fold.js +7 -34
- package/r-bridge/lang-4.x/ast/model/processing/visitor.js +5 -2
- package/r-bridge/lang-4.x/ast/model/type.js +13 -6
- package/r-bridge/lang-4.x/ast/parser/json/format.d.ts +4 -1
- package/r-bridge/lang-4.x/ast/parser/json/format.js +9 -2
- package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +5 -5
- package/r-bridge/lang-4.x/ast/parser/json/parser.js +22 -27
- package/r-bridge/lang-4.x/ast/parser/xml/input-format.d.ts +10 -7
- package/r-bridge/lang-4.x/ast/parser/xml/input-format.js +19 -11
- package/r-bridge/lang-4.x/ast/parser/xml/internal/control/{if-then-else.d.ts → normalize-if-then-else.d.ts} +3 -3
- package/r-bridge/lang-4.x/ast/parser/xml/internal/control/{if-then-else.js → normalize-if-then-else.js} +10 -13
- package/r-bridge/lang-4.x/ast/parser/xml/internal/control/{if-then.d.ts → normalize-if-then.d.ts} +3 -3
- package/r-bridge/lang-4.x/ast/parser/xml/internal/control/{if-then.js → normalize-if-then.js} +9 -12
- package/r-bridge/lang-4.x/ast/parser/xml/internal/expression/normalize-expression.d.ts +10 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/expression/normalize-expression.js +64 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/functions/{argument.d.ts → normalize-argument.d.ts} +4 -4
- package/r-bridge/lang-4.x/ast/parser/xml/internal/functions/{argument.js → normalize-argument.js} +13 -17
- package/r-bridge/lang-4.x/ast/parser/xml/internal/functions/{call.d.ts → normalize-call.d.ts} +6 -4
- package/r-bridge/lang-4.x/ast/parser/xml/internal/functions/{call.js → normalize-call.js} +24 -29
- package/r-bridge/lang-4.x/ast/parser/xml/internal/functions/normalize-definition.d.ts +12 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/functions/{definition.js → normalize-definition.js} +14 -19
- package/r-bridge/lang-4.x/ast/parser/xml/internal/functions/{parameter.d.ts → normalize-parameter.d.ts} +4 -4
- package/r-bridge/lang-4.x/ast/parser/xml/internal/functions/{parameter.js → normalize-parameter.js} +12 -16
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/normalize-break.d.ts +4 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/{break.js → normalize-break.js} +6 -8
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/normalize-for.d.ts +4 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/{for.js → normalize-for.js} +18 -20
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/normalize-next.d.ts +4 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/{next.js → normalize-next.js} +6 -8
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/normalize-repeat.d.ts +13 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/{repeat.js → normalize-repeat.js} +13 -16
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/normalize-while.d.ts +4 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/{while.js → normalize-while.js} +10 -12
- package/r-bridge/lang-4.x/ast/parser/xml/internal/{access.d.ts → normalize-access.d.ts} +4 -4
- package/r-bridge/lang-4.x/ast/parser/xml/internal/{access.js → normalize-access.js} +44 -45
- package/r-bridge/lang-4.x/ast/parser/xml/internal/operators/{binary.d.ts → normalize-binary.d.ts} +3 -3
- package/r-bridge/lang-4.x/ast/parser/xml/internal/operators/{binary.js → normalize-binary.js} +23 -73
- package/r-bridge/lang-4.x/ast/parser/xml/internal/operators/normalize-unary.d.ts +13 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/operators/normalize-unary.js +47 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/other/normalize-comment.d.ts +11 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/other/{comment.js → normalize-comment.js} +5 -10
- package/r-bridge/lang-4.x/ast/parser/xml/internal/other/normalize-line-directive.d.ts +13 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/other/{line-directive.js → normalize-line-directive.js} +7 -12
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/normalize-delimiter.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/normalize-delimiter.js +15 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/normalize-expressions.d.ts +10 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/normalize-expressions.js +182 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/normalize-root.d.ts +4 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/normalize-root.js +34 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/normalize-single-node.d.ts +13 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/normalize-single-node.js +59 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/values/normalize-number.d.ts +16 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/values/{number.js → normalize-number.js} +12 -18
- package/r-bridge/lang-4.x/ast/parser/xml/internal/values/normalize-string.d.ts +11 -0
- package/r-bridge/lang-4.x/ast/parser/xml/internal/values/{string.js → normalize-string.js} +7 -12
- package/r-bridge/lang-4.x/ast/parser/xml/internal/values/{symbol.d.ts → normalize-symbol.d.ts} +4 -4
- package/r-bridge/lang-4.x/ast/parser/xml/internal/values/{symbol.js → normalize-symbol.js} +12 -15
- package/r-bridge/lang-4.x/ast/parser/xml/{internal/meta.d.ts → normalize-meta.d.ts} +5 -3
- package/r-bridge/lang-4.x/ast/parser/xml/{internal/meta.js → normalize-meta.js} +8 -8
- package/r-bridge/lang-4.x/ast/parser/xml/{data.d.ts → normalizer-data.d.ts} +1 -5
- package/r-bridge/lang-4.x/ast/parser/xml/normalizer-data.js +3 -0
- package/r-bridge/lang-4.x/{values.d.ts → convert-values.d.ts} +2 -2
- package/r-bridge/lang-4.x/{values.js → convert-values.js} +5 -5
- package/r-bridge/retriever.d.ts +5 -5
- package/r-bridge/retriever.js +11 -24
- package/r-bridge/shell-executor.d.ts +0 -1
- package/r-bridge/shell-executor.js +7 -12
- package/r-bridge/shell.d.ts +14 -12
- package/r-bridge/shell.js +52 -47
- package/reconstruct/reconstruct.d.ts +4 -2
- package/reconstruct/reconstruct.js +193 -185
- package/slicing/criterion/collect-all.d.ts +4 -3
- package/slicing/criterion/collect-all.js +5 -1
- package/slicing/criterion/filters/all-variables.js +14 -22
- package/slicing/criterion/parse.d.ts +4 -2
- package/slicing/criterion/parse.js +13 -11
- package/slicing/static/fingerprint.d.ts +5 -0
- package/slicing/static/fingerprint.js +17 -0
- package/slicing/static/slice-call.d.ts +10 -0
- package/slicing/static/slice-call.js +86 -0
- package/slicing/static/slicer-types.d.ts +33 -0
- package/slicing/static/slicer-types.js +3 -0
- package/slicing/static/static-slicer.d.ts +6 -24
- package/slicing/static/static-slicer.js +54 -155
- package/slicing/static/visiting-queue.d.ts +23 -0
- package/slicing/static/visiting-queue.js +53 -0
- package/statistics/features/common-syntax-probability.d.ts +29 -0
- package/statistics/features/common-syntax-probability.js +159 -0
- package/statistics/features/feature.d.ts +182 -0
- package/statistics/features/feature.js +39 -0
- package/statistics/features/post-processing.d.ts +12 -0
- package/statistics/features/post-processing.js +21 -0
- package/statistics/features/supported/assignments/assignments.d.ts +12 -0
- package/statistics/features/supported/assignments/assignments.js +55 -0
- package/statistics/features/supported/assignments/post-process.d.ts +3 -0
- package/statistics/features/supported/assignments/post-process.js +124 -0
- package/statistics/features/supported/comments/comments.d.ts +18 -0
- package/statistics/features/supported/comments/comments.js +133 -0
- package/statistics/features/supported/comments/post-process.d.ts +3 -0
- package/statistics/features/supported/comments/post-process.js +49 -0
- package/statistics/features/supported/control-flow/control-flow.d.ts +17 -0
- package/statistics/features/supported/control-flow/control-flow.js +68 -0
- package/statistics/features/supported/control-flow/post-process.d.ts +3 -0
- package/statistics/features/supported/control-flow/post-process.js +64 -0
- package/statistics/features/supported/data-access/data-access.d.ts +15 -0
- package/statistics/features/supported/data-access/data-access.js +120 -0
- package/statistics/features/supported/data-access/post-process.d.ts +3 -0
- package/statistics/features/supported/data-access/post-process.js +106 -0
- package/statistics/features/supported/defined-functions/defined-functions.d.ts +34 -0
- package/statistics/features/supported/defined-functions/defined-functions.js +142 -0
- package/statistics/features/supported/defined-functions/post-process.d.ts +6 -0
- package/statistics/features/supported/defined-functions/post-process.js +169 -0
- package/statistics/features/supported/expression-list/expression-list.d.ts +9 -0
- package/statistics/features/supported/expression-list/expression-list.js +36 -0
- package/statistics/features/supported/expression-list/post-process.d.ts +3 -0
- package/statistics/features/supported/expression-list/post-process.js +43 -0
- package/statistics/features/supported/loops/loops.d.ts +20 -0
- package/statistics/features/supported/loops/loops.js +79 -0
- package/statistics/features/supported/loops/post-process.d.ts +3 -0
- package/statistics/features/supported/loops/post-process.js +71 -0
- package/statistics/features/supported/used-functions/post-process.d.ts +6 -0
- package/statistics/features/supported/used-functions/post-process.js +178 -0
- package/statistics/features/supported/used-functions/used-functions.d.ts +24 -0
- package/statistics/features/supported/used-functions/used-functions.js +97 -0
- package/statistics/features/supported/used-packages/post-process.d.ts +3 -0
- package/statistics/features/supported/used-packages/post-process.js +120 -0
- package/statistics/features/supported/used-packages/used-packages.d.ts +16 -0
- package/statistics/features/supported/used-packages/used-packages.js +130 -0
- package/statistics/features/supported/values/post-process.d.ts +3 -0
- package/statistics/features/supported/values/post-process.js +71 -0
- package/statistics/features/supported/values/values.d.ts +14 -0
- package/statistics/features/supported/values/values.js +101 -0
- package/statistics/features/supported/variables/post-process.d.ts +9 -0
- package/statistics/features/supported/variables/post-process.js +121 -0
- package/statistics/features/supported/variables/variables.d.ts +15 -0
- package/statistics/features/supported/variables/variables.js +60 -0
- package/statistics/meta-statistics.d.ts +33 -0
- package/statistics/meta-statistics.js +17 -0
- package/statistics/output/file-provider.d.ts +37 -0
- package/statistics/output/file-provider.js +97 -0
- package/statistics/output/print-stats.d.ts +17 -0
- package/statistics/output/print-stats.js +69 -0
- package/statistics/output/statistics-file.d.ts +37 -0
- package/statistics/output/statistics-file.js +69 -0
- package/statistics/statistics.d.ts +28 -0
- package/statistics/statistics.js +108 -0
- package/statistics/summarizer/auto-detect.d.ts +2 -0
- package/statistics/summarizer/auto-detect.js +32 -0
- package/statistics/summarizer/first-phase/process.d.ts +6 -0
- package/statistics/summarizer/first-phase/process.js +81 -0
- package/statistics/summarizer/post-process/clusterer.d.ts +26 -0
- package/statistics/summarizer/post-process/clusterer.js +43 -0
- package/statistics/summarizer/post-process/file-based-count.d.ts +17 -0
- package/statistics/summarizer/post-process/file-based-count.js +49 -0
- package/statistics/summarizer/post-process/histogram.d.ts +59 -0
- package/statistics/summarizer/post-process/histogram.js +128 -0
- package/statistics/summarizer/post-process/post-process-output.d.ts +16 -0
- package/statistics/summarizer/post-process/post-process-output.js +105 -0
- package/statistics/summarizer/second-phase/process.d.ts +11 -0
- package/statistics/summarizer/second-phase/process.js +116 -0
- package/statistics/summarizer/summarizer.d.ts +35 -0
- package/statistics/summarizer/summarizer.js +135 -0
- package/util/ansi.d.ts +2 -2
- package/util/ansi.js +2 -2
- package/util/arrays.d.ts +11 -1
- package/util/arrays.js +34 -1
- package/util/assert.d.ts +1 -0
- package/util/assert.js +5 -1
- package/util/cfg/cfg.d.ts +3 -2
- package/util/cfg/cfg.js +17 -28
- package/util/cfg/visitor.d.ts +1 -1
- package/util/defaultmap.d.ts +1 -1
- package/util/defaultmap.js +1 -1
- package/util/diff.d.ts +4 -4
- package/util/files.d.ts +2 -2
- package/util/files.js +1 -1
- package/util/log.d.ts +1 -0
- package/util/log.js +7 -1
- package/util/logic.d.ts +1 -0
- package/util/logic.js +3 -0
- package/util/mermaid/ast.d.ts +1 -1
- package/util/mermaid/ast.js +2 -2
- package/util/mermaid/cfg.d.ts +1 -1
- package/util/mermaid/dfg.d.ts +34 -8
- package/util/mermaid/dfg.js +99 -70
- package/util/mermaid/mermaid.d.ts +1 -1
- package/util/mermaid/mermaid.js +6 -7
- package/util/objects.js +4 -0
- package/util/quads.d.ts +3 -3
- package/util/quads.js +0 -1
- package/util/range.d.ts +27 -14
- package/util/range.js +31 -27
- package/util/version.js +1 -1
- package/core/index.d.ts +0 -4
- package/core/index.js +0 -23
- package/core/input.d.ts +0 -42
- package/core/output.d.ts +0 -15
- package/core/slicer.d.ts +0 -124
- package/core/slicer.js +0 -227
- package/core/steps.d.ts +0 -508
- package/core/steps.js +0 -100
- package/dataflow/environments/index.d.ts +0 -7
- package/dataflow/environments/index.js +0 -23
- package/dataflow/environments/register.js +0 -40
- package/dataflow/environments/scopes.d.ts +0 -6
- package/dataflow/environments/scopes.js +0 -6
- package/dataflow/graph/index.d.ts +0 -4
- package/dataflow/graph/index.js +0 -21
- package/dataflow/index.d.ts +0 -5
- package/dataflow/index.js +0 -24
- package/dataflow/internal/info.d.ts +0 -21
- package/dataflow/internal/info.js +0 -16
- package/dataflow/internal/process/access.d.ts +0 -4
- package/dataflow/internal/process/access.js +0 -53
- package/dataflow/internal/process/expression-list.d.ts +0 -8
- package/dataflow/internal/process/expression-list.js +0 -144
- package/dataflow/internal/process/functions/argument.d.ts +0 -8
- package/dataflow/internal/process/functions/exit-points.d.ts +0 -2
- package/dataflow/internal/process/functions/exit-points.js +0 -121
- package/dataflow/internal/process/functions/function-call.d.ts +0 -5
- package/dataflow/internal/process/functions/function-call.js +0 -105
- package/dataflow/internal/process/functions/function-definition.d.ts +0 -4
- package/dataflow/internal/process/functions/function-definition.js +0 -176
- package/dataflow/internal/process/functions/source.d.ts +0 -8
- package/dataflow/internal/process/functions/source.js +0 -81
- package/dataflow/internal/process/if-then-else.d.ts +0 -4
- package/dataflow/internal/process/if-then-else.js +0 -56
- package/dataflow/internal/process/loops/for-loop.d.ts +0 -4
- package/dataflow/internal/process/loops/for-loop.js +0 -54
- package/dataflow/internal/process/loops/repeat-loop.d.ts +0 -4
- package/dataflow/internal/process/loops/repeat-loop.js +0 -21
- package/dataflow/internal/process/loops/while-loop.d.ts +0 -4
- package/dataflow/internal/process/loops/while-loop.js +0 -31
- package/dataflow/internal/process/operators/assignment.d.ts +0 -4
- package/dataflow/internal/process/operators/assignment.js +0 -129
- package/dataflow/internal/process/operators/non-assignment-binary-op.d.ts +0 -4
- package/dataflow/internal/process/operators/non-assignment-binary-op.js +0 -25
- package/dataflow/internal/process/operators/pipe.d.ts +0 -4
- package/dataflow/internal/process/operators/pipe.js +0 -46
- package/dataflow/internal/process/operators/unary-op.d.ts +0 -4
- package/dataflow/internal/process/operators/unary-op.js +0 -10
- package/dataflow/internal/process/symbol.d.ts +0 -4
- package/dataflow/internal/process/symbol.js +0 -21
- package/dataflow/internal/process/uninteresting-leaf.d.ts +0 -3
- package/dataflow/internal/process/uninteresting-leaf.js +0 -9
- package/index.d.ts +0 -4
- package/index.js +0 -21
- package/r-bridge/index.d.ts +0 -11
- package/r-bridge/index.js +0 -28
- package/r-bridge/lang-4.x/ast/index.d.ts +0 -3
- package/r-bridge/lang-4.x/ast/index.js +0 -22
- package/r-bridge/lang-4.x/ast/model/index.d.ts +0 -6
- package/r-bridge/lang-4.x/ast/model/index.js +0 -23
- package/r-bridge/lang-4.x/ast/model/nodes/index.d.ts +0 -21
- package/r-bridge/lang-4.x/ast/model/nodes/index.js +0 -38
- package/r-bridge/lang-4.x/ast/model/nodes/info/index.d.ts +0 -13
- package/r-bridge/lang-4.x/ast/model/nodes/info/index.js +0 -27
- package/r-bridge/lang-4.x/ast/model/processing/index.d.ts +0 -5
- package/r-bridge/lang-4.x/ast/model/processing/index.js +0 -22
- package/r-bridge/lang-4.x/ast/parser/xml/hooks.d.ts +0 -292
- package/r-bridge/lang-4.x/ast/parser/xml/hooks.js +0 -136
- package/r-bridge/lang-4.x/ast/parser/xml/index.d.ts +0 -3
- package/r-bridge/lang-4.x/ast/parser/xml/index.js +0 -20
- package/r-bridge/lang-4.x/ast/parser/xml/internal/control/index.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/xml/internal/control/index.js +0 -19
- package/r-bridge/lang-4.x/ast/parser/xml/internal/expression/expression.d.ts +0 -10
- package/r-bridge/lang-4.x/ast/parser/xml/internal/expression/expression.js +0 -65
- package/r-bridge/lang-4.x/ast/parser/xml/internal/expression/index.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/xml/internal/expression/index.js +0 -18
- package/r-bridge/lang-4.x/ast/parser/xml/internal/functions/definition.d.ts +0 -12
- package/r-bridge/lang-4.x/ast/parser/xml/internal/functions/index.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/xml/internal/functions/index.js +0 -20
- package/r-bridge/lang-4.x/ast/parser/xml/internal/index.d.ts +0 -9
- package/r-bridge/lang-4.x/ast/parser/xml/internal/index.js +0 -26
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/break.d.ts +0 -4
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/for.d.ts +0 -4
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/index.d.ts +0 -5
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/index.js +0 -22
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/next.d.ts +0 -4
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/repeat.d.ts +0 -13
- package/r-bridge/lang-4.x/ast/parser/xml/internal/loops/while.d.ts +0 -4
- package/r-bridge/lang-4.x/ast/parser/xml/internal/operators/index.d.ts +0 -3
- package/r-bridge/lang-4.x/ast/parser/xml/internal/operators/index.js +0 -20
- package/r-bridge/lang-4.x/ast/parser/xml/internal/operators/special.d.ts +0 -6
- package/r-bridge/lang-4.x/ast/parser/xml/internal/operators/special.js +0 -24
- package/r-bridge/lang-4.x/ast/parser/xml/internal/operators/unary.d.ts +0 -13
- package/r-bridge/lang-4.x/ast/parser/xml/internal/operators/unary.js +0 -59
- package/r-bridge/lang-4.x/ast/parser/xml/internal/other/comment.d.ts +0 -11
- package/r-bridge/lang-4.x/ast/parser/xml/internal/other/index.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/xml/internal/other/index.js +0 -18
- package/r-bridge/lang-4.x/ast/parser/xml/internal/other/line-directive.d.ts +0 -12
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/elements.d.ts +0 -10
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/elements.js +0 -159
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/index.d.ts +0 -3
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/index.js +0 -20
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/root.d.ts +0 -4
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/root.js +0 -33
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/single-element.d.ts +0 -13
- package/r-bridge/lang-4.x/ast/parser/xml/internal/structure/single-element.js +0 -64
- package/r-bridge/lang-4.x/ast/parser/xml/internal/values/index.d.ts +0 -3
- package/r-bridge/lang-4.x/ast/parser/xml/internal/values/index.js +0 -20
- package/r-bridge/lang-4.x/ast/parser/xml/internal/values/number.d.ts +0 -13
- package/r-bridge/lang-4.x/ast/parser/xml/internal/values/string.d.ts +0 -11
- package/r-bridge/lang-4.x/index.d.ts +0 -2
- package/r-bridge/lang-4.x/index.js +0 -19
- package/slicing/criterion/filters/index.d.ts +0 -1
- package/slicing/criterion/filters/index.js +0 -18
- package/slicing/criterion/index.d.ts +0 -3
- package/slicing/criterion/index.js +0 -20
- package/slicing/index.d.ts +0 -3
- package/slicing/index.js +0 -20
- package/slicing/static/index.d.ts +0 -1
- package/slicing/static/index.js +0 -18
- package/util/mermaid/index.d.ts +0 -3
- package/util/mermaid/index.js +0 -20
- /package/{r-bridge/lang-4.x/ast/parser/xml → benchmark/summarizer}/data.js +0 -0
|
@@ -0,0 +1,603 @@
|
|
|
1
|
+
export declare const flowrCapabilities: {
|
|
2
|
+
readonly name: "Capabilities of flowR";
|
|
3
|
+
readonly description: "This is an evolving representation of what started with #636 to formulate capabilities in a structured format.";
|
|
4
|
+
readonly version: "0.0.1";
|
|
5
|
+
readonly capabilities: readonly [{
|
|
6
|
+
readonly name: "Names and Identifiers";
|
|
7
|
+
readonly id: "names-and-identifiers";
|
|
8
|
+
readonly capabilities: readonly [{
|
|
9
|
+
readonly name: "Form";
|
|
10
|
+
readonly id: "form";
|
|
11
|
+
readonly capabilities: readonly [{
|
|
12
|
+
readonly name: "Normal";
|
|
13
|
+
readonly id: "name-normal";
|
|
14
|
+
readonly supported: "fully";
|
|
15
|
+
readonly description: "_Recognize constructs like `a`, `plot`, ..._";
|
|
16
|
+
}, {
|
|
17
|
+
readonly name: "Quoted";
|
|
18
|
+
readonly id: "name-quoted";
|
|
19
|
+
readonly supported: "fully";
|
|
20
|
+
readonly description: "_Recognize `\"a\"`, `'plot'`, ..._";
|
|
21
|
+
}, {
|
|
22
|
+
readonly name: "Escaped";
|
|
23
|
+
readonly id: "name-escaped";
|
|
24
|
+
readonly supported: "fully";
|
|
25
|
+
readonly description: "_Recognize `` `a` ``, `` `plot` ``, ..._";
|
|
26
|
+
}];
|
|
27
|
+
}, {
|
|
28
|
+
readonly name: "Resolution";
|
|
29
|
+
readonly id: "resolution";
|
|
30
|
+
readonly capabilities: readonly [{
|
|
31
|
+
readonly name: "Global Scope";
|
|
32
|
+
readonly id: "global-scope";
|
|
33
|
+
readonly supported: "fully";
|
|
34
|
+
readonly description: "_For example, tracking a big table of current identifier bindings_";
|
|
35
|
+
}, {
|
|
36
|
+
readonly name: "Lexicographic Scope";
|
|
37
|
+
readonly id: "lexicographic-scope";
|
|
38
|
+
readonly supported: "fully";
|
|
39
|
+
readonly description: "_For example, support function definition scopes_";
|
|
40
|
+
}, {
|
|
41
|
+
readonly name: "Closures";
|
|
42
|
+
readonly id: "closures";
|
|
43
|
+
readonly supported: "partially";
|
|
44
|
+
readonly description: "_Handling [function factories](https://adv-r.hadley.nz/function-factories.html) and friends._ Currently, we do not have enough tests to be sure.";
|
|
45
|
+
}, {
|
|
46
|
+
readonly name: "Dynamic Environment Resolution";
|
|
47
|
+
readonly id: "dynamic-environment-resolution";
|
|
48
|
+
readonly supported: "not";
|
|
49
|
+
readonly description: "_For example, using `new.env` and friends_";
|
|
50
|
+
}, {
|
|
51
|
+
readonly name: "Environment Sharing";
|
|
52
|
+
readonly id: "environment-sharing";
|
|
53
|
+
readonly supported: "not";
|
|
54
|
+
readonly description: "_Handling side-effects by environments which are not copied when modified_";
|
|
55
|
+
}, {
|
|
56
|
+
readonly name: "Search Path";
|
|
57
|
+
readonly id: "search-path";
|
|
58
|
+
readonly supported: "not";
|
|
59
|
+
readonly description: "_Handling [R's search path](https://cran.r-project.org/doc/manuals/r-release/R-lang.html#Search-path) as explained in [Advanced R](https://adv-r.hadley.nz/environments.html#search-path)._ Currently, _flowR_ does not support dynamic modifications with `attach`, `search`, or `fn_env` and tests are definitely missing. Yet, theoretically, the tooling is all there.";
|
|
60
|
+
}, {
|
|
61
|
+
readonly name: "Namespaces";
|
|
62
|
+
readonly id: "namespaces";
|
|
63
|
+
readonly supported: "not";
|
|
64
|
+
readonly description: "_Handling R's namespaces as explained in [Advanced R](https://adv-r.hadley.nz/environments.html#namespaces)_";
|
|
65
|
+
}, {
|
|
66
|
+
readonly name: "Accessing Exported Names";
|
|
67
|
+
readonly id: "accessing-exported-names";
|
|
68
|
+
readonly supported: "partially";
|
|
69
|
+
readonly description: "_Resolving calls with `::` to their origin._ Accessing external files is allowed, although the name of packages etc. is not resolved correctly.";
|
|
70
|
+
}, {
|
|
71
|
+
readonly name: "Accessing Internal Names";
|
|
72
|
+
readonly id: "accessing-internal-names";
|
|
73
|
+
readonly supported: "not";
|
|
74
|
+
readonly description: "_Similar to `::` but for internal names._";
|
|
75
|
+
}, {
|
|
76
|
+
readonly name: "Library Loading";
|
|
77
|
+
readonly id: "library-loading";
|
|
78
|
+
readonly supported: "not";
|
|
79
|
+
readonly description: "_Resolve libraries identified with `library`, `require`, `attachNamespace`, ... and attach them to the search path_";
|
|
80
|
+
}];
|
|
81
|
+
}];
|
|
82
|
+
}, {
|
|
83
|
+
readonly name: "Expressions";
|
|
84
|
+
readonly id: "expressions";
|
|
85
|
+
readonly capabilities: readonly [{
|
|
86
|
+
readonly name: "Function Calls";
|
|
87
|
+
readonly id: "function-calls";
|
|
88
|
+
readonly capabilities: readonly [{
|
|
89
|
+
readonly name: "Grouping";
|
|
90
|
+
readonly id: "grouping";
|
|
91
|
+
readonly supported: "fully";
|
|
92
|
+
readonly description: "_Recognize groups done with `(`, `{`, ... (more precisely, their default mapping to the primitive implementations)._";
|
|
93
|
+
}, {
|
|
94
|
+
readonly name: "Normal Call";
|
|
95
|
+
readonly id: "call-normal";
|
|
96
|
+
readonly supported: "fully";
|
|
97
|
+
readonly description: "_Recognize and resolve calls like `f(x)`, `foo::bar(x, y)`, ..._";
|
|
98
|
+
readonly capabilities: readonly [{
|
|
99
|
+
readonly name: "Unnamed Arguments";
|
|
100
|
+
readonly id: "unnamed-arguments";
|
|
101
|
+
readonly supported: "fully";
|
|
102
|
+
readonly description: "_Recognize and resolve calls like `f(3)`, `foo::bar(3, c(1,2))`, ..._";
|
|
103
|
+
}, {
|
|
104
|
+
readonly name: "Empty Arguments";
|
|
105
|
+
readonly id: "empty-arguments";
|
|
106
|
+
readonly supported: "fully";
|
|
107
|
+
readonly description: "_Essentially a special form of an unnamed argument as in `foo::bar(3, ,42)`, ..._";
|
|
108
|
+
}, {
|
|
109
|
+
readonly name: "Named Arguments";
|
|
110
|
+
readonly id: "named-arguments";
|
|
111
|
+
readonly supported: "fully";
|
|
112
|
+
readonly description: "_Recognize and resolve calls like `f(x = 3)`, `foo::bar(x = 3, y = 4)`, ..._";
|
|
113
|
+
}, {
|
|
114
|
+
readonly name: "String Arguments";
|
|
115
|
+
readonly id: "string-arguments";
|
|
116
|
+
readonly supported: "fully";
|
|
117
|
+
readonly description: "_Recognize and resolve calls like `f('x' = 3)`, `foo::bar('x' = 3, \"y\" = 4)`, ..._";
|
|
118
|
+
}, {
|
|
119
|
+
readonly name: "Resolve Arguments";
|
|
120
|
+
readonly id: "resolve-arguments";
|
|
121
|
+
readonly supported: "partially";
|
|
122
|
+
readonly description: "_Correctly bind arguments (including [`pmatch`](https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/pmatch))._ Currently, we do not have a correct implementation for `pmatch`. Furthermore, more tests would be nice.";
|
|
123
|
+
}, {
|
|
124
|
+
readonly name: "Side-Effects in Argument";
|
|
125
|
+
readonly id: "side-effects-in-argument";
|
|
126
|
+
readonly supported: "partially";
|
|
127
|
+
readonly description: "_Handle side-effects of arguments (e.g., `f(x <- 3)`, `f(x = y <- 3)`, ...)._ We have not enough tests to be sure";
|
|
128
|
+
}, {
|
|
129
|
+
readonly name: "Side-Effects in Function Call";
|
|
130
|
+
readonly id: "side-effects-in-function-call";
|
|
131
|
+
readonly supported: "partially";
|
|
132
|
+
readonly description: "_Handle side-effects of function calls (e.g., `setXTo(3)`, ...) for example achieved with the super assignment._ We need more tests and handlings. Furthermore, we do not detect side effects with external files, network, logging, etc.";
|
|
133
|
+
}];
|
|
134
|
+
}, {
|
|
135
|
+
readonly name: "Anonymous Calls";
|
|
136
|
+
readonly id: "call-anonymous";
|
|
137
|
+
readonly supported: "fully";
|
|
138
|
+
readonly description: "_Recognize and resolve calls like `(function(x) x)(3)`, `factory(0)()`, ..._";
|
|
139
|
+
}, {
|
|
140
|
+
readonly name: "Infix Calls";
|
|
141
|
+
readonly id: "infix-calls";
|
|
142
|
+
readonly supported: "fully";
|
|
143
|
+
readonly description: "_Recognize and resolve calls like `x + y`, `x %>% f(y)`, ..._";
|
|
144
|
+
}, {
|
|
145
|
+
readonly name: "Redefinition of Built-In Functions/primitives";
|
|
146
|
+
readonly id: "redefinition-of-built-in-functions-primitives";
|
|
147
|
+
readonly supported: "partially";
|
|
148
|
+
readonly description: "_Handle cases like `print <- function(x) x`, `` `for` <- function(a,b,c) a``, ..._ Currently, we can not handle all of them there are no tests. Still wip as part of desugaring";
|
|
149
|
+
}, {
|
|
150
|
+
readonly name: "Index Access";
|
|
151
|
+
readonly id: "index-access";
|
|
152
|
+
readonly capabilities: readonly [{
|
|
153
|
+
readonly name: "Single Bracket Access";
|
|
154
|
+
readonly id: "single-bracket-access";
|
|
155
|
+
readonly supported: "fully";
|
|
156
|
+
readonly description: "_Detect calls like `x[i]`, `x[i, ,b]`, `x[3][y]`, ... This does not include the real separation of cells, which is handled extra._";
|
|
157
|
+
}, {
|
|
158
|
+
readonly name: "Double Bracket Access";
|
|
159
|
+
readonly id: "double-bracket-access";
|
|
160
|
+
readonly supported: "fully";
|
|
161
|
+
readonly description: "_Detect calls like `x[[i]]`, `x[[i, b]]`, ... Similar to single bracket._";
|
|
162
|
+
}, {
|
|
163
|
+
readonly name: "Dollar Access";
|
|
164
|
+
readonly id: "dollar-access";
|
|
165
|
+
readonly supported: "fully";
|
|
166
|
+
readonly description: "_Detect calls like `x$y`, `x$\"y\"`, `x$y$z`, ..._";
|
|
167
|
+
}, {
|
|
168
|
+
readonly name: "Slot Access";
|
|
169
|
+
readonly id: "slot-access";
|
|
170
|
+
readonly supported: "fully";
|
|
171
|
+
readonly description: "_Detect calls like `x@y`, `x@y@z`, ..._";
|
|
172
|
+
}, {
|
|
173
|
+
readonly name: "Access with Argument-Names";
|
|
174
|
+
readonly id: "access-with-argument-names";
|
|
175
|
+
readonly supported: "fully";
|
|
176
|
+
readonly description: "_Detect calls like `x[i = 3]`, `x[[i=]]`, ..._";
|
|
177
|
+
}, {
|
|
178
|
+
readonly name: "Access with Empty";
|
|
179
|
+
readonly id: "access-with-empty";
|
|
180
|
+
readonly supported: "fully";
|
|
181
|
+
readonly description: "_Detect calls like `x[]`, `x[2,,42]`, ..._";
|
|
182
|
+
}, {
|
|
183
|
+
readonly name: "Subsetting";
|
|
184
|
+
readonly id: "subsetting";
|
|
185
|
+
readonly supported: "fully";
|
|
186
|
+
readonly description: "_Detect calls like `x[i > 3]`, `x[c(1,3)]`, ..._";
|
|
187
|
+
}];
|
|
188
|
+
}, {
|
|
189
|
+
readonly name: "Operators";
|
|
190
|
+
readonly id: "operators";
|
|
191
|
+
readonly capabilities: readonly [{
|
|
192
|
+
readonly name: "Unary Operator";
|
|
193
|
+
readonly id: "unary-operator";
|
|
194
|
+
readonly supported: "fully";
|
|
195
|
+
readonly description: "_Recognize and resolve calls like `+3`, `-3`, ..._";
|
|
196
|
+
}, {
|
|
197
|
+
readonly name: "Binary Operator";
|
|
198
|
+
readonly id: "binary-operator";
|
|
199
|
+
readonly supported: "fully";
|
|
200
|
+
readonly description: "_Recognize and resolve calls like `3 + 4`, `3 * 4`, ..._";
|
|
201
|
+
readonly capabilities: readonly [{
|
|
202
|
+
readonly name: "Special Operator";
|
|
203
|
+
readonly id: "special-operator";
|
|
204
|
+
readonly supported: "fully";
|
|
205
|
+
readonly description: "_Recognize and resolve calls like `3 %in% 4`, `3 %*% 4`, ..._";
|
|
206
|
+
}, {
|
|
207
|
+
readonly name: "Model Formula";
|
|
208
|
+
readonly id: "model-formula";
|
|
209
|
+
readonly supported: "partially";
|
|
210
|
+
readonly description: "_Recognize and resolve calls like `y ~ x`, `y ~ x + z`, ... including their implicit redefinitions of some functions._ Currently, we do not handle their redefinition and only treat model formulas as normal binary operators";
|
|
211
|
+
}, {
|
|
212
|
+
readonly name: "Assignments and Bindings";
|
|
213
|
+
readonly id: "assignments-and-bindings";
|
|
214
|
+
readonly capabilities: readonly [{
|
|
215
|
+
readonly name: "Local Left Assignment";
|
|
216
|
+
readonly id: "local-left-assignment";
|
|
217
|
+
readonly supported: "fully";
|
|
218
|
+
readonly description: "_Handle `x <- 3`, `x$y <- 3`, ..._";
|
|
219
|
+
}, {
|
|
220
|
+
readonly name: "Local Right Assignment";
|
|
221
|
+
readonly id: "local-right-assignment";
|
|
222
|
+
readonly supported: "fully";
|
|
223
|
+
readonly description: "_Handle `3 -> x`, `3 -> x$y`, ..._";
|
|
224
|
+
}, {
|
|
225
|
+
readonly name: "Local Equal Assignment";
|
|
226
|
+
readonly id: "local-equal-assignment";
|
|
227
|
+
readonly supported: "fully";
|
|
228
|
+
readonly description: "_Handle `x = 3`, `x$y := 3`, ..._";
|
|
229
|
+
}, {
|
|
230
|
+
readonly name: "Super Left Assignment";
|
|
231
|
+
readonly id: "super-left-assignment";
|
|
232
|
+
readonly supported: "fully";
|
|
233
|
+
readonly description: "_Handle `x <<- 42`, `x$y <<- 42`, ..._";
|
|
234
|
+
}, {
|
|
235
|
+
readonly name: "Super Right Assignment";
|
|
236
|
+
readonly id: "super-right-assignment";
|
|
237
|
+
readonly supported: "fully";
|
|
238
|
+
readonly description: "_Handle `42 ->> x`, `42 ->> x$y`, ..._";
|
|
239
|
+
}, {
|
|
240
|
+
readonly name: "Return Value of Assignments";
|
|
241
|
+
readonly id: "return-value-of-assignments";
|
|
242
|
+
readonly supported: "fully";
|
|
243
|
+
readonly description: "_Handle `x <- 3` returning `3`, e.g., in `x <- y <- 3`_";
|
|
244
|
+
}, {
|
|
245
|
+
readonly name: "Assignment Functions";
|
|
246
|
+
readonly id: "assignment-functions";
|
|
247
|
+
readonly supported: "partially";
|
|
248
|
+
readonly description: "_Handle `assign(x, 3)`, `delayedAssign(x, 3)`, ..._ Currently we can not handle all of them and tests are rare.";
|
|
249
|
+
}, {
|
|
250
|
+
readonly name: "Range Assignment";
|
|
251
|
+
readonly id: "range-assignment";
|
|
252
|
+
readonly supported: "fully";
|
|
253
|
+
readonly description: "_Handle `x[1:3] <- 3`, `x$y[1:3] <- 3`, ..._";
|
|
254
|
+
}, {
|
|
255
|
+
readonly name: "Replacement Functions";
|
|
256
|
+
readonly id: "replacement-functions";
|
|
257
|
+
readonly supported: "partially";
|
|
258
|
+
readonly description: "_Handle `x[i] <- 3`, `x$y <- 3`, ... as `` `[<-`(x, 3) ``, ..._ Currently work in progress as part of the desugaring but still untested.";
|
|
259
|
+
}, {
|
|
260
|
+
readonly name: "Locked Bindings";
|
|
261
|
+
readonly id: "locked-bindings";
|
|
262
|
+
readonly supported: "not";
|
|
263
|
+
readonly description: "_Handle `lockBinding(x, 3)`, ..._";
|
|
264
|
+
}];
|
|
265
|
+
}];
|
|
266
|
+
}];
|
|
267
|
+
}, {
|
|
268
|
+
readonly name: "Control-Flow";
|
|
269
|
+
readonly id: "control-flow";
|
|
270
|
+
readonly capabilities: readonly [{
|
|
271
|
+
readonly name: "if";
|
|
272
|
+
readonly id: "if";
|
|
273
|
+
readonly supported: "fully";
|
|
274
|
+
readonly description: "_Handle `if (x) y else z`, `if (x) y`, ..._";
|
|
275
|
+
}, {
|
|
276
|
+
readonly name: "for loop";
|
|
277
|
+
readonly id: "for-loop";
|
|
278
|
+
readonly supported: "fully";
|
|
279
|
+
readonly description: "_Handle `for (i in 1:3) print(i)`, ..._";
|
|
280
|
+
}, {
|
|
281
|
+
readonly name: "while loop";
|
|
282
|
+
readonly id: "while-loop";
|
|
283
|
+
readonly supported: "fully";
|
|
284
|
+
readonly description: "_Handle `while (x) b`, ..._";
|
|
285
|
+
}, {
|
|
286
|
+
readonly name: "repeat loop";
|
|
287
|
+
readonly id: "repeat-loop";
|
|
288
|
+
readonly supported: "fully";
|
|
289
|
+
readonly description: "_Handle `repeat {b; if (x) break}`, ..._";
|
|
290
|
+
}, {
|
|
291
|
+
readonly name: "break";
|
|
292
|
+
readonly id: "break";
|
|
293
|
+
readonly supported: "fully";
|
|
294
|
+
readonly description: "_Handle `break` (including `break()`) ..._";
|
|
295
|
+
}, {
|
|
296
|
+
readonly name: "next";
|
|
297
|
+
readonly id: "next";
|
|
298
|
+
readonly supported: "fully";
|
|
299
|
+
readonly description: "_Handle `next` (including `next()`) ..._";
|
|
300
|
+
}, {
|
|
301
|
+
readonly name: "switch";
|
|
302
|
+
readonly id: "switch";
|
|
303
|
+
readonly supported: "fully";
|
|
304
|
+
readonly description: "_Handle `switch(3, \"a\", \"b\", \"c\")`, ..._";
|
|
305
|
+
}, {
|
|
306
|
+
readonly name: "return";
|
|
307
|
+
readonly id: "return";
|
|
308
|
+
readonly supported: "fully";
|
|
309
|
+
readonly description: "_Handle `return(3)`, ... in function definitions_";
|
|
310
|
+
}, {
|
|
311
|
+
readonly name: "exceptions";
|
|
312
|
+
readonly id: "exceptions";
|
|
313
|
+
readonly supported: "not";
|
|
314
|
+
readonly description: "_Handle `try`, `stop`, ..._";
|
|
315
|
+
}];
|
|
316
|
+
}, {
|
|
317
|
+
readonly name: "Function Definitions";
|
|
318
|
+
readonly id: "function-definitions";
|
|
319
|
+
readonly capabilities: readonly [{
|
|
320
|
+
readonly name: "Normal";
|
|
321
|
+
readonly id: "normal-definition";
|
|
322
|
+
readonly supported: "fully";
|
|
323
|
+
readonly description: "_Handle `function() 3`, ..._";
|
|
324
|
+
}, {
|
|
325
|
+
readonly name: "Formals";
|
|
326
|
+
readonly id: "formals";
|
|
327
|
+
readonly capabilities: readonly [{
|
|
328
|
+
readonly name: "Named";
|
|
329
|
+
readonly id: "formals-named";
|
|
330
|
+
readonly supported: "fully";
|
|
331
|
+
readonly description: "_Handle `function(x) x`, ..._";
|
|
332
|
+
}, {
|
|
333
|
+
readonly name: "Default";
|
|
334
|
+
readonly id: "formals-default";
|
|
335
|
+
readonly supported: "fully";
|
|
336
|
+
readonly description: "_Handle `function(x = 3) x`, ..._";
|
|
337
|
+
}, {
|
|
338
|
+
readonly name: "Dot-Dot-Dot";
|
|
339
|
+
readonly id: "formals-dot-dot-dot";
|
|
340
|
+
readonly supported: "fully";
|
|
341
|
+
readonly description: "_Handle `function(...) 3`, ..._";
|
|
342
|
+
}, {
|
|
343
|
+
readonly name: "Promises";
|
|
344
|
+
readonly id: "formals-promises";
|
|
345
|
+
readonly supported: "partially";
|
|
346
|
+
readonly description: "_Handle `function(x = y) { y <- 3; x }`, `function(x = { x <- 3; x}) { x * x }`, ..._ We _try_ to identify promises correctly but this is really rudimentary.";
|
|
347
|
+
}];
|
|
348
|
+
}, {
|
|
349
|
+
readonly name: "Implicit Return";
|
|
350
|
+
readonly id: "implicit-return";
|
|
351
|
+
readonly supported: "fully";
|
|
352
|
+
readonly description: "_Handle the return of `function() 3`, ..._";
|
|
353
|
+
}, {
|
|
354
|
+
readonly name: "Lambda Syntax";
|
|
355
|
+
readonly id: "lambda-syntax";
|
|
356
|
+
readonly supported: "fully";
|
|
357
|
+
readonly description: "_Support `\\(x) x`, ..._";
|
|
358
|
+
}];
|
|
359
|
+
}, {
|
|
360
|
+
readonly name: "Important Built-Ins";
|
|
361
|
+
readonly id: "important-built-ins";
|
|
362
|
+
readonly capabilities: readonly [{
|
|
363
|
+
readonly name: "Non-Strict Logical Operators";
|
|
364
|
+
readonly id: "non-strict-logical-operators";
|
|
365
|
+
readonly supported: "fully";
|
|
366
|
+
readonly description: "_Handle `&&`, `||`, ..._";
|
|
367
|
+
}, {
|
|
368
|
+
readonly name: "Pipe and Pipe-Bind";
|
|
369
|
+
readonly id: "built-in-pipe-and-pipe-bind";
|
|
370
|
+
readonly supported: "partially";
|
|
371
|
+
readonly description: "_Handle the [new (4.1) pipe and pipe-bind syntax](https://www.r-bloggers.com/2021/05/the-new-r-pipe/): `|>`, and `=>`._ We have not enough tests and do not support pipe-bind.";
|
|
372
|
+
}, {
|
|
373
|
+
readonly name: "Sequencing";
|
|
374
|
+
readonly id: "built-in-sequencing";
|
|
375
|
+
readonly supported: "not";
|
|
376
|
+
readonly description: "_Handle `:`, `seq`, ... as they are used often._";
|
|
377
|
+
}, {
|
|
378
|
+
readonly name: "Internal and Primitive Functions";
|
|
379
|
+
readonly id: "built-in-internal-and-primitive-functions";
|
|
380
|
+
readonly supported: "not";
|
|
381
|
+
readonly description: "_Handle `.Internal`, `.Primitive`, ..._ In general we can not handle them as they refer to non-R code. We currently do not support them when used with the function.";
|
|
382
|
+
}, {
|
|
383
|
+
readonly name: "Options";
|
|
384
|
+
readonly id: "built-in-options";
|
|
385
|
+
readonly supported: "not";
|
|
386
|
+
readonly description: "_Handle `options`, `getOption`, ..._ Currently, we do not support the function at all.";
|
|
387
|
+
}, {
|
|
388
|
+
readonly name: "Help";
|
|
389
|
+
readonly id: "built-in-help";
|
|
390
|
+
readonly supported: "partially";
|
|
391
|
+
readonly description: "_Handle `help`, `?`, ..._ We do not support the function in a sensible way but just ignore it (although this does not happen resolved).";
|
|
392
|
+
}, {
|
|
393
|
+
readonly name: "Reflection / \"Computing on the Language\"";
|
|
394
|
+
readonly id: "reflection-\"computing-on-the-language\"";
|
|
395
|
+
readonly capabilities: readonly [{
|
|
396
|
+
readonly name: "Get Function Structure";
|
|
397
|
+
readonly id: "get-function-structure";
|
|
398
|
+
readonly supported: "not";
|
|
399
|
+
readonly description: "_Handle `body`, `formals`, `environment` to access the respective parts of a function._ We do not support the functions at all.";
|
|
400
|
+
}, {
|
|
401
|
+
readonly name: "Modify Function Structure";
|
|
402
|
+
readonly id: "modify-function-structure";
|
|
403
|
+
readonly supported: "not";
|
|
404
|
+
readonly description: "_Handle `body<-`, `formals<-`, `environment<-` to modify the respective parts of a function._ We do not support the functions at all.";
|
|
405
|
+
}, {
|
|
406
|
+
readonly name: "Quoting";
|
|
407
|
+
readonly id: "built-in-quoting";
|
|
408
|
+
readonly supported: "partially";
|
|
409
|
+
readonly description: "_Handle `quote`, `substitute`, `bquote`, ..._ We partially ignore some of them but most likely not all.";
|
|
410
|
+
}, {
|
|
411
|
+
readonly name: "Evaluation";
|
|
412
|
+
readonly id: "built-in-evaluation";
|
|
413
|
+
readonly supported: "not";
|
|
414
|
+
readonly description: "_Handle `eval`, `evalq`, `eval.parent`, ..._ We do not handle them at all.";
|
|
415
|
+
}, {
|
|
416
|
+
readonly name: "Parsing";
|
|
417
|
+
readonly id: "built-in-parsing";
|
|
418
|
+
readonly supported: "not";
|
|
419
|
+
readonly description: "_Handle `parse`, `deparse`, ..._ We handle them as unknown function calls, but not specifically besides that.";
|
|
420
|
+
}];
|
|
421
|
+
}];
|
|
422
|
+
}];
|
|
423
|
+
}, {
|
|
424
|
+
readonly name: "Literal Values";
|
|
425
|
+
readonly id: "literal-values";
|
|
426
|
+
readonly capabilities: readonly [{
|
|
427
|
+
readonly name: "Numbers";
|
|
428
|
+
readonly id: "numbers";
|
|
429
|
+
readonly supported: "fully";
|
|
430
|
+
readonly description: "_Recognize numbers like `3`, `3.14`, `NA`, float-hex, ..._";
|
|
431
|
+
}, {
|
|
432
|
+
readonly name: "Strings";
|
|
433
|
+
readonly id: "strings";
|
|
434
|
+
readonly supported: "fully";
|
|
435
|
+
readonly description: "_Recognize strings like `\"a\"`, `'b'`, ..._";
|
|
436
|
+
readonly capabilities: readonly [{
|
|
437
|
+
readonly name: "Raw Strings";
|
|
438
|
+
readonly id: "raw-strings";
|
|
439
|
+
readonly supported: "fully";
|
|
440
|
+
readonly description: "_Recognize raw strings like `r\"(a)\"`, ..._";
|
|
441
|
+
}];
|
|
442
|
+
}, {
|
|
443
|
+
readonly name: "Logical";
|
|
444
|
+
readonly id: "logical";
|
|
445
|
+
readonly supported: "fully";
|
|
446
|
+
readonly description: "_Recognize the logicals `TRUE` and `FALSE`, ..._";
|
|
447
|
+
}, {
|
|
448
|
+
readonly name: "NULL";
|
|
449
|
+
readonly id: "null";
|
|
450
|
+
readonly supported: "fully";
|
|
451
|
+
readonly description: "_Recognize `NULL`_";
|
|
452
|
+
}, {
|
|
453
|
+
readonly name: "Inf and NaN";
|
|
454
|
+
readonly id: "inf-and-nan";
|
|
455
|
+
readonly supported: "fully";
|
|
456
|
+
readonly description: "_Recognize `Inf` and `NaN`_";
|
|
457
|
+
}];
|
|
458
|
+
}];
|
|
459
|
+
}, {
|
|
460
|
+
readonly name: "Non-Standard Evaluations/Semantics";
|
|
461
|
+
readonly id: "non-standard-evaluations-semantics";
|
|
462
|
+
readonly capabilities: readonly [{
|
|
463
|
+
readonly name: "Recycling";
|
|
464
|
+
readonly id: "recycling";
|
|
465
|
+
readonly supported: "not";
|
|
466
|
+
readonly description: "_Handle recycling of vectors as explained in [Advanced R](https://adv-r.hadley.nz/vectors-chap.html)._ We do not support recycling.";
|
|
467
|
+
}, {
|
|
468
|
+
readonly name: "Vectorized Operator or Functions";
|
|
469
|
+
readonly id: "vectorized-operator-or-functions";
|
|
470
|
+
readonly supported: "not";
|
|
471
|
+
readonly description: "_Handle vectorized operations as explained in [Advanced R](https://adv-r.hadley.nz/perf-improve.html?q=vectorised#vectorise)._ We do not support vectorized operations.";
|
|
472
|
+
}, {
|
|
473
|
+
readonly name: "Hooks";
|
|
474
|
+
readonly id: "hooks";
|
|
475
|
+
readonly supported: "not";
|
|
476
|
+
readonly description: "_Handle hooks like [`userhooks`](https://stat.ethz.ch/R-manual/R-devel/library/base/html/userhooks.html) and [`on.exit`](https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/on.exit)._ We do not support hooks.";
|
|
477
|
+
}, {
|
|
478
|
+
readonly name: "Precedence";
|
|
479
|
+
readonly id: "precedence";
|
|
480
|
+
readonly supported: "fully";
|
|
481
|
+
readonly description: "_Handle the precedence of operators as explained in the [Documentation](https://rdrr.io/r/base/Syntax.html)._ We handle the precedence of operators (implicitly with the parser).";
|
|
482
|
+
}, {
|
|
483
|
+
readonly name: "Attributes";
|
|
484
|
+
readonly id: "attributes";
|
|
485
|
+
readonly capabilities: readonly [{
|
|
486
|
+
readonly name: "User-Defined";
|
|
487
|
+
readonly id: "user-defined";
|
|
488
|
+
readonly supported: "not";
|
|
489
|
+
readonly description: "_Handle [attributes](https://cran.r-project.org/doc/manuals/r-release/R-lang.html#Attributes) like `attr`, `attributes`, ..._ We do not support attributes.";
|
|
490
|
+
}, {
|
|
491
|
+
readonly name: "Built-In";
|
|
492
|
+
readonly id: "built-in";
|
|
493
|
+
readonly supported: "not";
|
|
494
|
+
readonly description: "_Handle built-in attributes like `dim`, ..._ We do not support them.";
|
|
495
|
+
}];
|
|
496
|
+
}];
|
|
497
|
+
}, {
|
|
498
|
+
readonly name: "Types";
|
|
499
|
+
readonly id: "types";
|
|
500
|
+
readonly capabilities: readonly [{
|
|
501
|
+
readonly name: "Primitive";
|
|
502
|
+
readonly id: "types-primitive";
|
|
503
|
+
readonly supported: "not";
|
|
504
|
+
readonly description: "_Recognize and resolve primitive types like `numeric`, `character`, ..._ We do not support typing currently.";
|
|
505
|
+
}, {
|
|
506
|
+
readonly name: "Non-Primitive";
|
|
507
|
+
readonly id: "types-non-primitive";
|
|
508
|
+
readonly supported: "not";
|
|
509
|
+
readonly description: "_Recognize and resolve non-primitive/composite types._ We do not support typing currently.";
|
|
510
|
+
}, {
|
|
511
|
+
readonly name: "Inference";
|
|
512
|
+
readonly id: "types-inference";
|
|
513
|
+
readonly supported: "not";
|
|
514
|
+
readonly description: "_Infer types from the code._ We do not support typing currently.";
|
|
515
|
+
}, {
|
|
516
|
+
readonly name: "Coercion";
|
|
517
|
+
readonly id: "types-coercion";
|
|
518
|
+
readonly supported: "not";
|
|
519
|
+
readonly description: "_Handle coercion of types._ We do not support typing currently.";
|
|
520
|
+
}, {
|
|
521
|
+
readonly name: "Object-Oriented Programming";
|
|
522
|
+
readonly id: "object-oriented-programming";
|
|
523
|
+
readonly capabilities: readonly [{
|
|
524
|
+
readonly name: "S3";
|
|
525
|
+
readonly id: "oop-s3";
|
|
526
|
+
readonly note: "https://adv-r.hadley.nz/s3.html";
|
|
527
|
+
readonly supported: "not";
|
|
528
|
+
readonly description: "_Handle S3 classes and methods as one unit (with attributes etc.). Including Dispatch and Inheritance._ We do not support typing currently and do not handle objects of these classes \"as units.\"";
|
|
529
|
+
}, {
|
|
530
|
+
readonly name: "S4";
|
|
531
|
+
readonly id: "oop-s4";
|
|
532
|
+
readonly note: "https://adv-r.hadley.nz/s4.html";
|
|
533
|
+
readonly supported: "not";
|
|
534
|
+
readonly description: "_Handle S4 classes and methods as one unit. Including Dispatch and Inheritance_ We do not support typing currently and do not handle objects of these classes \"as units.\"";
|
|
535
|
+
}, {
|
|
536
|
+
readonly name: "R6";
|
|
537
|
+
readonly id: "oop-r6";
|
|
538
|
+
readonly note: "https://adv-r.hadley.nz/r6.html";
|
|
539
|
+
readonly supported: "not";
|
|
540
|
+
readonly description: "_Handle R6 classes and methods as one unit. Including Dispatch and Inheritance, as well as its Reference Semantics, Access Control, Finalizers, and Introspection._ We do not support typing currently and do not handle objects of these classes \"as units.\"";
|
|
541
|
+
}, {
|
|
542
|
+
readonly name: "R7/S7";
|
|
543
|
+
readonly id: "r7-s7";
|
|
544
|
+
readonly note: "https://www.r-bloggers.com/2022/12/what-is-r7-a-new-oop-system-for-r/, https://cran.r-project.org/web/packages/S7/index.html";
|
|
545
|
+
readonly supported: "not";
|
|
546
|
+
readonly description: "_Handle R7 classes and methods as one unit. Including Dispatch and Inheritance, as well as its Reference Semantics, Validators, ..._ We do not support typing currently and do not handle objects of these classes \"as units.\"";
|
|
547
|
+
}];
|
|
548
|
+
}];
|
|
549
|
+
}, {
|
|
550
|
+
readonly name: "Structure";
|
|
551
|
+
readonly id: "structure";
|
|
552
|
+
readonly capabilities: readonly [{
|
|
553
|
+
readonly name: "Comments";
|
|
554
|
+
readonly id: "comments";
|
|
555
|
+
readonly supported: "fully";
|
|
556
|
+
readonly description: "_Recognize comments like `# this is a comment`, ... and line-directives_";
|
|
557
|
+
}, {
|
|
558
|
+
readonly name: "Semicolons";
|
|
559
|
+
readonly id: "semicolons";
|
|
560
|
+
readonly supported: "fully";
|
|
561
|
+
readonly description: "_Recognize and resolve semicolons like `a; b; c`, ..._";
|
|
562
|
+
}, {
|
|
563
|
+
readonly name: "Newlines";
|
|
564
|
+
readonly id: "newlines";
|
|
565
|
+
readonly supported: "fully";
|
|
566
|
+
readonly description: "_Recognize and resolve newlines like `a\nb\nc`, ..._";
|
|
567
|
+
}];
|
|
568
|
+
}, {
|
|
569
|
+
readonly name: "System, I/O, FFI, and Other Files";
|
|
570
|
+
readonly id: "system-i-o-ffi-and-other-files";
|
|
571
|
+
readonly capabilities: readonly [{
|
|
572
|
+
readonly name: "Sourcing External Files";
|
|
573
|
+
readonly id: "sourcing-external-files";
|
|
574
|
+
readonly supported: "partially";
|
|
575
|
+
readonly description: "_Handle `source`, `sys.source`, ..._ We are currently working on supporting the inclusion of external files. Currently we can handle `source`.";
|
|
576
|
+
}, {
|
|
577
|
+
readonly name: "Handling Binary Riles";
|
|
578
|
+
readonly id: "handling-binary-riles";
|
|
579
|
+
readonly supported: "not";
|
|
580
|
+
readonly description: "_Handle files dumped with, e.g., [`save`](https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/save), ... due to their frequent usage._ We do not support binary files.";
|
|
581
|
+
}, {
|
|
582
|
+
readonly name: "I/O";
|
|
583
|
+
readonly id: "i-o";
|
|
584
|
+
readonly supported: "not";
|
|
585
|
+
readonly description: "_Handle `read.csv`, `write.csv`, ..._ We do not support I/O for the time being but treat them as unknown function calls.";
|
|
586
|
+
}, {
|
|
587
|
+
readonly name: "Foreign Function Interface";
|
|
588
|
+
readonly id: "foreign-function-interface";
|
|
589
|
+
readonly supported: "not";
|
|
590
|
+
readonly description: "_Handle `.Fortran`, `C`,..._ We do not support FFI but treat them as unknown function calls.";
|
|
591
|
+
}, {
|
|
592
|
+
readonly name: "System Calls";
|
|
593
|
+
readonly id: "system-calls";
|
|
594
|
+
readonly supported: "not";
|
|
595
|
+
readonly description: "_Handle [`system`](https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/system), `system.*`, ..._ We do not support system calls but treat them as unknown function calls.";
|
|
596
|
+
}];
|
|
597
|
+
}, {
|
|
598
|
+
readonly name: "Pre-Processors/external Tooling";
|
|
599
|
+
readonly id: "pre-processors-external-tooling";
|
|
600
|
+
readonly supported: "not";
|
|
601
|
+
readonly description: "_Handle pre-processors like `knitr`, `rmarkdown`, `roxygen2` ..._ We do not support pre-processors for the time being (being unable to handle things like `@importFrom`)";
|
|
602
|
+
}];
|
|
603
|
+
};
|