ekms 7.12.7 → 7.12.8-beta.0
Sign up to get free protection for your applications and to get access to all the features.
- package/common/animals.instance.json +0 -44
- package/common/dialogues.js +106 -3
- package/common/edible.instance.json +2 -190
- package/common/fastfood.instance.json +886 -922
- package/common/formulas.test.json +1187 -3651
- package/common/length.instance.json +120 -60
- package/common/math.instance.json +1979 -1
- package/common/math.js +17 -5
- package/common/ordering.instance.json +0 -52
- package/common/pipboy.test.json +13 -9
- package/common/pokemon.instance.json +0 -44
- package/common/pressure.instance.json +32 -0
- package/common/reports.instance.json +17 -1
- package/common/temperature.instance.json +32 -60
- package/common/ui.instance.json +8 -0
- package/common/weight.instance.json +128 -48
- package/main.js +0 -2
- package/package.json +2 -6
- package/common/mathTemplate.instance.json +0 -1635
- package/common/mathTemplate.js +0 -32
- package/common/mathTemplate.test.json +0 -1422
package/common/math.js
CHANGED
@@ -3,8 +3,11 @@ const { defaultContextCheck } = require('./helpers')
|
|
3
3
|
const dialogues = require('./dialogues')
|
4
4
|
const numbers = require('./numbers')
|
5
5
|
const punctuation = require('./punctuation')
|
6
|
-
const
|
7
|
-
const
|
6
|
+
const countable = require('./countable')
|
7
|
+
const comparable = require('./comparable')
|
8
|
+
const tests = require('./math.test.json')
|
9
|
+
const instance = require('./math.instance.json')
|
10
|
+
|
8
11
|
|
9
12
|
// TODO 10 dollars times 20
|
10
13
|
/*
|
@@ -102,9 +105,17 @@ let configStruct = {
|
|
102
105
|
],
|
103
106
|
};
|
104
107
|
|
108
|
+
const template = {
|
109
|
+
queries: [
|
110
|
+
"mathematical modifies operator",
|
111
|
+
"* + / and - are mathematical operators",
|
112
|
+
configStruct,
|
113
|
+
]
|
114
|
+
}
|
115
|
+
|
105
116
|
const createConfig = () => {
|
106
|
-
const config = new Config(
|
107
|
-
config.add(numbers(), dialogues(), punctuation(),
|
117
|
+
const config = new Config({ name: 'math' }, module)
|
118
|
+
config.add(numbers(), dialogues(), punctuation(), countable(), comparable())
|
108
119
|
return config
|
109
120
|
}
|
110
121
|
|
@@ -112,9 +123,10 @@ knowledgeModule( {
|
|
112
123
|
module,
|
113
124
|
createConfig,
|
114
125
|
description: 'talking about math',
|
126
|
+
template: { template, instance },
|
115
127
|
test: {
|
116
128
|
name: './math.test.json',
|
117
|
-
contents:
|
129
|
+
contents: tests,
|
118
130
|
checks: {
|
119
131
|
context: defaultContextCheck,
|
120
132
|
},
|
@@ -639,32 +639,6 @@
|
|
639
639
|
0
|
640
640
|
]
|
641
641
|
],
|
642
|
-
[
|
643
|
-
[
|
644
|
-
"between",
|
645
|
-
0
|
646
|
-
],
|
647
|
-
[
|
648
|
-
"is",
|
649
|
-
0
|
650
|
-
],
|
651
|
-
[
|
652
|
-
"list",
|
653
|
-
0
|
654
|
-
],
|
655
|
-
[
|
656
|
-
"unknown",
|
657
|
-
0
|
658
|
-
],
|
659
|
-
[
|
660
|
-
"unknown",
|
661
|
-
1
|
662
|
-
],
|
663
|
-
[
|
664
|
-
"xfx",
|
665
|
-
0
|
666
|
-
]
|
667
|
-
],
|
668
642
|
[
|
669
643
|
[
|
670
644
|
"between",
|
@@ -2130,32 +2104,6 @@
|
|
2130
2104
|
0
|
2131
2105
|
]
|
2132
2106
|
],
|
2133
|
-
[
|
2134
|
-
[
|
2135
|
-
"between",
|
2136
|
-
0
|
2137
|
-
],
|
2138
|
-
[
|
2139
|
-
"is",
|
2140
|
-
0
|
2141
|
-
],
|
2142
|
-
[
|
2143
|
-
"list",
|
2144
|
-
0
|
2145
|
-
],
|
2146
|
-
[
|
2147
|
-
"unknown",
|
2148
|
-
0
|
2149
|
-
],
|
2150
|
-
[
|
2151
|
-
"unknown",
|
2152
|
-
1
|
2153
|
-
],
|
2154
|
-
[
|
2155
|
-
"xfx",
|
2156
|
-
0
|
2157
|
-
]
|
2158
|
-
],
|
2159
2107
|
[
|
2160
2108
|
[
|
2161
2109
|
"between",
|
package/common/pipboy.test.json
CHANGED
@@ -24514,7 +24514,6 @@
|
|
24514
24514
|
"help": "help2",
|
24515
24515
|
"hierarchy": "hierarchy2",
|
24516
24516
|
"math": "math2",
|
24517
|
-
"mathTemplate": "mathTemplate2",
|
24518
24517
|
"meta": "meta2",
|
24519
24518
|
"numbers": "numbers2",
|
24520
24519
|
"pipboy": "pipboy1",
|
@@ -24550,8 +24549,6 @@
|
|
24550
24549
|
},
|
24551
24550
|
"math2": {
|
24552
24551
|
},
|
24553
|
-
"mathTemplate2": {
|
24554
|
-
},
|
24555
24552
|
"meta2": {
|
24556
24553
|
},
|
24557
24554
|
"numbers2": {
|
@@ -24646,7 +24643,8 @@
|
|
24646
24643
|
"whose"
|
24647
24644
|
],
|
24648
24645
|
"preposition": [
|
24649
|
-
"between"
|
24646
|
+
"between",
|
24647
|
+
"to"
|
24650
24648
|
],
|
24651
24649
|
"pronoun": [
|
24652
24650
|
"it",
|
@@ -24743,13 +24741,14 @@
|
|
24743
24741
|
"whatAble",
|
24744
24742
|
"is",
|
24745
24743
|
"toAble",
|
24744
|
+
"to",
|
24746
24745
|
"noun",
|
24747
24746
|
"thisitthat",
|
24748
24747
|
"reason",
|
24749
24748
|
"that",
|
24749
|
+
"number",
|
24750
24750
|
"orAble",
|
24751
24751
|
"ifAble",
|
24752
|
-
"number",
|
24753
24752
|
"*",
|
24754
24753
|
"mathematical_operator",
|
24755
24754
|
"+",
|
@@ -24966,6 +24965,9 @@
|
|
24966
24965
|
"thisitthat": [
|
24967
24966
|
"queryable"
|
24968
24967
|
],
|
24968
|
+
"to": [
|
24969
|
+
"preposition"
|
24970
|
+
],
|
24969
24971
|
"unknown": [
|
24970
24972
|
"hierarchyAble",
|
24971
24973
|
"object",
|
@@ -25136,6 +25138,8 @@
|
|
25136
25138
|
},
|
25137
25139
|
"thisitthat": {
|
25138
25140
|
},
|
25141
|
+
"to": {
|
25142
|
+
},
|
25139
25143
|
"toAble": {
|
25140
25144
|
},
|
25141
25145
|
"unknown": {
|
@@ -25234,8 +25238,8 @@
|
|
25234
25238
|
"word": "apply"
|
25235
25239
|
},
|
25236
25240
|
"generatedParenthesized": "",
|
25237
|
-
"paraphrases": "apply
|
25238
|
-
"paraphrasesParenthesized": "(apply ((
|
25241
|
+
"paraphrases": "apply 4 stimpacks",
|
25242
|
+
"paraphrasesParenthesized": "(apply ((4) (stimpacks)))",
|
25239
25243
|
"responses": [
|
25240
25244
|
""
|
25241
25245
|
]
|
@@ -25758,10 +25762,10 @@
|
|
25758
25762
|
]
|
25759
25763
|
},
|
25760
25764
|
"paraphrases": [
|
25761
|
-
"apply
|
25765
|
+
"apply 4 stimpacks"
|
25762
25766
|
],
|
25763
25767
|
"paraphrasesParenthesized": [
|
25764
|
-
"(apply ((
|
25768
|
+
"(apply ((4) (stimpacks)))"
|
25765
25769
|
],
|
25766
25770
|
"query": "apply four stimpacks",
|
25767
25771
|
"responses": [
|
@@ -1783,28 +1783,6 @@
|
|
1783
1783
|
1
|
1784
1784
|
]
|
1785
1785
|
],
|
1786
|
-
[
|
1787
|
-
[
|
1788
|
-
"is",
|
1789
|
-
0
|
1790
|
-
],
|
1791
|
-
[
|
1792
|
-
"list",
|
1793
|
-
0
|
1794
|
-
],
|
1795
|
-
[
|
1796
|
-
"pokemon",
|
1797
|
-
0
|
1798
|
-
],
|
1799
|
-
[
|
1800
|
-
"unknown",
|
1801
|
-
0
|
1802
|
-
],
|
1803
|
-
[
|
1804
|
-
"unknown",
|
1805
|
-
1
|
1806
|
-
]
|
1807
|
-
],
|
1808
1786
|
[
|
1809
1787
|
[
|
1810
1788
|
"is",
|
@@ -11691,28 +11669,6 @@
|
|
11691
11669
|
1
|
11692
11670
|
]
|
11693
11671
|
],
|
11694
|
-
[
|
11695
|
-
[
|
11696
|
-
"is",
|
11697
|
-
0
|
11698
|
-
],
|
11699
|
-
[
|
11700
|
-
"list",
|
11701
|
-
0
|
11702
|
-
],
|
11703
|
-
[
|
11704
|
-
"pokemon",
|
11705
|
-
0
|
11706
|
-
],
|
11707
|
-
[
|
11708
|
-
"unknown",
|
11709
|
-
0
|
11710
|
-
],
|
11711
|
-
[
|
11712
|
-
"unknown",
|
11713
|
-
1
|
11714
|
-
]
|
11715
|
-
],
|
11716
11672
|
[
|
11717
11673
|
[
|
11718
11674
|
"is",
|
@@ -696,9 +696,17 @@
|
|
696
696
|
"whose",
|
697
697
|
"object"
|
698
698
|
],
|
699
|
+
[
|
700
|
+
"x",
|
701
|
+
"number"
|
702
|
+
],
|
699
703
|
[
|
700
704
|
"xfx",
|
701
705
|
"queryable"
|
706
|
+
],
|
707
|
+
[
|
708
|
+
"y",
|
709
|
+
"number"
|
702
710
|
]
|
703
711
|
],
|
704
712
|
"metadata": {
|
@@ -1664,9 +1672,17 @@
|
|
1664
1672
|
"whose",
|
1665
1673
|
"object"
|
1666
1674
|
],
|
1675
|
+
[
|
1676
|
+
"x",
|
1677
|
+
"number"
|
1678
|
+
],
|
1667
1679
|
[
|
1668
1680
|
"xfx",
|
1669
1681
|
"queryable"
|
1682
|
+
],
|
1683
|
+
[
|
1684
|
+
"y",
|
1685
|
+
"number"
|
1670
1686
|
]
|
1671
1687
|
],
|
1672
1688
|
"metadata": {
|
@@ -3011,9 +3027,17 @@
|
|
3011
3027
|
"whose",
|
3012
3028
|
"object"
|
3013
3029
|
],
|
3030
|
+
[
|
3031
|
+
"x",
|
3032
|
+
"number"
|
3033
|
+
],
|
3014
3034
|
[
|
3015
3035
|
"xfx",
|
3016
3036
|
"queryable"
|
3037
|
+
],
|
3038
|
+
[
|
3039
|
+
"y",
|
3040
|
+
"number"
|
3017
3041
|
]
|
3018
3042
|
],
|
3019
3043
|
"metadata": {
|
@@ -4082,9 +4106,17 @@
|
|
4082
4106
|
"whose",
|
4083
4107
|
"object"
|
4084
4108
|
],
|
4109
|
+
[
|
4110
|
+
"x",
|
4111
|
+
"number"
|
4112
|
+
],
|
4085
4113
|
[
|
4086
4114
|
"xfx",
|
4087
4115
|
"queryable"
|
4116
|
+
],
|
4117
|
+
[
|
4118
|
+
"y",
|
4119
|
+
"number"
|
4088
4120
|
]
|
4089
4121
|
],
|
4090
4122
|
"metadata": {
|
@@ -686,9 +686,17 @@
|
|
686
686
|
"whose",
|
687
687
|
"object"
|
688
688
|
],
|
689
|
+
[
|
690
|
+
"x",
|
691
|
+
"number"
|
692
|
+
],
|
689
693
|
[
|
690
694
|
"xfx",
|
691
695
|
"queryable"
|
696
|
+
],
|
697
|
+
[
|
698
|
+
"y",
|
699
|
+
"number"
|
692
700
|
]
|
693
701
|
],
|
694
702
|
"metadata": {
|
@@ -792,7 +800,7 @@
|
|
792
800
|
}
|
793
801
|
]
|
794
802
|
},
|
795
|
-
"trace": "\n\n>>>>>>>>>>>>> Counter 1\n 0. price/0 (1, 0) - \"price\"\n {\n default: true\n marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({default: True, marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price})\n\n>>>>>>>>>>>>> Counter 2\n *0. price/1 (dead) (2, 0) - \"price\"\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n types: [\n ]\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({default: True, marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge)), range: {'start': 6, 'end': 8}, text: and, types: [], word: and})\n\n>>>>>>>>>>>>> Counter 3\n *0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 2. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=2) is Context({default: True, marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, word: properties})\n\n>>>>>>>>>>>>> Counter 4\n 0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n *2. property/1 (dead) (2, 1) - \"properties\"\n {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)), number: many, range: {'start': 19, 'end': 21}, text: are, word: are})\n\n>>>>>>>>>>>>> Counter 5\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n {\n marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), number: many, one: Context({default: True, isList: True, listable: True, marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge)), number: many, range: {'start': 0, 'end': 32}, text: price and quantity, types: ['price'], value: [Context({dead: True, default: True, marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price}), Context({default: True, marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 10, 'end': 17}, text: quantity, value: quantity, word: quantity})], word: and}), range: {'start': 0, 'end': 32}, text: price and quantity are properties, two: Context({dead: True, default: True, marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, types: ['property'], word: properties}), word: are})\n\n>>>>>>>>>>>>> Counter 6\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n {\n dead: true\n marker: Operator(is/2, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['hierarchyAble', 'queryable', 'quantifier', 'property', 'object', 'number', 'quantity', 'unknown', 'theAble', 'notAble']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\n",
|
803
|
+
"trace": "\n\n>>>>>>>>>>>>> Counter 1\n 0. price/0 (1, 0) - \"price\"\n {\n default: true\n marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({default: True, marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price})\n\n>>>>>>>>>>>>> Counter 2\n *0. price/1 (dead) (2, 0) - \"price\"\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 1. list/0 (1, 1) - \"and\"\n {\n default: true\n marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n types: [\n ]\n word: \"and\"\n }\n 2. quantity/0 (1, 2) - \"quantity\"\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n 3. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 4. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({default: True, marker: Operator(list/0, PASS, [\"Selector(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }'), , same/(), [Type(variable: 'type')]<==>[Type(variable: 'type')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), listable: true, isList: true, value: append(before, after) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge)), range: {'start': 6, 'end': 8}, text: and, types: [], word: and})\n\n>>>>>>>>>>>>> Counter 3\n *0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n 2. property/0 (1, 5) - \"properties\"\n {\n default: true\n marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=2) is Context({default: True, marker: Operator(property/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, word: properties})\n\n>>>>>>>>>>>>> Counter 4\n 0. list/1 (3, 0) - \"price and quantity\"\n {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge))\n range: {'start': 0, 'end': 17}\n text: \"price and quantity\"\n types: [\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n 1. is/0 (1, 3) - \"are\"\n {\n marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge))\n number: \"many\"\n range: {'start': 19, 'end': 21}\n text: \"are\"\n word: \"are\"\n }\n *2. property/1 (dead) (2, 1) - \"properties\"\n {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n word: \"properties\"\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({marker: Operator(is/0, [\"Selector(Bridge('{ ...next(operator), one: after[0], two: after[1], query: true }'), , []<==>[Type('queryable'), Type('queryable')], bridge(queryBridge))\", \"Selector(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }'), , [Type('queryable')]<==>[Type('queryable')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), one: { number: operator.number, ...before[0] }, two: after[0] }')), variables({}) bridge(bridge)), number: many, range: {'start': 19, 'end': 21}, text: are, word: are})\n\n>>>>>>>>>>>>> Counter 5\n *0. is/1 (4, 0) - \"price and quantity are properties\"\n {\n marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({marker: Operator(is/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), number: many, one: Context({default: True, isList: True, listable: True, marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge)), number: many, range: {'start': 0, 'end': 32}, text: price and quantity, types: ['price'], value: [Context({dead: True, default: True, marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: price, value: price, word: price}), Context({default: True, marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 10, 'end': 17}, text: quantity, value: quantity, word: quantity})], word: and}), range: {'start': 0, 'end': 32}, text: price and quantity are properties, two: Context({dead: True, default: True, marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge)), range: {'start': 23, 'end': 32}, text: properties, types: ['property'], word: properties}), word: are})\n\n>>>>>>>>>>>>> Counter 6\n *0. is/2 (dead) (5, 0) - \"price and quantity are properties\"\n {\n dead: true\n marker: Operator(is/2, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n number: \"many\"\n one: {\n default: true\n isList: true\n listable: true\n marker: Operator(list/1, PASS, ['Selector(Bridge(\\'{ ...operator, value: append(before, operator.value) }\\'), , same/(), [And([\"Type(variable: \\'type\\')\", \"Listable(Unify(Property((\\'context\\', \\'instance\\')), Property((\\'variables\\', \\'instance\\'))))\"])]<==>[], bridge(bridge), passthrough)'], evaluator(Bridge('{ ...operator, value: append(before, operator.value) }')), variables({'type': ['queryable', 'theAble', 'property', 'quantity', 'quantifier', 'unknown', 'number', 'object', 'hierarchyAble', 'notAble']}) bridge(bridge))\n number: \"many\"\n range: {'start': 0, 'end': 32}\n text: \"price and quantity\"\n types: [\n 'price'\n ]\n value: [\n {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n\n {\n default: true\n marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 10, 'end': 17}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n ]\n word: \"and\"\n }\n\n range: {'start': 0, 'end': 32}\n text: \"price and quantity are properties\"\n two: {\n dead: true\n default: true\n marker: Operator(property/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 23, 'end': 32}\n text: \"properties\"\n types: [\n 'property'\n ]\n word: \"properties\"\n }\n\n word: \"are\"\n }\n<<<<<<<<<<<<<\n",
|
796
804
|
"contexts": [
|
797
805
|
{
|
798
806
|
"number": "many",
|
@@ -1647,9 +1655,17 @@
|
|
1647
1655
|
"whose",
|
1648
1656
|
"object"
|
1649
1657
|
],
|
1658
|
+
[
|
1659
|
+
"x",
|
1660
|
+
"number"
|
1661
|
+
],
|
1650
1662
|
[
|
1651
1663
|
"xfx",
|
1652
1664
|
"queryable"
|
1665
|
+
],
|
1666
|
+
[
|
1667
|
+
"y",
|
1668
|
+
"number"
|
1653
1669
|
]
|
1654
1670
|
],
|
1655
1671
|
"metadata": {
|
@@ -696,9 +696,17 @@
|
|
696
696
|
"whose",
|
697
697
|
"object"
|
698
698
|
],
|
699
|
+
[
|
700
|
+
"x",
|
701
|
+
"number"
|
702
|
+
],
|
699
703
|
[
|
700
704
|
"xfx",
|
701
705
|
"queryable"
|
706
|
+
],
|
707
|
+
[
|
708
|
+
"y",
|
709
|
+
"number"
|
702
710
|
]
|
703
711
|
],
|
704
712
|
"metadata": {
|
@@ -1664,9 +1672,17 @@
|
|
1664
1672
|
"whose",
|
1665
1673
|
"object"
|
1666
1674
|
],
|
1675
|
+
[
|
1676
|
+
"x",
|
1677
|
+
"number"
|
1678
|
+
],
|
1667
1679
|
[
|
1668
1680
|
"xfx",
|
1669
1681
|
"queryable"
|
1682
|
+
],
|
1683
|
+
[
|
1684
|
+
"y",
|
1685
|
+
"number"
|
1670
1686
|
]
|
1671
1687
|
],
|
1672
1688
|
"metadata": {
|
@@ -2191,36 +2207,6 @@
|
|
2191
2207
|
1
|
2192
2208
|
]
|
2193
2209
|
],
|
2194
|
-
[
|
2195
|
-
[
|
2196
|
-
"is",
|
2197
|
-
0
|
2198
|
-
],
|
2199
|
-
[
|
2200
|
-
"list",
|
2201
|
-
0
|
2202
|
-
],
|
2203
|
-
[
|
2204
|
-
"propertyOf",
|
2205
|
-
0
|
2206
|
-
],
|
2207
|
-
[
|
2208
|
-
"temperature",
|
2209
|
-
0
|
2210
|
-
],
|
2211
|
-
[
|
2212
|
-
"unit",
|
2213
|
-
0
|
2214
|
-
],
|
2215
|
-
[
|
2216
|
-
"unknown",
|
2217
|
-
0
|
2218
|
-
],
|
2219
|
-
[
|
2220
|
-
"unknown",
|
2221
|
-
1
|
2222
|
-
]
|
2223
|
-
],
|
2224
2210
|
[
|
2225
2211
|
[
|
2226
2212
|
"is",
|
@@ -3186,9 +3172,17 @@
|
|
3186
3172
|
"whose",
|
3187
3173
|
"object"
|
3188
3174
|
],
|
3175
|
+
[
|
3176
|
+
"x",
|
3177
|
+
"number"
|
3178
|
+
],
|
3189
3179
|
[
|
3190
3180
|
"xfx",
|
3191
3181
|
"queryable"
|
3182
|
+
],
|
3183
|
+
[
|
3184
|
+
"y",
|
3185
|
+
"number"
|
3192
3186
|
]
|
3193
3187
|
],
|
3194
3188
|
"metadata": {
|
@@ -4593,9 +4587,17 @@
|
|
4593
4587
|
"whose",
|
4594
4588
|
"object"
|
4595
4589
|
],
|
4590
|
+
[
|
4591
|
+
"x",
|
4592
|
+
"number"
|
4593
|
+
],
|
4596
4594
|
[
|
4597
4595
|
"xfx",
|
4598
4596
|
"queryable"
|
4597
|
+
],
|
4598
|
+
[
|
4599
|
+
"y",
|
4600
|
+
"number"
|
4599
4601
|
]
|
4600
4602
|
],
|
4601
4603
|
"metadata": {
|
@@ -5884,36 +5886,6 @@
|
|
5884
5886
|
1
|
5885
5887
|
]
|
5886
5888
|
],
|
5887
|
-
[
|
5888
|
-
[
|
5889
|
-
"is",
|
5890
|
-
0
|
5891
|
-
],
|
5892
|
-
[
|
5893
|
-
"list",
|
5894
|
-
0
|
5895
|
-
],
|
5896
|
-
[
|
5897
|
-
"propertyOf",
|
5898
|
-
0
|
5899
|
-
],
|
5900
|
-
[
|
5901
|
-
"temperature",
|
5902
|
-
0
|
5903
|
-
],
|
5904
|
-
[
|
5905
|
-
"unit",
|
5906
|
-
0
|
5907
|
-
],
|
5908
|
-
[
|
5909
|
-
"unknown",
|
5910
|
-
0
|
5911
|
-
],
|
5912
|
-
[
|
5913
|
-
"unknown",
|
5914
|
-
1
|
5915
|
-
]
|
5916
|
-
],
|
5917
5889
|
[
|
5918
5890
|
[
|
5919
5891
|
"is",
|