@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.
Files changed (808) hide show
  1. package/README.md +142 -39
  2. package/abstract-interpretation/data-frame/absint-info.d.ts +1 -1
  3. package/abstract-interpretation/data-frame/absint-visitor.d.ts +2 -3
  4. package/abstract-interpretation/data-frame/absint-visitor.js +17 -12
  5. package/abstract-interpretation/data-frame/dataframe-domain.d.ts +18 -12
  6. package/abstract-interpretation/data-frame/dataframe-domain.js +25 -13
  7. package/abstract-interpretation/data-frame/mappers/access-mapper.d.ts +0 -1
  8. package/abstract-interpretation/data-frame/mappers/access-mapper.js +0 -1
  9. package/abstract-interpretation/data-frame/mappers/arguments.d.ts +1 -10
  10. package/abstract-interpretation/data-frame/mappers/arguments.js +0 -7
  11. package/abstract-interpretation/data-frame/mappers/assignment-mapper.d.ts +0 -1
  12. package/abstract-interpretation/data-frame/mappers/assignment-mapper.js +0 -1
  13. package/abstract-interpretation/data-frame/mappers/function-mapper.d.ts +9 -10
  14. package/abstract-interpretation/data-frame/mappers/function-mapper.js +21 -18
  15. package/abstract-interpretation/data-frame/mappers/replacement-mapper.d.ts +0 -1
  16. package/abstract-interpretation/data-frame/mappers/replacement-mapper.js +0 -1
  17. package/abstract-interpretation/data-frame/resolve-args.d.ts +1 -1
  18. package/abstract-interpretation/data-frame/semantics.d.ts +3 -4
  19. package/abstract-interpretation/data-frame/semantics.js +179 -162
  20. package/abstract-interpretation/data-frame/shape-inference.d.ts +4 -7
  21. package/abstract-interpretation/data-frame/shape-inference.js +10 -12
  22. package/abstract-interpretation/domains/abstract-domain.d.ts +59 -18
  23. package/abstract-interpretation/domains/abstract-domain.js +74 -1
  24. package/abstract-interpretation/domains/bounded-set-domain.d.ts +37 -24
  25. package/abstract-interpretation/domains/bounded-set-domain.js +70 -47
  26. package/abstract-interpretation/domains/interval-domain.d.ts +33 -25
  27. package/abstract-interpretation/domains/interval-domain.js +109 -50
  28. package/abstract-interpretation/domains/lattice.d.ts +19 -11
  29. package/abstract-interpretation/domains/mapped-abstract-domain.d.ts +34 -0
  30. package/abstract-interpretation/domains/mapped-abstract-domain.js +189 -0
  31. package/abstract-interpretation/domains/positive-interval-domain.d.ts +16 -12
  32. package/abstract-interpretation/domains/positive-interval-domain.js +20 -11
  33. package/abstract-interpretation/domains/product-domain.d.ts +18 -23
  34. package/abstract-interpretation/domains/product-domain.js +11 -19
  35. package/abstract-interpretation/domains/satisfiable-domain.d.ts +29 -0
  36. package/abstract-interpretation/domains/satisfiable-domain.js +24 -0
  37. package/abstract-interpretation/domains/set-upper-bound-domain.d.ts +54 -0
  38. package/abstract-interpretation/domains/set-upper-bound-domain.js +197 -0
  39. package/abstract-interpretation/domains/singleton-domain.d.ts +24 -19
  40. package/abstract-interpretation/domains/singleton-domain.js +52 -37
  41. package/abstract-interpretation/domains/state-abstract-domain.d.ts +8 -24
  42. package/abstract-interpretation/domains/state-abstract-domain.js +2 -167
  43. package/abstract-interpretation/normalized-ast-fold.d.ts +2 -8
  44. package/abstract-interpretation/normalized-ast-fold.js +0 -5
  45. package/benchmark/slicer.d.ts +4 -7
  46. package/benchmark/slicer.js +27 -31
  47. package/benchmark/stats/print.d.ts +6 -0
  48. package/benchmark/stats/print.js +6 -0
  49. package/benchmark/stats/size-of.d.ts +0 -1
  50. package/benchmark/stats/size-of.js +0 -1
  51. package/benchmark/stats/stats.d.ts +2 -2
  52. package/benchmark/stopwatch.d.ts +11 -13
  53. package/benchmark/stopwatch.js +11 -13
  54. package/benchmark/summarizer/first-phase/input.d.ts +6 -0
  55. package/benchmark/summarizer/first-phase/input.js +6 -0
  56. package/benchmark/summarizer/first-phase/process.d.ts +13 -1
  57. package/benchmark/summarizer/first-phase/process.js +13 -1
  58. package/benchmark/summarizer/second-phase/graph.d.ts +5 -0
  59. package/benchmark/summarizer/second-phase/graph.js +5 -0
  60. package/benchmark/summarizer/second-phase/process.d.ts +12 -0
  61. package/benchmark/summarizer/second-phase/process.js +12 -0
  62. package/benchmark/summarizer/summarizer.d.ts +1 -2
  63. package/cli/benchmark-app.js +0 -2
  64. package/cli/common/features.d.ts +7 -1
  65. package/cli/common/features.js +6 -0
  66. package/cli/common/script.d.ts +3 -1
  67. package/cli/common/script.js +3 -1
  68. package/cli/common/scripts-info.d.ts +3 -1
  69. package/cli/common/scripts-info.js +3 -0
  70. package/cli/export-quads-app.js +1 -1
  71. package/cli/flowr-main-options.d.ts +3 -0
  72. package/cli/flowr-main-options.js +3 -0
  73. package/cli/repl/commands/repl-commands.d.ts +13 -0
  74. package/cli/repl/commands/repl-commands.js +13 -2
  75. package/cli/repl/commands/repl-dataflow.js +2 -1
  76. package/cli/repl/commands/repl-execute.d.ts +4 -0
  77. package/cli/repl/commands/repl-execute.js +6 -2
  78. package/cli/repl/commands/repl-main.d.ts +15 -9
  79. package/cli/repl/commands/repl-parse.js +18 -6
  80. package/cli/repl/commands/repl-query.js +16 -5
  81. package/cli/repl/core.d.ts +24 -6
  82. package/cli/repl/core.js +42 -30
  83. package/cli/repl/execute.d.ts +0 -2
  84. package/cli/repl/execute.js +0 -2
  85. package/cli/repl/parser/slice-query-parser.d.ts +14 -0
  86. package/cli/repl/parser/slice-query-parser.js +34 -0
  87. package/cli/repl/print-version.d.ts +6 -0
  88. package/cli/repl/print-version.js +6 -0
  89. package/cli/repl/server/compact.d.ts +8 -0
  90. package/cli/repl/server/compact.js +8 -0
  91. package/cli/repl/server/connection.d.ts +4 -3
  92. package/cli/repl/server/connection.js +5 -32
  93. package/cli/repl/server/messages/all-messages.d.ts +1 -3
  94. package/cli/repl/server/messages/all-messages.js +0 -1
  95. package/cli/repl/server/messages/message-analysis.d.ts +0 -2
  96. package/cli/repl/server/messages/message-query.d.ts +1 -1
  97. package/cli/repl/server/messages/message-repl.d.ts +0 -1
  98. package/cli/repl/server/send.d.ts +6 -0
  99. package/cli/repl/server/send.js +6 -0
  100. package/cli/repl/server/server.d.ts +1 -1
  101. package/cli/repl/server/validate.d.ts +10 -1
  102. package/cli/repl/server/validate.js +9 -0
  103. package/cli/run-script.d.ts +1 -2
  104. package/cli/run-script.js +0 -1
  105. package/cli/script-core/statistics-core.d.ts +3 -0
  106. package/cli/script-core/statistics-core.js +3 -0
  107. package/cli/script-core/statistics-helper-core.d.ts +4 -1
  108. package/cli/script-core/statistics-helper-core.js +5 -1
  109. package/cli/script-core/summarizer-core.d.ts +3 -0
  110. package/cli/script-core/summarizer-core.js +3 -0
  111. package/cli/slicer-app.js +3 -4
  112. package/cli/summarizer-app.d.ts +2 -3
  113. package/cli/summarizer-app.js +2 -3
  114. package/cli/wiki.d.ts +4 -0
  115. package/cli/wiki.js +165 -0
  116. package/config.d.ts +21 -3
  117. package/config.js +21 -0
  118. package/control-flow/basic-cfg-guided-visitor.d.ts +1 -2
  119. package/control-flow/basic-cfg-guided-visitor.js +0 -1
  120. package/control-flow/cfg-dead-code.js +13 -3
  121. package/control-flow/cfg-simplification.d.ts +5 -2
  122. package/control-flow/cfg-simplification.js +3 -0
  123. package/control-flow/cfg-to-basic-blocks.d.ts +1 -1
  124. package/control-flow/control-flow-graph.d.ts +20 -12
  125. package/control-flow/control-flow-graph.js +16 -4
  126. package/control-flow/dfg-cfg-guided-visitor.d.ts +2 -3
  127. package/control-flow/diff-cfg.d.ts +3 -5
  128. package/control-flow/diff-cfg.js +0 -1
  129. package/control-flow/extract-cfg.d.ts +12 -9
  130. package/control-flow/extract-cfg.js +44 -7
  131. package/control-flow/happens-before.d.ts +1 -1
  132. package/control-flow/semantic-cfg-guided-visitor.d.ts +4 -33
  133. package/control-flow/semantic-cfg-guided-visitor.js +0 -28
  134. package/control-flow/simple-visitor.d.ts +1 -3
  135. package/control-flow/simple-visitor.js +2 -4
  136. package/control-flow/syntax-cfg-guided-visitor.d.ts +1 -2
  137. package/control-flow/useless-loop.d.ts +3 -6
  138. package/control-flow/useless-loop.js +16 -10
  139. package/core/pipeline-executor.d.ts +11 -22
  140. package/core/pipeline-executor.js +13 -25
  141. package/core/print/dataflow-printer.d.ts +19 -0
  142. package/core/print/dataflow-printer.js +19 -0
  143. package/core/print/normalize-printer.d.ts +21 -1
  144. package/core/print/normalize-printer.js +21 -1
  145. package/core/print/parse-printer.d.ts +6 -1
  146. package/core/print/parse-printer.js +5 -0
  147. package/core/print/print.d.ts +0 -1
  148. package/core/print/print.js +0 -1
  149. package/core/print/slice-diff-ansi.d.ts +3 -0
  150. package/core/print/slice-diff-ansi.js +3 -0
  151. package/core/steps/all/core/00-parse.d.ts +2 -2
  152. package/core/steps/all/core/00-parse.js +1 -1
  153. package/core/steps/all/core/01-parse-tree-sitter.d.ts +1 -11
  154. package/core/steps/all/core/10-normalize.d.ts +3 -6
  155. package/core/steps/all/core/10-normalize.js +1 -13
  156. package/core/steps/all/core/11-normalize-tree-sitter.d.ts +5 -5
  157. package/core/steps/all/core/11-normalize-tree-sitter.js +2 -3
  158. package/core/steps/all/core/20-dataflow.d.ts +3 -4
  159. package/core/steps/all/core/20-dataflow.js +2 -2
  160. package/core/steps/all/static-slicing/00-slice.d.ts +1 -2
  161. package/core/steps/all/static-slicing/00-slice.js +1 -1
  162. package/core/steps/all/static-slicing/10-reconstruct.d.ts +8 -0
  163. package/core/steps/all/static-slicing/10-reconstruct.js +4 -1
  164. package/core/steps/pipeline/create-pipeline.d.ts +1 -1
  165. package/core/steps/pipeline/default-pipelines.d.ts +94 -95
  166. package/core/steps/pipeline/default-pipelines.js +8 -12
  167. package/core/steps/pipeline/pipeline.d.ts +1 -8
  168. package/core/steps/pipeline/pipeline.js +1 -3
  169. package/core/steps/pipeline-step.d.ts +0 -1
  170. package/core/steps/pipeline-step.js +0 -1
  171. package/dataflow/cluster.d.ts +3 -0
  172. package/dataflow/cluster.js +3 -0
  173. package/dataflow/environments/append.d.ts +1 -1
  174. package/dataflow/environments/built-in-config.d.ts +1 -5
  175. package/dataflow/environments/built-in-config.js +0 -1
  176. package/dataflow/environments/built-in.d.ts +10 -5
  177. package/dataflow/environments/built-in.js +6 -1
  178. package/dataflow/environments/clone.d.ts +1 -2
  179. package/dataflow/environments/clone.js +12 -2
  180. package/dataflow/environments/default-builtin-config.d.ts +3 -0
  181. package/dataflow/environments/default-builtin-config.js +4 -1
  182. package/dataflow/environments/diff.d.ts +11 -2
  183. package/dataflow/environments/diff.js +11 -2
  184. package/dataflow/environments/environment.d.ts +3 -3
  185. package/dataflow/environments/environment.js +8 -6
  186. package/dataflow/environments/identifier.d.ts +0 -4
  187. package/dataflow/environments/identifier.js +0 -1
  188. package/dataflow/environments/overwrite.d.ts +1 -2
  189. package/dataflow/environments/overwrite.js +3 -16
  190. package/dataflow/environments/resolve-by-name.d.ts +4 -4
  191. package/dataflow/environments/resolve-by-name.js +3 -2
  192. package/dataflow/environments/scoping.d.ts +9 -2
  193. package/dataflow/environments/scoping.js +8 -1
  194. package/dataflow/eval/resolve/alias-tracking.d.ts +4 -10
  195. package/dataflow/eval/resolve/alias-tracking.js +11 -14
  196. package/dataflow/eval/resolve/resolve-argument.d.ts +1 -1
  197. package/dataflow/eval/resolve/resolve-argument.js +2 -2
  198. package/dataflow/eval/resolve/resolve.d.ts +1 -7
  199. package/dataflow/eval/resolve/resolve.js +0 -5
  200. package/dataflow/eval/values/general.d.ts +1 -3
  201. package/dataflow/eval/values/general.js +0 -1
  202. package/dataflow/eval/values/intervals/interval-constants.d.ts +7 -1
  203. package/dataflow/eval/values/intervals/interval-constants.js +6 -0
  204. package/dataflow/eval/values/logical/logical-constants.d.ts +4 -1
  205. package/dataflow/eval/values/logical/logical-constants.js +3 -0
  206. package/dataflow/eval/values/r-value.d.ts +12 -0
  207. package/dataflow/eval/values/r-value.js +12 -0
  208. package/dataflow/eval/values/scalar/scalar-consatnts.d.ts +7 -1
  209. package/dataflow/eval/values/scalar/scalar-consatnts.js +6 -0
  210. package/dataflow/eval/values/sets/set-constants.d.ts +7 -2
  211. package/dataflow/eval/values/sets/set-constants.js +6 -0
  212. package/dataflow/eval/values/string/string-constants.d.ts +16 -1
  213. package/dataflow/eval/values/string/string-constants.js +15 -0
  214. package/dataflow/eval/values/vectors/vector-constants.d.ts +1 -1
  215. package/dataflow/extractor.d.ts +3 -4
  216. package/dataflow/extractor.js +25 -22
  217. package/dataflow/graph/dataflowgraph-builder.d.ts +20 -38
  218. package/dataflow/graph/dataflowgraph-builder.js +6 -23
  219. package/dataflow/graph/diff-dataflow-graph.d.ts +16 -6
  220. package/dataflow/graph/diff-dataflow-graph.js +12 -1
  221. package/dataflow/graph/edge.d.ts +9 -0
  222. package/dataflow/graph/edge.js +9 -0
  223. package/dataflow/graph/graph.d.ts +9 -28
  224. package/dataflow/graph/graph.js +4 -28
  225. package/dataflow/graph/invert-dfg.d.ts +3 -0
  226. package/dataflow/graph/invert-dfg.js +3 -0
  227. package/dataflow/graph/quads.d.ts +1 -1
  228. package/dataflow/graph/unknown-replacement.d.ts +8 -0
  229. package/dataflow/graph/unknown-replacement.js +8 -0
  230. package/dataflow/graph/unknown-side-effect.d.ts +8 -0
  231. package/dataflow/graph/unknown-side-effect.js +8 -0
  232. package/dataflow/graph/vertex.d.ts +9 -9
  233. package/dataflow/graph/vertex.js +9 -1
  234. package/dataflow/info.d.ts +16 -10
  235. package/dataflow/info.js +27 -1
  236. package/dataflow/internal/linker.d.ts +25 -9
  237. package/dataflow/internal/linker.js +30 -11
  238. package/dataflow/internal/process/functions/call/argument/make-argument.d.ts +6 -0
  239. package/dataflow/internal/process/functions/call/argument/make-argument.js +6 -1
  240. package/dataflow/internal/process/functions/call/argument/unpack-argument.d.ts +1 -1
  241. package/dataflow/internal/process/functions/call/built-in/built-in-access.d.ts +4 -1
  242. package/dataflow/internal/process/functions/call/built-in/built-in-access.js +6 -4
  243. package/dataflow/internal/process/functions/call/built-in/built-in-apply.d.ts +4 -1
  244. package/dataflow/internal/process/functions/call/built-in/built-in-apply.js +4 -1
  245. package/dataflow/internal/process/functions/call/built-in/built-in-assignment.d.ts +2 -2
  246. package/dataflow/internal/process/functions/call/built-in/built-in-assignment.js +4 -4
  247. package/dataflow/internal/process/functions/call/built-in/built-in-eval.d.ts +6 -3
  248. package/dataflow/internal/process/functions/call/built-in/built-in-eval.js +9 -6
  249. package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.d.ts +4 -1
  250. package/dataflow/internal/process/functions/call/built-in/built-in-expression-list.js +4 -1
  251. package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.d.ts +5 -2
  252. package/dataflow/internal/process/functions/call/built-in/built-in-for-loop.js +4 -1
  253. package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.d.ts +10 -4
  254. package/dataflow/internal/process/functions/call/built-in/built-in-function-definition.js +7 -1
  255. package/dataflow/internal/process/functions/call/built-in/built-in-get.d.ts +3 -0
  256. package/dataflow/internal/process/functions/call/built-in/built-in-get.js +3 -0
  257. package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.d.ts +5 -2
  258. package/dataflow/internal/process/functions/call/built-in/built-in-if-then-else.js +5 -1
  259. package/dataflow/internal/process/functions/call/built-in/built-in-library.d.ts +3 -0
  260. package/dataflow/internal/process/functions/call/built-in/built-in-library.js +3 -0
  261. package/dataflow/internal/process/functions/call/built-in/built-in-list.d.ts +1 -1
  262. package/dataflow/internal/process/functions/call/built-in/built-in-list.js +2 -2
  263. package/dataflow/internal/process/functions/call/built-in/built-in-pipe.d.ts +3 -0
  264. package/dataflow/internal/process/functions/call/built-in/built-in-pipe.js +6 -3
  265. package/dataflow/internal/process/functions/call/built-in/built-in-quote.d.ts +3 -0
  266. package/dataflow/internal/process/functions/call/built-in/built-in-quote.js +3 -0
  267. package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.d.ts +10 -2
  268. package/dataflow/internal/process/functions/call/built-in/built-in-repeat-loop.js +8 -0
  269. package/dataflow/internal/process/functions/call/built-in/built-in-replacement.d.ts +6 -3
  270. package/dataflow/internal/process/functions/call/built-in/built-in-replacement.js +5 -3
  271. package/dataflow/internal/process/functions/call/built-in/built-in-rm.d.ts +4 -1
  272. package/dataflow/internal/process/functions/call/built-in/built-in-rm.js +3 -0
  273. package/dataflow/internal/process/functions/call/built-in/built-in-source.d.ts +34 -12
  274. package/dataflow/internal/process/functions/call/built-in/built-in-source.js +90 -68
  275. package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.d.ts +5 -0
  276. package/dataflow/internal/process/functions/call/built-in/built-in-special-bin-op.js +5 -0
  277. package/dataflow/internal/process/functions/call/built-in/built-in-vector.d.ts +1 -1
  278. package/dataflow/internal/process/functions/call/built-in/built-in-vector.js +2 -2
  279. package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.d.ts +5 -2
  280. package/dataflow/internal/process/functions/call/built-in/built-in-while-loop.js +4 -1
  281. package/dataflow/internal/process/functions/call/common.d.ts +11 -5
  282. package/dataflow/internal/process/functions/call/common.js +9 -3
  283. package/dataflow/internal/process/functions/call/default-call-handling.d.ts +5 -0
  284. package/dataflow/internal/process/functions/call/default-call-handling.js +5 -0
  285. package/dataflow/internal/process/functions/call/known-call-handling.d.ts +12 -5
  286. package/dataflow/internal/process/functions/call/known-call-handling.js +10 -3
  287. package/dataflow/internal/process/functions/call/named-call-handling.d.ts +7 -1
  288. package/dataflow/internal/process/functions/call/named-call-handling.js +10 -4
  289. package/dataflow/internal/process/functions/call/unnamed-call-handling.d.ts +4 -1
  290. package/dataflow/internal/process/functions/call/unnamed-call-handling.js +3 -0
  291. package/dataflow/internal/process/functions/process-argument.d.ts +8 -2
  292. package/dataflow/internal/process/functions/process-argument.js +6 -0
  293. package/dataflow/internal/process/functions/process-parameter.d.ts +5 -2
  294. package/dataflow/internal/process/functions/process-parameter.js +7 -4
  295. package/dataflow/internal/process/process-symbol.d.ts +3 -0
  296. package/dataflow/internal/process/process-symbol.js +3 -0
  297. package/dataflow/internal/process/process-uninteresting-leaf.d.ts +3 -0
  298. package/dataflow/internal/process/process-uninteresting-leaf.js +3 -0
  299. package/dataflow/internal/process/process-value.d.ts +3 -0
  300. package/dataflow/internal/process/process-value.js +3 -0
  301. package/dataflow/origin/dfg-get-origin.d.ts +0 -2
  302. package/dataflow/origin/dfg-get-symbol-refs.d.ts +6 -8
  303. package/dataflow/origin/dfg-get-symbol-refs.js +7 -9
  304. package/dataflow/processor.d.ts +6 -12
  305. package/dataflow/processor.js +0 -1
  306. package/documentation/data/dfg/doc-data-dfg-util.d.ts +6 -2
  307. package/documentation/data/dfg/doc-data-dfg-util.js +6 -0
  308. package/documentation/data/faq/faqs.d.ts +5 -0
  309. package/documentation/data/faq/faqs.js +87 -0
  310. package/documentation/data/faq/recommended-configs.d.ts +36 -0
  311. package/documentation/data/faq/recommended-configs.js +40 -0
  312. package/documentation/data/faq/wiki-faq-store.d.ts +19 -0
  313. package/documentation/data/faq/wiki-faq-store.js +83 -0
  314. package/documentation/data/server/doc-data-server-messages.d.ts +3 -0
  315. package/documentation/data/server/doc-data-server-messages.js +5 -64
  316. package/documentation/doc-capabilities.d.ts +9 -0
  317. package/documentation/{print-capabilities-markdown.js → doc-capabilities.js} +18 -21
  318. package/documentation/doc-readme.d.ts +9 -0
  319. package/documentation/{print-readme.js → doc-readme.js} +136 -35
  320. package/documentation/doc-util/doc-auto-gen.d.ts +6 -0
  321. package/documentation/doc-util/doc-auto-gen.js +6 -0
  322. package/documentation/doc-util/doc-benchmarks.d.ts +14 -0
  323. package/documentation/doc-util/doc-benchmarks.js +14 -0
  324. package/documentation/doc-util/doc-cfg.d.ts +7 -1
  325. package/documentation/doc-util/doc-cfg.js +14 -8
  326. package/documentation/doc-util/doc-cli-option.d.ts +9 -0
  327. package/documentation/doc-util/doc-cli-option.js +9 -0
  328. package/documentation/doc-util/doc-code.d.ts +24 -0
  329. package/documentation/doc-util/doc-code.js +24 -0
  330. package/documentation/doc-util/doc-dfg.d.ts +12 -6
  331. package/documentation/doc-util/doc-dfg.js +19 -10
  332. package/documentation/doc-util/doc-env.d.ts +3 -0
  333. package/documentation/doc-util/doc-env.js +3 -0
  334. package/documentation/doc-util/doc-escape.d.ts +6 -1
  335. package/documentation/doc-util/doc-escape.js +11 -1
  336. package/documentation/doc-util/doc-files.d.ts +11 -0
  337. package/documentation/doc-util/doc-files.js +15 -4
  338. package/documentation/doc-util/doc-general.d.ts +26 -0
  339. package/documentation/doc-util/doc-general.js +26 -0
  340. package/documentation/doc-util/doc-normalized-ast.d.ts +14 -3
  341. package/documentation/doc-util/doc-normalized-ast.js +16 -7
  342. package/documentation/doc-util/doc-query.d.ts +26 -3
  343. package/documentation/doc-util/doc-query.js +34 -12
  344. package/documentation/doc-util/doc-repl.d.ts +6 -0
  345. package/documentation/doc-util/doc-repl.js +6 -0
  346. package/documentation/doc-util/doc-search.d.ts +3 -18
  347. package/documentation/doc-util/doc-search.js +6 -62
  348. package/documentation/doc-util/doc-server-message.d.ts +18 -6
  349. package/documentation/doc-util/doc-server-message.js +17 -5
  350. package/documentation/doc-util/doc-structure.d.ts +9 -0
  351. package/documentation/doc-util/doc-structure.js +10 -1
  352. package/documentation/doc-util/doc-types.d.ts +90 -11
  353. package/documentation/doc-util/doc-types.js +128 -39
  354. package/documentation/index.d.ts +9 -9
  355. package/documentation/index.js +9 -9
  356. package/documentation/issue-linting-rule.d.ts +9 -0
  357. package/documentation/{print-linter-issue.js → issue-linting-rule.js} +20 -23
  358. package/documentation/wiki-analyzer.d.ts +9 -0
  359. package/documentation/wiki-analyzer.js +412 -0
  360. package/documentation/wiki-cfg.d.ts +9 -0
  361. package/documentation/{print-cfg-wiki.js → wiki-cfg.js} +144 -160
  362. package/documentation/wiki-core.d.ts +14 -0
  363. package/documentation/{print-core-wiki.js → wiki-core.js} +167 -175
  364. package/documentation/wiki-dataflow-graph.d.ts +9 -0
  365. package/documentation/{print-dataflow-graph-wiki.js → wiki-dataflow-graph.js} +145 -175
  366. package/documentation/wiki-engine.d.ts +9 -0
  367. package/documentation/{print-engines-wiki.js → wiki-engine.js} +27 -42
  368. package/documentation/wiki-faq.d.ts +8 -0
  369. package/documentation/wiki-faq.js +22 -0
  370. package/documentation/wiki-interface.d.ts +9 -0
  371. package/documentation/{print-interface-wiki.js → wiki-interface.js} +60 -57
  372. package/documentation/wiki-linter.d.ts +9 -0
  373. package/documentation/{print-linter-wiki.js → wiki-linter.js} +52 -48
  374. package/documentation/wiki-linting-and-testing.d.ts +9 -0
  375. package/documentation/{print-linting-and-testing-wiki.js → wiki-linting-and-testing.js} +25 -32
  376. package/documentation/wiki-mk/doc-context.d.ts +186 -0
  377. package/documentation/wiki-mk/doc-context.js +84 -0
  378. package/documentation/wiki-mk/doc-maker.d.ts +95 -0
  379. package/documentation/wiki-mk/doc-maker.js +133 -0
  380. package/documentation/wiki-normalized-ast.d.ts +9 -0
  381. package/documentation/{print-normalized-ast-wiki.js → wiki-normalized-ast.js} +64 -47
  382. package/documentation/wiki-onboarding.d.ts +8 -0
  383. package/documentation/{print-onboarding-wiki.js → wiki-onboarding.js} +18 -15
  384. package/documentation/wiki-query.d.ts +9 -0
  385. package/documentation/{print-query-wiki.js → wiki-query.js} +65 -80
  386. package/documentation/wiki-search.d.ts +9 -0
  387. package/documentation/wiki-search.js +61 -0
  388. package/engines.d.ts +1 -1
  389. package/linter/linter-executor.d.ts +6 -3
  390. package/linter/linter-executor.js +6 -2
  391. package/linter/linter-format.d.ts +10 -2
  392. package/linter/linter-format.js +8 -0
  393. package/linter/linter-rules.d.ts +13 -17
  394. package/linter/rules/absolute-path.d.ts +4 -6
  395. package/linter/rules/absolute-path.js +2 -2
  396. package/linter/rules/dataframe-access-validation.d.ts +4 -5
  397. package/linter/rules/dataframe-access-validation.js +21 -19
  398. package/linter/rules/dead-code.d.ts +2 -2
  399. package/linter/rules/deprecated-functions.d.ts +2 -6
  400. package/linter/rules/file-path-validity.d.ts +2 -3
  401. package/linter/rules/file-path-validity.js +4 -4
  402. package/linter/rules/function-finder-util.d.ts +2 -7
  403. package/linter/rules/naming-convention.d.ts +15 -4
  404. package/linter/rules/naming-convention.js +14 -2
  405. package/linter/rules/network-functions.d.ts +2 -2
  406. package/linter/rules/network-functions.js +1 -1
  407. package/linter/rules/seeded-randomness.d.ts +4 -4
  408. package/linter/rules/seeded-randomness.js +33 -13
  409. package/linter/rules/unused-definition.d.ts +3 -4
  410. package/linter/rules/useless-loop.d.ts +3 -4
  411. package/linter/rules/useless-loop.js +2 -2
  412. package/package.json +7 -18
  413. package/project/cache/flowr-analyzer-cache.d.ts +9 -19
  414. package/project/cache/flowr-analyzer-cache.js +17 -44
  415. package/project/cache/flowr-analyzer-controlflow-cache.d.ts +34 -0
  416. package/project/cache/flowr-analyzer-controlflow-cache.js +79 -0
  417. package/project/context/flowr-analyzer-context.d.ts +31 -9
  418. package/project/context/flowr-analyzer-context.js +48 -4
  419. package/project/context/flowr-analyzer-dependencies-context.d.ts +0 -1
  420. package/project/context/flowr-analyzer-files-context.d.ts +63 -15
  421. package/project/context/flowr-analyzer-files-context.js +110 -39
  422. package/project/context/flowr-file.d.ts +32 -11
  423. package/project/context/flowr-file.js +30 -9
  424. package/project/flowr-analyzer-builder.d.ts +23 -31
  425. package/project/flowr-analyzer-builder.js +35 -74
  426. package/project/flowr-analyzer.d.ts +79 -29
  427. package/project/flowr-analyzer.js +59 -15
  428. package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.d.ts +8 -2
  429. package/project/plugins/file-plugins/flowr-analyzer-description-file-plugin.js +13 -5
  430. package/project/plugins/file-plugins/flowr-analyzer-file-plugin.d.ts +3 -3
  431. package/project/plugins/file-plugins/flowr-analyzer-file-plugin.js +11 -5
  432. package/project/plugins/file-plugins/flowr-description-file.d.ts +3 -5
  433. package/project/plugins/file-plugins/flowr-description-file.js +0 -1
  434. package/project/plugins/file-plugins/notebooks/flowr-analyzer-jupyter-file-plugin.d.ts +22 -0
  435. package/project/plugins/file-plugins/notebooks/flowr-analyzer-jupyter-file-plugin.js +33 -0
  436. package/project/plugins/file-plugins/notebooks/flowr-analyzer-qmd-file-plugin.d.ts +22 -0
  437. package/project/plugins/file-plugins/notebooks/flowr-analyzer-qmd-file-plugin.js +33 -0
  438. package/project/plugins/file-plugins/notebooks/flowr-analyzer-rmd-file-plugin.d.ts +22 -0
  439. package/project/plugins/file-plugins/notebooks/flowr-analyzer-rmd-file-plugin.js +33 -0
  440. package/project/plugins/file-plugins/notebooks/flowr-jupyter-file.d.ts +20 -0
  441. package/project/plugins/file-plugins/notebooks/flowr-jupyter-file.js +42 -0
  442. package/project/plugins/file-plugins/notebooks/flowr-rmarkdown-file.d.ts +59 -0
  443. package/project/plugins/file-plugins/notebooks/flowr-rmarkdown-file.js +132 -0
  444. package/project/plugins/file-plugins/notebooks/notebook.d.ts +0 -0
  445. package/project/plugins/file-plugins/notebooks/notebook.js +2 -0
  446. package/project/plugins/flowr-analyzer-plugin-defaults.d.ts +5 -0
  447. package/project/plugins/flowr-analyzer-plugin-defaults.js +23 -0
  448. package/project/plugins/flowr-analyzer-plugin.d.ts +2 -0
  449. package/project/plugins/flowr-analyzer-plugin.js +2 -0
  450. package/project/plugins/loading-order-plugins/flowr-analyzer-loading-order-description-file-plugin.js +1 -1
  451. package/project/plugins/package-version-plugins/flowr-analyzer-package-versions-description-file-plugin.js +1 -1
  452. package/project/plugins/plugin-registry.d.ts +34 -0
  453. package/project/plugins/plugin-registry.js +62 -0
  454. package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.d.ts +1 -1
  455. package/project/plugins/project-discovery/flowr-analyzer-project-discovery-plugin.js +7 -1
  456. package/queries/base-query-format.d.ts +2 -2
  457. package/queries/catalog/call-context-query/call-context-query-executor.d.ts +3 -0
  458. package/queries/catalog/call-context-query/call-context-query-executor.js +7 -2
  459. package/queries/catalog/call-context-query/call-context-query-format.d.ts +3 -3
  460. package/queries/catalog/call-context-query/identify-link-to-last-call-relation.d.ts +16 -4
  461. package/queries/catalog/call-context-query/identify-link-to-last-call-relation.js +34 -18
  462. package/queries/catalog/cluster-query/cluster-query-executor.d.ts +3 -0
  463. package/queries/catalog/cluster-query/cluster-query-executor.js +3 -0
  464. package/queries/catalog/cluster-query/cluster-query-format.d.ts +1 -1
  465. package/queries/catalog/config-query/config-query-executor.d.ts +3 -0
  466. package/queries/catalog/config-query/config-query-executor.js +3 -0
  467. package/queries/catalog/config-query/config-query-format.d.ts +5 -2
  468. package/queries/catalog/config-query/config-query-format.js +13 -16
  469. package/queries/catalog/control-flow-query/control-flow-query-executor.d.ts +3 -0
  470. package/queries/catalog/control-flow-query/control-flow-query-executor.js +3 -0
  471. package/queries/catalog/control-flow-query/control-flow-query-format.d.ts +3 -3
  472. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.d.ts +3 -0
  473. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-executor.js +3 -0
  474. package/queries/catalog/dataflow-lens-query/dataflow-lens-query-format.d.ts +1 -1
  475. package/queries/catalog/dataflow-query/dataflow-query-executor.d.ts +3 -0
  476. package/queries/catalog/dataflow-query/dataflow-query-executor.js +3 -0
  477. package/queries/catalog/dataflow-query/dataflow-query-format.d.ts +1 -1
  478. package/queries/catalog/dependencies-query/dependencies-query-executor.d.ts +4 -1
  479. package/queries/catalog/dependencies-query/dependencies-query-executor.js +7 -4
  480. package/queries/catalog/dependencies-query/dependencies-query-format.d.ts +4 -1
  481. package/queries/catalog/dependencies-query/dependencies-query-format.js +5 -2
  482. package/queries/catalog/df-shape-query/df-shape-query-executor.d.ts +4 -1
  483. package/queries/catalog/df-shape-query/df-shape-query-executor.js +8 -4
  484. package/queries/catalog/df-shape-query/df-shape-query-format.d.ts +10 -3
  485. package/queries/catalog/df-shape-query/df-shape-query-format.js +25 -5
  486. package/queries/catalog/happens-before-query/happens-before-query-executor.d.ts +4 -0
  487. package/queries/catalog/happens-before-query/happens-before-query-executor.js +4 -0
  488. package/queries/catalog/happens-before-query/happens-before-query-format.d.ts +1 -1
  489. package/queries/catalog/id-map-query/id-map-query-executor.d.ts +3 -0
  490. package/queries/catalog/id-map-query/id-map-query-executor.js +3 -0
  491. package/queries/catalog/id-map-query/id-map-query-format.d.ts +1 -1
  492. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.d.ts +3 -0
  493. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-executor.js +3 -0
  494. package/queries/catalog/inspect-higher-order-query/inspect-higher-order-query-format.d.ts +2 -2
  495. package/queries/catalog/linter-query/linter-query-executor.d.ts +4 -0
  496. package/queries/catalog/linter-query/linter-query-executor.js +4 -0
  497. package/queries/catalog/linter-query/linter-query-format.d.ts +12 -3
  498. package/queries/catalog/linter-query/linter-query-format.js +80 -2
  499. package/queries/catalog/location-map-query/location-map-query-executor.d.ts +4 -0
  500. package/queries/catalog/location-map-query/location-map-query-executor.js +7 -2
  501. package/queries/catalog/location-map-query/location-map-query-format.d.ts +7 -1
  502. package/queries/catalog/location-map-query/location-map-query-format.js +12 -0
  503. package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.d.ts +3 -0
  504. package/queries/catalog/normalized-ast-query/normalized-ast-query-executor.js +3 -0
  505. package/queries/catalog/normalized-ast-query/normalized-ast-query-format.d.ts +1 -1
  506. package/queries/catalog/origin-query/origin-query-executor.d.ts +7 -1
  507. package/queries/catalog/origin-query/origin-query-executor.js +6 -0
  508. package/queries/catalog/origin-query/origin-query-format.d.ts +7 -1
  509. package/queries/catalog/origin-query/origin-query-format.js +17 -1
  510. package/queries/catalog/project-query/project-query-executor.d.ts +3 -0
  511. package/queries/catalog/project-query/project-query-executor.js +6 -1
  512. package/queries/catalog/project-query/project-query-format.d.ts +1 -1
  513. package/queries/catalog/resolve-value-query/resolve-value-query-executor.d.ts +6 -0
  514. package/queries/catalog/resolve-value-query/resolve-value-query-executor.js +6 -0
  515. package/queries/catalog/resolve-value-query/resolve-value-query-format.d.ts +7 -1
  516. package/queries/catalog/resolve-value-query/resolve-value-query-format.js +19 -1
  517. package/queries/catalog/search-query/search-query-executor.d.ts +3 -0
  518. package/queries/catalog/search-query/search-query-executor.js +3 -0
  519. package/queries/catalog/search-query/search-query-format.d.ts +1 -1
  520. package/queries/catalog/static-slice-query/static-slice-query-executor.d.ts +9 -0
  521. package/queries/catalog/static-slice-query/static-slice-query-executor.js +10 -1
  522. package/queries/catalog/static-slice-query/static-slice-query-format.d.ts +7 -1
  523. package/queries/catalog/static-slice-query/static-slice-query-format.js +30 -1
  524. package/queries/query-print.d.ts +20 -4
  525. package/queries/query-print.js +18 -2
  526. package/queries/query.d.ts +93 -55
  527. package/queries/query.js +55 -23
  528. package/queries/virtual-query/virtual-queries.d.ts +1 -2
  529. package/r-bridge/data/get.d.ts +6 -0
  530. package/r-bridge/data/get.js +6 -0
  531. package/r-bridge/lang-4.x/ast/model/collect.d.ts +2 -2
  532. package/r-bridge/lang-4.x/ast/model/collect.js +4 -1
  533. package/r-bridge/lang-4.x/ast/model/model.d.ts +8 -11
  534. package/r-bridge/lang-4.x/ast/model/nodes/r-function-call.d.ts +0 -2
  535. package/r-bridge/lang-4.x/ast/model/nodes/r-number.d.ts +3 -0
  536. package/r-bridge/lang-4.x/ast/model/nodes/r-number.js +3 -0
  537. package/r-bridge/lang-4.x/ast/model/nodes/r-project.d.ts +29 -0
  538. package/r-bridge/lang-4.x/ast/model/nodes/r-project.js +15 -0
  539. package/r-bridge/lang-4.x/ast/model/nodes/r-string.d.ts +3 -0
  540. package/r-bridge/lang-4.x/ast/model/nodes/r-string.js +3 -0
  541. package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.d.ts +3 -0
  542. package/r-bridge/lang-4.x/ast/model/nodes/r-symbol.js +3 -0
  543. package/r-bridge/lang-4.x/ast/model/operators.d.ts +0 -1
  544. package/r-bridge/lang-4.x/ast/model/processing/decorate.d.ts +11 -14
  545. package/r-bridge/lang-4.x/ast/model/processing/decorate.js +30 -17
  546. package/r-bridge/lang-4.x/ast/model/processing/fold.d.ts +1 -1
  547. package/r-bridge/lang-4.x/ast/model/processing/node-id.d.ts +0 -1
  548. package/r-bridge/lang-4.x/ast/model/processing/node-id.js +0 -1
  549. package/r-bridge/lang-4.x/ast/model/processing/role.d.ts +0 -1
  550. package/r-bridge/lang-4.x/ast/model/processing/stateful-fold.d.ts +1 -2
  551. package/r-bridge/lang-4.x/ast/model/processing/visitor.d.ts +0 -1
  552. package/r-bridge/lang-4.x/ast/model/processing/visitor.js +0 -1
  553. package/r-bridge/lang-4.x/ast/model/type.d.ts +6 -5
  554. package/r-bridge/lang-4.x/ast/model/type.js +6 -5
  555. package/r-bridge/lang-4.x/ast/model/versions.d.ts +0 -1
  556. package/r-bridge/lang-4.x/ast/model/versions.js +0 -1
  557. package/r-bridge/lang-4.x/ast/parser/json/format.js +1 -1
  558. package/r-bridge/lang-4.x/ast/parser/json/parser.d.ts +12 -12
  559. package/r-bridge/lang-4.x/ast/parser/json/parser.js +11 -11
  560. package/r-bridge/lang-4.x/ast/parser/main/internal/control/normalize-if-then.d.ts +1 -1
  561. package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.d.ts +0 -1
  562. package/r-bridge/lang-4.x/ast/parser/main/internal/expression/normalize-expression.js +0 -1
  563. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.d.ts +0 -2
  564. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-argument.js +0 -2
  565. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.d.ts +1 -3
  566. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-call.js +0 -2
  567. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.d.ts +0 -2
  568. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-definition.js +0 -2
  569. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.d.ts +0 -2
  570. package/r-bridge/lang-4.x/ast/parser/main/internal/functions/normalize-parameter.js +0 -2
  571. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.d.ts +3 -0
  572. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-break.js +3 -0
  573. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.d.ts +4 -1
  574. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-for.js +3 -0
  575. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.d.ts +3 -0
  576. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-next.js +3 -0
  577. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.d.ts +0 -2
  578. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-repeat.js +0 -2
  579. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.d.ts +4 -1
  580. package/r-bridge/lang-4.x/ast/parser/main/internal/loops/normalize-while.js +3 -0
  581. package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.d.ts +0 -2
  582. package/r-bridge/lang-4.x/ast/parser/main/internal/normalize-access.js +0 -2
  583. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-binary.d.ts +1 -1
  584. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.d.ts +0 -2
  585. package/r-bridge/lang-4.x/ast/parser/main/internal/operators/normalize-unary.js +0 -2
  586. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.d.ts +0 -1
  587. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-comment.js +0 -1
  588. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.d.ts +0 -1
  589. package/r-bridge/lang-4.x/ast/parser/main/internal/other/normalize-line-directive.js +0 -1
  590. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.d.ts +3 -0
  591. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-delimiter.js +3 -0
  592. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.d.ts +9 -0
  593. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-expressions.js +9 -0
  594. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-root.d.ts +4 -3
  595. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-root.js +20 -11
  596. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.d.ts +1 -3
  597. package/r-bridge/lang-4.x/ast/parser/main/internal/structure/normalize-single-node.js +0 -2
  598. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.d.ts +1 -2
  599. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-number.js +0 -1
  600. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.d.ts +0 -1
  601. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-string.js +0 -1
  602. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.d.ts +0 -2
  603. package/r-bridge/lang-4.x/ast/parser/main/internal/values/normalize-symbol.js +0 -2
  604. package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.d.ts +14 -5
  605. package/r-bridge/lang-4.x/ast/parser/main/normalize-meta.js +13 -6
  606. package/r-bridge/lang-4.x/convert-values.d.ts +12 -1
  607. package/r-bridge/lang-4.x/convert-values.js +12 -1
  608. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.d.ts +7 -2
  609. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-executor.js +18 -0
  610. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.d.ts +15 -2
  611. package/r-bridge/lang-4.x/tree-sitter/tree-sitter-normalize.js +62 -24
  612. package/r-bridge/parser.d.ts +43 -12
  613. package/r-bridge/parser.js +27 -13
  614. package/r-bridge/retriever.d.ts +25 -16
  615. package/r-bridge/retriever.js +29 -5
  616. package/r-bridge/shell-executor.d.ts +3 -3
  617. package/r-bridge/shell-executor.js +6 -1
  618. package/r-bridge/shell.d.ts +24 -23
  619. package/r-bridge/shell.js +37 -31
  620. package/reconstruct/auto-select/auto-select-defaults.d.ts +0 -2
  621. package/reconstruct/auto-select/magic-comments.d.ts +1 -2
  622. package/reconstruct/auto-select/magic-comments.js +2 -3
  623. package/reconstruct/reconstruct.d.ts +18 -12
  624. package/reconstruct/reconstruct.js +19 -10
  625. package/search/flowr-search-builder.d.ts +12 -5
  626. package/search/flowr-search-builder.js +7 -2
  627. package/search/flowr-search-executor.d.ts +3 -3
  628. package/search/flowr-search-filters.d.ts +14 -1
  629. package/search/flowr-search-filters.js +13 -0
  630. package/search/flowr-search-printer.d.ts +6 -0
  631. package/search/flowr-search-printer.js +6 -0
  632. package/search/flowr-search-traverse.d.ts +1 -1
  633. package/search/flowr-search.d.ts +15 -3
  634. package/search/search-executor/search-enrichers.d.ts +16 -6
  635. package/search/search-executor/search-enrichers.js +4 -3
  636. package/search/search-executor/search-generators.d.ts +19 -10
  637. package/search/search-executor/search-generators.js +57 -5
  638. package/search/search-executor/search-mappers.d.ts +8 -5
  639. package/search/search-executor/search-mappers.js +3 -0
  640. package/search/search-executor/search-transformer.d.ts +19 -16
  641. package/search/search-executor/search-transformer.js +3 -0
  642. package/slicing/criterion/collect-all.d.ts +13 -12
  643. package/slicing/criterion/collect-all.js +1 -1
  644. package/slicing/criterion/parse.d.ts +4 -2
  645. package/slicing/criterion/parse.js +8 -6
  646. package/slicing/static/fingerprint.d.ts +9 -1
  647. package/slicing/static/fingerprint.js +8 -0
  648. package/slicing/static/slice-call.d.ts +2 -2
  649. package/slicing/static/static-slicer.d.ts +8 -4
  650. package/slicing/static/static-slicer.js +5 -1
  651. package/slicing/static/visiting-queue.d.ts +1 -1
  652. package/statistics/features/common-syntax-probability.d.ts +10 -1
  653. package/statistics/features/common-syntax-probability.js +9 -0
  654. package/statistics/features/feature.d.ts +0 -4
  655. package/statistics/features/feature.js +0 -1
  656. package/statistics/features/post-processing.d.ts +6 -0
  657. package/statistics/features/post-processing.js +6 -0
  658. package/statistics/features/supported/assignments/assignments.js +1 -1
  659. package/statistics/features/supported/assignments/post-process.d.ts +3 -0
  660. package/statistics/features/supported/assignments/post-process.js +3 -0
  661. package/statistics/features/supported/comments/post-process.d.ts +3 -0
  662. package/statistics/features/supported/comments/post-process.js +3 -0
  663. package/statistics/features/supported/control-flow/control-flow.js +1 -1
  664. package/statistics/features/supported/control-flow/post-process.d.ts +3 -0
  665. package/statistics/features/supported/control-flow/post-process.js +3 -0
  666. package/statistics/features/supported/data-access/data-access.d.ts +1 -1
  667. package/statistics/features/supported/data-access/data-access.js +1 -1
  668. package/statistics/features/supported/data-access/post-process.d.ts +3 -0
  669. package/statistics/features/supported/data-access/post-process.js +3 -0
  670. package/statistics/features/supported/defined-functions/defined-functions.d.ts +1 -1
  671. package/statistics/features/supported/defined-functions/defined-functions.js +1 -1
  672. package/statistics/features/supported/expression-list/post-process.d.ts +3 -0
  673. package/statistics/features/supported/expression-list/post-process.js +3 -0
  674. package/statistics/features/supported/expression-list/statistics-expression-list.js +1 -1
  675. package/statistics/features/supported/loops/loops.js +1 -1
  676. package/statistics/features/supported/loops/post-process.d.ts +3 -0
  677. package/statistics/features/supported/loops/post-process.js +3 -0
  678. package/statistics/features/supported/used-functions/used-functions.d.ts +1 -1
  679. package/statistics/features/supported/used-functions/used-functions.js +1 -1
  680. package/statistics/features/supported/used-packages/post-process.d.ts +3 -0
  681. package/statistics/features/supported/used-packages/post-process.js +3 -0
  682. package/statistics/features/supported/values/post-process.d.ts +3 -0
  683. package/statistics/features/supported/values/post-process.js +3 -0
  684. package/statistics/features/supported/variables/post-process.d.ts +7 -1
  685. package/statistics/features/supported/variables/post-process.js +6 -0
  686. package/statistics/features/supported/variables/variables.js +1 -1
  687. package/statistics/meta-statistics.d.ts +8 -9
  688. package/statistics/output/file-provider.d.ts +5 -6
  689. package/statistics/output/file-provider.js +5 -6
  690. package/statistics/output/print-stats.d.ts +13 -1
  691. package/statistics/output/print-stats.js +12 -0
  692. package/statistics/output/statistics-file.d.ts +1 -2
  693. package/statistics/output/statistics-file.js +0 -1
  694. package/statistics/statistics.d.ts +3 -4
  695. package/statistics/statistics.js +4 -4
  696. package/statistics/summarizer/auto-detect.d.ts +3 -0
  697. package/statistics/summarizer/auto-detect.js +3 -0
  698. package/statistics/summarizer/post-process/clusterer.d.ts +3 -4
  699. package/statistics/summarizer/post-process/clusterer.js +0 -2
  700. package/statistics/summarizer/post-process/file-based-count.d.ts +0 -1
  701. package/statistics/summarizer/post-process/file-based-count.js +0 -1
  702. package/statistics/summarizer/post-process/histogram.d.ts +0 -2
  703. package/statistics/summarizer/post-process/histogram.js +0 -2
  704. package/statistics/summarizer/post-process/post-process-output.d.ts +2 -4
  705. package/statistics/summarizer/post-process/post-process-output.js +0 -3
  706. package/statistics/summarizer/second-phase/process.d.ts +5 -3
  707. package/statistics/summarizer/second-phase/process.js +3 -1
  708. package/statistics/summarizer/summarizer.d.ts +1 -2
  709. package/util/assert.d.ts +56 -2
  710. package/util/assert.js +56 -2
  711. package/util/collections/arrays.d.ts +10 -5
  712. package/util/collections/arrays.js +10 -5
  713. package/util/collections/defaultmap.d.ts +11 -11
  714. package/util/collections/defaultmap.js +11 -11
  715. package/util/containers.d.ts +2 -7
  716. package/util/containers.js +0 -5
  717. package/util/diff-graph.d.ts +0 -1
  718. package/util/diff-graph.js +0 -1
  719. package/util/diff.d.ts +3 -1
  720. package/util/diff.js +3 -1
  721. package/util/files.d.ts +12 -12
  722. package/util/files.js +11 -11
  723. package/util/html-hover-over.d.ts +5 -0
  724. package/util/html-hover-over.js +5 -0
  725. package/util/json.d.ts +13 -0
  726. package/util/json.js +13 -0
  727. package/util/log.d.ts +2 -2
  728. package/util/log.js +2 -2
  729. package/util/mermaid/ast.d.ts +7 -3
  730. package/util/mermaid/ast.js +39 -8
  731. package/util/mermaid/cfg.d.ts +1 -1
  732. package/util/mermaid/cfg.js +1 -1
  733. package/util/mermaid/dfg.d.ts +12 -4
  734. package/util/mermaid/dfg.js +9 -1
  735. package/util/mermaid/mermaid.d.ts +6 -1
  736. package/util/mermaid/mermaid.js +6 -1
  737. package/util/numbers.d.ts +7 -0
  738. package/util/numbers.js +7 -0
  739. package/util/objects.d.ts +0 -2
  740. package/util/os.d.ts +3 -0
  741. package/util/os.js +3 -0
  742. package/util/parallel.d.ts +4 -4
  743. package/util/parallel.js +4 -4
  744. package/util/prefix.d.ts +0 -1
  745. package/util/prefix.js +0 -1
  746. package/util/quads.d.ts +14 -17
  747. package/util/quads.js +3 -5
  748. package/util/r-value.d.ts +10 -1
  749. package/util/r-value.js +21 -0
  750. package/util/random.d.ts +3 -0
  751. package/util/random.js +3 -0
  752. package/util/range.d.ts +9 -3
  753. package/util/range.js +15 -2
  754. package/util/schema.d.ts +14 -1
  755. package/util/schema.js +15 -2
  756. package/util/simple-df/dfg-view.d.ts +4 -1
  757. package/util/simple-df/dfg-view.js +4 -1
  758. package/util/summarizer.d.ts +9 -1
  759. package/util/summarizer.js +9 -0
  760. package/util/text/ansi.d.ts +3 -0
  761. package/util/text/ansi.js +3 -0
  762. package/util/text/args.d.ts +2 -4
  763. package/util/text/args.js +7 -5
  764. package/util/text/text.d.ts +4 -0
  765. package/util/text/text.js +4 -0
  766. package/util/text/time.d.ts +0 -1
  767. package/util/text/time.js +0 -1
  768. package/util/version.d.ts +12 -3
  769. package/util/version.js +12 -3
  770. package/abstract-interpretation/data-frame/domain.d.ts +0 -107
  771. package/abstract-interpretation/data-frame/domain.js +0 -315
  772. package/abstract-interpretation/domains/set-bounded-set-domain.d.ts +0 -43
  773. package/abstract-interpretation/domains/set-bounded-set-domain.js +0 -164
  774. package/cli/repl/commands/repl-lineage.d.ts +0 -15
  775. package/cli/repl/commands/repl-lineage.js +0 -66
  776. package/cli/repl/server/messages/message-lineage.d.ts +0 -17
  777. package/cli/repl/server/messages/message-lineage.js +0 -25
  778. package/documentation/print-analyzer-wiki.d.ts +0 -1
  779. package/documentation/print-analyzer-wiki.js +0 -137
  780. package/documentation/print-capabilities-markdown.d.ts +0 -1
  781. package/documentation/print-cfg-wiki.d.ts +0 -1
  782. package/documentation/print-core-wiki.d.ts +0 -2
  783. package/documentation/print-dataflow-graph-wiki.d.ts +0 -1
  784. package/documentation/print-engines-wiki.d.ts +0 -1
  785. package/documentation/print-faq-wiki.d.ts +0 -1
  786. package/documentation/print-faq-wiki.js +0 -90
  787. package/documentation/print-interface-wiki.d.ts +0 -1
  788. package/documentation/print-linter-issue.d.ts +0 -1
  789. package/documentation/print-linter-wiki.d.ts +0 -1
  790. package/documentation/print-linting-and-testing-wiki.d.ts +0 -1
  791. package/documentation/print-normalized-ast-wiki.d.ts +0 -1
  792. package/documentation/print-onboarding-wiki.d.ts +0 -1
  793. package/documentation/print-query-wiki.d.ts +0 -1
  794. package/documentation/print-readme.d.ts +0 -1
  795. package/documentation/print-search-wiki.d.ts +0 -1
  796. package/documentation/print-search-wiki.js +0 -74
  797. package/queries/catalog/lineage-query/lineage-query-executor.d.ts +0 -3
  798. package/queries/catalog/lineage-query/lineage-query-executor.js +0 -22
  799. package/queries/catalog/lineage-query/lineage-query-format.d.ts +0 -22
  800. package/queries/catalog/lineage-query/lineage-query-format.js +0 -31
  801. package/util/formats/adapter-format.d.ts +0 -6
  802. package/util/formats/adapter-format.js +0 -3
  803. package/util/formats/adapter.d.ts +0 -18
  804. package/util/formats/adapter.js +0 -49
  805. package/util/formats/adapters/r-adapter.d.ts +0 -4
  806. package/util/formats/adapters/r-adapter.js +0 -7
  807. package/util/formats/adapters/rmd-adapter.d.ts +0 -26
  808. 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
- /** T64
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 RDelimiter}.
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
- /** T64
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 RDelimiter}.
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) {
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Link certain concepts to the version they have been introduced in R
3
- *
4
3
  * @module
5
4
  */
6
5
  export declare const MIN_VERSION_PIPE = "4.1.0";
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
3
  * Link certain concepts to the version they have been introduced in R
4
- *
5
4
  * @module
6
5
  */
7
6
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -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 = [...roots].sort(orderOf);
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 { IdGenerator, NormalizedAst } from '../../model/processing/decorate';
2
- import type { NoInfo, RNode } from '../../model/model';
3
- import type { ParseStepOutputTS } from '../../../../../core/steps/all/core/01-parse-tree-sitter';
4
- import type { ParseStepOutput } from '../../../../parser';
5
- import type { FlowrConfigOptions } from '../../../../../config';
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 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
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>, file?: string): NormalizedAst;
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 ${@link decorateAst} use {@link normalize}.
16
+ * For additional decoration with {@link decorateAst} use {@link normalize}.
17
17
  */
18
- export declare function normalizeButNotDecorated({ parsed }: ParseStepOutput<string>): RNode;
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({ parsed }: ParseStepOutputTS, getId: IdGenerator<NoInfo> | undefined, config: FlowrConfigOptions, file?: string): NormalizedAst;
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 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
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), file) {
21
- return (0, decorate_1.decorateAst)(normalizeButNotDecorated(parsed), { getId, file });
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 ${@link decorateAst} use {@link normalize}.
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({ parsed }, getId = (0, decorate_1.deterministicCountingIdGenerator)(0), config, file) {
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, file });
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
@@ -1,4 +1,4 @@
1
- import type { NormalizerData } from '../../normalizer-data';
1
+ import { type NormalizerData } from '../../normalizer-data';
2
2
  import type { RIfThenElse } from '../../../../model/nodes/r-if-then-else';
3
3
  import type { NamedJsonEntry } from '../../../json/format';
4
4
  /**
@@ -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 { RFunctionCall } from '../../../../model/nodes/r-function-call';
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 { NormalizerData } from '../../normalizer-data';
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 { NormalizerData } from '../../normalizer-data';
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) {
@@ -1,4 +1,4 @@
1
- import type { NormalizerData } from '../../normalizer-data';
1
+ import { type NormalizerData } from '../../normalizer-data';
2
2
  import type { RNode } from '../../../../model/model';
3
3
  import type { NamedJsonEntry } from '../../../json/format';
4
4
  /**
@@ -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 dta as object and produces an undecorated, normalized AST.
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): RExpressionList;
8
+ export declare function normalizeRootObjToAst(data: NormalizerData, obj: JsonEntry, filePath?: string): RProject;