occam-furtle 3.0.237 → 3.0.239

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.
@@ -1,30 +1,29 @@
1
1
  "use strict";
2
2
 
3
+ import { NominalValue } from "occam-nominal";
3
4
  import { NonTerminalNode } from "occam-languages";
4
5
 
5
- import nullNode from "../nullNode";
6
-
7
6
  import { NULL, TRUE, FALSE } from "../constants";
8
- import { NODE_TYPE, STRING_TYPE, NUMBER_TYPE, BOOLEAN_TYPE } from "../types";
7
+ import { STRING_TYPE, NUMBER_TYPE, BOOLEAN_TYPE, NOMINAL_VALUE_TYPE } from "../types";
9
8
  import { NULL_TOKEN_TYPE, NUMBER_TOKEN_TYPE, BOOLEAN_TOKEN_TYPE, STRING_LITERAL_TOKEN_TYPE } from "../tokenTypes";
10
9
 
11
10
  export default class PrimitiveNode extends NonTerminalNode {
12
11
  getType() {
13
12
  let type;
14
13
 
15
- const node = this.getNode(),
16
- number = this.getNumber(),
14
+ const number = this.getNumber(),
17
15
  boolean = this.getBoolean(),
16
+ nominalvalue = this.getNominaValue(),
18
17
  stringLiteral = this.getStringLiteral();
19
18
 
20
19
  if (false) {
21
20
  ///
22
- } else if (node !== null) {
23
- type = NODE_TYPE;
24
21
  } else if (number !== null) {
25
22
  type = NUMBER_TYPE;
26
23
  } else if (boolean !== null) {
27
24
  type = BOOLEAN_TYPE;
25
+ } else if (nominalvalue !== null) {
26
+ type = NOMINAL_VALUE_TYPE;
28
27
  } else if (stringLiteral !== null) {
29
28
  type = STRING_TYPE;
30
29
  }
@@ -35,19 +34,19 @@ export default class PrimitiveNode extends NonTerminalNode {
35
34
  getValue() {
36
35
  let value;
37
36
 
38
- const node = this.getNode(),
39
- number = this.getNumber(),
37
+ const number = this.getNumber(),
40
38
  boolean = this.getBoolean(),
39
+ nominalValue = this.getNominaValue(),
41
40
  stringLiteral = this.getStringLiteral();
42
41
 
43
42
  if (false) {
44
43
  ///
45
- } else if (node !== null) {
46
- value = node; ///
47
44
  } else if (number !== null) {
48
45
  value = number; ///
49
46
  } else if (boolean !== null) {
50
47
  value = boolean; ///
48
+ } else if (nominalValue !== null) {
49
+ value = nominalValue; ///
51
50
  } else if (stringLiteral !== null) {
52
51
  value = stringLiteral; ///
53
52
  }
@@ -55,24 +54,6 @@ export default class PrimitiveNode extends NonTerminalNode {
55
54
  return value;
56
55
  }
57
56
 
58
- getNode() {
59
- let node = null;
60
-
61
- const tokenType = NULL_TOKEN_TYPE;
62
-
63
- this.someTerminalNode((terminalNode) => {
64
- const content = terminalNode.getContent();
65
-
66
- if (content === NULL) {
67
- node = nullNode;
68
-
69
- return true;
70
- }
71
- }, tokenType);
72
-
73
- return node;
74
- }
75
-
76
57
  getNumber() {
77
58
  let number = null;
78
59
 
@@ -115,6 +96,24 @@ export default class PrimitiveNode extends NonTerminalNode {
115
96
  return boolean;
116
97
  }
117
98
 
99
+ getNominaValue() {
100
+ let nominalValue = null;
101
+
102
+ const tokenType = NULL_TOKEN_TYPE;
103
+
104
+ this.someTerminalNode((terminalNode) => {
105
+ const content = terminalNode.getContent();
106
+
107
+ if (content === NULL) {
108
+ nominalValue = NominalValue.fromNothing();
109
+
110
+ return true;
111
+ }
112
+ }, tokenType);
113
+
114
+ return nominalValue;
115
+ }
116
+
118
117
  getStringLiteral() {
119
118
  let stringLiteral = null;
120
119
 
@@ -3,8 +3,8 @@
3
3
  import Exception from "./exception";
4
4
  import NodeProperty from "./nodeProperty";
5
5
 
6
- import { NODES_TYPE, STRING_TYPE, BOOLEAN_TYPE } from "./types";
7
6
  import { nodePropertiesStringFromNodePropertiesArray } from "./utilities/string";
7
+ import { STRING_TYPE, BOOLEAN_TYPE, NOMINAL_VALUES_TYPE } from "./types";
8
8
  import { CONTENT_PARAMETER_NAME, TERMINAL_PARAMETER_NAME, CHILD_NODES_PARAMETER_NAME } from "./parameterNames";
9
9
 
10
10
  class NodeProperties {
@@ -71,7 +71,7 @@ function nodePropertiesArrayFromNothing() {
71
71
  const types = [
72
72
  STRING_TYPE,
73
73
  BOOLEAN_TYPE,
74
- NODES_TYPE,
74
+ NOMINAL_VALUES_TYPE
75
75
  ],
76
76
  names = [
77
77
  CONTENT_PARAMETER_NAME,
package/src/types.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
- export const NODE_TYPE = "Node";
4
- export const NODES_TYPE = "Nodes";
5
3
  export const STRING_TYPE = "String";
6
4
  export const NUMBER_TYPE = "Number";
7
5
  export const BOOLEAN_TYPE = "Boolean";
6
+ export const NOMINAL_VALUE_TYPE = "Node"; ///
7
+ export const NOMINAL_VALUES_TYPE = "Nodes"; ///
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ import { NominalValue } from "occam-nominal";
4
+
5
+ import { termFromNominalValue, termFromNominalValues } from "../utilities/term";
6
+
7
+ export function termFromNodeAndNominalValue(node, nominalValue) {
8
+ const context = nominalValue.getContext();
9
+
10
+ nominalValue = NominalValue.fromNode(node, context);
11
+
12
+ const term = termFromNominalValue(nominalValue);
13
+
14
+ return term;
15
+ }
16
+
17
+ export function termFromNodesAndNominalValue(nodes, nominalValue) {
18
+ const context = nominalValue.getContext(),
19
+ nominalValues = nodes.map((node) => {
20
+ const nominalValue = NominalValue.fromNode(node, context);
21
+
22
+ return nominalValue;
23
+ }),
24
+ term = termFromNominalValues(nominalValues);
25
+
26
+ return term;
27
+ }
@@ -2,19 +2,18 @@
2
2
 
3
3
  import elements from "../elements";
4
4
 
5
- import { NODE_TYPE, NODES_TYPE, STRING_TYPE, BOOLEAN_TYPE } from "../types";
6
- import { primtiveStringFromNode, primtiveStringFromNodes, primtiveStringFromBoolean, primtiveStringFromStringLiteral } from "../utilities/string";
5
+ import { STRING_TYPE, BOOLEAN_TYPE, NOMINAL_VALUE_TYPE, NOMINAL_VALUES_TYPE } from "../types";
6
+ import { primtiveStringFromBoolean, primtiveStringFromNominalValue, primtiveStringFromNominalValues, primtiveStringFromStringLiteral } from "../utilities/string";
7
7
 
8
- export function primitiveFromNode(node, context) {
8
+ export function primitiveFromBoolean(boolean, context) {
9
9
  const { Primitive } = elements,
10
- primitiveString = primtiveStringFromNode(node, context),
10
+ primitiveString = primtiveStringFromBoolean(boolean),
11
11
  string = primitiveString, ///
12
- type = NODE_TYPE,
13
- value = node, ///
12
+ type = BOOLEAN_TYPE,
13
+ value = boolean, ///
14
+ node = null,
14
15
  breakPoint = null;
15
16
 
16
- node = null;
17
-
18
17
  context = null;
19
18
 
20
19
  const primitive = new Primitive(context, string, node, breakPoint, type, value);
@@ -22,34 +21,30 @@ export function primitiveFromNode(node, context) {
22
21
  return primitive;
23
22
  }
24
23
 
25
- export function primitiveFromNodes(nodes, context) {
24
+ export function primitiveFromNominalValue(nominalValue) {
26
25
  const { Primitive } = elements,
27
- primitiveString = primtiveStringFromNodes(nodes, context),
26
+ primitiveString = primtiveStringFromNominalValue(nominalValue),
28
27
  string = primitiveString, ///
29
- type = NODES_TYPE,
30
- value = nodes, ///
28
+ type = NOMINAL_VALUE_TYPE,
29
+ value = nominalValue, ///
30
+ breakPoint = null,
31
31
  node = null,
32
- breakPoint = null;
33
-
34
- context = null;
35
-
36
- const primitive = new Primitive(context, string, node, breakPoint, type, value);
32
+ context = null,
33
+ primitive = new Primitive(context, string, node, breakPoint, type, value);
37
34
 
38
35
  return primitive;
39
36
  }
40
37
 
41
- export function primitiveFromBoolean(boolean, context) {
38
+ export function primitiveFromNominalValues(nominalValues) {
42
39
  const { Primitive } = elements,
43
- primitiveString = primtiveStringFromBoolean(boolean),
40
+ primitiveString = primtiveStringFromNominalValues(nominalValues),
44
41
  string = primitiveString, ///
45
- type = BOOLEAN_TYPE,
46
- value = boolean, ///
42
+ type = NOMINAL_VALUES_TYPE,
43
+ value = nominalValues, ///
47
44
  node = null,
48
- breakPoint = null;
49
-
50
- context = null;
51
-
52
- const primitive = new Primitive(context, string, node, breakPoint, type, value);
45
+ breakPoint = null,
46
+ context = null,
47
+ primitive = new Primitive(context, string, node, breakPoint, type, value);
53
48
 
54
49
  return primitive;
55
50
  }
@@ -71,8 +66,8 @@ export function primitiveFromStringLiteral(stringLiteral, context) {
71
66
  }
72
67
 
73
68
  export default {
74
- primitiveFromNode,
75
- primitiveFromNodes,
76
69
  primitiveFromBoolean,
70
+ primitiveFromNominalValue,
71
+ primitiveFromNominalValues,
77
72
  primitiveFromStringLiteral
78
73
  };
@@ -1,8 +1,5 @@
1
1
  "use strict";
2
2
 
3
- import nullNode from "../nullNode";
4
-
5
- import { NULL } from "../constants";
6
3
  import { stringFromStringLiteral } from "./stringLiteral";
7
4
 
8
5
  export function ternaryStringFromTerm(term) {
@@ -18,21 +15,6 @@ export function variableStringFromName(name) {
18
15
  return variableString;
19
16
  }
20
17
 
21
- export function primtiveStringFromNode(node, context) {
22
- const primtiveString = (node === nullNode) ?
23
- NULL :
24
- context.nodeAsString(node);
25
-
26
- return primtiveString;
27
- }
28
-
29
- export function primtiveStringFromNodes(nodes, context) {
30
- const string = context.nodesAsString(nodes),
31
- primtiveString = string; ///
32
-
33
- return primtiveString;
34
- }
35
-
36
18
  export function termStringFromProperties(properties) {
37
19
  let termString;
38
20
 
@@ -67,6 +49,13 @@ export function termsStringFromTermsArray(termsArray) {
67
49
  return termsString;
68
50
  }
69
51
 
52
+ export function primtiveStringFromNominalValue(nominalValue) {
53
+ const string = nominalValue.getString(),
54
+ primtiveString = string; ///
55
+
56
+ return primtiveString;
57
+ }
58
+
70
59
  export function expressionStringFromProperties(properties) {
71
60
  let expressionString;
72
61
 
@@ -88,6 +77,20 @@ export function primtiveStringFromStringLiteral(stringLiteral) {
88
77
  return primtiveString;
89
78
  }
90
79
 
80
+ export function primtiveStringFromNominalValues(nominalValues) {
81
+ const primtiveString = nominalValues.reduce((primitiveString, nominalValue) => {
82
+ const nominalValueString = nominalValue.getString();
83
+
84
+ primitiveString = (primitiveString !== null) ?
85
+ `${primitiveString}, ${nominalValueString}` :
86
+ nominalValueString; ///
87
+
88
+ return primitiveString;
89
+ }, null);
90
+
91
+ return primtiveString;
92
+ }
93
+
91
94
  export function nodePropertyStringFromNameAndType(name, type) {
92
95
  const typeString = type, ///
93
96
  nameString = name, ///
@@ -2,28 +2,24 @@
2
2
 
3
3
  import elements from "../elements";
4
4
 
5
- import { primitiveFromNode, primitiveFromNodes, primitiveFromBoolean, primitiveFromStringLiteral } from "../utilities/primitive";
5
+ import { primitiveFromBoolean, primitiveFromNominalValue, primitiveFromNominalValues, primitiveFromStringLiteral } from "../utilities/primitive";
6
6
 
7
- export function termFromNode(node, context) {
7
+ export function termFromPrimitive(primitive) {
8
8
  const { Term } = elements,
9
- variable = null,
10
- primitive = primitiveFromNode(node, context),
9
+ context = null,
11
10
  string = primitive.getString(),
12
- breakPoint = null;
13
-
14
- node = null;
15
-
16
- context = null;
17
-
18
- const term = new Term(context, string, node, breakPoint, variable, primitive);
11
+ node = null,
12
+ breakPoint = null,
13
+ variable = null,
14
+ term = new Term(context, string, node, breakPoint, variable, primitive);
19
15
 
20
16
  return term;
21
17
  }
22
18
 
23
- export function termFromNodes(nodes, context) {
19
+ export function termFromBoolean(boolean, context) {
24
20
  const { Term } = elements,
25
21
  variable = null,
26
- primitive = primitiveFromNodes(nodes, context),
22
+ primitive = primitiveFromBoolean(boolean, context),
27
23
  string = primitive.getString(),
28
24
  node = null,
29
25
  breakPoint = null;
@@ -35,17 +31,28 @@ export function termFromNodes(nodes, context) {
35
31
  return term;
36
32
  }
37
33
 
38
- export function termFromBoolean(boolean, context) {
34
+ export function termFromNominalValue(nominalValue) {
39
35
  const { Term } = elements,
40
36
  variable = null,
41
- primitive = primitiveFromBoolean(boolean, context),
37
+ primitive = primitiveFromNominalValue(nominalValue),
42
38
  string = primitive.getString(),
39
+ breakPoint = null,
43
40
  node = null,
44
- breakPoint = null;
41
+ context = null,
42
+ term = new Term(context, string, node, breakPoint, variable, primitive);
45
43
 
46
- context = null;
44
+ return term;
45
+ }
47
46
 
48
- const term = new Term(context, string, node, breakPoint, variable, primitive);
47
+ export function termFromNominalValues(nominalValues) {
48
+ const { Term } = elements,
49
+ variable = null,
50
+ primitive = primitiveFromNominalValues(nominalValues),
51
+ string = primitive.getString(),
52
+ node = null,
53
+ breakPoint = null,
54
+ context = null,
55
+ term = new Term(context, string, node, breakPoint, variable, primitive);
49
56
 
50
57
  return term;
51
58
  }
@@ -65,22 +72,10 @@ export function termFromStringLiteral(stringLiteral, context) {
65
72
  return term;
66
73
  }
67
74
 
68
- export function termFromPrimitive(primitive) {
69
- const { Term } = elements,
70
- context = null,
71
- string = primitive.getString(),
72
- node = null,
73
- breakPoint = null,
74
- variable = null,
75
- term = new Term(context, string, node, breakPoint, variable, primitive);
76
-
77
- return term;
78
- }
79
-
80
75
  export default {
81
- termFromNode,
82
- termFromNodes,
83
76
  termFromBoolean,
77
+ termFromNominalValue,
78
+ termFromNominalValues,
84
79
  termFromStringLiteral,
85
80
  termFromPrimitive
86
81
  };
@@ -2,28 +2,26 @@
2
2
 
3
3
  import elements from "../elements";
4
4
 
5
- import { termFromNode } from "../utilities/term";
5
+ import { termFromNominalValue } from "../utilities/term";
6
6
  import { termsStringFromTermsArray } from "../utilities/string";
7
7
 
8
- export function termsFromNodes(nodes, context) {
8
+ export function termsFromNominalValues(nominalValues) {
9
9
  const { Terms } = elements,
10
- termsArray = termsArrayFromNodes(nodes, context),
10
+ termsArray = termsArrayFromNominalValues(nominalValues),
11
11
  termsString = termsStringFromTermsArray(termsArray),
12
12
  string = termsString, ///
13
13
  array = termsArray, ///
14
14
  node = null,
15
- breakPoint = null;
16
-
17
- context = null;
18
-
19
- const terms = new Terms(context, string, node, breakPoint, array);
15
+ breakPoint = null,
16
+ context = null,
17
+ terms = new Terms(context, string, node, breakPoint, array);
20
18
 
21
19
  return terms;
22
20
  }
23
21
 
24
- function termsArrayFromNodes(nodes, context) {
25
- const termsArray = nodes.map((node) => {
26
- const term = termFromNode(node, context);
22
+ function termsArrayFromNominalValues(nominalValues) {
23
+ const termsArray = nominalValues.map((nominalValue) => {
24
+ const term = termFromNominalValue(nominalValue);
27
25
 
28
26
  return term;
29
27
  });
package/lib/nullNode.js DELETED
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- class NullNode {
12
- static fromNothing() {
13
- const nullNode = new NullNode();
14
- return nullNode;
15
- }
16
- }
17
- const nullNode = NullNode.fromNothing();
18
- const _default = nullNode;
19
-
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9udWxsTm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY2xhc3MgTnVsbE5vZGUge1xuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgbnVsbE5vZGUgPSBuZXcgTnVsbE5vZGUoKTtcblxuICAgIHJldHVybiBudWxsTm9kZTtcbiAgfVxufVxuXG5jb25zdCBudWxsTm9kZSA9IE51bGxOb2RlLmZyb21Ob3RoaW5nKCk7XG5cbmV4cG9ydCBkZWZhdWx0IG51bGxOb2RlO1xuIl0sIm5hbWVzIjpbIk51bGxOb2RlIiwiZnJvbU5vdGhpbmciLCJudWxsTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBWUE7OztlQUFBOzs7QUFWQSxNQUFNQTtJQUNKLE9BQU9DLGNBQWM7UUFDbkIsTUFBTUMsV0FBVyxJQUFJRjtRQUVyQixPQUFPRTtJQUNUO0FBQ0Y7QUFFQSxNQUFNQSxXQUFXRixTQUFTQyxXQUFXO01BRXJDLFdBQWVDIn0=
package/src/nullNode.js DELETED
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- class NullNode {
4
- static fromNothing() {
5
- const nullNode = new NullNode();
6
-
7
- return nullNode;
8
- }
9
- }
10
-
11
- const nullNode = NullNode.fromNothing();
12
-
13
- export default nullNode;