@eagleoutice/flowr 2.6.1 → 2.6.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/README.md +142 -39
- package/abstract-interpretation/data-frame/absint-info.d.ts +1 -1
- package/abstract-interpretation/data-frame/absint-visitor.d.ts +2 -3
- package/abstract-interpretation/data-frame/absint-visitor.js +17 -12
- package/abstract-interpretation/data-frame/dataframe-domain.d.ts +18 -12
- package/abstract-interpretation/data-frame/dataframe-domain.js +25 -13
- package/abstract-interpretation/data-frame/mappers/access-mapper.d.ts +0 -1
- package/abstract-interpretation/data-frame/mappers/access-mapper.js +0 -1
- package/abstract-interpretation/data-frame/mappers/arguments.d.ts +1 -10
- package/abstract-interpretation/data-frame/mappers/arguments.js +0 -7
- package/abstract-interpretation/data-frame/mappers/assignment-mapper.d.ts +0 -1
- package/abstract-interpretation/data-frame/mappers/assignment-mapper.js +0 -1
- package/abstract-interpretation/data-frame/mappers/function-mapper.d.ts +9 -10
- package/abstract-interpretation/data-frame/mappers/function-mapper.js +21 -18
- package/abstract-interpretation/data-frame/mappers/replacement-mapper.d.ts +0 -1
- package/abstract-interpretation/data-frame/mappers/replacement-mapper.js +0 -1
- package/abstract-interpretation/data-frame/resolve-args.d.ts +1 -1
- package/abstract-interpretation/data-frame/semantics.d.ts +3 -4
- package/abstract-interpretation/data-frame/semantics.js +179 -162
- package/abstract-interpretation/data-frame/shape-inference.d.ts +4 -7
- package/abstract-interpretation/data-frame/shape-inference.js +10 -12
- package/abstract-interpretation/domains/abstract-domain.d.ts +59 -18
- package/abstract-interpretation/domains/abstract-domain.js +74 -1
- package/abstract-interpretation/domains/bounded-set-domain.d.ts +37 -24
- package/abstract-interpretation/domains/bounded-set-domain.js +70 -47
- package/abstract-interpretation/domains/interval-domain.d.ts +33 -25
- package/abstract-interpretation/domains/interval-domain.js +109 -50
- package/abstract-interpretation/domains/lattice.d.ts +19 -11
- package/abstract-interpretation/domains/mapped-abstract-domain.d.ts +34 -0
- package/abstract-interpretation/domains/mapped-abstract-domain.js +189 -0
- package/abstract-interpretation/domains/positive-interval-domain.d.ts +16 -12
- package/abstract-interpretation/domains/positive-interval-domain.js +20 -11
- package/abstract-interpretation/domains/product-domain.d.ts +18 -23
- package/abstract-interpretation/domains/product-domain.js +11 -19
- package/abstract-interpretation/domains/satisfiable-domain.d.ts +29 -0
- package/abstract-interpretation/domains/satisfiable-domain.js +24 -0
- package/abstract-interpretation/domains/set-upper-bound-domain.d.ts +54 -0
- package/abstract-interpretation/domains/set-upper-bound-domain.js +197 -0
- package/abstract-interpretation/domains/singleton-domain.d.ts +24 -19
- package/abstract-interpretation/domains/singleton-domain.js +52 -37
- package/abstract-interpretation/domains/state-abstract-domain.d.ts +8 -24
- package/abstract-interpretation/domains/state-abstract-domain.js +2 -167
- package/abstract-interpretation/normalized-ast-fold.d.ts +2 -8
- package/abstract-interpretation/normalized-ast-fold.js +0 -5
- package/benchmark/slicer.d.ts +4 -7
- package/benchmark/slicer.js +27 -31
- package/benchmark/stats/print.d.ts +6 -0
- package/benchmark/stats/print.js +6 -0
- package/benchmark/stats/size-of.d.ts +0 -1
- package/benchmark/stats/size-of.js +0 -1
- package/benchmark/stats/stats.d.ts +2 -2
- package/benchmark/stopwatch.d.ts +11 -13
- package/benchmark/stopwatch.js +11 -13
- package/benchmark/summarizer/first-phase/input.d.ts +6 -0
- package/benchmark/summarizer/first-phase/input.js +6 -0
- package/benchmark/summarizer/first-phase/process.d.ts +13 -1
- package/benchmark/summarizer/first-phase/process.js +13 -1
- package/benchmark/summarizer/second-phase/graph.d.ts +5 -0
- package/benchmark/summarizer/second-phase/graph.js +5 -0
- package/benchmark/summarizer/second-phase/process.d.ts +12 -0
- package/benchmark/summarizer/second-phase/process.js +12 -0
- package/benchmark/summarizer/summarizer.d.ts +1 -2
- package/cli/benchmark-app.js +0 -2
- package/cli/common/features.d.ts +7 -1
- package/cli/common/features.js +6 -0
- package/cli/common/script.d.ts +3 -1
- package/cli/common/script.js +3 -1
- package/cli/common/scripts-info.d.ts +3 -1
- package/cli/common/scripts-info.js +3 -0
- package/cli/export-quads-app.js +1 -1
- package/cli/flowr-main-options.d.ts +3 -0
- package/cli/flowr-main-options.js +3 -0
- package/cli/repl/commands/repl-commands.d.ts +13 -0
- package/cli/repl/commands/repl-commands.js +13 -2
- package/cli/repl/commands/repl-dataflow.js +2 -1
- package/cli/repl/commands/repl-execute.d.ts +4 -0
- package/cli/repl/commands/repl-execute.js +6 -2
- package/cli/repl/commands/repl-main.d.ts +15 -9
- package/cli/repl/commands/repl-parse.js +18 -6
- package/cli/repl/commands/repl-query.js +16 -5
- package/cli/repl/core.d.ts +24 -6
- package/cli/repl/core.js +42 -30
- package/cli/repl/execute.d.ts +0 -2
- package/cli/repl/execute.js +0 -2
- package/cli/repl/parser/slice-query-parser.d.ts +14 -0
- package/cli/repl/parser/slice-query-parser.js +34 -0
- package/cli/repl/print-version.d.ts +6 -0
- package/cli/repl/print-version.js +6 -0
- package/cli/repl/server/compact.d.ts +8 -0
- package/cli/repl/server/compact.js +8 -0
- package/cli/repl/server/connection.d.ts +4 -3
- package/cli/repl/server/connection.js +5 -32
- package/cli/repl/server/messages/all-messages.d.ts +1 -3
- package/cli/repl/server/messages/all-messages.js +0 -1
- package/cli/repl/server/messages/message-analysis.d.ts +0 -2
- package/cli/repl/server/messages/message-query.d.ts +1 -1
- package/cli/repl/server/messages/message-repl.d.ts +0 -1
- package/cli/repl/server/send.d.ts +6 -0
- package/cli/repl/server/send.js +6 -0
- package/cli/repl/server/server.d.ts +1 -1
- package/cli/repl/server/validate.d.ts +10 -1
- package/cli/repl/server/validate.js +9 -0
- package/cli/run-script.d.ts +1 -2
- package/cli/run-script.js +0 -1
- package/cli/script-core/statistics-core.d.ts +3 -0
- package/cli/script-core/statistics-core.js +3 -0
- package/cli/script-core/statistics-helper-core.d.ts +4 -1
- package/cli/script-core/statistics-helper-core.js +5 -1
- package/cli/script-core/summarizer-core.d.ts +3 -0
- package/cli/script-core/summarizer-core.js +3 -0
- package/cli/slicer-app.js +3 -4
- package/cli/summarizer-app.d.ts +2 -3
- package/cli/summarizer-app.js +2 -3
- package/cli/wiki.d.ts +4 -0
- package/cli/wiki.js +165 -0
- package/config.d.ts +21 -3
- package/config.js +21 -0
- package/control-flow/basic-cfg-guided-visitor.d.ts +1 -2
- package/control-flow/basic-cfg-guided-visitor.js +0 -1
- package/control-flow/cfg-dead-code.js +13 -3
- package/control-flow/cfg-simplification.d.ts +5 -2
- package/control-flow/cfg-simplification.js +3 -0
- package/control-flow/cfg-to-basic-blocks.d.ts +1 -1
- package/control-flow/control-flow-graph.d.ts +20 -12
- package/control-flow/control-flow-graph.js +16 -4
- package/control-flow/dfg-cfg-guided-visitor.d.ts +2 -3
- package/control-flow/diff-cfg.d.ts +3 -5
- package/control-flow/diff-cfg.js +0 -1
- package/control-flow/extract-cfg.d.ts +12 -9
- package/control-flow/extract-cfg.js +44 -7
- package/control-flow/happens-before.d.ts +1 -1
- package/control-flow/semantic-cfg-guided-visitor.d.ts +4 -33
- package/control-flow/semantic-cfg-guided-visitor.js +0 -28
- package/control-flow/simple-visitor.d.ts +1 -3
- package/control-flow/simple-visitor.js +2 -4
- package/control-flow/syntax-cfg-guided-visitor.d.ts +1 -2
- package/control-flow/useless-loop.d.ts +3 -6
- package/control-flow/useless-loop.js +16 -10
- package/core/pipeline-executor.d.ts +11 -22
- package/core/pipeline-executor.js +13 -25
- package/core/print/dataflow-printer.d.ts +19 -0
- package/core/print/dataflow-printer.js +19 -0
- package/core/print/normalize-printer.d.ts +21 -1
- package/core/print/normalize-printer.js +21 -1
- package/core/print/parse-printer.d.ts +6 -1
- package/core/print/parse-printer.js +5 -0
- package/core/print/print.d.ts +0 -1
- package/core/print/print.js +0 -1
- package/core/print/slice-diff-ansi.d.ts +3 -0
- package/core/print/slice-diff-ansi.js +3 -0
- package/core/steps/all/core/00-parse.d.ts +2 -2
- package/core/steps/all/core/00-parse.js +1 -1
- package/core/steps/all/core/01-parse-tree-sitter.d.ts +1 -11
- package/core/steps/all/core/10-normalize.d.ts +3 -6
- package/core/steps/all/core/10-normalize.js +1 -13
- package/core/steps/all/core/11-normalize-tree-sitter.d.ts +5 -5
- package/core/steps/all/core/11-normalize-tree-sitter.js +2 -3
- package/core/steps/all/core/20-dataflow.d.ts +3 -4
- package/core/steps/all/core/20-dataflow.js +2 -2
- package/core/steps/all/static-slicing/00-slice.d.ts +1 -2
- package/core/steps/all/static-slicing/00-slice.js +1 -1
- package/core/steps/all/static-slicing/10-reconstruct.d.ts +8 -0
- package/core/steps/all/static-slicing/10-reconstruct.js +4 -1
- package/core/steps/pipeline/create-pipeline.d.ts +1 -1
- package/core/steps/pipeline/default-pipelines.d.ts +94 -95
- package/core/steps/pipeline/default-pipelines.js +8 -12
- package/core/steps/pipeline/pipeline.d.ts +1 -8
- package/core/steps/pipeline/pipeline.js +1 -3
- package/core/steps/pipeline-step.d.ts +0 -1
- package/core/steps/pipeline-step.js +0 -1
- package/dataflow/cluster.d.ts +3 -0
- package/dataflow/cluster.js +3 -0
- package/dataflow/environments/append.d.ts +1 -1
- package/dataflow/environments/built-in-config.d.ts +1 -5
- package/dataflow/environments/built-in-config.js +0 -1
- package/dataflow/environments/built-in.d.ts +10 -5
- package/dataflow/environments/built-in.js +6 -1
- package/dataflow/environments/clone.d.ts +1 -2
- package/dataflow/environments/clone.js +12 -2
- package/dataflow/environments/default-builtin-config.d.ts +3 -0
- package/dataflow/environments/default-builtin-config.js +4 -1
- package/dataflow/environments/diff.d.ts +11 -2
- package/dataflow/environments/diff.js +11 -2
- package/dataflow/environments/environment.d.ts +3 -3
- package/dataflow/environments/environment.js +8 -6
- package/dataflow/environments/identifier.d.ts +0 -4
- package/dataflow/environments/identifier.js +0 -1
- package/dataflow/environments/overwrite.d.ts +1 -2
- package/dataflow/environments/overwrite.js +3 -16
- package/dataflow/environments/resolve-by-name.d.ts +4 -4
- package/dataflow/environments/resolve-by-name.js +3 -2
- package/dataflow/environments/scoping.d.ts +9 -2
- package/dataflow/environments/scoping.js +8 -1
- package/dataflow/eval/resolve/alias-tracking.d.ts +4 -10
- package/dataflow/eval/resolve/alias-tracking.js +11 -14
- package/dataflow/eval/resolve/resolve-argument.d.ts +1 -1
- package/dataflow/eval/resolve/resolve-argument.js +2 -2
- package/dataflow/eval/resolve/resolve.d.ts +1 -7
- package/dataflow/eval/resolve/resolve.js +0 -5
- package/dataflow/eval/values/general.d.ts +1 -3
- package/dataflow/eval/values/general.js +0 -1
- package/dataflow/eval/values/intervals/interval-constants.d.ts +7 -1
- package/dataflow/eval/values/intervals/interval-constants.js +6 -0
- package/dataflow/eval/values/logical/logical-constants.d.ts +4 -1
- package/dataflow/eval/values/logical/logical-constants.js +3 -0
- package/dataflow/eval/values/r-value.d.ts +12 -0
- package/dataflow/eval/values/r-value.js +12 -0
- package/dataflow/eval/values/scalar/scalar-consatnts.d.ts +7 -1
- package/dataflow/eval/values/scalar/scalar-consatnts.js +6 -0
- package/dataflow/eval/values/sets/set-constants.d.ts +7 -2
- package/dataflow/eval/values/sets/set-constants.js +6 -0
- package/dataflow/eval/values/string/string-constants.d.ts +16 -1
- package/dataflow/eval/values/string/string-constants.js +15 -0
- package/dataflow/eval/values/vectors/vector-constants.d.ts +1 -1
- package/dataflow/extractor.d.ts +3 -4
- package/dataflow/extractor.js +25 -22
- package/dataflow/graph/dataflowgraph-builder.d.ts +20 -38
- package/dataflow/graph/dataflowgraph-builder.js +6 -23
- package/dataflow/graph/diff-dataflow-graph.d.ts +16 -6
- package/dataflow/graph/diff-dataflow-graph.js +12 -1
- package/dataflow/graph/edge.d.ts +9 -0
- package/dataflow/graph/edge.js +9 -0
- package/dataflow/graph/graph.d.ts +9 -28
- package/dataflow/graph/graph.js +4 -28
- package/dataflow/graph/invert-dfg.d.ts +3 -0
- package/dataflow/graph/invert-dfg.js +3 -0
- package/dataflow/graph/quads.d.ts +1 -1
- package/dataflow/graph/unknown-replacement.d.ts +8 -0
- package/dataflow/graph/unknown-replacement.js +8 -0
- package/dataflow/graph/unknown-side-effect.d.ts +8 -0
- package/dataflow/graph/unknown-side-effect.js +8 -0
- package/dataflow/graph/vertex.d.ts +9 -9
- package/dataflow/graph/vertex.js +9 -1
- package/dataflow/info.d.ts +16 -10
- package/dataflow/info.js +27 -1
- package/dataflow/internal/linker.d.ts +25 -9
- package/dataflow/internal/linker.js +30 -11
- package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +6 -0
- package/dataflow/internal/process/functions/call/argument/make-argument.js +6 -1
- package/dataflow/internal/process/functions/call/argument/unpack-argument.d.ts +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-access.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-access.js +6 -4
- package/dataflow/internal/process/functions/call/built-in/built-in-apply.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-apply.js +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-assignment.d.ts +2 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-assignment.js +4 -4
- package/dataflow/internal/process/functions/call/built-in/built-in-eval.d.ts +6 -3
- package/dataflow/internal/process/functions/call/built-in/built-in-eval.js +9 -6
- package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.js +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.js +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.d.ts +10 -4
- package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.js +7 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-get.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-get.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.js +5 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-library.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-library.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-list.d.ts +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-list.js +2 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-pipe.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-pipe.js +6 -3
- package/dataflow/internal/process/functions/call/built-in/built-in-quote.d.ts +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-quote.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.d.ts +10 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +8 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-replacement.d.ts +6 -3
- package/dataflow/internal/process/functions/call/built-in/built-in-replacement.js +5 -3
- package/dataflow/internal/process/functions/call/built-in/built-in-rm.d.ts +4 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-rm.js +3 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-source.d.ts +34 -12
- package/dataflow/internal/process/functions/call/built-in/built-in-source.js +90 -68
- package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.d.ts +5 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.js +5 -0
- package/dataflow/internal/process/functions/call/built-in/built-in-vector.d.ts +1 -1
- package/dataflow/internal/process/functions/call/built-in/built-in-vector.js +2 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.d.ts +5 -2
- package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.js +4 -1
- package/dataflow/internal/process/functions/call/common.d.ts +11 -5
- package/dataflow/internal/process/functions/call/common.js +9 -3
- package/dataflow/internal/process/functions/call/default-call-handling.d.ts +5 -0
- package/dataflow/internal/process/functions/call/default-call-handling.js +5 -0
- package/dataflow/internal/process/functions/call/known-call-handling.d.ts +12 -5
- package/dataflow/internal/process/functions/call/known-call-handling.js +10 -3
- package/dataflow/internal/process/functions/call/named-call-handling.d.ts +7 -1
- package/dataflow/internal/process/functions/call/named-call-handling.js +10 -4
- package/dataflow/internal/process/functions/call/unnamed-call-handling.d.ts +4 -1
- package/dataflow/internal/process/functions/call/unnamed-call-handling.js +3 -0
- package/dataflow/internal/process/functions/process-argument.d.ts +8 -2
- package/dataflow/internal/process/functions/process-argument.js +6 -0
- package/dataflow/internal/process/functions/process-parameter.d.ts +5 -2
- package/dataflow/internal/process/functions/process-parameter.js +7 -4
- package/dataflow/internal/process/process-symbol.d.ts +3 -0
- package/dataflow/internal/process/process-symbol.js +3 -0
- package/dataflow/internal/process/process-uninteresting-leaf.d.ts +3 -0
- package/dataflow/internal/process/process-uninteresting-leaf.js +3 -0
- package/dataflow/internal/process/process-value.d.ts +3 -0
- package/dataflow/internal/process/process-value.js +3 -0
- package/dataflow/origin/dfg-get-origin.d.ts +0 -2
- package/dataflow/origin/dfg-get-symbol-refs.d.ts +6 -8
- package/dataflow/origin/dfg-get-symbol-refs.js +7 -9
- package/dataflow/processor.d.ts +6 -12
- package/dataflow/processor.js +0 -1
- package/documentation/data/dfg/doc-data-dfg-util.d.ts +6 -2
- package/documentation/data/dfg/doc-data-dfg-util.js +6 -0
- package/documentation/data/faq/faqs.d.ts +5 -0
- package/documentation/data/faq/faqs.js +87 -0
- package/documentation/data/faq/recommended-configs.d.ts +36 -0
- package/documentation/data/faq/recommended-configs.js +40 -0
- package/documentation/data/faq/wiki-faq-store.d.ts +19 -0
- package/documentation/data/faq/wiki-faq-store.js +83 -0
- package/documentation/data/server/doc-data-server-messages.d.ts +3 -0
- package/documentation/data/server/doc-data-server-messages.js +5 -64
- package/documentation/doc-capabilities.d.ts +9 -0
- package/documentation/{print-capabilities-markdown.js → doc-capabilities.js} +18 -21
- package/documentation/doc-readme.d.ts +9 -0
- package/documentation/{print-readme.js → doc-readme.js} +136 -35
- package/documentation/doc-util/doc-auto-gen.d.ts +6 -0
- package/documentation/doc-util/doc-auto-gen.js +6 -0
- package/documentation/doc-util/doc-benchmarks.d.ts +14 -0
- package/documentation/doc-util/doc-benchmarks.js +14 -0
- package/documentation/doc-util/doc-cfg.d.ts +7 -1
- package/documentation/doc-util/doc-cfg.js +14 -8
- package/documentation/doc-util/doc-cli-option.d.ts +9 -0
- package/documentation/doc-util/doc-cli-option.js +9 -0
- package/documentation/doc-util/doc-code.d.ts +24 -0
- package/documentation/doc-util/doc-code.js +24 -0
- package/documentation/doc-util/doc-dfg.d.ts +12 -6
- package/documentation/doc-util/doc-dfg.js +19 -10
- package/documentation/doc-util/doc-env.d.ts +3 -0
- package/documentation/doc-util/doc-env.js +3 -0
- package/documentation/doc-util/doc-escape.d.ts +6 -1
- package/documentation/doc-util/doc-escape.js +11 -1
- package/documentation/doc-util/doc-files.d.ts +11 -0
- package/documentation/doc-util/doc-files.js +15 -4
- package/documentation/doc-util/doc-general.d.ts +26 -0
- package/documentation/doc-util/doc-general.js +26 -0
- package/documentation/doc-util/doc-normalized-ast.d.ts +14 -3
- package/documentation/doc-util/doc-normalized-ast.js +16 -7
- package/documentation/doc-util/doc-query.d.ts +26 -3
- package/documentation/doc-util/doc-query.js +34 -12
- package/documentation/doc-util/doc-repl.d.ts +6 -0
- package/documentation/doc-util/doc-repl.js +6 -0
- package/documentation/doc-util/doc-search.d.ts +3 -18
- package/documentation/doc-util/doc-search.js +6 -62
- package/documentation/doc-util/doc-server-message.d.ts +18 -6
- package/documentation/doc-util/doc-server-message.js +17 -5
- package/documentation/doc-util/doc-structure.d.ts +9 -0
- package/documentation/doc-util/doc-structure.js +10 -1
- package/documentation/doc-util/doc-types.d.ts +90 -11
- package/documentation/doc-util/doc-types.js +128 -39
- package/documentation/index.d.ts +9 -9
- package/documentation/index.js +9 -9
- package/documentation/issue-linting-rule.d.ts +9 -0
- package/documentation/{print-linter-issue.js → issue-linting-rule.js} +20 -23
- package/documentation/wiki-analyzer.d.ts +9 -0
- package/documentation/wiki-analyzer.js +412 -0
- package/documentation/wiki-cfg.d.ts +9 -0
- package/documentation/{print-cfg-wiki.js → wiki-cfg.js} +144 -160
- package/documentation/wiki-core.d.ts +14 -0
- package/documentation/{print-core-wiki.js → wiki-core.js} +167 -175
- package/documentation/wiki-dataflow-graph.d.ts +9 -0
- package/documentation/{print-dataflow-graph-wiki.js → wiki-dataflow-graph.js} +145 -175
- package/documentation/wiki-engine.d.ts +9 -0
- package/documentation/{print-engines-wiki.js → wiki-engine.js} +27 -42
- package/documentation/wiki-faq.d.ts +8 -0
- package/documentation/wiki-faq.js +22 -0
- package/documentation/wiki-interface.d.ts +9 -0
- package/documentation/{print-interface-wiki.js → wiki-interface.js} +60 -57
- package/documentation/wiki-linter.d.ts +9 -0
- package/documentation/{print-linter-wiki.js → wiki-linter.js} +52 -48
- package/documentation/wiki-linting-and-testing.d.ts +9 -0
- package/documentation/{print-linting-and-testing-wiki.js → wiki-linting-and-testing.js} +25 -32
- package/documentation/wiki-mk/doc-context.d.ts +186 -0
- package/documentation/wiki-mk/doc-context.js +84 -0
- package/documentation/wiki-mk/doc-maker.d.ts +95 -0
- package/documentation/wiki-mk/doc-maker.js +133 -0
- package/documentation/wiki-normalized-ast.d.ts +9 -0
- package/documentation/{print-normalized-ast-wiki.js → wiki-normalized-ast.js} +64 -47
- package/documentation/wiki-onboarding.d.ts +8 -0
- package/documentation/{print-onboarding-wiki.js → wiki-onboarding.js} +18 -15
- package/documentation/wiki-query.d.ts +9 -0
- package/documentation/{print-query-wiki.js → wiki-query.js} +65 -80
- package/documentation/wiki-search.d.ts +9 -0
- package/documentation/wiki-search.js +61 -0
- package/engines.d.ts +1 -1
- package/linter/linter-executor.d.ts +6 -3
- package/linter/linter-executor.js +6 -2
- package/linter/linter-format.d.ts +10 -2
- package/linter/linter-format.js +8 -0
- package/linter/linter-rules.d.ts +13 -17
- package/linter/rules/absolute-path.d.ts +4 -6
- package/linter/rules/absolute-path.js +2 -2
- package/linter/rules/dataframe-access-validation.d.ts +4 -5
- package/linter/rules/dataframe-access-validation.js +21 -19
- package/linter/rules/dead-code.d.ts +2 -2
- package/linter/rules/deprecated-functions.d.ts +2 -6
- package/linter/rules/file-path-validity.d.ts +2 -3
- package/linter/rules/file-path-validity.js +4 -4
- package/linter/rules/function-finder-util.d.ts +2 -7
- package/linter/rules/naming-convention.d.ts +15 -4
- package/linter/rules/naming-convention.js +14 -2
- package/linter/rules/network-functions.d.ts +2 -2
- package/linter/rules/network-functions.js +1 -1
- package/linter/rules/seeded-randomness.d.ts +4 -4
- package/linter/rules/seeded-randomness.js +33 -13
- package/linter/rules/unused-definition.d.ts +3 -4
- package/linter/rules/useless-loop.d.ts +3 -4
- package/linter/rules/useless-loop.js +2 -2
- package/package.json +7 -18
- package/project/cache/flowr-analyzer-cache.d.ts +9 -19
- package/project/cache/flowr-analyzer-cache.js +17 -44
- package/project/cache/flowr-analyzer-controlflow-cache.d.ts +34 -0
- package/project/cache/flowr-analyzer-controlflow-cache.js +79 -0
- package/project/context/flowr-analyzer-context.d.ts +31 -9
- package/project/context/flowr-analyzer-context.js +48 -4
- package/project/context/flowr-analyzer-dependencies-context.d.ts +0 -1
- package/project/context/flowr-analyzer-files-context.d.ts +63 -15
- package/project/context/flowr-analyzer-files-context.js +110 -39
- package/project/context/flowr-file.d.ts +32 -11
- package/project/context/flowr-file.js +30 -9
- package/project/flowr-analyzer-builder.d.ts +23 -31
- package/project/flowr-analyzer-builder.js +35 -74
- package/project/flowr-analyzer.d.ts +79 -29
- package/project/flowr-analyzer.js +59 -15
- package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +8 -2
- package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.js +13 -5
- package/project/plugins/file-plugins/flowr-analyzer-file-plugin.d.ts +3 -3
- package/project/plugins/file-plugins/flowr-analyzer-file-plugin.js +11 -5
- package/project/plugins/file-plugins/flowr-description-file.d.ts +3 -5
- package/project/plugins/file-plugins/flowr-description-file.js +0 -1
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-jupyter-file-plugin.d.ts +22 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-jupyter-file-plugin.js +33 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-qmd-file-plugin.d.ts +22 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-qmd-file-plugin.js +33 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-rmd-file-plugin.d.ts +22 -0
- package/project/plugins/file-plugins/notebooks/flowr-analyzer-rmd-file-plugin.js +33 -0
- package/project/plugins/file-plugins/notebooks/flowr-jupyter-file.d.ts +20 -0
- package/project/plugins/file-plugins/notebooks/flowr-jupyter-file.js +42 -0
- package/project/plugins/file-plugins/notebooks/flowr-rmarkdown-file.d.ts +59 -0
- package/project/plugins/file-plugins/notebooks/flowr-rmarkdown-file.js +132 -0
- package/project/plugins/file-plugins/notebooks/notebook.d.ts +0 -0
- package/project/plugins/file-plugins/notebooks/notebook.js +2 -0
- package/project/plugins/flowr-analyzer-plugin-defaults.d.ts +5 -0
- package/project/plugins/flowr-analyzer-plugin-defaults.js +23 -0
- package/project/plugins/flowr-analyzer-plugin.d.ts +2 -0
- package/project/plugins/flowr-analyzer-plugin.js +2 -0
- package/project/plugins/loading-order-plugins/flowr-analyzer-loading-order-description-file-plugin.js +1 -1
- package/project/plugins/package-version-plugins/flowr-analyzer-package-versions-description-file-plugin.js +1 -1
- package/project/plugins/plugin-registry.d.ts +34 -0
- package/project/plugins/plugin-registry.js +62 -0
- package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.d.ts +1 -1
- package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.js +7 -1
- package/queries/base-query-format.d.ts +2 -2
- package/queries/catalog/call-context-query/call-context-query-executor.d.ts +3 -0
- package/queries/catalog/call-context-query/call-context-query-executor.js +7 -2
- package/queries/catalog/call-context-query/call-context-query-format.d.ts +3 -3
- package/queries/catalog/call-context-query/identify-link-to-last-call-relation.d.ts +16 -4
- package/queries/catalog/call-context-query/identify-link-to-last-call-relation.js +34 -18
- package/queries/catalog/cluster-query/cluster-query-executor.d.ts +3 -0
- package/queries/catalog/cluster-query/cluster-query-executor.js +3 -0
- package/queries/catalog/cluster-query/cluster-query-format.d.ts +1 -1
- package/queries/catalog/config-query/config-query-executor.d.ts +3 -0
- package/queries/catalog/config-query/config-query-executor.js +3 -0
- package/queries/catalog/config-query/config-query-format.d.ts +5 -2
- package/queries/catalog/config-query/config-query-format.js +13 -16
- package/queries/catalog/control-flow-query/control-flow-query-executor.d.ts +3 -0
- package/queries/catalog/control-flow-query/control-flow-query-executor.js +3 -0
- package/queries/catalog/control-flow-query/control-flow-query-format.d.ts +3 -3
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.d.ts +3 -0
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.js +3 -0
- package/queries/catalog/dataflow-lens-query/dataflow-lens-query-format.d.ts +1 -1
- package/queries/catalog/dataflow-query/dataflow-query-executor.d.ts +3 -0
- package/queries/catalog/dataflow-query/dataflow-query-executor.js +3 -0
- package/queries/catalog/dataflow-query/dataflow-query-format.d.ts +1 -1
- package/queries/catalog/dependencies-query/dependencies-query-executor.d.ts +4 -1
- package/queries/catalog/dependencies-query/dependencies-query-executor.js +7 -4
- package/queries/catalog/dependencies-query/dependencies-query-format.d.ts +4 -1
- package/queries/catalog/dependencies-query/dependencies-query-format.js +5 -2
- package/queries/catalog/df-shape-query/df-shape-query-executor.d.ts +4 -1
- package/queries/catalog/df-shape-query/df-shape-query-executor.js +8 -4
- package/queries/catalog/df-shape-query/df-shape-query-format.d.ts +10 -3
- package/queries/catalog/df-shape-query/df-shape-query-format.js +25 -5
- package/queries/catalog/happens-before-query/happens-before-query-executor.d.ts +4 -0
- package/queries/catalog/happens-before-query/happens-before-query-executor.js +4 -0
- package/queries/catalog/happens-before-query/happens-before-query-format.d.ts +1 -1
- package/queries/catalog/id-map-query/id-map-query-executor.d.ts +3 -0
- package/queries/catalog/id-map-query/id-map-query-executor.js +3 -0
- package/queries/catalog/id-map-query/id-map-query-format.d.ts +1 -1
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.d.ts +3 -0
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.js +3 -0
- package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.d.ts +2 -2
- package/queries/catalog/linter-query/linter-query-executor.d.ts +4 -0
- package/queries/catalog/linter-query/linter-query-executor.js +4 -0
- package/queries/catalog/linter-query/linter-query-format.d.ts +12 -3
- package/queries/catalog/linter-query/linter-query-format.js +80 -2
- package/queries/catalog/location-map-query/location-map-query-executor.d.ts +4 -0
- package/queries/catalog/location-map-query/location-map-query-executor.js +7 -2
- package/queries/catalog/location-map-query/location-map-query-format.d.ts +7 -1
- package/queries/catalog/location-map-query/location-map-query-format.js +12 -0
- package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.d.ts +3 -0
- package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.js +3 -0
- package/queries/catalog/normalized-ast-query/normalized-ast-query-format.d.ts +1 -1
- package/queries/catalog/origin-query/origin-query-executor.d.ts +7 -1
- package/queries/catalog/origin-query/origin-query-executor.js +6 -0
- package/queries/catalog/origin-query/origin-query-format.d.ts +7 -1
- package/queries/catalog/origin-query/origin-query-format.js +17 -1
- package/queries/catalog/project-query/project-query-executor.d.ts +3 -0
- package/queries/catalog/project-query/project-query-executor.js +6 -1
- package/queries/catalog/project-query/project-query-format.d.ts +1 -1
- package/queries/catalog/resolve-value-query/resolve-value-query-executor.d.ts +6 -0
- package/queries/catalog/resolve-value-query/resolve-value-query-executor.js +6 -0
- package/queries/catalog/resolve-value-query/resolve-value-query-format.d.ts +7 -1
- package/queries/catalog/resolve-value-query/resolve-value-query-format.js +19 -1
- package/queries/catalog/search-query/search-query-executor.d.ts +3 -0
- package/queries/catalog/search-query/search-query-executor.js +3 -0
- package/queries/catalog/search-query/search-query-format.d.ts +1 -1
- package/queries/catalog/static-slice-query/static-slice-query-executor.d.ts +9 -0
- package/queries/catalog/static-slice-query/static-slice-query-executor.js +10 -1
- package/queries/catalog/static-slice-query/static-slice-query-format.d.ts +7 -1
- package/queries/catalog/static-slice-query/static-slice-query-format.js +30 -1
- package/queries/query-print.d.ts +20 -4
- package/queries/query-print.js +18 -2
- package/queries/query.d.ts +93 -55
- package/queries/query.js +55 -23
- package/queries/virtual-query/virtual-queries.d.ts +1 -2
- package/r-bridge/data/get.d.ts +6 -0
- package/r-bridge/data/get.js +6 -0
- package/r-bridge/lang-4.x/ast/model/collect.d.ts +2 -2
- package/r-bridge/lang-4.x/ast/model/collect.js +4 -1
- package/r-bridge/lang-4.x/ast/model/model.d.ts +8 -11
- package/r-bridge/lang-4.x/ast/model/nodes/r-function-call.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/model/nodes/r-number.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-number.js +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-project.d.ts +29 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-project.js +15 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-string.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-string.js +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.js +3 -0
- package/r-bridge/lang-4.x/ast/model/operators.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/decorate.d.ts +11 -14
- package/r-bridge/lang-4.x/ast/model/processing/decorate.js +30 -17
- package/r-bridge/lang-4.x/ast/model/processing/fold.d.ts +1 -1
- package/r-bridge/lang-4.x/ast/model/processing/node-id.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/node-id.js +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/role.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/stateful-fold.d.ts +1 -2
- package/r-bridge/lang-4.x/ast/model/processing/visitor.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/processing/visitor.js +0 -1
- package/r-bridge/lang-4.x/ast/model/type.d.ts +6 -5
- package/r-bridge/lang-4.x/ast/model/type.js +6 -5
- package/r-bridge/lang-4.x/ast/model/versions.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/model/versions.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/json/format.js +1 -1
- package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +12 -12
- package/r-bridge/lang-4.x/ast/parser/json/parser.js +11 -11
- package/r-bridge/lang-4.x/ast/parser/main/internal/control/normalize-if-then.d.ts +1 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.d.ts +1 -3
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.d.ts +4 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.d.ts +4 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-binary.d.ts +1 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.d.ts +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.js +3 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.d.ts +9 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.js +9 -0
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-root.d.ts +4 -3
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-root.js +20 -11
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.d.ts +1 -3
- package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.d.ts +1 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.d.ts +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.js +0 -1
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.d.ts +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.js +0 -2
- package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.d.ts +14 -5
- package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.js +13 -6
- package/r-bridge/lang-4.x/convert-values.d.ts +12 -1
- package/r-bridge/lang-4.x/convert-values.js +12 -1
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.d.ts +7 -2
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.js +18 -0
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.d.ts +15 -2
- package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +62 -24
- package/r-bridge/parser.d.ts +43 -12
- package/r-bridge/parser.js +27 -13
- package/r-bridge/retriever.d.ts +25 -16
- package/r-bridge/retriever.js +29 -5
- package/r-bridge/shell-executor.d.ts +3 -3
- package/r-bridge/shell-executor.js +6 -1
- package/r-bridge/shell.d.ts +24 -23
- package/r-bridge/shell.js +37 -31
- package/reconstruct/auto-select/auto-select-defaults.d.ts +0 -2
- package/reconstruct/auto-select/magic-comments.d.ts +1 -2
- package/reconstruct/auto-select/magic-comments.js +2 -3
- package/reconstruct/reconstruct.d.ts +18 -12
- package/reconstruct/reconstruct.js +19 -10
- package/search/flowr-search-builder.d.ts +12 -5
- package/search/flowr-search-builder.js +7 -2
- package/search/flowr-search-executor.d.ts +3 -3
- package/search/flowr-search-filters.d.ts +14 -1
- package/search/flowr-search-filters.js +13 -0
- package/search/flowr-search-printer.d.ts +6 -0
- package/search/flowr-search-printer.js +6 -0
- package/search/flowr-search-traverse.d.ts +1 -1
- package/search/flowr-search.d.ts +15 -3
- package/search/search-executor/search-enrichers.d.ts +16 -6
- package/search/search-executor/search-enrichers.js +4 -3
- package/search/search-executor/search-generators.d.ts +19 -10
- package/search/search-executor/search-generators.js +57 -5
- package/search/search-executor/search-mappers.d.ts +8 -5
- package/search/search-executor/search-mappers.js +3 -0
- package/search/search-executor/search-transformer.d.ts +19 -16
- package/search/search-executor/search-transformer.js +3 -0
- package/slicing/criterion/collect-all.d.ts +13 -12
- package/slicing/criterion/collect-all.js +1 -1
- package/slicing/criterion/parse.d.ts +4 -2
- package/slicing/criterion/parse.js +8 -6
- package/slicing/static/fingerprint.d.ts +9 -1
- package/slicing/static/fingerprint.js +8 -0
- package/slicing/static/slice-call.d.ts +2 -2
- package/slicing/static/static-slicer.d.ts +8 -4
- package/slicing/static/static-slicer.js +5 -1
- package/slicing/static/visiting-queue.d.ts +1 -1
- package/statistics/features/common-syntax-probability.d.ts +10 -1
- package/statistics/features/common-syntax-probability.js +9 -0
- package/statistics/features/feature.d.ts +0 -4
- package/statistics/features/feature.js +0 -1
- package/statistics/features/post-processing.d.ts +6 -0
- package/statistics/features/post-processing.js +6 -0
- package/statistics/features/supported/assignments/assignments.js +1 -1
- package/statistics/features/supported/assignments/post-process.d.ts +3 -0
- package/statistics/features/supported/assignments/post-process.js +3 -0
- package/statistics/features/supported/comments/post-process.d.ts +3 -0
- package/statistics/features/supported/comments/post-process.js +3 -0
- package/statistics/features/supported/control-flow/control-flow.js +1 -1
- package/statistics/features/supported/control-flow/post-process.d.ts +3 -0
- package/statistics/features/supported/control-flow/post-process.js +3 -0
- package/statistics/features/supported/data-access/data-access.d.ts +1 -1
- package/statistics/features/supported/data-access/data-access.js +1 -1
- package/statistics/features/supported/data-access/post-process.d.ts +3 -0
- package/statistics/features/supported/data-access/post-process.js +3 -0
- package/statistics/features/supported/defined-functions/defined-functions.d.ts +1 -1
- package/statistics/features/supported/defined-functions/defined-functions.js +1 -1
- package/statistics/features/supported/expression-list/post-process.d.ts +3 -0
- package/statistics/features/supported/expression-list/post-process.js +3 -0
- package/statistics/features/supported/expression-list/statistics-expression-list.js +1 -1
- package/statistics/features/supported/loops/loops.js +1 -1
- package/statistics/features/supported/loops/post-process.d.ts +3 -0
- package/statistics/features/supported/loops/post-process.js +3 -0
- package/statistics/features/supported/used-functions/used-functions.d.ts +1 -1
- package/statistics/features/supported/used-functions/used-functions.js +1 -1
- package/statistics/features/supported/used-packages/post-process.d.ts +3 -0
- package/statistics/features/supported/used-packages/post-process.js +3 -0
- package/statistics/features/supported/values/post-process.d.ts +3 -0
- package/statistics/features/supported/values/post-process.js +3 -0
- package/statistics/features/supported/variables/post-process.d.ts +7 -1
- package/statistics/features/supported/variables/post-process.js +6 -0
- package/statistics/features/supported/variables/variables.js +1 -1
- package/statistics/meta-statistics.d.ts +8 -9
- package/statistics/output/file-provider.d.ts +5 -6
- package/statistics/output/file-provider.js +5 -6
- package/statistics/output/print-stats.d.ts +13 -1
- package/statistics/output/print-stats.js +12 -0
- package/statistics/output/statistics-file.d.ts +1 -2
- package/statistics/output/statistics-file.js +0 -1
- package/statistics/statistics.d.ts +3 -4
- package/statistics/statistics.js +4 -4
- package/statistics/summarizer/auto-detect.d.ts +3 -0
- package/statistics/summarizer/auto-detect.js +3 -0
- package/statistics/summarizer/post-process/clusterer.d.ts +3 -4
- package/statistics/summarizer/post-process/clusterer.js +0 -2
- package/statistics/summarizer/post-process/file-based-count.d.ts +0 -1
- package/statistics/summarizer/post-process/file-based-count.js +0 -1
- package/statistics/summarizer/post-process/histogram.d.ts +0 -2
- package/statistics/summarizer/post-process/histogram.js +0 -2
- package/statistics/summarizer/post-process/post-process-output.d.ts +2 -4
- package/statistics/summarizer/post-process/post-process-output.js +0 -3
- package/statistics/summarizer/second-phase/process.d.ts +5 -3
- package/statistics/summarizer/second-phase/process.js +3 -1
- package/statistics/summarizer/summarizer.d.ts +1 -2
- package/util/assert.d.ts +56 -2
- package/util/assert.js +56 -2
- package/util/collections/arrays.d.ts +10 -5
- package/util/collections/arrays.js +10 -5
- package/util/collections/defaultmap.d.ts +11 -11
- package/util/collections/defaultmap.js +11 -11
- package/util/containers.d.ts +2 -7
- package/util/containers.js +0 -5
- package/util/diff-graph.d.ts +0 -1
- package/util/diff-graph.js +0 -1
- package/util/diff.d.ts +3 -1
- package/util/diff.js +3 -1
- package/util/files.d.ts +12 -12
- package/util/files.js +11 -11
- package/util/html-hover-over.d.ts +5 -0
- package/util/html-hover-over.js +5 -0
- package/util/json.d.ts +13 -0
- package/util/json.js +13 -0
- package/util/log.d.ts +2 -2
- package/util/log.js +2 -2
- package/util/mermaid/ast.d.ts +7 -3
- package/util/mermaid/ast.js +39 -8
- package/util/mermaid/cfg.d.ts +1 -1
- package/util/mermaid/cfg.js +1 -1
- package/util/mermaid/dfg.d.ts +12 -4
- package/util/mermaid/dfg.js +9 -1
- package/util/mermaid/mermaid.d.ts +6 -1
- package/util/mermaid/mermaid.js +6 -1
- package/util/numbers.d.ts +7 -0
- package/util/numbers.js +7 -0
- package/util/objects.d.ts +0 -2
- package/util/os.d.ts +3 -0
- package/util/os.js +3 -0
- package/util/parallel.d.ts +4 -4
- package/util/parallel.js +4 -4
- package/util/prefix.d.ts +0 -1
- package/util/prefix.js +0 -1
- package/util/quads.d.ts +14 -17
- package/util/quads.js +3 -5
- package/util/r-value.d.ts +10 -1
- package/util/r-value.js +21 -0
- package/util/random.d.ts +3 -0
- package/util/random.js +3 -0
- package/util/range.d.ts +9 -3
- package/util/range.js +15 -2
- package/util/schema.d.ts +14 -1
- package/util/schema.js +15 -2
- package/util/simple-df/dfg-view.d.ts +4 -1
- package/util/simple-df/dfg-view.js +4 -1
- package/util/summarizer.d.ts +9 -1
- package/util/summarizer.js +9 -0
- package/util/text/ansi.d.ts +3 -0
- package/util/text/ansi.js +3 -0
- package/util/text/args.d.ts +2 -4
- package/util/text/args.js +7 -5
- package/util/text/text.d.ts +4 -0
- package/util/text/text.js +4 -0
- package/util/text/time.d.ts +0 -1
- package/util/text/time.js +0 -1
- package/util/version.d.ts +12 -3
- package/util/version.js +12 -3
- package/abstract-interpretation/data-frame/domain.d.ts +0 -107
- package/abstract-interpretation/data-frame/domain.js +0 -315
- package/abstract-interpretation/domains/set-bounded-set-domain.d.ts +0 -43
- package/abstract-interpretation/domains/set-bounded-set-domain.js +0 -164
- package/cli/repl/commands/repl-lineage.d.ts +0 -15
- package/cli/repl/commands/repl-lineage.js +0 -66
- package/cli/repl/server/messages/message-lineage.d.ts +0 -17
- package/cli/repl/server/messages/message-lineage.js +0 -25
- package/documentation/print-analyzer-wiki.d.ts +0 -1
- package/documentation/print-analyzer-wiki.js +0 -137
- package/documentation/print-capabilities-markdown.d.ts +0 -1
- package/documentation/print-cfg-wiki.d.ts +0 -1
- package/documentation/print-core-wiki.d.ts +0 -2
- package/documentation/print-dataflow-graph-wiki.d.ts +0 -1
- package/documentation/print-engines-wiki.d.ts +0 -1
- package/documentation/print-faq-wiki.d.ts +0 -1
- package/documentation/print-faq-wiki.js +0 -90
- package/documentation/print-interface-wiki.d.ts +0 -1
- package/documentation/print-linter-issue.d.ts +0 -1
- package/documentation/print-linter-wiki.d.ts +0 -1
- package/documentation/print-linting-and-testing-wiki.d.ts +0 -1
- package/documentation/print-normalized-ast-wiki.d.ts +0 -1
- package/documentation/print-onboarding-wiki.d.ts +0 -1
- package/documentation/print-query-wiki.d.ts +0 -1
- package/documentation/print-readme.d.ts +0 -1
- package/documentation/print-search-wiki.d.ts +0 -1
- package/documentation/print-search-wiki.js +0 -74
- package/queries/catalog/lineage-query/lineage-query-executor.d.ts +0 -3
- package/queries/catalog/lineage-query/lineage-query-executor.js +0 -22
- package/queries/catalog/lineage-query/lineage-query-format.d.ts +0 -22
- package/queries/catalog/lineage-query/lineage-query-format.js +0 -31
- package/util/formats/adapter-format.d.ts +0 -6
- package/util/formats/adapter-format.js +0 -3
- package/util/formats/adapter.d.ts +0 -18
- package/util/formats/adapter.js +0 -49
- package/util/formats/adapters/r-adapter.d.ts +0 -4
- package/util/formats/adapters/r-adapter.js +0 -7
- package/util/formats/adapters/rmd-adapter.d.ts +0 -26
- package/util/formats/adapters/rmd-adapter.js +0 -91
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* Token types as they are produced by the R parser.
|
|
3
3
|
* Not all of them are directly handled by the normalize step.
|
|
4
4
|
* Some of them are also listed as part of the {@link OperatorDatabase}.
|
|
5
|
-
*
|
|
6
5
|
* @see RType
|
|
7
6
|
*/
|
|
8
7
|
export declare enum RawRType {
|
|
@@ -132,7 +131,8 @@ export declare enum RawRType {
|
|
|
132
131
|
BraceRight = "}",
|
|
133
132
|
/** T63 */
|
|
134
133
|
Expression = "expr",
|
|
135
|
-
/**
|
|
134
|
+
/**
|
|
135
|
+
* T64
|
|
136
136
|
*
|
|
137
137
|
* https://github.com/REditorSupport/languageserver/issues/327
|
|
138
138
|
* https://github.com/REditorSupport/languageserver/pull/328
|
|
@@ -152,7 +152,6 @@ export declare enum RawRType {
|
|
|
152
152
|
* See {@link RNode} for a union type of all normalized AST nodes in-use.
|
|
153
153
|
* For each enum member, the respective normalized AST node should be referenced
|
|
154
154
|
* in the corresponding comment.
|
|
155
|
-
*
|
|
156
155
|
* @see RawRType
|
|
157
156
|
*/
|
|
158
157
|
export declare enum RType {
|
|
@@ -198,7 +197,10 @@ export declare enum RType {
|
|
|
198
197
|
String = "RString",
|
|
199
198
|
/** {@link RSymbol} */
|
|
200
199
|
Symbol = "RSymbol",
|
|
201
|
-
/** {@link
|
|
200
|
+
/** {@link RProject} */
|
|
201
|
+
Project = "RProject",
|
|
202
|
+
/**
|
|
203
|
+
* {@link RDelimiter}.
|
|
202
204
|
* Is not part of the normalized AST but can be found in
|
|
203
205
|
* {@link Source#additionalTokens}.
|
|
204
206
|
*/
|
|
@@ -210,7 +212,6 @@ export declare const ValidRTypesReverse: {
|
|
|
210
212
|
};
|
|
211
213
|
/**
|
|
212
214
|
* Validates, whether the given type can be used as a symbol in R
|
|
213
|
-
*
|
|
214
215
|
* @see RawRType
|
|
215
216
|
*/
|
|
216
217
|
export declare function isSymbol(type: string): boolean;
|
|
@@ -6,7 +6,6 @@ exports.isSymbol = isSymbol;
|
|
|
6
6
|
* Token types as they are produced by the R parser.
|
|
7
7
|
* Not all of them are directly handled by the normalize step.
|
|
8
8
|
* Some of them are also listed as part of the {@link OperatorDatabase}.
|
|
9
|
-
*
|
|
10
9
|
* @see RType
|
|
11
10
|
*/
|
|
12
11
|
var RawRType;
|
|
@@ -137,7 +136,8 @@ var RawRType;
|
|
|
137
136
|
RawRType["BraceRight"] = "}";
|
|
138
137
|
/** T63 */
|
|
139
138
|
RawRType["Expression"] = "expr";
|
|
140
|
-
/**
|
|
139
|
+
/**
|
|
140
|
+
* T64
|
|
141
141
|
*
|
|
142
142
|
* https://github.com/REditorSupport/languageserver/issues/327
|
|
143
143
|
* https://github.com/REditorSupport/languageserver/pull/328
|
|
@@ -157,7 +157,6 @@ var RawRType;
|
|
|
157
157
|
* See {@link RNode} for a union type of all normalized AST nodes in-use.
|
|
158
158
|
* For each enum member, the respective normalized AST node should be referenced
|
|
159
159
|
* in the corresponding comment.
|
|
160
|
-
*
|
|
161
160
|
* @see RawRType
|
|
162
161
|
*/
|
|
163
162
|
var RType;
|
|
@@ -205,7 +204,10 @@ var RType;
|
|
|
205
204
|
/** {@link RSymbol} */
|
|
206
205
|
RType["Symbol"] = "RSymbol";
|
|
207
206
|
/* ------ special types ------ */
|
|
208
|
-
/** {@link
|
|
207
|
+
/** {@link RProject} */
|
|
208
|
+
RType["Project"] = "RProject";
|
|
209
|
+
/**
|
|
210
|
+
* {@link RDelimiter}.
|
|
209
211
|
* Is not part of the normalized AST but can be found in
|
|
210
212
|
* {@link Source#additionalTokens}.
|
|
211
213
|
*/
|
|
@@ -227,7 +229,6 @@ const validSymbolTypes = new Set([
|
|
|
227
229
|
]);
|
|
228
230
|
/**
|
|
229
231
|
* Validates, whether the given type can be used as a symbol in R
|
|
230
|
-
*
|
|
231
232
|
* @see RawRType
|
|
232
233
|
*/
|
|
233
234
|
function isSymbol(type) {
|
|
@@ -61,7 +61,7 @@ function convertPreparedParsedData(roots) {
|
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
// Locate start, end of a source file (order children in advance).
|
|
64
|
-
const rootEntries =
|
|
64
|
+
const rootEntries = roots.slice().sort(orderOf);
|
|
65
65
|
const start = rootEntries[0];
|
|
66
66
|
const end = rootEntries[rootEntries.length - 1];
|
|
67
67
|
// Construct CsvEntry for the root, handling empty input.
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { NoInfo
|
|
3
|
-
import type {
|
|
4
|
-
import type
|
|
5
|
-
import type {
|
|
1
|
+
import { type IdGenerator, type NormalizedAst } from '../../model/processing/decorate';
|
|
2
|
+
import type { NoInfo } from '../../model/model';
|
|
3
|
+
import type { ParseStepOutput, ParseStepOutputSingleFile } from '../../../../parser';
|
|
4
|
+
import { type FlowrConfigOptions } from '../../../../../config';
|
|
5
|
+
import type { Tree } from 'web-tree-sitter';
|
|
6
|
+
import type { RProject } from '../../model/nodes/r-project';
|
|
6
7
|
export declare const parseLog: import("tslog").Logger<import("tslog").ILogObj>;
|
|
7
8
|
/**
|
|
8
9
|
* Take the output as produced by the parse step and normalize the AST from the R parser.
|
|
9
|
-
*
|
|
10
|
-
* @see {@link
|
|
11
|
-
* @see {@link normalizeTreeSitter} for a version that normalizes the AST from the TreeSitter parser
|
|
10
|
+
* @see {@link normalizeButNotDecorated} - for a version that does not decorate the AST
|
|
11
|
+
* @see {@link normalizeTreeSitter} - for a version that normalizes the AST from the TreeSitter parser
|
|
12
12
|
*/
|
|
13
|
-
export declare function normalize(parsed: ParseStepOutput<string>, getId?: IdGenerator<NoInfo
|
|
13
|
+
export declare function normalize(parsed: ParseStepOutput<string>, getId?: IdGenerator<NoInfo>): NormalizedAst;
|
|
14
14
|
/**
|
|
15
15
|
* Take the output as produced by the parse step and normalize the AST from the R parser.
|
|
16
|
-
* For additional decoration with
|
|
16
|
+
* For additional decoration with {@link decorateAst} use {@link normalize}.
|
|
17
17
|
*/
|
|
18
|
-
export declare function normalizeButNotDecorated({ parsed }:
|
|
18
|
+
export declare function normalizeButNotDecorated({ parsed, filePath }: ParseStepOutputSingleFile<string>): RProject;
|
|
19
19
|
/**
|
|
20
20
|
* Tree-Sitter pendant to {@link normalize}.
|
|
21
21
|
*/
|
|
22
|
-
export declare function normalizeTreeSitter(
|
|
22
|
+
export declare function normalizeTreeSitter(parsed: ParseStepOutput<Tree>, getId: IdGenerator<NoInfo> | undefined, config: FlowrConfigOptions): NormalizedAst;
|
|
@@ -10,32 +10,32 @@ const decorate_1 = require("../../model/processing/decorate");
|
|
|
10
10
|
const normalize_root_1 = require("../main/internal/structure/normalize-root");
|
|
11
11
|
const tree_sitter_normalize_1 = require("../../../tree-sitter/tree-sitter-normalize");
|
|
12
12
|
const config_1 = require("../../../../../config");
|
|
13
|
+
const r_project_1 = require("../../model/nodes/r-project");
|
|
13
14
|
exports.parseLog = log_1.log.getSubLogger({ name: 'ast-parser' });
|
|
14
15
|
/**
|
|
15
16
|
* Take the output as produced by the parse step and normalize the AST from the R parser.
|
|
16
|
-
*
|
|
17
|
-
* @see {@link
|
|
18
|
-
* @see {@link normalizeTreeSitter} for a version that normalizes the AST from the TreeSitter parser
|
|
17
|
+
* @see {@link normalizeButNotDecorated} - for a version that does not decorate the AST
|
|
18
|
+
* @see {@link normalizeTreeSitter} - for a version that normalizes the AST from the TreeSitter parser
|
|
19
19
|
*/
|
|
20
|
-
function normalize(parsed, getId = (0, decorate_1.deterministicCountingIdGenerator)(0)
|
|
21
|
-
return (0, decorate_1.decorateAst)(
|
|
20
|
+
function normalize(parsed, getId = (0, decorate_1.deterministicCountingIdGenerator)(0)) {
|
|
21
|
+
return (0, decorate_1.decorateAst)((0, r_project_1.mergeProjects)(parsed.files.map(normalizeButNotDecorated)), { getId });
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Take the output as produced by the parse step and normalize the AST from the R parser.
|
|
25
|
-
* For additional decoration with
|
|
25
|
+
* For additional decoration with {@link decorateAst} use {@link normalize}.
|
|
26
26
|
*/
|
|
27
|
-
function normalizeButNotDecorated({ parsed }) {
|
|
27
|
+
function normalizeButNotDecorated({ parsed, filePath }) {
|
|
28
28
|
const data = { currentRange: undefined, currentLexeme: undefined };
|
|
29
29
|
const object = (0, format_1.convertPreparedParsedData)((0, format_1.prepareParsedData)(parsed));
|
|
30
|
-
return (0, normalize_root_1.normalizeRootObjToAst)(data, object);
|
|
30
|
+
return (0, normalize_root_1.normalizeRootObjToAst)(data, object, filePath);
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Tree-Sitter pendant to {@link normalize}.
|
|
34
34
|
*/
|
|
35
|
-
function normalizeTreeSitter(
|
|
35
|
+
function normalizeTreeSitter(parsed, getId = (0, decorate_1.deterministicCountingIdGenerator)(0), config) {
|
|
36
36
|
const lax = (0, config_1.getEngineConfig)(config, 'tree-sitter')?.lax;
|
|
37
|
-
const result = (0, decorate_1.decorateAst)((0, tree_sitter_normalize_1.normalizeTreeSitterTreeToAst)(parsed, lax), { getId
|
|
38
|
-
result.hasError = parsed.rootNode.hasError;
|
|
37
|
+
const result = (0, decorate_1.decorateAst)((0, tree_sitter_normalize_1.normalizeTreeSitterTreeToAst)(parsed.files, lax), { getId });
|
|
38
|
+
result.hasError = parsed.files.some(p => p.parsed.rootNode.hasError);
|
|
39
39
|
return result;
|
|
40
40
|
}
|
|
41
41
|
//# sourceMappingURL=parser.js.map
|
|
@@ -3,7 +3,6 @@ import type { RNode } from '../../../../model/model';
|
|
|
3
3
|
import type { JsonEntry } from '../../../json/format';
|
|
4
4
|
/**
|
|
5
5
|
* Returns an expression list if there are multiple children, otherwise returns the single child directly with no expr wrapper
|
|
6
|
-
*
|
|
7
6
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
8
7
|
* @param entry - The JSON object to extract the meta-information from
|
|
9
8
|
*/
|
|
@@ -11,7 +11,6 @@ const type_1 = require("../../../../model/type");
|
|
|
11
11
|
const normalize_comment_1 = require("../other/normalize-comment");
|
|
12
12
|
/**
|
|
13
13
|
* Returns an expression list if there are multiple children, otherwise returns the single child directly with no expr wrapper
|
|
14
|
-
*
|
|
15
14
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
16
15
|
* @param entry - The JSON object to extract the meta-information from
|
|
17
16
|
*/
|
|
@@ -4,10 +4,8 @@ import type { NamedJsonEntry } from '../../../json/format';
|
|
|
4
4
|
/**
|
|
5
5
|
* Either parses `[expr]` or `[SYMBOL_SUB, EQ_SUB, expr]` as an argument of a function call in R.
|
|
6
6
|
* Probably directly called by the function call parser as otherwise, we do not expect to find arguments.
|
|
7
|
-
*
|
|
8
7
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
9
8
|
* @param objs - Either `[expr]` or `[SYMBOL_FORMALS, EQ_FORMALS, expr]`
|
|
10
|
-
*
|
|
11
9
|
* @returns The parsed argument or `undefined` if the given object is not an argument.
|
|
12
10
|
*/
|
|
13
11
|
export declare function tryToNormalizeArgument(data: NormalizerData, objs: readonly NamedJsonEntry[]): RArgument | undefined;
|
|
@@ -10,10 +10,8 @@ const strings_1 = require("../../../../../../../util/text/strings");
|
|
|
10
10
|
/**
|
|
11
11
|
* Either parses `[expr]` or `[SYMBOL_SUB, EQ_SUB, expr]` as an argument of a function call in R.
|
|
12
12
|
* Probably directly called by the function call parser as otherwise, we do not expect to find arguments.
|
|
13
|
-
*
|
|
14
13
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
15
14
|
* @param objs - Either `[expr]` or `[SYMBOL_FORMALS, EQ_FORMALS, expr]`
|
|
16
|
-
*
|
|
17
15
|
* @returns The parsed argument or `undefined` if the given object is not an argument.
|
|
18
16
|
*/
|
|
19
17
|
function tryToNormalizeArgument(data, objs) {
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import type { NormalizerData } from '../../normalizer-data';
|
|
2
|
-
import type
|
|
2
|
+
import { type RFunctionCall } from '../../../../model/nodes/r-function-call';
|
|
3
3
|
import type { RNext } from '../../../../model/nodes/r-next';
|
|
4
4
|
import type { RBreak } from '../../../../model/nodes/r-break';
|
|
5
5
|
import type { NamedJsonEntry } from '../../../json/format';
|
|
6
6
|
/**
|
|
7
7
|
* Tries to parse the given data as a function call.
|
|
8
|
-
*
|
|
9
8
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
10
9
|
* @param mappedWithName - The JSON object to extract the meta-information from
|
|
11
|
-
*
|
|
12
10
|
* @returns The parsed {@link RFunctionCall} (either named or unnamed) or `undefined` if the given construct is not a function call
|
|
13
11
|
* May return a {@link RNext} or {@link RBreak} as `next()` and `break()` work as such.
|
|
14
12
|
*/
|
|
@@ -13,10 +13,8 @@ const normalize_string_1 = require("../values/normalize-string");
|
|
|
13
13
|
const normalize_symbol_1 = require("../values/normalize-symbol");
|
|
14
14
|
/**
|
|
15
15
|
* Tries to parse the given data as a function call.
|
|
16
|
-
*
|
|
17
16
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
18
17
|
* @param mappedWithName - The JSON object to extract the meta-information from
|
|
19
|
-
*
|
|
20
18
|
* @returns The parsed {@link RFunctionCall} (either named or unnamed) or `undefined` if the given construct is not a function call
|
|
21
19
|
* May return a {@link RNext} or {@link RBreak} as `next()` and `break()` work as such.
|
|
22
20
|
*/
|
|
@@ -3,10 +3,8 @@ import type { RFunctionDefinition } from '../../../../model/nodes/r-function-def
|
|
|
3
3
|
import type { NamedJsonEntry } from '../../../json/format';
|
|
4
4
|
/**
|
|
5
5
|
* Tries to parse the given data as a function definition.
|
|
6
|
-
*
|
|
7
6
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
8
7
|
* @param mappedWithName - The JSON object to extract the meta-information from
|
|
9
|
-
*
|
|
10
8
|
* @returns The parsed {@link RFunctionDefinition} or `undefined` if the given construct is not a function definition
|
|
11
9
|
*/
|
|
12
10
|
export declare function tryNormalizeFunctionDefinition(data: NormalizerData, mappedWithName: readonly NamedJsonEntry[]): RFunctionDefinition | undefined;
|
|
@@ -10,10 +10,8 @@ const type_1 = require("../../../../model/type");
|
|
|
10
10
|
const normalize_expressions_1 = require("../structure/normalize-expressions");
|
|
11
11
|
/**
|
|
12
12
|
* Tries to parse the given data as a function definition.
|
|
13
|
-
*
|
|
14
13
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
15
14
|
* @param mappedWithName - The JSON object to extract the meta-information from
|
|
16
|
-
*
|
|
17
15
|
* @returns The parsed {@link RFunctionDefinition} or `undefined` if the given construct is not a function definition
|
|
18
16
|
*/
|
|
19
17
|
function tryNormalizeFunctionDefinition(data, mappedWithName) {
|
|
@@ -4,10 +4,8 @@ import type { NamedJsonEntry } from '../../../json/format';
|
|
|
4
4
|
/**
|
|
5
5
|
* Either parses `[SYMBOL_FORMALS]` or `[SYMBOL_FORMALS, EQ_FORMALS, expr]` as a parameter of a function definition in R.
|
|
6
6
|
* Probably directly called by the function definition parser as otherwise, we do not expect to find parameters.
|
|
7
|
-
*
|
|
8
7
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
9
8
|
* @param objs - Either `[SYMBOL_FORMALS]` or `[SYMBOL_FORMALS, EQ_FORMALS, expr]`
|
|
10
|
-
*
|
|
11
9
|
* @returns The parsed parameter or `undefined` if the given object is not a parameter.
|
|
12
10
|
*/
|
|
13
11
|
export declare function tryNormalizeParameter(data: NormalizerData, objs: readonly NamedJsonEntry[]): RParameter | undefined;
|
|
@@ -9,10 +9,8 @@ const normalize_single_node_1 = require("../structure/normalize-single-node");
|
|
|
9
9
|
/**
|
|
10
10
|
* Either parses `[SYMBOL_FORMALS]` or `[SYMBOL_FORMALS, EQ_FORMALS, expr]` as a parameter of a function definition in R.
|
|
11
11
|
* Probably directly called by the function definition parser as otherwise, we do not expect to find parameters.
|
|
12
|
-
*
|
|
13
12
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
14
13
|
* @param objs - Either `[SYMBOL_FORMALS]` or `[SYMBOL_FORMALS, EQ_FORMALS, expr]`
|
|
15
|
-
*
|
|
16
14
|
* @returns The parsed parameter or `undefined` if the given object is not a parameter.
|
|
17
15
|
*/
|
|
18
16
|
function tryNormalizeParameter(data, objs) {
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { NormalizerData } from '../../normalizer-data';
|
|
2
2
|
import type { RBreak } from '../../../../model/nodes/r-break';
|
|
3
3
|
import type { JsonEntry } from '../../../json/format';
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
4
7
|
export declare function normalizeBreak(data: NormalizerData, obj: JsonEntry): RBreak;
|
|
@@ -5,6 +5,9 @@ const parser_1 = require("../../../json/parser");
|
|
|
5
5
|
const log_1 = require("../../../../../../../util/log");
|
|
6
6
|
const normalize_meta_1 = require("../../normalize-meta");
|
|
7
7
|
const type_1 = require("../../../../model/type");
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
8
11
|
function normalizeBreak(data, obj) {
|
|
9
12
|
(0, log_1.expensiveTrace)(parser_1.parseLog, () => `[break] ${JSON.stringify(obj)}`);
|
|
10
13
|
const { location, content } = (0, normalize_meta_1.retrieveMetaStructure)(obj);
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type NormalizerData } from '../../normalizer-data';
|
|
2
2
|
import type { RForLoop } from '../../../../model/nodes/r-for-loop';
|
|
3
3
|
import type { NamedJsonEntry } from '../../../json/format';
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
4
7
|
export declare function tryNormalizeFor(data: NormalizerData, [forToken, head, body]: [NamedJsonEntry, NamedJsonEntry, NamedJsonEntry]): RForLoop | undefined;
|
|
@@ -10,6 +10,9 @@ const normalize_single_node_1 = require("../structure/normalize-single-node");
|
|
|
10
10
|
const normalize_expressions_1 = require("../structure/normalize-expressions");
|
|
11
11
|
const normalize_symbol_1 = require("../values/normalize-symbol");
|
|
12
12
|
const normalize_comment_1 = require("../other/normalize-comment");
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
13
16
|
function tryNormalizeFor(data, [forToken, head, body]) {
|
|
14
17
|
// funny, for does not use top-level parenthesis
|
|
15
18
|
if (forToken.name !== type_1.RawRType.For) {
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { NormalizerData } from '../../normalizer-data';
|
|
2
2
|
import type { RNext } from '../../../../model/nodes/r-next';
|
|
3
3
|
import type { JsonEntry } from '../../../json/format';
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
4
7
|
export declare function normalizeNext(data: NormalizerData, obj: JsonEntry): RNext;
|
|
@@ -5,6 +5,9 @@ const log_1 = require("../../../../../../../util/log");
|
|
|
5
5
|
const parser_1 = require("../../../json/parser");
|
|
6
6
|
const normalize_meta_1 = require("../../normalize-meta");
|
|
7
7
|
const type_1 = require("../../../../model/type");
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
8
11
|
function normalizeNext(data, obj) {
|
|
9
12
|
(0, log_1.expensiveTrace)(parser_1.parseLog, () => `[next] ${JSON.stringify(obj)}`);
|
|
10
13
|
const { location, content } = (0, normalize_meta_1.retrieveMetaStructure)(obj);
|
|
@@ -3,11 +3,9 @@ import type { RRepeatLoop } from '../../../../model/nodes/r-repeat-loop';
|
|
|
3
3
|
import type { NamedJsonEntry } from '../../../json/format';
|
|
4
4
|
/**
|
|
5
5
|
* Try to parse the construct as a {@link RRepeatLoop}.
|
|
6
|
-
*
|
|
7
6
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
8
7
|
* @param repeatToken - Token which represents the `repeat` keyword
|
|
9
8
|
* @param bodyToken - The `body` of the repeat-loop
|
|
10
|
-
*
|
|
11
9
|
* @returns The parsed {@link RRepeatLoop} or `undefined` if the given construct is not a repeat-loop
|
|
12
10
|
*/
|
|
13
11
|
export declare function tryNormalizeRepeat(data: NormalizerData, [repeatToken, bodyToken]: [NamedJsonEntry, NamedJsonEntry]): RRepeatLoop | undefined;
|
|
@@ -8,11 +8,9 @@ const type_1 = require("../../../../model/type");
|
|
|
8
8
|
const normalize_single_node_1 = require("../structure/normalize-single-node");
|
|
9
9
|
/**
|
|
10
10
|
* Try to parse the construct as a {@link RRepeatLoop}.
|
|
11
|
-
*
|
|
12
11
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
13
12
|
* @param repeatToken - Token which represents the `repeat` keyword
|
|
14
13
|
* @param bodyToken - The `body` of the repeat-loop
|
|
15
|
-
*
|
|
16
14
|
* @returns The parsed {@link RRepeatLoop} or `undefined` if the given construct is not a repeat-loop
|
|
17
15
|
*/
|
|
18
16
|
function tryNormalizeRepeat(data, [repeatToken, bodyToken]) {
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type NormalizerData } from '../../normalizer-data';
|
|
2
2
|
import type { RWhileLoop } from '../../../../model/nodes/r-while-loop';
|
|
3
3
|
import type { NamedJsonEntry } from '../../../json/format';
|
|
4
|
+
/**
|
|
5
|
+
* Tries to normalize a while-loop structure from the given tokens.
|
|
6
|
+
*/
|
|
4
7
|
export declare function tryNormalizeWhile(data: NormalizerData, [whileToken, leftParen, condition, rightParen, body]: [NamedJsonEntry, NamedJsonEntry, NamedJsonEntry, NamedJsonEntry, NamedJsonEntry]): RWhileLoop | undefined;
|
|
@@ -6,6 +6,9 @@ const parser_1 = require("../../../json/parser");
|
|
|
6
6
|
const normalize_meta_1 = require("../../normalize-meta");
|
|
7
7
|
const type_1 = require("../../../../model/type");
|
|
8
8
|
const normalize_single_node_1 = require("../structure/normalize-single-node");
|
|
9
|
+
/**
|
|
10
|
+
* Tries to normalize a while-loop structure from the given tokens.
|
|
11
|
+
*/
|
|
9
12
|
function tryNormalizeWhile(data, [whileToken, leftParen, condition, rightParen, body]) {
|
|
10
13
|
if (whileToken.name !== type_1.RawRType.While) {
|
|
11
14
|
parser_1.parseLog.debug('encountered non-while token for supposed while-loop structure');
|
|
@@ -3,10 +3,8 @@ import type { RAccess } from '../../../model/nodes/r-access';
|
|
|
3
3
|
import type { NamedJsonEntry } from '../../json/format';
|
|
4
4
|
/**
|
|
5
5
|
* Tries to normalize the given data as access (e.g., indexing).
|
|
6
|
-
*
|
|
7
6
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
8
7
|
* @param mappedWithName - The JSON object to extract the meta-information from
|
|
9
|
-
*
|
|
10
8
|
* @returns The parsed {@link RAccess} or `undefined` if the given construct is not accessing a value
|
|
11
9
|
*/
|
|
12
10
|
export declare function tryNormalizeAccess(data: NormalizerData, mappedWithName: NamedJsonEntry[]): RAccess | undefined;
|
|
@@ -38,10 +38,8 @@ function normalizeAbstractArgument(x, data, operator) {
|
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* Tries to normalize the given data as access (e.g., indexing).
|
|
41
|
-
*
|
|
42
41
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
43
42
|
* @param mappedWithName - The JSON object to extract the meta-information from
|
|
44
|
-
*
|
|
45
43
|
* @returns The parsed {@link RAccess} or `undefined` if the given construct is not accessing a value
|
|
46
44
|
*/
|
|
47
45
|
function tryNormalizeAccess(data, mappedWithName) {
|
|
@@ -3,11 +3,9 @@ import type { RNode } from '../../../../model/model';
|
|
|
3
3
|
import type { NamedJsonEntry } from '../../../json/format';
|
|
4
4
|
/**
|
|
5
5
|
* Parses the construct as a {@link RUnaryOp}.
|
|
6
|
-
*
|
|
7
6
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
8
7
|
* @param operator - The operator token
|
|
9
8
|
* @param operand - The operand of the unary operator
|
|
10
|
-
*
|
|
11
9
|
* @returns The parsed {@link RUnaryOp} or `undefined` if the given construct is not a unary operator
|
|
12
10
|
*/
|
|
13
11
|
export declare function tryNormalizeUnary(data: NormalizerData, [operator, operand]: [NamedJsonEntry, NamedJsonEntry]): RNode | undefined;
|
|
@@ -10,11 +10,9 @@ const normalize_single_node_1 = require("../structure/normalize-single-node");
|
|
|
10
10
|
const type_1 = require("../../../../model/type");
|
|
11
11
|
/**
|
|
12
12
|
* Parses the construct as a {@link RUnaryOp}.
|
|
13
|
-
*
|
|
14
13
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
15
14
|
* @param operator - The operator token
|
|
16
15
|
* @param operand - The operand of the unary operator
|
|
17
|
-
*
|
|
18
16
|
* @returns The parsed {@link RUnaryOp} or `undefined` if the given construct is not a unary operator
|
|
19
17
|
*/
|
|
20
18
|
function tryNormalizeUnary(data, [operator, operand]) {
|
|
@@ -4,7 +4,6 @@ import type { JsonEntry } from '../../../json/format';
|
|
|
4
4
|
/**
|
|
5
5
|
* Normalize the given object as an R comment.
|
|
6
6
|
* This requires you to check the corresponding name beforehand.
|
|
7
|
-
*
|
|
8
7
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
9
8
|
* @param obj - The JSON object to extract the meta-information from
|
|
10
9
|
*/
|
|
@@ -7,7 +7,6 @@ const type_1 = require("../../../../model/type");
|
|
|
7
7
|
/**
|
|
8
8
|
* Normalize the given object as an R comment.
|
|
9
9
|
* This requires you to check the corresponding name beforehand.
|
|
10
|
-
*
|
|
11
10
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
12
11
|
* @param obj - The JSON object to extract the meta-information from
|
|
13
12
|
*/
|
|
@@ -6,7 +6,6 @@ import type { JsonEntry } from '../../../json/format';
|
|
|
6
6
|
* Normalize the given object as an R line directive (`#line <number> "<file>"`).
|
|
7
7
|
* This requires you to check the corresponding name beforehand.
|
|
8
8
|
* If the given object turns out to be no line directive, this returns a normal comment instead.
|
|
9
|
-
*
|
|
10
9
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
11
10
|
* @param obj - The JSON object to extract the meta-information from
|
|
12
11
|
*/
|
|
@@ -10,7 +10,6 @@ const LineDirectiveRegex = /^#line\s+(\d+)\s+"([^"]+)"\s*$/;
|
|
|
10
10
|
* Normalize the given object as an R line directive (`#line <number> "<file>"`).
|
|
11
11
|
* This requires you to check the corresponding name beforehand.
|
|
12
12
|
* If the given object turns out to be no line directive, this returns a normal comment instead.
|
|
13
|
-
*
|
|
14
13
|
* @param data - The data used by the parser (see {@link NormalizerData})
|
|
15
14
|
* @param obj - The JSON object to extract the meta-information from
|
|
16
15
|
*/
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import type { RDelimiter } from '../../../../model/nodes/info/r-delimiter';
|
|
2
2
|
import type { NamedJsonEntry } from '../../../json/format';
|
|
3
|
+
/**
|
|
4
|
+
* Normalizes a delimiter node like `,`.
|
|
5
|
+
*/
|
|
3
6
|
export declare function normalizeDelimiter(elem: NamedJsonEntry): RDelimiter;
|
|
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.normalizeDelimiter = normalizeDelimiter;
|
|
4
4
|
const normalize_meta_1 = require("../../normalize-meta");
|
|
5
5
|
const type_1 = require("../../../../model/type");
|
|
6
|
+
/**
|
|
7
|
+
* Normalizes a delimiter node like `,`.
|
|
8
|
+
*/
|
|
6
9
|
function normalizeDelimiter(elem) {
|
|
7
10
|
const { location, content } = (0, normalize_meta_1.retrieveMetaStructure)(elem.content);
|
|
8
11
|
return {
|
|
@@ -2,9 +2,18 @@ import type { NormalizerData } from '../../normalizer-data';
|
|
|
2
2
|
import type { RDelimiter } from '../../../../model/nodes/info/r-delimiter';
|
|
3
3
|
import type { RNode } from '../../../../model/model';
|
|
4
4
|
import type { JsonEntry, NamedJsonEntry } from '../../../json/format';
|
|
5
|
+
/**
|
|
6
|
+
* Split a token collection into comments tokens and "other" tokens
|
|
7
|
+
*/
|
|
5
8
|
export declare function splitComments(tokens: readonly NamedJsonEntry[]): {
|
|
6
9
|
comments: NamedJsonEntry[];
|
|
7
10
|
others: NamedJsonEntry[];
|
|
8
11
|
};
|
|
12
|
+
/**
|
|
13
|
+
* Normalizes a list of expressions, handling semicolons and braces
|
|
14
|
+
*/
|
|
9
15
|
export declare function normalizeExpressions(data: NormalizerData, tokens: readonly JsonEntry[] | readonly NamedJsonEntry[]): (RNode | RDelimiter)[];
|
|
16
|
+
/**
|
|
17
|
+
* Parses nodes when their type is unknown
|
|
18
|
+
*/
|
|
10
19
|
export declare function parseNodesWithUnknownType(data: NormalizerData, mappedWithName: readonly NamedJsonEntry[] | undefined): (RNode | RDelimiter)[];
|
|
@@ -45,6 +45,9 @@ function normalizeMappedWithoutSemicolonBasedOnType(mappedWithName, data) {
|
|
|
45
45
|
// otherwise perform default parsing
|
|
46
46
|
return result !== undefined ? [result] : parseNodesWithUnknownType(data, mappedWithName);
|
|
47
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Split a token collection into comments tokens and "other" tokens
|
|
50
|
+
*/
|
|
48
51
|
function splitComments(tokens) {
|
|
49
52
|
const comments = [];
|
|
50
53
|
const others = [];
|
|
@@ -132,6 +135,9 @@ function processBraces([start, end], processed, comments, data) {
|
|
|
132
135
|
}
|
|
133
136
|
};
|
|
134
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Normalizes a list of expressions, handling semicolons and braces
|
|
140
|
+
*/
|
|
135
141
|
function normalizeExpressions(data, tokens) {
|
|
136
142
|
if (tokens.length === 0) {
|
|
137
143
|
parser_1.parseLog.warn('no children received, skipping');
|
|
@@ -170,6 +176,9 @@ function normalizeExpressions(data, tokens) {
|
|
|
170
176
|
}
|
|
171
177
|
return [...parsedComments, ...normalizeMappedWithoutSemicolonBasedOnType(mappedWithName, data)];
|
|
172
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Parses nodes when their type is unknown
|
|
181
|
+
*/
|
|
173
182
|
function parseNodesWithUnknownType(data, mappedWithName) {
|
|
174
183
|
const parsedNodes = [];
|
|
175
184
|
// used to indicate the new root node of this set of nodes
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { NormalizerData } from '../../normalizer-data';
|
|
2
|
-
import type { RExpressionList } from '../../../../model/nodes/r-expression-list';
|
|
3
2
|
import type { JsonEntry } from '../../../json/format';
|
|
3
|
+
import type { RProject } from '../../../../model/nodes/r-project';
|
|
4
4
|
/**
|
|
5
|
-
* Takes the parse
|
|
5
|
+
* Takes the parse data as object and produces an undecorated, normalized AST.
|
|
6
|
+
* @see {@link normalize} - for a version that also decorates the AST
|
|
6
7
|
*/
|
|
7
|
-
export declare function normalizeRootObjToAst(data: NormalizerData, obj: JsonEntry):
|
|
8
|
+
export declare function normalizeRootObjToAst(data: NormalizerData, obj: JsonEntry, filePath?: string): RProject;
|