2024-12-16 17:33:08 -05:00
|
|
|
---
|
|
|
|
source: kcl/src/simulation_tests.rs
|
|
|
|
description: Result of parsing boolean_logical_multiple.kcl
|
|
|
|
---
|
|
|
|
{
|
|
|
|
"Ok": {
|
|
|
|
"body": [
|
|
|
|
{
|
|
|
|
"declaration": {
|
|
|
|
"end": 25,
|
|
|
|
"id": {
|
|
|
|
"end": 2,
|
|
|
|
"name": "ii",
|
|
|
|
"start": 0,
|
|
|
|
"type": "Identifier"
|
|
|
|
},
|
|
|
|
"init": {
|
|
|
|
"end": 25,
|
|
|
|
"left": {
|
|
|
|
"end": 9,
|
|
|
|
"raw": "true",
|
|
|
|
"start": 5,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
|
|
|
"value": true
|
|
|
|
},
|
|
|
|
"operator": "|",
|
|
|
|
"right": {
|
|
|
|
"end": 25,
|
|
|
|
"left": {
|
|
|
|
"end": 17,
|
|
|
|
"raw": "false",
|
|
|
|
"start": 12,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
|
|
|
"value": false
|
|
|
|
},
|
|
|
|
"operator": "&",
|
|
|
|
"right": {
|
|
|
|
"end": 25,
|
|
|
|
"raw": "false",
|
|
|
|
"start": 20,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
|
|
|
"value": false
|
|
|
|
},
|
|
|
|
"start": 12,
|
|
|
|
"type": "BinaryExpression",
|
|
|
|
"type": "BinaryExpression"
|
|
|
|
},
|
|
|
|
"start": 5,
|
|
|
|
"type": "BinaryExpression",
|
|
|
|
"type": "BinaryExpression"
|
|
|
|
},
|
|
|
|
"start": 0,
|
|
|
|
"type": "VariableDeclarator"
|
|
|
|
},
|
|
|
|
"end": 25,
|
|
|
|
"kind": "const",
|
|
|
|
"start": 0,
|
|
|
|
"type": "VariableDeclaration",
|
|
|
|
"type": "VariableDeclaration"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"declaration": {
|
|
|
|
"end": 56,
|
|
|
|
"id": {
|
|
|
|
"end": 27,
|
|
|
|
"name": "i",
|
|
|
|
"start": 26,
|
|
|
|
"type": "Identifier"
|
|
|
|
},
|
|
|
|
"init": {
|
|
|
|
"cond": {
|
|
|
|
"end": 35,
|
|
|
|
"name": "ii",
|
|
|
|
"start": 33,
|
|
|
|
"type": "Identifier",
|
|
|
|
"type": "Identifier"
|
|
|
|
},
|
|
|
|
"digest": null,
|
|
|
|
"else_ifs": [],
|
|
|
|
"end": 56,
|
|
|
|
"final_else": {
|
|
|
|
"body": [
|
|
|
|
{
|
|
|
|
"end": 54,
|
|
|
|
"expression": {
|
|
|
|
"end": 54,
|
|
|
|
"raw": "2",
|
|
|
|
"start": 53,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
2025-01-22 08:29:30 +13:00
|
|
|
"value": {
|
|
|
|
"value": 2.0,
|
|
|
|
"suffix": "None"
|
|
|
|
}
|
2024-12-16 17:33:08 -05:00
|
|
|
},
|
|
|
|
"start": 53,
|
|
|
|
"type": "ExpressionStatement",
|
|
|
|
"type": "ExpressionStatement"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"end": 55,
|
|
|
|
"start": 53
|
|
|
|
},
|
|
|
|
"start": 30,
|
|
|
|
"then_val": {
|
|
|
|
"body": [
|
|
|
|
{
|
|
|
|
"end": 41,
|
|
|
|
"expression": {
|
|
|
|
"end": 41,
|
|
|
|
"raw": "1",
|
|
|
|
"start": 40,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
2025-01-22 08:29:30 +13:00
|
|
|
"value": {
|
|
|
|
"value": 1.0,
|
|
|
|
"suffix": "None"
|
|
|
|
}
|
2024-12-16 17:33:08 -05:00
|
|
|
},
|
|
|
|
"start": 40,
|
|
|
|
"type": "ExpressionStatement",
|
|
|
|
"type": "ExpressionStatement"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"end": 42,
|
|
|
|
"start": 40
|
|
|
|
},
|
|
|
|
"type": "IfExpression",
|
|
|
|
"type": "IfExpression"
|
|
|
|
},
|
|
|
|
"start": 26,
|
|
|
|
"type": "VariableDeclarator"
|
|
|
|
},
|
|
|
|
"end": 56,
|
|
|
|
"kind": "const",
|
|
|
|
"start": 26,
|
|
|
|
"type": "VariableDeclaration",
|
|
|
|
"type": "VariableDeclaration"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"end": 108,
|
|
|
|
"expression": {
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"end": 70,
|
|
|
|
"left": {
|
|
|
|
"end": 65,
|
|
|
|
"name": "i",
|
|
|
|
"start": 64,
|
|
|
|
"type": "Identifier",
|
|
|
|
"type": "Identifier"
|
|
|
|
},
|
|
|
|
"operator": "==",
|
|
|
|
"right": {
|
|
|
|
"end": 70,
|
|
|
|
"raw": "1",
|
|
|
|
"start": 69,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
2025-01-22 08:29:30 +13:00
|
|
|
"value": {
|
|
|
|
"value": 1.0,
|
|
|
|
"suffix": "None"
|
|
|
|
}
|
2024-12-16 17:33:08 -05:00
|
|
|
},
|
|
|
|
"start": 64,
|
|
|
|
"type": "BinaryExpression",
|
|
|
|
"type": "BinaryExpression"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"end": 107,
|
|
|
|
"raw": "\"and has higher precedence than or\"",
|
|
|
|
"start": 72,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
|
|
|
"value": "and has higher precedence than or"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"callee": {
|
|
|
|
"end": 63,
|
|
|
|
"name": "assert",
|
|
|
|
"start": 57,
|
|
|
|
"type": "Identifier"
|
|
|
|
},
|
|
|
|
"end": 108,
|
|
|
|
"start": 57,
|
|
|
|
"type": "CallExpression",
|
|
|
|
"type": "CallExpression"
|
|
|
|
},
|
|
|
|
"start": 57,
|
|
|
|
"type": "ExpressionStatement",
|
|
|
|
"type": "ExpressionStatement"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"declaration": {
|
|
|
|
"end": 151,
|
|
|
|
"id": {
|
|
|
|
"end": 112,
|
|
|
|
"name": "jj",
|
|
|
|
"start": 110,
|
|
|
|
"type": "Identifier"
|
|
|
|
},
|
|
|
|
"init": {
|
|
|
|
"end": 151,
|
|
|
|
"left": {
|
|
|
|
"end": 136,
|
|
|
|
"left": {
|
|
|
|
"end": 120,
|
|
|
|
"raw": "false",
|
|
|
|
"start": 115,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
|
|
|
"value": false
|
|
|
|
},
|
|
|
|
"operator": "|",
|
|
|
|
"right": {
|
|
|
|
"end": 136,
|
|
|
|
"left": {
|
|
|
|
"end": 127,
|
|
|
|
"raw": "true",
|
|
|
|
"start": 123,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
|
|
|
"value": true
|
|
|
|
},
|
|
|
|
"operator": "&",
|
|
|
|
"right": {
|
|
|
|
"argument": {
|
|
|
|
"end": 136,
|
|
|
|
"raw": "false",
|
|
|
|
"start": 131,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
|
|
|
"value": false
|
|
|
|
},
|
|
|
|
"end": 136,
|
|
|
|
"operator": "!",
|
|
|
|
"start": 130,
|
|
|
|
"type": "UnaryExpression",
|
|
|
|
"type": "UnaryExpression"
|
|
|
|
},
|
|
|
|
"start": 123,
|
|
|
|
"type": "BinaryExpression",
|
|
|
|
"type": "BinaryExpression"
|
|
|
|
},
|
|
|
|
"start": 115,
|
|
|
|
"type": "BinaryExpression",
|
|
|
|
"type": "BinaryExpression"
|
|
|
|
},
|
|
|
|
"operator": "|",
|
|
|
|
"right": {
|
|
|
|
"end": 151,
|
|
|
|
"left": {
|
|
|
|
"end": 144,
|
|
|
|
"raw": "false",
|
|
|
|
"start": 139,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
|
|
|
"value": false
|
|
|
|
},
|
|
|
|
"operator": "&",
|
|
|
|
"right": {
|
|
|
|
"end": 151,
|
|
|
|
"raw": "true",
|
|
|
|
"start": 147,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
|
|
|
"value": true
|
|
|
|
},
|
|
|
|
"start": 139,
|
|
|
|
"type": "BinaryExpression",
|
|
|
|
"type": "BinaryExpression"
|
|
|
|
},
|
|
|
|
"start": 115,
|
|
|
|
"type": "BinaryExpression",
|
|
|
|
"type": "BinaryExpression"
|
|
|
|
},
|
|
|
|
"start": 110,
|
|
|
|
"type": "VariableDeclarator"
|
|
|
|
},
|
|
|
|
"end": 151,
|
|
|
|
"kind": "const",
|
|
|
|
"start": 110,
|
|
|
|
"type": "VariableDeclaration",
|
|
|
|
"type": "VariableDeclaration"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"declaration": {
|
|
|
|
"end": 182,
|
|
|
|
"id": {
|
|
|
|
"end": 153,
|
|
|
|
"name": "j",
|
|
|
|
"start": 152,
|
|
|
|
"type": "Identifier"
|
|
|
|
},
|
|
|
|
"init": {
|
|
|
|
"cond": {
|
|
|
|
"end": 161,
|
|
|
|
"name": "jj",
|
|
|
|
"start": 159,
|
|
|
|
"type": "Identifier",
|
|
|
|
"type": "Identifier"
|
|
|
|
},
|
|
|
|
"digest": null,
|
|
|
|
"else_ifs": [],
|
|
|
|
"end": 182,
|
|
|
|
"final_else": {
|
|
|
|
"body": [
|
|
|
|
{
|
|
|
|
"end": 180,
|
|
|
|
"expression": {
|
|
|
|
"end": 180,
|
|
|
|
"raw": "2",
|
|
|
|
"start": 179,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
2025-01-22 08:29:30 +13:00
|
|
|
"value": {
|
|
|
|
"value": 2.0,
|
|
|
|
"suffix": "None"
|
|
|
|
}
|
2024-12-16 17:33:08 -05:00
|
|
|
},
|
|
|
|
"start": 179,
|
|
|
|
"type": "ExpressionStatement",
|
|
|
|
"type": "ExpressionStatement"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"end": 181,
|
|
|
|
"start": 179
|
|
|
|
},
|
|
|
|
"start": 156,
|
|
|
|
"then_val": {
|
|
|
|
"body": [
|
|
|
|
{
|
|
|
|
"end": 167,
|
|
|
|
"expression": {
|
|
|
|
"end": 167,
|
|
|
|
"raw": "1",
|
|
|
|
"start": 166,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
2025-01-22 08:29:30 +13:00
|
|
|
"value": {
|
|
|
|
"value": 1.0,
|
|
|
|
"suffix": "None"
|
|
|
|
}
|
2024-12-16 17:33:08 -05:00
|
|
|
},
|
|
|
|
"start": 166,
|
|
|
|
"type": "ExpressionStatement",
|
|
|
|
"type": "ExpressionStatement"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"end": 168,
|
|
|
|
"start": 166
|
|
|
|
},
|
|
|
|
"type": "IfExpression",
|
|
|
|
"type": "IfExpression"
|
|
|
|
},
|
|
|
|
"start": 152,
|
|
|
|
"type": "VariableDeclarator"
|
|
|
|
},
|
|
|
|
"end": 182,
|
|
|
|
"kind": "const",
|
|
|
|
"start": 152,
|
|
|
|
"type": "VariableDeclaration",
|
|
|
|
"type": "VariableDeclaration"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"end": 227,
|
|
|
|
"expression": {
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"end": 196,
|
|
|
|
"left": {
|
|
|
|
"end": 191,
|
|
|
|
"name": "j",
|
|
|
|
"start": 190,
|
|
|
|
"type": "Identifier",
|
|
|
|
"type": "Identifier"
|
|
|
|
},
|
|
|
|
"operator": "==",
|
|
|
|
"right": {
|
|
|
|
"end": 196,
|
|
|
|
"raw": "1",
|
|
|
|
"start": 195,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
2025-01-22 08:29:30 +13:00
|
|
|
"value": {
|
|
|
|
"value": 1.0,
|
|
|
|
"suffix": "None"
|
|
|
|
}
|
2024-12-16 17:33:08 -05:00
|
|
|
},
|
|
|
|
"start": 190,
|
|
|
|
"type": "BinaryExpression",
|
|
|
|
"type": "BinaryExpression"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"end": 226,
|
|
|
|
"raw": "\"multiple logical operators\"",
|
|
|
|
"start": 198,
|
|
|
|
"type": "Literal",
|
|
|
|
"type": "Literal",
|
|
|
|
"value": "multiple logical operators"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"callee": {
|
|
|
|
"end": 189,
|
|
|
|
"name": "assert",
|
|
|
|
"start": 183,
|
|
|
|
"type": "Identifier"
|
|
|
|
},
|
|
|
|
"end": 227,
|
|
|
|
"start": 183,
|
|
|
|
"type": "CallExpression",
|
|
|
|
"type": "CallExpression"
|
|
|
|
},
|
|
|
|
"start": 183,
|
|
|
|
"type": "ExpressionStatement",
|
|
|
|
"type": "ExpressionStatement"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"end": 228,
|
|
|
|
"nonCodeMeta": {
|
|
|
|
"nonCodeNodes": {
|
|
|
|
"2": [
|
|
|
|
{
|
|
|
|
"end": 110,
|
|
|
|
"start": 108,
|
|
|
|
"type": "NonCodeNode",
|
|
|
|
"value": {
|
|
|
|
"type": "newLine"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"startNodes": []
|
|
|
|
},
|
|
|
|
"start": 0
|
|
|
|
}
|
|
|
|
}
|