tpmkms_4wp 7.12.8-beta.6 → 7.12.8-beta.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -800,7 +800,7 @@
800
800
  }
801
801
  ]
802
802
  },
803
- "trace": "\n\n>>>>>>>>>>>>> Counter 1\n 0. price/0 (1, 1) - \"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, 3) - \"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, 7) - \"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, 9) - \"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, 14) - \"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, 3) - \"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': ['theAble', 'notAble', 'number', 'quantifier', 'object', 'hierarchyAble', 'unknown', 'property', 'queryable', 'quantity']}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n types: [\n ]\n word: \"and\"\n }\n 2. quantity/0 (1, 7) - \"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, 9) - \"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, 14) - \"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': ['theAble', 'notAble', 'number', 'quantifier', 'object', 'hierarchyAble', 'unknown', 'property', 'queryable', 'quantity']}) 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': ['theAble', 'notAble', 'number', 'quantifier', 'object', 'hierarchyAble', 'unknown', 'property', 'queryable', 'quantity']}) 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, 9) - \"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, 14) - \"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': ['theAble', 'notAble', 'number', 'quantifier', 'object', 'hierarchyAble', 'unknown', 'property', 'queryable', 'quantity']}) 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, 9) - \"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': ['theAble', 'notAble', 'number', 'quantifier', 'object', 'hierarchyAble', 'unknown', 'property', 'queryable', 'quantity']}) 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': ['theAble', 'notAble', 'number', 'quantifier', 'object', 'hierarchyAble', 'unknown', 'property', 'queryable', 'quantity']}) 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': ['theAble', 'notAble', 'number', 'quantifier', 'object', 'hierarchyAble', 'unknown', 'property', 'queryable', 'quantity']}) 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, 1) - \"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, 3) - \"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, 7) - \"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, 9) - \"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, 14) - \"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, 3) - \"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': ['notAble', 'quantifier', 'theAble', 'queryable', 'quantity', 'property', 'number', 'object', 'unknown', 'hierarchyAble']}) bridge(bridge))\n range: {'start': 6, 'end': 8}\n text: \"and\"\n types: [\n ]\n word: \"and\"\n }\n 2. quantity/0 (1, 7) - \"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, 9) - \"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, 14) - \"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': ['notAble', 'quantifier', 'theAble', 'queryable', 'quantity', 'property', 'number', 'object', 'unknown', 'hierarchyAble']}) 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': ['notAble', 'quantifier', 'theAble', 'queryable', 'quantity', 'property', 'number', 'object', 'unknown', 'hierarchyAble']}) 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, 9) - \"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, 14) - \"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': ['notAble', 'quantifier', 'theAble', 'queryable', 'quantity', 'property', 'number', 'object', 'unknown', 'hierarchyAble']}) 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, 9) - \"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': ['notAble', 'quantifier', 'theAble', 'queryable', 'quantity', 'property', 'number', 'object', 'unknown', 'hierarchyAble']}) 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': ['notAble', 'quantifier', 'theAble', 'queryable', 'quantity', 'property', 'number', 'object', 'unknown', 'hierarchyAble']}) 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': ['notAble', 'quantifier', 'theAble', 'queryable', 'quantity', 'property', 'number', 'object', 'unknown', 'hierarchyAble']}) 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",
804
804
  "contexts": [
805
805
  {
806
806
  "number": "many",
@@ -1767,7 +1767,7 @@
1767
1767
  }
1768
1768
  ]
1769
1769
  },
1770
- "trace": "\n\n>>>>>>>>>>>>> Counter 1\n 0. unknown/0 (1, 0) - \"worth\"\n {\n marker: Operator(unknown/0, [\"Selector(Bridge('{ ...next(operator), unknown: true, dead: true }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), unknown: true, dead: true }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n value: \"worth\"\n word: \"worth\"\n }\n 1. means/0 (1, 3) - \"means\"\n {\n default: true\n marker: Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. price/0 (1, 6) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. timesOperator/0 (1, 9) - \"times\"\n {\n marker: Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [Type('number')]<==>[Type('number')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge))\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"times\"\n word: \"times\"\n }\n 4. quantity/0 (1, 12) - \"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': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({marker: Operator(unknown/0, [\"Selector(Bridge('{ ...next(operator), unknown: true, dead: true }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), unknown: true, dead: true }')), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: worth, value: worth, word: worth})\n\n>>>>>>>>>>>>> Counter 2\n *0. unknown/1 (dead) (2, 0) - \"worth\"\n {\n dead: true\n marker: Operator(unknown/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. means/0 (1, 3) - \"means\"\n {\n default: true\n marker: Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. price/0 (1, 6) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. timesOperator/0 (1, 9) - \"times\"\n {\n marker: Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [Type('number')]<==>[Type('number')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge))\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"times\"\n word: \"times\"\n }\n 4. quantity/0 (1, 12) - \"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': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=2) is Context({default: True, marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 12, 'end': 16}, text: price, value: price, word: price})\n\n>>>>>>>>>>>>> Counter 3\n 0. unknown/1 (dead) (2, 0) - \"worth\"\n {\n dead: true\n marker: Operator(unknown/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. means/0 (1, 3) - \"means\"\n {\n default: true\n marker: Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n *2. price/1 (dead) (2, 1) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. timesOperator/0 (1, 9) - \"times\"\n {\n marker: Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [Type('number')]<==>[Type('number')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge))\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"times\"\n word: \"times\"\n }\n 4. quantity/0 (1, 12) - \"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': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=4) is Context({default: True, marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 24, 'end': 31}, text: quantity, value: quantity, word: quantity})\n\n>>>>>>>>>>>>> Counter 4\n 0. unknown/1 (dead) (2, 0) - \"worth\"\n {\n dead: true\n marker: Operator(unknown/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. means/0 (1, 3) - \"means\"\n {\n default: true\n marker: Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. price/1 (dead) (2, 1) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. timesOperator/0 (1, 9) - \"times\"\n {\n marker: Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [Type('number')]<==>[Type('number')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge))\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"times\"\n word: \"times\"\n }\n *4. quantity/1 (dead) (2, 2) - \"quantity\"\n {\n dead: true\n default: true\n marker: Operator(quantity/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=3) is Context({marker: Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [Type('number')]<==>[Type('number')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge)), range: {'start': 18, 'end': 22}, text: times, value: times, word: times})\n\n>>>>>>>>>>>>> Counter 5\n 0. unknown/1 (dead) (2, 0) - \"worth\"\n {\n dead: true\n marker: Operator(unknown/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. means/0 (1, 3) - \"means\"\n {\n default: true\n marker: Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n *2. timesExpression/1 (dead) (3, 0) - \"price times quantity\"\n {\n dead: true\n evaluate: true\n isResponse: true\n marker: Operator(timesExpression/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n number: \"one\"\n range: {'start': 12, 'end': 31}\n text: \"price times quantity\"\n types: [\n 'number'\n, 'property'\n ]\n value: None\n word: \"times\"\n x: {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 12, 'end': 16}\n text: \"price\"\n types: [\n 'price'\n ]\n value: \"price\"\n word: \"price\"\n }\n\n y: {\n dead: true\n default: true\n marker: Operator(quantity/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 24, 'end': 31}\n text: \"quantity\"\n types: [\n 'quantity'\n ]\n value: \"quantity\"\n word: \"quantity\"\n }\n\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({default: True, marker: Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge)), range: {'start': 6, 'end': 10}, text: means, value: means, word: means})\n\n>>>>>>>>>>>>> Counter 6\n *0. means/1 (dead) (4, 0) - \"worth means price times quantity\"\n {\n dead: true\n default: true\n from: {\n dead: true\n marker: Operator(unknown/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n\n marker: Operator(means/1, ['Selector(None, , [Any]<==>[Any], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 31}\n text: \"worth means price times quantity\"\n to: {\n dead: true\n evaluate: true\n isResponse: true\n marker: Operator(timesExpression/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n number: \"one\"\n range: {'start': 12, 'end': 31}\n text: \"price times quantity\"\n types: [\n 'number'\n, 'property'\n ]\n value: None\n word: \"times\"\n x: {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 12, 'end': 16}\n text: \"price\"\n types: [\n 'price'\n ]\n value: \"price\"\n word: \"price\"\n }\n\n y: {\n dead: true\n default: true\n marker: Operator(quantity/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 24, 'end': 31}\n text: \"quantity\"\n types: [\n 'quantity'\n ]\n value: \"quantity\"\n word: \"quantity\"\n }\n\n }\n\n value: \"means\"\n word: \"means\"\n }\n<<<<<<<<<<<<<\n",
1770
+ "trace": "\n\n>>>>>>>>>>>>> Counter 1\n 0. unknown/0 (1, 0) - \"worth\"\n {\n marker: Operator(unknown/0, [\"Selector(Bridge('{ ...next(operator), unknown: true, dead: true }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), unknown: true, dead: true }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. means/0 (1, 3) - \"means\"\n {\n default: true\n marker: Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. price/0 (1, 6) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. timesOperator/0 (1, 9) - \"times\"\n {\n marker: Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [Type('number')]<==>[Type('number')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge))\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"times\"\n word: \"times\"\n }\n 4. quantity/0 (1, 12) - \"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': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=0) is Context({marker: Operator(unknown/0, [\"Selector(Bridge('{ ...next(operator), unknown: true, dead: true }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), unknown: true, dead: true }')), variables({}) bridge(bridge)), range: {'start': 0, 'end': 4}, text: worth, unknown: True, value: worth, word: worth})\n\n>>>>>>>>>>>>> Counter 2\n *0. unknown/1 (dead) (2, 0) - \"worth\"\n {\n dead: true\n marker: Operator(unknown/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. means/0 (1, 3) - \"means\"\n {\n default: true\n marker: Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. price/0 (1, 6) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. timesOperator/0 (1, 9) - \"times\"\n {\n marker: Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [Type('number')]<==>[Type('number')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge))\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"times\"\n word: \"times\"\n }\n 4. quantity/0 (1, 12) - \"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': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=2) is Context({default: True, marker: Operator(price/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 12, 'end': 16}, text: price, value: price, word: price})\n\n>>>>>>>>>>>>> Counter 3\n 0. unknown/1 (dead) (2, 0) - \"worth\"\n {\n dead: true\n marker: Operator(unknown/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. means/0 (1, 3) - \"means\"\n {\n default: true\n marker: Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n *2. price/1 (dead) (2, 1) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. timesOperator/0 (1, 9) - \"times\"\n {\n marker: Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [Type('number')]<==>[Type('number')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge))\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"times\"\n word: \"times\"\n }\n 4. quantity/0 (1, 12) - \"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': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=4) is Context({default: True, marker: Operator(quantity/0, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge)), range: {'start': 24, 'end': 31}, text: quantity, value: quantity, word: quantity})\n\n>>>>>>>>>>>>> Counter 4\n 0. unknown/1 (dead) (2, 0) - \"worth\"\n {\n dead: true\n marker: Operator(unknown/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. means/0 (1, 3) - \"means\"\n {\n default: true\n marker: Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n 2. price/1 (dead) (2, 1) - \"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': 12, 'end': 16}\n text: \"price\"\n value: \"price\"\n word: \"price\"\n }\n 3. timesOperator/0 (1, 9) - \"times\"\n {\n marker: Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [Type('number')]<==>[Type('number')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge))\n range: {'start': 18, 'end': 22}\n text: \"times\"\n value: \"times\"\n word: \"times\"\n }\n *4. quantity/1 (dead) (2, 2) - \"quantity\"\n {\n dead: true\n default: true\n marker: Operator(quantity/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 24, 'end': 31}\n text: \"quantity\"\n value: \"quantity\"\n word: \"quantity\"\n }\n<<<<<<<<<<<<<\nNext Op (index=3) is Context({marker: Operator(timesOperator/0, [\"Selector(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }'), , [Type('number')]<==>[Type('number')], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), marker: next(operator('timesExpression')), types: lub(append(['mathematicalExpression'], operator.types, before[0].types, after[0].types)), value: null, x: before[0], y: after[0], number: 'one', isResponse: true, evaluate: true }')), variables({}) bridge(bridge)), range: {'start': 18, 'end': 22}, text: times, value: times, word: times})\n\n>>>>>>>>>>>>> Counter 5\n 0. unknown/1 (dead) (2, 0) - \"worth\"\n {\n dead: true\n marker: Operator(unknown/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n 1. means/0 (1, 3) - \"means\"\n {\n default: true\n marker: Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge))\n range: {'start': 6, 'end': 10}\n text: \"means\"\n value: \"means\"\n word: \"means\"\n }\n *2. timesExpression/1 (dead) (3, 0) - \"price times quantity\"\n {\n dead: true\n evaluate: true\n isResponse: true\n marker: Operator(timesExpression/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n number: \"one\"\n range: {'start': 12, 'end': 31}\n text: \"price times quantity\"\n types: [\n 'number'\n, 'property'\n ]\n value: None\n word: \"times\"\n x: {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 12, 'end': 16}\n text: \"price\"\n types: [\n 'price'\n ]\n value: \"price\"\n word: \"price\"\n }\n\n y: {\n dead: true\n default: true\n marker: Operator(quantity/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 24, 'end': 31}\n text: \"quantity\"\n types: [\n 'quantity'\n ]\n value: \"quantity\"\n word: \"quantity\"\n }\n\n }\n<<<<<<<<<<<<<\nNext Op (index=1) is Context({default: True, marker: Operator(means/0, [\"Selector(Bridge('{ ...next(operator), from: before[0], to: after[0] }'), , [Any]<==>[Any], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator), from: before[0], to: after[0] }')), variables({}) bridge(bridge)), range: {'start': 6, 'end': 10}, text: means, value: means, word: means})\n\n>>>>>>>>>>>>> Counter 6\n *0. means/1 (dead) (4, 0) - \"worth means price times quantity\"\n {\n dead: true\n default: true\n from: {\n dead: true\n marker: Operator(unknown/1, [\"Selector(Bridge('{ ...next(operator) }'), , []<==>[], bridge(bridge))\"], evaluator(Bridge('{ ...next(operator) }')), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 4}\n text: \"worth\"\n unknown: true\n value: \"worth\"\n word: \"worth\"\n }\n\n marker: Operator(means/1, ['Selector(None, , [Any]<==>[Any], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 0, 'end': 31}\n text: \"worth means price times quantity\"\n to: {\n dead: true\n evaluate: true\n isResponse: true\n marker: Operator(timesExpression/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n number: \"one\"\n range: {'start': 12, 'end': 31}\n text: \"price times quantity\"\n types: [\n 'number'\n, 'property'\n ]\n value: None\n word: \"times\"\n x: {\n dead: true\n default: true\n marker: Operator(price/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 12, 'end': 16}\n text: \"price\"\n types: [\n 'price'\n ]\n value: \"price\"\n word: \"price\"\n }\n\n y: {\n dead: true\n default: true\n marker: Operator(quantity/1, ['Selector(None, , []<==>[], bridge(bridge))'], evaluator(None), variables({}) bridge(bridge))\n range: {'start': 24, 'end': 31}\n text: \"quantity\"\n types: [\n 'quantity'\n ]\n value: \"quantity\"\n word: \"quantity\"\n }\n\n }\n\n value: \"means\"\n word: \"means\"\n }\n<<<<<<<<<<<<<\n",
1771
1771
  "contexts": [
1772
1772
  {
1773
1773
  "marker": "means",
@@ -1781,15 +1781,15 @@
1781
1781
  },
1782
1782
  "dead": true,
1783
1783
  "from": {
1784
- "marker": "unknown",
1785
1784
  "value": "worth",
1786
- "word": "worth",
1785
+ "unknown": true,
1787
1786
  "text": "worth",
1787
+ "marker": "unknown",
1788
+ "word": "worth",
1788
1789
  "range": {
1789
1790
  "start": 0,
1790
1791
  "end": 4
1791
1792
  },
1792
- "unknown": true,
1793
1793
  "dead": true,
1794
1794
  "level": 1
1795
1795
  },
@@ -827,15 +827,15 @@
827
827
  },
828
828
  "one": {
829
829
  "number": "one",
830
- "marker": "unknown",
831
830
  "value": "temperature",
832
- "word": "temperature",
831
+ "unknown": true,
833
832
  "text": "temperature",
833
+ "marker": "unknown",
834
+ "word": "temperature",
834
835
  "range": {
835
836
  "start": 0,
836
837
  "end": 25
837
838
  },
838
- "unknown": true,
839
839
  "dead": true,
840
840
  "types": [
841
841
  "unknown"
@@ -2038,41 +2038,41 @@
2038
2038
  "listable": true,
2039
2039
  "value": [
2040
2040
  {
2041
- "marker": "unknown",
2042
2041
  "value": "celcius",
2043
- "word": "celcius",
2042
+ "unknown": true,
2044
2043
  "text": "celcius",
2044
+ "marker": "unknown",
2045
+ "word": "celcius",
2045
2046
  "range": {
2046
2047
  "start": 0,
2047
2048
  "end": 6
2048
2049
  },
2049
- "unknown": true,
2050
2050
  "dead": true,
2051
2051
  "level": 1
2052
2052
  },
2053
2053
  {
2054
- "marker": "unknown",
2055
2054
  "value": "fahrenheit",
2056
- "word": "fahrenheit",
2055
+ "unknown": true,
2057
2056
  "text": "fahrenheit",
2057
+ "marker": "unknown",
2058
+ "word": "fahrenheit",
2058
2059
  "range": {
2059
2060
  "start": 8,
2060
2061
  "end": 17
2061
2062
  },
2062
- "unknown": true,
2063
2063
  "dead": true,
2064
2064
  "level": 2
2065
2065
  },
2066
2066
  {
2067
- "marker": "unknown",
2068
2067
  "value": "kelvin",
2069
- "word": "kelvin",
2068
+ "unknown": true,
2070
2069
  "text": "kelvin",
2070
+ "marker": "unknown",
2071
+ "word": "kelvin",
2071
2072
  "range": {
2072
2073
  "start": 23,
2073
2074
  "end": 28
2074
2075
  },
2075
- "unknown": true,
2076
2076
  "dead": true,
2077
2077
  "level": 2
2078
2078
  }
@@ -0,0 +1,46 @@
1
+ const { Config, knowledgeModule, where } = require('./runtime').theprogrammablemind
2
+ const { defaultContextCheck } = require('./helpers')
3
+ const tokenize_tests = require('./tokenize.test.json')
4
+
5
+ let configStruct = {
6
+ name: 'tokenize',
7
+ operators: [
8
+ "([unknown])",
9
+ ],
10
+ bridges: [
11
+ { id: "unknown", level: 0, bridge: "{ ...next(operator), unknown: true, dead: true }" },
12
+ { id: "unknown", level: 1, bridge: "{ ...next(operator) }" },
13
+ ],
14
+ words: {
15
+ patterns: [
16
+ { pattern: [{ type: 'space' }, { repeat: true }], defs: [ { remove: true } ] },
17
+ { pattern: [{ type: 'alphanumeric' }, { repeat: true }], defs: [ { id: 'unknown', initial: "{ value: text, unknown: true }" } ] },
18
+ ],
19
+ hierarchy: [
20
+ { child: ' ', parent: 'space' },
21
+ ..."0123456789".split("").map((digit) => { return { child: digit, parent: 'digit' } }),
22
+ { child: 'lower', parent: 'letter' },
23
+ { child: 'upper', parent: 'letter' },
24
+ ...'abcdefghijklmnopqrstuvwxyz'.split("").map((letter) => { return { child: letter, parent: 'lower' } }),
25
+ ...'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split("").map((letter) => { return { child: letter, parent: 'upper' } }),
26
+ { child: 'letter', parent: 'alphanumeric' },
27
+ { child: 'digit', parent: 'alphanumeric' },
28
+ ...`~!@#$%^&*()_+-=[]{}\\|;:,<>/?'"`.split("").map((punctuation) => { return { child: punctuation, parent: 'punctuation' } }),
29
+ ],
30
+ },
31
+ };
32
+
33
+ createConfig = () => new Config(configStruct, module)
34
+
35
+ knowledgeModule( {
36
+ module,
37
+ createConfig,
38
+ description: 'tokenize',
39
+ test: {
40
+ name: './tokenize.test.json',
41
+ contents: tokenize_tests,
42
+ checks: {
43
+ context: defaultContextCheck,
44
+ },
45
+ },
46
+ })
@@ -0,0 +1,2 @@
1
+ [
2
+ ]
@@ -799,29 +799,29 @@
799
799
  "dead": true,
800
800
  "modifiers": [
801
801
  {
802
- "marker": "unknown",
803
802
  "value": "troy",
804
- "word": "troy",
803
+ "unknown": true,
805
804
  "text": "troy",
805
+ "marker": "unknown",
806
+ "word": "troy",
806
807
  "range": {
807
808
  "start": 0,
808
809
  "end": 3
809
810
  },
810
- "unknown": true,
811
811
  "dead": true,
812
812
  "level": 1
813
813
  }
814
814
  ],
815
815
  "concept": {
816
- "marker": "unknown",
817
816
  "value": "ounces",
818
- "word": "ounces",
817
+ "unknown": true,
819
818
  "text": "ounces",
819
+ "marker": "unknown",
820
+ "word": "ounces",
820
821
  "range": {
821
822
  "start": 14,
822
823
  "end": 19
823
824
  },
824
- "unknown": true,
825
825
  "dead": true,
826
826
  "level": 1
827
827
  },
@@ -1814,15 +1814,15 @@
1814
1814
  },
1815
1815
  "one": {
1816
1816
  "number": "one",
1817
- "marker": "unknown",
1818
1817
  "value": "weight",
1819
- "word": "weight",
1818
+ "unknown": true,
1820
1819
  "text": "weight",
1820
+ "marker": "unknown",
1821
+ "word": "weight",
1821
1822
  "range": {
1822
1823
  "start": 0,
1823
1824
  "end": 20
1824
1825
  },
1825
- "unknown": true,
1826
1826
  "dead": true,
1827
1827
  "types": [
1828
1828
  "unknown"
@@ -3344,41 +3344,41 @@
3344
3344
  "isList": true,
3345
3345
  "value": [
3346
3346
  {
3347
- "marker": "unknown",
3348
3347
  "value": "kilograms",
3349
- "word": "kilograms",
3348
+ "unknown": true,
3350
3349
  "text": "kilograms",
3350
+ "marker": "unknown",
3351
+ "word": "kilograms",
3351
3352
  "range": {
3352
3353
  "start": 0,
3353
3354
  "end": 8
3354
3355
  },
3355
- "unknown": true,
3356
3356
  "dead": true,
3357
3357
  "level": 1
3358
3358
  },
3359
3359
  {
3360
- "marker": "unknown",
3361
3360
  "value": "grams",
3362
- "word": "grams",
3361
+ "unknown": true,
3363
3362
  "text": "grams",
3363
+ "marker": "unknown",
3364
+ "word": "grams",
3364
3365
  "range": {
3365
3366
  "start": 10,
3366
3367
  "end": 14
3367
3368
  },
3368
- "unknown": true,
3369
3369
  "dead": true,
3370
3370
  "level": 1
3371
3371
  },
3372
3372
  {
3373
- "marker": "unknown",
3374
3373
  "value": "pounds",
3375
- "word": "pounds",
3374
+ "unknown": true,
3376
3375
  "text": "pounds",
3376
+ "marker": "unknown",
3377
+ "word": "pounds",
3377
3378
  "range": {
3378
3379
  "start": 16,
3379
3380
  "end": 21
3380
3381
  },
3381
- "unknown": true,
3382
3382
  "dead": true,
3383
3383
  "level": 1
3384
3384
  },
@@ -3432,15 +3432,15 @@
3432
3432
  "level": 1
3433
3433
  },
3434
3434
  {
3435
- "marker": "unknown",
3436
3435
  "value": "tons",
3437
- "word": "tons",
3436
+ "unknown": true,
3438
3437
  "text": "tons",
3438
+ "marker": "unknown",
3439
+ "word": "tons",
3439
3440
  "range": {
3440
3441
  "start": 48,
3441
3442
  "end": 51
3442
3443
  },
3443
- "unknown": true,
3444
3444
  "dead": true,
3445
3445
  "level": 1
3446
3446
  }
@@ -13974,15 +13974,15 @@
13974
13974
  "timesExpression"
13975
13975
  ],
13976
13976
  "x": {
13977
- "marker": "unknown",
13978
13977
  "value": "tonne",
13979
- "word": "tonne",
13978
+ "unknown": true,
13980
13979
  "text": "tonne",
13980
+ "marker": "unknown",
13981
+ "word": "tonne",
13981
13982
  "range": {
13982
13983
  "start": 6,
13983
13984
  "end": 10
13984
13985
  },
13985
- "unknown": true,
13986
13986
  "dead": true,
13987
13987
  "types": [
13988
13988
  "number",
package/main.js CHANGED
@@ -14,6 +14,7 @@ const ordering = require('./common/ordering')
14
14
  const properties = require('./common/properties')
15
15
  const sizeable = require('./common/sizeable')
16
16
  const yesno = require('./common/yesno')
17
+ const tokenize = require('./common/tokenize')
17
18
  const dialogues = require('./common/dialogues')
18
19
  const gdefaults = require('./common/gdefaults')
19
20
  const meta = require('./common/meta')
@@ -59,6 +60,7 @@ ordering,
59
60
  properties,
60
61
  sizeable,
61
62
  yesno,
63
+ tokenize,
62
64
  dialogues,
63
65
  gdefaults,
64
66
  meta,
package/package.json CHANGED
@@ -41,7 +41,9 @@
41
41
  {
42
42
  "name": "Hidden",
43
43
  "description": "Don't show in the UI",
44
- "includes": []
44
+ "includes": [
45
+ "tokenize"
46
+ ]
45
47
  },
46
48
  {
47
49
  "name": "Language",
@@ -242,6 +244,8 @@
242
244
  "common/testing.test.json",
243
245
  "common/time.js",
244
246
  "common/time.test.json",
247
+ "common/tokenize.js",
248
+ "common/tokenize.test.json",
245
249
  "common/ui.instance.json",
246
250
  "common/ui.js",
247
251
  "common/ui.test.json",
@@ -265,8 +269,8 @@
265
269
  "table": "^6.7.1",
266
270
  "base-64": "^1.0.0",
267
271
  "argparse": "^2.0.1",
268
- "theprogrammablemind_4wp": "7.12.8-beta.6"
272
+ "theprogrammablemind_4wp": "7.12.8-beta.7"
269
273
  },
270
- "version": "7.12.8-beta.6",
274
+ "version": "7.12.8-beta.7",
271
275
  "license": "UNLICENSED"
272
276
  }