Constant tree_sitter_pascal::NODE_TYPES
source · pub const NODE_TYPES: &str = "[\n {\n \"type\": \"arrInitializer\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"arrInitializer\",\n \"named\": true\n },\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n },\n {\n \"type\": \"recInitializer\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"asm\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"asmBody\",\n \"named\": true\n },\n {\n \"type\": \"kAsm\",\n \"named\": true\n },\n {\n \"type\": \"kEnd\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"asmBody\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"assignment\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n },\n {\n \"type\": \"varAssignDef\",\n \"named\": true\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kAssign\",\n \"named\": true\n },\n {\n \"type\": \"kAssignAdd\",\n \"named\": true\n },\n {\n \"type\": \"kAssignDiv\",\n \"named\": true\n },\n {\n \"type\": \"kAssignMul\",\n \"named\": true\n },\n {\n \"type\": \"kAssignSub\",\n \"named\": true\n }\n ]\n },\n \"rhs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"block\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"kBegin\",\n \"named\": true\n },\n {\n \"type\": \"kEnd\",\n \"named\": true\n },\n {\n \"type\": \"label\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"blockTr\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"kBegin\",\n \"named\": true\n },\n {\n \"type\": \"kEnd\",\n \"named\": true\n },\n {\n \"type\": \"label\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"case\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"caseCase\",\n \"named\": true\n },\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kCase\",\n \"named\": true\n },\n {\n \"type\": \"kElse\",\n \"named\": true\n },\n {\n \"type\": \"kEnd\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kOf\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"label\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"caseCase\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \";\",\n \"named\": false\n },\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n },\n \"label\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"caseLabel\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"caseLabel\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n },\n {\n \"type\": \"range\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declArg\",\n \"named\": true,\n \"fields\": {\n \"defaultValue\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"defaultValue\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \",\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"kConst\",\n \"named\": true\n },\n {\n \"type\": \"kConstref\",\n \"named\": true\n },\n {\n \"type\": \"kOut\",\n \"named\": true\n },\n {\n \"type\": \"kVar\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declArgs\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"declArg\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declArray\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kArray\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kOf\",\n \"named\": true\n },\n {\n \"type\": \"kPacked\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n },\n {\n \"type\": \"range\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declClass\",\n \"named\": true,\n \"fields\": {\n \"parent\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"(\",\n \"named\": false\n },\n {\n \"type\": \")\",\n \"named\": false\n },\n {\n \"type\": \",\",\n \"named\": false\n },\n {\n \"type\": \"typeref\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declConsts\",\n \"named\": true\n },\n {\n \"type\": \"declField\",\n \"named\": true\n },\n {\n \"type\": \"declProc\",\n \"named\": true\n },\n {\n \"type\": \"declProp\",\n \"named\": true\n },\n {\n \"type\": \"declSection\",\n \"named\": true\n },\n {\n \"type\": \"declTypes\",\n \"named\": true\n },\n {\n \"type\": \"declVariant\",\n \"named\": true\n },\n {\n \"type\": \"declVars\",\n \"named\": true\n },\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kAbstract\",\n \"named\": true\n },\n {\n \"type\": \"kClass\",\n \"named\": true\n },\n {\n \"type\": \"kEnd\",\n \"named\": true\n },\n {\n \"type\": \"kExternal\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kName\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kObjccategory\",\n \"named\": true\n },\n {\n \"type\": \"kObjcclass\",\n \"named\": true\n },\n {\n \"type\": \"kObjcprotocol\",\n \"named\": true\n },\n {\n \"type\": \"kObject\",\n \"named\": true\n },\n {\n \"type\": \"kPacked\",\n \"named\": true\n },\n {\n \"type\": \"kRecord\",\n \"named\": true\n },\n {\n \"type\": \"kSealed\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declConst\",\n \"named\": true,\n \"fields\": {\n \"attribute\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"procAttribute\",\n \"named\": true\n },\n {\n \"type\": \"procExternal\",\n \"named\": true\n }\n ]\n },\n \"defaultValue\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"defaultValue\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"rttiAttributes\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declConsts\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declConst\",\n \"named\": true\n },\n {\n \"type\": \"kClass\",\n \"named\": true\n },\n {\n \"type\": \"kConst\",\n \"named\": true\n },\n {\n \"type\": \"kResourcestring\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declEnum\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declEnumValue\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declEnumValue\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"defaultValue\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"declExport\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"genericDot\",\n \"named\": true\n },\n {\n \"type\": \"genericTpl\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kIndex\",\n \"named\": true\n },\n {\n \"type\": \"kName\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declExports\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declExport\",\n \"named\": true\n },\n {\n \"type\": \"kExports\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declField\",\n \"named\": true,\n \"fields\": {\n \"defaultValue\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"defaultValue\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \",\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"rttiAttributes\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declFile\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kFile\",\n \"named\": true\n },\n {\n \"type\": \"kOf\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declHelper\",\n \"named\": true,\n \"fields\": {\n \"parent\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"(\",\n \"named\": false\n },\n {\n \"type\": \")\",\n \"named\": false\n },\n {\n \"type\": \",\",\n \"named\": false\n },\n {\n \"type\": \"typeref\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declConsts\",\n \"named\": true\n },\n {\n \"type\": \"declField\",\n \"named\": true\n },\n {\n \"type\": \"declProc\",\n \"named\": true\n },\n {\n \"type\": \"declProp\",\n \"named\": true\n },\n {\n \"type\": \"declSection\",\n \"named\": true\n },\n {\n \"type\": \"declTypes\",\n \"named\": true\n },\n {\n \"type\": \"declVariant\",\n \"named\": true\n },\n {\n \"type\": \"declVars\",\n \"named\": true\n },\n {\n \"type\": \"kClass\",\n \"named\": true\n },\n {\n \"type\": \"kEnd\",\n \"named\": true\n },\n {\n \"type\": \"kFor\",\n \"named\": true\n },\n {\n \"type\": \"kHelper\",\n \"named\": true\n },\n {\n \"type\": \"kRecord\",\n \"named\": true\n },\n {\n \"type\": \"kType\",\n \"named\": true\n },\n {\n \"type\": \"typeref\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declIntf\",\n \"named\": true,\n \"fields\": {\n \"guid\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"guid\",\n \"named\": true\n }\n ]\n },\n \"parent\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"(\",\n \"named\": false\n },\n {\n \"type\": \")\",\n \"named\": false\n },\n {\n \"type\": \",\",\n \"named\": false\n },\n {\n \"type\": \"typeref\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declConsts\",\n \"named\": true\n },\n {\n \"type\": \"declField\",\n \"named\": true\n },\n {\n \"type\": \"declProc\",\n \"named\": true\n },\n {\n \"type\": \"declProp\",\n \"named\": true\n },\n {\n \"type\": \"declSection\",\n \"named\": true\n },\n {\n \"type\": \"declTypes\",\n \"named\": true\n },\n {\n \"type\": \"declVariant\",\n \"named\": true\n },\n {\n \"type\": \"declVars\",\n \"named\": true\n },\n {\n \"type\": \"kDispInterface\",\n \"named\": true\n },\n {\n \"type\": \"kEnd\",\n \"named\": true\n },\n {\n \"type\": \"kInterface\",\n \"named\": true\n },\n {\n \"type\": \"kPacked\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declLabel\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"declLabels\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declLabel\",\n \"named\": true\n },\n {\n \"type\": \"kLabel\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declMetaClass\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kClass\",\n \"named\": true\n },\n {\n \"type\": \"kOf\",\n \"named\": true\n },\n {\n \"type\": \"typeref\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declProc\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"declArgs\",\n \"named\": true\n }\n ]\n },\n \"assign\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"defaultValue\",\n \"named\": true\n }\n ]\n },\n \"attribute\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"procAttribute\",\n \"named\": true\n },\n {\n \"type\": \"procExternal\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"genericDot\",\n \"named\": true\n },\n {\n \"type\": \"genericTpl\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"operatorName\",\n \"named\": true\n }\n ]\n },\n \"resultName\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"typeref\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kClass\",\n \"named\": true\n },\n {\n \"type\": \"kConstructor\",\n \"named\": true\n },\n {\n \"type\": \"kDestructor\",\n \"named\": true\n },\n {\n \"type\": \"kForward\",\n \"named\": true\n },\n {\n \"type\": \"kFunction\",\n \"named\": true\n },\n {\n \"type\": \"kGeneric\",\n \"named\": true\n },\n {\n \"type\": \"kOperator\",\n \"named\": true\n },\n {\n \"type\": \"kProcedure\",\n \"named\": true\n },\n {\n \"type\": \"procExternal\",\n \"named\": true\n },\n {\n \"type\": \"rttiAttributes\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declProcRef\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"declArgs\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"typeref\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kFunction\",\n \"named\": true\n },\n {\n \"type\": \"kObject\",\n \"named\": true\n },\n {\n \"type\": \"kOf\",\n \"named\": true\n },\n {\n \"type\": \"kProcedure\",\n \"named\": true\n },\n {\n \"type\": \"kReference\",\n \"named\": true\n },\n {\n \"type\": \"kTo\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declProp\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"declPropArgs\",\n \"named\": true\n }\n ]\n },\n \"attribute\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"procAttribute\",\n \"named\": true\n },\n {\n \"type\": \"procExternal\",\n \"named\": true\n }\n ]\n },\n \"defaultValue\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n },\n \"dispid\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n },\n \"getter\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"implements\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \",\",\n \"named\": false\n },\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n },\n \"index\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"setter\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"stored\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kClass\",\n \"named\": true\n },\n {\n \"type\": \"kDefault\",\n \"named\": true\n },\n {\n \"type\": \"kDispId\",\n \"named\": true\n },\n {\n \"type\": \"kImplements\",\n \"named\": true\n },\n {\n \"type\": \"kIndex\",\n \"named\": true\n },\n {\n \"type\": \"kNodefault\",\n \"named\": true\n },\n {\n \"type\": \"kProperty\",\n \"named\": true\n },\n {\n \"type\": \"kRead\",\n \"named\": true\n },\n {\n \"type\": \"kStored\",\n \"named\": true\n },\n {\n \"type\": \"kWrite\",\n \"named\": true\n },\n {\n \"type\": \"rttiAttributes\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declPropArgs\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"declArg\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declSection\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declConsts\",\n \"named\": true\n },\n {\n \"type\": \"declField\",\n \"named\": true\n },\n {\n \"type\": \"declProc\",\n \"named\": true\n },\n {\n \"type\": \"declProp\",\n \"named\": true\n },\n {\n \"type\": \"declTypes\",\n \"named\": true\n },\n {\n \"type\": \"declVars\",\n \"named\": true\n },\n {\n \"type\": \"kOptional\",\n \"named\": true\n },\n {\n \"type\": \"kPrivate\",\n \"named\": true\n },\n {\n \"type\": \"kProtected\",\n \"named\": true\n },\n {\n \"type\": \"kPublic\",\n \"named\": true\n },\n {\n \"type\": \"kPublished\",\n \"named\": true\n },\n {\n \"type\": \"kRequired\",\n \"named\": true\n },\n {\n \"type\": \"kStrict\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declSet\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kOf\",\n \"named\": true\n },\n {\n \"type\": \"kSet\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declString\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kString\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declType\",\n \"named\": true,\n \"fields\": {\n \"attribute\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"procAttribute\",\n \"named\": true\n },\n {\n \"type\": \"procExternal\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"genericDot\",\n \"named\": true\n },\n {\n \"type\": \"genericTpl\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declClass\",\n \"named\": true\n },\n {\n \"type\": \"declHelper\",\n \"named\": true\n },\n {\n \"type\": \"declIntf\",\n \"named\": true\n },\n {\n \"type\": \"kType\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kEq\",\n \"named\": true\n },\n {\n \"type\": \"kGeneric\",\n \"named\": true\n },\n {\n \"type\": \"rttiAttributes\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declTypes\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declType\",\n \"named\": true\n },\n {\n \"type\": \"kType\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declUses\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kUses\",\n \"named\": true\n },\n {\n \"type\": \"moduleName\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declVar\",\n \"named\": true,\n \"fields\": {\n \"attribute\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"procAttribute\",\n \"named\": true\n },\n {\n \"type\": \"procExternal\",\n \"named\": true\n }\n ]\n },\n \"defaultValue\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"defaultValue\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \",\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kAbsolute\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n },\n {\n \"type\": \"procExternal\",\n \"named\": true\n },\n {\n \"type\": \"rttiAttributes\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declVariant\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \":\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"typeref\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declVariantClause\",\n \"named\": true\n },\n {\n \"type\": \"kCase\",\n \"named\": true\n },\n {\n \"type\": \"kOf\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declVariantClause\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"caseLabel\",\n \"named\": true\n },\n {\n \"type\": \"declField\",\n \"named\": true\n },\n {\n \"type\": \"declVariant\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"declVars\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declVar\",\n \"named\": true\n },\n {\n \"type\": \"kClass\",\n \"named\": true\n },\n {\n \"type\": \"kThreadvar\",\n \"named\": true\n },\n {\n \"type\": \"kVar\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"defProc\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n }\n ]\n },\n \"header\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declProc\",\n \"named\": true\n }\n ]\n },\n \"local\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"blockTr\",\n \"named\": true\n },\n {\n \"type\": \"declConsts\",\n \"named\": true\n },\n {\n \"type\": \"declExports\",\n \"named\": true\n },\n {\n \"type\": \"declLabels\",\n \"named\": true\n },\n {\n \"type\": \"declProc\",\n \"named\": true\n },\n {\n \"type\": \"declTypes\",\n \"named\": true\n },\n {\n \"type\": \"declUses\",\n \"named\": true\n },\n {\n \"type\": \"declVars\",\n \"named\": true\n },\n {\n \"type\": \"defProc\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"pp\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"defaultValue\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"arrInitializer\",\n \"named\": true\n },\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kEq\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n },\n {\n \"type\": \"recInitializer\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"exceptionElse\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"kElse\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"exceptionHandler\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \";\",\n \"named\": false\n },\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n },\n \"exception\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"typeref\",\n \"named\": true\n }\n ]\n },\n \"variable\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \":\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kDo\",\n \"named\": true\n },\n {\n \"type\": \"kOn\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"exprArgs\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"legacyFormat\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"exprBinary\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kAdd\",\n \"named\": true\n },\n {\n \"type\": \"kAnd\",\n \"named\": true\n },\n {\n \"type\": \"kAs\",\n \"named\": true\n },\n {\n \"type\": \"kDiv\",\n \"named\": true\n },\n {\n \"type\": \"kEq\",\n \"named\": true\n },\n {\n \"type\": \"kFdiv\",\n \"named\": true\n },\n {\n \"type\": \"kGt\",\n \"named\": true\n },\n {\n \"type\": \"kGte\",\n \"named\": true\n },\n {\n \"type\": \"kIn\",\n \"named\": true\n },\n {\n \"type\": \"kIs\",\n \"named\": true\n },\n {\n \"type\": \"kLt\",\n \"named\": true\n },\n {\n \"type\": \"kLte\",\n \"named\": true\n },\n {\n \"type\": \"kMod\",\n \"named\": true\n },\n {\n \"type\": \"kMul\",\n \"named\": true\n },\n {\n \"type\": \"kNeq\",\n \"named\": true\n },\n {\n \"type\": \"kOr\",\n \"named\": true\n },\n {\n \"type\": \"kShl\",\n \"named\": true\n },\n {\n \"type\": \"kShr\",\n \"named\": true\n },\n {\n \"type\": \"kSub\",\n \"named\": true\n },\n {\n \"type\": \"kXor\",\n \"named\": true\n }\n ]\n },\n \"rhs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n },\n {\n \"type\": \"range\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"exprCall\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"exprArgs\",\n \"named\": true\n }\n ]\n },\n \"entity\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"exprDot\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kDot\",\n \"named\": true\n }\n ]\n },\n \"rhs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"exprParens\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprArgs\",\n \"named\": true\n }\n ]\n },\n \"entity\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \",\",\n \"named\": false\n },\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n },\n \"entity\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kGt\",\n \"named\": true\n },\n {\n \"type\": \"kLt\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true,\n \"fields\": {\n \"operand\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kAdd\",\n \"named\": true\n },\n {\n \"type\": \"kAt\",\n \"named\": true\n },\n {\n \"type\": \"kHat\",\n \"named\": true\n },\n {\n \"type\": \"kNot\",\n \"named\": true\n },\n {\n \"type\": \"kSub\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"finalization\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"kFinalization\",\n \"named\": true\n },\n {\n \"type\": \"label\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"for\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \";\",\n \"named\": false\n },\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n },\n \"end\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n },\n \"start\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"assignment\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kDo\",\n \"named\": true\n },\n {\n \"type\": \"kDownto\",\n \"named\": true\n },\n {\n \"type\": \"kFor\",\n \"named\": true\n },\n {\n \"type\": \"kTo\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"foreach\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \";\",\n \"named\": false\n },\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n },\n \"iterable\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n },\n \"iterator\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kDo\",\n \"named\": true\n },\n {\n \"type\": \"kFor\",\n \"named\": true\n },\n {\n \"type\": \"kIn\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"genericArg\",\n \"named\": true,\n \"fields\": {\n \"defaultValue\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"defaultValue\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \",\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \":\",\n \"named\": false\n },\n {\n \"type\": \"typeref\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"genericArgs\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"genericArg\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"genericDot\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"genericDot\",\n \"named\": true\n },\n {\n \"type\": \"genericTpl\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kDot\",\n \"named\": true\n }\n ]\n },\n \"rhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"genericDot\",\n \"named\": true\n },\n {\n \"type\": \"genericTpl\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"operatorName\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"genericTpl\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"genericArgs\",\n \"named\": true\n }\n ]\n },\n \"entity\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"genericDot\",\n \"named\": true\n },\n {\n \"type\": \"genericTpl\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kGt\",\n \"named\": true\n },\n {\n \"type\": \"kLt\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"goto\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"kGoto\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"guid\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"if\",\n \"named\": true,\n \"fields\": {\n \"condition\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n },\n \"then\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \";\",\n \"named\": false\n },\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kIf\",\n \"named\": true\n },\n {\n \"type\": \"kThen\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"ifElse\",\n \"named\": true,\n \"fields\": {\n \"condition\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n },\n \"else\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \";\",\n \"named\": false\n },\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n },\n \"then\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kElse\",\n \"named\": true\n },\n {\n \"type\": \"kIf\",\n \"named\": true\n },\n {\n \"type\": \"kThen\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"implementation\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"blockTr\",\n \"named\": true\n },\n {\n \"type\": \"declConsts\",\n \"named\": true\n },\n {\n \"type\": \"declExports\",\n \"named\": true\n },\n {\n \"type\": \"declLabels\",\n \"named\": true\n },\n {\n \"type\": \"declProc\",\n \"named\": true\n },\n {\n \"type\": \"declTypes\",\n \"named\": true\n },\n {\n \"type\": \"declUses\",\n \"named\": true\n },\n {\n \"type\": \"declVars\",\n \"named\": true\n },\n {\n \"type\": \"defProc\",\n \"named\": true\n },\n {\n \"type\": \"kImplementation\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"inherited\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"kInherited\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"initialization\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"kInitialization\",\n \"named\": true\n },\n {\n \"type\": \"label\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"interface\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declConsts\",\n \"named\": true\n },\n {\n \"type\": \"declExports\",\n \"named\": true\n },\n {\n \"type\": \"declLabels\",\n \"named\": true\n },\n {\n \"type\": \"declProc\",\n \"named\": true\n },\n {\n \"type\": \"declProp\",\n \"named\": true\n },\n {\n \"type\": \"declTypes\",\n \"named\": true\n },\n {\n \"type\": \"declUses\",\n \"named\": true\n },\n {\n \"type\": \"declVars\",\n \"named\": true\n },\n {\n \"type\": \"kInterface\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"kDot\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"kEndDot\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"label\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"lambda\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"declArgs\",\n \"named\": true\n }\n ]\n },\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n }\n ]\n },\n \"local\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"blockTr\",\n \"named\": true\n },\n {\n \"type\": \"declConsts\",\n \"named\": true\n },\n {\n \"type\": \"declExports\",\n \"named\": true\n },\n {\n \"type\": \"declLabels\",\n \"named\": true\n },\n {\n \"type\": \"declProc\",\n \"named\": true\n },\n {\n \"type\": \"declTypes\",\n \"named\": true\n },\n {\n \"type\": \"declUses\",\n \"named\": true\n },\n {\n \"type\": \"declVars\",\n \"named\": true\n },\n {\n \"type\": \"defProc\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"typeref\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kFunction\",\n \"named\": true\n },\n {\n \"type\": \"kProcedure\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"legacyFormat\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"library\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"blockTr\",\n \"named\": true\n },\n {\n \"type\": \"declConsts\",\n \"named\": true\n },\n {\n \"type\": \"declExports\",\n \"named\": true\n },\n {\n \"type\": \"declLabels\",\n \"named\": true\n },\n {\n \"type\": \"declProc\",\n \"named\": true\n },\n {\n \"type\": \"declTypes\",\n \"named\": true\n },\n {\n \"type\": \"declUses\",\n \"named\": true\n },\n {\n \"type\": \"declVars\",\n \"named\": true\n },\n {\n \"type\": \"defProc\",\n \"named\": true\n },\n {\n \"type\": \"kEnd\",\n \"named\": true\n },\n {\n \"type\": \"kEndDot\",\n \"named\": true\n },\n {\n \"type\": \"kLibrary\",\n \"named\": true\n },\n {\n \"type\": \"moduleName\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"literalChar\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"literalString\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"literalChar\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"moduleName\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"kDot\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"operatorName\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kAdd\",\n \"named\": true\n },\n {\n \"type\": \"kAnd\",\n \"named\": true\n },\n {\n \"type\": \"kAssign\",\n \"named\": true\n },\n {\n \"type\": \"kDiv\",\n \"named\": true\n },\n {\n \"type\": \"kDot\",\n \"named\": true\n },\n {\n \"type\": \"kEq\",\n \"named\": true\n },\n {\n \"type\": \"kFdiv\",\n \"named\": true\n },\n {\n \"type\": \"kGt\",\n \"named\": true\n },\n {\n \"type\": \"kGte\",\n \"named\": true\n },\n {\n \"type\": \"kIn\",\n \"named\": true\n },\n {\n \"type\": \"kLt\",\n \"named\": true\n },\n {\n \"type\": \"kLte\",\n \"named\": true\n },\n {\n \"type\": \"kMod\",\n \"named\": true\n },\n {\n \"type\": \"kMul\",\n \"named\": true\n },\n {\n \"type\": \"kNeq\",\n \"named\": true\n },\n {\n \"type\": \"kNot\",\n \"named\": true\n },\n {\n \"type\": \"kOr\",\n \"named\": true\n },\n {\n \"type\": \"kShl\",\n \"named\": true\n },\n {\n \"type\": \"kShr\",\n \"named\": true\n },\n {\n \"type\": \"kSub\",\n \"named\": true\n },\n {\n \"type\": \"kXor\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"procAttribute\",\n \"named\": true,\n \"fields\": {\n \"dispid\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kDispId\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kAbstract\",\n \"named\": true\n },\n {\n \"type\": \"kAlias\",\n \"named\": true\n },\n {\n \"type\": \"kAssembler\",\n \"named\": true\n },\n {\n \"type\": \"kCdecl\",\n \"named\": true\n },\n {\n \"type\": \"kCppdecl\",\n \"named\": true\n },\n {\n \"type\": \"kCvar\",\n \"named\": true\n },\n {\n \"type\": \"kDefault\",\n \"named\": true\n },\n {\n \"type\": \"kDeprecated\",\n \"named\": true\n },\n {\n \"type\": \"kDynamic\",\n \"named\": true\n },\n {\n \"type\": \"kExperimental\",\n \"named\": true\n },\n {\n \"type\": \"kExport\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kFar\",\n \"named\": true\n },\n {\n \"type\": \"kHardfloat\",\n \"named\": true\n },\n {\n \"type\": \"kInline\",\n \"named\": true\n },\n {\n \"type\": \"kInterrupt\",\n \"named\": true\n },\n {\n \"type\": \"kIocheck\",\n \"named\": true\n },\n {\n \"type\": \"kLocal\",\n \"named\": true\n },\n {\n \"type\": \"kMessage\",\n \"named\": true\n },\n {\n \"type\": \"kMs_abi_cdecl\",\n \"named\": true\n },\n {\n \"type\": \"kMs_abi_default\",\n \"named\": true\n },\n {\n \"type\": \"kMwpascal\",\n \"named\": true\n },\n {\n \"type\": \"kName\",\n \"named\": true\n },\n {\n \"type\": \"kNear\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kNodefault\",\n \"named\": true\n },\n {\n \"type\": \"kNoreturn\",\n \"named\": true\n },\n {\n \"type\": \"kNostackframe\",\n \"named\": true\n },\n {\n \"type\": \"kOverload\",\n \"named\": true\n },\n {\n \"type\": \"kOverride\",\n \"named\": true\n },\n {\n \"type\": \"kPascal\",\n \"named\": true\n },\n {\n \"type\": \"kPlatform\",\n \"named\": true\n },\n {\n \"type\": \"kPublic\",\n \"named\": true\n },\n {\n \"type\": \"kRegister\",\n \"named\": true\n },\n {\n \"type\": \"kReintroduce\",\n \"named\": true\n },\n {\n \"type\": \"kSafecall\",\n \"named\": true\n },\n {\n \"type\": \"kSaveregisters\",\n \"named\": true\n },\n {\n \"type\": \"kSoftfloat\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kStatic\",\n \"named\": true\n },\n {\n \"type\": \"kStdcall\",\n \"named\": true\n },\n {\n \"type\": \"kSysv_abi_cdecl\",\n \"named\": true\n },\n {\n \"type\": \"kSysv_abi_default\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"kUnimplemented\",\n \"named\": true\n },\n {\n \"type\": \"kVarargs\",\n \"named\": true\n },\n {\n \"type\": \"kVectorcall\",\n \"named\": true\n },\n {\n \"type\": \"kVirtual\",\n \"named\": true\n },\n {\n \"type\": \"kWinapi\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"procExternal\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kDelayed\",\n \"named\": true\n },\n {\n \"type\": \"kExternal\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kIndex\",\n \"named\": true\n },\n {\n \"type\": \"kName\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"program\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"blockTr\",\n \"named\": true\n },\n {\n \"type\": \"declConsts\",\n \"named\": true\n },\n {\n \"type\": \"declExports\",\n \"named\": true\n },\n {\n \"type\": \"declLabels\",\n \"named\": true\n },\n {\n \"type\": \"declProc\",\n \"named\": true\n },\n {\n \"type\": \"declTypes\",\n \"named\": true\n },\n {\n \"type\": \"declUses\",\n \"named\": true\n },\n {\n \"type\": \"declVars\",\n \"named\": true\n },\n {\n \"type\": \"defProc\",\n \"named\": true\n },\n {\n \"type\": \"kEndDot\",\n \"named\": true\n },\n {\n \"type\": \"kProgram\",\n \"named\": true\n },\n {\n \"type\": \"moduleName\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"raise\",\n \"named\": true,\n \"fields\": {\n \"exception\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kRaise\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"range\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"recInitializer\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"recInitializerField\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"recInitializerField\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"arrInitializer\",\n \"named\": true\n },\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n },\n {\n \"type\": \"recInitializer\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"repeat\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"statements\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kRepeat\",\n \"named\": true\n },\n {\n \"type\": \"kUntil\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"root\",\n \"named\": true,\n \"root\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"blockTr\",\n \"named\": true\n },\n {\n \"type\": \"declConsts\",\n \"named\": true\n },\n {\n \"type\": \"declExports\",\n \"named\": true\n },\n {\n \"type\": \"declLabels\",\n \"named\": true\n },\n {\n \"type\": \"declProc\",\n \"named\": true\n },\n {\n \"type\": \"declTypes\",\n \"named\": true\n },\n {\n \"type\": \"declUses\",\n \"named\": true\n },\n {\n \"type\": \"declVars\",\n \"named\": true\n },\n {\n \"type\": \"defProc\",\n \"named\": true\n },\n {\n \"type\": \"library\",\n \"named\": true\n },\n {\n \"type\": \"program\",\n \"named\": true\n },\n {\n \"type\": \"unit\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"rttiAttributes\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"statements\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"label\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"try\",\n \"named\": true,\n \"fields\": {\n \"except\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"exceptionElse\",\n \"named\": true\n },\n {\n \"type\": \"exceptionHandler\",\n \"named\": true\n },\n {\n \"type\": \"kExcept\",\n \"named\": true\n },\n {\n \"type\": \"statements\",\n \"named\": true\n }\n ]\n },\n \"finally\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"kFinally\",\n \"named\": true\n },\n {\n \"type\": \"statements\",\n \"named\": true\n }\n ]\n },\n \"try\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"statements\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kEnd\",\n \"named\": true\n },\n {\n \"type\": \"kTry\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"declArray\",\n \"named\": true\n },\n {\n \"type\": \"declEnum\",\n \"named\": true\n },\n {\n \"type\": \"declFile\",\n \"named\": true\n },\n {\n \"type\": \"declMetaClass\",\n \"named\": true\n },\n {\n \"type\": \"declProcRef\",\n \"named\": true\n },\n {\n \"type\": \"declSet\",\n \"named\": true\n },\n {\n \"type\": \"declString\",\n \"named\": true\n },\n {\n \"type\": \"pp\",\n \"named\": true\n },\n {\n \"type\": \"typeref\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"typeref\",\n \"named\": true,\n \"fields\": {\n \"_dummy\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kDeprecated\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n },\n {\n \"type\": \"typerefDot\",\n \"named\": true\n },\n {\n \"type\": \"typerefPtr\",\n \"named\": true\n },\n {\n \"type\": \"typerefTpl\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"typerefArgs\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"typerefDot\",\n \"named\": true\n },\n {\n \"type\": \"typerefPtr\",\n \"named\": true\n },\n {\n \"type\": \"typerefTpl\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"typerefDot\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"typerefDot\",\n \"named\": true\n },\n {\n \"type\": \"typerefPtr\",\n \"named\": true\n },\n {\n \"type\": \"typerefTpl\",\n \"named\": true\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kDot\",\n \"named\": true\n }\n ]\n },\n \"rhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"typerefDot\",\n \"named\": true\n },\n {\n \"type\": \"typerefPtr\",\n \"named\": true\n },\n {\n \"type\": \"typerefTpl\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"typerefPtr\",\n \"named\": true,\n \"fields\": {\n \"operand\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"typerefDot\",\n \"named\": true\n },\n {\n \"type\": \"typerefPtr\",\n \"named\": true\n },\n {\n \"type\": \"typerefTpl\",\n \"named\": true\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kHat\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"typerefTpl\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"typerefArgs\",\n \"named\": true\n }\n ]\n },\n \"entity\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"typerefDot\",\n \"named\": true\n },\n {\n \"type\": \"typerefPtr\",\n \"named\": true\n },\n {\n \"type\": \"typerefTpl\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kGt\",\n \"named\": true\n },\n {\n \"type\": \"kLt\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"unit\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"finalization\",\n \"named\": true\n },\n {\n \"type\": \"implementation\",\n \"named\": true\n },\n {\n \"type\": \"initialization\",\n \"named\": true\n },\n {\n \"type\": \"interface\",\n \"named\": true\n },\n {\n \"type\": \"kEnd\",\n \"named\": true\n },\n {\n \"type\": \"kEndDot\",\n \"named\": true\n },\n {\n \"type\": \"kUnit\",\n \"named\": true\n },\n {\n \"type\": \"moduleName\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"varAssignDef\",\n \"named\": true,\n \"fields\": {\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"typeref\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"kVar\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"varDef\",\n \"named\": true,\n \"fields\": {\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"typeref\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"kVar\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"while\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \";\",\n \"named\": false\n },\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kDo\",\n \"named\": true\n },\n {\n \"type\": \"kWhile\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"with\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \";\",\n \"named\": false\n },\n {\n \"type\": \"asm\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"foreach\",\n \"named\": true\n },\n {\n \"type\": \"goto\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"ifElse\",\n \"named\": true\n },\n {\n \"type\": \"raise\",\n \"named\": true\n },\n {\n \"type\": \"repeat\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n },\n {\n \"type\": \"try\",\n \"named\": true\n },\n {\n \"type\": \"varDef\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"with\",\n \"named\": true\n }\n ]\n },\n \"entity\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"exprBinary\",\n \"named\": true\n },\n {\n \"type\": \"exprBrackets\",\n \"named\": true\n },\n {\n \"type\": \"exprCall\",\n \"named\": true\n },\n {\n \"type\": \"exprDot\",\n \"named\": true\n },\n {\n \"type\": \"exprParens\",\n \"named\": true\n },\n {\n \"type\": \"exprSubscript\",\n \"named\": true\n },\n {\n \"type\": \"exprTpl\",\n \"named\": true\n },\n {\n \"type\": \"exprUnary\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"inherited\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"literalNumber\",\n \"named\": true\n },\n {\n \"type\": \"literalString\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"kDo\",\n \"named\": true\n },\n {\n \"type\": \"kWith\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"#\",\n \"named\": false\n },\n {\n \"type\": \"(\",\n \"named\": false\n },\n {\n \"type\": \")\",\n \"named\": false\n },\n {\n \"type\": \",\",\n \"named\": false\n },\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"..\",\n \"named\": false\n },\n {\n \"type\": \":\",\n \"named\": false\n },\n {\n \"type\": \";\",\n \"named\": false\n },\n {\n \"type\": \"[\",\n \"named\": false\n },\n {\n \"type\": \"]\",\n \"named\": false\n },\n {\n \"type\": \"comment\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"kAbsolute\",\n \"named\": true\n },\n {\n \"type\": \"kAbstract\",\n \"named\": true\n },\n {\n \"type\": \"kAdd\",\n \"named\": true\n },\n {\n \"type\": \"kAlias\",\n \"named\": true\n },\n {\n \"type\": \"kAnd\",\n \"named\": true\n },\n {\n \"type\": \"kArray\",\n \"named\": true\n },\n {\n \"type\": \"kAs\",\n \"named\": true\n },\n {\n \"type\": \"kAsm\",\n \"named\": true\n },\n {\n \"type\": \"kAssembler\",\n \"named\": true\n },\n {\n \"type\": \"kAssign\",\n \"named\": true\n },\n {\n \"type\": \"kAssignAdd\",\n \"named\": true\n },\n {\n \"type\": \"kAssignDiv\",\n \"named\": true\n },\n {\n \"type\": \"kAssignMul\",\n \"named\": true\n },\n {\n \"type\": \"kAssignSub\",\n \"named\": true\n },\n {\n \"type\": \"kAt\",\n \"named\": true\n },\n {\n \"type\": \"kBegin\",\n \"named\": true\n },\n {\n \"type\": \"kCase\",\n \"named\": true\n },\n {\n \"type\": \"kCdecl\",\n \"named\": true\n },\n {\n \"type\": \"kClass\",\n \"named\": true\n },\n {\n \"type\": \"kConst\",\n \"named\": true\n },\n {\n \"type\": \"kConstref\",\n \"named\": true\n },\n {\n \"type\": \"kConstructor\",\n \"named\": true\n },\n {\n \"type\": \"kCppdecl\",\n \"named\": true\n },\n {\n \"type\": \"kCvar\",\n \"named\": true\n },\n {\n \"type\": \"kDefault\",\n \"named\": true\n },\n {\n \"type\": \"kDelayed\",\n \"named\": true\n },\n {\n \"type\": \"kDeprecated\",\n \"named\": true\n },\n {\n \"type\": \"kDestructor\",\n \"named\": true\n },\n {\n \"type\": \"kDispId\",\n \"named\": true\n },\n {\n \"type\": \"kDispInterface\",\n \"named\": true\n },\n {\n \"type\": \"kDiv\",\n \"named\": true\n },\n {\n \"type\": \"kDo\",\n \"named\": true\n },\n {\n \"type\": \"kDownto\",\n \"named\": true\n },\n {\n \"type\": \"kDynamic\",\n \"named\": true\n },\n {\n \"type\": \"kElse\",\n \"named\": true\n },\n {\n \"type\": \"kEnd\",\n \"named\": true\n },\n {\n \"type\": \"kEq\",\n \"named\": true\n },\n {\n \"type\": \"kExcept\",\n \"named\": true\n },\n {\n \"type\": \"kExperimental\",\n \"named\": true\n },\n {\n \"type\": \"kExport\",\n \"named\": true\n },\n {\n \"type\": \"kExports\",\n \"named\": true\n },\n {\n \"type\": \"kExternal\",\n \"named\": true\n },\n {\n \"type\": \"kFalse\",\n \"named\": true\n },\n {\n \"type\": \"kFar\",\n \"named\": true\n },\n {\n \"type\": \"kFdiv\",\n \"named\": true\n },\n {\n \"type\": \"kFile\",\n \"named\": true\n },\n {\n \"type\": \"kFinalization\",\n \"named\": true\n },\n {\n \"type\": \"kFinally\",\n \"named\": true\n },\n {\n \"type\": \"kFor\",\n \"named\": true\n },\n {\n \"type\": \"kForward\",\n \"named\": true\n },\n {\n \"type\": \"kFunction\",\n \"named\": true\n },\n {\n \"type\": \"kGeneric\",\n \"named\": true\n },\n {\n \"type\": \"kGoto\",\n \"named\": true\n },\n {\n \"type\": \"kGt\",\n \"named\": true\n },\n {\n \"type\": \"kGte\",\n \"named\": true\n },\n {\n \"type\": \"kHardfloat\",\n \"named\": true\n },\n {\n \"type\": \"kHat\",\n \"named\": true\n },\n {\n \"type\": \"kHelper\",\n \"named\": true\n },\n {\n \"type\": \"kIf\",\n \"named\": true\n },\n {\n \"type\": \"kImplementation\",\n \"named\": true\n },\n {\n \"type\": \"kImplements\",\n \"named\": true\n },\n {\n \"type\": \"kIn\",\n \"named\": true\n },\n {\n \"type\": \"kIndex\",\n \"named\": true\n },\n {\n \"type\": \"kInherited\",\n \"named\": true\n },\n {\n \"type\": \"kInitialization\",\n \"named\": true\n },\n {\n \"type\": \"kInline\",\n \"named\": true\n },\n {\n \"type\": \"kInterface\",\n \"named\": true\n },\n {\n \"type\": \"kInterrupt\",\n \"named\": true\n },\n {\n \"type\": \"kIocheck\",\n \"named\": true\n },\n {\n \"type\": \"kIs\",\n \"named\": true\n },\n {\n \"type\": \"kLabel\",\n \"named\": true\n },\n {\n \"type\": \"kLibrary\",\n \"named\": true\n },\n {\n \"type\": \"kLocal\",\n \"named\": true\n },\n {\n \"type\": \"kLt\",\n \"named\": true\n },\n {\n \"type\": \"kLte\",\n \"named\": true\n },\n {\n \"type\": \"kMessage\",\n \"named\": true\n },\n {\n \"type\": \"kMod\",\n \"named\": true\n },\n {\n \"type\": \"kMs_abi_cdecl\",\n \"named\": true\n },\n {\n \"type\": \"kMs_abi_default\",\n \"named\": true\n },\n {\n \"type\": \"kMul\",\n \"named\": true\n },\n {\n \"type\": \"kMwpascal\",\n \"named\": true\n },\n {\n \"type\": \"kName\",\n \"named\": true\n },\n {\n \"type\": \"kNear\",\n \"named\": true\n },\n {\n \"type\": \"kNeq\",\n \"named\": true\n },\n {\n \"type\": \"kNil\",\n \"named\": true\n },\n {\n \"type\": \"kNodefault\",\n \"named\": true\n },\n {\n \"type\": \"kNoreturn\",\n \"named\": true\n },\n {\n \"type\": \"kNostackframe\",\n \"named\": true\n },\n {\n \"type\": \"kNot\",\n \"named\": true\n },\n {\n \"type\": \"kObjccategory\",\n \"named\": true\n },\n {\n \"type\": \"kObjcclass\",\n \"named\": true\n },\n {\n \"type\": \"kObjcprotocol\",\n \"named\": true\n },\n {\n \"type\": \"kObject\",\n \"named\": true\n },\n {\n \"type\": \"kOf\",\n \"named\": true\n },\n {\n \"type\": \"kOn\",\n \"named\": true\n },\n {\n \"type\": \"kOperator\",\n \"named\": true\n },\n {\n \"type\": \"kOptional\",\n \"named\": true\n },\n {\n \"type\": \"kOr\",\n \"named\": true\n },\n {\n \"type\": \"kOut\",\n \"named\": true\n },\n {\n \"type\": \"kOverload\",\n \"named\": true\n },\n {\n \"type\": \"kOverride\",\n \"named\": true\n },\n {\n \"type\": \"kPacked\",\n \"named\": true\n },\n {\n \"type\": \"kPascal\",\n \"named\": true\n },\n {\n \"type\": \"kPlatform\",\n \"named\": true\n },\n {\n \"type\": \"kPrivate\",\n \"named\": true\n },\n {\n \"type\": \"kProcedure\",\n \"named\": true\n },\n {\n \"type\": \"kProgram\",\n \"named\": true\n },\n {\n \"type\": \"kProperty\",\n \"named\": true\n },\n {\n \"type\": \"kProtected\",\n \"named\": true\n },\n {\n \"type\": \"kPublic\",\n \"named\": true\n },\n {\n \"type\": \"kPublished\",\n \"named\": true\n },\n {\n \"type\": \"kRaise\",\n \"named\": true\n },\n {\n \"type\": \"kRead\",\n \"named\": true\n },\n {\n \"type\": \"kRecord\",\n \"named\": true\n },\n {\n \"type\": \"kReference\",\n \"named\": true\n },\n {\n \"type\": \"kRegister\",\n \"named\": true\n },\n {\n \"type\": \"kReintroduce\",\n \"named\": true\n },\n {\n \"type\": \"kRepeat\",\n \"named\": true\n },\n {\n \"type\": \"kRequired\",\n \"named\": true\n },\n {\n \"type\": \"kResourcestring\",\n \"named\": true\n },\n {\n \"type\": \"kSafecall\",\n \"named\": true\n },\n {\n \"type\": \"kSaveregisters\",\n \"named\": true\n },\n {\n \"type\": \"kSealed\",\n \"named\": true\n },\n {\n \"type\": \"kSet\",\n \"named\": true\n },\n {\n \"type\": \"kShl\",\n \"named\": true\n },\n {\n \"type\": \"kShr\",\n \"named\": true\n },\n {\n \"type\": \"kSoftfloat\",\n \"named\": true\n },\n {\n \"type\": \"kSpecialize\",\n \"named\": true\n },\n {\n \"type\": \"kStatic\",\n \"named\": true\n },\n {\n \"type\": \"kStdcall\",\n \"named\": true\n },\n {\n \"type\": \"kStored\",\n \"named\": true\n },\n {\n \"type\": \"kStrict\",\n \"named\": true\n },\n {\n \"type\": \"kString\",\n \"named\": true\n },\n {\n \"type\": \"kSub\",\n \"named\": true\n },\n {\n \"type\": \"kSysv_abi_cdecl\",\n \"named\": true\n },\n {\n \"type\": \"kSysv_abi_default\",\n \"named\": true\n },\n {\n \"type\": \"kThen\",\n \"named\": true\n },\n {\n \"type\": \"kThreadvar\",\n \"named\": true\n },\n {\n \"type\": \"kTo\",\n \"named\": true\n },\n {\n \"type\": \"kTrue\",\n \"named\": true\n },\n {\n \"type\": \"kTry\",\n \"named\": true\n },\n {\n \"type\": \"kType\",\n \"named\": true\n },\n {\n \"type\": \"kUnimplemented\",\n \"named\": true\n },\n {\n \"type\": \"kUnit\",\n \"named\": true\n },\n {\n \"type\": \"kUntil\",\n \"named\": true\n },\n {\n \"type\": \"kUses\",\n \"named\": true\n },\n {\n \"type\": \"kVar\",\n \"named\": true\n },\n {\n \"type\": \"kVarargs\",\n \"named\": true\n },\n {\n \"type\": \"kVectorcall\",\n \"named\": true\n },\n {\n \"type\": \"kVirtual\",\n \"named\": true\n },\n {\n \"type\": \"kWhile\",\n \"named\": true\n },\n {\n \"type\": \"kWinapi\",\n \"named\": true\n },\n {\n \"type\": \"kWith\",\n \"named\": true\n },\n {\n \"type\": \"kWrite\",\n \"named\": true\n },\n {\n \"type\": \"kXor\",\n \"named\": true\n },\n {\n \"type\": \"pp\",\n \"named\": true\n }\n]";Expand description
The content of the node-types.json file for this grammar.