@eagleoutice/flowr 1.4.2 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/core/print/slice-diff-ansi.js +7 -7
  2. package/core/steps.d.ts +352 -11
  3. package/core/steps.js +4 -4
  4. package/index.d.ts +0 -2
  5. package/index.js +0 -2
  6. package/package.json +65 -215
  7. package/util/{summarizer/summarizer.d.ts → summarizer.d.ts} +15 -1
  8. package/util/summarizer.js +37 -0
  9. package/util/version.d.ts +2 -0
  10. package/util/version.js +10 -0
  11. package/benchmark/index.d.ts +0 -3
  12. package/benchmark/index.js +0 -20
  13. package/benchmark/slicer.d.ts +0 -98
  14. package/benchmark/slicer.js +0 -213
  15. package/benchmark/stats/index.d.ts +0 -10
  16. package/benchmark/stats/index.js +0 -27
  17. package/benchmark/stats/print.d.ts +0 -7
  18. package/benchmark/stats/print.js +0 -155
  19. package/benchmark/stats/stats.d.ts +0 -40
  20. package/benchmark/stats/stats.js +0 -6
  21. package/benchmark/stopwatch.d.ts +0 -35
  22. package/benchmark/stopwatch.js +0 -79
  23. package/cli/benchmark-app.d.ts +0 -10
  24. package/cli/benchmark-app.js +0 -67
  25. package/cli/benchmark-helper-app.d.ts +0 -9
  26. package/cli/benchmark-helper-app.js +0 -69
  27. package/cli/common/features.d.ts +0 -3
  28. package/cli/common/features.js +0 -30
  29. package/cli/common/index.d.ts +0 -2
  30. package/cli/common/index.js +0 -19
  31. package/cli/common/options.d.ts +0 -20
  32. package/cli/common/options.js +0 -85
  33. package/cli/common/script.d.ts +0 -21
  34. package/cli/common/script.js +0 -61
  35. package/cli/common/scripts-info.d.ts +0 -25
  36. package/cli/common/scripts-info.js +0 -83
  37. package/cli/export-quads-app.d.ts +0 -7
  38. package/cli/export-quads-app.js +0 -42
  39. package/cli/repl/commands/cfg.d.ts +0 -3
  40. package/cli/repl/commands/cfg.js +0 -37
  41. package/cli/repl/commands/commands.d.ts +0 -13
  42. package/cli/repl/commands/commands.js +0 -142
  43. package/cli/repl/commands/dataflow.d.ts +0 -3
  44. package/cli/repl/commands/dataflow.js +0 -34
  45. package/cli/repl/commands/execute.d.ts +0 -4
  46. package/cli/repl/commands/execute.js +0 -27
  47. package/cli/repl/commands/index.d.ts +0 -2
  48. package/cli/repl/commands/index.js +0 -19
  49. package/cli/repl/commands/main.d.ts +0 -39
  50. package/cli/repl/commands/main.js +0 -14
  51. package/cli/repl/commands/normalize.d.ts +0 -3
  52. package/cli/repl/commands/normalize.js +0 -34
  53. package/cli/repl/commands/parse.d.ts +0 -2
  54. package/cli/repl/commands/parse.js +0 -109
  55. package/cli/repl/commands/quit.d.ts +0 -2
  56. package/cli/repl/commands/quit.js +0 -15
  57. package/cli/repl/commands/version.d.ts +0 -16
  58. package/cli/repl/commands/version.js +0 -33
  59. package/cli/repl/core.d.ts +0 -41
  60. package/cli/repl/core.js +0 -172
  61. package/cli/repl/execute.d.ts +0 -28
  62. package/cli/repl/execute.js +0 -79
  63. package/cli/repl/index.d.ts +0 -5
  64. package/cli/repl/index.js +0 -22
  65. package/cli/repl/prompt.d.ts +0 -2
  66. package/cli/repl/prompt.js +0 -9
  67. package/cli/repl/server/connection.d.ts +0 -21
  68. package/cli/repl/server/connection.js +0 -213
  69. package/cli/repl/server/messages/analysis.d.ts +0 -71
  70. package/cli/repl/server/messages/analysis.js +0 -21
  71. package/cli/repl/server/messages/error.d.ts +0 -11
  72. package/cli/repl/server/messages/error.js +0 -3
  73. package/cli/repl/server/messages/hello.d.ts +0 -20
  74. package/cli/repl/server/messages/hello.js +0 -3
  75. package/cli/repl/server/messages/index.d.ts +0 -1
  76. package/cli/repl/server/messages/index.js +0 -3
  77. package/cli/repl/server/messages/messages.d.ts +0 -35
  78. package/cli/repl/server/messages/messages.js +0 -40
  79. package/cli/repl/server/messages/repl.d.ts +0 -33
  80. package/cli/repl/server/messages/repl.js +0 -37
  81. package/cli/repl/server/messages/slice.d.ts +0 -25
  82. package/cli/repl/server/messages/slice.js +0 -37
  83. package/cli/repl/server/net.d.ts +0 -49
  84. package/cli/repl/server/net.js +0 -63
  85. package/cli/repl/server/send.d.ts +0 -4
  86. package/cli/repl/server/send.js +0 -18
  87. package/cli/repl/server/server.d.ts +0 -20
  88. package/cli/repl/server/server.js +0 -66
  89. package/cli/repl/server/validate.d.ts +0 -15
  90. package/cli/repl/server/validate.js +0 -34
  91. package/cli/slicer-app.d.ts +0 -11
  92. package/cli/slicer-app.js +0 -81
  93. package/cli/statistics-app.d.ts +0 -11
  94. package/cli/statistics-app.js +0 -98
  95. package/cli/statistics-helper-app.d.ts +0 -11
  96. package/cli/statistics-helper-app.js +0 -82
  97. package/cli/summarizer-app.d.ts +0 -18
  98. package/cli/summarizer-app.js +0 -66
  99. package/flowr.d.ts +0 -29
  100. package/flowr.js +0 -142
  101. package/statistics/features/common-syntax-probability.d.ts +0 -31
  102. package/statistics/features/common-syntax-probability.js +0 -156
  103. package/statistics/features/feature.d.ts +0 -175
  104. package/statistics/features/feature.js +0 -30
  105. package/statistics/features/index.d.ts +0 -1
  106. package/statistics/features/index.js +0 -18
  107. package/statistics/features/post-processing.d.ts +0 -12
  108. package/statistics/features/post-processing.js +0 -21
  109. package/statistics/features/supported/assignments/assignments.d.ts +0 -11
  110. package/statistics/features/supported/assignments/assignments.js +0 -53
  111. package/statistics/features/supported/assignments/index.d.ts +0 -1
  112. package/statistics/features/supported/assignments/index.js +0 -6
  113. package/statistics/features/supported/assignments/post-process.d.ts +0 -3
  114. package/statistics/features/supported/assignments/post-process.js +0 -125
  115. package/statistics/features/supported/comments/comments.d.ts +0 -18
  116. package/statistics/features/supported/comments/comments.js +0 -133
  117. package/statistics/features/supported/comments/index.d.ts +0 -1
  118. package/statistics/features/supported/comments/index.js +0 -6
  119. package/statistics/features/supported/comments/post-process.d.ts +0 -3
  120. package/statistics/features/supported/comments/post-process.js +0 -50
  121. package/statistics/features/supported/control-flow/control-flow.d.ts +0 -17
  122. package/statistics/features/supported/control-flow/control-flow.js +0 -67
  123. package/statistics/features/supported/control-flow/index.d.ts +0 -1
  124. package/statistics/features/supported/control-flow/index.js +0 -6
  125. package/statistics/features/supported/control-flow/post-process.d.ts +0 -3
  126. package/statistics/features/supported/control-flow/post-process.js +0 -65
  127. package/statistics/features/supported/data-access/data-access.d.ts +0 -15
  128. package/statistics/features/supported/data-access/data-access.js +0 -118
  129. package/statistics/features/supported/data-access/index.d.ts +0 -1
  130. package/statistics/features/supported/data-access/index.js +0 -6
  131. package/statistics/features/supported/data-access/post-process.d.ts +0 -3
  132. package/statistics/features/supported/data-access/post-process.js +0 -107
  133. package/statistics/features/supported/defined-functions/defined-functions.d.ts +0 -35
  134. package/statistics/features/supported/defined-functions/defined-functions.js +0 -139
  135. package/statistics/features/supported/defined-functions/index.d.ts +0 -1
  136. package/statistics/features/supported/defined-functions/index.js +0 -6
  137. package/statistics/features/supported/defined-functions/post-process.d.ts +0 -6
  138. package/statistics/features/supported/defined-functions/post-process.js +0 -177
  139. package/statistics/features/supported/expression-list/expression-list.d.ts +0 -9
  140. package/statistics/features/supported/expression-list/expression-list.js +0 -36
  141. package/statistics/features/supported/expression-list/index.d.ts +0 -1
  142. package/statistics/features/supported/expression-list/index.js +0 -6
  143. package/statistics/features/supported/expression-list/post-process.d.ts +0 -3
  144. package/statistics/features/supported/expression-list/post-process.js +0 -44
  145. package/statistics/features/supported/index.d.ts +0 -10
  146. package/statistics/features/supported/index.js +0 -27
  147. package/statistics/features/supported/loops/index.d.ts +0 -1
  148. package/statistics/features/supported/loops/index.js +0 -6
  149. package/statistics/features/supported/loops/loops.d.ts +0 -20
  150. package/statistics/features/supported/loops/loops.js +0 -79
  151. package/statistics/features/supported/loops/post-process.d.ts +0 -3
  152. package/statistics/features/supported/loops/post-process.js +0 -72
  153. package/statistics/features/supported/used-functions/index.d.ts +0 -1
  154. package/statistics/features/supported/used-functions/index.js +0 -6
  155. package/statistics/features/supported/used-functions/post-process.d.ts +0 -6
  156. package/statistics/features/supported/used-functions/post-process.js +0 -179
  157. package/statistics/features/supported/used-functions/used-functions.d.ts +0 -24
  158. package/statistics/features/supported/used-functions/used-functions.js +0 -95
  159. package/statistics/features/supported/used-packages/index.d.ts +0 -1
  160. package/statistics/features/supported/used-packages/index.js +0 -6
  161. package/statistics/features/supported/used-packages/post-process.d.ts +0 -3
  162. package/statistics/features/supported/used-packages/post-process.js +0 -121
  163. package/statistics/features/supported/used-packages/used-packages.d.ts +0 -16
  164. package/statistics/features/supported/used-packages/used-packages.js +0 -130
  165. package/statistics/features/supported/values/index.d.ts +0 -1
  166. package/statistics/features/supported/values/index.js +0 -6
  167. package/statistics/features/supported/values/post-process.d.ts +0 -3
  168. package/statistics/features/supported/values/post-process.js +0 -72
  169. package/statistics/features/supported/values/values.d.ts +0 -14
  170. package/statistics/features/supported/values/values.js +0 -101
  171. package/statistics/features/supported/variables/index.d.ts +0 -1
  172. package/statistics/features/supported/variables/index.js +0 -6
  173. package/statistics/features/supported/variables/post-process.d.ts +0 -9
  174. package/statistics/features/supported/variables/post-process.js +0 -122
  175. package/statistics/features/supported/variables/variables.d.ts +0 -15
  176. package/statistics/features/supported/variables/variables.js +0 -70
  177. package/statistics/index.d.ts +0 -6
  178. package/statistics/index.js +0 -24
  179. package/statistics/meta-statistics.d.ts +0 -33
  180. package/statistics/meta-statistics.js +0 -17
  181. package/statistics/output/file-provider.d.ts +0 -37
  182. package/statistics/output/file-provider.js +0 -97
  183. package/statistics/output/index.d.ts +0 -4
  184. package/statistics/output/index.js +0 -21
  185. package/statistics/output/print-stats.d.ts +0 -17
  186. package/statistics/output/print-stats.js +0 -69
  187. package/statistics/output/statistics-file.d.ts +0 -37
  188. package/statistics/output/statistics-file.js +0 -69
  189. package/statistics/statistics.d.ts +0 -24
  190. package/statistics/statistics.js +0 -108
  191. package/util/summarizer/auto-detect.d.ts +0 -2
  192. package/util/summarizer/auto-detect.js +0 -32
  193. package/util/summarizer/benchmark/data.d.ts +0 -66
  194. package/util/summarizer/benchmark/data.js +0 -13
  195. package/util/summarizer/benchmark/first-phase/input.d.ts +0 -3
  196. package/util/summarizer/benchmark/first-phase/input.js +0 -75
  197. package/util/summarizer/benchmark/first-phase/process.d.ts +0 -11
  198. package/util/summarizer/benchmark/first-phase/process.js +0 -217
  199. package/util/summarizer/benchmark/second-phase/graph.d.ts +0 -2
  200. package/util/summarizer/benchmark/second-phase/graph.js +0 -54
  201. package/util/summarizer/benchmark/second-phase/process.d.ts +0 -6
  202. package/util/summarizer/benchmark/second-phase/process.js +0 -126
  203. package/util/summarizer/benchmark/summarizer.d.ts +0 -31
  204. package/util/summarizer/benchmark/summarizer.js +0 -58
  205. package/util/summarizer/statistics/first-phase/process.d.ts +0 -6
  206. package/util/summarizer/statistics/first-phase/process.js +0 -81
  207. package/util/summarizer/statistics/post-process/clusterer.d.ts +0 -26
  208. package/util/summarizer/statistics/post-process/clusterer.js +0 -43
  209. package/util/summarizer/statistics/post-process/file-based-count.d.ts +0 -17
  210. package/util/summarizer/statistics/post-process/file-based-count.js +0 -49
  211. package/util/summarizer/statistics/post-process/histogram.d.ts +0 -59
  212. package/util/summarizer/statistics/post-process/histogram.js +0 -128
  213. package/util/summarizer/statistics/post-process/index.d.ts +0 -4
  214. package/util/summarizer/statistics/post-process/index.js +0 -21
  215. package/util/summarizer/statistics/post-process/post-process-output.d.ts +0 -16
  216. package/util/summarizer/statistics/post-process/post-process-output.js +0 -103
  217. package/util/summarizer/statistics/second-phase/process.d.ts +0 -11
  218. package/util/summarizer/statistics/second-phase/process.js +0 -117
  219. package/util/summarizer/statistics/summarizer.d.ts +0 -35
  220. package/util/summarizer/statistics/summarizer.js +0 -135
  221. package/util/summarizer/summarizer.js +0 -13
  222. /package/{statistics/output → util}/ansi.d.ts +0 -0
  223. /package/{statistics/output → util}/ansi.js +0 -0
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sliceDiffAnsi = void 0;
4
4
  const range_1 = require("../../util/range");
5
5
  const assert_1 = require("../../util/assert");
6
- const statistics_1 = require("../../statistics");
6
+ const ansi_1 = require("../../../src/util/ansi");
7
7
  function grayOut() {
8
- return statistics_1.ansiFormatter.getFormatString({ color: 7 /* Colors.White */, effect: statistics_1.ColorEffect.Foreground, style: 2 /* FontStyles.Faint */ });
8
+ return ansi_1.ansiFormatter.getFormatString({ color: 7 /* Colors.White */, effect: ansi_1.ColorEffect.Foreground, style: 2 /* FontStyles.Faint */ });
9
9
  }
10
10
  function mergeJointRangesInSorted(loc) {
11
11
  return loc.reduce((acc, curr) => {
@@ -23,15 +23,15 @@ function mergeJointRangesInSorted(loc) {
23
23
  }, [loc[0]]);
24
24
  }
25
25
  function highlight(s, selected) {
26
- const primary = statistics_1.ansiFormatter.format(s, { color: 3 /* Colors.Yellow */, effect: statistics_1.ColorEffect.Foreground, style: 1 /* FontStyles.Bold */ });
27
- return selected ? statistics_1.ansiFormatter.format(primary, { style: 4 /* FontStyles.Underline */ }) : primary;
26
+ const primary = ansi_1.ansiFormatter.format(s, { color: 3 /* Colors.Yellow */, effect: ansi_1.ColorEffect.Foreground, style: 1 /* FontStyles.Bold */ });
27
+ return selected ? ansi_1.ansiFormatter.format(primary, { style: 4 /* FontStyles.Underline */ }) : primary;
28
28
  }
29
29
  function sliceDiffAnsi(slice, normalized, criteriaIds, originalCode) {
30
30
  let importantLocations = Array.from(normalized.idMap.entries())
31
31
  .filter(([id, { location }]) => slice.has(id) && (0, assert_1.isNotUndefined)(location))
32
32
  .map(([id, { location }]) => ({ selected: criteriaIds.has(id), location: location }));
33
33
  if (importantLocations.length === 0) {
34
- return `${grayOut()}${originalCode}${statistics_1.ansiFormatter.reset()}`;
34
+ return `${grayOut()}${originalCode}${ansi_1.ansiFormatter.reset()}`;
35
35
  }
36
36
  // we sort all locations from back to front so that replacements do not screw up the indices
37
37
  importantLocations.sort((a, b) => -(0, range_1.rangeCompare)(a.location, b.location));
@@ -41,9 +41,9 @@ function sliceDiffAnsi(slice, normalized, criteriaIds, originalCode) {
41
41
  for (const { selected, location } of importantLocations) {
42
42
  const { start, end } = location;
43
43
  const line = lines[start.line - 1];
44
- lines[start.line - 1] = `${line.substring(0, start.column - 1)}${statistics_1.ansiFormatter.reset()}${highlight(line.substring(start.column - 1, end.column), selected)}${grayOut()}${line.substring(end.column)}`;
44
+ lines[start.line - 1] = `${line.substring(0, start.column - 1)}${ansi_1.ansiFormatter.reset()}${highlight(line.substring(start.column - 1, end.column), selected)}${grayOut()}${line.substring(end.column)}`;
45
45
  }
46
- return `${grayOut()}${lines.join('\n')}${statistics_1.ansiFormatter.reset()}`;
46
+ return `${grayOut()}${lines.join('\n')}${ansi_1.ansiFormatter.reset()}`;
47
47
  }
48
48
  exports.sliceDiffAnsi = sliceDiffAnsi;
49
49
  //# sourceMappingURL=slice-diff-ansi.js.map
package/core/steps.d.ts CHANGED
@@ -13,14 +13,11 @@
13
13
  * @module
14
14
  */
15
15
  import type { MergeableRecord } from '../util/objects';
16
- import { retrieveParseDataFromRCode } from '../r-bridge';
17
- import { reconstructToCode, staticSlicing } from '../slicing';
18
16
  import type { IStepPrinter } from './print/print';
19
17
  import { internalPrinter, StepOutputFormat } from './print/print';
20
18
  import { normalizedAstToJson, normalizedAstToQuads, printNormalizedAstToMermaid, printNormalizedAstToMermaidUrl } from './print/normalize-printer';
21
19
  import { parseToQuads } from './print/parse-printer';
22
20
  import { dataflowGraphToJson, dataflowGraphToMermaid, dataflowGraphToMermaidUrl, dataflowGraphToQuads } from './print/dataflow-printer';
23
- import { normalize } from '../r-bridge/lang-4.x/ast/parser/json/parser';
24
21
  /**
25
22
  * This represents close a function that we know completely nothing about.
26
23
  * Nevertheless, this is the basis of what a step processor should look like.
@@ -48,7 +45,7 @@ export interface IStep<Fn extends StepFunction> extends MergeableRecord {
48
45
  export declare const STEPS_PER_FILE: {
49
46
  readonly parse: {
50
47
  description: string;
51
- processor: typeof retrieveParseDataFromRCode;
48
+ processor: (r: import("../r-bridge").RParseRequest, s: import("../r-bridge").RShell | import("../r-bridge/shell-executor").RShellExecutor) => import("ts-essentials").AsyncOrSync<string>;
52
49
  required: "once-per-file";
53
50
  printer: {
54
51
  0: typeof internalPrinter;
@@ -58,7 +55,179 @@ export declare const STEPS_PER_FILE: {
58
55
  };
59
56
  readonly normalize: {
60
57
  description: string;
61
- processor: typeof normalize;
58
+ processor: (j: string, h: {
59
+ values?: {
60
+ onNumber?: {
61
+ before?: ((data: import("../r-bridge").ParserData, inputObj: import("../r-bridge").XmlBasedJson) => void | import("../r-bridge").XmlBasedJson | undefined) | undefined;
62
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RNumber<import("../r-bridge").NoInfo> | import("../r-bridge").RLogical<import("../r-bridge").NoInfo> | import("../r-bridge").RSymbol<import("../r-bridge").NoInfo, "NA">) => void | import("../r-bridge").RNumber<import("../r-bridge").NoInfo> | import("../r-bridge").RLogical<import("../r-bridge").NoInfo> | import("../r-bridge").RSymbol<import("../r-bridge").NoInfo, "NA"> | undefined) | undefined;
63
+ } | undefined;
64
+ onString?: {
65
+ before?: ((data: import("../r-bridge").ParserData, inputObj: import("../r-bridge").XmlBasedJson) => void | import("../r-bridge").XmlBasedJson | undefined) | undefined;
66
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RString<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RString<import("../r-bridge").NoInfo> | undefined) | undefined;
67
+ } | undefined;
68
+ onSymbol?: {
69
+ unknown?: ((data: import("../r-bridge").ParserData, inputObjs: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").RSymbol<import("../r-bridge").NoInfo, string> | undefined) | undefined;
70
+ before?: ((data: import("../r-bridge").ParserData, inputObjs: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").NamedXmlBasedJson[] | undefined) | undefined;
71
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RSymbol<import("../r-bridge").NoInfo, string> | undefined) => void | import("../r-bridge").RSymbol<import("../r-bridge").NoInfo, string> | undefined) | undefined;
72
+ } | undefined;
73
+ } | undefined;
74
+ onAccess?: {
75
+ unknown?: ((data: import("../r-bridge").ParserData, inputObjs: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").RAccess | undefined) | undefined;
76
+ before?: ((data: import("../r-bridge").ParserData, inputObjs: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").NamedXmlBasedJson[] | undefined) | undefined;
77
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RAccess) => void | import("../r-bridge").RAccess | undefined) | undefined;
78
+ } | undefined;
79
+ other?: {
80
+ onComment?: {
81
+ before?: ((data: import("../r-bridge").ParserData, inputObj: import("../r-bridge").XmlBasedJson) => void | import("../r-bridge").XmlBasedJson | undefined) | undefined;
82
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RComment<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RComment<import("../r-bridge").NoInfo> | undefined) | undefined;
83
+ } | undefined;
84
+ onLineDirective?: {
85
+ before?: ((data: import("../r-bridge").ParserData, inputObj: import("../r-bridge").XmlBasedJson) => void | import("../r-bridge").XmlBasedJson | undefined) | undefined;
86
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RComment<import("../r-bridge").NoInfo> | import("../r-bridge").RLineDirective<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RComment<import("../r-bridge").NoInfo> | import("../r-bridge").RLineDirective<import("../r-bridge").NoInfo> | undefined) | undefined;
87
+ } | undefined;
88
+ } | undefined;
89
+ operators?: {
90
+ onBinary?: {
91
+ unknown?: ((data: import("../r-bridge").ParserData, input: {
92
+ lhs: import("../r-bridge").NamedXmlBasedJson;
93
+ operator: import("../r-bridge").NamedXmlBasedJson;
94
+ rhs: import("../r-bridge").NamedXmlBasedJson;
95
+ }) => void | import("../r-bridge").RNode | undefined) | undefined;
96
+ before?: ((data: import("../r-bridge").ParserData, input: {
97
+ flavor: import("../r-bridge").BinaryOperatorFlavor | "special" | "pipe";
98
+ lhs: import("../r-bridge").NamedXmlBasedJson;
99
+ operator: import("../r-bridge").NamedXmlBasedJson;
100
+ rhs: import("../r-bridge").NamedXmlBasedJson;
101
+ }) => void | {
102
+ flavor: import("../r-bridge").BinaryOperatorFlavor | "special" | "pipe";
103
+ lhs: import("../r-bridge").NamedXmlBasedJson;
104
+ operator: import("../r-bridge").NamedXmlBasedJson;
105
+ rhs: import("../r-bridge").NamedXmlBasedJson;
106
+ } | undefined) | undefined;
107
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RBinaryOp<import("../r-bridge").NoInfo> | import("../r-bridge").RPipe<import("../r-bridge").NoInfo> | import("../r-bridge").RFunctionCall) => void | import("../r-bridge").RBinaryOp<import("../r-bridge").NoInfo> | import("../r-bridge").RPipe<import("../r-bridge").NoInfo> | import("../r-bridge").RFunctionCall | undefined) | undefined;
108
+ } | undefined;
109
+ onUnary?: {
110
+ unknown?: ((data: import("../r-bridge").ParserData, input: {
111
+ operator: import("../r-bridge").NamedXmlBasedJson;
112
+ operand: import("../r-bridge").NamedXmlBasedJson;
113
+ }) => void | import("../r-bridge").RNode | undefined) | undefined;
114
+ before?: ((data: import("../r-bridge").ParserData, input: {
115
+ flavor: import("../r-bridge").UnaryOperatorFlavor;
116
+ operator: import("../r-bridge").NamedXmlBasedJson;
117
+ operand: import("../r-bridge").NamedXmlBasedJson;
118
+ }) => void | {
119
+ flavor: import("../r-bridge").UnaryOperatorFlavor;
120
+ operator: import("../r-bridge").NamedXmlBasedJson;
121
+ operand: import("../r-bridge").NamedXmlBasedJson;
122
+ } | undefined) | undefined;
123
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RUnaryOp<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RUnaryOp<import("../r-bridge").NoInfo> | undefined) | undefined;
124
+ } | undefined;
125
+ } | undefined;
126
+ loops?: {
127
+ onForLoop?: {
128
+ unknown?: ((data: import("../r-bridge").ParserData, input: {
129
+ forToken: import("../r-bridge").NamedXmlBasedJson;
130
+ condition: import("../r-bridge").NamedXmlBasedJson;
131
+ body: import("../r-bridge").NamedXmlBasedJson;
132
+ }) => void | import("../r-bridge").RForLoop<import("../r-bridge").NoInfo> | undefined) | undefined;
133
+ before?: ((data: import("../r-bridge").ParserData, input: {
134
+ forToken: import("../r-bridge").NamedXmlBasedJson;
135
+ condition: import("../r-bridge").NamedXmlBasedJson;
136
+ body: import("../r-bridge").NamedXmlBasedJson;
137
+ }) => void | {
138
+ forToken: import("../r-bridge").NamedXmlBasedJson;
139
+ condition: import("../r-bridge").NamedXmlBasedJson;
140
+ body: import("../r-bridge").NamedXmlBasedJson;
141
+ } | undefined) | undefined;
142
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RForLoop<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RForLoop<import("../r-bridge").NoInfo> | undefined) | undefined;
143
+ } | undefined;
144
+ onRepeatLoop?: {
145
+ unknown?: ((data: import("../r-bridge").ParserData, input: {
146
+ repeatToken: import("../r-bridge").NamedXmlBasedJson;
147
+ body: import("../r-bridge").NamedXmlBasedJson;
148
+ }) => void | import("../r-bridge").RRepeatLoop<import("../r-bridge").NoInfo> | undefined) | undefined;
149
+ before?: ((data: import("../r-bridge").ParserData, input: {
150
+ repeatToken: import("../r-bridge").NamedXmlBasedJson;
151
+ body: import("../r-bridge").NamedXmlBasedJson;
152
+ }) => void | {
153
+ repeatToken: import("../r-bridge").NamedXmlBasedJson;
154
+ body: import("../r-bridge").NamedXmlBasedJson;
155
+ } | undefined) | undefined;
156
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RRepeatLoop<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RRepeatLoop<import("../r-bridge").NoInfo> | undefined) | undefined;
157
+ } | undefined;
158
+ onWhileLoop?: {
159
+ unknown?: ((data: import("../r-bridge").ParserData, input: {
160
+ whileToken: import("../r-bridge").NamedXmlBasedJson;
161
+ leftParen: import("../r-bridge").NamedXmlBasedJson;
162
+ condition: import("../r-bridge").NamedXmlBasedJson;
163
+ rightParen: import("../r-bridge").NamedXmlBasedJson;
164
+ body: import("../r-bridge").NamedXmlBasedJson;
165
+ }) => void | import("../r-bridge").RWhileLoop<import("../r-bridge").NoInfo> | undefined) | undefined;
166
+ before?: ((data: import("../r-bridge").ParserData, input: {
167
+ whileToken: import("../r-bridge").NamedXmlBasedJson;
168
+ leftParen: import("../r-bridge").NamedXmlBasedJson;
169
+ condition: import("../r-bridge").NamedXmlBasedJson;
170
+ rightParen: import("../r-bridge").NamedXmlBasedJson;
171
+ body: import("../r-bridge").NamedXmlBasedJson;
172
+ }) => void | {
173
+ whileToken: import("../r-bridge").NamedXmlBasedJson;
174
+ leftParen: import("../r-bridge").NamedXmlBasedJson;
175
+ condition: import("../r-bridge").NamedXmlBasedJson;
176
+ rightParen: import("../r-bridge").NamedXmlBasedJson;
177
+ body: import("../r-bridge").NamedXmlBasedJson;
178
+ } | undefined) | undefined;
179
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RWhileLoop<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RWhileLoop<import("../r-bridge").NoInfo> | undefined) | undefined;
180
+ } | undefined;
181
+ onBreak?: {
182
+ before?: ((data: import("../r-bridge").ParserData, input: import("../r-bridge").XmlBasedJson) => void | import("../r-bridge").XmlBasedJson | undefined) | undefined;
183
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RBreak<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RBreak<import("../r-bridge").NoInfo> | undefined) | undefined;
184
+ } | undefined;
185
+ onNext?: {
186
+ before?: ((data: import("../r-bridge").ParserData, input: import("../r-bridge").XmlBasedJson) => void | import("../r-bridge").XmlBasedJson | undefined) | undefined;
187
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RNext<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RNext<import("../r-bridge").NoInfo> | undefined) | undefined;
188
+ } | undefined;
189
+ } | undefined;
190
+ functions?: {
191
+ onFunctionDefinition?: {
192
+ unknown?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").RFunctionDefinition<import("../r-bridge").NoInfo> | undefined) | undefined;
193
+ before?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").NamedXmlBasedJson[] | undefined) | undefined;
194
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RFunctionDefinition<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RFunctionDefinition<import("../r-bridge").NoInfo> | undefined) | undefined;
195
+ } | undefined;
196
+ onParameter?: {
197
+ unknown?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").RParameter<import("../r-bridge").NoInfo> | undefined) | undefined;
198
+ before?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").NamedXmlBasedJson[] | undefined) | undefined;
199
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RParameter<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RParameter<import("../r-bridge").NoInfo> | undefined) | undefined;
200
+ } | undefined;
201
+ onFunctionCall?: {
202
+ unknown?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").RBreak<import("../r-bridge").NoInfo> | import("../r-bridge").RNext<import("../r-bridge").NoInfo> | import("../r-bridge").RFunctionCall | undefined) | undefined;
203
+ before?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").NamedXmlBasedJson[] | undefined) | undefined;
204
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RBreak<import("../r-bridge").NoInfo> | import("../r-bridge").RNext<import("../r-bridge").NoInfo> | import("../r-bridge").RFunctionCall) => void | import("../r-bridge").RBreak<import("../r-bridge").NoInfo> | import("../r-bridge").RNext<import("../r-bridge").NoInfo> | import("../r-bridge").RFunctionCall | undefined) | undefined;
205
+ } | undefined;
206
+ onArgument?: {
207
+ unknown?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").RArgument<import("../r-bridge").NoInfo> | undefined) | undefined;
208
+ before?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").NamedXmlBasedJson[] | undefined) | undefined;
209
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RArgument<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RArgument<import("../r-bridge").NoInfo> | undefined) | undefined;
210
+ } | undefined;
211
+ } | undefined;
212
+ expression?: {
213
+ onExpression?: {
214
+ before?: ((data: import("../r-bridge").ParserData, inputObj: import("../r-bridge").XmlBasedJson) => void | import("../r-bridge").XmlBasedJson | undefined) | undefined;
215
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RNode) => void | import("../r-bridge").RNode | undefined) | undefined;
216
+ } | undefined;
217
+ } | undefined;
218
+ control?: {
219
+ onIfThen?: {
220
+ unknown?: ((data: import("../r-bridge").ParserData, tokens: [ifToken: import("../r-bridge").NamedXmlBasedJson, leftParen: import("../r-bridge").NamedXmlBasedJson, condition: import("../r-bridge").NamedXmlBasedJson, rightParen: import("../r-bridge").NamedXmlBasedJson, then: import("../r-bridge").NamedXmlBasedJson]) => void | import("../r-bridge").RIfThenElse<import("../r-bridge").NoInfo> | undefined) | undefined;
221
+ before?: ((data: import("../r-bridge").ParserData, tokens: [ifToken: import("../r-bridge").NamedXmlBasedJson, leftParen: import("../r-bridge").NamedXmlBasedJson, condition: import("../r-bridge").NamedXmlBasedJson, rightParen: import("../r-bridge").NamedXmlBasedJson, then: import("../r-bridge").NamedXmlBasedJson]) => void | [ifToken: import("../r-bridge").NamedXmlBasedJson, leftParen: import("../r-bridge").NamedXmlBasedJson, condition: import("../r-bridge").NamedXmlBasedJson, rightParen: import("../r-bridge").NamedXmlBasedJson, then: import("../r-bridge").NamedXmlBasedJson] | undefined) | undefined;
222
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RIfThenElse<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RIfThenElse<import("../r-bridge").NoInfo> | undefined) | undefined;
223
+ } | undefined;
224
+ onIfThenElse?: {
225
+ unknown?: ((data: import("../r-bridge").ParserData, tokens: [ifToken: import("../r-bridge").NamedXmlBasedJson, leftParen: import("../r-bridge").NamedXmlBasedJson, condition: import("../r-bridge").NamedXmlBasedJson, rightParen: import("../r-bridge").NamedXmlBasedJson, then: import("../r-bridge").NamedXmlBasedJson, elseToken: import("../r-bridge").NamedXmlBasedJson, elseBlock: import("../r-bridge").NamedXmlBasedJson]) => void | import("../r-bridge").RIfThenElse<import("../r-bridge").NoInfo> | undefined) | undefined;
226
+ before?: ((data: import("../r-bridge").ParserData, tokens: [ifToken: import("../r-bridge").NamedXmlBasedJson, leftParen: import("../r-bridge").NamedXmlBasedJson, condition: import("../r-bridge").NamedXmlBasedJson, rightParen: import("../r-bridge").NamedXmlBasedJson, then: import("../r-bridge").NamedXmlBasedJson, elseToken: import("../r-bridge").NamedXmlBasedJson, elseBlock: import("../r-bridge").NamedXmlBasedJson]) => void | [ifToken: import("../r-bridge").NamedXmlBasedJson, leftParen: import("../r-bridge").NamedXmlBasedJson, condition: import("../r-bridge").NamedXmlBasedJson, rightParen: import("../r-bridge").NamedXmlBasedJson, then: import("../r-bridge").NamedXmlBasedJson, elseToken: import("../r-bridge").NamedXmlBasedJson, elseBlock: import("../r-bridge").NamedXmlBasedJson] | undefined) | undefined;
227
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RIfThenElse<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RIfThenElse<import("../r-bridge").NoInfo> | undefined) | undefined;
228
+ } | undefined;
229
+ } | undefined;
230
+ } | undefined, g: import("../r-bridge").IdGenerator<import("../r-bridge").NoInfo> | undefined) => import("../r-bridge").NormalizedAst<import("../r-bridge").ParentInformation>;
62
231
  required: "once-per-file";
63
232
  printer: {
64
233
  0: typeof internalPrinter;
@@ -84,7 +253,7 @@ export declare const STEPS_PER_FILE: {
84
253
  export declare const STEPS_PER_SLICE: {
85
254
  readonly slice: {
86
255
  description: string;
87
- processor: typeof staticSlicing;
256
+ processor: (d: import("../dataflow").DataflowGraph, a: import("../r-bridge").NormalizedAst<import("../r-bridge").ParentInformation>, c: import("../slicing").SlicingCriteria) => Readonly<import("../slicing").SliceResult>;
88
257
  required: "once-per-slice";
89
258
  printer: {
90
259
  0: typeof internalPrinter;
@@ -92,7 +261,7 @@ export declare const STEPS_PER_SLICE: {
92
261
  };
93
262
  readonly reconstruct: {
94
263
  description: string;
95
- processor: typeof reconstructToCode;
264
+ processor: (a: import("../r-bridge").NormalizedAst<unknown>, s: Set<import("../r-bridge").NodeId>) => import("../slicing").ReconstructionResult;
96
265
  required: "once-per-slice";
97
266
  printer: {
98
267
  0: typeof internalPrinter;
@@ -102,7 +271,7 @@ export declare const STEPS_PER_SLICE: {
102
271
  export declare const STEPS: {
103
272
  readonly slice: {
104
273
  description: string;
105
- processor: typeof staticSlicing;
274
+ processor: (d: import("../dataflow").DataflowGraph, a: import("../r-bridge").NormalizedAst<import("../r-bridge").ParentInformation>, c: import("../slicing").SlicingCriteria) => Readonly<import("../slicing").SliceResult>;
106
275
  required: "once-per-slice";
107
276
  printer: {
108
277
  0: typeof internalPrinter;
@@ -110,7 +279,7 @@ export declare const STEPS: {
110
279
  };
111
280
  readonly reconstruct: {
112
281
  description: string;
113
- processor: typeof reconstructToCode;
282
+ processor: (a: import("../r-bridge").NormalizedAst<unknown>, s: Set<import("../r-bridge").NodeId>) => import("../slicing").ReconstructionResult;
114
283
  required: "once-per-slice";
115
284
  printer: {
116
285
  0: typeof internalPrinter;
@@ -118,7 +287,7 @@ export declare const STEPS: {
118
287
  };
119
288
  readonly parse: {
120
289
  description: string;
121
- processor: typeof retrieveParseDataFromRCode;
290
+ processor: (r: import("../r-bridge").RParseRequest, s: import("../r-bridge").RShell | import("../r-bridge/shell-executor").RShellExecutor) => import("ts-essentials").AsyncOrSync<string>;
122
291
  required: "once-per-file";
123
292
  printer: {
124
293
  0: typeof internalPrinter;
@@ -128,7 +297,179 @@ export declare const STEPS: {
128
297
  };
129
298
  readonly normalize: {
130
299
  description: string;
131
- processor: typeof normalize;
300
+ processor: (j: string, h: {
301
+ values?: {
302
+ onNumber?: {
303
+ before?: ((data: import("../r-bridge").ParserData, inputObj: import("../r-bridge").XmlBasedJson) => void | import("../r-bridge").XmlBasedJson | undefined) | undefined;
304
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RNumber<import("../r-bridge").NoInfo> | import("../r-bridge").RLogical<import("../r-bridge").NoInfo> | import("../r-bridge").RSymbol<import("../r-bridge").NoInfo, "NA">) => void | import("../r-bridge").RNumber<import("../r-bridge").NoInfo> | import("../r-bridge").RLogical<import("../r-bridge").NoInfo> | import("../r-bridge").RSymbol<import("../r-bridge").NoInfo, "NA"> | undefined) | undefined;
305
+ } | undefined;
306
+ onString?: {
307
+ before?: ((data: import("../r-bridge").ParserData, inputObj: import("../r-bridge").XmlBasedJson) => void | import("../r-bridge").XmlBasedJson | undefined) | undefined;
308
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RString<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RString<import("../r-bridge").NoInfo> | undefined) | undefined;
309
+ } | undefined;
310
+ onSymbol?: {
311
+ unknown?: ((data: import("../r-bridge").ParserData, inputObjs: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").RSymbol<import("../r-bridge").NoInfo, string> | undefined) | undefined;
312
+ before?: ((data: import("../r-bridge").ParserData, inputObjs: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").NamedXmlBasedJson[] | undefined) | undefined;
313
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RSymbol<import("../r-bridge").NoInfo, string> | undefined) => void | import("../r-bridge").RSymbol<import("../r-bridge").NoInfo, string> | undefined) | undefined;
314
+ } | undefined;
315
+ } | undefined;
316
+ onAccess?: {
317
+ unknown?: ((data: import("../r-bridge").ParserData, inputObjs: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").RAccess | undefined) | undefined;
318
+ before?: ((data: import("../r-bridge").ParserData, inputObjs: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").NamedXmlBasedJson[] | undefined) | undefined;
319
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RAccess) => void | import("../r-bridge").RAccess | undefined) | undefined;
320
+ } | undefined;
321
+ other?: {
322
+ onComment?: {
323
+ before?: ((data: import("../r-bridge").ParserData, inputObj: import("../r-bridge").XmlBasedJson) => void | import("../r-bridge").XmlBasedJson | undefined) | undefined;
324
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RComment<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RComment<import("../r-bridge").NoInfo> | undefined) | undefined;
325
+ } | undefined;
326
+ onLineDirective?: {
327
+ before?: ((data: import("../r-bridge").ParserData, inputObj: import("../r-bridge").XmlBasedJson) => void | import("../r-bridge").XmlBasedJson | undefined) | undefined;
328
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RComment<import("../r-bridge").NoInfo> | import("../r-bridge").RLineDirective<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RComment<import("../r-bridge").NoInfo> | import("../r-bridge").RLineDirective<import("../r-bridge").NoInfo> | undefined) | undefined;
329
+ } | undefined;
330
+ } | undefined;
331
+ operators?: {
332
+ onBinary?: {
333
+ unknown?: ((data: import("../r-bridge").ParserData, input: {
334
+ lhs: import("../r-bridge").NamedXmlBasedJson;
335
+ operator: import("../r-bridge").NamedXmlBasedJson;
336
+ rhs: import("../r-bridge").NamedXmlBasedJson;
337
+ }) => void | import("../r-bridge").RNode | undefined) | undefined;
338
+ before?: ((data: import("../r-bridge").ParserData, input: {
339
+ flavor: import("../r-bridge").BinaryOperatorFlavor | "special" | "pipe";
340
+ lhs: import("../r-bridge").NamedXmlBasedJson;
341
+ operator: import("../r-bridge").NamedXmlBasedJson;
342
+ rhs: import("../r-bridge").NamedXmlBasedJson;
343
+ }) => void | {
344
+ flavor: import("../r-bridge").BinaryOperatorFlavor | "special" | "pipe";
345
+ lhs: import("../r-bridge").NamedXmlBasedJson;
346
+ operator: import("../r-bridge").NamedXmlBasedJson;
347
+ rhs: import("../r-bridge").NamedXmlBasedJson;
348
+ } | undefined) | undefined;
349
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RBinaryOp<import("../r-bridge").NoInfo> | import("../r-bridge").RPipe<import("../r-bridge").NoInfo> | import("../r-bridge").RFunctionCall) => void | import("../r-bridge").RBinaryOp<import("../r-bridge").NoInfo> | import("../r-bridge").RPipe<import("../r-bridge").NoInfo> | import("../r-bridge").RFunctionCall | undefined) | undefined;
350
+ } | undefined;
351
+ onUnary?: {
352
+ unknown?: ((data: import("../r-bridge").ParserData, input: {
353
+ operator: import("../r-bridge").NamedXmlBasedJson;
354
+ operand: import("../r-bridge").NamedXmlBasedJson;
355
+ }) => void | import("../r-bridge").RNode | undefined) | undefined;
356
+ before?: ((data: import("../r-bridge").ParserData, input: {
357
+ flavor: import("../r-bridge").UnaryOperatorFlavor;
358
+ operator: import("../r-bridge").NamedXmlBasedJson;
359
+ operand: import("../r-bridge").NamedXmlBasedJson;
360
+ }) => void | {
361
+ flavor: import("../r-bridge").UnaryOperatorFlavor;
362
+ operator: import("../r-bridge").NamedXmlBasedJson;
363
+ operand: import("../r-bridge").NamedXmlBasedJson;
364
+ } | undefined) | undefined;
365
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RUnaryOp<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RUnaryOp<import("../r-bridge").NoInfo> | undefined) | undefined;
366
+ } | undefined;
367
+ } | undefined;
368
+ loops?: {
369
+ onForLoop?: {
370
+ unknown?: ((data: import("../r-bridge").ParserData, input: {
371
+ forToken: import("../r-bridge").NamedXmlBasedJson;
372
+ condition: import("../r-bridge").NamedXmlBasedJson;
373
+ body: import("../r-bridge").NamedXmlBasedJson;
374
+ }) => void | import("../r-bridge").RForLoop<import("../r-bridge").NoInfo> | undefined) | undefined;
375
+ before?: ((data: import("../r-bridge").ParserData, input: {
376
+ forToken: import("../r-bridge").NamedXmlBasedJson;
377
+ condition: import("../r-bridge").NamedXmlBasedJson;
378
+ body: import("../r-bridge").NamedXmlBasedJson;
379
+ }) => void | {
380
+ forToken: import("../r-bridge").NamedXmlBasedJson;
381
+ condition: import("../r-bridge").NamedXmlBasedJson;
382
+ body: import("../r-bridge").NamedXmlBasedJson;
383
+ } | undefined) | undefined;
384
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RForLoop<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RForLoop<import("../r-bridge").NoInfo> | undefined) | undefined;
385
+ } | undefined;
386
+ onRepeatLoop?: {
387
+ unknown?: ((data: import("../r-bridge").ParserData, input: {
388
+ repeatToken: import("../r-bridge").NamedXmlBasedJson;
389
+ body: import("../r-bridge").NamedXmlBasedJson;
390
+ }) => void | import("../r-bridge").RRepeatLoop<import("../r-bridge").NoInfo> | undefined) | undefined;
391
+ before?: ((data: import("../r-bridge").ParserData, input: {
392
+ repeatToken: import("../r-bridge").NamedXmlBasedJson;
393
+ body: import("../r-bridge").NamedXmlBasedJson;
394
+ }) => void | {
395
+ repeatToken: import("../r-bridge").NamedXmlBasedJson;
396
+ body: import("../r-bridge").NamedXmlBasedJson;
397
+ } | undefined) | undefined;
398
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RRepeatLoop<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RRepeatLoop<import("../r-bridge").NoInfo> | undefined) | undefined;
399
+ } | undefined;
400
+ onWhileLoop?: {
401
+ unknown?: ((data: import("../r-bridge").ParserData, input: {
402
+ whileToken: import("../r-bridge").NamedXmlBasedJson;
403
+ leftParen: import("../r-bridge").NamedXmlBasedJson;
404
+ condition: import("../r-bridge").NamedXmlBasedJson;
405
+ rightParen: import("../r-bridge").NamedXmlBasedJson;
406
+ body: import("../r-bridge").NamedXmlBasedJson;
407
+ }) => void | import("../r-bridge").RWhileLoop<import("../r-bridge").NoInfo> | undefined) | undefined;
408
+ before?: ((data: import("../r-bridge").ParserData, input: {
409
+ whileToken: import("../r-bridge").NamedXmlBasedJson;
410
+ leftParen: import("../r-bridge").NamedXmlBasedJson;
411
+ condition: import("../r-bridge").NamedXmlBasedJson;
412
+ rightParen: import("../r-bridge").NamedXmlBasedJson;
413
+ body: import("../r-bridge").NamedXmlBasedJson;
414
+ }) => void | {
415
+ whileToken: import("../r-bridge").NamedXmlBasedJson;
416
+ leftParen: import("../r-bridge").NamedXmlBasedJson;
417
+ condition: import("../r-bridge").NamedXmlBasedJson;
418
+ rightParen: import("../r-bridge").NamedXmlBasedJson;
419
+ body: import("../r-bridge").NamedXmlBasedJson;
420
+ } | undefined) | undefined;
421
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RWhileLoop<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RWhileLoop<import("../r-bridge").NoInfo> | undefined) | undefined;
422
+ } | undefined;
423
+ onBreak?: {
424
+ before?: ((data: import("../r-bridge").ParserData, input: import("../r-bridge").XmlBasedJson) => void | import("../r-bridge").XmlBasedJson | undefined) | undefined;
425
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RBreak<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RBreak<import("../r-bridge").NoInfo> | undefined) | undefined;
426
+ } | undefined;
427
+ onNext?: {
428
+ before?: ((data: import("../r-bridge").ParserData, input: import("../r-bridge").XmlBasedJson) => void | import("../r-bridge").XmlBasedJson | undefined) | undefined;
429
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RNext<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RNext<import("../r-bridge").NoInfo> | undefined) | undefined;
430
+ } | undefined;
431
+ } | undefined;
432
+ functions?: {
433
+ onFunctionDefinition?: {
434
+ unknown?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").RFunctionDefinition<import("../r-bridge").NoInfo> | undefined) | undefined;
435
+ before?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").NamedXmlBasedJson[] | undefined) | undefined;
436
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RFunctionDefinition<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RFunctionDefinition<import("../r-bridge").NoInfo> | undefined) | undefined;
437
+ } | undefined;
438
+ onParameter?: {
439
+ unknown?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").RParameter<import("../r-bridge").NoInfo> | undefined) | undefined;
440
+ before?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").NamedXmlBasedJson[] | undefined) | undefined;
441
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RParameter<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RParameter<import("../r-bridge").NoInfo> | undefined) | undefined;
442
+ } | undefined;
443
+ onFunctionCall?: {
444
+ unknown?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").RBreak<import("../r-bridge").NoInfo> | import("../r-bridge").RNext<import("../r-bridge").NoInfo> | import("../r-bridge").RFunctionCall | undefined) | undefined;
445
+ before?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").NamedXmlBasedJson[] | undefined) | undefined;
446
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RBreak<import("../r-bridge").NoInfo> | import("../r-bridge").RNext<import("../r-bridge").NoInfo> | import("../r-bridge").RFunctionCall) => void | import("../r-bridge").RBreak<import("../r-bridge").NoInfo> | import("../r-bridge").RNext<import("../r-bridge").NoInfo> | import("../r-bridge").RFunctionCall | undefined) | undefined;
447
+ } | undefined;
448
+ onArgument?: {
449
+ unknown?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").RArgument<import("../r-bridge").NoInfo> | undefined) | undefined;
450
+ before?: ((data: import("../r-bridge").ParserData, mappedWithName: import("../r-bridge").NamedXmlBasedJson[]) => void | import("../r-bridge").NamedXmlBasedJson[] | undefined) | undefined;
451
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RArgument<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RArgument<import("../r-bridge").NoInfo> | undefined) | undefined;
452
+ } | undefined;
453
+ } | undefined;
454
+ expression?: {
455
+ onExpression?: {
456
+ before?: ((data: import("../r-bridge").ParserData, inputObj: import("../r-bridge").XmlBasedJson) => void | import("../r-bridge").XmlBasedJson | undefined) | undefined;
457
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RNode) => void | import("../r-bridge").RNode | undefined) | undefined;
458
+ } | undefined;
459
+ } | undefined;
460
+ control?: {
461
+ onIfThen?: {
462
+ unknown?: ((data: import("../r-bridge").ParserData, tokens: [ifToken: import("../r-bridge").NamedXmlBasedJson, leftParen: import("../r-bridge").NamedXmlBasedJson, condition: import("../r-bridge").NamedXmlBasedJson, rightParen: import("../r-bridge").NamedXmlBasedJson, then: import("../r-bridge").NamedXmlBasedJson]) => void | import("../r-bridge").RIfThenElse<import("../r-bridge").NoInfo> | undefined) | undefined;
463
+ before?: ((data: import("../r-bridge").ParserData, tokens: [ifToken: import("../r-bridge").NamedXmlBasedJson, leftParen: import("../r-bridge").NamedXmlBasedJson, condition: import("../r-bridge").NamedXmlBasedJson, rightParen: import("../r-bridge").NamedXmlBasedJson, then: import("../r-bridge").NamedXmlBasedJson]) => void | [ifToken: import("../r-bridge").NamedXmlBasedJson, leftParen: import("../r-bridge").NamedXmlBasedJson, condition: import("../r-bridge").NamedXmlBasedJson, rightParen: import("../r-bridge").NamedXmlBasedJson, then: import("../r-bridge").NamedXmlBasedJson] | undefined) | undefined;
464
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RIfThenElse<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RIfThenElse<import("../r-bridge").NoInfo> | undefined) | undefined;
465
+ } | undefined;
466
+ onIfThenElse?: {
467
+ unknown?: ((data: import("../r-bridge").ParserData, tokens: [ifToken: import("../r-bridge").NamedXmlBasedJson, leftParen: import("../r-bridge").NamedXmlBasedJson, condition: import("../r-bridge").NamedXmlBasedJson, rightParen: import("../r-bridge").NamedXmlBasedJson, then: import("../r-bridge").NamedXmlBasedJson, elseToken: import("../r-bridge").NamedXmlBasedJson, elseBlock: import("../r-bridge").NamedXmlBasedJson]) => void | import("../r-bridge").RIfThenElse<import("../r-bridge").NoInfo> | undefined) | undefined;
468
+ before?: ((data: import("../r-bridge").ParserData, tokens: [ifToken: import("../r-bridge").NamedXmlBasedJson, leftParen: import("../r-bridge").NamedXmlBasedJson, condition: import("../r-bridge").NamedXmlBasedJson, rightParen: import("../r-bridge").NamedXmlBasedJson, then: import("../r-bridge").NamedXmlBasedJson, elseToken: import("../r-bridge").NamedXmlBasedJson, elseBlock: import("../r-bridge").NamedXmlBasedJson]) => void | [ifToken: import("../r-bridge").NamedXmlBasedJson, leftParen: import("../r-bridge").NamedXmlBasedJson, condition: import("../r-bridge").NamedXmlBasedJson, rightParen: import("../r-bridge").NamedXmlBasedJson, then: import("../r-bridge").NamedXmlBasedJson, elseToken: import("../r-bridge").NamedXmlBasedJson, elseBlock: import("../r-bridge").NamedXmlBasedJson] | undefined) | undefined;
469
+ after?: ((data: import("../r-bridge").ParserData, result: import("../r-bridge").RIfThenElse<import("../r-bridge").NoInfo>) => void | import("../r-bridge").RIfThenElse<import("../r-bridge").NoInfo> | undefined) | undefined;
470
+ } | undefined;
471
+ } | undefined;
472
+ } | undefined, g: import("../r-bridge").IdGenerator<import("../r-bridge").NoInfo> | undefined) => import("../r-bridge").NormalizedAst<import("../r-bridge").ParentInformation>;
132
473
  required: "once-per-file";
133
474
  printer: {
134
475
  0: typeof internalPrinter;
package/core/steps.js CHANGED
@@ -27,7 +27,7 @@ const parser_1 = require("../r-bridge/lang-4.x/ast/parser/json/parser");
27
27
  exports.STEPS_PER_FILE = {
28
28
  'parse': {
29
29
  description: 'Parse the given R code into an AST',
30
- processor: r_bridge_1.retrieveParseDataFromRCode,
30
+ processor: (r, s) => (0, r_bridge_1.retrieveParseDataFromRCode)(r, s),
31
31
  required: 'once-per-file',
32
32
  printer: {
33
33
  [0 /* StepOutputFormat.Internal */]: print_1.internalPrinter,
@@ -37,7 +37,7 @@ exports.STEPS_PER_FILE = {
37
37
  },
38
38
  'normalize': {
39
39
  description: 'Normalize the AST to flowR\'s AST (first step of the normalization)',
40
- processor: parser_1.normalize,
40
+ processor: (j, h, g) => (0, parser_1.normalize)(j, h, g),
41
41
  required: 'once-per-file',
42
42
  printer: {
43
43
  [0 /* StepOutputFormat.Internal */]: print_1.internalPrinter,
@@ -63,7 +63,7 @@ exports.STEPS_PER_FILE = {
63
63
  exports.STEPS_PER_SLICE = {
64
64
  'slice': {
65
65
  description: 'Calculate the actual static slice from the dataflow graph and the given slicing criteria',
66
- processor: slicing_1.staticSlicing,
66
+ processor: (d, a, c) => (0, slicing_1.staticSlicing)(d, a, c),
67
67
  required: 'once-per-slice',
68
68
  printer: {
69
69
  [0 /* StepOutputFormat.Internal */]: print_1.internalPrinter
@@ -71,7 +71,7 @@ exports.STEPS_PER_SLICE = {
71
71
  },
72
72
  'reconstruct': {
73
73
  description: 'Reconstruct R code from the static slice',
74
- processor: slicing_1.reconstructToCode,
74
+ processor: (a, s) => (0, slicing_1.reconstructToCode)(a, s),
75
75
  required: 'once-per-slice',
76
76
  printer: {
77
77
  [0 /* StepOutputFormat.Internal */]: print_1.internalPrinter
package/index.d.ts CHANGED
@@ -2,5 +2,3 @@ export * from './core';
2
2
  export * from './slicing';
3
3
  export * from './dataflow';
4
4
  export * from './r-bridge';
5
- export * from './benchmark';
6
- export * from './statistics';
package/index.js CHANGED
@@ -18,6 +18,4 @@ __exportStar(require("./core"), exports);
18
18
  __exportStar(require("./slicing"), exports);
19
19
  __exportStar(require("./dataflow"), exports);
20
20
  __exportStar(require("./r-bridge"), exports);
21
- __exportStar(require("./benchmark"), exports);
22
- __exportStar(require("./statistics"), exports);
23
21
  //# sourceMappingURL=index.js.map