occam-furtle 2.0.342 → 3.0.2

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 (116) hide show
  1. package/example.js +5905 -1786
  2. package/lib/context/block.js +81 -41
  3. package/lib/context/file/furtle.js +260 -0
  4. package/lib/context/file/nominal.js +956 -0
  5. package/lib/context/file.js +146 -271
  6. package/lib/context.js +210 -0
  7. package/lib/element/assignment/array.js +116 -14
  8. package/lib/element/assignment/object.js +116 -14
  9. package/lib/element/assignment/variable.js +121 -14
  10. package/lib/element/assignments/variable.js +120 -13
  11. package/lib/element/declaration/procedure.js +120 -12
  12. package/lib/element/error.js +118 -13
  13. package/lib/element/every.js +116 -13
  14. package/lib/element/expression.js +127 -20
  15. package/lib/element/label.js +119 -12
  16. package/lib/element/nodeQuery.js +116 -14
  17. package/lib/element/nodesQuery.js +116 -14
  18. package/lib/element/parameter/named.js +117 -15
  19. package/lib/element/parameter.js +116 -14
  20. package/lib/element/parameters/named.js +116 -14
  21. package/lib/element/parameters.js +115 -13
  22. package/lib/element/primitive.js +115 -13
  23. package/lib/element/procedure/anonymous.js +118 -16
  24. package/lib/element/procedure.js +118 -16
  25. package/lib/element/procedureCall.js +116 -14
  26. package/lib/element/reduce.js +116 -14
  27. package/lib/element/reference.js +119 -12
  28. package/lib/element/returnBlock.js +116 -14
  29. package/lib/element/some.js +115 -13
  30. package/lib/element/statement/return.js +120 -13
  31. package/lib/element/step.js +121 -14
  32. package/lib/element/term/bracketed.js +120 -13
  33. package/lib/element/term/comparison.js +117 -15
  34. package/lib/element/term/logical.js +118 -16
  35. package/lib/element/term/negated.js +116 -14
  36. package/lib/element/term.js +127 -18
  37. package/lib/element/terms.js +125 -14
  38. package/lib/element/ternary.js +117 -15
  39. package/lib/element/variable.js +127 -19
  40. package/lib/element.js +1 -8
  41. package/lib/index.js +5 -5
  42. package/lib/log.js +13 -12
  43. package/lib/metaTypeNames.js +26 -0
  44. package/lib/metaTypes.js +66 -0
  45. package/lib/nodeProperties.js +17 -21
  46. package/lib/nodeProperty.js +4 -7
  47. package/lib/utilities/context.js +8 -37
  48. package/lib/utilities/customGrammar.js +49 -0
  49. package/lib/utilities/element.js +91 -37
  50. package/lib/utilities/lineIndex.js +26 -0
  51. package/lib/utilities/node.js +1 -8
  52. package/lib/utilities/primitive.js +14 -5
  53. package/lib/utilities/string.js +30 -19
  54. package/lib/utilities/term.js +14 -5
  55. package/lib/utilities/terms.js +7 -3
  56. package/package.json +2 -2
  57. package/src/context/block.js +20 -32
  58. package/src/context/file/furtle.js +141 -0
  59. package/src/context/file/nominal.js +946 -0
  60. package/src/context/file.js +32 -209
  61. package/src/context.js +74 -0
  62. package/src/element/assignment/array.js +6 -8
  63. package/src/element/assignment/object.js +6 -8
  64. package/src/element/assignment/variable.js +7 -8
  65. package/src/element/assignments/variable.js +7 -8
  66. package/src/element/declaration/procedure.js +6 -6
  67. package/src/element/error.js +4 -6
  68. package/src/element/every.js +5 -6
  69. package/src/element/expression.js +6 -7
  70. package/src/element/label.js +6 -7
  71. package/src/element/nodeQuery.js +6 -8
  72. package/src/element/nodesQuery.js +6 -8
  73. package/src/element/parameter/named.js +7 -8
  74. package/src/element/parameter.js +6 -8
  75. package/src/element/parameters/named.js +8 -9
  76. package/src/element/parameters.js +6 -8
  77. package/src/element/primitive.js +5 -7
  78. package/src/element/procedure/anonymous.js +7 -9
  79. package/src/element/procedure.js +6 -8
  80. package/src/element/procedureCall.js +6 -8
  81. package/src/element/reduce.js +5 -7
  82. package/src/element/reference.js +6 -7
  83. package/src/element/returnBlock.js +5 -7
  84. package/src/element/some.js +5 -7
  85. package/src/element/statement/return.js +7 -8
  86. package/src/element/step.js +6 -7
  87. package/src/element/term/bracketed.js +7 -8
  88. package/src/element/term/comparison.js +6 -8
  89. package/src/element/term/logical.js +6 -8
  90. package/src/element/term/negated.js +6 -8
  91. package/src/element/term.js +12 -9
  92. package/src/element/terms.js +16 -9
  93. package/src/element/ternary.js +6 -8
  94. package/src/element/variable.js +24 -14
  95. package/src/element.js +0 -8
  96. package/src/index.js +1 -1
  97. package/src/log.js +11 -11
  98. package/src/metaTypeNames.js +5 -0
  99. package/src/metaTypes.js +71 -0
  100. package/src/nodeProperties.js +23 -32
  101. package/src/nodeProperty.js +5 -10
  102. package/src/utilities/context.js +7 -45
  103. package/src/utilities/customGrammar.js +40 -0
  104. package/src/utilities/element.js +158 -64
  105. package/src/utilities/lineIndex.js +21 -0
  106. package/src/utilities/node.js +0 -5
  107. package/src/utilities/primitive.js +22 -5
  108. package/src/utilities/string.js +33 -19
  109. package/src/utilities/term.js +22 -5
  110. package/src/utilities/terms.js +12 -4
  111. package/test/context/release.js +477 -46
  112. package/test/helpers/furtle.js +1 -1
  113. package/test/helpers/nominal.js +2 -3
  114. package/test/main.js +1 -1
  115. package/test/context/file.js +0 -127
  116. package/test/helpers/constants.js +0 -17
@@ -1,127 +0,0 @@
1
- "use strict";
2
-
3
- const { nodeUtilities, contextUtilities } = require("../../lib/index");
4
-
5
- const { nodeAsString, nodesAsString } = nodeUtilities,
6
- { chainContext, lineIndexFromNodeAndTokens } = contextUtilities;
7
-
8
- class FileContext {
9
- constructor(context, filePath, lineIndex, node, tokens) {
10
- this.context = context;
11
- this.filePath = filePath;
12
- this.lineIndex = lineIndex;
13
- this.node = node;
14
- this.tokens = tokens;
15
-
16
- return chainContext(this);
17
- }
18
-
19
- getContext() {
20
- return this.context;
21
- }
22
-
23
- getFilePath() {
24
- return this.filePath;
25
- }
26
-
27
- getLineIndex() {
28
- return this.lineIndex;
29
- }
30
-
31
- getNode() {
32
- return this.node;
33
- }
34
-
35
- getTokens() {
36
- return this.tokens;
37
- }
38
-
39
- getVariables() {
40
- const variables = [];
41
-
42
- return variables;
43
- }
44
-
45
- getProcedures() {
46
- const procedures = [];
47
-
48
- return procedures;
49
- }
50
-
51
- nodeAsString(node) {
52
- const string = nodeAsString(node, this.tokens);
53
-
54
- return string;
55
- }
56
-
57
- nodesAsString(nodes) {
58
- const string = nodesAsString(nodes, this.tokens);
59
-
60
- return string;
61
- }
62
-
63
- trace(message, node = null) {
64
- const level = TRACE_LEVEL;
65
-
66
- this.writeToLog(level, message, node);
67
- }
68
-
69
- debug(message, node = null) {
70
- const level = DEBUG_LEVEL;
71
-
72
- this.writeToLog(level, message, node);
73
- }
74
-
75
- info(message, node = null) {
76
- const level = INFO_LEVEL;
77
-
78
- this.writeToLog(level, message, node);
79
- }
80
-
81
- warning(message, node = null) {
82
- const level = WARNING_LEVEL;
83
-
84
- this.writeToLog(level, message, node);
85
- }
86
-
87
- error(message, node = null) {
88
- const level = ERROR_LEVEL;
89
-
90
- this.writeToLog(level, message, node);
91
- }
92
-
93
- writeToLog(level, message, node) {
94
- const lineIndex = lineIndexFromNodeAndTokens(node, this.tokens, this.lineIndex),
95
- filePath = (lineIndex === null) ?
96
- this.filePath :
97
- null;
98
-
99
- this.context.writeToLog(level, message, filePath, lineIndex);
100
-
101
- this.lineIndex = lineIndex;
102
- }
103
-
104
- getFileContext() {
105
- const fileContext = this; ///
106
-
107
- return fileContext;
108
- }
109
-
110
- getDepth() {
111
- let depth = this.context.getDepth();
112
-
113
- depth++;
114
-
115
- return depth;
116
- }
117
-
118
- static fromNodeTokensAndFilePath(node, tokens, filePath, context) {
119
- const lineIndex = null,
120
- fileContext = new FileContext(context, filePath, lineIndex, node, tokens);
121
-
122
- return fileContext;
123
- }
124
- }
125
-
126
- module.exports = FileContext;
127
-
@@ -1,17 +0,0 @@
1
- "use strict";
2
-
3
- const { levels } = require("necessary");
4
-
5
- const { TRACE_LEVEL, DEBUG_LEVEL, INFO_LEVEL, WARNING_LEVEL, ERROR_LEVEL } = levels;
6
-
7
- const LEVELS = [
8
- TRACE_LEVEL,
9
- DEBUG_LEVEL,
10
- INFO_LEVEL,
11
- WARNING_LEVEL,
12
- ERROR_LEVEL
13
- ];
14
-
15
- module.exports = {
16
- LEVELS
17
- };