---
source: kcl/src/parsing/parser.rs
expression: actual
---
{
  "body": [
    {
      "declaration": {
        "end": 141,
        "id": {
          "end": 9,
          "name": "boxSketch",
          "start": 0,
          "type": "Identifier"
        },
        "init": {
          "body": [
            {
              "arguments": [
                {
                  "elements": [
                    {
                      "end": 28,
                      "raw": "0",
                      "start": 27,
                      "type": "Literal",
                      "type": "Literal",
                      "value": {
                        "value": 0.0,
                        "suffix": "None"
                      }
                    },
                    {
                      "end": 31,
                      "raw": "0",
                      "start": 30,
                      "type": "Literal",
                      "type": "Literal",
                      "value": {
                        "value": 0.0,
                        "suffix": "None"
                      }
                    }
                  ],
                  "end": 32,
                  "start": 26,
                  "type": "ArrayExpression",
                  "type": "ArrayExpression"
                }
              ],
              "callee": {
                "end": 25,
                "name": "startSketchAt",
                "start": 12,
                "type": "Identifier"
              },
              "end": 33,
              "start": 12,
              "type": "CallExpression",
              "type": "CallExpression"
            },
            {
              "arguments": [
                {
                  "elements": [
                    {
                      "end": 48,
                      "raw": "0",
                      "start": 47,
                      "type": "Literal",
                      "type": "Literal",
                      "value": {
                        "value": 0.0,
                        "suffix": "None"
                      }
                    },
                    {
                      "end": 52,
                      "raw": "10",
                      "start": 50,
                      "type": "Literal",
                      "type": "Literal",
                      "value": {
                        "value": 10.0,
                        "suffix": "None"
                      }
                    }
                  ],
                  "end": 53,
                  "start": 46,
                  "type": "ArrayExpression",
                  "type": "ArrayExpression"
                },
                {
                  "end": 56,
                  "start": 55,
                  "type": "PipeSubstitution",
                  "type": "PipeSubstitution"
                }
              ],
              "callee": {
                "end": 45,
                "name": "line",
                "start": 41,
                "type": "Identifier"
              },
              "end": 57,
              "start": 41,
              "type": "CallExpression",
              "type": "CallExpression"
            },
            {
              "arguments": [
                {
                  "elements": [
                    {
                      "argument": {
                        "end": 82,
                        "raw": "5",
                        "start": 81,
                        "type": "Literal",
                        "type": "Literal",
                        "value": {
                          "value": 5.0,
                          "suffix": "None"
                        }
                      },
                      "end": 82,
                      "operator": "-",
                      "start": 80,
                      "type": "UnaryExpression",
                      "type": "UnaryExpression"
                    },
                    {
                      "end": 85,
                      "raw": "5",
                      "start": 84,
                      "type": "Literal",
                      "type": "Literal",
                      "value": {
                        "value": 5.0,
                        "suffix": "None"
                      }
                    }
                  ],
                  "end": 86,
                  "start": 79,
                  "type": "ArrayExpression",
                  "type": "ArrayExpression"
                },
                {
                  "end": 89,
                  "start": 88,
                  "type": "PipeSubstitution",
                  "type": "PipeSubstitution"
                }
              ],
              "callee": {
                "end": 78,
                "name": "tangentialArc",
                "start": 65,
                "type": "Identifier"
              },
              "end": 90,
              "start": 65,
              "type": "CallExpression",
              "type": "CallExpression"
            },
            {
              "arguments": [
                {
                  "elements": [
                    {
                      "end": 105,
                      "raw": "5",
                      "start": 104,
                      "type": "Literal",
                      "type": "Literal",
                      "value": {
                        "value": 5.0,
                        "suffix": "None"
                      }
                    },
                    {
                      "argument": {
                        "end": 110,
                        "raw": "15",
                        "start": 108,
                        "type": "Literal",
                        "type": "Literal",
                        "value": {
                          "value": 15.0,
                          "suffix": "None"
                        }
                      },
                      "end": 110,
                      "operator": "-",
                      "start": 107,
                      "type": "UnaryExpression",
                      "type": "UnaryExpression"
                    }
                  ],
                  "end": 111,
                  "start": 103,
                  "type": "ArrayExpression",
                  "type": "ArrayExpression"
                },
                {
                  "end": 114,
                  "start": 113,
                  "type": "PipeSubstitution",
                  "type": "PipeSubstitution"
                }
              ],
              "callee": {
                "end": 102,
                "name": "line",
                "start": 98,
                "type": "Identifier"
              },
              "end": 115,
              "start": 98,
              "type": "CallExpression",
              "type": "CallExpression"
            },
            {
              "arguments": [
                {
                  "type": "LabeledArg",
                  "label": {
                    "type": "Identifier",
                    "name": "length"
                  },
                  "arg": {
                    "end": 140,
                    "raw": "10",
                    "start": 138,
                    "type": "Literal",
                    "type": "Literal",
                    "value": {
                      "value": 10.0,
                      "suffix": "None"
                    }
                  }
                }
              ],
              "callee": {
                "end": 130,
                "name": "extrude",
                "start": 123,
                "type": "Identifier"
              },
              "end": 141,
              "start": 123,
              "type": "CallExpressionKw",
              "type": "CallExpressionKw",
              "unlabeled": null
            }
          ],
          "end": 141,
          "start": 12,
          "type": "PipeExpression",
          "type": "PipeExpression"
        },
        "start": 0,
        "type": "VariableDeclarator"
      },
      "end": 141,
      "kind": "const",
      "start": 0,
      "type": "VariableDeclaration",
      "type": "VariableDeclaration"
    }
  ],
  "end": 142,
  "start": 0
}
