tpmkms
Version:
Reusable libraries for Entodicton, a natural language to json converter
2,460 lines (2,459 loc) • 634 kB
JSON
{
"configs": [
"setidsuffix _dates",
{
"apply": "({config}) => {\n const months = [\"january\", \"february\", \"march\", \"april\", \"may\", \"june\", \"july\", \"august\", \"september\", \"october\", \"november\", \"december\"]\n config.addSemantic({\n match: ({context}) => {\n if (!context.makeObject) {\n return\n }\n return months.includes(context.value)\n },\n apply: ({context}) => {\n context.initial.month_ordinal = months.findIndex((month) => month == context.value) + 1\n },\n })\n }"
},
"january, february, march, april, may, june, july, august, september, october, november and december are months",
{
"apply": "({config}) => {\n const days = [\"sunday\", \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\"]\n config.addSemantic({\n match: ({context}) => {\n if (!context.makeObject) {\n return\n }\n return days.includes(context.value)\n },\n apply: ({context}) => {\n context.initial.day_ordinal = days.findIndex((day) => day == context.value) + 1\n },\n })\n }"
},
"monday, tuesday, wednesday, thursday, friday, saturday and sunday are days",
"ac, bc, bce and ad are eras",
{
"operators": [
"([dayNumber_dates|])",
"([yearNumber_dates|])",
"([monthNumber_dates|])",
"([dateSeparator_dates|])",
"([era_dates|])",
"([date_dates|])",
"([dateEra_dates] (date_dates/*) (era_dates/*))",
"([monthDay_dates] (month_dates/*) (dayNumber_dates/*))",
"([monthYear_dates] (month_dates/*) (yearNumber_dates/*))",
"([monthDayYear_dates] (month_dates/*) (dayNumber_dates/*) (yearNumber_dates/*))",
"([monthDayYearWithSlashes_dates] (monthNumber_dates/*) (dateSeparator_dates/*) (dayNumber_dates/*) (dateSeparator_dates/*) (yearNumber_dates/*))",
"([onDate_dates|on] ([onDateValue_dates|]))",
"([afterDate_dates|after] ([afterDateValue_dates|]))"
],
"associations": {
"positive": [
{
"context": [
[
"every",
0
],
[
"monday_dates",
0
]
],
"choose": 1
}
]
},
"hierarchy": [
[
"monday_dates",
"distributable"
]
],
"bridges": [
{
"id": "onDateValue_dates",
"children": [
"day_dates",
"month_dates"
]
},
{
"id": "onDate_dates",
"isA": [
"preposition"
],
"bridge": "{ ...next(operator), date: after[0], onDate: operator, interpolate: '${onDate} ${date}' }",
"check": [
"marker",
"text",
"verbatim",
"value",
"evalue",
"isResponse",
{
"properties": "modifiers"
},
{
"properties": "postModifiers"
},
"onDate",
"date"
]
},
{
"id": "afterDateValue_dates",
"children": [
"day_dates",
"month_dates"
]
},
{
"id": "afterDate_dates",
"isA": [
"preposition"
],
"bridge": "{ ...next(operator), date: after[0], afterDate: operator, interpolate: '${afterDate} ${date}' }",
"check": [
"marker",
"text",
"verbatim",
"value",
"evalue",
"isResponse",
{
"properties": "modifiers"
},
{
"properties": "postModifiers"
},
"afterDate",
"date"
]
},
{
"id": "era_dates",
"words": [
"era"
],
"bridge": "{ ...next(operator) }"
},
{
"id": "date_dates",
"words": [
"date",
"distributable"
],
"isA": [
"onDateValue_dates",
"afterDateValue_dates"
],
"bridge": "{ ...next(operator) }"
},
{
"id": "dateEra_dates",
"isA": [
"date_dates"
],
"convolution": true,
"bridge": "{ ...next(after[0]), era: after[1], interpolate: concat(after[0].interpolate, ' ${era}') }",
"check": [
"marker",
"text",
"verbatim",
"value",
"evalue",
"isResponse",
{
"properties": "modifiers"
},
{
"properties": "postModifiers"
},
"era"
]
},
{
"id": "dateSeparator_dates",
"words": [
"/"
],
"bridge": "{ ...next(operator) }"
},
{
"id": "monthDayYearWithSlashes_dates",
"isA": [
"date_dates"
],
"before": [
"preposition"
],
"separators": "||||",
"convolution": true,
"bridge": "{ ...next(operator), day: after[2], month: after[0], year: after[4], interpolate: '${month}/${day}/${year}' }",
"check": [
"marker",
"text",
"verbatim",
"value",
"evalue",
"isResponse",
{
"properties": "modifiers"
},
{
"properties": "postModifiers"
},
"day",
"month",
"year"
]
},
{
"id": "dayNumber_dates",
"isA": [
"integer"
],
"bridge": "{ ...next(operator) }"
},
{
"id": "monthNumber_dates",
"isA": [
"integer"
],
"bridge": "{ ...next(operator) }"
},
{
"id": "yearNumber_dates",
"isA": [
"integer"
],
"bridge": "{ ...next(operator) }"
},
{
"id": "monthDay_dates",
"convolution": true,
"localHierarchy": [
[
"ordinal",
"dayNumber_dates"
]
],
"before": [
"preposition"
],
"isA": [
"date_dates"
],
"bridge": "{ ...next(operator), month: after[0], day: after[1], interpolate: '${month} ${day}' }",
"check": [
"marker",
"text",
"verbatim",
"value",
"evalue",
"isResponse",
{
"properties": "modifiers"
},
{
"properties": "postModifiers"
},
"day",
"month"
]
},
{
"id": "monthYear_dates",
"convolution": true,
"before": [
"preposition"
],
"isA": [
"date_dates"
],
"bridge": "{ ...next(operator), month: after[0], year: after[1], interpolate: '${month} ${year}' }",
"check": [
"marker",
"text",
"verbatim",
"value",
"evalue",
"isResponse",
{
"properties": "modifiers"
},
{
"properties": "postModifiers"
},
"month",
"year"
]
},
{
"id": "monthDayYear_dates",
"convolution": true,
"before": [
"preposition",
"monthDay_dates"
],
"isA": [
"date_dates"
],
"evaluator": "({context}) => {\n const year = context.year.value\n const day = context.day.value\n const month_ordinal = context.month.month_ordinal\n context.evalue = new Date(year, month_ordinal-1, day).toISOString()\n }",
"localHierarchy": [
[
"ordinal",
"dayNumber_dates"
]
],
"bridge": "{ ...next(operator), month: after[0], day: after[1], year: after[2], interpolate: '${month} ${day} ${year}' }",
"check": [
"marker",
"text",
"verbatim",
"value",
"evalue",
"isResponse",
{
"properties": "modifiers"
},
{
"properties": "postModifiers"
},
"month",
"day",
"year"
]
}
],
"words": {
"patterns": [
{
"pattern": [
{
"type": "digit"
},
{
"repeat": true
}
],
"allow_partial_matches": false,
"defs": [
{
"id": "dayNumber_dates",
"uuid": "1",
"initial": "{ value: int(text), instance: true }"
}
]
},
{
"pattern": [
{
"type": "digit"
},
{
"repeat": true
}
],
"allow_partial_matches": false,
"defs": [
{
"id": "monthNumber_dates",
"uuid": "1",
"initial": "{ value: int(text), instance: true }"
}
]
},
{
"pattern": [
{
"type": "digit"
},
{
"repeat": true
}
],
"allow_partial_matches": false,
"defs": [
{
"id": "yearNumber_dates",
"uuid": "1",
"initial": "{ value: int(text), instance: true }"
}
]
}
]
}
},
{
"apply": "(args) => {\n {\n const as = ['jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sept', 'oct', 'nov', 'dec']\n const ms = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']\n // args.makeObject({...args, context: { word: as[i], value: `${ms[i]}_dates`}, types: [`${ms[i]}_dates`]})\n for (let i = 0; i < as.length; ++i) {\n const word = as[i]\n if (word == 'may') {\n continue\n }\n const id = `${ms[i]}_dates`\n args.addWords(id, word, { value: id, abbreviation: word, month_ordinal: i+1 })\n }\n }\n\n {\n const as = ['sun', 'mon', 'tues', 'weds', 'thurs', 'fri', 'sat']\n const ms = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday']\n // args.makeObject({...args, context: { word: as[i], value: `${ms[i]}_dates`}, types: [`${ms[i]}_dates`]})\n for (let i = 0; i < as.length; ++i) {\n const word = as[i]\n const id = `${ms[i]}_dates`\n args.addWords(id, word, { value: id, abbreviation: word, day_ordinal: i+1 })\n }\n }\n\n }"
},
"resetIdSuffix"
],
"resultss": [
{
"hierarchy": [
[
"a",
"article",
false
],
[
"adjective",
"adjective",
false
],
[
"article",
"article",
false
],
[
"between",
"preposition",
false
],
[
"canBeDoQuestion",
"canBeDoQuestion",
false
],
[
"canBeQuestion",
"canBeQuestion",
false
],
[
"concept",
"queryable",
false
],
[
"concept",
"theAble",
false
],
[
"deletable",
"deletable",
false
],
[
"delete",
"verb",
false
],
[
"distributable",
"queryable",
false
],
[
"doubleQuote",
"queryable",
false
],
[
"each",
"article",
false
],
[
"every",
"article",
false
],
[
"have",
"canBeDoQuestion",
false
],
[
"have",
"canBeQuestion",
false
],
[
"hierarchyAble",
"queryable",
false
],
[
"ifAble",
"ifAble",
false
],
[
"integer",
"number",
false
],
[
"is",
"canBeQuestion",
false
],
[
"is",
"verb",
false
],
[
"isQuery",
"verb",
false
],
[
"it",
"pronoun",
false
],
[
"it",
"queryable",
false
],
[
"it",
"thisitthat",
false
],
[
"it",
"toAble",
false
],
[
"listable",
"theAble",
false
],
[
"memorable",
"deletable",
false
],
[
"memorable",
"theAble",
false
],
[
"modifies",
"verb",
false
],
[
"negatable",
"queryable",
false
],
[
"noun",
"theAble",
false
],
[
"noun",
"thisAble",
false
],
[
"number",
"queryable",
false
],
[
"object",
"listable",
false
],
[
"object",
"queryable",
false
],
[
"object",
"theAble",
false
],
[
"orAble",
"ifAble",
false
],
[
"orderable",
"queryable",
false
],
[
"orderable",
"theAble",
false
],
[
"ordinal",
"listable",
false
],
[
"ordinalOnOrdered",
"adjective",
false
],
[
"preposition",
"preposition",
false
],
[
"pronoun",
"pronoun",
false
],
[
"property",
"queryable",
false
],
[
"property",
"theAble",
false
],
[
"propertyOf",
"preposition",
false
],
[
"punctuation",
"punctuation",
false
],
[
"queryable",
"listable",
false
],
[
"questionMark",
"punctuation",
false
],
[
"readonly",
"queryable",
false
],
[
"reason",
"queryable",
false
],
[
"reason",
"theAble",
false
],
[
"recall",
"verb",
false
],
[
"remember",
"verb",
false
],
[
"stm_before",
"adjective",
false
],
[
"stm_current",
"adjective",
false
],
[
"stm_previous",
"adjective",
false
],
[
"that",
"thisitthat",
false
],
[
"the",
"article",
false
],
[
"theAble",
"queryable",
false
],
[
"this",
"pronoun",
false
],
[
"this",
"queryable",
false
],
[
"this",
"thisitthat",
false
],
[
"thisAble",
"thisAble",
false
],
[
"thisitthat",
"queryable",
false
],
[
"to",
"preposition",
false
],
[
"toAble",
"toAble",
false
],
[
"type",
"property",
false
],
[
"type",
"whatAble",
false
],
[
"unknown",
"hierarchyAble",
false
],
[
"verb",
"verb",
false
],
[
"what",
"object",
false
],
[
"what",
"queryable",
false
],
[
"whatAble",
"queryable",
false
],
[
"whose",
"object",
false
],
[
"xfx",
"queryable",
false
]
],
"metadata": {
"opChoices": [
{
"op": [
"unknown",
0
],
"ops": [
[
"setIdSuffix",
0
],
[
"unknown",
0
]
],
"counter": 1
},
{
"op": [
"setIdSuffix",
0
],
"ops": [
[
"setIdSuffix",
0
]
],
"counter": 2
}
]
},
"trace": "undefined",
"contexts": [
{
"marker": "setIdSuffix",
"value": "setIdSuffix",
"default": true,
"text": "setidsuffix _dates",
"word": "setidsuffix",
"range": {
"start": 0,
"end": 17
},
"dead": true,
"suffix": {
"value": "_dates",
"unknown": true,
"text": "_dates",
"marker": "unknown",
"word": "_dates",
"range": {
"start": 12,
"end": 17
},
"dead": true,
"level": 0
},
"level": 1,
"context_index": 1,
"topLevel": true,
"context_id": 2,
"touchedBy": [
"dates#call2"
]
}
],
"generated": [
""
],
"paraphrases": [
"setidsuffix _dates"
],
"paraphrasesParenthesized": [],
"generatedParenthesized": [],
"responses": [
""
],
"associations": [
[
[
"setIdSuffix",
0
],
[
"unknown",
0
]
]
],
"summaries": [
{
"summaries": [
{
"operators": [
{
"marker": [
"setIdSuffix",
0
],
"range": {
"start": 0,
"end": 10
}
},
{
"marker": [
"unknown",
0
],
"range": {
"start": 12,
"end": 17
}
}
],
"counter": 1
},
{
"operators": [
{
"marker": [
"setIdSuffix",
0
],
"range": {
"start": 0,
"end": 10
}
},
{
"marker": [
"unknown",
0
],
"range": {
"start": 12,
"end": 17
}
}
],
"counter": 2
},
{
"operators": [
{
"marker": [
"setIdSuffix",
1
],
"range": {
"start": 0,
"end": 17
}
}
],
"counter": 3
}
],
"length": 1
}
],
"learned_contextual_priorities": [],
"rtf_associations": [],
"query": "setidsuffix _dates",
"key": {
"query": "setidsuffix _dates"
}
},
{
"apply": "({config}) => {\n const months = [\"january\", \"february\", \"march\", \"april\", \"may\", \"june\", \"july\", \"august\", \"september\", \"october\", \"november\", \"december\"]\n config.addSemantic({\n match: ({context}) => {\n if (!context.makeObject) {\n return\n }\n return months.includes(context.value)\n },\n apply: ({context}) => {\n context.initial.month_ordinal = months.findIndex((month) => month == context.value) + 1\n },\n })\n }"
},
{
"hierarchy": [
[
"a",
"article",
false
],
[
"adjective",
"adjective",
false
],
[
"article",
"article",
false
],
[
"between",
"preposition",
false
],
[
"canBeDoQuestion",
"canBeDoQuestion",
false
],
[
"canBeQuestion",
"canBeQuestion",
false
],
[
"concept",
"queryable",
false
],
[
"concept",
"theAble",
false
],
[
"deletable",
"deletable",
false
],
[
"delete",
"verb",
false
],
[
"distributable",
"queryable",
false
],
[
"doubleQuote",
"queryable",
false
],
[
"each",
"article",
false
],
[
"every",
"article",
false
],
[
"have",
"canBeDoQuestion",
false
],
[
"have",
"canBeQuestion",
false
],
[
"hierarchyAble",
"queryable",
false
],
[
"ifAble",
"ifAble",
false
],
[
"integer",
"number",
false
],
[
"is",
"canBeQuestion",
false
],
[
"is",
"verb",
false
],
[
"isQuery",
"verb",
false
],
[
"it",
"pronoun",
false
],
[
"it",
"queryable",
false
],
[
"it",
"thisitthat",
false
],
[
"it",
"toAble",
false
],
[
"listable",
"theAble",
false
],
[
"memorable",
"deletable",
false
],
[
"memorable",
"theAble",
false
],
[
"modifies",
"verb",
false
],
[
"negatable",
"queryable",
false
],
[
"noun",
"theAble",
false
],
[
"noun",
"thisAble",
false
],
[
"number",
"queryable",
false
],
[
"object",
"listable",
false
],
[
"object",
"queryable",
false
],
[
"object",
"theAble",
false
],
[
"orAble",
"ifAble",
false
],
[
"orderable",
"queryable",
false
],
[
"orderable",
"theAble",
false
],
[
"ordinal",
"listable",
false
],
[
"ordinalOnOrdered",
"adjective",
false
],
[
"preposition",
"preposition",
false
],
[
"pronoun",
"pronoun",
false
],
[
"property",
"queryable",
false
],
[
"property",
"theAble",
false
],
[
"propertyOf",
"preposition",
false
],
[
"punctuation",
"punctuation",
false
],
[
"queryable",
"listable",
false
],
[
"questionMark",
"punctuation",
false
],
[
"readonly",
"queryable",
false
],
[
"reason",
"queryable",
false
],
[
"reason",
"theAble",
false
],
[
"recall",
"verb",
false
],
[
"remember",
"verb",
false
],
[
"stm_before",
"adjective",
false
],
[
"stm_current",
"adjective",
false
],
[
"stm_previous",
"adjective",
false
],
[
"that",
"thisitthat",
false
],
[
"the",
"article",
false
],
[
"theAble",
"queryable",
false
],
[
"this",
"pronoun",
false
],
[
"this",
"queryable",
false
],
[
"this",
"thisitthat",
false
],
[
"thisAble",
"thisAble",
false
],
[
"thisitthat",
"queryable",
false
],
[
"to",
"preposition",
false
],
[
"toAble",
"toAble",
false
],
[
"type",
"property",
false
],
[
"type",
"whatAble",
false
],
[
"unknown",
"hierarchyAble",
false
],
[
"verb",
"verb",
false
],
[
"what",
"object",
false
],
[
"what",
"queryable",
false
],
[
"whatAble",
"queryable",
false
],
[
"whose",
"object",
false
],
[
"xfx",
"queryable",
false
]
],
"metadata": {
"opChoices": [
{
"op": [
"unknown",
0
],
"ops": [
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"is",
0
],
[
"list",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
]
],
"counter": 1
},
{
"op": [
"unknown",
0
],
"ops": [
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"is",
0
],
[
"list",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
]
],
"counter": 2
},
{
"op": [
"unknown",
0
],
"ops": [
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"is",
0
],
[
"list",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
]
],
"counter": 3
},
{
"op": [
"unknown",
0
],
"ops": [
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"is",
0
],
[
"list",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
]
],
"counter": 4
},
{
"op": [
"unknown",
0
],
"ops": [
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"is",
0
],
[
"list",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
]
],
"counter": 5
},
{
"op": [
"unknown",
0
],
"ops": [
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"is",
0
],
[
"list",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
]
],
"counter": 6
},
{
"op": [
"unknown",
0
],
"ops": [
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"is",
0
],
[
"list",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
]
],
"counter": 7
},
{
"op": [
"unknown",
0
],
"ops": [
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"is",
0
],
[
"list",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
]
],
"counter": 8
},
{
"op": [
"unknown",
0
],
"ops": [
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"is",
0
],
[
"list",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
]
],
"counter": 9
},
{
"op": [
"unknown",
0
],
"ops": [
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"is",
0
],
[
"list",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
]
],
"counter": 10
},
{
"op": [
"unknown",
0
],
"ops": [
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"is",
0
],
[
"list",
0
],
[
"unknown",
0
],
[
"unknown",
0
],
[
"unknown",
0
]
],
"counter": 11
},
{
"op": [
"unknown",
0
],
"ops": [
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"is",
0
],
[
"list",
0
],
[
"unknown",
0
],
[
"unknown",
0
]
],
"counter": 12
},
{
"op": [
"unknown",
0
],
"ops": [
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"is",
0
],
[
"list",
0
],
[
"unknown",
0
]
],
"counter": 13
},
{
"op": [
"list",
0
],
"ops": [
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0
],
[
"comma",
0